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
-Çyhc@sTddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zdd„ZdS(iÿÿÿÿNcCst|ƒdS(N(tSyncDropBootyInfo(t    curPlayer((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytOnFBPlayerOnLogin#s
cCst|ƒdS(N(tResetBootyDropToday(R((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytOnFBPlayerOnDay's
cCs[tƒ}xA|D]9}|jtj|ƒrtj|tj|dƒqqWt|ƒdS(Ni(tGetBootyItemIDListtNomalDictGetPropertytChConfigtDef_PDict_BootyDropTodayt PlayerControltNomalDictSetPropertyR(RtbootyItemIDListtitemID((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR+s      !
cCs]t|tjƒ}tj|tj||ƒtjd||f|jƒƒt    ||ƒdS(Ns/¸üнñÈÕµôÂäÕ½ÀûÆ·Êý: itemID=%s,updDropToday=%s(
tminRtDef_UpperLimit_DWordR    R
Rt    GameWorldtDebugLogt GetPlayerIDR(RR t updDropToday((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytSetBootyDropToday3s
  cCsVtjƒ}|jƒ}|s"gS|j|dƒ}g|jƒD]}|d^qBS(Nii(t IpyGameDataPYtIPY_DatatGetMainChapterCounttGetMainChapterByIndextGetDailyBootyUpperList(t
ipyDataMgrt chapterCounttipyDatatbooty((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR:s   cCs&|tjkr"t|||ƒndS(N(RtDef_FBMapID_Maint__doCostZhanchui(RtatkObjtdefObjtcurSkilltmapIDt
funcLineID((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytOnPlayerLineupAttackSuccessCsc    Cs<d}tj|ƒ}|jtjƒ}|rBtjddƒ}nl|tjkrftjddƒ}nH|tjkrŠtjddƒ}n$tj    |ƒr®tjddƒ}n|dkr¾dSt
|j ƒdƒ}||}t j |tj|dtƒs8t j|tjƒ}t j |tjt||ƒdtƒndS(Nit ZhanchuiCostiiiitisNotify(t SkillCommont isAngerSkillt GetDictByKeyRtDef_Obj_Dict_TurnBattleTypeRt
GetFuncCfgtTurnBattleType_CombotTurnBattleType_AtkBacktisTurnNormalSkilltmaxt GetFightPointR    tPayMoneyt ShareDefinetTYPE_Price_XiantaotFalsetGetMoneyR (    RRR!t costZhanchuitisXPtturnBattleTypet
fightPointtcostZhanchuiTotaltnowMoney((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRKs& 
(cCs)|tjkr%t||||ƒndS(N(RRt __doKillAward(RRR R!R"R#((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytOnPlayerLineupAttackResultesc
Cstjƒj|jƒƒ}|s%dS|jtjƒ}|jsm|jtjƒ}t    j
d||fƒdSt |jƒ}g|_|rót j |tjdƒtjddƒ}||}    t    j
d|    |fƒt j |ƒj|    tjƒnt||ƒdS(Ns;ûÓл÷ɱ²»ÐèÒª´¦Àí! unXiantaoCntExp=%s,unXiantaoCntEquip=%sitMainlineis(Ôö¼Ó¾­Ñé: totalExp=%s,unXiantaoCntExp=%s(t
TurnAttacktGetTurnFightMgrtgetNPCTurnFighttGetIDRRtDef_PDict_UnXiantaoCntExptplayerKillObjIDListtDef_PDict_UnXiantaoCntEquipRRtlenR    R
RR+tAddExpR2tDef_ViewExpType_KillNPCt __doMainDrop(
RRR"R#t    turnFighttunXiantaoCntExptunXiantaoCntEquiptkillCnttperExpttotalExp((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR<ls$        
 cCsyt|ƒ|jƒ}gg}}tj|ƒd}tjd|ƒ}|ri|jƒ}|jƒ}nd„|Dƒ}tj    d|||f|ƒxÜt
|ƒD]Î}tj |ƒ}    |    sÄq£n|    d}
|
sêtj    d|ƒq£n|
|krtj    d|
|ƒq£n|j t j|
ƒ} |j|
dƒ} | | krgtj    d|
| | f|ƒq£nt|    ƒdkrƒ|    dnd} t|    ƒd    kr¥|    d    nd}| |krÀ| }ntj| |ƒ}t|| | ƒ}tj    d
|
|f|ƒtj|
|td |ƒ}|dkr,q£n|jdƒtj||d tjgƒs]q£nt||
| |ƒq£WdS( Nit MainChaptercSsi|]\}}||“qS(((t.0tktv((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pys
<dictcomp>’s    s,¿ÉµôÂäÕ½ÀûÆ·ÉÏÏÞ: chapterID=%s,%s,killCnt=%ss±¾´Î²»µôÂäÕ½ÀûÆ·!s¸ÃÕ½ÀûƷδ½âËø! itemID=%ss6Õ½ÀûÆ·ÒÑ´ï½ñÈÕµôÂäÉÏÏÞ! itemID=%s,todyDropCnt=%s >= %siis µôÂäÕ½ÀûÆ·! itemID=%s,dropCnt=%sRt packIndexList(t __doDropEquipRR    tGetMainLevelNowInfoRtGetIpyGameDataRtGetBootyWeightListRRtrangetGetResultByWeightListRRRtgetRFtrandomtrandintR t ItemControlertGetOutPutItemObjR4tNonet    SetIsBindtDoLogic_PutItemInPackt IPY_GameWorldt rptIdentifyR(RRMtplayerIDtDailyBootyUpperListtBootyWeightListt    chapterIDtchapterIpyDatatbootyDropUpperDictt_tdropInfoR t todyDropCntt    dropUppertdropMintdropMaxtdropCnttcurItem((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRI†sR
 
  ""       c    Cs‹|jtjƒ}tjddƒ}||}|dkrXtjd|||fƒdStj|t    j
|ƒ}|s‡tjdƒdS|j ƒ}|jtj ƒ}tj d|ƒ}|sÁdS|jƒ}tjd||||f|ƒd}d}    g}
xFt|dƒD]5\} } | s'qn|    | 7}    |
j|    | gƒqW|    |krttjd    d
|    ||fƒn|
s~dStjd |
|    f|ƒxìt|ƒD]Þ} tj|
ƒ}|sÆq¥ntjdd |d tjddƒ}|söq¥ntj|ƒ}tj|dtd|ƒ}|dkr2q¥n|jdƒtj||dt    j
gƒscq¥n||8}tj |tj|ƒq¥WdS(Nt MainEquipDropiisCÖ÷ÏßÔݲ»ÄܵôÂä! unXiantaoCntEquip=%s,dropOneNeed=%s,dropEquipCnt=%ssµôÂä¼ø¶¨±³°üûÓпռä!tTreeLVsRÖ÷ÏßµôÂä×°±¸: unXiantaoCntEquip=%s,dropEquipCnt=%s,treeLV=%s,equipColorRateList=%si't GameWarnings&CutTreeTotalRateError:%s!=%s,treeLV=%ss!    colorRateList=%s,totalRate=%stcolort    placeListtfindTypeRRT(!RRRERR+RRt
ItemCommontGetItemPackSpaceRcRdRtDef_PDict_TreeLVRWtGetEquipColorRateListt    enumeratetappendt SendGameErrorRYtGetResultByRandomListt    NPCCommont__GetEquipIDListtDef_MainEquipPlacesR\tchoiceR^R_R4R`RaRbR    R
(RRLt dropOneNeedt dropEquipCntRettreeLVRtequipColorRateListtmaxRatet    totalRatet colorRateListt
equipColort    colorRateRkt    itemColort equipIDListt randEquipIDRr((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRU»s^
     
  $  
cCsc|jtjƒ|}tj|tj|ƒt||ƒ|jtjƒ}tj|d|ƒdS(NsÊ£Óàδ½áËã×°±¸µôÂäÕ½´¸Êý:%s(RRRER    R
RIRt DebugAnswer(RRMRL((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytGMTestKillDropös  cCs|tjƒj|ƒ}|j}|j}|j}|dkrOt|||ƒn)|dkrkt||ƒn t||ƒdS(Nii(    RtGetPlayerManagertGetPlayerByIndext    IndexListtOPTypetOPValuet__doEquipMainEquipt__doDecomposeMainEquipt__doPickupMainItem(tindext
clientDatattickRt itemIndexListtopTypetopValue((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytOnMainDropItemOP
s               cCs
|jƒ}tjd||f|ƒ|jƒjtjƒ}g}xœ|D]”}|dksK||jƒkruqKn|j|ƒ}t    j
|ƒs­tjd||ƒqKnt    j |ƒsÖtjd||ƒqKn|j ƒ}|j ƒ}    |    d}
tjd|||    |
f|ƒ|jƒjtjƒ} |
dksN|
| jƒkrqtjd||    |
f|ƒqKn| j|
ƒ} t    j
| ƒ} |jƒjdƒt    j||| tjƒsÃqKn|rK| rK|j|ƒqKqKW|rùt||ƒntj|ƒdS(Ns1´©´÷Ö÷Ïß×°±¸: itemIndexList=%s,isAutoDecompose=%sisÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%ss·ÇÖ÷Ïß×°±¸: itemIndex=%sis;    itemIndex=%s,itemID=%s,equipPlace=%s,equipPlaceIndex=%ssKÖ÷Ïß×°±¸¶ÔӦװ±¸Î»ÖÃË÷ÒýÒì³£: itemIndex=%s,equipPlace=%s,equipPlaceIndex=%s(RRRtGetItemManagertGetPackRcRdtGetCounttGetAtRytCheckItemCanUsetGetIsMainEquipt GetItemTypeIDt GetEquipPlacetrptEquiptErrLogtGetItemRatDoLogicSwitchItemR~R™tChEquiptRefreshRoleEquipAttr(RRžtisAutoDecomposeRet IdentifyPacktdecomposeIndexListt    itemIndextcurEquipR t
equipPlacetequipPlaceIndext    equipPackt    destEquipt    canDecomp((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR˜sF    
          c     CsÀ|jƒ}tjd||ƒ|jƒjtjƒ}tjddƒ}|sTdSd}g}x3|D]+}|dksg||j    ƒkr‘qgn|j
|ƒ}t j |ƒsÉtjd||ƒqgnt j |ƒsòtjd||ƒqgn|jƒ}    tjd|    ƒ}
|
sdS|
jƒ} | s0dS| } || 7}tjd||    | | |f|ƒt j|||j    ƒttjƒ|j|ƒqgW|s dStj|||d    d
tƒdS( Ns·Ö½âÖ÷Ïß×°±¸: itemIndexList=%sRsiisÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%ss·ÇÖ÷Ïß×°±¸: itemIndex=%st
EquipColors?    itemIndex=%s,itemColor=%s,moneyBase=%s,decomposeMoney=%s,%stDecomposeMainEquipt    isSysHint(RRRR¢R£RcRdRR+R¤R¥RyR¦R§t GetItemColorRWt GetMoneyBasetDelItemtTrueRtItemDel_EquipDecomposeR~R    t    GiveMoneyR4( RRžReR±t    moneyTypet
moneyTotalR²R³R´RŽt colorIpyDatat    moneyBasetdecomposeMoney((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR™GsF    
    "c
CsH|jƒ}tjd||ƒ|jƒjtjƒ}tj|ƒ}xú|D]ò}|dksN||j    ƒkrxqNn|j
|ƒ}t j |ƒs°tjd||ƒqNnt j |ƒrÙtjd||ƒqNn|jƒ}|jƒ}tj|ƒ}    tjd|||    f|ƒ|jtj|ƒs6dS|jƒqNWdS(Ns$ʰȡÖ÷ÏßµôÂäÕ½ÀûÆ·! itemIndexList=%sisÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%ssÖ÷Ïß×°±¸²»¿Éʰȡ: itemIndex=%ss1Ö÷ÏßÎïÆ·Ê°È¡: itemIndex=%s,itemID=%s,itemCount=%s(RRRR¢R£RcRdR^tPlayerItemControlerR¤R¥RyR¦R§R¨R¬t GetItemCountt    PutInItemtrptItemtWipe(
RRžReR±t itemControlR³RrR titemt    itemCount((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRšws,    icCs¥|stƒ}n    |g}tjƒ}g|_xL|D]D}tjƒ}||_|jtj|ƒ|_    |jj
|ƒq7Wt |jƒ|_ t j||ƒdS(N(RtChPyNetSendPackttagSCDropBootyInfot DropBootyListttagSCDropBootytItemIDRRRt TodayDropCntR~RFtCountt NetPackCommont SendFakePack(RR tsyncItemIDListt
clientPackt    dropBooty((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR”s                ( RRR2R'RR    RÐR^RcR×R?RyRR®R\RRRRRR$RR=R<RIRUR’R¡R˜R™RšR(((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyt<module>s>                                                           5    ;            .    0