More cards

This commit is contained in:
FrazeRIP
2025-11-10 01:06:46 -06:00
parent 40d79761b6
commit 64768d9032
19 changed files with 284 additions and 23 deletions

View File

@@ -17,9 +17,10 @@ MonoBehaviour:
displayName: Card_Basic_HolyWaterPreparation_DisplayName
cardRarity: 20
cardType: 10
tags:
- TargetSelf
keywords: []
cardSprite: {fileID: 21300000, guid: 12363d2684ec21944b784f4708f4f2d4, type: 3}
cardLayoutTags:
- TargetSelf
functionText: Card_Basic_HolyWaterPreparation_FunctionText
cardDescription: $Keyword("Innate"), create a bottle of Holy Water into team pile.
baseWeight: 1

View File

@@ -39,7 +39,7 @@ MonoBehaviour:
Value: 0
index: 2
isKeyDuplicated: 0
- Key: DrawCardAmount
- Key: DrawCount
Value: 1
index: 3
isKeyDuplicated: 0

View File

@@ -38,7 +38,7 @@ MonoBehaviour:
Value: 0
index: 2
isKeyDuplicated: 0
- Key: DrawCardAmount
- Key: DrawCount
Value: 1
index: 3
isKeyDuplicated: 0

View File

@@ -1,6 +1,7 @@
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using NUnit.Framework.Internal.Filters;
using SLSFramework.General;
using System.Collections.Generic;
using UnityEngine;
@@ -20,8 +21,9 @@ namespace Continentis.Mods.Basic.Cards
mainGroup.AddCommand(new Cmd_PlayAnimation(user.characterView, "Skill"));
mainGroup.AddCommand(new Cmd_Function(() =>
{
CardData tacticData = GetDerivativeCardData(0);
CardInstance.GenerateCardInstance(tacticData, user.team, "Hand");
CardData cardData = GetDerivativeCardData(0);
Debug.LogError(cardData.displayName);
CardInstance.GenerateCardInstance(cardData, user.team, "Hand");
}));
return new List<CommandBase> { mainGroup };

View File

@@ -2,7 +2,6 @@ using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using SLSFramework.General;
using System.Collections.Generic;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{

View File

@@ -1,5 +1,6 @@
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General;
using System.Collections.Generic;
@@ -9,7 +10,13 @@ namespace Continentis.Mods.Basic.Cards
{
protected override List<CommandBase> PlayEffect(List<CharacterBase> targetList)
{
return base.PlayEffect(targetList);
var mainGroup = new CommandGroup(ExecutionMode.Sequential);
mainGroup.AddCommand(new Cmd_Function(() =>
{
user.deckSubmodule.ReshuffleDeck();
}));
mainGroup.AddCommand(user.deckSubmodule.DrawCards(GetAttribute("DrawCount")));
return new List<CommandBase> { mainGroup };
}
}
}

View File

@@ -11,13 +11,13 @@ namespace Continentis.Mods.Basic.Cards
{
protected override List<CommandBase> PlayEffect(List<CharacterBase> targetList)
{
CommandQueueManager.Instance.AddCommand(user.deckSubmodule.DrawCards(GetAttribute("DrawCardAmount")));
CommandQueueManager.Instance.AddCommand(user.deckSubmodule.DrawCards(GetAttribute("DrawCount")));
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_ParamFunction<CharacterBase>(0.05f, target =>
{
if (target != user)
{
CreateCharacterBuff<Corrosion>(GetAttribute("BuffStack_Corrosion")).Apply(target, user, this);
CreateCharacterBuff<Corrosion>(GetAttribute("BuffStack")).Apply(target, user, this);
}
}));
return new List<CommandBase> { mainGroup };

View File

@@ -13,7 +13,7 @@ namespace Continentis.Mods.Basic.Cards
CommandGroup mainGroup = TargetListCommandGroup(targetList,
new Cmd_ParamFunction<CharacterBase>(0.05f, target =>
{
CreateCharacterBuff<Buffs.WoundDeterioration>(GetAttribute("BuffStack_WD"), GetAttribute("DamageCount")).Apply(target, user, this);
CreateCharacterBuff<Buffs.WoundDeterioration>(GetAttribute("BuffStack"), GetAttribute("DamageCount")).Apply(target, user, this);
}));
return new List<CommandBase> { mainGroup };
}

View File

