SpiritGuardian CounterAttack has bug

This commit is contained in:
FrazeRIP
2025-11-12 01:20:19 -06:00
parent 52a7c2e00e
commit 92668e1b20
19 changed files with 261 additions and 40 deletions

View File

@@ -43,7 +43,7 @@ MonoBehaviour:
Value: 7 Value: 7
index: 3 index: 3
isKeyDuplicated: 0 isKeyDuplicated: 0
- Key: BlockStadck - Key: BlockStack
Value: 3 Value: 3
index: 4 index: 4
isKeyDuplicated: 0 isKeyDuplicated: 0

View File

@@ -19,7 +19,7 @@ MonoBehaviour:
cardRarity: 10 cardRarity: 10
cardType: 20 cardType: 20
keywords: keywords:
- TargetAllies - Blessing
- TargetSelf - TargetSelf
cardSprite: {fileID: 21300000, guid: c7e0489a5e85e65499fcacddb7c1391e, type: 3} cardSprite: {fileID: 21300000, guid: c7e0489a5e85e65499fcacddb7c1391e, type: 3}
cardLayoutTags: [] cardLayoutTags: []

View File

@@ -19,8 +19,8 @@ MonoBehaviour:
cardRarity: 10 cardRarity: 10
cardType: 20 cardType: 20
keywords: keywords:
- Blessing
- TargetSelf - TargetSelf
- TargetAllies
cardSprite: {fileID: 21300000, guid: c7e0489a5e85e65499fcacddb7c1391e, type: 3} cardSprite: {fileID: 21300000, guid: c7e0489a5e85e65499fcacddb7c1391e, type: 3}
cardLayoutTags: [] cardLayoutTags: []
functionText: Card_Basic_ShieldOfDevotion_FunctionText functionText: Card_Basic_ShieldOfDevotion_FunctionText

View File

@@ -19,7 +19,7 @@ MonoBehaviour:
cardRarity: 10 cardRarity: 10
cardType: 20 cardType: 20
keywords: keywords:
- TargetAllies - Blessing
- TargetSelf - TargetSelf
cardSprite: {fileID: 21300000, guid: c7e0489a5e85e65499fcacddb7c1391e, type: 3} cardSprite: {fileID: 21300000, guid: c7e0489a5e85e65499fcacddb7c1391e, type: 3}
cardLayoutTags: [] cardLayoutTags: []

View File

@@ -2,6 +2,7 @@
using Continentis.MainGame.Card; using Continentis.MainGame.Card;
using Continentis.MainGame.Character; using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General; using SLSFramework.General;
using System.Collections.Generic; using System.Collections.Generic;
@@ -11,7 +12,21 @@ namespace Continentis.Mods.Basic.Cards.Cleric
{ {
protected override List<CommandBase> PlayEffect(List<CharacterBase> targetList) protected override List<CommandBase> PlayEffect(List<CharacterBase> targetList)
{ {
return base.PlayEffect(targetList); base.PlayEffect(targetList);
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_PlayAnimation(user.characterView, "Skill"),
new Cmd_ParamFunction<CharacterBase>(0.2f, target =>
{
user.AddBlock(GetAttribute("Block"));
}));
mainGroup.AddCommand(new Cmd_Function(() =>
{
this.SetAttribute("Block", this.GetAttribute("Block") + this.GetAttribute("BlockStack"));
}));
return new List<CommandBase> { mainGroup };
} }
} }
} }

View File

@@ -2,8 +2,10 @@
using Continentis.MainGame.Card; using Continentis.MainGame.Card;
using Continentis.MainGame.Character; using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General; using SLSFramework.General;
using System.Collections.Generic; using System.Collections.Generic;
using Unity.VisualScripting;
namespace Continentis.Mods.Basic.Cards.Cleric namespace Continentis.Mods.Basic.Cards.Cleric
{ {
@@ -11,7 +13,21 @@ namespace Continentis.Mods.Basic.Cards.Cleric
{ {
protected override List<CommandBase> PlayEffect(List<CharacterBase> targetList) protected override List<CommandBase> PlayEffect(List<CharacterBase> targetList)
{ {
return base.PlayEffect(targetList); base.PlayEffect(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(() =>
{
this.SetAttribute("Damage", this.GetAttribute("Damage") + this.GetAttribute("DamageStack"));
}));
return new List<CommandBase> { mainGroup };
} }
} }
} }

