修改技能ScarletMistRealTimeVampire

This commit is contained in:
wuwenbo 2025-11-11 14:53:24 +08:00
parent e9ec5ee4a7
commit 4079a8e385
7 changed files with 111 additions and 46 deletions

View File

@ -209,6 +209,7 @@ public enum SkillType
REMILIAHELPPRO,
KOAKUMADEVOTION,
KOAKUMAHERO,
ScarletMistRealTimeVampireDebuff,
Max,
}

View File

@ -0,0 +1,31 @@
/*
* @Author:
* @Description:
* @Date: 20250423 21:04:18
* @Modify:
*/
using RuntimeData;
using System;
using UnityEngine;
using MemoryPack;
using TH1Renderer;
namespace Logic.Skill
{
public partial class ScarletMistRealTimeVampireDebuffSkill : SkillBase
{
public ScarletMistRealTimeVampireDebuffSkill()
{
IsPermanent = false;
TurnsLimit = 0;
}
public override SkillType GetSkillType()
{
return SkillType.ScarletMistRealTimeVampireDebuff;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 46b6bee005524a5185e8da14d07ac495
timeCreated: 1762843348

View File

@ -7,10 +7,6 @@
using RuntimeData;
using System;
using UnityEngine;
using MemoryPack;
using TH1Renderer;
namespace Logic.Skill
@ -28,23 +24,32 @@ namespace Logic.Skill
return SkillType.ScarletMistRealTimeVampire;
}
public override float GetAttackAdditionParam(MapData mapData, UnitData self, UnitData target = null)
{
if (self.GetSkill(SkillType.ScarletMistRealTimeVampireDebuff, out _)) return 0;
return 0.5f;
}
public override void OnDamageOther(MapData mapData, SettlementInfo info)
{
//主动攻击或者反击(反击限定为斯卡雷特帝国的成员)
if (info.DamageType == DamageType.ActiveAttack ||
(info.DamageType == DamageType.CounterAttack && info.DamageOrigin.GetSkill(SkillType.RemiliaEgyptianEmpireKill,out var _)))
{
info.DamageOrigin.Health += (int)Math.Round(info.DamageValue * 0.2f);
if (info.DamageOrigin.Health > info.DamageOrigin.GetMaxHealth())
info.DamageOrigin.Health = info.DamageOrigin.GetMaxHealth();
if (mapData.GetGridDataByUnitId(info.DamageOrigin.Id, out var grid))
grid.Renderer(mapData)?.PlayVFX(new GridVFXParams(GridVFXType.Heal));
info.DamageOrigin.Renderer(mapData)?.InstantUpdateUnit(false);
}
if (info.DamageType != DamageType.ActiveAttack) return;
info.DamageOrigin.AddSkill(SkillType.ScarletMistRealTimeVampireDebuff);
}
// public override void OnDamageOther(MapData mapData, SettlementInfo info)
// {
// //主动攻击或者反击(反击限定为斯卡雷特帝国的成员)
// if (info.DamageType == DamageType.ActiveAttack ||
// (info.DamageType == DamageType.CounterAttack && info.DamageOrigin.GetSkill(SkillType.RemiliaEgyptianEmpireKill,out var _)))
// {
// info.DamageOrigin.Health += (int)Math.Round(info.DamageValue * 0.2f);
// if (info.DamageOrigin.Health > info.DamageOrigin.GetMaxHealth())
// info.DamageOrigin.Health = info.DamageOrigin.GetMaxHealth();
// if (mapData.GetGridDataByUnitId(info.DamageOrigin.Id, out var grid))
// grid.Renderer(mapData)?.PlayVFX(new GridVFXParams(GridVFXType.Heal));
//
// info.DamageOrigin.Renderer(mapData)?.InstantUpdateUnit(false);
// }
// }
}
}

View File

