From 693e4a49e85887d7f6895e01606848ee546bc862 Mon Sep 17 00:00:00 2001 From: "theo@manjaro" Date: Sun, 19 Sep 2021 15:07:59 +0200 Subject: [PATCH] Monsters kill other pinmiks --- gamedata/objects/ingame/lemmings.py | 36 ++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/gamedata/objects/ingame/lemmings.py b/gamedata/objects/ingame/lemmings.py index df0f9e5..558db26 100644 --- a/gamedata/objects/ingame/lemmings.py +++ b/gamedata/objects/ingame/lemmings.py @@ -20,11 +20,17 @@ class Lemming(BaseObject): self.basespeed*=1.2 self.scoreratio*=3 if skin=="platinum": - self.basespeed*=1.3 + self.basespeed*=1.4 self.scoreratio*=5 + if skin=="monster": + self.scoreratio*=3 self.skin = skin + self.maxhealth = 2 # Pinmiks can be attacked by the monsters + self.health = self.maxhealth + self.regen = 0.1 + self.selected = False # If beeing redirected self.anglemargin = 25 @@ -64,6 +70,17 @@ class Lemming(BaseObject): self.move(diffx*self.game.dt,diffy*self.game.dt) + self.health = min(self.maxhealth,self.health+self.regen*self.game.dt) # Regen live + + # Attacking other pinmiks + if self.skin=="monster": + for pinmik in self.game.gameloop.findname("Lemming"): + if pinmik.skin!="monster": + if self.rect.collidepoint(pinmik.rect.center): + pinmik.health-=self.game.dt + if self.holdrect.collidepoint(pinmik.rect.center): + pinmik.health-=self.game.dt + # Spawning dust particles if being launched if self.speed > self.basespeed*1.5: if self.dusttimer.tick(self.game.dt*(self.speed/self.basespeed)**2): @@ -97,8 +114,9 @@ class Lemming(BaseObject): if 0<=gridx5: # Avoiding shaking to much self.game.globals["scamerax"]+=1 self.game.globals["scamerax"]+=1 @@ -140,12 +158,18 @@ class Lemming(BaseObject): self.holdrect[1]+=int(vely) def draw(self): + # Shaking based on life + offx,offy = 0,0 + if self.health