cehua_LC
2018-12-21 1cad1cbd07fb8d490e122c023f8987622d15e4fc
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
Ζ\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
Csltj|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#||ƒ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 tttTowerTaketmaxRtDoFBHelp(
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(RRRG((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pytDoExitFB£s
 cCstƒtj|ƒdS(N(R#RJRK(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(RRRERGtcurWheeltmaxWheelR!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.R8RNt__DoLogic_FB_FightingR;t__DoLogic_FB_Over(RRG((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 RORtDef_WheelRefreshCDRtDef_NPCRefreshCDRRRRPR1t __RefreshNPCt SetGameFBDictRtGetCurSingleFBPlayerRB( RRER!tlastWheelEndTimet lastNPCRTimeRct 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.RORR tDef_NPCRefreshMarkRRRt(R{REt curRemainCntt    curMaxCntR!t refreshMark((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyRss 
    
cCsPt|ƒt|ƒtƒ}|tjƒjƒ|tdkrEdStƒdS(Niè(R|t__CheckAutoRefreshGoldBossRR*R=R>R<R#(RtfbCfg((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyRn%s
 
    $cCsRtƒ}|tjƒjƒ|tdkr1dStj|ƒtjt    |ƒdS(Niè(
RR*R.t GetFBStepTickt Def_LeaveTimeRJRKRR:t FB_Step_Close(RR‚((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyRo6s     $ 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.RORRARtRRRPRRRuRBR=tGetTickR#RRR?RttttLeaveFamilyWarRqR(
tcurNPCRyt    npcidlisttnlistRER~t newRemainCntRcRxR((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt DoFB_NPCDeadCs4      " 
&cCs€tjƒ}|jtƒ}tƒ}|t}||kr>tS|jt|ƒ}|||kr|tjd||fƒtSt    S(Ns2    ¸ÃÊØÎÀÒÑÂú£¬²»¿ÉÔÙ½¨Ôì guardNPCID=%s,curCnt=%s(
R*R.RORR RRtFalseRStLogR(RRŠRREt
guardNPCIDR!tguardMaxCntDicttcurCnt((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyt OnCanCollectms     
 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.RORtErrLogtGetIDtChNPCt OnCollectEndRRRRSRtRB(    RtnpcIDRttagObjRŠR!RER‘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 R8RRRtRR9RR:RNtAddEnterFBCountR
R RORR%t
NotifyCodetDef_BossCostMoneyt HaveMoneyExt ShareDefinetTYPE_Price_Gold_Paper_MoneytPayMoneytDef_Cost_FBGatherSoulBossRsR†RR1RB( Rt
actionTypet
actionInfoRRER!RGt    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.RORRRuRtR8RNRR RRqR¨R%R©RªR«RR§R¬R
R­RsR†RB(
RRERRGR!RvR°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.R8RNRR(tattackertdefenderRE((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.RORR=RTRURVtappendRRuRB(titemIDtitemCnttisBindRERcRR((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ñtjd|g|ƒtj|ƒdSt|ƒ}tj|tj|ƒ}    t||    kƒ}
|
rltjd|jƒg|ƒtjdt|ƒ|jƒƒnHxE|D]=\} } } tj || | | tjgddt!igƒqsWt"ƒ}|tjƒj#ƒ}tj$|ƒ}t%|idtj&6|tj'6|tj(6ƒtj)t*j+|t,dƒdS(Ns   ¸±±¾½áÊø´¦Àí  itemDict=%st
JHBagFull2s'±³°ü¿Õ¼ä²»¹»£¬·¢ËÍÓʼþ: mailItemList=%steventt GatherSoulFBiiè(-R*R.R8R;R=RˆRR:ROR
tDef_FB_SingleFBPlayerIDRTRURVtpoptvaluesRRuR%t SendMailByKeyRJRKRPt
ItemCommontGetItemPackSpaceRªt rptGatherSoultintR(R1RZt ItemControlertGivePlayerItemRR R>RYt__SendOverInfot Over_isPasst Over_costTimet Over_itemInfotSync_Player_TimeTickRt tttLeaveMapR„(RERtownerIDRRit totalItemListRlRt    needSpacet
emptySpacet
isSendMailR¼R½R¾R‚tcostTimetitemInfo((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyR#+s@    #    +cCsDtj|tj<tjdt|ƒ|jƒƒtj||ƒdS(Ns__SendOverInfo overDict=%s(    R
R RtOver_dataMapIDR*R1RZR(tNotify_FB_Over(RtoverDict((sv.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\GameWorldLogic\FBProcess\GameLogic_GatherSoul.pyRÍWs (DRR*RÇRRJRURR
RªR5R%RËRŸtrangeR<R„RR RR•RRR†R¨R}RrRqt FB_Step_OpenR9RNR;R…RRSRRRRRRRR RRRRR"R$RIRLRMRBRpR|RsRnRoRŽ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            
                 
                  
    $         -                 *                "    .    )                            ,