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 spellSkillRequest(self, caster, targetID): """ virtual method. 技能释放请求 """ target = KBEngine.entities.get(targetID) skillID = self.skillitem[0] if target is None: ERROR_MSG("Spell::spellTarget(%i):targetID=%i not found" % (caster.id, targetID)) caster.client.onSpellSkillResponse(GlobalConst.GC_SKILL_ENTITY_NOT_EXIST, skillID) return scobject = SCObject.createSCEntity(target) self.scobject = scobject ret = self.canUse(caster, scobject) if ret != GlobalConst.GC_OK: ERROR_MSG("Spell::spellTarget(%i): cannot spell skillID=%i, targetID=%i, code=%i" % (caster.id, self.skillitem[0], targetID, ret)) caster.client.onSpellSkillResponse(ret, skillID) return self.setCD() caster.skillCDDic[skillID] = self.skillitem[5] caster.allClients.onSpellSkillResponse(GlobalConst.GC_OK, skillID) #施法前摇定时 spellTime = self.getspelltime() if(spellTime<0.05): self.use(caster, scobject) return caster.skillSpellDic.clear() caster.skillSpellDic[skillID] = spellTime
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, 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 = self.canUse(skillID, 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 #自身激发技能效果 self.use(skillID, self, scobject) #将施法行为告知AOI范围内其他玩家 self.otherClients.onSpellTarget(skillID, targetID)