hxp
2025-06-12 edc3910a9d090e5df4deb2dbc37709a740375938
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
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
#-------------------------------------------------------------------------------
#
##@package GM.Commands.SetEquipPartPlusLV
#
# @todo:ÉèÖÃ×°±¸²¿Î»¹«¹²Ç¿»¯µÈ¼¶
# @author hxp
# @date 2015-12-15
# @version 1.0
#
# ÏêϸÃèÊö: ÉèÖÃ×°±¸²¿Î»¹«¹²Ç¿»¯µÈ¼¶
#
#---------------------------------------------------------------------
"""Version = 2015-12-15 17:00"""
#---------------------------------------------------------------------
import Operate_EquipPlus
import IPY_GameWorld
import ChConfig
import ChEquip
import GameWorld
import IpyGameDataPY
#---------------------------------------------------------------------
#Âß¼­ÊµÏÖ
## GMÃüÁîÖ´ÐÐÈë¿Ú
#  @param curPlayer µ±Ç°Íæ¼Ò
#  @param cmdList ²ÎÊýÁбí [packType, index, starLV]
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def OnExec(curPlayer, cmdList):
    
    packType = IPY_GameWorld.rptEquip
    curPack = curPlayer.GetItemManager().GetPack(packType)
    refreshClassLV = 0
    
    # ÉèÖÃËùÓн×
    if len(cmdList) == 2:
        setStarLV, evolveLV = cmdList
        equipMaxClasslv = IpyGameDataPY.GetFuncCfg('EquipMaxClasslv')
        for equipPlace in ChConfig.Pack_EquipPart_CanPlusStar.get(packType, []):
            for classlv in xrange(1, equipMaxClasslv+1):
                ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classlv, equipPlace)
                if not ipyData:
                    continue 
                gridIndex = ipyData.GetGridIndex()
                curEquip = curPack.GetAt(gridIndex)
                ChEquip.SetEquipPartPlusLV(curPlayer, packType, gridIndex, curEquip, setStarLV)
                ChEquip.SetEquipPartProficiency(curPlayer, packType, gridIndex, 0)
                ChEquip.SetEquipPartPlusEvolveLV(curPlayer, packType, gridIndex, evolveLV)
                
        GameWorld.DebugAnswer(curPlayer, "ÉèÖÃËùÓв¿Î»Ç¿»¯µÈ¼¶(%s),½ø»¯µÈ¼¶(%s)" % (setStarLV, evolveLV))
        
    # ÉèÖÃÖ¸¶¨½×
    elif len(cmdList) == 3:
        classLV, setStarLV, evolveLV = cmdList
        for equipPlace in ChConfig.Pack_EquipPart_CanPlusStar.get(packType, []):
            ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace)
            if not ipyData:
                continue
            gridIndex = ipyData.GetGridIndex()
            curEquip = curPack.GetAt(gridIndex)
            ChEquip.SetEquipPartPlusLV(curPlayer, packType, gridIndex, curEquip, setStarLV)
            ChEquip.SetEquipPartProficiency(curPlayer, packType, gridIndex, 0)
            ChEquip.SetEquipPartPlusEvolveLV(curPlayer, packType, gridIndex, evolveLV)
            
        GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ%s½×ËùÓв¿Î»Ç¿»¯µÈ¼¶(%s),½ø»¯µÈ¼¶(%s)" % (classLV, setStarLV, evolveLV))
        refreshClassLV = classLV
        
    # ÉèÖÃÖ¸¶¨½×²¿Î»
    elif len(cmdList) == 4:
        classLV, equipPlace, starLV, evolveLV = cmdList
        
        if equipPlace not in ChConfig.Pack_EquipPart_CanPlusStar[packType]:
            __GMHelpAnswer(curPlayer, "²¿Î»²»´æÔÚ£¡")
            return
        ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace)
        if not ipyData:
            return
        gridIndex = ipyData.GetGridIndex()
        curEquip = curPack.GetAt(gridIndex)
        ChEquip.SetEquipPartPlusLV(curPlayer, packType, gridIndex, curEquip, starLV)
        ChEquip.SetEquipPartProficiency(curPlayer, packType, gridIndex, 0)
        ChEquip.SetEquipPartPlusEvolveLV(curPlayer, packType, gridIndex, evolveLV)
        GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ%s½×%s²¿Î»Ç¿»¯µÈ¼¶(%s),½ø»¯µÈ¼¶(%s)" % (classLV, equipPlace, starLV, evolveLV))
        refreshClassLV = classLV
        
    else:
        __GMHelpAnswer(curPlayer, "²ÎÊý´íÎó£¡")
        return
    
    Operate_EquipPlus.DoLogic_OnEquipPartStarLVChange(curPlayer, packType, refreshClassLV)
    ChEquip.NotifyEquipPartPlusLV(curPlayer, packType)
    return
 
def __GMHelpAnswer(curPlayer, errorMsg=""):
    if errorMsg:
        GameWorld.DebugAnswer(curPlayer, "%s" % errorMsg)
    GameWorld.DebugAnswer(curPlayer, "ÉèÖÃËùÓн׼¶: SetEquipPartPlusLV Ç¿»¯µÈ¼¶ ½ø½×µÈ¼¶")
    GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÖ¸¶¨½×¼¶: SetEquipPartPlusLV ½×¼¶  Ç¿»¯µÈ¼¶ ½ø½×µÈ¼¶")
    GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÖ¸¶¨²¿Î»: SetEquipPartPlusLV ½×¼¶ ²¿Î» Ç¿»¯µÈ¼¶ ½ø½×µÈ¼¶")
    return