1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#!/usr/bin/python
# -*- coding: GBK -*-
#
##@package
#
# @todo: Êä³öÍæ¼Ò¼¼ÄÜ
#
# @author: Alee
# @date 2019-5-9 ÏÂÎç02:54:09
# @version 1.0
#
# @note: 
#
#---------------------------------------------------------------------
import GameWorld
import PassiveBuffEffMng
import PlayerPet
import IpyGameDataPY
import SkillCommon
 
## GMÃüÁîÖ´ÐÐÈë¿Ú
#  @param curPlayer µ±Ç°Íæ¼Ò
#  @param list ²ÎÊýÁбí [npcID]
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def OnExec(curPlayer, cmdList):
    GameWorld.DebugAnswer(curPlayer, "----¿ªÊ¼´òÓ¡Íæ¼Ò¼¼ÄÜ, ´ø²ÎÊý1Êä³ö±»¶¯¼¼ÄÜ")
    skillDict = {}
    
    skillManager = curPlayer.GetSkillManager()
    for i in range(0 , skillManager.GetSkillCount()):
        curSkill = skillManager.GetSkillByIndex(i)
        if not curSkill:
            continue
        
        funcType = curSkill.GetFuncType()
        if funcType not in skillDict:
            skillDict[funcType] = [curSkill.GetSkillID()]
        else:
            skillDict[funcType].append(curSkill.GetSkillID())
    
    showDict = {
                0 : "ËæÒâ",
                1 : "ÈË×å·¨±¦",
                2 : "ħ×å·¨±¦",
                3 : "·¨±¦×¨¾«",
                4 : "Ì츳",
                5 : "×øÆï¼¼ÄÜ",
                6 : "Éñ±ø¼¼ÄÜ",
                7 : "ÈË×å·¨±¦",
                8 : "ÆÕ¹¥",
                9 : "ÎÞ",
                10 : "ͨÓ÷­¹ö",
                11 : "NPC¾³½ç",
                12 : "ÉñÊÞ¼¼ÄÜ",
                13 : "ÖïÏɼ¼ÄÜ",
                14 : "Ì××°¼¼ÄÜ",
                15 : "¿ÉÓÐר¾«µÄ±»¶¯¼¼ÄÜ",
                }
    
    for funcType, skillList in skillDict.items():
        GameWorld.DebugAnswer(curPlayer, "%s : %s"%(showDict.get(funcType, funcType), skillList))
        
    ## ´òÓ¡¼¼ÄÜÔö¼õÉËÐÅÏ¢
    plusSkillTypeIDList = []
    skillPlusAttrIDDict = IpyGameDataPY.GetFuncEvalCfg("SkillPlusAttrID", 2, {})
    for skillTypeIDList in skillPlusAttrIDDict.values():
        for skillTypeID in skillTypeIDList:
            if skillTypeID in plusSkillTypeIDList:
                continue
            skillData = GameWorld.GetGameData().GetSkillBySkillID(skillTypeID)
            if not SkillCommon.CheckSkillJob(curPlayer, skillData):
                continue
            plusSkillTypeIDList.append(skillTypeID)
            addPer = SkillCommon.GetSkillAddPerByID(curPlayer, skillTypeID)
            reducePer = SkillCommon.GetSkillReducePerByID(curPlayer, skillTypeID)
            if addPer or reducePer:
                GameWorld.DebugAnswer(curPlayer, "%s ÔöÉË+%s ¼õÉË+%s" % (skillData.GetSkillName(), addPer, reducePer))
                
    if not cmdList:
        return
    
    passiveEff = PassiveBuffEffMng.GetPassiveEffManager().GetPassiveEff(curPlayer )
    if not passiveEff:
        return
    
    GameWorld.DebugAnswer(curPlayer, "---------Êä³ö±»¶¯Ð§¹û")
    
    GameWorld.DebugAnswer(curPlayer, "±»¶¯Ð§¹û £º%s"%passiveEff.AffectSkillDict)
    
    GameWorld.DebugAnswer(curPlayer, "Ñ¡Öеı»¶¯¼¼ÄÜЧ¹û £º%s"%passiveEff.AffectPassiveSkillSetDict)
    
    GameWorld.DebugAnswer(curPlayer, "±»¶¯BUFFЧ¹û £º%s"%passiveEff.AffectBuffDict)
    
    GameWorld.DebugAnswer(curPlayer, "ÉñÊÞ±»¶¯Ð§¹û £º%s"%passiveEff.AffectDogzSkillDict)
    
    
    
    fightPet = curPlayer.GetPetMgr().GetFightPet()
    if fightPet:
        GameWorld.DebugAnswer(curPlayer, "³öÕ½³èÎï¼¼ÄÜ%s-%s"%PlayerPet.GetPetLearnSkill(curPlayer))
        passiveEff = PassiveBuffEffMng.GetPassiveEffManager().GetPassiveEff(fightPet )
        if not passiveEff:
            return
        GameWorld.DebugAnswer(curPlayer, "³èÎï±»¶¯Ð§¹û £º%s"%passiveEff.AffectSkillDict)
        
        GameWorld.DebugAnswer(curPlayer, "³èÎï±»¶¯BUFFЧ¹û £º%s"%passiveEff.AffectBuffDict)
        
#===============================================================================
# (Def_SkillFuncType_Common, #0ΪͨÓü¼ÄÜ
# Def_SkillFuncType_FbSkill, #1Ϊ·¨±¦¹¦ÄÜ»ñµÃµÄÖ÷¶¯¼¼ÄÜ
# Def_SkillFuncType_FbPassiveSkill, #2Ϊ·¨±¦¹¦ÄÜ»ñµÃµÄ±»¶¯¼¼ÄÜ
# Def_SkillFuncType_FbSPSkill, #3Ϊ·¨±¦¹¦ÄÜ»ñµÃµÄSP¼¼ÄÜ
# Def_SkillFuncType_GiftSkill, #4ΪÌ츳¼¼ÄÜ
# Def_SkillFuncType_HorseSkill, #5Îª×øÆï¼¼ÄÜ
# Def_SkillFuncType_PetSkill, #6Ϊ³èÎï¼¼ÄÜ
# Def_SkillFuncType_GWSkill,  #7ΪÉñ±ø¼¼ÄÜ
# Def_SkillFuncType_NormalAttack,  #8ΪÆÕ¹¥
# Def_SkillFuncType_SP15,  #9ΪSP15¼¶ ·þÎñ¶ËδÓõ½
# Def_SkillFuncType_SkillRoll,  #10Ϊ·­¹ö    ·þÎñ¶ËδÓõ½
# Def_SkillFuncType_RealmSuppress,  #11Ϊ¾³½çÑ¹ÖÆ Ä¿Ç°ÊÇNPCÔÚÓÃ
# Def_SkillFuncType_Dogz,     #12 ÉñÊÞ¼¼ÄÜ
# Def_SkillFuncType_ZhuXian,     #13 ÖïÏɼ¼ÄÜ
#===============================================================================