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
‘ic@s‡ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Z d„Z!dd„Z"d„Z#dS(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
cCsutƒ}x[|D]S}tj|tj|dƒ|jtj|ƒrtj|tj|dƒqqWt|ƒdS(Ni(tGetBootyItemIDListt PlayerControltNomalDictSetPropertytChConfigtDef_PDict_UnXiantaoCntBootytNomalDictGetPropertytDef_PDict_BootyDropTodayR(RtbootyItemIDListtitemID((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR0s     !
cCs]t|tjƒ}tj|tj||ƒtjd||f|jƒƒt    ||ƒdS(Ns/¸üнñÈÕµôÂäÕ½ÀûÆ·Êý: itemID=%s,updDropToday=%s(
tminRtDef_UpperLimit_DWordRRR t    GameWorldtDebugLogt GetPlayerIDR(RR t updDropToday((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytSetBootyDropToday9s
  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 __doKillAward(RtatkObjt killObjListtuseSkilltmapIDt
funcLineID((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytOnPlayerLineupAttackResultIsc Cs|stjdƒdS|jtjƒ}|rtj|tjdƒtjddƒ}||}t    j
|ƒ\}}t t ||dƒ|ƒ}||}    tjd|    |||||fƒtj|ƒj |    tjƒ}
|r|
rtj|ƒj|7_qnt||ƒdS(NsûÓл÷ɱ²»ÐèÒª´¦ÀíÖ÷Ïß½±Àø!itMainlineigY@sRÔö¼Ó¾­Ñé: totalExp=%s,unXiantaoCntExp=%s,baseExp=%s,mjEx=%s,mjExPer=%s,exRemain=%s(RRR
RtDef_PDict_UnXiantaoCntExpRRRt
GetFuncCfgt
PlayerLLMJtGetAddExpPerInfoRtinttAddExpt ShareDefinetDef_ViewExpType_KillNPCt
TurnAttacktGetMainFightMgrtmjExpt __doMainDrop( RR R!tunXiantaoCntExptperExptbaseExptmjExPertexRemaintmjExttotalExpt finalAddExp((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRQs$ 
 
      c Cst||ƒdkrdS|jƒ}g}tj|ƒd}tjd|ƒ}|re|jƒ}ntjd||f|ƒt    j
|t j ƒ}tj ddiƒ}tj ddiƒ}x>|D]6\}    }
|dkrñtjd|ƒPn|
dkrqÅn|jtj|    ƒ} | |
krHtjd    |    | |
f|ƒqÅn|    |ksÅ|    |krfqÅn||    } |jtj|    ƒ} | | }|dkr¢qÅntjƒj|    ƒ}|sÃqÅn|jƒtjkry|jdƒ}|jƒ}|jdƒ}|tjkry|tjkrytj|tjƒ}tj|ƒ}||krvtjd
|    ||f|ƒqÅqvqyn||    }t|t t!fƒ sÅt"|ƒdkr±qÅn|d}|d}d}xEt#|ƒD]7}||kró|}nt$j%||ƒ}||7}qØWt&||
| ƒ}|dkr8qÅntjd |    | |||f|ƒt'j(|    |t)d |ƒ}|dkrˆqÅn|j+dƒt'j,||d t j gƒs¹qÅn| | } tj-|tj|    | ƒt.||    | |ƒ|d8}qÅWdS(Niÿÿÿÿit MainChapters"¿ÉµôÂäÕ½ÀûÆ·ÉÏÏÞ: chapterID=%s, %st MainBootyDropiis µôÂä±³°üÒÑÂú!s6Õ½ÀûÆ·ÒÑ´ï½ñÈÕµôÂäÉÏÏÞ! itemID=%s,todyDropCnt=%s >= %ss/ÌôսȯÒÑ´ï´æ´¢ÉÏÏÞ! itemID=%s,curMoney=%s >= %ssPµôÂäÕ½ÀûÆ·! itemID=%s,unXiantaoCntBooty=%s,´ÎÊý=%s,dropCntTotal=%s,spaceCount=%sRt packIndexList(/t __doDropEquipRRtGetMainLevelNowInfoRtGetIpyGameDataRRRt
ItemCommontGetItemPackSpacet IPY_GameWorldt rptIdentifytGetFuncEvalCfgR
RR R    t GetGameDatatGetItemByTypeIDtGetTypetDef_ItemType_AutoUseMoneytGetEffectByIndext GetEffectIDtGetEffectValuetDef_Effect_ItemGiveMoneyR-tTYPE_Price_ArenaTickettGetMoneyt PlayerArenatGetArenaTicketStoreMaxt
isinstancetlistttupletlentrangetrandomtrandintRt ItemControlertGetOutPutItemObjtFalsetNonet    SetIsBindtDoLogic_PutItemInPackRR(RR!tplayerIDtDailyBootyUpperListt    chapterIDtchapterIpyDatat
spaceCounttbootyDropNeedDicttbootyDropCntDictR t    dropUppert todyDropCntt dropOneNeedtunXiantaoCntBootyt dropBootyCnttitemDatatcurEffteffIDt    moneyTypetcurMoneytstoreMaxt dropCntRangetdropMintdropMaxt dropCntTotalt_tdropCnttcurItem((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR2hsŠ    
 
 
(
 
            
c    Cs¯|jƒ}tj|ƒ}tjddƒ}||}|dkratjd||f|ƒdStj|t    j
|ƒ}|s“tjd|ƒdS|j t j ƒ}tjd|ƒ}|sÁdSg}i}    x&|D]}
|
jƒ} | sòqÔntj| ƒ} | s qÔn| jƒ} |j| ƒ| |    kr8qÔnt|d| ƒrdt|d| ƒƒ}n |jƒ}d}g}xFt|dƒD]5\}}|s¤qŒn||7}|j||gƒqŒW||    | <tjd    | ||||f|ƒqÔW|jd
tƒtjd ||||f|ƒtjd diƒ}|rMt|ƒnd}xUt|ƒD]G}||t|ƒ} | |    krŒq`n|    j| gƒ}tjd | ||f|ƒd}|j t j ƒd}||kr”||}|d}t|ƒdkr|dnd}t|ƒdkr5|dnd}i}|dkra||dt!j"<n|rw||t!j#<ntjd|||fƒnZtj$|ƒ}|s¯q`ntj%dd|dt j&ddƒ}|sßq`nt'j(|ƒ}t)j*|dt+d|d|ƒ}|dkr!q`n|j,dƒt)j-||dt    j
gƒsRq`n||8}tj.||ƒtj/|t j0|ƒ||kr`tj/|t j |ƒq`q`WdS(Nt MainEquipDropiis4Ö÷ÏßÔݲ»ÄܵôÂä! unXiantaoCntEquip=%s,dropEquipCnt=%ss µôÂä±³°üÒÑÂú!iÿÿÿÿtTreeLVsGetEquipColorRateList%ssJbossType=%s,treeLV=%s,totalRate=%s,equipColorRateList=%s,colorRateList=%s,treversesLÖ÷ÏßµôÂä×°±¸: unXiantaoCntEquip=%s,dropEquipCnt=%s,treeLV=%s,bossTypeList=%stMainDropAppoints)bossType=%s,colorRateList=%s,totalRate=%sis%ss)¶¨ÖƵôÂäµÚ%s´Î: equipID=%s,setAttrDict=%stcolort    placeListtfindTypeRt setAttrDictR=(1RRtGetUnXiantaoCntEquipRR(RRRARBRCRDR
RtDef_PDict_TreeLVR@tGetNPCIDt    NPCCommont GetNPCDataPyt GetBossTypetappendthasattrtgetattrtGetEquipColorRateListt    enumeratetsorttTrueREtmaxRVRUtgetR\tDef_PDict_AppointDropEquipCntR-tDef_IudetItemLVtDef_CItemKey_AppointIDtGetResultByRandomListt__GetEquipIDListtDef_MainEquipPlacesRWtchoiceRYRZR[R]R^tSetUnXiantaoCntEquipRtDef_PDict_UnXiantaoCntEquip(RR!R_tunXiantaoCntEquipRht dropEquipCntttreeLVRt bossTypeListtbossTypeDropRateDictttagObjtnpcIDtnpcDatatbossTypetequipColorRateListt    totalRatet colorRateListt
equipColort    colorRatetdropAppointEquipDicttappointDropCntMaxtindexRtappointDropEquipCntt appointInfot randEquipIDtequipLVt    appointIDt    itemColort equipIDListRw((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR>¾s¨ 
 
 
          
 
"" $!  
 cCsÂtj|ƒ}|j}|jƒs8tj|dƒdSd}tjƒ}d}|j    t
