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
›7oic@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ƒ}tjddƒ}xt|ƒD]}||t|ƒ} | |    kräq¸n|    j | gƒ}|j t j!ƒ}|dd}||d}tjd||| |||f|ƒd}|j t j#ƒd}||kr#||}|d}t|ƒdkr¢|dnd}t|ƒdkrÄ|dnd} i}|dkrð||dt$j%<n| r| |t$j&<ntjd|||fƒn«|rX||krX|}!tjd|!||fƒntj'|ƒ}!|!|ksz| rƒd}n|!sq¸ntj(dd|!dt j)ddƒ}"|"s¿q¸nt*j+|"ƒ}t,j-|dt.d|d|ƒ}#|#dkrq¸n|#j/dƒ|#j0ƒ|k}$t,j1||#dd|$igdt    j
gƒsSq¸ntj2|t j!|ƒ||8}tj3||ƒtj2|t j4|ƒ||kr¸tj2|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=%stMainDropAppointtItemRecordEquipsPlastColorEquipLucky=%s/%s,bossType=%s,lastColor=%s,colorRateList=%s,totalRate=%sis%ss)¶¨ÖƵôÂäµÚ%s´Î: equipID=%s,setAttrDict=%ss2±£µ×±Ø³ö×îºóÒ»µµÆ·ÖÊ: %s,lastColorEquipLucky=%s/%stcolort    placeListtfindTypeRt setAttrDictteventtMainDropR=(5RRtGetUnXiantaoCntEquipRR(RRRARBRCRDR
RtDef_PDict_TreeLVR@tGetNPCIDt    NPCCommont GetNPCDataPyt GetBossTypetappendt
DebugLogExthasattrtgetattrtGetEquipColorRateListt    enumeratetsorttTrueREtmaxtGetLastSureOutNeedRWRVtgettDef_PDict_LastColorEquipLuckyR]tDef_PDict_AppointDropEquipCntR-tDef_IudetItemLVtDef_CItemKey_AppointIDtGetResultByRandomListt__GetEquipIDListtDef_MainEquipPlacesRXtchoiceRZR[R\R^t GetItemColorR_RtSetUnXiantaoCntEquiptDef_PDict_UnXiantaoCntEquip(%RR!R`tunXiantaoCntEquipRjt dropEquipCntttreeLVRt bossTypeListtbossTypeDropRateDictttagObjtnpcIDtnpcDatatbossTypetequipColorRateListt    totalRatet colorRateListt
equipColort    colorRatetdropAppointEquipDicttappointDropCntMaxtlastSureOutNeedt lastColorCnttindextlastColorEquipLuckyt    lastColortneedRecordColorMinR‚tappointDropEquipCntt appointInfot randEquipIDtequipLVt    appointIDt    itemColort equipIDListRyt    isForceDR((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ƒ}x3|j ƒD]%}    |j|    ƒ}|jƒr~Pq~q~W|sÁtj|dƒdStjƒ}
d|
_tj||
ƒg} |j    t
jƒ} | j dƒ}xU|j ƒD]G}    |j|    ƒ} | jƒr| j| ƒtj|| ||ƒqqW|jt
jƒ|}tj|t
j|ƒtj|d|ƒtj|dtj||ƒƒtj|ƒd}tjd|ƒ}|rv|j ƒ}xw|D]l\}}|dkr!qn|jt
j!|ƒ|}tj|t
j!||ƒtj|d||fƒqWnt"||| ||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 getBatlineuptgetBatHeroObjIDListt    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{iR~iiÿÿÿÿgY@s8moneyType=%s,moneyBase=%s,mjExPer=%s,exRemain=%s,mjEx=%ssÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%ss·ÇÖ÷Ïß×°±¸: itemIndex=%ss<    itemIndex=%s,decomposeMoney=%s,mjEx=%s,exRemain=%s,×Ü:%sR¾smoneyTotal=%s,mjExTotal=%st    isSysHint(,RRRRRER
RR†R@R(RRVR)tGetAddDecomposePerR+RîRïRCRDRðRñRARòRóRRžtDelItemR’tItemDel_EquipDecomposetroundRt    GiveMoneyR\tAddExpDecomposeRüt AddTaskValuetTaskType_EquipDecomposetPlayerActivitytAddDailyTaskValuetDailyTask_EquipDecomposeRÿtDoAddSuccessProgressR-tSuccType_OSAEquipDecompose(RRêR`Rpt    moneyBaseR£RR¶R²RªRµR®tdecomposeMoneyR6R7R8t
moneyTotalt    mjExTotalt decomposeCntRRRR¾((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`Rt itemControlRRyR 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