xdh
2019-03-02 0800b49acc6a44c241228b2980da60370b501901
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
++z\c@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZd„Zd„Zd„Zdd„Zd„Zd„Z d    „Z!d
„Z"d „Z#d „Z$d „Z%id„Z&d„Z'd„Z(dd„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1dd„Z2d„Z3d„Z4d„Z5d„Z6d„Z7d„Z8ddd „Z9e:d!„Z;d"„Z<d#„Z=d$„Z>d%„Z?d&„Z@dd'„ZAdd(„ZBdd)„ZCd*„ZDd+„ZEd,„ZFdd-„ZGd.„ZHdd/„ZIdS(0iÿÿÿÿNcCs-|jƒtjkr)tj|dƒtStS(NtGeRen_chenxin_436832(tGetPlayerActiontChConfigtDef_Player_DoEquip_Statet PlayerControlt
NotifyCodetFalsetTrue(t    curPlayer((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCheckPlayerCanEquipItem3scCs/|dkrtStj|ƒ}tj|ƒs2tStj|ƒsRtjdƒtS|jƒ}|t    j
krqtStj |ƒ|krŠtStj |ƒ}|j ƒ}d}d}    d}
|jƒ} |jƒ} |jƒ} |j||ƒ}|dkrýtS|jƒjtjƒ}|j|ƒ}|jt    jƒdkr^|jt    jttjƒƒƒn|tj|ƒks‚|tjkr¡|j ||||
|    | ƒn| s½t!j"|||ƒn|tj#krÐt$S|j%tj&tj'ƒ|t    j(krt)j*|ƒn t+||ƒtj|ƒ}|j,ƒt$S(Nis ×°±¸ÒѹýÆÚ!iÿÿÿÿ(-Rt ItemControlertPlayerItemControlert
ItemCommontCheckItemCanUsetCheckItemCanUseByExpireTimet    GameWorldtDebugLogt GetEquipPlacet ShareDefinet RoleEquipTypetGetEquipPackIndextGetItemClassLVt GetItemTypeIDt GetUserDatatGetItemQualitytGetEndureReduceTypet    EquipItemtGetItemManagertGetPackt IPY_GameWorldtrptEquiptGetAtt GetUserAttrtDef_IudetCreateTimet SetUserAttrtintttimeRtGetFaceEquipIndexListRtDef_SyncEquipStateByIndext ChangeEquipt
EventShelltEventRespons_EquipByPlacetEquipItemNoRefreshStateRtSetDictt Def_PlayerKey_AttrActivatyNotifytDef_AttrActivatyNotify_EquiptretWingt
PlayerWingt CalcWingAttrtRefreshPlayerEquipAttributetRefreshPlayerAttrState(RtcurItemtequipPackIndextticktplayerItemControltchangeItemEquipPlacet itemClassLVt changeItemIDtchangeItemStarLVtchangeItemStoneCnttchangeItemHoleCnttchangeItemUseDatat itemQualitytendureReduceTypet
equipPlacet    equipPacktcurEquipt playControl((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytDoPlayerEquipItemDsR        "$     
c
Cs4| s|jƒrdSt}tjdƒ}x*|jƒD]}||kr9t}Pq9q9W|scdSt|||ƒ}|jtj    ƒ}|rót
|ƒ|króxŽt |ƒD]@\}}    |j tj    |ƒ|    kr¬|j tj    ||    ƒq¬q¬Wn=|r |jtj    ƒnx!|D]}    |jtj    |    ƒqWdS(Nt EquipSuitType(tIsEmptyRt IpyGameDataPYtGetFuncEvalCfgtvaluesRtGetEquipPartSuiteLVListtGetUserAttrCountRtDef_IudetPartSuiteLVtlent    enumeratetGetUserAttrByIndextUpdataUserAttrByIndext ClearUserAttrt AddUserAttr(
Rt
equipIndexR3t isSuiteParttequipSuitTypeDicttequipIndexListt suiteLVListt    attrCounttitsuiteLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipItemSuiteLVInfo›s*   icCsdtjd|ƒ|dkr9tdtjdƒdƒn|g}x|D]}t||ƒqIWdS(Ns/Start RefreshPlayerEquipAttribute classlv=%s!!!iitEquipMaxClasslv(RRtrangeRGt
GetFuncCfgt__CalcEquips_Effect(Rtclasslvt classlvListtrclasslv((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR1½s
1 cCstjtƒ||ƒdS(N(Rt GetPsycoFunct__Func_PlayerEquipItem(tindexR5((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytPlayerEquipItemscCs©tjƒj|ƒ}tjƒ}|jƒ}|jƒ}t|ƒsIdS|jƒj    tj
ƒ}|j |ƒ}t ||||ƒr‰dS|j tj
|tjdƒdS(Ni(RtGetPlayerManagertGetPlayerByIndexRtIPY_CEquipItemt GetItemIndextGetRoleEquipTypeR    RRtrptItemRRDtNotify_ItemPutFailR(ReR5RtsendPackt packItemIndexR4trolePackR3((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRd%s     cCsdS(N((ReR5((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOneKeyChangeEquipLscCstjtƒ||ƒdS(N(RRct__Func_PlayerUnEquip(ReR5((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt PlayerUnEquipUsc
Cs"tjƒ}tjƒj|ƒ}t|ƒs1dS|jƒ}tj|ƒ}|j    ||j
ƒƒ}|sndS|d}|d}|t j kr¥|j ||ƒdS|tjkrÄtj|ƒn
t|ƒtj|ƒ}    |    jƒ|tj|ƒks |t jkr|j ||ƒndS(Nii(RtIPY_CUnEquipItemRRgRhR    t GetEquipIndexR
R t UnEquipItemt GetPackIndexRR*tSync_UnEquipItemRR.R/R0R1RR2R%R&(
ReR5RnRR4R6tresulttequipIDR@RC((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRr`s,   
 
 
 
$cCsêtjƒ}tjƒj|ƒ}tj|tjtj    ƒs@dSt
j |ƒsSdS|j ƒj tjƒ}|jƒ}|j|ƒ}tj|ƒs™dStj||ƒr¯dStj|ƒrÒtj|dƒdStj|dƒdSdS(NtTaskRestGeRen_chenxin_774045(Rt IPY_CUseEquipRRgRhtOperControlManagertIsObjCanDoActionRtDef_Obj_ActState_ClientActt
oalUseItemtChItemtCheckUseItemSelf_PlayerRRRRuRR R tFBLogictDoFBForbidUseItemR
t IsEventItemRR(ReR5RnRt roleEquipPackRSRB((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt__Func_PlayerUseEquipSelf—s,   cCsTgtdƒD] }i^q }gtdƒD] }i^q,}gtdƒD] }i^qK}tj}|jƒj|ƒ}tjj|gƒ}i}    d}
xo|D]g} tj    d|| ƒ} | sÊq£n| j
ƒ} |j | ƒ}| s£|j ƒrþq£nt j|ƒsq£n|
t j|ƒ7}
xjt|jƒƒD]V}|j|ƒ}|sXPn|jƒ}|dkrtPn|jdƒ}|s9q9q9q9Wt|| |ƒ}t||| ||ƒt|| |ƒ|jƒ}|r£||    krög|    |<n|    |j|ƒq£q£Wt||    |ƒttjddƒƒ}|jtjtj |ƒdS(NiitEquipPlaceIndexMaptFightpowerFormulai(!R]RRRRRtPack_EquipPart_CanPlusStartgetRGtGetIpyGameDatat GetGridIndexRRFR RtGetEquipGearScoretxrangetGetEffectCounttGetEffectByIndext GetEffectIDtGetEffectValuetGetEquipPartStarByRanktCalcEquipStarAttrtCalcEquipStone_Effectt
GetSuiteIDtappendtCalcEquipSuiteAttrtevaltGetFuncCompileCfgR+tDef_PlayerKey_MFPExRtDef_MFPType_Equip(RR`t_tallAttrListStartallAttrListStonetallAttrListSuittpackTypet playerEquiptequipPartStarIndexListt suitCntDicttequipScoreTotalR@tipyDataRSRBRYt    curEffectteffectIDt effectValuet equipPartStartsuiteIDtequipFightPowerEx((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR_ÁsR        
   c    CsÕgt|jtjƒƒD]}|jtj|ƒ^q}gt|jtjƒƒD]}|jtj|ƒ^qS}| s“t|ƒt|ƒkr—dSx7t|ƒD])\}}||}tj    |||ƒq¤WdS(N(
R]RKRtDef_IudetLegendAttrIDROtDef_IudetLegendAttrValueRMRNRtCalcAttrDict_Type(    RRBtallAttrListEquiptlegendAttrDictRYtlegendAttrIDListtlegendAttrValueListtattrIDtvalue((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcAttr_LegendAttr;s77
c CsQgt|jtjƒƒD]}|jtj|ƒ^q}gt|jtjƒƒD]}|jtj|ƒ^qS}| s“t|ƒt|ƒkr—dS|jƒ}tj    ddiƒ}x’t
|ƒD]„\}}t |ƒ|kréqÅn|t |ƒ}    ||}
t t jd||    ƒƒ} tjd|| fƒtj|| |ƒqÅWdS(NtOutOfPrintValueisOutOfPrintAttrFormat_%ss¼Ó¾ø°æÊôÐÔ: %s +%s(R]RKRtDef_IudetOutOfPrintAttrIDROtDef_IudetOutOfPrintAttrValueRMtGetLVRGRHRNtstrR›tFormulaControltGetCompileFormulaRRRR±( RRBtallAttrListOutOfPrintEquipRYtOutOfPrintAttrIDListtOutOfPrintAttrValueListtlvtOutOfPrintAttrFormatDictR¶t
attrFormatt maxOOPValueR·((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcAttr_OutOfPrintAttrSs"77 
cCsägtdƒD] }i^q }tj}|jƒj|ƒ}xŠt|jƒƒD]v}|tjkrkqPn|tj    kr€qPn|j
|ƒ}|j ƒr¡qPnt j |ƒs¶qPnt|||ƒqPWtj|tj|ƒdS(Ni(R]RRRRRtGetCountRRR.RRFR RRÇRtSetCalcAttrListValueRt Def_CalcAttrFunc_EquipOutOfPrint(RRŸRÀR£R¤RSRB((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcEquips_OutOfPrintos      c
Cs–|s
dSt|ƒ}|dkr&dStjd||ƒ}|sEdS|jƒ|jƒ}}x1t|ƒD]#\}}    tj|    |||ƒqkWdS(NtItemPlus(    tGetEquipPlusTypetNoneRGRt GetAttrTypet GetAttrValueRNRR±(
RRBt allAttrListtequipPartStarLVtplusTypeR¨t attrTypeListt attrValueListRYR¶((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcAttr_ItemPlus’s  c Csfd}d}|jtjƒ}tjdƒ\}}xÍ|D]Å}|d}    d}
|    dkre|}
n|    dkrz|}
n|d} |
| kr:t||dƒ|    dkrÑ| |krÑ|tjkrÑ| }n|    dkrò| |krò| }n|sÿPqÿq:q:W|jtjƒ} |dkrO|| krOtj    |d|j
ƒ|gƒn|j tj|ƒdS(NitEquipQualityAddAttriitGeRen_hgg_917284( t GetDictByKeyRR,t ReadChConfigtGetEvalChConfigt EquipAddBuffR-t(Def_PlayerKey_AttrActivatyRecordSuiteCntRRt GetPlayerNameR+( RtqualityEquipCntt suiteEquipCnttsuiteCntRecordtnotifySuiteCntt
notifyTypetisAllt addAttrListtconfInfot confQualitytcnttconfCnttlastSuiteCntRecord((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytAddEquipsQualityBuff¥s6 
          
            c
Cs²t|tƒ}|jtjƒ}t||ƒ}tjdd|ƒ}|sOiS|jƒ}|j    ƒ}i}x>t
|ƒD]0\}}||}    |j |dƒ|    ||<qzW|S(NtItemPlusSumAttrt PlusCntNeedi( tGetTotalPlusLVRtNomalDictGetPropertyRtDef_PDict_EquipActiveStarLVtminRGtInterpolationSearchRÏRÐRNRŒ(
RttotalLVtactiveLVR¨RÔRÕtattrDictRYR¶R·((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcAllEquipAllPlusLVAttrÌs  
c Csr|s
dStjd|ƒg}g}|jƒ}|jƒ}xž|jƒD]\}}tjd|ƒ}    |    svqLnxc|    D][}
|
jƒ} |
jƒ} |
j    ƒ} g|D]}|| krÆdnd^q®j
dƒ| kr¦x3|
j ƒjƒD]\}}t j |||ƒqôW| r=|j| ƒ r=|j| ƒn|
jƒ}|rØtj|tj|ƒ rØt jdd||| | gƒtj|tj|dƒqØq}| r}|j| ƒr}|j| ƒ|j| ƒq}q}WqLWxi|D]a} tjd| ƒtjƒj| dƒ}|s"qçn|j| ƒt j |ƒj| dƒqçW|sX|rntjƒj|ƒndS(Ns    suitCntDict=%st EquipSuitAttriitAllStarLevelUps    ¼¤»îÌ××°¼¼ÄÜ skillResID=%s(RRtGetSkillManagertGetNametitemsRGtGetIpyGameDataListt GetSuiteCnttGetStart
GetSkillIDtcountt GetAttrInfoRR±tFindSkillBySkillTypeIDR™t GetIsNotifytGetDictValueByBitRtDef_PDict_EquipPartSuiteNotifyt WorldNotifytSetDictValueByBittDeleteSkillBySkillTypeIDt GetGameDatatFindSkillByTypetLVUpSkillBySkillTypeIDtRefreshSkillFightPowerExtPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEff(RR¦R¢tlearnSkillListt
delSkillIDt skillManagert
playerNameR­tstarListt ipyDataListR¨tsuiteCnttneedStartskillIDtstarR¶t    attrValuet
notifyMarkt    skillData((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRšåsJ      :     cCs8|jtjƒ}|tjkr4tj||ƒndS(N(RÙRR,R-R(tEventRespons_OrangeQualityCnt(RtorangeQualityCntRã((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOnOrangeQualityCntChangescCstj||ƒdS(N(t
SkillShelltRefreshSkillBuffByEquip(RRB((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytCalcCurEquip_SkillBuff!scCstjƒ}ddddg}g}xôtjƒD]æ}tj|||ƒd}|dkrbq1n|j|ƒ}|sŽtjd|ƒq1nx[|D]S}    |j|    ƒ}
|
jƒ|
j    dƒ} } | r•| r•t
j | | |ƒq•q•W|jdƒ} | j    dƒ}|j |ƒq1W|S(Niiiiis#equip stone id:%s not in item table( RR    tOperate_EquipStonetGetAllEquipPlaceHoleIndextGetEquipIndexStoneIDAndIsBandtGetItemByTypeIDtErrLogR’R“R”RR±R™(RRSRÑtgameDatat effIndexListt    gemLVListt    holeIndextcurGemIDtcurGemteffIndext curGemEffectRªR«t    gemEffecttgemLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR—+s(    c
Cs¨|s
dStjd|||ƒ}|s,dS|jƒ}x-|jƒD]\}}tj|||ƒqEW|jƒ}    x-|    jƒD]\}}tj|||ƒqWdS(Nt EquipStarUp(RGRtGetStarAttrInfoRûRR±tGetBaseAttrInfo(
RR`R@R¬R R¨t starAttrDictR¶Rt baseAttrDict((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR–Cs  cCsa|jƒj|dtƒ}|j|jƒƒ|j|jƒƒ|dkr]|j|ƒndS(Ni(t GetEquipBufftAddBuffRt
SetOwnerIDtGetIDt SetOwnerTypetGetGameObjTypetSetValue(Rt
addSkillIDR·tcurBuff((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRÜXs  cCs·tjƒj|ƒ}tjtj}||jtjƒ|krEdStjƒ}|j    ƒ}|j    ƒ}||krydSd}g}xht
j t
j t
j gD]N}    tjdd|    ƒ}
|
sÅqžn|
jƒ} |d| }|j| ƒqžWtj||ƒ|jƒjtjƒ} xx|D]p} | j| ƒ}tj|ƒsIqn|jƒ}d}d}d}|jƒ}|j|| ||||ƒqW|j|ƒ|jtj|ƒdS(NiR‰iiè(RRgRhRtTYPE_Player_Tick_Timet%TYPE_Player_Tick_RequestEquipShowHidet GetTickByTypeRtIPY_CRequestEquipShowHidetGetEquipShowSwitchRt    retWeapont
retWeapon2t
retClothesRGRRŽR™RtSetFaceEquipIndexRRRRR R RRR'tSetEquipShowSwitcht SetTickByType(ReR5RtintervalRntupdEquipShowSwitchtoldEquipShowSwitchtupdFaceEquipIndexRVR@R¨t    gridIndexRAR4RBR9R:R;R<R=((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytRequestEquipShowHidemsB          cCs|jtj||fƒS(N(RïRtDef_PDict_EquipPartProficiency(RR£Re((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipPartProficiency›scCs$tj|tj||f|ƒdS(N(RtNomalDictSetPropertyRRQ(RR£ReR·((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartProficiency scCs2tj|ƒ}t|jtj||fƒ|ƒS(N(R tGetItemMaxPlusLVRñRïRtDef_PDict_EquipPartPlusLV(RR£ReRBt    maxStarLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipPartPlusLVByRank¥scCs|jtj||fƒS(N(RïRRV(RR£Re((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipPartPlusLV«scCs@t|||ƒ|krdStj|tj||f|ƒdS(N(RYRRSRRV(RR£ReRBtstarLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartPlusLV°s cCs#tjƒ}|jƒg|_xÛtjjƒD]Ê\}}|dkrY||krYq/nx|D]•}|dkr“|dkr“||kr“q`q“ntjƒ}|jƒ||_    ||_
t |||ƒ|_ t |||ƒ|_|jj|ƒq`Wq/Wt|jƒ|_tj||ƒdS(N(tChPyNetSendPackttagMCEquipPartStarLVInfotCleartInfoListRR‹RûRÎttagMCEquipPartStarLVtPackTypet
EquipIndexRYtEquipPartStarLVRRt ProficiencyR™RMtCountt NetPackCommont SendFakePack(RR£RetePartStarLVPacktpTypet    indexListRYt ePartStarLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytNotifyEquipPartPlusLV¾s( 
           
        cCs“d}|jƒjtjƒ}tjtj}x^|D]V}|rl|j|ƒ}| s5|jƒrlq5qlnt|tj|ƒ}||7}q5W|S(Ni(    RRRRRR‹RRFRY(RtisActivet totalPlusLVRAtequipPartIndexListRYRBt
partStarLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRîÛs     cCsE|jƒ}tjddƒ}|s5tjdƒdS|j|dƒS(NtStrengthenLevelLimitisûÓÐÇ¿»¯ÀàÐÍÓ³Éä±íiÿÿÿÿ(RRGRHRR'RŒ(RBR@t plusTypeDict((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRÍës   cCsUtj|tj||f|ƒ|jƒjtjƒ}t|||j    |ƒƒdS(N(
RRSRtDef_PDict_EquipPartSuiteLVRRRRR[R(RRet    suiteTypeRZRA((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartSuiteLVõs cCs|jtj||fƒS(N(RïRRs(RReRt((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipPartSuiteLVýscCsRd}tjdƒ}x6|jƒD](\}}||kr"t|ƒ}Pq"q"W|S(NiRE(RGRHRûR#(RRSt findGroupTypeRUt    groupTypeRj((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipPartSuiteGroupTypes  c    Cs®d}tjdƒ}||kr%dSt||ƒ}d}xL||D]@}t|||ƒ}|dkrw|d7}nt||ƒ}qFW||kršdS|dkrªdS|S(NiçREii(RGRHRMRvRñ(    RtsuitTypeRxRZRUtmaxCntRèR@t
curSuiteLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipSuitsLVByTypes    cCstjƒ}|jƒg|_tjdƒ}x«|jƒD]}x”|D]Œ}|dkrl||krlqHntjƒ}|jƒ||_    t
||ƒ}t j |dt ƒ|_t|jƒ|_|jj|ƒqHWq;Wt|jƒ|_tj||ƒdS(NREt ensure_ascii(R\ttagMCEquipPartSuiteLVInfoR^R_RGRHRIRÎttagMCEquipPartSuiteLVRbtGetSuiteInfoByPlacetjsontdumpsRt SuiteLVInfoRMtLenR™ReRfRg(RRetePartSuitePackRURVRYtePartSuiteInfot    suiteInfo((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytNotifyEquipPartSuiteLV!s$ 
      
    c    Csži}t||ƒ}tjddƒ}xptd|dƒD][}t|||ƒ}|r;|r‰tj||||ƒ}t||ƒ}n|||<q;q;W|S(NtEquipSuitColorStarii(RyRGR^R]RvtOperate_EquipSuitComposetGetEquipCanDoMaxSuiteLVRñ(    RR@RBRˆRxt maxSuiteTypeRtRZt
maxSuiteLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR8sc    Csžt||ƒ}g}tjddƒ}xptd|dƒD][}t|||ƒ}|r‰|r‰tj||||ƒ}t||ƒ}n|j|ƒq;W|S(NRŠii(    RyRGR^RRvR‹RŒRñR™(    RR@RBRxRWRRtRZRŽ((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRJFs cCstj|tj||ƒdS(N(RRSRtDef_PDict_EquipPartStar(RtequipPackindexR((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartStarVscCs|jtj|ƒS(N(RïRR(RR((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipPartStar\scCs%tj|ƒ}tt||ƒ|ƒS(N(R tGetItemMaxStarRñR’(RRRBRW((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR•bsc    Cs9tjƒ}|jƒg|_g}|dkr¸tjdƒ}x~tjj    t
j gƒD]X}xOt d|dƒD]:}tj d||ƒ}|sšqsn|j|jƒƒqsWqYWn    |g}xO|D]G}tjƒ}|jƒ||_t||ƒ|_|jj|ƒqÈWt|jƒ|_tj||ƒdS(NR\iR‰(R\ttagMCEquipPartStarInfoR^R_RÎRGR^RR‹RŒRRRRR™RŽttagMCEquipPartStartEquipPackIndexR’tStarRMReRfRg(    RReRht syncIndexListtequipMaxClasslvR@R`R¨Rk((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytNotifyEquipPartStarhs, 
           
    c    Cs÷tjƒj|ƒ}|j}|j}|dkr?tj}n|dkrWtj}ndS|j|ƒ}||kr”tj    d|||fƒdSt
