129 【战斗】战斗系统-服务端(王元姬技能,弹射待处理;支持被动变更伤害倍值;)
4个文件已修改
1个文件已添加
41 ■■■■■ 已修改文件
PySysDB/生成IpyGameDataPY/IpyGameDataPYTemp.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6003.py 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/Éú³ÉIpyGameDataPY/IpyGameDataPYTemp.py
@@ -303,6 +303,11 @@
                    value = int(value)
                elif (value.startswith("[") and value.endswith("]")) or (value.startswith("(") and value.endswith(")")):
                    value = eval(value)
                else:
                    try:
                        value = float(value)
                    except:
                        pass
                setList.append(value)
            if setList:
                setList = tuple(setList)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4289,6 +4289,7 @@
# è¢«åŠ¨æ•ˆæžœID,属性类的直接使用属性ID当做效果ID
PassiveEff_AddBuffLayerByWeight = 6001 # æ ¹æ®æƒé‡éšæœºæ·»åŠ buff层数 æ•°å€¼1-[[权重,层级], ...]
PassiveEff_ChangeHurtType = 6002 # å˜æ›´ä¼¤å®³ç±»åž‹: å€¼1-伤害类型;值2-可附加验证处于xx状态 [状态1, çŠ¶æ€2, ...]
PassiveEff_ChangeHurtMulti = 6003 # å˜æ›´ä¼¤å®³å€å€¼ï¼ˆå¯å¢žå¯å‡ï¼‰: å€¼1-变更倍值;值2-可附加验证处于xx状态 [状态1, çŠ¶æ€2, ...]
# è¢«åŠ¨æ•ˆæžœID有触发值时就返回的
PassiveEffHappenValueList = [PassiveEff_ChangeHurtType]
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -6927,6 +6927,11 @@
                    value = int(value)
                elif (value.startswith("[") and value.endswith("]")) or (value.startswith("(") and value.endswith(")")):
                    value = eval(value)
                else:
                    try:
                        value = float(value)
                    except:
                        pass
                setList.append(value)
            if setList:
                setList = tuple(setList)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6003.py
New file
@@ -0,0 +1,23 @@
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package Skill.PassiveTrigger.PassiveEff_6003
#
# @todo:伤害翻倍
# @author hxp
# @date 2025-09-16
# @version 1.0
#
# è¯¦ç»†æè¿°: ä¼¤å®³ç¿»å€
#
#-------------------------------------------------------------------------------
#"""Version = 2025-09-16 17:30"""
#-------------------------------------------------------------------------------
def GetHappenValue(attacker, defender, curEffect, effSkill, **skillkwargs):
    checkInStateList = curEffect.GetEffectValue(1)
    if checkInStateList:
        if not defender.CheckInState(checkInStateList):
            return
    return curEffect.GetEffectValue(0)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -1143,7 +1143,12 @@
        hurtValue = hurtValue * (1 - parryReduceRatio)
        GameWorld.DebugLog("    æ ¼æŒ¡åŽä¼¤å®³=%s,parryReduceRatio=%s" % (hurtValue, parryReduceRatio))
        
    hurtValue = max(1, int(hurtValue)) # è´Ÿå€¼ã€ä¿åº•防范
    multiValue = TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_ChangeHurtMulti, curSkill)
    if multiValue and multiValue != 1:
        hurtValue = int(hurtValue * multiValue)
        GameWorld.DebugLog("    ä¼¤å®³å€å€¼: hurtValue=%s,multiValue=%s" % (hurtValue, multiValue))
    hurtValue = max(1, int(hurtValue)) # è´Ÿå€¼ã€ä¿åº•防范,放最后
    return hurtValue, hurtTypes
def CanSuperHit(turnFight, atkObj, defObj, curSkill):