#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # #------------------------------------------------------------------------------- # ##@package SkillModule_3 # # @todo: Á´Ê½¹¥»÷ # @author Alee # @date 2010-12-16 20:50 # @version 1.0 # # ÏêϸÃèÊö: Á´Ê½¹¥»÷ # #------------------------------------------------------------------------------ """Version = 2010-12-16 20:50""" #------------------------------------------------------------------------------ #µ¼Èë import ChConfig import BaseAttack import SkillShell import IPY_GameWorld ##Á´Ê½¹¥»÷ # @param attacker ¹¥»÷ÕßʵÀý # @param defender ·ÀÊØÕßʵÀý # @param curSkill ¼¼ÄÜʵÀý # @param tagRoundPosX ÇøÓò×ø±êX # @param tagRoundPosY ÇøÓò×ø±êY # @param isEnhanceSkill ÊÇ·ñΪ¸½¼Ó¼¼ÄÜ # @param tick ʱ¼ä´Á # @return ·µ»ØÖµÎªÕæ, Êͷųɹ¦ # @remarks Á´Ê½¹¥»÷ def UseSkill(attacker, defender, curSkill, tagRoundPosX, tagRoundPosY, isEnhanceSkill, tick): #¼¼ÄÜÔöǿֵ skillPer = curSkill.GetEffect(0).GetEffectValue(0) #¼¼Äܸ½¼ÓÖµ addValue = curSkill.GetEffect(0).GetEffectValue(1) #¼¼ÄܵÝÔöÖµ addPer = curSkill.GetEffect(1).GetEffectValue(0) # 0µÝ¼õ 1µÝÔö changeType = curSkill.GetEffect(1).GetEffectValue(1) #¼¼ÄÜÌø×ª´ÎÊý jumpCount = curSkill.GetEffect(2).GetEffectValue(0) if SkillShell.IsPlayerUseSkill(attacker, curSkill): jumpCount = len(SkillShell.GetClientHurtDict()) #¹¹½¨Áбí skillPerList = [] for i in range(jumpCount): if changeType: skillPerList.append((skillPer + i * addPer)) else: skillPerList.append((skillPer - i * addPer)) #GameWorld.Log("ÉÁµçÁ´¹¥»÷¼¼ÄÜÔöÇ¿Áбí = %s,¸½¼ÓÖµ = %s, Ìø×ª´ÎÊý = %s"%(skillPerList, addValue, jumpCount)) if SkillShell.IsPlayerUseSkill(attacker, curSkill): return BaseAttack.ChainAttackAreaEx(attacker, defender, curSkill, defender.GetPosX(), defender.GetPosY(), addValue, skillPerList, tick, isExSkill = isEnhanceSkill) else: #µ÷Óù¥»÷Êý×é return BaseAttack.ChainAttackArea(attacker, defender, curSkill, defender.GetPosX(), defender.GetPosY(), addValue, skillPerList, tick, isExSkill = isEnhanceSkill)