コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
ファイル: Spell.py プロジェクト: FlameskyDexive/kbengine
	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)
コード例 #4
0
    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)
コード例 #5
0
    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)