hxp
2024-09-18 d0d6f28bee730ee64bf46adffa4f768d6af6ac0c
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
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package Skill.PassiveBuff.PassiveSkill_5010
#
# @todo:¹¥»÷ÓÐX%µÄ¸ÅÂÊÔì³ÉX±¶É˺¦
# @author hxp
# @date 2024-04-02
# @version 1.0
#
# ÏêϸÃèÊö: ¹¥»÷ÓÐX%µÄ¸ÅÂÊÔì³ÉX±¶É˺¦£¬Í¬¸ö¼¼ÄÜÖ§³ÖͬʱÅäÖöà¸ö²»Í¬¸ÅÂʲ»Í¬±¶Öµ£»
#
#-------------------------------------------------------------------------------
#"""Version = 2024-04-02 19:00"""
#-------------------------------------------------------------------------------
 
import GameWorld
 
g_multiValue = 0 # ±¶Öµ
 
def CheckCanHappen(attacker, defender, effect, curSkill):
    global g_multiValue
    g_multiValue = 0
    
    effID = effect.GetEffectID()
    for i in range(0, curSkill.GetEffectCount()):
        curEffect = curSkill.GetEffect(i)
        curEffectID = curEffect.GetEffectID()
        cValue = curEffect.GetEffectValue(2)
        if curEffectID != effID and cValue != effID:
            # ¶à×éµÄ»°£¬ÆäÓàµÄЧ¹ûID±ØÐëÅä0£¬ÇҠЧ¹ûID ÅäÖÃÔÚCÖµ£¬²»È»»áµ¼ÖÂͬ¸ö±»¶¯¼¼ÄܸÅÂÊÖØ¸´¼ÆËã¶à´Î£¨Öظ´´ÎÊý=ÅäÖõÄ×éÊý£©
            continue
        rate = curEffect.GetEffectValue(0)
        value = curEffect.GetEffectValue(1)
        canHappen = GameWorld.CanHappen(rate)
        #GameWorld.DebugLog("¸ÅÂÊX±¶: skillID=%s,effID=%s,rate=%s,value=%s,cValue=%s,canHappen=%s" 
        #                  % (curSkill.GetSkillID(), curEffectID, rate, value, cValue, canHappen))
        # È¡×î¸ß±¶Öµ
        if canHappen and value > g_multiValue:
            g_multiValue = value
            
    return True if g_multiValue else False
 
def GetValue(attacker, defender, effect):
    #GameWorld.DebugLog("    g_multiValue=%s" % (g_multiValue))
    return g_multiValue