def UnitAttack(self, clientID, first, second, flag): #选择攻击脚本# if flag: skill = skills.getSkill('Attack') else: skill = skills.getSkill( self.turnUnit.getDataByString('attackTypeName')) self.attackResualtList['values'] = [] i = 0 while i < len(first): deadFlag = False j = 0 while j < len(self.unit['values']): if self.unit['values'][j][1] == first[i] and self.unit[ 'values'][j][2] == second[i]: #u v 1 2 最好不动# break j += 1 attribute = self.unit['values'][j] damage = int(skill.UseSkill(self, attribute, i)) attribute.SubHP(damage) if attribute.getDataByString('HP') <= 0: del self.unit['values'][j] deadFlag = True else: self.unit['values'][j] = attribute attackResualt = AttackResualt() attackResualt.extend([damage, deadFlag]) self.attackResualtList['values'].append(attackResualt) i += 1 self.client.UnitListUnderAttack(self.attackResualtList)
def spellTarget(self, skillID, targetID): """ defined. 对一个目标entity施放一个技能 """ DEBUG_MSG("Spell::spellTarget(%i):skillID=%i, targetID=%i" % (self.id, skillID, targetID)) skill = skills.getSkill(skillID) if skill is None: ERROR_MSG("Spell::spellTarget(%i):skillID=%i not found" % (self.id, skillID)) return target = KBEngine.entities.get(targetID) if target is None: ERROR_MSG("Spell::spellTarget(%i):targetID=%i not found" % (self.id, targetID)) return scobject = SCObject.createSCEntity(target) ret = skill.canUse(self, scobject) if ret != GlobalConst.GC_OK: ERROR_MSG( "Spell::spellTarget(%i): cannot spell skillID=%i, targetID=%i, code=%i" % (self.id, skillID, targetID, ret)) return skill.use(self, scobject)
def spellTarget(self, srcEntityID, skillID, targetID): """ exposed. 对一个目标entity施放一个技能 """ if srcEntityID != self.id: return DEBUG_MSG("Spell::spellTarget(%i):skillID=%i, srcEntityID=%i, targetID=%i" % (self.id, skillID, srcEntityID, targetID)) skill = skills.getSkill(skillID) if skill is None: ERROR_MSG("Spell::spellTarget(%i):skillID=%i not found" % (self.id, skillID)) return target = KBEngine.entities.get(targetID) if target is None: ERROR_MSG("Spell::spellTarget(%i):targetID=%i not found" % (self.id, targetID)) return ret = skill.canUse(self, target) if ret != GlobalConst.GC_OK: ERROR_MSG("Spell::spellTarget(%i): cannot spell skillID=%i, targetID=%i, code=%i" % (self.id, skillID, targetID, ret)) return skill.use(self, target)
def spellTarget(self, skillID, targetID): """ defined. 对一个目标entity施放一个技能 """ DEBUG_MSG("Spell::spellTarget(%i):skillID=%i, targetID=%i" % (self.id, skillID, targetID)) skill = skills.getSkill(skillID) if skill is None: ERROR_MSG("Spell::spellTarget(%i):skillID=%i not found" % (self.id, skillID)) return target = KBEngine.entities.get(targetID) if target is None: ERROR_MSG("Spell::spellTarget(%i):targetID=%i not found" % (self.id, targetID)) return scobject = SCObject.createSCEntity(target) ret = skill.canUse(self, scobject) if ret != GlobalConst.GC_OK: ERROR_MSG( "Spell::spellTarget(%i): cannot spell skillID=%i, targetID=%i, code=%i" % (self.id, skillID, targetID, ret) ) return skill.use(self, scobject)
def spellTarget(self, srcEntityID, skillID, targetID): """ exposed. 对一个目标entity施放一个技能 """ if srcEntityID != self.id: return DEBUG_MSG( "Spell::spellTarget(%i):skillID=%i, srcEntityID=%i, targetID=%i" % (self.id, skillID, srcEntityID, targetID)) skill = skills.getSkill(skillID) if skill is None: ERROR_MSG("Spell::spellTarget(%i):skillID=%i not found" % (self.id, skillID)) return target = KBEngine.entities.get(targetID) if target is None: ERROR_MSG("Spell::spellTarget(%i):targetID=%i not found" % (self.id, targetID)) return ret = skill.canUse(self, target) if ret != GlobalConst.GC_OK: ERROR_MSG( "Spell::spellTarget(%i): cannot spell skillID=%i, targetID=%i, code=%i" % (self.id, skillID, targetID, ret)) return skill.use(self, target)