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
¹j`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 Cs2t||ƒdkrdS|jƒ}g}tj|ƒd}tjd|ƒ}|re|jƒ}ntjd||f|ƒt    j
|t j ƒ}tj ddiƒ}tj ddiƒ}xm|D]e\}    }
|dkrñtjd|ƒPn|
dkrqÅntj||    |
ƒ} |jtj|    ƒ} | | kr]tjd    |    | | f|ƒqÅn|    |ksÅ|    |kr{qÅn||    } |jtj|    ƒ}|| }|dkr·qÅntjƒj|    ƒ}|sØqÅn|jƒtjkr¨|jdƒ}|jƒ}|jdƒ}|tjkr¨|tjkr¨tj|tjƒ}tj|ƒ}||kr¥tj |tj|    dƒtjd
|    ||f|ƒqÅq¥q¨n||    }t!|t"t#fƒ sÅt$|ƒdkràqÅn|d}|d}d}xEt%|ƒD]7}||kr"|}nt&j'||ƒ}||7}qWt(|| | ƒ}|dkrgqÅ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(0t __doDropEquipRRtGetMainLevelNowInfoRtGetIpyGameDataRRRt
ItemCommontGetItemPackSpacet IPY_GameWorldt rptIdentifytGetFuncEvalCfgt GetBootyUpperR
RR R    t GetGameDatatGetItemByTypeIDtGetTypetDef_ItemType_AutoUseMoneytGetEffectByIndext GetEffectIDtGetEffectValuetDef_Effect_ItemGiveMoneyR-tTYPE_Price_ArenaTickettGetMoneyt PlayerArenatGetArenaTicketStoreMaxRt
isinstancetlistttupletlentrangetrandomtrandintRt ItemControlertGetOutPutItemObjtFalsetNonet    SetIsBindtDoLogic_PutItemInPackR(RR!tplayerIDtDailyBootyUpperListt    chapterIDtchapterIpyDatat
spaceCounttbootyDropNeedDicttbootyDropCntDictR t    baseUppert    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}    xZ|D]R}
|
jƒ} | sòqÔntj| ƒ} | s qÔn| jƒ} |j| ƒqÔW|sSd} | g}tjd|ƒnxÚ|D]Ò} | |    krrqZnt|d    | ƒržt|d    | ƒƒ}n |jƒ}d}g}xFt|dƒD]5\}}|sÞqÆn||7}|j||gƒqÆW||    | <tjd
| ||||f|ƒqZW|jd tƒtjd ||||f|ƒtjd diƒ}|r‡t|ƒnd}|jƒ}xât|ƒD]Ô}||t|ƒ} | |    krÒq¦n|    j | gƒ}|j t j!ƒ}tjd||| ||f|ƒd}|j t j#ƒd}||krò||}|d}t|ƒdkrq|dnd}t|ƒdkr“|dnd}i}|dkr¿||dt$j%<n|rÕ||t$j&<ntjd|||fƒn¹|dd}|r5||kr5|}tjd|||fƒntj'|ƒ}||ksW| r`d}n|slq¦ntj(dd|dt j)ddƒ} | sœq¦nt*j+| ƒ}t,j-|dt.d|d|ƒ}!|!dkrÞq¦n|!j/dƒt,j0||!dt    j
gƒsq¦ntj1|t j!|ƒ||8}tj2||ƒtj1|t j3|ƒ||kr¦tj1|t j#|ƒq¦q¦WdS(Nt MainEquipDropiis4Ö÷ÏßÔݲ»ÄܵôÂä! unXiantaoCntEquip=%s,dropEquipCnt=%ss µôÂä±³°üÒÑÂú!iÿÿÿÿtTreeLVs-δ»÷ɱ½áËãµôÂäĬÈϰ´Ð¡¹ÖµôÂä! bossTypeList=%ssGetEquipColorRateList%ssJbossType=%s,treeLV=%s,totalRate=%s,equipColorRateList=%s,colorRateList=%s,treversesLÖ÷ÏßµôÂä×°±¸: unXiantaoCntEquip=%s,dropEquipCnt=%s,treeLV=%s,bossTypeList=%stMainDropAppointsClastColorEquipLucky=%s/%s,bossType=%s,colorRateList=%s,totalRate=%sis%ss)¶¨ÖƵôÂäµÚ%s´Î: equipID=%s,setAttrDict=%ss2±£µ×±Ø³ö×îºóÒ»µµÆ·ÖÊ: %s,lastColorEquipLucky=%s/%stcolort    placeListtfindTypeRt setAttrDictR=(4RRtGetUnXiantaoCntEquipRR(RRRARBRCRDR
RtDef_PDict_TreeLVR@tGetNPCIDt    NPCCommont GetNPCDataPyt GetBossTypetappendt
DebugLogExthasattrtgetattrtGetEquipColorRateListt    enumeratetsorttTrueREtmaxtGetLastSureOutNeedRWRVtgettDef_PDict_LastColorEquipLuckyR]tDef_PDict_AppointDropEquipCntR-tDef_IudetItemLVtDef_CItemKey_AppointIDtGetResultByRandomListt__GetEquipIDListtDef_MainEquipPlacesRXtchoiceRZR[R\R^R_RtSetUnXiantaoCntEquiptDef_PDict_UnXiantaoCntEquip("RR!R`tunXiantaoCntEquipRjt dropEquipCntttreeLVRt bossTypeListtbossTypeDropRateDictttagObjtnpcIDtnpcDatatbossTypetequipColorRateListt    totalRatet colorRateListt
equipColort    colorRatetdropAppointEquipDicttappointDropCntMaxtlastSureOutNeedtindextlastColorEquipLuckyRtappointDropEquipCntt appointInfot randEquipIDtequipLVt    appointIDt    lastColort    itemColort equipIDListRy((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¢R3RbRcRaR tupperCntRk((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|||ƒnE|dkrkt||ƒn)|dkr‡t|gƒn t    ||ƒt
j |t j tj|ƒdS(Niii(RtGetPlayerManagertGetPlayerByIndext    IndexListtOPTypetOPValuet__doEquipMainEquipt__doDecomposeMainEquipR2t__doPickupMainItemRAtSyncMakeItemAnswerR-tDef_mitMainDropItemOPRtDef_ComposeState_Sucess(R®t
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|ƒtj|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_EquipColort PlayerSuccesstUpdateEquipSuccess(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ܕsJ    
           c CsK|jƒ}tjd||ƒtjddƒ\}}| sF| rJdS|jtjƒ}tjd|ƒ}d}|rçtj    ddƒ}|j
ƒ}    t |    ƒ}
x/|    ddd…D]} | rÈPn|
d8}
q¸W|
|d}n|} t j |ƒ\} }t| | d    ƒ}tjd
||| ||f|ƒd}d}d}|jƒjtjƒ}x@|D]8}|dksj||jƒkr”qjn|j|ƒ}tj|ƒsÌtjd ||ƒqjntj|ƒsõtjd ||ƒqjn|| 7}|dkr;t||ƒ}||8}||7}||7}ntjd || |||f|ƒ|jƒ|k}tj|||jƒttjd|ƒ|d7}qjW|s°dStt|ƒƒ}tjd||f|ƒtj|||dt ƒt j!||ƒt"j#|tj$|ƒt%j&|tj'|ƒt(j)|t*j+|ƒdS(Ns·Ö½âÖ÷Ïß×°±¸: itemIndexList=%sRziR{itItemRecordEquipiiÿÿÿÿgY@s8moneyType=%s,moneyBase=%s,mjExPer=%s,exRemain=%s,mjEx=%ssÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%ss·ÇÖ÷Ïß×°±¸: itemIndex=%ss<    itemIndex=%s,decomposeMoney=%s,mjEx=%s,exRemain=%s,×Ü:%st    isForceDRsmoneyTotal=%s,mjExTotal=%st    isSysHint(,RRRRRER
RRƒR@R(RŒRVR)tGetAddDecomposePerR+RèRéRCRDRêRëRARìRíRt GetItemColortDelItemRtItemDel_EquipDecomposetroundRt    GiveMoneyR\tAddExpDecomposeRöt AddTaskValuetTaskType_EquipDecomposetPlayerActivitytAddDailyTaskValuetDailyTask_EquipDecomposeRùtDoAddSuccessProgressR-tSuccType_OSAEquipDecompose(RRäR`Rpt    moneyBaseRŸRtneedRecordColorMint lastColorCntR¦RµRªtdecomposeMoneyR6R7R8t
moneyTotalt    mjExTotalt decomposeCntRüRþRÿR((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRÝÆsp   # 
 
 
     (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éRCRDRZtPlayerItemControlerRêRëRARìRíRîRòR^t GetItemCountt    PutInItemtrptItemtWipe(
RRäR`Rüt itemControlRþRyR titemt    itemCount((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyRÞ s.     icCs¥|stƒ}n    |g}tjƒ}g|_xL|D]D}tjƒ}||_|jtj|ƒ|_    |jj
|ƒq7Wt |jƒ|_ t j||ƒdS(N(RRÄttagSCDropBootyInfot DropBootyListttagSCDropBootytItemIDR
RR t TodayDropCntRˆRVtCountRÇRÈ(RR tsyncItemIDListRÓt    dropBooty((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pyR*s                cCsÏ|j}|sdS|j}|jƒ}tj|ƒ}tj|ƒ\}}    }
|s§td|
dƒ} tj|||    | ƒ} t    j
d||    |
| | f|ƒdS|j ƒrÔt    j
d||    |
f|ƒdS|
|j kr7t |j |
dƒ} tj|||    | ƒ} t    j
d||    |
| | f|ƒnt    j
d||    |
f|ƒtj|ƒ} tj||    |
ƒ}|| kr±t    j
d|| f|ƒtj||ƒnt    j
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(RtisWinRR/R0RR?RtSetMainLevelNowInfoRRthaveNextLineuptwaveMaxRtGetMainLevelPassValuetComMainLevelValuetSetMainLevelPassValue(R¸R#R$toverMsgRR-R`RÎRbtlevelNumtwavetnextWavetnowValuet hisPassValuet curPassValue((s„D:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_MainLevel.pytOnTurnFightOver:s:                   ($RRR/R-RRùRRRÄRZRCRÇRQR)RARöR…R»RôRXRRRRRR%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                                                            X    |    G        1    F