xdh
2019-03-02 edec864d5fbea5b54cd9cf271879c449270c797f
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 CsM|s
dStjd|ƒg}g}|jƒ}|jƒ}xy|jƒD]k\}}tjd|ƒ}    |    svqLnx>|    D]6}
|
jƒ} |
jƒ} |
j    ƒ} |j
| ƒ| krx3|
j ƒjƒD]\}}t j |||ƒqÏW| rM|j| ƒ rM|j| ƒqMn2| rM|j| ƒrM|j| ƒ|j| ƒn|
jƒ}|r}tj|tj|ƒ r}t jdd||| | gƒtj|tj|dƒq}q}WqLWxi|D]a} tjd| ƒtjƒj| dƒ}|sýqÂn|j| ƒt j |ƒj| dƒqÂW|s3|rItjƒj|ƒndS(Ns    suitCntDict=%st EquipSuitAttritAllStarLevelUpis    ¼¤»îÌ××°¼¼ÄÜ skillResID=%s(RRtGetSkillManagertGetNametitemsRGtGetIpyGameDataListt GetSuiteCnttGetStart
GetSkillIDtcountt GetAttrInfoRR±tFindSkillBySkillTypeIDR™tDeleteSkillBySkillTypeIDt GetIsNotifytGetDictValueByBitRtDef_PDict_EquipPartSuiteNotifyt WorldNotifytSetDictValueByBitt GetGameDatatFindSkillByTypetLVUpSkillBySkillTypeIDtRefreshSkillFightPowerExtPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEff(RR¦R¢tlearnSkillListt
delSkillIDt skillManagert
playerNameR­tstarListt ipyDataListR¨tsuiteCnttstartskillIDR¶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_SkillBuffscCstjƒ}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žtjd|||ƒ}|s"dS|jƒ}x-|jƒD]\}}tj|||ƒq;W|jƒ}    x-|    jƒD]\}}tj|||ƒqwWdS(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–As  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ÜTs  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.pytRequestEquipShowHideisB          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(RtNomalDictSetPropertyRRP(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ïRRU(RR£Re((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipPartPlusLV§scCs@t|||ƒ|krdStj|tj||f|ƒdS(N(RXRRRRRU(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
EquipIndexRXtEquipPartStarLVRQt 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‹RRFRX(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(
RRRRtDef_PDict_EquipPartSuiteLVRRRRR[R(RRet    suiteTypeRZRA((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartSuiteLVñs cCs|jtj||fƒS(N(RïRRr(RReRs((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    groupTypeRi((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipPartSuiteGroupTypeþs  c    Cs®d}tjdƒ}||kr%dSt||ƒ}d}xL||D]@}t|||ƒ}|dkrw|d7}nt||ƒ}qFW||kršdS|dkrªdS|S(NiçREii(RGRHRMRuRñ(    RtsuitTypeRwRZRUtmaxCntRèR@t
curSuiteLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipSuitsLVByType
s    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ÎttagMCEquipPartSuiteLVRatGetSuiteInfoByPlacetjsontdumpsRt SuiteLVInfoRMtLenR™RdReRf(RRetePartSuitePackRURVRYtePartSuiteInfot    suiteInfo((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytNotifyEquipPartSuiteLVs$ 
      
    c    Csži}t||ƒ}tjddƒ}xptd|dƒD][}t|||ƒ}|r;|r‰tj||||ƒ}t||ƒ}n|||<q;q;W|S(NtEquipSuitColorStarii(RxRGR^R]RutOperate_EquipSuitComposetGetEquipCanDoMaxSuiteLVRñ(    RR@RBR‡Rwt maxSuiteTypeRsRZt
maxSuiteLV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR€4sc    Csžt||ƒ}g}tjddƒ}xptd|dƒD][}t|||ƒ}|r‰|r‰tj||||ƒ}t||ƒ}n|j|ƒq;W|S(NR‰ii(    RxRGR^RRuRŠR‹RñR™(    RR@RBRwRWRŒRsRZR((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRJBs cCstj|tj||ƒdS(N(RRRRtDef_PDict_EquipPartStar(RtequipPackindexR((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytSetEquipPartStarRscCs|jtj|ƒS(N(RïRRŽ(RR((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytGetEquipPartStarXscCs%tj|ƒ}tt||ƒ|ƒS(N(R tGetItemMaxStarRñR‘(RRRBRV((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyR•^sc    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‘tStarRMRdReRf(    RReRgt syncIndexListtequipMaxClasslvR@R`R¨Rj((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pytNotifyEquipPartStards, 
           
    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ïtLogRRRtSyncAllEquipAttrActiveInfotPlayerMagicWeapontCalcMagicWeaponSoulAttrR1R2(    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™RMRdReRf(RR¢tpackDatataTypeR¤R¥t
activeInfo((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyRž¦s$                  (JRRR
RRRR‚R R„RÚR~tOperate_EquipWashRt
PyMapTableR[ReR(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ÜRORQRSRWRXRZRkRRîRÍRtRuRxR|RˆR€RJRR‘R•R™R¦Rž(((sU.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Item\ChEquip.pyt<module>sŽ                                   W    " ^    
    '                 7    *    z         #     '        .         
             .                         
                                 %