#!/usr/bin/python # -*- coding: GBK -*- # ##@package ¶àµãÔ¤¾¯¹¥»÷ # # @todo: # # @author: Alee # @date 2018-4-3 ÏÂÎç10:20:25 # @version 1.0 # # @note: # #------------------------------------------------------------------------------ #µ¼Èë import ChConfig import BaseAttack #--------------------------------------------------------------------- def UseSkill(attacker, defender, curSkill, tagRoundPosX, tagRoundPosY, isEnhanceSkill, tick): ## Ô¤¾¯ÕÙ»½ if attacker.GetDictByKey(ChConfig.Def_NPC_Dict_SkillWarnSkillID) != curSkill.GetSkillID(): return skillEffect = curSkill.GetEffect(0) skillPer = skillEffect.GetEffectValue(0) skillEnhance = skillEffect.GetEffectValue(1) tagRoundPosX = attacker.GetPosX() tagRoundPosY = attacker.GetPosY() posX, posY = attacker.GetPosX(), attacker.GetPosY() posCnt = attacker.GetDictByKey(ChConfig.Def_NPC_Dict_SkillWarnPosCnt) attackDis = curSkill.GetAtkRadius() pointMatrix = ChConfig.MatrixDict.get(attackDis) skillMatrix = [] for i in xrange(posCnt): # ÒÔÔ¤¾¯µãΪÖе㣬С¾ØÕóΪ·¶Î§£¬Ëã³öËùÓеã rebornPosX = attacker.GetDictByKey(ChConfig.Def_NPC_Dict_SkillWarnPosX % i) rebornPosY = attacker.GetDictByKey(ChConfig.Def_NPC_Dict_SkillWarnPosY % i) fixX = rebornPosX - posX fixY = rebornPosY - posY for point in pointMatrix: newPoint = [point[0] + fixX, point[1] + fixY] if newPoint not in skillMatrix: skillMatrix.append(newPoint) #ʹÓü¼ÄÜ return BaseAttack.AttackerSkillAttackArea(attacker, defender, tagRoundPosX, tagRoundPosY, curSkill, skillPer, skillEnhance, tick, isExSkill = isEnhanceSkill, skillMatrix = skillMatrix)