| | |
| | | # @return None
|
| | | # @remarks 函数详细说明.
|
| | | def __Sync_AttackResult(attacker, defender, curSkill):
|
| | | battleType = AttackCommon.GetBattleType(attacker, curSkill)
|
| | | turnBattleType = attacker.GetDictByKey(ChConfig.Def_Obj_Dict_TurnBattleType)
|
| | | battleType = turnBattleType * 10 + battleType # 通知的battle修改: 回合攻击战斗类型*10+原战斗类型
|
| | | #普通攻击
|
| | | if not curSkill:
|
| | | #GameWorld.Log("玩家普通攻击成功")
|
| | |
| | | else:
|
| | | curHurt = g_skillHurtList.GetHurtAt(0)
|
| | | attacker.BaseAttack(curHurt.GetObjID(), curHurt.GetObjType(),
|
| | | AttackCommon.GetBattleType(attacker, curSkill),
|
| | | battleType,
|
| | | curHurt.GetAttackType(), curHurt.GetHurtHP(), curHurt.GetHurtHPEx(), curHurt.GetCurHP(), curHurt.GetCurHPEx())
|
| | |
|
| | | #//返回值无意义
|
| | |
| | | changeSkillID = PassiveBuffEffMng.GetPassiveSkillValueByTriggerTypeEx(attacker, None, curSkill, ChConfig.TriggerType_ChangeSkillEff)
|
| | | if changeSkillID:
|
| | | skillID = changeSkillID
|
| | | battleType = AttackCommon.GetBattleType(attacker, curSkill)
|
| | | #无目标类技能
|
| | | if not defender:
|
| | | #玩家处理
|
| | |
| | | if attacker.GetGameObjType() != IPY_GameWorld.gotPlayer:
|
| | | return
|
| | |
|
| | | faintRate = PlayerControl.GetFaintRate(attacker)
|
| | | faintRate = GameObj.GetFaintRate(attacker)
|
| | | if not faintRate:
|
| | | #GameWorld.DebugLog("没有击晕概率!", attacker.GetID())
|
| | | return
|
| | |
| | | if GameObj.GetHP(defender) <= 0:
|
| | | return
|
| | |
|
| | | tagFaintRate = PlayerControl.GetFaintDefRate(defender) if defender.GetGameObjType() == IPY_GameWorld.gotPlayer else 0
|
| | | tagFaintRate = GameObj.GetFaintDefRate(defender) if defender.GetGameObjType() == IPY_GameWorld.gotPlayer else 0
|
| | |
|
| | | # 添加最高60%击晕效果
|
| | | maxRate = IpyGameDataPY.GetFuncCfg("PassiveSkillFaint", 1)
|