cehua-TT
2019-01-02 a36021600832cb61eb1cfa29e83b2330c3abd129
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
lÑ\c@s{dZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z d„Z d„Z d„Zeedd„Zd„Zd    „Zed
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%dS(sVersion = 2017-07-26 22£º00iÿÿÿÿNcCs/|dkrdS|jƒ}|j|ƒ}|S(N(tNonetGetDienstgradManagert GetDienstgrad(t    curPlayert dienstgradIDtcurDienstgradMgrt curDienstgrad((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytPlayerGetDienstgrad&s
  cCstjd|ƒS(Nt
Dienstgrad(t IpyGameDataPYtGetIpyGameData(R((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytGetDienstgradData/sc    Cs¬| r| rdSt}x,|D]$}t||dtƒrt}qqWx2|D]*}t||dtdtƒrNt}qNqNW|r¨t|ƒtj|ƒ}|jƒn|S(Nt isRefreshAttrt isDelRepeat(tFalsetPlayerDelDienstgradtTruetPlayerAddDienstgradtCalcAllDienstgradAttrt PlayerControltRefreshPlayerAttrState(RtdelDienstgradIDListtaddDienstgradIDListt    isRefreshRt playerControl((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytPlayerDelAddDienstgrad2s    
 ic Csü|dkrtSt|ƒ}|dkr,tS|jƒ}|j|ƒ}|rj|rc|j|ƒqjtSn|j|ƒ}|dkr•|j|ƒn|j    |ƒ|j
ƒ}x|D]}    t ||    ƒqµW|røt |ƒt j |ƒ}
|
jƒntS(Ni(RR RRRtDeleteDienstgradRt AddDienstgradt SetExpireTimetSync_PlayerGetDienstgradt    GetSkillst __GiveSkillRRR( RRR R t
expireTimetcurDienstgradDataRRt    skillListtskillIDR((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRLs.        
 cCsætjƒj|dƒ}|dkr9tjd|ƒdStj||ƒsOdStj||ƒsvtjd|ƒdS|j    ƒ}|j
|ƒr¦tjd|ƒdS|j |ƒt j ƒj||ƒtj|ƒj|dƒdS(Nis#__GiveSkill() hasn't find skill(%s)s4__GiveSkill() learn skill(%s) condition isn't enoughs$__GiveSkill() have learned skill(%s)i(t    GameWorldt GetGameDatatFindSkillByTypeRtDebugLogt SkillCommont CheckSkillJobt
SkillShelltCheckLearnSkillConditiontGetSkillManagertFindSkillBySkillTypeIDtLVUpSkillBySkillTypeIDtPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEffRtRefreshSkillFightPowerEx(Rt
skillResIDt    skillDatat skillManager((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRŽs"   cCs‹|jƒ}t}xB|D]:}|jƒ}|j|ƒs@qn|j|ƒt}qW|sadStjƒj|ƒt    j    |ƒj
ƒdS(N( RRR,R-tDeleteSkillBySkillTypeIDRR/R0R1RtRefreshAllSkill(RR!R"tisDelR3R5((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt
__DelSkill§s    
cCsó|dkrdS|dkr dS|jƒ}|j|ƒ}|dkrKdS|jƒ|krjt|ƒn|j|ƒ|j|ƒt|ƒ}|r¦t||ƒnt    j
|t j i|d6ƒ|rït |ƒtj|ƒ}|jƒntS(NiR(RRRt GetCurGradIDtPlayerTakeOffDienstgradRtSync_PlayerDelDienstgradR R9tDataRecordPacktCache_FightPowerChangeInfotChConfigtPowerDownType_TitleRRRR(RRR RRR!R((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRÀs*        
 cCse|jƒ}|j|ƒ}|dkr+dS|jƒ}||krGdS|j|ƒ|j|ƒdS(N(RRRR:t SetCurGradIDtNotify_PlayerChangeDienstgrad(RRRRt curOldGradID((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytPlayerFitOnDienstgradës      cCsF|jƒ}|jƒ}|dkr(dS|jdƒ|jdƒdS(Ni(RR:RARB(RRRC((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR;þs     cCs9|jƒ}|jƒ}|dkr(tS|jdƒtS(Ni(Rt GetUseGradIDRt SetUseGradIDR(RRRC((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytUnUseDienstgrad s     cCsX|jƒ}|j|ƒ}|dkr+tS|jƒ}||krGtS|j|ƒtS(N(RRRRRERFR(RRRRRC((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt UseDienstgrads     cCs"tjƒj|ƒ}t||ƒS(N(R$tGetPlayerManagertGetPlayerByIndexR(tindexRR((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR1scCs"tjƒj|ƒ}t||ƒS(N(R$RIRJR(RKRR((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR9scCs&tjƒj|ƒ}t||ƒdS(N(R$RIRJR(RKRR((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt DelDienstgradAscCs&tjƒj|ƒ}t||ƒdS(N(R$RIRJRD(RKRR((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytFitOnDienstgradJscCs#tjƒj|ƒ}t|ƒdS(N(R$RIRJR;(RKR((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytTakeOffDienstgradQs
cCs3tjƒj|ƒ}|dkr%dSt|ƒdS(N(R$RIRJRtSync_AllDienstgradOnLogin(RKttickR((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytOnCPlayerDienstgradRefresh]s
 
cCs-|jƒ}|jƒ|j|jƒƒdS(N(RtSync_AllDienstgradRBR:(RR((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyROes 
cCsdS(N((RKt
clientDataRP((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytUseDienstgradPacktscCsbtjƒ}|jƒ}|jƒ}|dkr>t|ƒdS|rTt||ƒn
t|ƒdS(Ni(t IPY_GameWorldtIPY_CPlayerChangeDienstgradt    GetGradIDtGetStateRNRM(RKRPtsendPackt    curGradIDt curGradState((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytOnCPlayerChangeDienstgrads    
cCsgg}|jƒjƒ}xHt|ƒD]:}|jƒj|ƒ}|dkrRq%n|j|ƒq%W|S(Ni(RtGetCounttxrangetAtGradIDtappend(RttitleActiveListtgradCnttiRZ((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytGetDienstgradActiveInfo¤s c
CsógtdƒD] }i^q }|jƒ}|jƒ}xŸt|ƒD]‘}|j|ƒ}|dkrkqDnt|ƒ}|dkr‰qDn|jƒ}|jƒ}x1t    |ƒD]#\}}    t
j |    |||ƒq®WqDWt
j |t j|ƒdS(Nii(trangeRR]R^R_R Rt GetLightTypetGetLightAttributet    enumerateRtCalcAttrDict_TypetSetCalcAttrListValueR?tDef_CalcAttrFunc_Dienstgrad(
RRct allAttrListtdienstgradManagerRbRZR!t attrTypeListt attrValueListtattrID((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR¯s        cCsdS(N((R((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytOnDayÉsc Csyttjƒƒ}|jtjƒ}||tjtjkrBdS|jtj|ƒ|jƒjƒ}g}xçt    |ƒD]Ù}|jƒj
|ƒ}|s¡qzn|j ƒ}|dkr¿qznt |ƒ}|dkrÝqzn|jƒ}    |    s|jƒ}    |    dkrqzqn|jƒj|ƒ}
tj|
ƒ} | |    krFqzn|j|ƒqzWx|D]}t||ƒq^WdS(Ni(tintttimet GetTickByTypeR?tTYPE_Player_Tick_DienstgradtTYPE_Player_Tick_Timet SetTickByTypeRR]R^tAtRWR Rt GetExpireTimet AtCreateTimeR$tGetPastSecondsR`R( RRPtlastTickRbt needClearListRctcurGradRZR!t curExpireTimet curCreateTimet pastSeconds((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytCheckDienstgradTimeoutÏs<             cCsjtjdƒ}tj|ƒ}|j|ƒ}|sH|jdgƒ}nx|D]}t||ƒqOWdS(NtFirstLogin_GiveDienstgradi(t ReadChConfigtGetEvalChConfigR$tGetPlayerPlatformtgetR(RtdienstgradIDDictt platFormNametdienstgradIDListR((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytGiveFirstLoginDienstgradüs (&t__doc__R$RRUR?R„R    R(R*R/R=RsRR RRRRR9RRDR;RGRHRRRLRMRNRQRORTR\RdRRqR‚R‹(((s`.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt<module>sH                               B         +                                                                          -