j ƒ}|j dƒ}x6|j jƒD]%}    |j|    ƒ}|jƒrPqqW|sÄtj|dƒdStjƒ}
d|
_tj||
ƒg} |j    t
jƒ} | j dƒ}xX|j jƒD]G}    |j|    ƒ} | jƒr | j| ƒtj|| ||ƒq q W|jt
jƒ|}tj|t
j|ƒtj|d|ƒtj|dtj||ƒƒtj|ƒd}tj d|ƒ}|r||j!ƒ}xw|D]l\}}|dkr'q    n|jt
j"|ƒ|}tj|t
j"||ƒtj|d||fƒq    Wnt#||| ||j$|j%ƒ|j&ƒd|
_tj||
ƒdS(    Ns ·ÇÖ÷ÏßÕ½¶·ÖÐ!isÖ÷ÕóÈÝûÓдæ»îÎ佫!isδ½áËã¾­ÑéÕ½´¸Êý: %ssδ½áËã×°±¸Õ½´¸Êý: %sR;sδ½áËãÕ½ÀûÆ·(%s)Õ½´¸Êý: %s('R/R0t    turnFightt    isInFightRt DebugAnswerR\t    BattleObjt GetBatObjMgrt getBatFactionRt Def_FactionAt getBatlineupt posObjIDDicttvaluest    getBatObjtIsAlivetChPyNetSendPackttagSCTurnFightReportSigntSignt NetPackCommont SendFakePackt Def_FactionBR†t SetObjKilledR
R'RRtAddUnXiantaoCntEquipR?RR@RR    R%R#R$tcheckOverByKilled(Rt
useXiantaot mainFightMgrR°R"t    batObjMgrR t batFactionAt    batLineuptobjIDt
clientPackR!t batFactionBRR3RaRbR`R tupperCntRi((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyt
GMTestKill's^                 !
    cCs˜tjƒj|ƒ}|j}|j}|j}|dkrOt|||ƒn)|dkrkt||ƒn t||ƒt    j
|t j t j|ƒdS(Nii(RtGetPlayerManagertGetPlayerByIndext    IndexListtOPTypetOPValuet__doEquipMainEquipt__doDecomposeMainEquipt__doPickupMainItemRAtSyncMakeItemAnswerR-tDef_mitMainDropItemOPRtDef_ComposeState_Sucess(R¨t
clientDatattickRt itemIndexListtopTypetopValue((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytOnMainDropItemOPns               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|ƒtj|tjƒdS(Ns1´©´÷Ö÷Ïß×°±¸: itemIndexList=%s,isAutoDecompose=%sisÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%ss·ÇÖ÷Ïß×°±¸: itemIndex=%sis;    itemIndex=%s,itemID=%s,equipPlace=%s,equipPlaceIndex=%ssKÖ÷Ïß×°±¸¶ÔӦװ±¸Î»ÖÃË÷ÒýÒì³£: itemIndex=%s,equipPlace=%s,equipPlaceIndex=%s(RRRtGetItemManagertGetPackRCRDtGetCounttGetAtRAtCheckItemCanUsetGetIsMainEquipt GetItemTypeIDt GetEquipPlacetrptEquiptErrLogtGetItemR]tDoLogicSwitchItemR†RÕtChEquiptRefreshRoleEquipAttrt
PlayerTaskt UpdTaskValueRtTaskType_EquipColor(RRÜtisAutoDecomposeR_t IdentifyPacktdecomposeIndexListt    itemIndextcurEquipR t
equipPlacetequipPlaceIndext    equipPackt    destEquipt    canDecomp((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRÔ~sH    
          c
Csƒ|jƒ}tjd||ƒtjddƒ\}}| sF| rJdS|}tj|ƒ\}}t||dƒ}tjd|||||f|ƒd}    d}
d} |jƒj    t
j ƒ} x(|D] } | dksÍ| | j ƒkr÷qÍn| j | ƒ}tj|ƒs/tjd| |ƒqÍntj|ƒsXtjd| |ƒqÍn|    |7}    |dkržt||ƒ}||8}|    |7}    |
|7}
ntjd    | ||||    f|ƒtj|||j ƒttjƒ| d
7} qÍW|    sûdStt|    ƒƒ}    tjd |    |
f|ƒtj|||    d d tƒtj||
ƒtj|tj| ƒtj|tj | ƒdS(Ns·Ö½âÖ÷Ïß×°±¸: itemIndexList=%sRxigY@s8moneyType=%s,moneyBase=%s,mjExPer=%s,exRemain=%s,mjEx=%sisÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%ss·ÇÖ÷Ïß×°±¸: itemIndex=%ss<    itemIndex=%s,decomposeMoney=%s,mjEx=%s,exRemain=%s,×Ü:%sismoneyTotal=%s,mjExTotal=%stDecomposeMainEquipt    isSysHint(!RRRRRER)tGetAddDecomposePerR+RàRáRCRDRâRãRARäRåRtDelItemRŒRtItemDel_EquipDecomposetroundRt    GiveMoneyR[tAddExpDecomposeRît AddTaskValuetTaskType_EquipDecomposetPlayerActivitytAddDailyTaskValuetDailyTask_EquipDecompose(RRÜR_Rnt    moneyBasetdecomposeMoneyR6R7R8t
moneyTotalt    mjExTotalt decomposeCntRòRôRõ((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRÕ®sT # 
 
 
     "c
CsU|jƒ}tjd||ƒ|jƒjtjƒ}tj|ƒ}x|D]ÿ}|dksN||j    ƒkrxqNn|j
|ƒ}t j |ƒs°tjd||ƒqNnt j |ƒrÙtjd||ƒqNn|jƒ}|jƒ}|jdƒtj|ƒ}    tjd|||    f|ƒ|jtj|ƒsCdS|jƒqNWdS(Ns$ʰȡÖ÷ÏßµôÂäÕ½ÀûÆ·! itemIndexList=%sisÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%ssÖ÷Ïß×°±¸²»¿Éʰȡ: itemIndex=%ss1Ö÷ÏßÎïÆ·Ê°È¡: itemIndex=%s,itemID=%s,itemCount=%s(RRRRàRáRCRDRYtPlayerItemControlerRâRãRARäRåRæRêR]t GetItemCountt    PutInItemtrptItemtWipe(
RRÜR_Ròt itemControlRôRwR titemt    itemCount((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRÖãs.     icCs½|stƒ}n    |g}tjƒ}|jtjƒ}g|_xR|D]J}|jtjƒ}||_|j    t
j |ƒ|_ |jj |ƒqIWt|jƒ|_tj||ƒdS(N(RtObjPoolt
GetPoolMgrtacquireR¼ttagSCDropBootyInfot DropBootyListttagSCDropBootytItemIDR
RR t TodayDropCntR†RUtCountR¿RÀ(RR tsyncItemIDListtpoolMgrRËt    dropBooty((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRs               cCsÆ|s
dS|j}|jƒ}tj|ƒ}tj|ƒ\}}    }
|sžtd|
dƒ} tj|||    | ƒ} tj    d||    |
| | f|ƒdS|j
ƒrËtj    d||    |
f|ƒdS|
|j kr.t |j |
dƒ} tj|||    | ƒ} tj    d||    |
| | f|ƒntj    d||    |
f|ƒtj |ƒ} tj||    |
ƒ}|| kr¨tj    d|| f|ƒtj||ƒntj    d|| f|ƒdS(NisRÖ÷ÏßС¹ÖÕ½¶·Ê§°Ü£¬½µÒ»²¨! chapterID=%s,levelNum=%s,wave=%s,nextWave=%s,nowValue=%ss>Ö÷ÏßС¹ÖÕ½¶·Ê¤Àû£¬ÓÐÏÂһС¶Ó! chapterID=%s,levelNum=%s,wave=%ssTÖ÷ÏßС¹Ö²¨Õ½¶·Ê¤Àû£¬ÏÂÒ»²¨! chapterID=%s,levelNum=%s,wave=%s,nextWave=%s,nowValue=%ssDÖ÷ÏßС¹Ö²¨Õ½¶·Ê¤Àû£¬×îºóÒ»²¨Ñ­»·Ë¢! chapterID=%s,levelNum=%s,wave=%ss1¸üе±Ç°¹ý¹Ø½ø¶È! curPassValue=%s,hisPassValue=%ss>䳬¹ýµ±Ç°¹ý¹Ø½ø¶È£¬²»¸üÐÂ! curPassValue=%s <= hisPassValue=%s(tisWinRR/R0RR?RtSetMainLevelNowInfoRRthaveNextLineuptwaveMaxRtGetMainLevelPassValuetComMainLevelValuetSetMainLevelPassValue(RR°R#R$toverMsgR!R_RÆRatlevelNumtwavetnextWavetnowValuet hisPassValuet curPassValue((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytOnTurnFightOvers8               ($RRR/R-RRRR¼RYRCR¿RPR)RARîRƒR³RìRRWRRRRRR%RR2R>RÎRßRÔRÕRÖRR/(((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyt<module>sF                                                            V    i    G        0    5