Card表

表头 值类型 名字 描述
id string id 卡牌的id
displayName string 名字 卡牌的名字
energyReq int 能量需求 用卡需要多少能量,俗称卡牌费用
range float 射程 卡牌可以作用到多远的地方
spreadRadius float 扩散半径 卡牌的AOE范围
spreadShapeTextureId string 扩散形状图片id 对应RangeShapeTexture/XXX.png,用于定义卡牌的扩散形状
spreadShapeCode string 扩散形状代码 用这个可以设置卡牌扩散的形状,默认是圆形,比如你也可以把它设置成直线、方形、扇形、网形之类的。
price int 价格 在原石加工器里的价格
remapCode string 重映射代码 如果手动在description里写描述,会有一个问题:数值写死,当改变数值的时候,需要同时改变description和code,这时remapCode就起了作用
tagCode string 标签 设定卡牌类型,比如子弹类、拳类、装备类,详细见{#Card-tagCode}
minUnlockGrade int 最低解锁等级 如果值大于0,它就会被默认锁上,默认锁上的卡牌只有在玩家升级解锁之后,才会出现在卡池中
characterModelSkinId string 皮肤ID 穿上这个装备后,可以给角色添加外观
story string 故事 可以为这张卡牌写一段小故事
aimTypeCode string 瞄准类型 设定卡牌只能瞄准哪些单位
perferredTargetTypeCode string 首选目标 设定卡牌AI的首选目标,详细见{#Card-perferredTargetTypeCode}
code string 代码 参考CardCommand表
在使用卡片时执行的指令
effectCode string 特效 对应Effect文件夹。你可以直接写ID,也可以写一些其它参数,见{#effectCode}
description string 描述 留白的话,系统就会根据代码进行自动描述
backgroundId string 卡背ID 对应CardBackground文件夹

Card-perferredTargetTypeCode : 首选目标

首选目标

设定卡牌首先瞄准哪些单位,一般用于AI

  • 用竖线 | 隔开多个条件

    比如给AI做一张给队友加血的卡:"lowHpP|tmt" 会得到 [最小HP的队友]

  • 用分号 ; 隔开多个目标,AI会按顺序查找,直到找到有效目标

    比如给AI做一张给队友加血的卡,如果没有队友就给自己加,"lowHpP|tmt;self" 会得到 [最小HP的队友, 自己]

  • 如果条件有参数,则不用竖线,而用括号{}加分号;隔开单个目标的多个条件

    比如"{hasBuff:17;liv};died;" 会得到 [有着火的并活着的单位, 死亡的单位]

  • 如果条件有参数,而且只有一个目标,则需要加一对空括号{}来占位

    比如"{hasBuff:17;liv};{}" 会得到 [有着火的并活着的单位]
    如果不加{}的话,比如写成这样:"{hasBuff:17;liv};" 会被机器理解成这样 "hasBuff:17;liv",然后得到错误的结果[有着火的单位, 活着的单位]

  • 当没有目标时,AI将不行动
    更多指令见{#SearchCharacters}。

Card-tagCode : 标签

标签

  • 标签可以自定义,自定义之后你用它来过滤卡牌

    比如:给一张卡的标签设定为子弹,另一张卡的作用是使用手上所有子弹类的卡

  • 你可以设定多个标签,标签用;分号隔开

    比如:PosiBuff;CombatOnly

  • 不过也有一些系统标签,下面这些是系统标签
标签 作用
Unremovable 不可被移除
PosiBuff 正面Buff
Debuff 负面Buff
Equipment 装备卡
CombatOnly 这张卡只能在战斗中使用
Prop 道具卡
Hidden 会在Buff中隐藏
NotAllowUICountText 不允许显示计数的文字(比如道具、装备、buff右下角的计数
NotAllowDiscardOnUse 不允许在使用这张卡之后弃牌
NotAllowDestroyOnUse 不允许在使用这张卡之后销毁
Interactable 这张卡被添加为Buff之后,角色就是可交互的

Character表

表头 值类型 名字 描述
description string 描述 1.会在角色选择界面显示 2.会在被卡牌引用时显示
hp float hp 角色初始生命值
energy float 能量 角色初始能量
stamina float 体力 角色初始体力
story string 故事 可以为这个单位写一段小故事
maxHandCardCount int 手牌数上限 超过上限后无法抽卡
startTurnDrawHandCardCount int 开始回合抽卡数 每回合开始时,抽几张卡
initialHandCardCount int 初始手牌数量 这个字段所以一般给怪物使用。因为怪物是先攻击再抽卡,如果初始手牌数写0,那第一次到怪物的回合的时候,因为没有手牌,怪物会什么都不做渡过这一回合。
playerPlaystyleCardRandomWeightMultipler float 玩家流派卡牌随机机率乘数 默认1.5,这样系统会把玩家流派的卡牌出现机率乘以1.5
dropFilterCode int 掉落物过滤器代码 注意:用这个可能之前你可能需要先了解一下{#SearchCards}。它是SearchCards里参数,用于定义掉落物的列表。
selfCardTagCode string 自身代码标签 见selfCardCode
selfCardCode string 自身代码 事实上,角色的脚本是用卡牌来实现的。也就是说,写了selfCardCode表头,就相当于是对这个角色使用了一张代码是selfCardCode的卡。如果selfCardTagCode写了Equipment,那这张卡就是装备卡,会永远装备在角色身上。你可以在这个装备里写各种事件,比如当死亡会爆炸、当受到伤害会掉落物品之类的。
gameRoundPowerUpCode string 游戏每轮能力提升代码 在角色出生时执行,用于基于游戏轮数提升能力
initialRunCardId0,initialRunCardId1 ... initialRunCardId3 string 初始执行卡牌ID 和selfCardCode差不多,就是开始的时候对自己使用一张卡。
modelId string 模型ID
modelSkinId string 模型皮肤ID
moveSpeed float 移动速度
cardId0,cardId1,cardId2 ... cardId7 string 初始卡牌ID 最开始的时候牌库里的卡牌
teammateCharacterId[0~3] string 队友ID
fieldCode string 字段代码 这个表有很多字段(表头),如果全部列出来可能会让这个表变得很长难以编辑,所以那些不常用的字段可以写在fieldCode里面,详细见{#Character-fieldCode}

Character-fieldCode : 字段代码

表头 值类型 描述
introPlotId string 开场剧情ID,对应Plot文件夹
outroPlotId string 结局剧情ID,对应Plot文件夹
forceMakeOtherCharacterPoolsAvailable bool 强制开启所有角色的卡牌池、关卡池
illustrationId string 插图ID,在角色选择界面显示,对应Illustration文件夹
unlockByGameEndedCharacterId string 这个角色解锁需要先通关另一个角色
unlockByUnlockOrder int 这个角色需要在Cardset的对应unlockOrder达到对应值时,通关时才解锁
minUnlockGrade int 最低解锁等级,如果值大于0,它就会被默认锁上,默认锁上的单位只有在玩家升级解锁之后,才会出现在卡池中