卡牌更新

This commit is contained in:
SoulliesOfficial
2026-04-08 04:48:35 -04:00
parent c3b1561375
commit dd2657573a
242 changed files with 1950 additions and 926 deletions

View File

@@ -1,37 +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 Bludgeon : CardLogicBase
{
public override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
}
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
return ForEachTarget(
targetList,
target => Cmd.Sequential(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.After(0.1f, () =>
{
AttackTarget(target, GetTargetedFinalDamage(target));
CreateCharacterBuff<Weak>().Apply(target, user, this);
})
),
ExecutionMode.Sequential);
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Strike();
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 73f5de9cd3455fd4881b542c09dfe49e

View File

@@ -1,41 +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 DualStrike : CardLogicBase
{
public override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
}
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
// 对每个目标顺序执行两段攻击,每段各播一次动画
return ForEachTarget(
targetList,
target => Cmd.Sequential(
Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.Do(() => AttackTarget(target, GetTargetedFinalDamage(target)))
),
Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Attack"),
Cmd.Do(() => AttackTarget(target, GetTargetedFinalDamage(target)))
)
),
ExecutionMode.Sequential);
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Strike();
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: fc0701f3ead1f4b4d8cb95d1dc3000cd

View File

@@ -25,7 +25,7 @@ namespace Continentis.Mods.Basic.Cards
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Prick();
LogicComponent<CardLogicComponent_Attack>().SetDamage_Physics();
}
}
}

View File

@@ -0,0 +1,20 @@
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 Ignite : CardLogicBase
{
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
return ForEachTarget(targetList, target => Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Skill"),
Cmd.After(0.2f, () => CreateCharacterBuff<Burn>(GetAttribute("BuffStack_Burn")).Apply(target, user, this))
));
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: f9c20c393ab72bd4fa7f3141fada3ecd

View File

@@ -25,7 +25,7 @@ namespace Continentis.Mods.Basic.Cards
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Defense>().SetBlock_Arcane();
LogicComponent<CardLogicComponent_Defense>().SetBlock();
}
}
}

View File

@@ -30,7 +30,7 @@ namespace Continentis.Mods.Basic.Cards
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Arcane();
LogicComponent<CardLogicComponent_Attack>().SetDamage_Magic();
}
}
}

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 RayOfFrost : 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, () => AttackTarget(target, GetTargetedFinalDamage(target)))
));
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Arcane();
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: c88ec1e210cd76e41952f3d0918f66c9

View File

@@ -25,7 +25,7 @@ namespace Continentis.Mods.Basic.Cards
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Prick();
LogicComponent<CardLogicComponent_Attack>().SetDamage_Physics();
}
}
}

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 Recollection : CardLogicBase
{
public override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_SelectCustomCards>();
}
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
CommandGroup mainGroup = Cmd.Sequential(new Cmd_PlayAnimation(user.characterView, "Skill"));
List<CardInstance> discardedCards = user.deckSubmodule.DiscardPile;
LogicComponent<CardLogicComponent_SelectCustomCards>()
.AddSelectionCommands(ref mainGroup, discardedCards, "Select a non-status or non-curse card.", 1);
return mainGroup;
}
public void SelectEffect(CardInstance card)
{
CommandQueueManager.Instance.AddCommand(new Cmd_DrawCards(card.deck, new List<CardInstance>() { card }, 0.1f));
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: e9f44054ba6afc243aa3792048dfa04e

View File

@@ -0,0 +1,19 @@
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 Rouse : CardLogicBase
{
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
return Cmd.Sequential(
new Cmd_PlayAnimation(user.characterView, "Skill"),
Cmd.Do(() => user.ModifyStamina(1))
);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b41efaf5743243a4ebf8bd3505bb14b2

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 184bd3b742eb0d14faa3ce20231bb5cc

View File

@@ -6,11 +6,14 @@ using SLSFramework.General;
namespace Continentis.Mods.Basic.Cards
{
public class ThinkingCountermeasures : CardLogicBase
public class Whimsy : CardLogicBase
{
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
return user.deckSubmodule.DrawCards(GetAttribute("DrawCardAmount"));
return Cmd.Sequential(
new Cmd_PlayAnimation(user.characterView, "Skill"),
Cmd.Do(() => user.ModifyMana(1))
);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: fa7f44fcbbe2be14cb30aa67b1bdb17c

View File

@@ -27,7 +27,7 @@ namespace Continentis.Mods.Basic.Cards
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Arcane();
LogicComponent<CardLogicComponent_Attack>().SetDamage_Magic();
}
public override int GetTargetedFinalDamage(CharacterBase target, AttackContext ctx = null)