| | |
| | |
|
| | | return True
|
| | |
|
| | |
|
| | | #ntSummon:(3)普通召唤兽,可继承主人基础属性如攻击 |
| | | #ntElf:(4)玩家替身,完全拥有玩家属性和被动功能
|
| | | #ntFairy :(7)同ntSummon,但技能可触发被动功能
|
| | |
|
| | | # ntElf 定义为人物使用对地持续性技能,并且人物可以移动,则需要ntElf做依托物的情况
|
| | | # 那么ntElf执行人物的伤害计算和被动触发效果
|
| | | # 被动技能只处理玩家,宠物,和灵
|
| | |
| | | return attacker
|
| | |
|
| | | npcType = attacker.GetType()
|
| | | if npcType not in [IPY_GameWorld.ntPet, IPY_GameWorld.ntElf]:
|
| | | if npcType not in [IPY_GameWorld.ntPet, IPY_GameWorld.ntElf, IPY_GameWorld.ntFairy]:
|
| | | if attacker.GetIsBoss():
|
| | | return attacker
|
| | | return
|
| | |
| | | # --宠物
|
| | | return attacker
|
| | |
|
| | | if npcType == IPY_GameWorld.ntElf:
|
| | | else:
|
| | | # ntElf 定义为人物使用对地持续性技能,并且人物可以移动,则需要ntElf做依托物的情况
|
| | | # 那么ntElf执行人物的伤害计算和被动触发效果
|
| | | attacker = NPCCommon.GetSummonNPCOwner(IPY_GameWorld.gotPlayer, attacker)
|
| | |
| | | if curSkill.GetFuncType() != ChConfig.Def_SkillFuncType_Dogz:
|
| | | continue
|
| | | skillID = curSkill.GetSkillID()
|
| | | if skillID in dogzSkills:
|
| | | dogzSkills.remove(skillID)
|
| | | continue
|
| | |
|
| | | delDogzSkills.append(skillID)
|
| | |
|
| | | GameWorld.DebugLog("PlayerDogzSkill:%s - 删除%s"%(dogzSkills, delDogzSkills))
|
| | |
|
| | | # 删除非助战技能
|
| | | # 删除神兽技能
|
| | | for skillID in delDogzSkills:
|
| | | skillManager.DeleteSkillBySkillID(skillID, False)
|
| | |
|
| | | # 添加助战技能,同类技能取最高
|
| | | dogzSkills.sort()
|
| | | for skillID in dogzSkills:
|
| | | skillData = GameWorld.GetGameData().GetSkillBySkillID(skillID)
|
| | | if not skillData:
|
| | | continue
|
| | | if skillData.GetSkillType() == ChConfig.Def_SkillType_AttrSkillNoLearn:
|
| | | # 同技能可多个叠加的技能不能学,算属性时直接取表
|
| | | continue
|
| | | |
| | | skillManager.LearnSkillByID(skillID, False)
|
| | |
|
| | | # 刷被动效果
|