@@ -0,0 +1,57 @@
using Continentis.MainGame;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.Mods.Basic.Buffs;
using SLSFramework.General;
using System.Collections.Generic;
namespace Continentis.Mods.Basic.Buffs
{
public class KnifeTrick : CharacterCombatBuffBase, IBuffExtension_IntegerRange
{
private bool _canTrigger = false;
public KnifeTrick(int stack)
{
Initialize(BuffType.Positive, BuffDispelLevel.Strong);
this.contentSubmodule = new ContentSubmodule(this, false)
.AddParameterGetter("Stack", () => unitedStackSubmodule.stackAmount.ToString());
this.iconSubmodule = new IconSubmodule(this);
this.eventSubmodule = new EventSubmodule(this);
//TODO: Event listener for adding/removing buffs
//this.eventSubmodule.onPreAttack.Add("KnifeTrick", new PrioritizedAction<int>((damage) =>
//{
// if (this.attachedCharacter.combatBuffSubmodule.HasBuff<Sharpness>())
// {
// _canTrigger = true;
// }
//}));
//this.eventSubmodule.onDealAttack.Add("KnifeTrick", new PrioritizedAction<AttackResult>((result) =>
//{
// if (_canTrigger)
// {
// CreateCharacterBuff<Sharpness>(this.unitedStackSubmodule.stackAmount).Apply(this.attachedCharacter, this.attachedCharacter);
// _canTrigger = false;
// }
//}));
(this as IBuffExtension_IntegerRange).Initialize(stack);
}
public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff)
{
MainGameManager.Instance.basePrefabs.GenerateInfoText("Knife Trick", attachedCharacter.characterView);
if (FindExistingSameBuff(out existingBuff))
{
existingBuff.unitedStackSubmodule.ModifyStack(this.unitedStackSubmodule.stackAmount);
int newStack = existingBuff.unitedStackSubmodule.stackAmount;
existingBuff.coreAttributeSubmodule.numericChange["DodgeChanceOffset"] = newStack;
return false;
}
return true;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 44b807e0cc85f4f438e1840542e98324

View File

@@ -0,0 +1,51 @@
using Continentis.MainGame;
using Continentis.MainGame.Character;
using SLSFramework.General;
namespace Continentis.Mods.Basic.Buffs
{
public class Sharpness : CharacterCombatBuffBase, IBuffExtension_IntegerRange
{
public Sharpness(int stack)
{
Initialize(BuffType.Positive, BuffDispelLevel.Strong);
this.contentSubmodule = new ContentSubmodule(this, false)
.AddParameterGetter("Stack", () => unitedStackSubmodule.stackAmount.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.onDealAttack.Add("Sharpness", new PrioritizedAction<AttackResult>(atkRes =>
{
if (atkRes.attacker.combatBuffSubmodule.HasBuff<Sharpness>())
{
atkRes.attacker.combatBuffSubmodule.GetBuff<Sharpness>().Remove();
}
}));
(this as IBuffExtension_IntegerRange).Initialize(stack);
}
public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff)
{
MainGameManager.Instance.basePrefabs.GenerateInfoText("Sharpness", 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: 3269dfba0fee4fa4ea1eeecb87b9f71b

View File

@@ -202,5 +202,6 @@ MonoBehaviour:
derivativeCharacterDataRefs: []
initialDeckRef:
- CardData_Basic_LessRestoration
- CardData_Basic_HolyWaterPreparation
hudDataRefs:
- HUDData_Basic_Default

View File

@@ -44,5 +44,17 @@ MonoBehaviour:
description: Keyword_Basic_Corrosion_Description
index: 4
isKeyDuplicated: 0
- Key: Basic_Sharpness
Value:
name: Keyword_Basic_Sharpness
description: Keyword_Basic_Sharpness_Description
index: 5
isKeyDuplicated: 0
- Key: Basic_KnifeTrick
Value:
name: Keyword_Basic_KnifeTrick
description: Keyword_Basic_KnifeTrick_Description
index: 6
isKeyDuplicated: 0
dividerPosProp: 0.2
keywordToAdd: Basic_Corrosion
keywordToAdd: Basic_KnifeTrick

View File

@@ -1,3 +1,7 @@
Key,English,Simplified Chinese,Traditional Chinese,Japanese,Korean,Vietnamese,Thai
Buff_Basic_WoundDeterioration_DisplayName,Wound Deterioration,恶化伤口,,,,,
Buff_Basic_WoundDeterioration_FunctionText,TODO,你单次造成至少$ParameterInt("Damage")点的伤害时,额外给予$ParameterInt("BuffStack_Corrosion")层$Keyword("Basic_WoundDeterioration")。,,,,,
Buff_Basic_WoundDeterioration_FunctionText,TODO,你单次造成至少$ParameterInt("Damage")点的伤害时,额外给予$ParameterInt("Stack")%层$Keyword("Basic_WoundDeterioration")。,,,,,
Buff_Basic_Sharpness_DisplayName,Sharpness,锋利,,,,,
Buff_Basic_Sharpness_FunctionText,TODO,下次攻击将造成额外$ParameterInt("Stack")点伤害并失去所有层数。,,,,,
Buff_Basic_KnifeTrick_DisplayName,Knife Trick,刀具把戏,,,,,
Buff_Basic_KnifeTrick_FunctionText,TODO,每次失去所有$Keyword("Basic_Sharpness")后,获得$ParameterInt("Stack")层$Keyword("Basic_Sharpness")。,,,,,
Can't render this file because it contains an unexpected character in line 3 and column 84.

View File

@@ -1,23 +1,23 @@
Key,English,Simplified Chinese,Traditional Chinese,Japanese,Korean,Vietnamese,Thai
Card_Basic_Torture_DisplayName,Torture,折磨,,,,,
Card_Basic_Torture_FunctionText,Test Description,抽$Attribute("DrawCardAmount")张牌\n给予所有敌人$Attribute("BuffStack")层$Keyword("Basic_Corrosion")。,,,,,
Card_Basic_Torture_FunctionText,Test Description,抽$Attribute("DrawCount")张牌\n给予所有敌人$Attribute("BuffStack")层$Keyword("Basic_Corrosion")。,,,,,
Card_Basic_CompoundPoison_DisplayName,Compound Poison,混合毒药,,,,,
Card_Basic_CompoundPoison_FunctionText,Test Description,给予$Attribute("BuffStack_Weak")层$Keyword("Basic_Weak")。\n目标每有一种负面效果给予$Attribute("BuffStack_Corrosion")层$Keyword("Basic_Corrosion")。,,,,,
Card_Basic_WoundDeterioration_DisplayName,Compound Poison,恶化伤口,,,,,
Card_Basic_WoundDeterioration_FunctionText,Test Description,单次造成至少$Attribute("DamageCount")点伤害时,额外给予$Attribute("BuffStack")层$Keyword("Basic_Corrosion")。,,,,,
Card_Basic_Ambush_DisplayName,Ambush,埋伏,,,,,
Card_Basic_Ambush_DisplayName,Ambush,埋伏TODO,,,,,
Card_Basic_Ambush_FunctionText,Test Description,将1张“奋起”加入公共牌组。,,,,,
Card_Basic_Stealth_DisplayName,Stealth,潜行,,,,,
Card_Basic_Stealth_FunctionText,Test Description,TODO,,,,,
Card_Basic_KnifeTrick_DisplayName,Knife Trick,刀具把戏,,,,,
Card_Basic_KnifeTrick_FunctionText,Test Description,TODO,,,,,
Card_Basic_ExtremePain_DisplayName,Extreme Pain,极端痛苦,,,,,
Card_Basic_Stealth_FunctionText,Test Description,将弃牌堆洗回牌库。\n抽$Attribute("DrawCount")张牌。,,,,,
Card_Basic_KnifeTrick_DisplayName,Knife Trick,刀具把戏TODO,,,,,
Card_Basic_KnifeTrick_FunctionText,Test Description,每次失去所有$Keyword("Basic_Sharpness")后,获得$Attribute("BuffStack")层$Keyword("Basic_Sharpness")。,,,,,
Card_Basic_ExtremePain_DisplayName,Extreme Pain,极端痛苦TODO,,,,,
Card_Basic_ExtremePain_FunctionText,Test Description,TODO,,,,,
Card_Basic_BladeOfFear_DisplayName,Blade of Fear,怖刃,,,,,
Card_Basic_BladeOfFear_DisplayName,Blade of Fear,怖刃TODO,,,,,
Card_Basic_BladeOfFear_FunctionText,Test Description,TODO,,,,,
Card_Basic_AmbushStance_DisplayName,Ambush Stance,伺机待发,,,,,
Card_Basic_AmbushStance_DisplayName,Ambush Stance,伺机待发TODO,,,,,
Card_Basic_AmbushStance_FunctionText,Test Description,TODO,,,,,
Card_Basic_Backstab_DisplayName,Backstab,背刺,,,,,
Card_Basic_Backstab_DisplayName,Backstab,背刺TODO,,,,,
Card_Basic_Backstab_FunctionText,Test Description,TODO,,,,,
Card_Basic_FlashTerror_DisplayName,FlashTerror,快速威吓,,,,,
Card_Basic_FlashTerror_DisplayName,FlashTerror,快速威吓TODO,,,,,
Card_Basic_FlashTerror_FunctionText,Test Description,TODO,,,,,
Can't render this file because it contains an unexpected character in line 3 and column 64.

View File

@@ -9,3 +9,7 @@ Keyword_Basic_WoundDeterioration,WoundDeterioration,恶化伤口,,,,,
Keyword_Basic_WoundDeterioration_Description,"When dealing at least 20 damage in a single hit, apply 4 Corrosion to the target.",单次造成至少20点的伤害时额外给予目标4层$Keyword("Basic_WoundDeterioration")。,,,,,
Keyword_Basic_Corrosion,Corrosion,腐蚀,,,,,
Keyword_Basic_Corrosion_Description,TODO,未知效果。,,,,,
Keyword_Basic_Sharpness,Sharpness,锋利,,,,,
Keyword_Basic_Sharpness_Description,TODO,下次攻击将造成额外等同于层数的伤害并失去所有层数。,,,,,
Keyword_Basic_KnifeTrick,Knife Trick,刀具把戏,,,,,
Keyword_Basic_KnifeTrick_Description,TODO,每次失去所有锋利后获得4层锋利。,,,,,
Can't render this file because it contains an unexpected character in line 9 and column 199.

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 KiB

View File

@@ -0,0 +1,119 @@
fileFormatVersion: 2
guid: 3c126886acf6535418c51c5e2c67347a
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: