#!/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)
|
|