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
3Ö0ec@s0ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZd„Zd„Zd„Zed„Zd„Zd„Zd„Zd    „Zd
„Zgd „ZdS( iÿÿÿÿNcCst|ƒdS(N(t Sync_EDLVInfo(t    curPlayer((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pyt PlayerLogin(s
cCst|ƒdS(N(t RefreshEDAttr(R((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pytDoEquipDecomposeOpen,s
cCsTtjƒj|ƒ}|js"dS|j}|j}|j}t||||ƒdS(N(t    GameWorldtGetPlayerManagertGetPlayerByIndextCountt    IndexListt
ItemIDListtIsAutotEatItems(tindext
clientDatattickRt eatIndexListt eatItemIDListtisAuto((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pytOnDoEquipDecompose@s                c Cs¢t|ƒt|ƒkrdSt|||ƒ\}}}}|sQtjdƒd    S|jtjƒ}|jtjƒ}    t|||    |ƒ\}
} } t    j
|tj| ƒ|| krët    j
|tj| ƒt |ƒt    j    |ƒj ƒn|jtj ƒ} | |}tjdƒ}t    j
|tj ||ƒg}d}|rY||krYtjddƒ}tjddƒ}||}d
\}}xd|D]\}tj|tj|ƒ}|tj|tj|ƒ7}| sÜ||kr|}|}qqWxgt|ƒD]V}tj|ƒ}|sqün||kr8|r8|}n|j|dƒd||<qüWn|rWx9|jƒD]+\}}|jtj||dgƒƒqlWt|ƒ}tj|tj|ƒ}||krg|jƒD]\}}||dg^qØ}t    jd|jƒg|ƒqWx<|jƒD]+\}}tj |||dtjgƒq%Wnt!||ƒtj"ƒj#ƒ}tj$|tjdd|ƒt|ƒ|fS( Nis    ×°±¸ÎüÊՠûÓпÉÍÌÊÉÎïÆ·£¡tEquipDecomposeAwardiiitDefaultLackSpace(ii(ii(ii(%tlent__GetCanEatItemInfoRtDebugLogtNomalDictGetPropertytChConfigtDef_PDict_EquipDecomposeLVtDef_PDict_EquipDecomposeExpt__GetEatItemResultt PlayerControltNomalDictSetPropertyRtRefreshPlayerAttrStatetDef_PDict_EquipDecomposeCntt IpyGameDataPYt
GetFuncCfgtGetFuncEvalCfgt ItemControlertFindPlayerItemCountByItemIDt IPY_GameWorldtrptItemt rptWarehousetxrangetGetResultByRandomListtgettitemstappendt
ItemCommont GetJsonItemtGetItemPackSpacet SendMailByKeyt GetPlayerIDtGivePlayerItemRt GetGameWorldtGetTickt    ResetItem( RRRRt drDelItemListt totalAddExpt    delAllCnttgiveItemIDDicttLVtExptreduceTotalExptupdLVtupdExptcurDecomposeCnttupdDecomposeCnttperDecomposeCntt jsonItemListtgiveCntt awardRateListtresetItemIDListtminCntt    minItemIDtitemidtcntt_titmeIDt
giveItemIDtitemCntt    needSpacet    packSpacet prizeItemListR((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pyR Ksh  
 
 
       !#  .& c
Csåg}d}d}i}tjddƒ}tj|tjƒ}|jƒjtj    ƒ}    xGt
|ƒD]9\}
} |    j | ƒ} | sd| j ƒr˜qdn| j ƒ} ||
| krØtjd| | ||
fƒqdn| jƒtjkr| jdƒ}|jdƒ}ntj| ƒr| jƒ}| jƒ}| jƒrGdnd}tjd||ƒ}|sˆtjd| ||fƒqdn|jƒ}|tjkrttjddƒƒ}|j|dƒ|||<tjd    | j ƒ|||||fƒqntjd
| | fƒqd| j ƒ}||}||7}||7}tj!|| |t"tj#ƒtjd | ||||fƒ|j$| |||gƒqdW|r¿|||tj%7}nt&j'|t(j)|ƒ||||fS( NiRisX    ×°±¸·Ö½â¿Í»§¶Ë·¢µÄÎïÆ·Ë÷ÒýÓëʵ¼ÊÎïÆ·ID²»¶ÔÓ¦  index=%s,eatItemID=%s,wantEatItemID=%sit PetEatEquipsO    tagPetEatEquip.txt,δÅäÖøÃÎïÆ·£¡ eatItemID=%s, EquipColor=%s,EquipClass=%sis]·Ö½â³È×°ÒÔÉ϶îÍâ½±Àø: eatEquip=%s,itemClass=%s,itemColor=%s,isSuite=%s,awardCount=%s total:%ss'    ²»¿É·Ö½âµÄµÀ¾ßindex=%s eatItemID=%ssE    ÎüÊՠɾ³ýÎïÆ· i=%s,baseExp=%s,itemCnt=%s,addExp=%s,totalAddExp=%s(*R"R#t    PlayerViptGetPrivilegeValueRtVIPPrivilege_EatItemtGetItemManagertGetPackR'R(t    enumeratetGetAttIsEmptyt GetItemTypeIDRtErrLogtGetTypetDef_ItemType_EquipDecomposeExptGetEffectByIndextGetEffectValueR/tCheckItemIsEquipt GetItemColortGetLVt
GetSuiteIDtGetIpyGameDataRtGetExptDef_Quality_OrangetevaltGetFuncCompileCfgR,tGetCounttDelItemtTruetItemDel_EquipDecomposeR.tDef_MaxRateValuet PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_DecomposeEquip(Rt expIndexListRt eatItemListR9t
allitemCntt awardItemDictteatEquipAwardItemIDtpetEatItemAddExpPertitemPacktiR teatItemt    eatItemIDtcurEfftbaseExpt    itemColort    itemClasstisSuitetipyDatat
awardCountROtaddExp((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pyR–s\        & 
 
 
    c
Cs|}d}tjƒ}|j|jƒdƒjƒ}xš|dkrÓ|d|krZPnt|ƒ}|spPntd||ƒ}    ||    kr¶d}||    7}||    8}|d7}q:||7}||7}d}q:W||7}|}tjd||||fƒ|||fS(Niis4×ܿɼӾ­Ñé=%s,ʵ¼Ê×ܿ۳ý¾­Ñé=%s,newLV=%s,×îÖÕ¾­Ñé=%s(    R"tIPY_DatatGetEquipDecomposeByIndextGetEquipDecomposeCountRdt__GetLvUpNeedExptmaxRR(
RR<R=R9t    remainExpR>tipyMgrtmaxLVtmaxExptneedExp((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pyRÓs0   
 
 
 
 
 
    cCs*tjd|dƒ}|s dS|jƒS(s»ñȡװ±¸·Ö½âÉý¼¶ÐèÒª¾­ÑétEquipDecomposeii(R"Rft GetUpNeedExp(tlvRƒ((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pyR‰õscCsÀtj|tjƒsdSgtdƒD] }i^q&}|jtjƒ}tj    d|dƒ}|sjdSx9|j
ƒj ƒD]%\}}t j t|ƒ||ƒq}Wt j|tj|ƒdS(NiRi(t GameFuncCommt GetFuncCanUseRrtGameFuncID_EquipDecomposetrangeRRRR"RftGetAttrR-RtCalcAttrDict_TypetinttSetCalcAttrListValuetDef_CalcAttrFunc_EquipDecompose(RRLt allAttrListtcurLVRƒtattrIDt    attrValue((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pyRÿscCs2tjƒj|ƒ}tj|tj|jƒdS(N(RRRRRRtDef_PDict_EquipDecomposeSetingtSeting(R RRR((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pytOnDecomposeSetingSavescCs´tj|dtƒ}tjƒ}|jƒ|jtjƒ|_    |jtj
ƒ|_ |jtj ƒ|_ |jtjƒ|_t|ƒ|_t|jƒ|_tj||ƒdS(Nt ensure_ascii(tjsontdumpstFalsetChPyNetSendPackttagMCEquipDecomposeInfotClearRRRR<RR=R R¡R!t DecomposeCnttstrt GetItemDataRt
GetItemLent NetPackCommont SendFakePack(Rt getItemInfotPackData((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pyRs 
(R"R'RR/R§RrR®RRtDataRecordPackRpR“RTR%trandomR¤tmathRRRR¦R RRR‰RR¢R(((sxE:\Git\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerEquipDecompose.pyt<module>s4                              K    =    "