除了充盈都做完了

This commit is contained in:
SoulliesOfficial
2025-10-31 10:02:30 -04:00
parent 5d09ef7b53
commit ee1d3d9c0a
179 changed files with 3239 additions and 200 deletions

View File

@@ -0,0 +1,39 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class Abundant : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_SelectHandCards>().SetCondition(SelectCondition).SetEffect(SelectEffect);
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = new CommandGroup(ExecutionMode.Sequential,
new Cmd_PlayAnimation(user.characterView, "Skill"));
LogicComponent<CardLogicComponent_SelectHandCards>().AddSelectionCommands(ref mainGroup);
return mainGroup;
}
private bool SelectCondition(CardInstance card)
{
return card.cardLogic.contentSubmodule.cardType is CardType.Attack && card.cardLogic.HasKeyword("Magic");
}
private void SelectEffect(CardInstance card)
{
/*if (card.cardLogic.HasAttribute("Damage"))
{
card.cardLogic.ModifyAttribute("Damage", GetAttribute("DamageIncrease"));
}*/
}
}
}

View File

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

View File

@@ -0,0 +1,38 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class ArcaneMissiles : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
List<CommandBase> templates = new List<CommandBase>();
templates.Add(new Cmd_PlayAnimation(user.characterView, "Attack"));
for (int i = 0; i < GetAttribute("AttackCount"); i++) //多段攻击(段数可变)情况的处理
{
templates.Add(new Cmd_ParamFunction<CharacterBase>(0.4f, target => user.Attack(target, GetFinalDamage(target))));
}
CommandGroup mainGroup = TargetListCommandGroup(targetList, ExecutionMode.Sequential, ExecutionMode.Sequential, templates.ToArray());
return mainGroup;
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Arcane();
}
}
}

View File

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

View File

@@ -0,0 +1,25 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using Continentis.Mods.Basic.Buffs;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class ConcentratedSpellcasting : CardLogicBase
{
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = new CommandGroup(ExecutionMode.Sequential,
new Cmd_PlayAnimation(user.characterView, "Skill"),
new Cmd_Function(() =>
{
CreateCharacterBuff<Buffs.ConcentratedSpellcasting>(GetAttribute("BuffStack_ConcentratedSpellcasting")).Apply(user, user, this);
}));
return mainGroup;
}
}
}

View File

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

View File

@@ -0,0 +1,39 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using Continentis.Mods.Basic.Buffs;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class ElectricClaw : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_PlayAnimation(user.characterView, "Attack"),
new Cmd_ParamFunction<CharacterBase>(0.2f, target =>
{
user.Attack(target, GetFinalDamage(target));
}));
mainGroup.AddCommand(new Cmd_Function(()=>
{
CreateCharacterBuff<Resonance>(GetAttribute("BuffStack_Resonance")).Apply(user, user, this);
}));
return mainGroup;
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Arcane();
}
}
}

View File

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

View File

@@ -0,0 +1,36 @@
using System.Collections.Generic;
using Continentis.MainGame;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class FarSighted : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_SelectHandCards>().SetEffect(SelectEffect);
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
CommandGroup mainGroup = new CommandGroup(ExecutionMode.Sequential);
mainGroup.AddCommand(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.cardLogic.contentSubmodule.keywords.Add("Retain");
card.cardLogic.contentSubmodule.originalFunctionText += " + $Keyword(\"Retain\")";
CardTextInterpreter.InterpretText(card.cardLogic, true);
card.handCardView.Setup();
}
}
}

View File

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

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 SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class FireBall : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_PlayAnimation(user.characterView, "Attack"),
new Cmd_ParamFunction<CharacterBase>(0.2f, target =>
{
user.Attack(target, GetFinalDamage(target));
CreateCharacterBuff<Burn>(GetAttribute("BuffStack_Burn")).Apply(target, user, this);
}));
return mainGroup;
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Arcane();
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 69f6031d6d6952b4e90185dbddd38070

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,25 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using Continentis.Mods.Basic.Buffs;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class IdentifyWeakness : CardLogicBase
{
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_PlayAnimation(user.characterView, "Skill"),
new Cmd_ParamFunction<CharacterBase>(0.1f, target =>
{
CreateCharacterBuff<Vulnerable>(GetAttribute("BuffCount_Vulnerable")).Apply(target, user, this);
}));
return mainGroup;
}
}
}

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 Continentis.Mods.Basic.Buffs;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class Scorch : CardLogicBase
{
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_PlayAnimation(user.characterView, "Skill"),
new Cmd_ParamFunction<CharacterBase>(0.1f, target =>
{
if (target.combatBuffSubmodule.TryGetBuff(out Burn burn))
{
int stacksToAdd = burn.unitedStackSubmodule.stackAmount * GetAttribute("BuffStackAmplifier_Burn");
burn.unitedStackSubmodule.AddStack(stacksToAdd);
}
}));
return mainGroup;
}
}
}

View File

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

View File

@@ -0,0 +1,36 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class WitchcraftRay : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_PlayAnimation(user.characterView, "Attack"),
new Cmd_ParamFunction<CharacterBase>(target =>
{
user.Attack(target, GetFinalDamage(target));
}));
return mainGroup;
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Arcane();
}
}
}

View File

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