View File

@@ -2,6 +2,7 @@
using Continentis.MainGame.Card; using Continentis.MainGame.Card;
using Continentis.MainGame.Character; using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General; using SLSFramework.General;
using System.Collections.Generic; using System.Collections.Generic;
@@ -11,7 +12,13 @@ namespace Continentis.Mods.Basic.Cards.Cleric
{ {
protected override List<CommandBase> PlayEffect(List<CharacterBase> targetList) protected override List<CommandBase> PlayEffect(List<CharacterBase> targetList)
{ {
return base.PlayEffect(targetList); CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_ParamFunction<CharacterBase>(0.01f, target =>
{
CreateCharacterBuff<Buffs.CounterAttack>(GetAttribute("BuffStack")).Apply(target, user, this);
}));
return new List<CommandBase> { mainGroup };
} }
} }
} }

View File

@@ -37,5 +37,12 @@ namespace Continentis.Mods.Basic.Buffs
unitedStackSubmodule.ReduceStack(reducedStack); unitedStackSubmodule.ReduceStack(reducedStack);
iconSubmodule.Update(); iconSubmodule.Update();
} }
public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff)
{
//TODO
existingBuff = this;
return true;
}
} }
} }

View File

@@ -0,0 +1,45 @@
using Continentis.MainGame;
using Continentis.MainGame.Character;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Buffs
{
public class CounterAttack : CharacterCombatBuffBase
{
public CounterAttack(int stack)
{
Initialize(BuffType.Positive, BuffDispelLevel.Strong);
this.contentSubmodule = new ContentSubmodule(this)
.AddParameterGetter("Stack", () => actionCountSubmodule.remainingCount.ToString());
this.iconSubmodule = new IconSubmodule(this);
this.unitedStackSubmodule = new UnitedStackSubmodule(this, true, -1, stack, true);
this.coreAttributeSubmodule = new CoreAttributeSubmodule(this);
this.coreAttributeSubmodule.numericChange.Add("PhysicsDamageDealtOffset", stack);
this.eventSubmodule = new EventSubmodule(this);
this.eventSubmodule.onGetAttacked.Add(this.GetType().FullName, new PrioritizedAction<AttackResult>(atkResult =>
{
attachedCharacter.Attack(atkResult.attacker, unitedStackSubmodule.stackAmount, null, false, true);
}));
}
public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff)
{
MainGameManager.Instance.basePrefabs.GenerateInfoText("Counter Attack", attachedCharacter.characterView);
if (FindExistingSameBuff(out existingBuff))
{
existingBuff.unitedStackSubmodule.ModifyStack(this.unitedStackSubmodule.stackAmount);
int newStack = existingBuff.unitedStackSubmodule.stackAmount;
existingBuff.coreAttributeSubmodule.numericChange["PhysicsDamageDealtOffset"] = newStack;
return false;
}
return true;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 4ed1ea7f3f7fad342a08a53bb00a0288

View File

@@ -14,31 +14,35 @@ namespace Continentis.Mods.Basic.Buffs
this.contentSubmodule = new ContentSubmodule(this) this.contentSubmodule = new ContentSubmodule(this)
.AddParameterGetter("Stack", () => unitedStackSubmodule.stackAmount.ToString()) .AddParameterGetter("Stack", () => unitedStackSubmodule.stackAmount.ToString())
.AddParameterGetter("Count", () => actionCountSubmodule.remainingCount.ToString()); .AddParameterGetter("Count", () => actionCountSubmodule.remainingCount.ToString());
this.iconSubmodule = new IconSubmodule(this); this.iconSubmodule = new IconSubmodule(this);
this.unitedStackSubmodule = new UnitedStackSubmodule(this, stack); this.unitedStackSubmodule = new UnitedStackSubmodule(this, stack);
this.actionCountSubmodule = new CountSubmodule(this, count); this.actionCountSubmodule = new CountSubmodule(this, count);
this.eventSubmodule = new EventSubmodule(this); this.eventSubmodule = new EventSubmodule(this);
this.eventSubmodule.onGetAttacked.Add("EstablishFormation", new PrioritizedAction<AttackResult>(atkResult => this.eventSubmodule.onGetAttacked.Add("EstablishFormation", new PrioritizedAction<AttackResult>(atkResult =>
{ {
attachedCharacter.Attack(atkResult.attacker, unitedStackSubmodule.stackAmount, null, false, true); attachedCharacter.Attack(atkResult.attacker, unitedStackSubmodule.stackAmount, null, false, true);
})); }));
this.eventSubmodule.onRoundStart.Add("EstablishFormation", new PrioritizedAction(() =>
{
this.Remove();
}));
} }
public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff) public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff)
{ {
MainGameManager.Instance.basePrefabs.GenerateInfoText(contentSubmodule.displayName, attachedCharacter.characterView); MainGameManager.Instance.basePrefabs.GenerateInfoText(contentSubmodule.displayName, attachedCharacter.characterView);
if (FindExistingSameBuff(out existingBuff)) if (FindExistingSameBuff(out existingBuff))
{ {
existingBuff.unitedStackSubmodule.PickHigherStack(this.unitedStackSubmodule); existingBuff.unitedStackSubmodule.PickHigherStack(this.unitedStackSubmodule);
existingBuff.actionCountSubmodule.PickHigherCount(this.actionCountSubmodule); existingBuff.actionCountSubmodule.PickHigherCount(this.actionCountSubmodule);
return false; return false;
} }
return true; return true;
} }
} }

