|  |  |  | 
|---|
|  |  |  | # @param isEnhanceSkill 是否为附加技能 | 
|---|
|  |  |  | #  @return True 攻击成功    None 不可攻击 | 
|---|
|  |  |  | #  @remarks 通过调用 Obj_Attack_Obj.GetTagRelation 获取返回值 | 
|---|
|  |  |  | def Attack(attacker, defender, useSkill, tick, skillPercent=1, skillEnhance=0, attackTime=1, isEnhanceSkill=False): | 
|---|
|  |  |  | def Attack(attacker, defender, useSkill, tick, skillPercent=10000, skillEnhance=0, attackTime=1, isEnhanceSkill=False): | 
|---|
|  |  |  | global g_skillHurtList | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if attacker.GetGameObjType() == IPY_GameWorld.gotNPC: | 
|---|
|  |  |  | 
|---|
|  |  |  | dist = GameWorld.GetDist(tagObj.GetPosX(), tagObj.GetPosY(), | 
|---|
|  |  |  | defender.GetPosX(), defender.GetPosY()) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | skillPer = (skillPercent - dist * changePer) / float(ChConfig.Def_MaxRateValue) | 
|---|
|  |  |  | skillPer = (skillPercent - dist * changePer) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #GameWorld.Log("skillPer :%s"%skillPer) | 
|---|
|  |  |  | #执行群攻 并取得被攻击对象列表 | 
|---|
|  |  |  | 
|---|
|  |  |  | if not hurtEffect: | 
|---|
|  |  |  |  | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | hurtPer = hurtEffect.GetEffectValue(0)*1.0/ChConfig.Def_MaxRateValue  # 单层伤害 | 
|---|
|  |  |  | hurtPer = hurtEffect.GetEffectValue(0)  # 单层伤害 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 伤害乘以层 | 
|---|
|  |  |  | skillPercent = hurtPer * max(buff.GetLayer(), 1) | 
|---|