|  |  | 
 |  |  |             return False
 | 
 |  |  |         if useSkill.GetSkillTypeID() != checkSkillID:
 | 
 |  |  |             return False
 | 
 |  |  |          | 
 |  |  |       | 
 |  |  |     curSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)
 | 
 |  |  |     if not curSkill:
 | 
 |  |  |         return False
 | 
 |  |  | 
 | 
 |  |  |      | 
 |  |  |     buffType = SkillCommon.GetBuffType(curSkill)
 | 
 |  |  |     buffTuple = SkillCommon.GetBuffManagerByBuffType(attacker, buffType)
 | 
 |  |  |     #通过类型获取目标的buff管理器为空,则跳出
 | 
 |  |  |     if buffTuple == ():
 | 
 |  |  |         return False
 | 
 |  |  | 
 | 
 |  |  |      | 
 |  |  |     buffManager = buffTuple[0]
 | 
 |  |  |     buff = buffManager.FindBuff(curSkill.GetSkillTypeID())
 | 
 |  |  |     if not buff:
 | 
 |  |  | 
 |  |  | 
 | 
 |  |  |     if buff.GetLayer() <= 0:
 | 
 |  |  |         return False
 | 
 |  |  |     triggerSkillID = passiveEffect.GetEffectValue(1)
 | 
 |  |  |     
 | 
 |  |  |     BuffSkill.SetBuffLayer(attacker, buff, buff.GetLayer()-1, skillTypeID=curSkill.GetSkillTypeID())
 | 
 |  |  |     
 | 
 |  |  |     triggerSkillID = passiveEffect.GetEffectValue(1)
 | 
 |  |  |     if triggerSkillID and attacker.GetGameObjType() == IPY_GameWorld.gotPlayer:
 | 
 |  |  |         skillManager = attacker.GetSkillManager()
 | 
 |  |  |         #获得技能
 | 
 |  |  |         curSkill = skillManager.FindSkillBySkillTypeID(triggerSkillID)
 | 
 |  |  |         if curSkill:
 | 
 |  |  |         triggerSkill = skillManager.FindSkillBySkillTypeID(triggerSkillID)
 | 
 |  |  |         if triggerSkill:
 | 
 |  |  |             #玩家技能会升级
 | 
 |  |  |             SkillShell.UsePassiveTriggerSkill(attacker, curSkill, defender, GameWorld.GetGameWorld().GetTick(), isEnhanceSkill = True)
 | 
 |  |  |             SkillShell.UsePassiveTriggerSkill(attacker, triggerSkill, defender, GameWorld.GetGameWorld().GetTick(), isEnhanceSkill = True)
 | 
 |  |  |         else:
 | 
 |  |  |             triggerSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)
 | 
 |  |  |             triggerSkill = GameWorld.GetGameData().GetSkillBySkillID(triggerSkillID)
 | 
 |  |  |             if triggerSkill:
 | 
 |  |  |                 SkillShell.UsePassiveTriggerSkill(attacker, triggerSkill, defender, GameWorld.GetGameWorld().GetTick(), isEnhanceSkill = True)
 | 
 |  |  |     return True
 |