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
{ic@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z d„Z d„Z d„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd d „Zd „Zd d„Zd„ZdS(iÿÿÿÿNcCst|ƒdS(N(tSync_MinggeInfo(t    curPlayer((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyt OnPlayerLogin s
cCsPtj|tjdƒtj|tjdƒtj|tjdƒt|ƒdS(Nii(t PlayerControltNomalDictSetPropertytChConfigtDef_PDict_MGGanwuLVtDef_PDict_MGGanwuExptDef_PDict_MGLingyingR(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyt DoMinggeOpen$s
 
cCsPtjƒj|ƒ}|j}t||ƒsLtj|tjt    j
dƒndS(Ni( t    GameWorldtGetPlayerManagertGetPlayerByIndextCounttDoMinggeTuiyant
ItemCommontSyncMakeItemAnswert ShareDefinetDef_mitMGTuiyanRtDef_ComposeState_Fail(tindext
clientDatattickRttyCount((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytOnMinggeTuiyan2s
    cCs)|jƒ}|jtjƒ}d\}}tjƒ}xQt|jƒƒD]=}|j    |ƒ}|j
ƒ}||kr|}qI|}PqIW|s”gSg}    |sd}
|j ƒ} xFt | dƒD]5\} } | sÚqÂn|
| 7}
|    j |
| gƒqÂWtjd||    f|ƒn d}
|j
ƒ}|j
ƒ}||}||}|t|ƒ}|j ƒ}|j ƒ}x–t |dƒD]…\} }t|ƒ| kr®|| dnd}tt|||ƒƒ}td||ƒ}|
|7}
|r‚|    j |
| gƒq‚q‚Wtjd||    f|ƒ|    S(NiisÁéÓ¦Âú¼¶ÁË: curLingying=%s,%ss#×îÖÕÁéӦƷÖʱýͼ: curLingying=%s,%s(NN(t GetPlayerIDtNomalDictGetPropertyRRtNonet IpyGameDataPYtIPY_DatatrangetGetMGLingyingQualityCounttGetMGLingyingQualityByIndext GetLingyingtGetItemColorWeightListt    enumeratetappendR
tDebugLogtfloattlentinttroundtmax(RtplayerIDt curLingyingt
curIpyDatat nextIpyDatat
ipyDataMgrRtipyDatatlingyingtminggeRateListtratet
weightListtqualitytweighttcurIpyLingyingtnextIpyLingyingtlingyingDiffMaxtlingyingDiffNowtdiffPert curWeightListtnextWeightListt
nextWeightt    curWeightt
diffWeightt    nowWeight((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytGetMGColorRateList9sP          
 
 
  &
c    Cs²|jƒ}t|ƒ}|s"dS|}tjddƒ}tj|||ƒ\}}}|||}    |    dkr||    8}n|dkr©tjd||    f|ƒdStjddƒ}
|dd|
d} tjƒ} d} tj    |t
j |ƒ}xDt |ƒD]6}tj |ƒ}|s)qntjtjƒ}d}| j|ƒxKt| jƒƒD]7}| j|ƒ}|jƒ|kra|jƒ}PqaqaWtjd||||f|ƒtj|dtd    |ƒ}|dkréqn| oþ|jƒ| k}tj||d
d |igd t
j gƒs4qn| d7} qW| dkrRdStj||||| d ƒ| }|jtjƒ}|jtj ƒ}|}||}tjd |||fƒtj!d|ƒ}tj"d|dƒ}xo|r[|r[||j#ƒkr[||j#ƒ8}|d7}tjd||fƒ|}tj"d|dƒ}qíWt$j%|tj|ƒt$j%|tj |ƒt&|ƒtj'|t
j(tj)| ƒt*S(Nt    MinggeCfgiis%ÍÆÑݵÀ¾ß²»×ã! useItemID=%s,lackCnt=%stItemRecordEquipiiÿÿÿÿsAÃü¸ñÍÆÑÝ: itemColor=%s,itemType=%s,randItemID=%s,colorRateList=%sRteventt MinggeTuiyant packIndexLists.¸üиÐÎò¾­Ñé: ganwuLV=%s,addGWExp=%s,updExp=%st    MGGanwuLVs    Éý¼¶: updLV=%s,updExp=%s(+RRBRt
GetFuncCfgRtGetPackItemBindStateIndexInfoR
R%t GetGameDatatGetItemPackSpaceRt rptMGTuiyanRtGetResultByRandomListtrandomtchoiceRtDef_MGGuayuTypetFilterItemByTypetxrangetGetFilterItemCountt GetFilterItemt GetItemColort GetItemTypeIDt ItemControlertGetOutPutItemObjtFalseRtDoLogic_PutItemInPacktDelCostItemByBindRRRtGetIpyGameDatatGetIpyGameDataNotLogtGetNextNeedExpRRRRRtDef_ComposeState_SucesstTrue(RRR+t colorRateListtuseCountt    useItemIDtcostItemIndexListtbindCntt    unBindCnttlackCntt lastColorCnttneedRecordColorMintgameDatat    succCountt_t    itemColortitemTypet
randItemIDtititemDatatcurItemt    isForceDRtaddGWExptganwuLVtganwuExptupdLVtupdExpR0t nexpIpyData((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyRqsx          - 
!
 
cCsEtjƒj|ƒ}t||jƒtj|tjt    j
dƒdS(Ni( R
R R t__doDecomposeMingget    IndexListRRRtDef_mitMinggeEquipRR`(RRRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytOnMinggeDecomposeÅsc CsÈ|jƒ}tjddƒ\}}tjd|||f|ƒ| sO| rSdSd}t|ƒ}|r–tjddƒ}|dd|d}ntjd||f|ƒd}|jƒjt    j
ƒ}    x±|D]©}
|
dksÕ|
|    j ƒkrÿqÕn|    j |
ƒ} t j| ƒs7tjd|
|ƒqÕn|oL| jƒ|k} t j|| | j ƒtd    d
| ƒ|d7}qÕW|sŒdS|||gg} tj|| d d    tigd tƒdS( NtMinggeTYis1·Ö½âÃü¸ñ: itemIndexList=%s,itemID=%s,itemCount=%siRDiÿÿÿÿs&needRecordColorMin=%s,colorRateList=%ssÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%stMinggeDecomposeRtREt isNotifyAward(RRtGetFuncEvalCfgR
R%RBRItGetItemManagertGetPackRRMtGetCounttGetAtRtCheckItemCanUseRVtDelItemRaRXtGivePlayerItemOrMailRZ(Rt itemIndexListR+titemIDt    itemCountRjRbRit decomposeCntt mgTuiyanPackt    itemIndextcurEquipRttitemList((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyR{Ës8   %%c    Csttjƒj|ƒ}|jƒ}|j}|j}|j}tjd|||f|ƒtj    ||t
j ƒs‰tjd||ƒdS|j ƒj t
jƒ}|dks¿||jƒkrÃdS|j|ƒ}    tj|    ƒsùtjd||ƒdS|    jƒ}
|    jƒ} | tjkr$dStjd| ƒ} | s@dS| jƒ} |dttjƒ| d}tjd||
| | |f|ƒ|j ƒj t
jƒ}|dksÄ||jƒkrëtjd||| | |f|ƒdS|j|ƒ}tj|ƒ}tj||    |t
jƒs(dS|rG|rGt||gƒnt||ƒtj |t
j!tj"|ƒdS(    Ns0Ãü¸ñ×°±¸Ìæ»»: mgNum=%s,itemIndex=%s,isAutoDec=%ssÃü¸ñÌ×·½°¸Î´½âËø! mgNum=%sis&    Ãü¸ñÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%st MGGuayuTypeisG    itemIndex=%s,itemID=%s,itemType=%s,equipPlace=%s,equipPlaceIndex=%ss`Ãü¸ñØÔÓñ¶ÔӦװ±¸Î»ÖÃË÷ÒýÒì³£: itemIndex=%s,mgNum=%s,itemType=%s,equipPlace=%s,equipPlaceIndex=%s(#R
R R RtMGNumtIndextAutoDecR%t PlayerPresettGetFuncPresetIDStateRtFuncPreset_MinggeRƒR„RMR…R†RR‡RWtGetTypeRRQRR]t GetEquipPlaceR't
rptMGGuayutErrLogtDoLogicSwitchItemR{tRefreshMinggeAttrRR}R`(RRRRR+tmgNumRt    isAutoDecRŽRR‹Rot typeIpyDatat
equipPlacetequipPlaceIndext    equipPackt    destEquipt    canDecomp((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyt OnMinggeEquipösR                          cCs´tjƒj|ƒ}|j}tjƒ}|jƒ}|s@dS|j|dƒ}|s]dS|jƒ}|j    t
j ƒ}    |    |kr¢tj d|    |fƒdSt |||    ƒ}tj d||    |fƒtjddƒ}
tj||
|ƒ\} } } || | }|dkr&||8}n|dkrMtj d|
|fƒdStj|| | | |dƒ|}|    |}tj|t
j |ƒtj d    ||fƒt|ƒdS(
Nis&ÁéÓ¦ÖµÒÑ´ï×î´óÖµ! curLingying=%s >= %ss3Ãü¸ñÆíÁé: useCount=%s,curLingying=%s,maxLingying=%sRCiis%ÆíÁéµÀ¾ß²»×ã! useItemID=%s,lackCnt=%st MinggeQilings    updLingying=%s,useCount=%s(R
R R tUseCountRRRR R!RRRR%tminRIRRJR\RRR(RRRRRcR/t    dataCountt lastIpyDatat maxLingyingR,RdReRfRgRht addLingyingt updLingying((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytOnMinggeQiling6s>           
 
icCs-t||ƒtj|ƒjtj|ƒdS(N(tCalcMinggeAttrt PlayerOnlinetGetOnlinePlayertRefreshByFuncPresetRR˜(RRŸ((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyRž[s cCs4ttjƒ}|d|}||}t||ƒS(Ni(R'RRQR(RŸtmgCntt
startIndextendIndex((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytGetMGNumPackIndexList`s
cCs]|jƒ}tj}|sUtjd|ƒ}|rLtddt|ƒƒng}n    |g}tj|ƒ}|j    ƒj
tj ƒ}xÑ|D]É}ii}    }
t j |||ƒsÖ|jtj|    |
d|ƒqŒnxCt|ƒD]5} | dksã| |jƒkr qãn|j| ƒ} | sã| jƒr5qãn| jtjƒ} | jtjƒ}xatt| |ƒƒD]J}| jtj|ƒ}| jtj|ƒ}|    j|dƒ||    |<qoWxXt| jtjƒƒD]>}| jtj|ƒ}|rÖ|
j|dƒd|
|<qÖqÖWqãWtjd|    |
|f|ƒ|jtj|    |
d|ƒqŒWdS(Nt PresetUnlockitpresetIDis)Ãü¸ñÊôÐÔ: %s,skillLVDict=%s,mgPresetID=%s(RRR˜RtGetIpyGameDataListRR'R²R³RƒR„R›R–R—t SetCalcAttrRtDef_CalcAttr_MinggeR¸R…R†tIsEmptytGetUserAttrCounttDef_IudetLegendAttrIDtDef_IudetLegendAttrValueRSRªtGetUserAttrByIndextgettDef_IudetAddSkillIDR
R%(RRŸR+tfuncPresetTypet ipyDataListtmgPresetIDListtolPlayerR¤t
mgPresetIDtattrDictt skillLVDictRRtlegendAttrIDCnttlegendAttrValueCntRqtattrIDt    attrValuetskillID((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyR±fs@     (      % cCso|jtjƒ}|sdStjƒ}||_|jtjƒ|_|jtjƒ|_    t
j ||ƒdS(N( RRRtChPyNetSendPackttagSCMinggeInfotGanwuLVRtGanwuExpRtLingyingt NetPackCommont SendFakePack(RRvt
clientPack((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyR‘s     (R
R–RRXRRÑRÖR²RRRRORR    RRBRR~R{R§R°RžR¸R±R(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyt<module>s0                            8    T        +    @    %      +