View File

@@ -128,5 +128,11 @@ MonoBehaviour:
description: Keyword_Reuseable_Description description: Keyword_Reuseable_Description
index: 18 index: 18
isKeyDuplicated: 0 isKeyDuplicated: 0
- Key: CounterAttack
Value:
name: Keyword_CounterAttack
description: Keyword_CounterAttack_Description
index: 19
isKeyDuplicated: 0
dividerPosProp: 0.2 dividerPosProp: 0.2
keywordToAdd: Reuseable keywordToAdd: CounterAttack

View File

@@ -12,12 +12,12 @@ Card_Basic_ShieldOfDevotion_FunctionText,TODO,,,,,,
Card_Basic_FreedomOfMovement_DisplayName,Freedom Of Movement,行动自如,,,,, Card_Basic_FreedomOfMovement_DisplayName,Freedom Of Movement,行动自如,,,,,
Card_Basic_FreedomOfMovement_FunctionText,TODO,,,,,, Card_Basic_FreedomOfMovement_FunctionText,TODO,,,,,,
Card_Basic_SpiritGuardian_DisplayName,Spirit Guardian,灵体卫士,,,,, Card_Basic_SpiritGuardian_DisplayName,Spirit Guardian,灵体卫士,,,,,
Card_Basic_SpiritGuardian_FunctionText,TODO,,,,,, Card_Basic_SpiritGuardian_FunctionText,TODO,$Keyword("Blessing")。\n获得$Attribute("BuffStack")层$Keyword("CounterAttack")。,,,,,
Card_Basic_Faith_DisplayName,Faith,信仰,,,,, Card_Basic_Faith_DisplayName,Faith,信仰,,,,,
Card_Basic_Faith_FunctionText,TODO,$Keyword("Exhaustible"): $Attribute("ExhaustibleCount")\n抽$Attribute("DrawCount")张牌。,,,,, Card_Basic_Faith_FunctionText,TODO,$Keyword("Exhaustible"): $Attribute("ExhaustibleCount")\n抽$Attribute("DrawCount")张牌。,,,,,
Card_Basic_DivinePunishment_DisplayName,Divine Punishment,神圣惩击,,,,, Card_Basic_DivinePunishment_DisplayName,Divine Punishment,神圣惩击,,,,,
Card_Basic_DivinePunishment_FunctionText,TODO,,,,,, Card_Basic_DivinePunishment_FunctionText,TODO,造成$Attribute("Damage")点伤害。\n这张牌在本场战斗中的伤害+$Attribute("DamageStack")。,,,,,
Card_Basic_DivineProtection_DisplayName,Divine Protection,神圣守护,,,,, Card_Basic_DivineProtection_DisplayName,Divine Protection,神圣守护,,,,,
Card_Basic_DivineProtection_FunctionText,TODO,,,,,, Card_Basic_DivineProtection_FunctionText,TODO,获得$Attribute("Block")点格挡。\n这张牌在本场战斗中的格挡+$Attribute("BlockStack")。,,,,,
Card_Basic_ChainBlessing_DisplayName,Chain Blessing,连锁祝福,,,,, Card_Basic_ChainBlessing_DisplayName,Chain Blessing,连锁祝福,,,,,
Card_Basic_ChainBlessing_FunctionText,TODO,,,,,, Card_Basic_ChainBlessing_FunctionText,TODO,,,,,,
Can't render this file because it contains an unexpected character in line 3 and column 170.

