def revive(self): self.health = logic.getSystemVitality(self.target) [ person.revive(logic.getVitality(person.name.getStripped())) for name, person in self.defenders.items() ] self.police_notify_sent = False self.stat_cooldown = None
def getVitality(who): who = unicode(who) if '@' in who: who = utils.jidStrip(who) if who in gCooldowns: hits = gCooldowns[who][0] #assert hits > 0 return hits else: return logic.getVitality(who)
def setCooldown(who, hits): who = unicode(who) if '@' in who: who = utils.jidStrip(who) global gCooldowns if who in gCooldowns: newhits = gCooldowns[who][0] else: newhits = logic.getVitality(who) gCooldowns[who] = (newhits - hits, time.time())
def updateCooldowns(): now = time.time() remove = [] for who in gCooldowns: if confs.getConfsCount(who) > 0: continue delta = int(now - gCooldowns[who][1]) if delta > config.cooldownRestore: newhits = gCooldowns[who][0] + 1 if newhits > logic.getVitality(who): logging.info("cooldown: user %s restored" , who) remove.append(who) else: #print "cooldown: user %s incremented (%d)" % (who, newhits) gCooldowns[who] = (newhits, now) for r in remove: del gCooldowns[r] remove = [] for t in gTargets: if time.time() > gTargets[t]: remove.append(t) for r in remove: del gTargets[r]
def revive(self): self.health = logic.getSystemVitality(self.target) [person.revive(logic.getVitality(person.name.getStripped())) for name, person in self.defenders.items()] self.police_notify_sent = False self.stat_cooldown = None