除了充盈都做完了
This commit is contained in:
46
Assets/Mods/Basic/Cards/Scripts/Knight/DivineSmite.cs
Normal file
46
Assets/Mods/Basic/Cards/Scripts/Knight/DivineSmite.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e904dc1daa5821a408f2abd6f29c97a0
|
||||
39
Assets/Mods/Basic/Cards/Scripts/Knight/EstablishFormation.cs
Normal file
39
Assets/Mods/Basic/Cards/Scripts/Knight/EstablishFormation.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eba3b7ce4bc2af042bf93ecb12fc9927
|
||||
39
Assets/Mods/Basic/Cards/Scripts/Knight/FirmBelief.cs
Normal file
39
Assets/Mods/Basic/Cards/Scripts/Knight/FirmBelief.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a2f57e9784b12854c823cd5f661beced
|
||||
21
Assets/Mods/Basic/Cards/Scripts/Knight/OathOfHonor.cs
Normal file
21
Assets/Mods/Basic/Cards/Scripts/Knight/OathOfHonor.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d72f88c86e4d994f874c94972855107
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user