View File

@@ -4,11 +4,11 @@ Buff_DispelThreshold_Strong_Suffix,Dispel Threshold: <color=orange>Strong</color
Buff_DispelThreshold_Immune_Suffix,Dispel Threshold: <color=red>Death Only</color>,能否被驱散:<color=red>仅死亡驱散</color>,,,,, Buff_DispelThreshold_Immune_Suffix,Dispel Threshold: <color=red>Death Only</color>,能否被驱散:<color=red>仅死亡驱散</color>,,,,,
Buff_DispelThreshold_Undispellable_Suffix,Dispel Threshold: <color=red>Undispellable</color>,能否被驱散:<color=red>不可驱散</color>,,,,, Buff_DispelThreshold_Undispellable_Suffix,Dispel Threshold: <color=red>Undispellable</color>,能否被驱散:<color=red>不可驱散</color>,,,,,
Buff_Basic_Weak_DisplayName,Weak,虚弱,,,,, Buff_Basic_Weak_DisplayName,Weak,虚弱,,,,,
Buff_Basic_Weak_FunctionText,"Deal 25% less physics damage, for $ParameterInt(""Count"") actions.","减少25%造成的物理伤害,持续$ParameterInt(""Count"")次行动。",,,,, Buff_Basic_Weak_FunctionText,"Deal 25% less physics damage, for $ParameterInt(""Count"") actions.",减少25%造成的物理伤害,持续$ParameterInt("Count")次行动。,,,,,
Buff_Basic_Vulnerable_DisplayName,Vulnerable,易伤,,,,, Buff_Basic_Vulnerable_DisplayName,Vulnerable,易伤,,,,,
Buff_Basic_Vulnerable_FunctionText,"Increase 50% more physics damage gain, for $ParameterInt(""Count"") actions.","增加50%受到的物理伤害,持续$ParameterInt(""Count"")次行动。",,,,, Buff_Basic_Vulnerable_FunctionText,"Increase 50% more physics damage gain, for $ParameterInt(""Count"") actions.",增加50%受到的物理伤害,持续$ParameterInt("Count")次行动。,,,,,
Buff_Basic_Blind_DisplayName,Blind,目盲,,,,, Buff_Basic_Blind_DisplayName,Blind,目盲,,,,,
Buff_Basic_Blind_FunctionText," This character's start damage in Dodge Check is decreased by $ParameterInt(""Stack"")% for $ParameterInt(""Count"") actions.","这个角色在闪避检定中的初始伤害降低$ParameterInt(""Stack"")%,持续$ParameterInt(""Count"")次行动。",,,,, Buff_Basic_Blind_FunctionText, This character's start damage in Dodge Check is decreased by $ParameterInt("Stack")% for $ParameterInt("Count") actions.,这个角色在闪避检定中的初始伤害降低$ParameterInt("Stack")%,持续$ParameterInt("Count")次行动。,,,,,
Buff_Basic_Bleed_DisplayName,Bleed,流血,,,,, Buff_Basic_Bleed_DisplayName,Bleed,流血,,,,,
Buff_Basic_Bleed_FunctionText,"After you get attacked, receive damage equals to its stack. Buff_Basic_Bleed_FunctionText,"After you get attacked, receive damage equals to its stack.
At the beginning of your action, stack is halved (at least 1).","受到攻击后,受到相当于其堆叠层数的伤害。 At the beginning of your action, stack is halved (at least 1).","受到攻击后,受到相当于其堆叠层数的伤害。
@@ -18,28 +18,30 @@ Buff_Basic_Burn_FunctionText,"After you play a card, its stack is reduced by 30%
Buff_Basic_Corrosion_DisplayName,Corrosion,腐蚀,,,,, Buff_Basic_Corrosion_DisplayName,Corrosion,腐蚀,,,,,
Buff_Basic_Corrosion_FunctionText,"At the beginning of your action, gain damage equals to its stack, then stack is reduced by 1.",在你的行动开始时,获得等于其堆叠层数的伤害,然后其堆叠层数减少 1。,,,,, Buff_Basic_Corrosion_FunctionText,"At the beginning of your action, gain damage equals to its stack, then stack is reduced by 1.",在你的行动开始时,获得等于其堆叠层数的伤害,然后其堆叠层数减少 1。,,,,,
Buff_Basic_Firm_DisplayName,Firm,坚韧,,,,, Buff_Basic_Firm_DisplayName,Firm,坚韧,,,,,
Buff_Basic_Firm_FunctionTextPos,"Gain $ParameterInt(""Stack"") more block from cards.","从卡牌中获得的格挡增加$ParameterInt(""Stack"")点。",,,,, Buff_Basic_Firm_FunctionTextPos,Gain $ParameterInt("Stack") more block from cards.,从卡牌中获得的格挡增加$ParameterInt("Stack")点。,,,,,
Buff_Basic_Firm_FunctionTextNeg,"Gain $ParameterAbsInt(""Stack"") less block from cards.","从卡牌中获得的格挡减少$ParameterAbsInt(""Stack"")点。",,,,, Buff_Basic_Firm_FunctionTextNeg,Gain $ParameterAbsInt("Stack") less block from cards.,从卡牌中获得的格挡减少$ParameterAbsInt("Stack")点。,,,,,
Buff_Basic_Freeze_DisplayName,Freeze,冻结,,,,, Buff_Basic_Freeze_DisplayName,Freeze,冻结,,,,,
Buff_Basic_Freeze_FunctionText,"Reduce Speed by $ParameterInt(""Count""), also reduce Dodge Gain by $ParameterInt(""Stack"")% for $ParameterInt(""Count"") actions.","将速度降低$ParameterInt(""Count"")点,同时将 闪避获得降低$ParameterInt(""Stack"")%,持续$ParameterInt(""Count"")次行动。",,,,, Buff_Basic_Freeze_FunctionText,"Reduce Speed by $ParameterInt(""Count""), also reduce Dodge Gain by $ParameterInt(""Stack"")% for $ParameterInt(""Count"") actions.",将速度降低$ParameterInt("Count")点,同时将 闪避获得降低$ParameterInt("Stack")%,持续$ParameterInt("Count")次行动。,,,,,
Buff_Basic_Nimble_DisplayName,Nimble,灵巧,,,,, Buff_Basic_Nimble_DisplayName,Nimble,灵巧,,,,,
Buff_Basic_Nimble_FunctionTextPos,"Gain $ParameterInt(""Stack"") more dodge from cards.","从卡牌中获得的闪避增加$ParameterInt(""Stack"")点。",,,,, Buff_Basic_Nimble_FunctionTextPos,Gain $ParameterInt("Stack") more dodge from cards.,从卡牌中获得的闪避增加$ParameterInt("Stack")点。,,,,,
Buff_Basic_Nimble_FunctionTextNeg,"Gain $ParameterAbsInt(""Stack"") less dodge from cards.","从卡牌中获得的闪避减少$ParameterAbsInt(""Stack"")点。",,,,, Buff_Basic_Nimble_FunctionTextNeg,Gain $ParameterAbsInt("Stack") less dodge from cards.,从卡牌中获得的闪避减少$ParameterAbsInt("Stack")点。,,,,,
Buff_Basic_Prowess_DisplayName,Prowess,勇猛,,,,, Buff_Basic_Prowess_DisplayName,Prowess,勇猛,,,,,
Buff_Basic_Prowess_FunctionTextPos,"Deal $ParameterInt(""Stack"") more physical damage from cards.","从卡牌中造成的物理伤害增加$ParameterInt(""Stack"")点。",,,,, Buff_Basic_Prowess_FunctionTextPos,Deal $ParameterInt("Stack") more physical damage from cards.,从卡牌中造成的物理伤害增加$ParameterInt("Stack")点。,,,,,
Buff_Basic_Prowess_FunctionTextNeg,"Deal $ParameterAbsInt(""Stack"") less physical damage from cards.","从卡牌中造成的物理伤害减少$ParameterAbsInt(""Stack"")点。",,,,, Buff_Basic_Prowess_FunctionTextNeg,Deal $ParameterAbsInt("Stack") less physical damage from cards.,从卡牌中造成的物理伤害减少$ParameterAbsInt("Stack")点。,,,,,
Buff_Basic_Resonance_DisplayName,Resonance,共鸣,,,,, Buff_Basic_Resonance_DisplayName,Resonance,共鸣,,,,,
Buff_Basic_Resonance_FunctionTextPos,"Deal $ParameterInt(""Stack"") more magical damage from cards.","从卡牌中造成的魔法伤害增加$ParameterInt(""Stack"")点。",,,,, Buff_Basic_Resonance_FunctionTextPos,Deal $ParameterInt("Stack") more magical damage from cards.,从卡牌中造成的魔法伤害增加$ParameterInt("Stack")点。,,,,,
Buff_Basic_Resonance_FunctionTextNeg,"Deal $ParameterAbsInt(""Stack"") less magical damage from cards.","从卡牌中造成的魔法伤害减少$ParameterAbsInt(""Stack"")点。",,,,, Buff_Basic_Resonance_FunctionTextNeg,Deal $ParameterAbsInt("Stack") less magical damage from cards.,从卡牌中造成的魔法伤害减少$ParameterAbsInt("Stack")点。,,,,,
Buff_Basic_Hellfire_DisplayName,Hellfire,冥火,,,,, Buff_Basic_Hellfire_DisplayName,Hellfire,冥火,,,,,
Buff_Basic_Hellfire_FunctionText,"After you play a card, stack is reduced by 20% (at least 1), receive damage equals to the reduced stacks. Buff_Basic_Hellfire_FunctionText,"After you play a card, stack is reduced by 20% (at least 1), receive damage equals to the reduced stacks.
It will enhance the effects of some of Marshal's cards.","打出一张牌后堆叠层数减少20%至少减少1并受到等于减少层数的伤害。 It will enhance the effects of some of Marshal's cards.","打出一张牌后堆叠层数减少20%至少减少1并受到等于减少层数的伤害。
冥火将增强元帅的一些卡牌的效果。",,,,, 冥火将增强元帅的一些卡牌的效果。",,,,,
Buff_Basic_SoulAbsorption_DisplayName,Soul Absorption,灵魂汲取,,,,, Buff_Basic_SoulAbsorption_DisplayName,Soul Absorption,灵魂汲取,,,,,
Buff_Basic_SoulAbsorption_FunctionText,"Amplify the lifesteal effect by $ParameterInt(""Stack"")%.","提升吸血效果$ParameterInt(""Stack"")%。",,,,, Buff_Basic_SoulAbsorption_FunctionText,Amplify the lifesteal effect by $ParameterInt("Stack")%.,提升吸血效果$ParameterInt("Stack")%。,,,,,
Buff_Basic_Heavy_DisplayName,Heavy,沉重,,,,, Buff_Basic_Heavy_DisplayName,Heavy,沉重,,,,,
Buff_Basic_Heavy_FunctionText,You can not draw cards.,你不能抽牌。,,,,, Buff_Basic_Heavy_FunctionText,You can not draw cards.,你不能抽牌。,,,,,
Buff_Basic_Protected_DisplayName,Protected,被保护,,,,, Buff_Basic_Protected_DisplayName,Protected,被保护,,,,,
Buff_Basic_Protected_FunctionText,"You are protected by $ParameterString(""Protector"").",你正在被其他人保护。,,,,, Buff_Basic_Protected_FunctionText,You are protected by $ParameterString("Protector").,你正在被其他人保护。,,,,,
Buff_Basic_Protecting_DisplayName,Protecting,保护,,,,, Buff_Basic_Protecting_DisplayName,Protecting,保护,,,,,
Buff_Basic_Protecting_FunctionText,"You are protecting $ParameterString(""Target""), for $ParameterInt(""Count"") rounds.","你正在$ParameterInt(""Count"")回合内保护$ParameterString(""Target"")。",,,,, Buff_Basic_Protecting_FunctionText,"You are protecting $ParameterString(""Target""), for $ParameterInt(""Count"") rounds.",你正在$ParameterInt("Count")回合内保护$ParameterString("Target")。,,,,,
Buff_Basic_CounterAttack_DisplayName,Counter Attack,反击,,,,,
Buff_Basic_CounterAttack_FunctionText,"Whenever you are attacked, deal $ParameterAbsInt(""Stack"") damage back.",每当你被攻击时,对攻击者造成$ParameterAbsInt("Stack")点伤害。,,,,,
Can't render this file because it contains an unexpected character in line 7 and column 153.

