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
`p½[c@sNddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZdZiad„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zed„Zd„Zd„Zd„Z dS(iÿÿÿÿNicCs |ddS(Niid((t
equipPlace((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytGetDogzEquipPlaceIndex0scCs|dt|S(Ni(tDogzEquipCount(tdogzIDtequipPlaceIndex((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytGetDogzEquipPackIndex4scCstj|tj|dƒS(Ni(t    GameWorldtGetDictValueByBittChConfigtDef_PDict_DogzFightState(t    curPlayerR((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytGetDogzIsHelpFight8scCsJtj|tj|d|r"dndƒt|||ƒtj|ƒdS(Nii(RtSetDictValueByBitRR    tSync_DogzHelpbattleStatetPassiveBuffEffMngtPlayerDogzSkill(R
RtisFight((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytSetDogzIsHelpFight<s) cCsŒ|jtjƒrt|ƒntjƒ}xZt|jƒƒD]F}|j|ƒ}t    j
|tj |ƒr>t ||j ƒdƒq>q>WdS(Ni(tNomalDictGetPropertyRt Def_PDict_DogzBuyHelpbattleCountt Sync_DogzInfot IpyGameDataPYtIPY_Datatxranget GetDogzCounttGetDogzByIndexRRR    R t    GetDogzID(R
t
ipyDataMgrtitipyData((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pyt OnPlayerLoginFs  c
Cs¬tjƒj|ƒ}|jƒ}|j}|j}tjd|ƒ}|sOdStjd||f|ƒ|ssdSg}xÜ|D]Ô}    |j    ƒj
t j ƒ}
|
j |    ƒ} tj| ƒsÖtjd|    |ƒq€ntj| ƒsÿtjd|    |ƒq€n| jƒ} t| ƒ} |jƒ}| dksA| t|ƒkrdtjd|    | | f|ƒq€n|j    ƒj
t jƒ}t|| ƒ}|dks©||jƒkrÏtjd||    | |f|ƒq€n| jƒ}|| }||krtjd||    | ||f|ƒq€n|j |ƒ}tj|| |t jƒr€|j|    ƒq€q€Wtjd    ||ƒ|svdSt||ƒr¨t|tƒt j |ƒj!ƒndS(
NtDogzs)ÉñÊÞ´©´÷×°±¸: dogzID=%s,equipIndexList=%ssÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: equipIndex=%ss·ÇÉñÊÞ×°±¸: equipIndex=%sis>ÉñÊÞ×°±¸Î»Òì³£: equipIndex=%s,equipPlace=%s,equipPlaceIndex=%ssMÉñÊÞ×°±¸±³°üË÷ÒýÒì³£: dogzID=%s,equipIndex=%s,equipPlace=%s,equipPackIndex=%ss`ÉñÊÞ×°±¸Î»´©´÷ÑÕÉ«ÏÞÖÆ£ºdogzID=%s,equipIndex=%s,equipPlaceIndex=%s,limitColor=%s > equipColor=%ss    ´©´÷³É¹¦Ë÷ÒýÁбí: %s("RtGetPlayerManagertGetPlayerByIndext GetPlayerIDtDogzIDtEquipIndexListRtGetIpyGameDatatDebugLogtGetItemManagertGetPackt ShareDefinet rptDogzItemtGetAtt
ItemCommontCheckItemCanUsetGetIsDogzEquipt GetEquipPlaceRtGetEquipPlaceColorListtlentErrLogt rptDogzEquipRtGetCountt GetItemColortLogtDoLogicSwitchItemtappendR tRefreshDogzAttrtTruet PlayerControltRefreshPlayerAttrState(tindext
clientDatattickR
tplayerIDRtequipIndexListRt succIndexListt
equipIndext dogzItemPacktcurEquipRRtequipPlaceColorListt dogzEquipPacktequipPackIndext
equipColort
limitColort    destEquip((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytOnDogzEquipItem]sb                      
      c    Csêtjƒj|ƒ}|jƒ}|j}|j}|r`|tjkr`tjd||ƒdSt    j
