| | |
| | | import FBCommon
|
| | | import IpyGameDataPY
|
| | | import PyGameData
|
| | | import EventShell
|
| | | import TurnAttack
|
| | | #---------------------------------------------------------------------
|
| | | GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
|
| | | GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
|
| | |
| | | return False
|
| | |
|
| | | return True
|
| | |
|
| | |
|
| | | ##弓和弩普攻技能
|
| | | # @param curPlayer 玩家实例
|
| | | # @param skillID 技能ID
|
| | | # @return 特别的普攻ID
|
| | | #===============================================================================
|
| | | # def GetBowNormalAttackID(curPlayer, skillID):
|
| | | # #刷新人物攻击距离
|
| | | # playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
|
| | | # #获得当前人物使用的武器
|
| | | # curUseWeapon = playerEquip.GetAt(ShareDefine.retWeapon)
|
| | | # curUseWeapon2 = playerEquip.GetAt(ShareDefine.retWeapon2)
|
| | | # #空手
|
| | | # if curUseWeapon.IsEmpty() and curUseWeapon2.IsEmpty():
|
| | | # return skillID
|
| | | # |
| | | # if curUseWeapon.GetType() in [ChConfig.Def_ItemType_Crossbow, ChConfig.Def_ItemType_Bow]:
|
| | | # curEffect = ItemCommon.GetItemEffectByEffectID(curUseWeapon, ChConfig.Def_Effect_WeaponAttack)
|
| | | # if curEffect == None:
|
| | | # GameWorld.DebugAnswer(curPlayer, '没有物品效果ID %s'%ChConfig.Def_Effect_WeaponAttack)
|
| | | # return skillID
|
| | | # |
| | | # return curEffect.GetEffectValue(0)
|
| | | # |
| | | # if curUseWeapon2.GetType() in [ChConfig.Def_ItemType_Crossbow, ChConfig.Def_ItemType_Bow]:
|
| | | # curEffect = ItemCommon.GetItemEffectByEffectID(curUseWeapon2, ChConfig.Def_Effect_WeaponAttack)
|
| | | # if curEffect == None:
|
| | | # GameWorld.DebugAnswer(curPlayer, '没有物品效果ID %s'%ChConfig.Def_Effect_WeaponAttack)
|
| | | # return skillID
|
| | | # |
| | | # return curEffect.GetEffectValue(0)
|
| | | # |
| | | # return skillID
|
| | | #===============================================================================
|
| | |
|
| | |
|
| | | #===============================================================================
|
| | | # //B4 02 对象击退 #tagCMNPCBeatBack
|
| | |
| | | #获得技能等级
|
| | | curSkillLV = curSkill.GetSkillLV()
|
| | | DataRecordPack.DR_LearnORUPSkill(curPlayer, curSkillID, curSkillLV)
|
| | | EventShell.EventRespons_SkillUp(curPlayer, curSkill.GetFuncType(), curSkillLV)
|
| | | GameWorld.Log("升级技能名 = %s 成功, 当前等级 = %s"%(curSkill.GetSkillName(), curSkill.GetSkillLV()), curPlayer.GetPlayerID())
|
| | | return True
|
| | |
|
| | |
| | | skillElementType = GetSkillElementType(nextSkill)
|
| | |
|
| | | #可升级则激活升一级
|
| | | EventShell.EventRespons_ElementSkill(curPlayer, mainSkillID, skillElementType, updSelectSkillLV)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SkillElementLV % selectSkillID, updSelectSkillLV)
|
| | | if curElementSkillID == selectSkillID:
|
| | | #正在使用的专精技能,则立即生效
|
| | |
| | | continue
|
| | |
|
| | | callBuffProcessFunc(curObj, curBuff, curEffect, processBuffTick, tick)
|
| | | |
| | | #执行ProcessBuff中设定的玩家字典
|
| | | __DoProcessBuff_PlayerKey(curObj, tick)
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | ##执行ProcessBuff中设定的玩家字典
|
| | | # @param curObj 对象
|
| | | # @param tick 时间戳
|
| | | # @return 返回值无意义
|
| | | # @remarks 执行ProcessBuff中设定的玩家字典
|
| | | def __DoProcessBuff_PlayerKey(curObj, tick):
|
| | | #===============================================================================
|
| | | # if curObj.GetDictByKey(ChConfig.Def_Player_ProBuff_TruckSpeedUp):
|
| | | # skillID = curObj.GetDictByKey(ChConfig.Def_Player_ProBuff_TruckSpeedUp)
|
| | | # #本来buff类型是11, 但是骠车没有物品buff, 所以改为8
|
| | | # buffType = IPY_GameWorld.bfAura |
| | | # #给自己的镖车加buff
|
| | | # curSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)
|
| | | # if not curSkill:
|
| | | # GameWorld.Log('###镖车Buff技能ID异常 = %s'%(skillID))
|
| | | # return
|
| | | # |
| | | # BuffSkill.DoAddBuff(curObj.GetTruck() , buffType, curSkill, tick, 0, curObj)
|
| | | # curObj.SetDict(ChConfig.Def_Player_ProBuff_TruckSpeedUp , 0)
|
| | | #===============================================================================
|
| | | return
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | ##持续性buff的伤害效果
|
| | |
| | |
|
| | | #调用攻击惩罚逻辑
|
| | | BaseAttack.DoLogic_AttackResult(attacker, defender, None, tick)
|
| | | |
| | | TurnAttack.OnTurnfightAttackResult(attacker, defender, curSkill)
|
| | | |
| | | return
|
| | | #---------------------------------------------------------------------
|
| | | ##释放普通技能
|