View File

@@ -33,3 +33,5 @@ Keyword_Purify,Purify,净化,,,,,
Keyword_Purify_Description,Remove debuffs.,驱散负面效果。,,,,, Keyword_Purify_Description,Remove debuffs.,驱散负面效果。,,,,,
Keyword_Reuseable,Reuseable,复用,,,,, Keyword_Reuseable,Reuseable,复用,,,,,
Keyword_Reuseable_Description,This card will not be discarded after use.,这张卡在使用之后不会被丢弃。,,,,, Keyword_Reuseable_Description,This card will not be discarded after use.,这张卡在使用之后不会被丢弃。,,,,,
Keyword_CounterAttack,Counter Attack,反击,,,,,
Keyword_Reuseable_Description,"Whenever you are attacked, deal damage back equals to the stack amount.",每当你被攻击时,对攻击者造成层数点伤害。,,,,,
1 Key English Simplified Chinese Traditional Chinese Japanese Korean Vietnamese Thai
33 Keyword_Purify_Description Remove debuffs. 驱散负面效果。
34 Keyword_Reuseable Reuseable 复用
35 Keyword_Reuseable_Description This card will not be discarded after use. 这张卡在使用之后不会被丢弃。
36 Keyword_CounterAttack Counter Attack 反击
37 Keyword_Reuseable_Description Whenever you are attacked, deal damage back equals to the stack amount. 每当你被攻击时,对攻击者造成层数点伤害。

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