d|ƒ}|s|dS|dkr;g}|j ƒj tj ƒ}    |    jƒ}
|dt} xbt| | tƒD]M} | dksò| |
krödS|    j| ƒ} | jƒsÔ|j| ƒqÔqÔW|sCtjd||ƒdSt|ƒ}g}|j ƒj tjƒ}x[t|jƒƒD]G} |j| ƒ} | jƒr€|j| ƒt|ƒ|krÇPqÇq€q€Wt|ƒ|krútj|dtjgƒdSx§t|ƒD]-} tj|tj tj|| || ƒqWnit|t|ƒƒ}tj|tjƒ}tj|tj tj||ƒs¤tjd||f|ƒdSt||ƒræt||t ƒt!|t"ƒtj|ƒj#ƒndS(Ns$·ÇÉñÊÞ×°±¸Î»£¬ÎÞ·¨Ð¶ÏÂ!equipPlace=%sRiisûÓд©´÷ÉñÊÞ×°±¸!dogzID=%stGeRen_chenxin_676165s)ÉñÊÞжÏÂ×°±¸Ê§°Ü: dogzID=%s,equipPlace=%s($RR R!R"R#t
EquipPlaceR)tDogzEquipPlaceR&RR%R'R(R3R4RtrangeR+tIsEmptyR8R1R*RR;t
NotifyCodeR,tDoLogicSwitchItemExRRtGetEmptyIndexInPackR RtFalseR9R:R<(R=R>R?R
R@RRRtunEquipIndexListRGtequipPackCountt
startIndexRtcurItemt unEquipCounttemptyIndexListRDRHt
emptyIndex((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytOnDogzUnEquipItem¤sb                ! cCsçtjƒj|ƒ}|jƒ}|j}|j}tjd|ƒ}|sOdSt||ƒ}||kr‹tj    d|||f|ƒdS|rtj
ddƒd}    |j t j ƒ}
|    |
} d} tjƒjƒ} x9t| ƒD]+}tj|t j|ƒrè| d7} qèqèW| | krAtj    d| | f|ƒdS|jƒjtjƒ}|jƒ}|dt}xpt||tƒD][}|dks¥||kr©dS|j|ƒ}|jƒr‡tj    d||f|ƒdSq‡Wtj|tjd|gƒn|rtnt }tj    d||f|ƒt!|||ƒt"|tƒt#j#|ƒj$ƒ|rã|j%ƒrãt&t'j'ƒƒ}|j%ƒ\}}}t(j)|dƒ}|||d    krãt#j*d||ƒ|t(|<qãndS(
NRsGÉñÊÞÒѾ­ÊǸÃ״̬£¬ÎÞÐè±ä¸üÖúս״̬! dogzID=%s,batteState=%s,curState=%st
DogzAssistiisIµ±Ç°ÉñÊÞÖúÕ½ÊýÒÑÂú£¬ÎÞ·¨ÖúÕ½!canHelpFightCount=%s <= curHelpFightCount=%ss2ÉñÊÞÓÐ×°±¸Î´´©´÷£¬ÎÞ·¨ÖúÕ½£¡dogzID=%s,packIndex=%ss&ÉñÊÞÖúս״̬±ä¸ü£¡dogzID=%s,isFight=%si<(+RR R!R"R#t
BatteStateRR%R R&tGetFuncEvalCfgRRRRRRRR    R'R(R)R3R4RRPR+RQt PlayerSuccesstDoAddSuccessProgresstSuccType_DogzBattleR:RURR9R;R<tGetHelpBattleNotifytintttimetg_helpBattleNotifyTimeDicttgett WorldNotify(R=R>R?R
R@Rt
batteStateRtcurStatethelpbattleInitCountthelpbattleBuyCounttcanHelpFightCounttcurHelpFightCountt    dogzCountRRGRWRXRYRtcurTimet    notifyKeytnotifyParamListtnotifyCDtlastNotifyTime((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytOnDogzBattleStateChangeñsb              
        cCsptjƒj|ƒ}|jƒ}tjddƒ\}}|jtjƒ}||}||krtj    d||f|ƒdStj
