This commit is contained in:
SoulliesOfficial
2026-04-01 12:23:27 -04:00
parent aff7ac0e03
commit c3b1561375
933 changed files with 114333 additions and 119360 deletions

View File

@@ -22,7 +22,7 @@ namespace Continentis.Mods.Basic.Cards
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.After(0.1f, () =>
{
user.Attack(target, GetTargetedFinalDamage(target));
AttackTarget(target, GetTargetedFinalDamage(target));
CreateCharacterBuff<Weak>().Apply(target, user, this);
})
),

View File

@@ -23,11 +23,11 @@ namespace Continentis.Mods.Basic.Cards
target => Cmd.Sequential(
Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.Do(() => user.Attack(target, GetTargetedFinalDamage(target)))
Cmd.Do(() => AttackTarget(target, GetTargetedFinalDamage(target)))
),
Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.Do(() => user.Attack(target, GetTargetedFinalDamage(target)))
Cmd.Do(() => AttackTarget(target, GetTargetedFinalDamage(target)))
)
),
ExecutionMode.Sequential);

View File

@@ -1,36 +0,0 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using Continentis.Mods.Basic.Buffs;
using SLSFramework.General;
namespace Continentis.Mods.Basic.Cards
{
public class FireBolt : CardLogicBase
{
public override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
}
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
return ForEachTarget(targetList, target => Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.After(0.2f, () =>
{
user.Attack(target, GetTargetedFinalDamage(target));
new Burn(GetAttribute("BuffLayer_Burn")).Apply(target, user, this);
})
));
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Arcane();
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 55e7b0446c18b6b4d93b7fa996668cae

View File

@@ -19,7 +19,7 @@ namespace Continentis.Mods.Basic.Cards
return ForEachTarget(targetList, target => Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.After(0.2f, () => user.Attack(target, GetTargetedFinalDamage(target)))
Cmd.After(0.2f, () => AttackTarget(target, GetTargetedFinalDamage(target)))
));
}

View File

@@ -1,31 +0,0 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General;
namespace Continentis.Mods.Basic.Cards
{
public class Prick : CardLogicBase
{
public override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
}
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
return ForEachTarget(targetList, target => Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.After(0.1f, () => user.Attack(target, GetTargetedFinalDamage(target)))
));
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Prick();
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 88242ad6bd2d2c7408e3c6980672e482

View File

@@ -22,7 +22,7 @@ namespace Continentis.Mods.Basic.Cards
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.After(0.2f, () =>
{
user.Attack(target, GetTargetedFinalDamage(target));
AttackTarget(target, GetTargetedFinalDamage(target));
new Blind(GetAttribute("BuffLayer_Blind")).Apply(target, user, this);
})
));

View File

@@ -19,7 +19,7 @@ namespace Continentis.Mods.Basic.Cards
return ForEachTarget(targetList, target => Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.After(0.2f, () => user.Attack(target, GetTargetedFinalDamage(target)))
Cmd.After(0.2f, () => AttackTarget(target, GetTargetedFinalDamage(target)))
));
}

View File

@@ -19,7 +19,7 @@ namespace Continentis.Mods.Basic.Cards
return ForEachTarget(targetList, target => Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.After(0.1f, () => user.Attack(target, GetTargetedFinalDamage(target)))
Cmd.After(0.1f, () => AttackTarget(target, GetTargetedFinalDamage(target)))
));
}

View File

@@ -1,33 +0,0 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General;
namespace Continentis.Mods.Basic.Cards
{
public class Strike : CardLogicBase
{
public override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
}
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
// 旧版使用 Cmd_PlayAnimation.AddAction 在动画 70% 处注入伤害,
// 现改为 Cmd.Parallel 同步触发动画与延迟伤害,保留 0.7s 等效延迟
return ForEachTarget(targetList, target => Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
new Cmd_PlaySFX("SFX_Basic_SwordStrike"),
new Cmd_SpawnVFX("VFX_Basic_RedImpact"),
Cmd.After(0.7f, () => user.Attack(target, GetTargetedFinalDamage(target)))
));
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Strike();
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 421bde5f4c6c60a40ad42a7456250b44

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using Continentis.MainGame;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
@@ -29,14 +30,14 @@ namespace Continentis.Mods.Basic.Cards
LogicComponent<CardLogicComponent_Attack>().SetDamage_Arcane();
}
public override int GetTargetedFinalDamage(CharacterBase target, List<string> elementalTags = null)
public override int GetTargetedFinalDamage(CharacterBase target, AttackContext ctx = null)
{
float baseDamageFromSuppress = 0;
if (target is CombatNPC npc && user.IsOpponent(npc))
baseDamageFromSuppress = npc.actionCountThisRound == 0 ? 4f : 0f;
base.GetFinalDamage(target, elementalTags, out float baseDamageAfterOffset, out float elementalAmplifier, out float magicAmplifier, out float finalAmplifier);
base.GetFinalDamage(target, ctx, out float baseDamageAfterOffset, out float elementalAmplifier, out float magicAmplifier, out float finalAmplifier);
float finalDamage = (baseDamageAfterOffset + baseDamageFromSuppress) * elementalAmplifier * magicAmplifier * finalAmplifier;