This commit is contained in:
SoulliesOfficial
2026-04-17 12:01:50 -04:00
parent dd2657573a
commit ac98ec3aef
438 changed files with 4505 additions and 428 deletions

View File

@@ -0,0 +1,69 @@
using System.Collections.Generic;
using Continentis.MainGame;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using Continentis.Mods.Basic.Buffs;
using SLSUtilities.General;
namespace Continentis.Mods.Basic
{
namespace Cards
{
public class Abundant : CardLogicBase
{
public override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_SelectHandCards>().SetCondition(SelectCondition).SetEffect(SelectEffect);
}
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = Cmd.Sequential(new Cmd_PlayAnimation(user.characterView, "Skill"));
LogicComponent<CardLogicComponent_SelectHandCards>().AddSelectionCommands(ref mainGroup);
return mainGroup;
}
private bool SelectCondition(CardInstance card)
{
return card.contentSubmodule.cardType is CardType.Attack && card.HasKeyword("Magic");
}
private void SelectEffect(CardInstance card)
{
CreateCardBuff<Buffs.Abundant>(GetAttribute("BuffStack_Abundant")).Apply(card, user, this);
}
}
}
namespace Buffs
{
public class Abundant : CardCombatBuffBase
{
public Abundant(int stack)
{
Initialize(BuffType.Positive, BuffDispelLevel.Strong);
this.contentSubmodule = new ContentSubmodule(this);
this.unitedStackSubmodule = new UnitedStackSubmodule(this, true, -1, stack);
this.attributeSubmodule = new AttributeSubmodule(this);
this.attributeSubmodule.numericChange.Add("Damage", stack);
}
public override bool OnBuffApply(out CardCombatBuffBase existingBuff)
{
if (FindExistingSameBuff(out existingBuff))
{
existingBuff.unitedStackSubmodule.ModifyStack(this.unitedStackSubmodule.stackAmount);
int newStack = existingBuff.unitedStackSubmodule.stackAmount;
existingBuff.attributeSubmodule.numericChange["Damage"] = newStack;
return false;
}
return true;
}
}
}
}

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,33 @@
using System.Collections.Generic;
using Continentis.MainGame;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSUtilities.General;
namespace Continentis.Mods.Basic.Cards
{
public class FarSighted : CardLogicBase
{
public override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_SelectHandCards>().SetEffect(SelectEffect);
}
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
CommandGroup mainGroup = Cmd.Sequential(new Cmd_PlayAnimation(user.characterView, "Skill"));
LogicComponent<CardLogicComponent_SelectHandCards>()
.AddSelectionCommands(ref mainGroup, "Card_Basic_FarSighted_SelectionCommandTitle".Localize(), 1);
return mainGroup;
}
private void SelectEffect(CardInstance card)
{
card.contentSubmodule.keywords.Add("Retain");
card.contentSubmodule.originalFunctionText += " + $Keyword(\"Retain\")";
card.contentSubmodule.dirtyMark = true;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 239a74c46842bee4e8af12f846b405ab

View File

@@ -0,0 +1,22 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSUtilities.General;
namespace Continentis.Mods.Basic.Cards
{
public class FlameInscription : CardLogicBase
{
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
return Cmd.Sequential(
new Cmd_PlayAnimation(user.characterView, "Skill"),
Cmd.Do(() =>
CreateCharacterBuff<Buffs.FlameInscription>(GetAttribute("BuffStack_FlameInscription"))
.Apply(user, user, this)
)
);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 10c8d4faf49be8349ac092999f496973

View File

@@ -0,0 +1,19 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSUtilities.General;
namespace Continentis.Mods.Basic.Cards
{
public class Haste : CardLogicBase
{
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
return Cmd.Sequential(
new Cmd_PlayAnimation(user.characterView, "Skill"),
Cmd.Do(() => CreateCharacterBuff<Buffs.Haste>().Apply(user, user, this))
);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 96144c951656fe845863917ab00c7643

View File

@@ -0,0 +1,22 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using Continentis.Mods.Basic.Buffs;
using SLSUtilities.General;
namespace Continentis.Mods.Basic.Cards
{
public class IdentifyWeakness : CardLogicBase
{
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
{
return ForEachTarget(targetList, target => Cmd.Parallel(
new Cmd_PlayAnimation(user.characterView, "Action"),
Cmd.After(0.1f, () =>
CreateCharacterBuff<Vulnerable>(GetAttribute("BuffCount_Vulnerable")).Apply(target, user, this)
)
));
}
}
}

View File

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

View File

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

View File

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