除了充盈都做完了

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,46 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Combat;
using Continentis.MainGame.Commands;
using Continentis.Mods.Basic.Buffs;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class DivineSmite : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
AddLogicComponent<CardLogicComponent_Protect>();
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_PlayAnimation(user.characterView, "Attack"),
new Cmd_PlaySFX("SFX_Basic_SwordStrike"),
new Cmd_SpawnVFX("VFX_Basic_RedImpact"),
new Cmd_ParamFunction<CharacterBase>(target => user.Attack(target, GetFinalDamage(target))));
foreach (CharacterBase protectTarget in CombatMainManager.Instance.characterController.GetAllAllies(user))
{
Cmd_ParamFunction<CharacterBase> protectCommand = new Cmd_ParamFunction<CharacterBase>((target) =>
{
LogicComponent<CardLogicComponent_Protect>().GenerateProtection(user, target, GetAttribute("BuffCount_Protecting"));
});
protectCommand.selfContext.context["Target"] = protectTarget;
mainGroup.AddCommand(protectCommand);
}
return mainGroup;
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Slash();
}
}
}

View File

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

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 EstablishFormation : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Defense>();
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_PlayAnimation(user.characterView, "Skill"),
new Cmd_ParamFunction<CharacterBase>(0.2f, target =>
{
target.AddBlock(GetAttribute("Block"));
int stack = GetAttribute("BuffStack_EstablishFormation");
int count = GetAttribute("BuffCount_EstablishFormation");
CreateCharacterBuff<Buffs.EstablishFormation>(stack, count).Apply(target, user, this);
}));
return mainGroup;
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Defense>().SetBlock_Fortitude();
}
}
}

View File

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

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 FirmBelief : CardLogicBase
{
public override void Initialize()
{
base.Initialize();
this.eventSubmodule.onInitiativeDiscard.Add("FirmBelief_PlayWhenDiscard",
new PrioritizedCheckAndEffect(() => true, () => this.Play(new List<CharacterBase>(), user)));
}
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Defense>();
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = SingleCommandGroup(
new Cmd_PlayAnimation(user.characterView, "Skill"),
new Cmd_Function(() => user.AddBlock(GetAttribute("Block"))),
new Cmd_Function(() => user.deckSubmodule.DrawCards(GetAttribute("DrawCardAmount"))));
return mainGroup;
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Defense>().SetBlock_Fortitude();
}
}
}

View File

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

View File

@@ -0,0 +1,21 @@
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 OathOfHonor : CardLogicBase
{
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = new CommandGroup(ExecutionMode.Sequential,
new Cmd_PlayAnimation(user.characterView, "Skill"),
new Cmd_Function(() => user.ModifyStamina(GetAttribute("StaminaRestore"))));
return mainGroup;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9d72f88c86e4d994f874c94972855107

View File

@@ -1,16 +1,50 @@
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General;
using UnityEngine;
public class UtmostStrike : MonoBehaviour
namespace Continentis.Mods.Basic.Cards
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
public class UtmostStrike : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_Attack>();
AddLogicComponent<CardLogicComponent_SelectHandCards>().SetCondition(SelectCondition).SetEffect(SelectEffect);
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_PlayAnimation(user.characterView, "Attack"),
new Cmd_PlaySFX("SFX_Basic_SwordStrike"),
new Cmd_SpawnVFX("VFX_Basic_RedImpact"),
new Cmd_ParamFunction<CharacterBase>(target =>
{
user.Attack(target, GetFinalDamage(target));
})); //对目标造成伤害
LogicComponent<CardLogicComponent_SelectHandCards>().AddSelectionCommands(ref mainGroup);
return mainGroup;
}
public override void ApplyAttributeChangesByCard()
{
LogicComponent<CardLogicComponent_Attack>().SetDamage_Slash();
}
private bool SelectCondition(CardInstance card)
{
return card.cardLogic.contentSubmodule.cardType is not CardType.Attack;
}
private void SelectEffect(CardInstance card)
{
CommandQueueManager.Instance.AddCommand(user.deckSubmodule.DiscardCard(card, true), new CommandContext());
}
}
// Update is called once per frame
void Update()
{
}
}
}