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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
9)“hc@s–ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z d„Zd„Zdejdd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zdd„Zd„Zd„Z d„Z!d„Z"d„Z#e$d„Z%d„Z&dddd„Z'dS(iÿÿÿÿNcCs-|jƒd}|tjkr&tjStjS(Ni
(t GetHurtTypet IPY_GameWorldtghtMagtghtPhy(tbatObjtuseSkilltght((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyt    GetPMType"scCs|jƒddkS(Ni
i(R(R((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyt IsIgnoreDef+scCs”|s
dS|jƒ}|s dS|st|jƒ}|jƒ}|jƒ}    |jƒ}
t|||||    |
ƒ}n|r†|jƒnd} tjd|jƒ|t    |ƒ|| fƒ|sÂdSt
j ƒ} t } t |tjƒrt} | jtj|ƒ}n|j|ƒ|j|ƒ|j|ƒ|jƒ|jƒx|D]}|jƒqFW|jƒ}d}|sØd|||j|ƒdf}| jtjƒ}||_t    |jƒ|_d|_|j|ƒnt j!|ƒrút"|||ƒnt#|||ƒ|rV| jtjƒ}||_t    |jƒ|_d|_|j|ƒn|jgƒ|jdƒ|jƒ| r| j%|ƒntS(s²Ê¹Óü¼ÄÜͨÓÃÈë¿Ú
    @param useSkill: Ê¹Óõļ¼ÄÜ£¬×¢Òâ²¢²»Ò»¶¨ÊÇÉíÉϵļ¼ÄÜ£¬¿ÉÄÜÖ»ÊÇ SkillData ±íÊý¾Ý
    @param enhanceBySkill: ÓÉÄĸöÖ÷¼¼ÄܶîÍâ´¥·¢µÄ
    @return: ÊÇ·ñ³É¹¦
    NisDʹÓü¼ÄÜ: curID=%s,skillID=%s,tagCnt=%s,batType=%s,enhanceBySkill=%stsSkill_%s_%s_%si(&t
GetSkillIDt    GetTagAimtGetTagFriendlyt GetTagAffectt GetTagCountt GetSkillTagst    GameWorldtDebugLogtGetIDtlentObjPoolt
GetPoolMgrtFalset
isinstancet IpyGameDataPYt    IPY_SkilltTruetacquiret    BattleObjtPySkillt SetTagObjListt
SetBatTypetSetEnhanceBySkillt ClearHurtObjtClearSkillTempAttrtGetSkillUseCnttChPyNetSendPackttagSCTurnFightTagtTagtLentSignt
addBatPackt SkillCommontIsBufft __doAddBufft __doUseSkilltNonetrelease(t    turnFightt    curBatObjRt
tagObjListtbatTypetenhanceBySkilltskillIDttagAimt tagFriendlyt    tagAffectttagCounttenhanceBySkillIDtpoolMgrt usePoolSkillttagObjtobjIDtuseTagt
clientPack((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyt
OnUseSkill/sh         #    
 
                     
cCsJ|jƒ}|tjkr"|gS|r1|}n!|tjkrItjntj}tjƒ}|jƒ}    |jƒ}
|j    |ƒ} ||kr|    g} n?|    g} x3| j
j ƒD]"} | | kr¶| j | ƒq¶q¶Wg}xÅ| D]½}| j |ƒ}|tjkrÐ|
g}|jj ƒ}|jƒx6|D].}|dkr6||kr6|j |ƒq6q6Wx;|D]Z}||jkrŠqon|j|}|j|ƒ}t||ƒs»qon|j |ƒPqoWqé|tjkr…xÄdddgdddggD]€}t}xg|D]_}||jkr,qn|j|}|j|ƒ}t||ƒs]qnt}|j |ƒqW|rþPqþqþWqé|tjkr:xdddgdddggD]€}t}xg|D]_}||jkráqÆn|j|}|j|ƒ}t||ƒsqÆnt}|j |ƒqÆW|r³Pq³q³Wqé|tjkr6ddgddgddgg}x;|D]3}|
|krq|j|ƒ|jd|ƒPqqqqWxû|D]€}t}xg|D]_}||jkrÝqÂn|j|}|j|ƒ}t||ƒsqÂnt}|j |ƒqÂW|r¯Pq¯q¯Wqé|jj ƒ}x^|D]V}|dkrdqLn|j|}|j|ƒ}t||ƒs•qLn|j |ƒqLWqéW|tjkrß|jdd    „d
tƒ|| }ng|tjkr|jdd „d
tƒ|| }n2|rFt|ƒ|krFtj|ƒ|| }n|S( NiiiiiiitkeycSs
|jƒS(N(tGetHP(to((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyt<lambda>õstreversecSs
|jƒS(N(RC(RD((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyREús(t
GetFactiontChConfigtSkillTagAim_Selft Def_FactionAt Def_FactionBRt GetBatObjMgrt GetLineupNumt    GetPosNumt getBatFactiont
lineupDicttkeystappendt getBatlineuptSkillTagAim_Relativet posObjIDDicttsortt    getBatObjt__skillTagFiltertSkillTagAim_FrontRowRRtSkillTagAim_BackRowtSkillTagAim_VerticaltremovetinserttSkillTagAffect_HPLowesttSkillTagAffect_HPHighestRtrandomtshuffle(R0R1R6R7R8R9t
curFactiont
tagFactiont    batObjMgrt    lineupNumtposNumt
batFactiont lineupNumListttagNumt
aimObjListtnumt    batLineupt
posNumListtpNumListtpNumttagObjIDt    tagBatObjthasObjtverticalNumList((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR}sÌ     !               
    %   %   !              cCsh|s
tS|tjkr/|jƒdkr/tS|tjkrT|jƒdkrTtS|jƒsdtStS(Ni(RRHtSkillTagAffect_DeathRCt GetCanAttackR(RqR8((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyRXs!! cCsDx-|jƒD]}tj|||d|ƒq Wt|||ƒdS(Nt    buffOwner(t GetTagObjListtTurnBufft    OnAddBufftDoAttackResult(R0R1RRq((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR,scCsÆ|jƒ}tjd|jƒ|jƒ|fƒ|dkrRt|||ƒdS|dkrrt|||ƒdS|dkr‚dS|dkr’dS|dkr¢dS|dkrÂt|||ƒdSdS(Ns,__doUseSkill: curID=%s,skillID=%s,atkType=%siiiiii(t
GetAtkTypeRRRR
t SkillModule_1t SkillModule_2t SkillModule_6(R0R1RtatkType((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR-s$ &      cCs;x$|jƒD]}t|||ƒq Wt|||ƒdS(N(Rwt__doSkillHurtHPRz(R0R1RRq((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR|<sc CsC|jƒ}x |jƒD]}t|||dtƒ}|dkrIqn|jƒ}|jƒ}t|||ƒ}t||dƒ}    |j|ƒ|j    ƒ}
|j
|
ƒ} | j t j ƒ| j|ƒ| j|    ƒ| j|jƒƒtjd|
||    |jƒ|fƒtj||||    |ƒqWt|||ƒdS(NtlargeNumis.    ÖÎÁÆ: dID=%s,cureHP=%s,realCureHP=%s,%s/%s(R
Rwt
CalcCureHPRRCtGetMaxHPtmintmaxtSetHPRt
AddHurtObjt AddHurtTypeRHtHurtTYpe_Recoveryt    SetHurtHPt    SetLostHPtSetCurHPRRt
TurnAttacktAddTurnObjCureHPRz( R0R1RR5RqtcureHPtdHPtdMapHPtremainHPt
realCureHPtdIDthurtObj((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR}Fs(        &c
Cs|jƒ}|jƒ}|jƒ}|r6|jƒnd}|jtjƒ}|j|dƒ}|j|dƒ}    |j|dƒ}
tjddƒ} t    | |d|    ƒ} tj
} t j d|| |||    |
|fƒd}x¤|j ƒD]–}|jƒ}|
dkrˆd}|jƒ}t|| ƒ}||}|j|tƒt j d||||fƒt||| |||||ƒqð|
dkrd}|jƒ}t|| ƒ}||}|j|tƒt j d    ||||fƒt||| |||||ƒ||7}qðd}|jƒ}| }||}|j|tƒt j d
||||fƒt||| |||||ƒqðW|dkrd}|jƒ}|}||}|j|tƒt j d ||||fƒt||| |||||ƒnt|||ƒdS( NiiitAngerXPgˆÃ@sdÅ­ÆøÔö¼õ͵: curID=%s,calcValue=%s,skillID=%s,angerPer=%s,angerValue=%s,calcType=%s,relatedSkillID=%ss3    ¼õÅ­Æø: tagID=%s,diffValue=%s,tagXP=%s,updXP=%sis3    ÍµÅ­Æø: tagID=%s,diffValue=%s,tagXP=%s,updXP=%ss3    ¼ÓÅ­Æø: tagID=%s,diffValue=%s,tagXP=%s,updXP=%ss9    Íµ×ÜÅ­Æø: curID=%s,curStealTotal=%s,curXP=%s,updXP=%s(RR
tGetEnhanceBySkillt FindEffectIDRHtDef_Skill_Effect_AngertGetEffectValueRt
GetFuncCfgtintt    AttrID_XPRRRwtGetXPR„tSetXPRtSync_PropertyRefreshViewRz(R0R1RtcurIDR5R4trelatedSkillIDteffIDNumtangerPert
angerValuetcalcTypetxpMaxt    calcValuetattrIDt curStealTotalRqttagIDtdiffTypettagXPt    diffValuetupdValuetcurXP((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR~csd              
"  
 
#  
"c
Cs°|r+|jƒdkr+|jdƒq+n|jƒ}|j|ƒ|jƒ}|s‰t|||ƒt|||ƒt|||ƒng}x™|jƒD]‹}|j    ƒ}|j
|ƒ}|rï|j t j ƒ rït||jƒ|ƒn|jƒdkrœ|j|ƒtj||||ƒqœqœW|jƒdkrPtj||ƒn|j}    |    rœ|jƒ|    jƒkrœtj|    ||||j|jƒnt|||ƒdS(sJÖ´Ðй¥»÷½á¹û£¬¼¼ÄÜ¡¢buffͨÓÃ
    @param curBatObj: Ê©·¨·½»òbuff¹éÊô·½
    iN(RCR†R
tAddSkillUseCntR—t Sync_UseSkillt__doCostZhanchuit__doSkillUserAngerRwRt
GetHurtObjt HaveHurtTypeRHR‰t__doSkillHurtAngert    GetLostHPRRRt SetObjKilledt    curPlayert
GetOwnerIDt GetPlayerIDtFBLogictOnPlayerLineupAttackResulttmapIDt
funcLineIDt__doUseEnhanceSkill(
R0R1RR5R4t killObjIDListR=R«R•Rº((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyRz¥s4         %c    Cs||j|jtjkrdS|j}|s0dS|jƒ|jƒkrLdSd}|jƒ}tj|ƒr‚t    j
ddƒ}nl|tj kr¦t    j
ddƒ}nH|tj krÊt    j
ddƒ}n$tj |ƒrît    j
ddƒ}n|dkrþdSt|jƒdƒ}||}tj|tj|dtƒsxtj|tjƒ}tj|tjt||ƒdtƒndS(Nit ZhanchuiCostiiiitisNotify(R¿RHtDef_FBMapID_MainRºR»R¼t
GetBatTypeR*t isAngerSkillRR›tTurnBattleType_CombotTurnBattleType_AtkBacktisTurnNormalSkillR…t GetFightPointt PlayerControltPayMoneyt ShareDefinetTYPE_Price_XiantaoRtGetMoneyR„(    R0R1RRºt costZhanchuiR3t
fightPointtcostZhanchuiTotaltnowMoney((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR³Ôs4      
(cCsatj|ƒr|jdƒn>tj|ƒr]tjddƒ}t||d|jƒƒndS(NiR–is
skillID:%s(R*RÇRŸRÊRR›tAddTurnFightXPR
(R0R1RtaddXP((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR´ùs cCsP|dkrdStjddƒ}|dkr2dSt||d|jƒƒdS(NiR–is
skillID:%s(RR›RÕR
(RtlostHPRRÖ((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR·s  R    cCs€|dks| rdS|jƒ}|dkr3dS|jƒ}||}|j|ƒtjd|jƒ||||fƒdS(Nis=        ¸üÐÂXP: curID=%s,curXP=%s,addXP=%s,updXP=%s,reason=%s(RNRžRŸRRR(tgameObjRÖtreasonRfR°tupdXP((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyRÕ s   
 &c Cs|jƒr'tjd|jƒƒdS|jƒ}|s=dStjd|jƒ|fƒ|jƒ}x©|D]¡}tjd|ƒ}|s‘qmn|jƒt    j
krçtjd|ƒ|j ƒ}g}xó|D]ë}    |    j ƒ}
|    j ƒdkr tjd|
ƒqÐn|j|
ƒ} | s7tjd|
ƒqÐn| jt    jƒrftjd|
|fƒqÐn|r®|t    jkr®tj|t    jƒ r®tjd    |
|fƒqÐn|j|    ƒqÐW|rmt||||d
|ƒqmqmntjd |ƒt|||d
|ƒqmWdS( Ns0×ÔÉíΪ¶îÍâ´¥·¢µÄ¼¼Äܲ»ÔÙ´¥·¢¶îÍâ¼¼ÄÜ! skillID=%ss0¶îÍâ´¥·¢µÄ¼¼ÄÜ! skillID=%s,enhanceSkillIDList=%stSkills3    ¶îÍâ´¥·¢¼¼ÄÜ£¬¼Ì³ÐÖ÷¼¼ÄÜÄ¿±ê! enhanceSkillID=%sis    Òѱ»»÷ɱ²»´¥·¢: tagID=%ss    Ã»ÓÐÉËѪ²»´¥·¢: tagID=%ss6    ÉÁ±ÜµÄ¶ÔÏó²»ÔÙ´¥·¢¼¼ÄÜ: tagID=%s,enhanceSkillID=%ss'    ¸ÅÂʲ»´¥·¢: tagID=%s,enhanceRate=%sR4s1    ¶îÍâ´¥·¢¼¼ÄÜ£¬ÖØÐÂËø¶¨Ä¿±ê! enhanceSkillID=%s(R—RRR
tGetEnhanceSkillListRwRtGetIpyGameDataR RHtSkillTagAim_MainSkillt GetHappenRateRRCRµR¶t HurtType_MisstDef_MaxRateValuet    CanHappenRRRA( R0R1RtenhanceSkillIDListR2tenhanceSkillIDtenhanceSkillDatat enhanceRatetenchanceTagObjListR=R«R•((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyRÁsL       +c
Csî|}|jƒ}|jƒ}|j|ƒ}|jƒsš|jƒ}|rš|tjkrštj|tjƒ rš|jtj    ƒ|j
|j ƒƒ|Sn|j tj ƒ}d}    |j|dƒ}
|j ƒ} |jƒ} t} | rënTt||||    |
ƒ\}}|j|ƒ|j|ƒt| td| |ƒƒ}t|ƒ}| |}|j|ƒ|j
|ƒ|j|ƒtjd|||||j ƒ|jƒfƒt||||ƒt||||ƒtj|||||ƒ|S(Nis8    ÉËѪ: atkID=%s,defID=%s,hurtValue=%s,lostHP=%s,%s/%s(RR‡R—RßRHRáRRâRˆt HurtType_FailRŒRCR˜tDef_Skill_Effect_AttackRšRƒRt
CalcHurtHPt SetHurtTypesRŠR„R…RœR‹R†Rt CalcBounceHPt CalcSuckBloodRtAddTurnObjHurtValue(tattackertdefObjtcurSkilltatkObjtatkIDtdefIDR•tratet atkEffIDNumt atkSkillValuet atkSkillPerRtdMaxHPtzhanshat    hurtValuet    hurtTypesR’R×((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR€Ls@    +     
   /c'
Ks¦t||ƒ}t|ƒ}|jƒ}|jƒ}    |jƒ}
tj|ƒ} tj|ƒ} tj|ƒ} d}t}| r¹t    }t
j dƒt |j ƒtjddƒdƒ}n|s5|jtjƒ}|jtjƒ}|jtjƒ}ttjddƒƒ}t
j|ƒr5dtdtjƒfSntdtjƒ}t}|rl|tdtjƒO}nt}|r‘|tdtjƒO}n|r°|tdtjƒO}ntjƒ}|jtj ƒ}|j!ƒ}|rædn|jtj"ƒ}|jtj#ƒ}|jtj$ƒ}d\}}| rU|jtj%ƒ}|jtj&ƒ}nd\}} | rŽ|jtj'ƒ}|jtj(ƒ} n|t)j*krÄ|jtj+ƒ}!|jtj,ƒ}"n$|jtj-ƒ}!|jtj.ƒ}"|d:}|d:}|d:}|d:}| d:} |!d:}!|"d:}"|d:}|d:}t
j d||    |
|||||fƒd    |krÈ|j/d
dƒ}#|j/d dƒ}$|j/d    dƒ}%ttjd dƒƒ}&n¿| rúttjd dƒƒ}&t
j d|&ƒn| r,ttjd dƒƒ}&t
j d|&ƒn[| r^ttjd dƒƒ}&t
j d|&ƒn)ttjd dƒƒ}&t
j d|&ƒt dt1|&ƒƒ}&|&|fS(s ¼ÆËãÉ˺¦
    is        XP±ØÃüÖÐR–itMissCfgigˆÃ@sYÉËѪ¼ÆËã: atkID=%s,defID=%s,skillID=%s,atkSkillPer=%s,aAtk=%s,dDef=%s,dHP=%s,hurtTypes=%sthurtFormulaKeyt    burnValuetburnPert
DOTFormulat HurtFormulas    ÆÕ¹¥¼¼ÄÜÉ˺¦=%ss    Å­Æø¼¼ÄÜÉ˺¦=%sis    ·´»÷É˺¦=%sis    ÆäËûÉ˺¦=%s(ii(iiN(2RRRR
R*RÊRÇtisAtkbackSkillRRRRR…RžRR›t GetAttrValueRHtAttrID_MissRateDeftAttrID_MissRatet GetDictByKeytDef_Obj_Dict_TurnMissNumtevaltGetFuncCompileCfgRâtpowRàtHurtType_NormaltHurtType_SuperHittHurtType_ParrytHurtType_IgnoreDefR`t
AttrID_AtkRCt
AttrID_DeftAttrID_FinalDamPertAttrID_FinalDamPerDeftAttrID_NormalSkillPertAttrID_NormalSkillPerDeftAttrID_AngerSkillPertAttrID_AngerSkillPerDefRRtAttrID_MagDamPertAttrID_MagDamPerDeftAttrID_PhyDamPertAttrID_PhyDamPerDeftgetR.Rœ('RòRðRñR÷RøtatkwargstpmTypet    ignoreDefRóRôR5RÊRÇRt angerOverflowtmustHitt aMissRateDeft    dMissRatetmissNumtmissRateRüt
isSuperHittisParrytrandtaAtkRtdDeft aFinalDamPertdFinalDamPerDeftaNormalSkillPertdNormalSkillPerDeftaAngerSkillPertdAngerSkillPerDeft    aPMDamPert dPMDamPerDeft
aBurnValuetaBurnPerRþRû((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyRê†sœ     (    
 
 
 
 
 
 
 
 
      cCs£|jƒsdSt|jƒtjddƒƒ}|dkrBdS|jƒ|}|j|ƒ|j|ƒtj    d||fƒt
j ||||dt ƒdS(s¼ÆËã·´µ¯·´µ¯É˺¦
    Ngš™™™™™¹?gš™™™™™É?is    ·´µ¯É˺¦=%s,remainHP=%stisBounce( RuRœt    GetHurtHPR`tuniformRCt SetBounceHPR†RRRRîR(RòRðR•RñtbounceHPR’((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyRìôs "   c    Csµt|jƒtjddƒƒ}|dkr2dS|jƒ}|jƒ}t|||ƒ}||}|j|ƒ|j|ƒt    j
d|||fƒt j ||||ƒdS(s ¼ÆËãÎüѪ
    gš™™™™™¹?gš™™™™™É?iNs    ÎüѪ=%s,remainHP=%s/%s( RœR6R`R7RCRƒR„t    SetSuckHPR†RRRRŽ(    RòRðR•RñtsuckHPtcurHPtmaxHPR’R((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyRís"   
  c
Cs®d}|jtjƒ}|j|dƒ}|j|dƒ}|tjkrZ|jƒ}nH|tjkrx|jƒ}n*|tjkr¢|s“dn    |jƒ}nd}d}    d}
t    j
|ƒrët |j ƒt jddƒdƒ}
n|ttjƒ:}|ttjƒ:}|    ttjƒ:}    t d|ƒ} tt jddƒƒ} |sft| tjƒ} nt dt| ƒƒ} tjd| |jƒ|| |||    |
fƒ| S(s ¼ÆËãÖÎÁÆÖµ
    iiR–it CureFormulasi¼ÆËãÖÎÁÆÖµ(%s)£ºskillID=%s,cureType=%s,baseValue=%s,skillPer=%s,curePer=%s,cureDefPer=%s,angerOverflow=%s(R˜RHtDef_Skill_Effect_CureRštDef_Cure_AttacktGetAtktDef_Cure_MaxHPRƒtDef_Cure_TagMaxHPR*RÇR…RžRR›tfloatRáR    R
R„tDef_UpperLimit_DWordRœRRR
( tuserObjR=RñRt cureBaseValueR£tskillPertcureTypetcurePert
cureDefPerR t    baseValueR((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR‚s4(    &cCsštjƒ}|jtjƒ}|jƒ|_t||ƒ|_|j    ƒ|_
|j ƒt j |_|j ƒt j |_|jƒ|_g|_xâ|jƒD]Ô}|jtjƒ}|jƒ|_|jƒ|_|jƒt j |_|jƒt j |_|jƒt j |_|jƒt j |_t|jƒt jƒ|_t|j ƒt jƒ|_!|jj"|ƒqŸWt#|jƒ|_$|j%|ƒdS(N(&RRRR$t tagSCUseSkillRtObjIDRtPMTypeRÆt
BattleTypeRCRHtDef_PerPointValuetCurHPtCurHPExR
tSkillIDtHurtListtGetHurtObjListttagSCUseSkillHurttGetObjIDt GetHurtTypest AttackTypesR6tHurtHPtHurtHPExtGetCurHPR„t    GetSuckHPREtSuckHPt GetBounceHPtBounceHPRRRt    HurtCountR)(R0R1RR;R@R•thurt((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR²Ls.      ic Csõ|tjkrdStj|\}}    tjƒ}
|
jtjƒ} |jƒ| _|| _    |    r¥|t
j | _ |t
j | _ |t
j | _|t
j | _n$|| _ d| _ || _d| _|| _|| _|| _|j| ƒdS(s֪ͨ¶ÔÏóÊôÐÔË¢ÐÂչʾB418
    @param attrID: Í¨Öª±ä»¯µÄÊôÐÔID
    @param diffValue: ±ä»¯Öµ
    @param diffType: ±ä»¯ÀàÐÍ£¬0-¼õÉÙ£»1-Ôö¼Ó
    @param skillID: Ê¹Óõļ¼ÄܱíID£¬¼´Äĸö¼¼ÄܵÄЧ¹û
    @param relatedSkillID: ¹ØÁªµÄ¼¼ÄÜID£¬Ò»°ãÊÇÖ÷¼¼ÄÜID£¬·ÇÖ÷¼¼ÄܶîÍâ´¥·¢µÄΪ0
    Ni(RHtCDBRefresh_AttrIDDictRRRR$ttagSCObjPropertyRefreshViewRRNt RefreshTypeRÎRQtValuetValueExt    DiffValuet DiffValueExtDiffTypeRTtRelatedSkillIDR)( R0R1R©tvalueR®R¬R5R¢t refreshTypetisBigR;R@((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyR fs*                                  ((RHRRR*RRR$RÌRÎRRxRR½R`RRR.tTurnBattleType_NormalRARRXR,R-R|R}R~RzR³R´R·RÕRÁR€RêRìRíRR‚R²R (((sgD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Skill\TurnSkill.pyt<module>sH                          N    ˆ                 !    
        B    /    %            
    1    :    n         /