更新
This commit is contained in:
@@ -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);
|
||||
})
|
||||
),
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 55e7b0446c18b6b4d93b7fa996668cae
|
||||
@@ -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)))
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 88242ad6bd2d2c7408e3c6980672e482
|
||||
@@ -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);
|
||||
})
|
||||
));
|
||||
|
||||
@@ -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)))
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@@ -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)))
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 421bde5f4c6c60a40ad42a7456250b44
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user