Esempio n. 1
0
    def update(self):

        gameObjects = set()

        gameObjects.add(shared.hero)
        gameObjects = gameObjects.union(shared.projectiles)
        for ennemy in shared.ennemies:
            if (not ennemy.alive): continue
            gameObjects.add(ennemy)

        self.damageList = []

        for obj in gameObjects:

            self.damageList.extend(obj.emmitDamage())

        for damage in self.damageList:

            for obj in gameObjects:

                if (obj == damage.source): continue

                if (shared.distance(damage.position, obj.position()) <
                        damage.radius):

                    obj.receiveDamage(damage)
                    damage.source.dealtDamage(obj)
Esempio n. 2
0
    def update(self):

        if not self.active:
            return

        if (self.ongoing):

            id_ = self.properties["triggerInitId"]

            for obj in shared.searchObjectsByProperty(
                    "triggerGroup", self.properties["triggerInitId"]):
                if (not obj.isCompleted()): return

            for obj in shared.searchObjectsByProperty("triggerGroup",
                                                      self.properties["id"]):
                obj.trigger(self)

            self.active = False

            return

        if (shared.distance(self.position(), shared.hero.position()) <
                shared.tileSize / 2):

            self.ongoing = True

            for obj in shared.searchObjectsByProperty(
                    "triggerGroup", self.properties["triggerInitId"]):
                obj.trigger(self)
Esempio n. 3
0
    def update(self) :

        if not self.active : 
            return

        if (shared.distance(self.position(), shared.hero.position()) < shared.tileSize/2) :
            
            self.active = False
            
            for obj in shared.searchObjectsByProperty("triggerGroup", self.properties["id"]) :
                obj.trigger(self)
Esempio n. 4
0
    def update(self):

        if not self.active:
            return

        if (shared.distance(self.position(), shared.hero.position()) <
                shared.tileSize / 2):

            out = shared.searchObjectsByName(self.properties["nameOut"])
            if (len(out) != 1):
                print("Error ! Cannot teleport ! Multiple or none out found !")

            x, y = out[0].position()
            shared.hero.x, shared.hero.y = x, y
Esempio n. 5
0
	def isNeebCloseToBufford(self, neeb):
		distance = shared.distance(self.buford.x, self.buford.y, neeb.x, neeb.y)
		return ( distance < self.neebScareDistance )
Esempio n. 6
0
	def isNeebNearGirl(self, neeb):
		distance = shared.distance(self.girl.x, self.girl.y, neeb.x, neeb.y)
		#print("Current Distance: ", distance)
		return ( distance < self.girlScareDistance )