View File

@@ -0,0 +1,119 @@
fileFormatVersion: 2
guid: 192fe53f9070cfc41bfb26ac39c73d51
labels:
- UnityAI
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 1024
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 256
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -83,7 +83,7 @@ namespace Continentis.MainGame.Card
} }
else else
{ {
if (HasKeyword("TargetAllies")) if (HasKeyword("TargetAllies") || HasKeyword("Blessing"))
{ {
valid.AddRange(user.fraction is Fraction.Ally or Fraction.Player valid.AddRange(user.fraction is Fraction.Ally or Fraction.Player
? characters.Where(character => character.fraction is Fraction.Ally or Fraction.Player) ? characters.Where(character => character.fraction is Fraction.Ally or Fraction.Player)

View File

@@ -38,11 +38,7 @@ namespace Continentis.MainGame.Character
throw new System.NotImplementedException("请使用类型约束更强的OnBuffApply方法"); throw new System.NotImplementedException("请使用类型约束更强的OnBuffApply方法");
} }
public virtual bool OnBuffApply(out CharacterCombatBuffBase existingBuff) public abstract bool OnBuffApply(out CharacterCombatBuffBase existingBuff);
{
throw new System.NotImplementedException(); //需要在子类中实现
}
public override void OnAfterFirstApply() public override void OnAfterFirstApply()
{ {
statusSubmodule?.AddStatus(); statusSubmodule?.AddStatus();