hzr
2025-04-21 2d9d117228fd281aeeb0f3c173f538744f8dffd7
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/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Êä³ö±»¶¯¼¼ÄÜ")
    GameWorld.DebugAnswer(curPlayer, "PrintSkill ÊÇ·ñÏÔʾ¼¼ÄÜÃû")
    skillDict = {}
    
    showSkillName = cmdList[0] if len(cmdList) > 0 else 0
    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] = {}
        skillInfo = skillDict[funcType]
        skillInfo[curSkill.GetSkillID()] = curSkill.GetSkillName()
        
    showDict = {
                0 : "ËæÒâ",
                1 : "ÈË×å·¨±¦",
                2 : "ħ×å·¨±¦",
                3 : "·¨±¦×¨¾«",
                4 : "Ì츳",
                5 : "×øÆï¼¼ÄÜ",
                6 : "Áé³è¼¼ÄÜ",
                7 : "ÈË×å·¨±¦",
                8 : "ÆÕ¹¥",
                9 : "ÎÞ",
                10 : "ͨÓ÷­¹ö",
                11 : "NPC¾³½ç",
                12 : "ÉñÊÞ¼¼ÄÜ",
                13 : "ÖïÏɼ¼ÄÜ",
                14 : "Ì××°¼¼ÄÜ",
                15 : "¿ÉÓÐר¾«µÄ±»¶¯¼¼ÄÜ",
                16 : "Áé³èÖ÷È˼¼ÄÜ",
                17 : "³ÆºÅ¼¼ÄÜ",
                18 : "×°±¸±»¶¯¼¼ÄÜ",
                19 : "Á¶Ìå¼¼ÄÜ",
                20 : "Éñͨ¼¼ÄÜ",
                21 : "¾«¹Ö¼¼ÄÜ",
                22 : "¾Û»ê¼¼ÄÜ",
                }
    
    for funcType, skillInfo in skillDict.items():
        skillIDList = skillInfo.keys()
        skillIDList.sort()
        GameWorld.DebugAnswer(curPlayer, "%s : %s" % (showDict.get(funcType, funcType), skillIDList))
        if showSkillName:
            for skillID in skillIDList:
                GameWorld.DebugAnswer(curPlayer, "    %s : %s" % (skillID, skillInfo[skillID]))
                
    ## ´òÓ¡¼¼ÄÜÔö¼õÉËÐÅÏ¢
    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 ÖïÏɼ¼ÄÜ
#===============================================================================