ddƒ}    tjddƒ}
|t |
ƒkr¿|
dn|
|} t j ||    ƒ\} } }| || krtj    d|    | f|ƒdSt j|| | || dƒ|d}tj|tj|ƒtj    d    ||ƒt|ƒdS(
NR^isJÒѳ¬¹ý×î´óÉñÊÞÖúÕ½Êý£¬ÎÞ·¨¹ºÂò£¡curHelpFightCount=%s,helpbattleMaxCount=%siiiÿÿÿÿs6¹ºÂòÉñÊÞÖúսλËùÐèµÀ¾ß²»×ã !needItemID=%s,needCount=%stDogzBuyHelpFights¹ºÂòÉñÊÞÖúսλ! updBuyCount=%s(RR R!R"RR`RRRR&t
GetFuncCfgR1R,tGetPackItemBindStateIndexInfotDelCostItemByBindR;tNomalDictSetPropertyR(R=R>R?R
R@RlthelpbattleMaxCountRmRot
needItemIDt needCountListt    needCounttcostItemIndexListtbindCntt    unBindCntt updBuyCount((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytOnDogzBuyBatteCount7s, 
     &
 
c+ Cs"tjƒj|ƒ}|jƒ}|j}|j}|j}|j}tjd||||f|ƒt    |ƒt    |ƒkrŽtjdƒdS|j
ƒj t j ƒ}    |    j|ƒ}
tj|
ƒ sÕtj|
ƒ rùtjd||
jƒf|ƒdS|
jƒ} tjddƒ} | | kr'dS| | } |
jƒ}|
jt jdƒ}|
jt jdƒ}|| kr”tjd| || f|ƒdStjd    ||ƒ}|s³dS|jƒ}|sãtjd
||f|ƒdSd}d}g}|j
ƒj t jƒ}|jƒ}xÎt|ƒD]À\}}|dksJ||krbtjd ||ƒdS|j|ƒ}|j ƒr•tjd ||ƒdStj!|t"j#ƒ}|sÔtjd ||jƒf|ƒdSt$dt%|jƒ||ƒƒ}|j&dƒ}|j&dƒ}||}|j't jƒ} | sŠ|ra|ra|d|}|||7}ntjd||||||f|ƒn?|jt jdƒ}!||!7}tjd||||!f|ƒ||7}|j(||gƒq&W|stjd|ƒdS||}"i|"d6}#|rIt)j*|t+j,|t"j-|#ƒsIdSnx3|D]+\}$}tj.||$|t/t"j0|#ƒqPW|}%d| d}&}'x¤|"|kr<|%| kr<|&|'kr<|&d7}&|%d}(tj1d    ||(ƒ})|)stjd|(|ƒPn|(}%|)jƒ}tjd|| |%|"|f|ƒq™Wt/}*|s~|
j2t j|%ƒ|
j2t j|"ƒ|%dk}*nA||%kr©t3}*|
j4t jd|%ƒn|
j4t jd|"ƒtjd||||%|"f|ƒ|*r t5|t3ƒt)j)|ƒj6ƒn|j7t j8dƒdS(NsIÉñÊÞ×°±¸Ç¿»¯: equipIndex=%s,indexList=%s,indexUseCountList=%s,isDouble=%ss     Ö¸¶¨ÏûºÄµÄ¸öÊýÊý¾Ý³¤¶È´íÎó£¡s1    ·ÇÉñÊÞ×°±¸£¬ÎÞ·¨Ç¿»¯£¡equipIndex=%s,itemID=%sR^iiisAÉñÊÞ×°±¸ÒÑÂú¼¶, ÎÞ·¨Ç¿»¯£¡equipColor=%s,curPlusLV=%s,maxPlusLV=%st DogzEquipPluss?ÉñÊÞ×°±¸Éý¼¶ËùÐè×ܾ­ÑéΪ0, ÎÞ·¨Ç¿»¯£¡equipPlace=%s,curPlusLV=%ss"ÉñÊÞ±³°üË÷Òý²»´æÔÚ£¬ÎÞ·¨Ç¿»¯£¡i=%ss ÉñÊÞ±³°üÎïÆ·Îª¿Õ£¬ÎÞ·¨Ç¿»¯£¡i=%ss0ÉñÊÞ±³°üÎïÆ·ÎÞ¾­ÑéЧ¹û£¬ÎÞ·¨Ç¿»¯£¡i=%s,itemID=%sisY    Ç¿»¯: addExp=%s,delCount=%s,baseExp=%s,isDouble=%s,doubleCostGold=%s,costGoldTotal=%ss:    Ç¿»¯: addExp=%s,delCount=%s,baseExp=%s,plusExpTotal=%ss    Ã»ÓвÄÁÏ¿ÉÇ¿»¯£¡tupdPlusExpTotals'    Ã»ÓÐÏÂÒ»¼¶Êý¾Ý£¬²»ÄÜÉý¼¶£¡nextLV=%ssT    Éý¼¶: equipPlace=%s,maxPlusLV=%s,updPlusLV=%s,updPlusExpTotal=%s,lvUPTotalExp=%ss>    curPlus(LV=%s,EXP=%s),addExpTotal=%s,updPlus(LV=%s,EXP=%s)(9RR R!R"t
EquipIndext    IndexListtIndexUseCountListtIsDoubleR&R1R'R(R)R3R+R,R-R.t GetItemTypeIDR5RR`R/tGetUserAttrByIndextDef_IudetDogzEquipPlusR6R%tGetPlusLVUPTotalExpR*R4t    enumerateR2RQtGetItemEffectByEffectIDRtDef_Effect_DogzEquipPlusExptmaxtmintGetEffectValuetGetUserAttrCountR8R;tPayMoneyt IPY_GameWorldtTYPE_Price_Gold_MoneytDef_Cost_DogzEquipPlustDelItemRUtItemDel_DogzEquipPlustGetIpyGameDataNotLogt AddUserAttrR:tUpdataUserAttrByIndexR9R<tSync_MakeItemAnswertDef_mitDogzEquipPlus(+R=R>R?R
R@RCt    indexListtindexUseCountListtisDoubleRGRERItcolorPlusMaxLVDictt    maxPlusLVRt    curPlusLVtcurPlusExpTotalRt lvUPTotalExpt costGoldTotalt addExpTotalt delItemListRDtdogzItemPackCountt    listIndexRRYteffecttdelCounttbaseExptdoubleCostGoldtaddExpt plusInfoCountt plusExpTotalR†tinfoDicttdelItemt    updPlusLVtdoCountt
maxDoCounttnextLVt nextLVIpyDatat isRefreshAtrr((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytOnDogzEquipPlusasØ                             
      "
      
 
 
 #'
 
           c
CsÂd\}}tjddƒ}||kr4||fS||}xwt|dƒD]e}tjd||ƒ}|r{| r{Pn|jƒ}    |    s‘Pn||    kr§||fS||    }}qOW||fS(NiR^iiR…(ii(RR`RRœRŽ(
RIRttotalExptretLVtretExpR¤R¥tlvRR¨((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pytGetDogzEquipPlusLVExpInfoäs   
 
 
c  Cs|d}d}gtdƒD] }i^q}|jƒjtjƒ}|jƒ}tjƒ}x–t|j    ƒƒD]‚}    t
j |t j |    ƒs’qnn|j|    ƒ}
|
jƒ} |
jƒ} |
jƒ} | r t| ƒt| ƒkr x:t| ƒD])\}}| |}tj|||ƒqðWn| dt}x¯t||tƒD]š}|dks`||krdPn|j|ƒ}|jƒr…qBnx‹t|jƒƒD]w}|j|ƒ}| sÁ|jƒ rÅPn|jƒ}| s˜|t jkríq˜n|jdƒ}tj|||ƒq˜W|jtjdƒ}||7}tj d|j!ƒ|ƒ}|rÉ|j"ƒ}|j#ƒ}|rÉt|ƒt|ƒkrÉx:t|ƒD])\}}||}tj|||ƒq–WqÉnt$j%|||ƒqBW||
j&ƒ7}qnWtj'|t j(|ƒ|j)t j*tj+|ƒt,|ƒ}tj'|t j-|ƒ|rxt.j/|tj0ƒt.j1|tj0|ƒndS(NiiiR…(2RPR'R(R)R3R4RRRRRRRR    RRtGetBaseAttrTypestGetBaseAttrValuesR1RR;tCalcAttrDict_TypeRR+RQtGetEffectCounttGetEffectByIndext GetEffectIDR‘R”RŒRR%R/tGetPlusAttrTypestGetPlusAttrValuestChEquiptCalcAttr_LegendAttrtGetFightPowerExtSetCalcAttrListValuetDef_CalcAttrFunc_DogztSetDicttDef_PlayerKey_MFPExtDef_MFPType_DogztCalcDogzBattleSkillAttrt Def_CalcAttrFunc_DogzBattleSkillRatResetSuccessByTypetSuccType_DogzEquipPlusRb( R
t isUpdateSucct totalPlusLvt fightPowerExt_t allAttrListRGRWRt    dogzIndexRRt attrTypeListt attrValueListt    attrIndext
baseAttrIDt baseAttrValueRXRCREteffIndext    curEffectteffIDteffValueR¦t plusIpyDatatplusAttrTypeListtplusAttrValueListt    plusIndext
plusAttrIDt plusAttrValuet skillAttrList((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pyR9úsj     
 
 
 c CsÁgtdƒD] }i^q }|jƒ}x§td|jƒƒD]}|j|ƒ}|sbqAn|jƒtjkr}qAntj|ƒs’qAnx<t    |j