j |||ƒt ||ƒ|dkrÐt j|ƒn
t|ƒt
j
|ƒ}|jƒdS(NiisF    È«ÉíÊôÐÔ¼¤»î ¸ÃÊýÁ¿ÒѼ¤»î¹ý£¡ activeType=%s,activeCnt=%s,curCnt=%s(RRgRhtTypetCntRRðtDef_PDict_EquipActiveStarsRïtLogRRStSyncAllEquipAttrActiveInfotPlayerMagicWeapontCalcMagicWeaponSoulAttrR1R2(    Ret
clientDataR5Rt
activeTypet    activeCnttkeytcurCntRC((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytOnActiveAllEquipAttrs(               
 
cCsátjƒ}g|_x£ddgD]•}|dkrF||krFq"n|dkr^tj}n|dkrvtj}ndS|j|ƒ}tjƒ}||_||_    |jj
|ƒq"Wt |jƒ|_ t j||ƒdS(Niiiÿÿÿÿ(R\ttagMCAllEquipAttrActiveInfot
ActiveInfoRRðRRïttagMCEquipActiveInfoR›RœR™RMReRfRg(RR£tpackDatataTypeR¥R¦t
activeInfo((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRŸªs$                  (JRRR
R RRR‚R R„RÚR~tOperate_EquipWashRt
PyMapTableR\RfR(RGR/R#R‹R t SkillCommonR R$R‚R¾R    RDR[R1RfRdRqRsRrRˆR_R¸RÇRËRÎRÖRëRöRšRR"R—R–RÜRPRRRTRXRYR[RlRRîRÍRuRvRyR}R‰RRJR‘R’R•RšR§RŸ(((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt<module>sŽ                                   W    " ^    
    '                 7    *    z         #     '        0         
             .                         
                                 %