cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
~$<\c @sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z e dƒ\ ZZZZZZZZZZZZe dƒ\ZZZZZdZdZ dZ!dZ"dZ#d    Z$d
Z%d Z&d Z'd „Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5d„Z6d„Z7d„Z8d„Z9d„Z:d „Z;d!„Z<d"„Z=d#„Z>d$„Z?d%„Z@d&„ZAd'„ZBd(„ZCdS()iÿÿÿÿNi itFBPlayerDict_GuardNPCIDsFBPlayerDict_GuardNPCCnt%stFBPlayerDict_CurWheeltFBPlayerDict_NPCIndextFBPlayerDict_LastWheelEndTimetFBPlayerDict_LastNPCRTimetFBPlayerDict_HasRefreshBosstFBPlayerDict_AutoBosstFBPlayerDict_NPCRemainCntcCstjtjdƒS(Ni(tFBCommontGetFBLineStepTimetChConfigtDef_FBMapID_GatherSoul(((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytGetGatherSoulFBCfgHscCstjtjƒS(N(RtGetFBLineRefreshNPCR
R (((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytGetGatherSoulNPCCfgLscCstS(N(tTrue(t    curPlayertmapIDtlineIDttick((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytOnEnterFBEventVscCs|S(N((RRtlineIdtipyEnterPosInfoR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytOnGetFBEnterPosascCstjS(N(t IPY_GameWorldt    cmeAccept(taskR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytOnChangeMapAskiscCs8tƒ}tj|t|tdfgd|tƒdS(Ni(R tNPCCustomRefresht SetNPCRefresht Def_BuildMarktDef_BuildNPCIDt Def_BuildCnt(RtgatherSoulFBCfg((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytOnOpenFBqs    +cCs tƒdS(N(t__DoGatherSoulOver(R((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt    OnCloseFB{sc
Cs|tj|tjdƒ|jƒ}|jƒ}tjƒjƒ}t    j
|ƒ}tj ƒ}|j tj ƒ}tjd||f|ƒt    j|ƒ}|sÖt    j|ƒt    j|ƒtj|tjdtjƒn|jƒ}|tkrt    jt|ƒn|tkrWtƒtd|tjƒjƒ}    |jtj dt!|    dƒt"ƒndSt#||ƒ|j$t%j&ƒdS(Nis!DoEnterFB...lineID=%s,playerLV=%siiè('t PlayerControltSetSightR
tDef_PlayerSight_Defaultt GetPlayerIDtGetLVt    GameWorldtGetMaptGetMapIDRtGetRecordMapIDt    GetGameFBtNomalDictGetPropertytDef_Player_Dict_ReqFBFuncLinetDebugLogtGetHadDelTickettSetHadDelTickettSetFBPropertyMarkt EventReportt WriteEvent_FBR t CME_Log_Startt    GetFBSteptFB_Step_Preparet    SetFBStept FB_Step_OverR t Def_FightTimet GetGameWorldt GetOpenFBTickt Sync_TimeTickRt tttTowerTaketmaxRtDoFBHelpt
SetFactiont ShareDefinetCampType_Justice(
RRtplayerIDtplayerLVRtgameFBRt hadDelTickettfbStept notify_tick((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt    DoEnterFBƒs.        %% cCsEtj|tjƒtjƒjƒ}|tkrAtj    |ƒndS(N(
R%R&R
R'R*R.R8R;tGameWorldProcesstCloseFB(RRRJ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytDoExitFB¤s
 cCstƒtj|ƒdS(N(R#RMRN(RR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytDoPlayerLeaveFB°s cCstjƒ}|jƒ}|tkr(dS|jtƒ}ttƒƒ}|tkrXdnt    |d|ƒ}t
ƒ}i}x)|t D]}|jt |ƒ||<q…W|jt ƒ}    |jtƒ}
tjƒjƒ} tjj| iƒ} i} x3| jƒD]%\}}tj|ƒ| t|ƒ<qþWi|tj6|tj6tj|ƒtj6|
tj6|    tj6| tj6}tjdt|ƒƒtj ||ƒdS(Niis DoFBHelp %s(!R*R.R8tFB_Step_FightingtGetGameFBDictByKeyRtlenRR9tminR t Def_GuardInfotFBPlayerDict_GuardNPCCntRRR=t    GetLineIDt
PyGameDatatg_gathersoulfbAwardDicttgettitemsRtGetJsonItemListtstrt
Help_wheelt    Help_steptGetJsonNPCKillListtHelp_npct Help_isAutotHelp_hasRefreshBosstHelp_gsItemInfoR1t Notify_FBHelp(RRRHRJtcurWheeltmaxWheelR!t    guardDicttnpcidthasRefreshBosst
isAutoBossRtitemDictt helpItemInfotwheeltitemListthelpDict((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyRBºs6   %     
 
 
 cCsHtjƒjƒ}|tkr+t|ƒn|tkrDt|ƒndS(N(R*R.R8RQt__DoLogic_FB_FightingR;t__DoLogic_FB_Over(RRJ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt    OnProcessÞs     c Csˆtjƒ}tƒ}|jtƒ}|rB|||tkrBdS|jtƒ}|ro|||tkrodS|jtƒ}|jt    ƒ}t
ƒ}|t |ƒkr¬dS||}|t |ƒkrÌdStj d|d|dfƒ||}    t |    ƒ|dt |ƒkr>|dt |ƒkr>tj dƒq>n|jt    |dƒ|jt|ƒtjƒ}
|
r„t|
|ƒndS(Ns    ¿ªÊ¼Ë¢µÚ%s²¨µÚ%sÖ»¹Ö£¡is    È«²¿Ð¡¹ÖË¢Í꣡(R*R.R RRRtDef_WheelRefreshCDRtDef_NPCRefreshCDRRRRSR1t __RefreshNPCt SetGameFBDictRtGetCurSingleFBPlayerRB( RRHR!tlastWheelEndTimet lastNPCRTimeRft curNPCIndext npcRereshListtnpcListt refreshNPCidR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt__CheckNPCRefreshës8         
 
 
 cCsetjƒ}|jtƒ}|d}tƒ}|t}tj||g|dƒ|jt|ƒdS(Ni(    R*R.RRRR tDef_NPCRefreshMarkRRRw(R~RHt curRemainCntt    curMaxCntR!t refreshMark((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyRvs 
    
cCsPt|ƒt|ƒtƒ}|tjƒjƒ|tdkrEdStƒdS(Niè(Rt__CheckAutoRefreshGoldBossRR*R=R>R<R#(RtfbCfg((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyRq&s
 
    $cCsRtƒ}|tjƒjƒ|tdkr1dStj|ƒtjt    |ƒdS(Niè(
RR*R.t GetFBStepTickt Def_LeaveTimeRMRNRR:t FB_Step_Close(RR…((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyRr7s     $ c
Cs¦tƒ}tƒtg}x|D]}||7}q W|jƒ|krJdStjƒ}|jtƒ}td|dƒ}|j    t|ƒ|jt
ƒ}|jt ƒ}|dkr¢|t ||ƒkr¢|j    t
|dƒ|j    t dƒtjƒ}    |    rt|    tjƒjƒƒn|dt |ƒkr:tƒq¢|j    t dƒ|j    ttjƒjƒƒ|j    tdƒ|    r¢|    jtjdtƒttƒq¢ndS(Nii(RR t
Def_BossIDtGetNPCIDR*R.RRRRARwRRRSRRRxRBR=tGetTickR#RRR?RttttLeaveFamilyWarRtR(
tcurNPCR|t    npcidlisttnlistRHRt newRemainCntRfR{R((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt DoFB_NPCDeadDs4      " 
&cCs€tjƒ}|jtƒ}tƒ}|t}||kr>tS|jt|ƒ}|||kr|tjd||fƒtSt    S(Ns2    ¸ÃÊØÎÀÒÑÂú£¬²»¿ÉÔÙ½¨Ôì guardNPCID=%s,curCnt=%s(
R*R.RRRR RUtFalseRVtLogR(RRRRHt
guardNPCIDR!tguardMaxCntDicttcurCnt((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt OnCanCollectns     
 cCs tƒtS(N(R t Def_BuildTime(RR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytGetFBPrepareTimesc    Cs-|jƒ}|sdS|jƒtjkr/dStjƒj|jƒƒ}|sTdStƒ}|j    ƒ|t
krwdStj ƒ}|j t ƒ}|s²tjd|jƒƒdStj||ƒtj|t|dfgddƒt|}|j||j |ƒdƒ|jt dƒt||ƒdS(Ns²É¼¯Ç°Î´Ö¸¶¨Òª½¨ÔìNPCIDii(t GetActionObjtGetGameObjTypeRtgotNPCR*t GetNPCManagert GetNPCByIndextGetIndexR RŠRR.RRRtErrLogtGetIDtChNPCt OnCollectEndRRRRVRwRB(    RtnpcIDRttagObjRR!RHR”tkey((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt OnCollectOKŠs.      #
 c Csðtjƒ}tƒ}|jƒ}|dkrT||tkrAdS|jt|ƒn‹|dkr–|tkrpdStj    t
|ƒtj |t j ƒnI|dkrß|t
kr²dS|dkr^|jtƒrátj|dƒdS|t}tj|tj|ƒ}|s dSx-|D]%\}    }
tj||    |
t jƒqWt|tƒ|jtdƒqß|dkr|jtƒrŠtjdƒdS|jtdƒqß|dkrß|jtƒsÉtjdƒdS|jtdƒqßnt||ƒdS(NiiitJHCallForBoss1sÒѾ­ÊÇ×Ô¶¯ÕÙ»½BOSS״̬£¡s"²»ÊÇ×Ô¶¯ÕÙ»½BOSS״̬£¬²»ÐèҪȡÏû£¡(R*R.R R8RURwRR9RR:RQtAddEnterFBCountR
R RRRR%t
NotifyCodetDef_BossCostMoneyt HaveMoneyExRDtTYPE_Price_Gold_Paper_MoneytPayMoneytDef_Cost_FBGatherSoulBossRvR‰RR1RB( Rt
actionTypet
actionInfoRRHR!RJt    costMoneyt costMoneyListt    moneyTypetmoneyCnt((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt
DoFBAction¬sN            
     c
Csgtjƒ}|jtƒsdStjƒ}|sE|jtdƒdS|jƒ}|tkrq|jtdƒdS|jt    ƒr„dSt
ƒ}|jt ƒ}|rº|||t krºdS|t }tj|tj|tƒ}|stj|dƒ|jtdƒnNx-|D]%\}}    tj|||    tjƒqWt|tƒ|jt    dƒt||ƒdS(NitJHCallForBoss2i(R*R.RRRRRxRwR8RQRR RRtR«R%R¬RDR­R’RªR®R
R¯RvR‰RB(
RRHRRJR!RyR²R³R´Rµ((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyR„Ús8        
 cCstS(N(R(((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytOnPlayerRebornscCsdS(N((R((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt DoPlayerDead scCs&tjƒ}|jƒtkr"tStS(N(R*R.R8RQR’R(tattackertdefenderRH((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytCheckCanAttackTagObjInFBs cCs¾tjƒ}|jtƒd}tjƒjƒ}|tjkrPitj|<n|tj|krwgtj||<ntj||j|||gƒt    j
ƒ}|rºt |dƒndS(Nii( R*R.RRRR=RWRXRYtappendRRxRB(titemIDtitemCnttisBindRHRfRR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytKillGatherSoulNPCDropAwards ! c CsÍtjƒ}|jƒtkr"dStjƒjƒ}tjt|ƒ|jt    j
ƒ}tjƒj ƒ}t j j|iƒ}g}x|jƒD]}||7}qWtjd||ƒtjƒ}|sú|rétjd|g|ƒntj|ƒdS|rUi}xz|D]r\}    }
} tjƒj|    ƒ} | s;dSt    j| jƒƒ} tj| | |
ƒ}|j| dƒ||| <q Wt}x?|jƒD]1\} }|tj || |ƒkr–t!}Pq–q–W|rtjd|j"ƒg|ƒtj#dt$|ƒ|j"ƒƒqUxB|D]7\}    }
} tj%||    |
| gddtigƒqWnt&ƒ}|tjƒj'ƒ}tj(|ƒ}t)|idtj*6|tj+6|tj,6ƒtj-t.j/|t0dƒdS(    Ns   ¸±±¾½áÊø´¦Àí  itemDict=%st
JHBagFull2is'±³°ü¿Õ¼ä²»¹»£¬·¢ËÍÓʼþ: mailItemList=%steventt GatherSoulFBiiè(1R*R.R8R;R=R‹RR:RRR
tDef_FB_SingleFBPlayerIDRWRXRYtpoptvaluesR“RxR%t SendMailByKeyRMRNt GetGameDatatGetItemByTypeIDtGetItemPackTypetGetTypet ItemControlertGetItemNeedPackCountRZR’R[t
ItemCommontGetItemPackSpaceRR(R1R]tGivePlayerItemR R>R\t__SendOverInfot Over_isPasst Over_costTimet Over_itemInfotSync_Player_TimeTickRt tttLeaveMapR‡(RHRtownerIDRRlt totalItemListRoRtneedPackSpaceDictR¾R¿RÀtcurItemtpackTypet    needSpacet
isSendMailR…tcostTimetitemInfo((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyR#,sX   #    +cCsDtj|tj<tjdt|ƒ|jƒƒtj||ƒdS(Ns__SendOverInfo overDict=%s(    R
R RtOver_dataMapIDR*R1R]R(tNotify_FB_Over(RtoverDict((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyRÒfs (DRR*RÏRRMRXRR
RDR5R%RÍR¢trangeR<R‡RR RR˜RUR‰R«R€RuRtt FB_Step_OpenR9RQR;RˆRRVRRRRRRRR RRRRR"R$RLRORPRBRsRRvRqRrR‘R—R™R§R¶R„R¸R¹R¼RÁR#RÒ(((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt<module>sf             0            
                 
        !         
    $         -                 *                "    .    )                            :