ƒƒD](}|j |ƒ}t j |||ƒq¥WqAWtjƒ}xÙt    |jƒƒD]Å}|j|ƒ}    tj|tj|ƒs'qônx|    jƒD]}
tjƒj|
ƒ} | s[q4n| jƒtjkrvq4nx<t    | j
ƒƒD](}| j |ƒ}t j |||ƒq‰Wq4WqôW|S(Nii(RPtGetSkillManagert GetSkillCounttGetSkillByIndext GetFuncTypeRtDef_SkillFuncType_Dogzt SkillCommont isPassiveAttrRRÆt    GetEffectt
SkillShelltCalcBuffEffAttrRRRRRRR    tGetHelpBattleSkillst GetGameDatatGetSkillBySkillIDt GetSkillTypetDef_SkillType_AttrSkillNoLearn( R
RÚRìt skillManagerRtcurSkillt effectIndexRãRRtskillIDt    skillData((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pyRÓMs8  cCs5tjƒ}|jtjƒ|_tj||ƒdS(N(tChPyNetSendPackt tagMCDogzInfoRRRtBuyHelpbattleCountt NetPackCommont SendFakePack(R
t dogzInfoPack((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pyRzs cCs>tjƒ}||_|r!dnd|_tj||ƒdS(Nii(RttagMCDogzHelpbattleStateR#R_RR(R
RRjthelpbattleState((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pyR s
     (!RR,R)R;RRR—RRRËRRòRõRaRfRRgRRR RRRLR]RvR„R½RÂRUR9RÓRR (((sZ.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDogz.pyt<module>s>                               
        G    M    F    *    ƒ     S    -