@ -0,0 +1,13 @@
// Auto-generated ScarletMistRealTimeVampireDebuffSkill partial class with MemoryPackable attribute
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
using MemoryPack;
using Logic.Skill;
namespace Logic.Skill
{
[MemoryPackable]
public partial class ScarletMistRealTimeVampireDebuffSkill
{
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 41a912772fa7bfd4485e2fa351dea799
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -108,33 +108,34 @@ namespace Logic.Skill
[MemoryPackUnion(100, typeof(SakuyaGuardSkill))]
[MemoryPackUnion(101, typeof(SakuyaKillSkill))]
[MemoryPackUnion(102, typeof(SatsujinkiSkill))]
[MemoryPackUnion(103, typeof(ScarletMistRealTimeVampireSkill))]
[MemoryPackUnion(104, typeof(ScoutSkill))]
[MemoryPackUnion(105, typeof(SneakSkill))]
[MemoryPackUnion(106, typeof(SpeedUpSkill))]
[MemoryPackUnion(107, typeof(SplashSkill))]
[MemoryPackUnion(108, typeof(StaticSkill))]
[MemoryPackUnion(109, typeof(StiffSkill))]
[MemoryPackUnion(110, typeof(StompSkill))]
[MemoryPackUnion(111, typeof(SuperDashSkill))]
[MemoryPackUnion(112, typeof(SuperHideSkill))]
[MemoryPackUnion(113, typeof(SurpriseSkill))]
[MemoryPackUnion(114, typeof(SwapSkill))]
[MemoryPackUnion(115, typeof(TaiChiSkill))]
[MemoryPackUnion(116, typeof(TewiFrenchAttackSkill))]
[MemoryPackUnion(117, typeof(TewiFrenchBuffSkill))]
[MemoryPackUnion(118, typeof(TewiFrenchDieSkill))]
[MemoryPackUnion(119, typeof(TewiFrenchKillSkill))]
[MemoryPackUnion(120, typeof(TewiFrenchSightSkill))]
[MemoryPackUnion(121, typeof(ThirdEyeSkill))]
[MemoryPackUnion(122, typeof(TrioSkill))]
[MemoryPackUnion(123, typeof(UniqueSkill))]
[MemoryPackUnion(124, typeof(VampireProSkill))]
[MemoryPackUnion(125, typeof(VampireSkill))]
[MemoryPackUnion(126, typeof(WaterDefenseSkill))]
[MemoryPackUnion(127, typeof(WaterMoveSkill))]
[MemoryPackUnion(128, typeof(WindGodSkill))]
[MemoryPackUnion(129, typeof(WindPriestessSkill))]
[MemoryPackUnion(103, typeof(ScarletMistRealTimeVampireDebuffSkill))]
[MemoryPackUnion(104, typeof(ScarletMistRealTimeVampireSkill))]
[MemoryPackUnion(105, typeof(ScoutSkill))]
[MemoryPackUnion(106, typeof(SneakSkill))]
[MemoryPackUnion(107, typeof(SpeedUpSkill))]
[MemoryPackUnion(108, typeof(SplashSkill))]
[MemoryPackUnion(109, typeof(StaticSkill))]
[MemoryPackUnion(110, typeof(StiffSkill))]
[MemoryPackUnion(111, typeof(StompSkill))]
[MemoryPackUnion(112, typeof(SuperDashSkill))]
[MemoryPackUnion(113, typeof(SuperHideSkill))]
[MemoryPackUnion(114, typeof(SurpriseSkill))]
[MemoryPackUnion(115, typeof(SwapSkill))]
[MemoryPackUnion(116, typeof(TaiChiSkill))]
[MemoryPackUnion(117, typeof(TewiFrenchAttackSkill))]
[MemoryPackUnion(118, typeof(TewiFrenchBuffSkill))]
[MemoryPackUnion(119, typeof(TewiFrenchDieSkill))]
[MemoryPackUnion(120, typeof(TewiFrenchKillSkill))]
[MemoryPackUnion(121, typeof(TewiFrenchSightSkill))]
[MemoryPackUnion(122, typeof(ThirdEyeSkill))]
[MemoryPackUnion(123, typeof(TrioSkill))]
[MemoryPackUnion(124, typeof(UniqueSkill))]
[MemoryPackUnion(125, typeof(VampireProSkill))]
[MemoryPackUnion(126, typeof(VampireSkill))]
[MemoryPackUnion(127, typeof(WaterDefenseSkill))]
[MemoryPackUnion(128, typeof(WaterMoveSkill))]
[MemoryPackUnion(129, typeof(WindGodSkill))]
[MemoryPackUnion(130, typeof(WindPriestessSkill))]
public abstract partial class SkillBase
{
}