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
S4A\c@s‡dZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z d„Z d„Zd„Zeedd„Zd„Zd    „Zed
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„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((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytPlayerGetDienstgrad's
  cCstjd|ƒS(Nt
Dienstgrad(t IpyGameDataPYtGetIpyGameData(R((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytGetDienstgradData0sc    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((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytPlayerDelAddDienstgrad3s    
 ic Cs|dkrtSt|ƒ}|dkr,tS|jƒ}|j|ƒ}|rj|rc|j|ƒqjtSn|j|ƒ}|dkr•|j|ƒn|j    |ƒ|j
ƒ}x|D]}    t ||    ƒqµWt j ||dƒ|r t|ƒtj|ƒ}
|
jƒntS(Nii(RR RRRtDeleteDienstgradRt AddDienstgradt SetExpireTimetSync_PlayerGetDienstgradt    GetSkillst __GiveSkilltCrossPlayerDatatOnDienstgradChangeRRR( RRR R t
expireTimetcurDienstgradDataRRt    skillListtskillIDR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRMs0        
 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((spE:\SnxxServerCode\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/tDeleteSkillBySkillTypeIDRR1R2R3RtRefreshAllSkill(RR#R$tisDelR5R7((spE:\SnxxServerCode\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ƒt j||dƒ|rt|ƒtj|ƒ}|jƒntS(NiR(RRRt GetCurGradIDtPlayerTakeOffDienstgradRtSync_PlayerDelDienstgradR R;tDataRecordPacktCache_FightPowerChangeInfotChConfigtPowerDownType_TitleR R!RRRR(RRR RRR#R((spE:\SnxxServerCode\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((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytPlayerFitOnDienstgradðs      cCsF|jƒ}|jƒ}|dkr(dS|jdƒ|jdƒdS(Ni(RR<RCRD(RRRE((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR=s     cCs9|jƒ}|jƒ}|dkr(tS|jdƒtS(Ni(Rt GetUseGradIDRt SetUseGradIDR(RRRE((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytUnUseDienstgrads     cCsX|jƒ}|j|ƒ}|dkr+tS|jƒ}||krGtS|j|ƒtS(N(RRRRRGRHR(RRRRRE((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt UseDienstgrad s     cCs"tjƒj|ƒ}t||ƒS(N(R&tGetPlayerManagertGetPlayerByIndexR(tindexRR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR6scCs"tjƒj|ƒ}t||ƒS(N(R&RKRLR(RMRR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR>scCs&tjƒj|ƒ}t||ƒdS(N(R&RKRLR(RMRR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt DelDienstgradFscCs&tjƒj|ƒ}t||ƒdS(N(R&RKRLRF(RMRR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytFitOnDienstgradOscCs#tjƒj|ƒ}t|ƒdS(N(R&RKRLR=(RMR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytTakeOffDienstgradVs
cCs3tjƒj|ƒ}|dkr%dSt|ƒdS(N(R&RKRLRtSync_AllDienstgradOnLogin(RMttickR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytOnCPlayerDienstgradRefreshbs
 
cCs-|jƒ}|jƒ|j|jƒƒdS(N(RtSync_AllDienstgradRDR<(RR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRQjs 
cCsdS(N((RMt
clientDataRR((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytUseDienstgradPackyscCsbtjƒ}|jƒ}|jƒ}|dkr>t|ƒdS|rTt||ƒn
t|ƒdS(Ni(t IPY_GameWorldtIPY_CPlayerChangeDienstgradt    GetGradIDtGetStateRPRO(RMRRtsendPackt    curGradIDt curGradState((spE:\SnxxServerCode\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(RttitleActiveListtgradCnttiR\((spE:\SnxxServerCode\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`RaR Rt GetLightTypetGetLightAttributet    enumerateRtCalcAttrDict_TypetSetCalcAttrListValueRAtDef_CalcAttrFunc_Dienstgrad(
RRet allAttrListtdienstgradManagerRdR\R#t attrTypeListt attrValueListtattrID((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR´s        cCsdS(N((R((spE:\SnxxServerCode\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 GetTickByTypeRAtTYPE_Player_Tick_DienstgradtTYPE_Player_Tick_Timet SetTickByTypeRR_R`tAtRYR Rt GetExpireTimet AtCreateTimeR&tGetPastSecondsRbR( RRRtlastTickRdt needClearListRetcurGradR\R#t curExpireTimet curCreateTimet pastSeconds((spE:\SnxxServerCode\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((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytGiveFirstLoginDienstgrads ('t__doc__R&RRWRAR†R    R*R,R1R?R RuRR RRRRR;RRFR=RIRJRRRNRORPRSRQRVR^RfRRsR„R(((spE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt<module>sJ                                D         -                                                                          -