feat(卡牌系统): 为卡牌和天赋添加kind类型字段

为ICardInfo接口和talConf配置添加kind字段,用于区分卡牌和天赋的不同类型
This commit is contained in:
panw
2026-01-16 10:12:30 +08:00
parent 8cb52f484e
commit 09d3c1db2b
2 changed files with 26 additions and 17 deletions

View File

@@ -10,6 +10,7 @@ import { CardType } from "./GameSet";
export interface ICardInfo { export interface ICardInfo {
uuid: number; uuid: number;
type: CardType; type: CardType;
kind: CardKind;
name: string; name: string;
desc: string; desc: string;
icon: string; icon: string;
@@ -86,6 +87,7 @@ function getCardBaseInfo(type: CardType, uuid: number): ICardInfo | null {
let name = ""; let name = "";
let desc = ""; let desc = "";
let icon = ""; let icon = "";
let kind = CardKind.Attr;
let tag = undefined; let tag = undefined;
switch (type) { switch (type) {
@@ -95,6 +97,7 @@ function getCardBaseInfo(type: CardType, uuid: number): ICardInfo | null {
name = baseInfo.desc.split(" ")[0] || "属性"; name = baseInfo.desc.split(" ")[0] || "属性";
desc = baseInfo.desc; desc = baseInfo.desc;
icon = baseInfo.icon; icon = baseInfo.icon;
kind = CardKind.Attr;
tag = baseInfo.isSpecial ? "special" : undefined; tag = baseInfo.isSpecial ? "special" : undefined;
break; break;
case CardType.Talent: case CardType.Talent:
@@ -103,6 +106,7 @@ function getCardBaseInfo(type: CardType, uuid: number): ICardInfo | null {
name = baseInfo.name; name = baseInfo.name;
desc = baseInfo.desc; desc = baseInfo.desc;
icon = baseInfo.icon; icon = baseInfo.icon;
kind = baseInfo.kind;
break; break;
case CardType.Skill: case CardType.Skill:
baseInfo = SkillSet[uuid]; baseInfo = SkillSet[uuid];
@@ -110,19 +114,22 @@ function getCardBaseInfo(type: CardType, uuid: number): ICardInfo | null {
name = baseInfo.name; name = baseInfo.name;
desc = baseInfo.info; desc = baseInfo.info;
icon = baseInfo.icon; icon = baseInfo.icon;
kind = CardKind.Skill;
break; break;
case CardType.Partner: case CardType.Partner:
baseInfo = HeroInfo[uuid]; baseInfo = HeroInfo[uuid];
if (!baseInfo) return null; if (!baseInfo) return null;
name = baseInfo.name; name = baseInfo.name;
desc = baseInfo.info; desc = baseInfo.info;
icon = baseInfo.path; icon = baseInfo.icon;
kind = CardKind.Partner;
break; break;
} }
return { return {
uuid, uuid,
type, type,
kind,
name, name,
desc, desc,
icon, icon,

View File

@@ -1,5 +1,6 @@
import { count } from "console"; import { count } from "console";
import { Attrs, BType } from "./HeroAttrs"; import { Attrs, BType } from "./HeroAttrs";
import { CardKind } from "./CardSet";
/** /**
* 天赋类型枚举,也是触发条件 * 天赋类型枚举,也是触发条件
@@ -66,6 +67,7 @@ export interface ItalConf {
uuid: number; // 天赋ID uuid: number; // 天赋ID
name: string; // 天赋名称 name: string; // 天赋名称
icon:string; // 天赋图标 icon:string; // 天赋图标
kind:CardKind; // 天赋类型
triType: TriType; // 天赋触发类型 triType: TriType; // 天赋触发类型
target: TalTarget; // 天赋触发目标 target: TalTarget; // 天赋触发目标
effet: TalEffet; // 天赋触发效果 effet: TalEffet; // 天赋触发效果
@@ -95,43 +97,43 @@ export interface ItalConf {
*/ */
export const talConf: Record<number, ItalConf> = { export const talConf: Record<number, ItalConf> = {
/*** 普通攻击触发 ***/ /*** 普通攻击触发 ***/
7001:{uuid:7001,name:"风怒",icon:"7001",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.WFUNY,vType:BType.RATIO, value:50,attrs:TalAttrs.NON, 7001:{uuid:7001,name:"风怒",icon:"7001",kind:CardKind.Atk,triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.WFUNY,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
desc:"普通攻击3次后, 立即给与目标150%伤害的额外打击"}, desc:"普通攻击3次后, 立即给与目标150%伤害的额外打击"},
7003:{uuid:7003,name:"回血",icon:"7001",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:1,attrs:TalAttrs.NON, 7003:{uuid:7003,name:"回血",icon:"7001",kind:CardKind.Atk,triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:1,attrs:TalAttrs.NON,
desc:"普通攻击3次后, 会回复1%的生命值"}, desc:"普通攻击3次后, 会回复1%的生命值"},
7004:{uuid:7004,name:"回血(大)",icon:"7001",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:2,attrs:TalAttrs.NON, 7004:{uuid:7004,name:"回血(大)",icon:"7001",kind:CardKind.Atk,triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:2,attrs:TalAttrs.NON,
desc:"普通攻击5次后, 会回复2%的生命值"}, desc:"普通攻击5次后, 会回复2%的生命值"},
7005:{uuid:7005,name:"冰冻",icon:"7001",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.FREEZE_CHANCE, 7005:{uuid:7005,name:"冰冻",icon:"7001",kind:CardKind.Atk,triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.FREEZE_CHANCE,
desc:"普通攻击3次后, 获得5%的冻结率"}, desc:"普通攻击3次后, 获得5%的冻结率"},
7006:{uuid:7006,name:"沉默",icon:"7001",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.SILENCE_CHANCE, 7006:{uuid:7006,name:"沉默",icon:"7001",kind:CardKind.Atk,triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.SILENCE_CHANCE,
desc:"普通攻击3次后, 获得5%的沉默率"}, desc:"普通攻击3次后, 获得5%的沉默率"},
7007:{uuid:7007,name:"击退",icon:"7001",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.BACK_CHANCE, 7007:{uuid:7007,name:"击退",icon:"7001",kind:CardKind.Atk,triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.BACK_CHANCE,
desc:"普通攻击3次后, 获得5%的击退率"}, desc:"普通攻击3次后, 获得5%的击退率"},
7008:{uuid:7008,name:"会心",icon:"7001",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.CRITICAL, 7008:{uuid:7008,name:"会心",icon:"7001",kind:CardKind.Atk,triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.CRITICAL,
desc:"普通攻击3次后, 获得5%的暴击率"}, desc:"普通攻击3次后, 获得5%的暴击率"},
7009:{uuid:7009,name:"眩晕",icon:"7001",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.STUN_CHANCE, 7009:{uuid:7009,name:"眩晕",icon:"7001",kind:CardKind.Atk,triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.STUN_CHANCE,
desc:"普通攻击3次后, 获得5%的眩晕率"}, desc:"普通攻击3次后, 获得5%的眩晕率"},
7010:{uuid:7010,name:"熟练",icon:"7001",triType:TriType.ATK,Trigger:10,count:1,target:TalTarget.SELF,effet:TalEffet.D_SKILL,vType:BType.RATIO, value:0,attrs:TalAttrs.NON, 7010:{uuid:7010,name:"熟练",icon:"7001",kind:CardKind.Atk,triType:TriType.ATK,Trigger:10,count:1,target:TalTarget.SELF,effet:TalEffet.D_SKILL,vType:BType.RATIO, value:0,attrs:TalAttrs.NON,
desc:"普通攻击10次后, 下次一般技能额外释放1次,伤害100%"}, desc:"普通攻击10次后, 下次一般技能额外释放1次,伤害100%"},
/*** 受伤触发 ***/ /*** 受伤触发 ***/
7101:{uuid:7101,name:"反击",icon:"7001",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.ATK_DMG,vType:BType.RATIO, value:50,attrs:TalAttrs.NON, 7101:{uuid:7101,name:"反击",icon:"7001",kind:CardKind.Atted,triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.ATK_DMG,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
desc:"被攻击3次后, 给于目标50%的伤害"}, desc:"被攻击3次后, 给于目标50%的伤害"},
7102:{uuid:7102,name:"护盾",icon:"7001",triType:TriType.DMG,Trigger:30,count:1,target:TalTarget.SELF,effet:TalEffet.SHIELD,vType:BType.RATIO, value:20,attrs:TalAttrs.NON, 7102:{uuid:7102,name:"护盾",icon:"7001",kind:CardKind.Atted,triType:TriType.DMG,Trigger:30,count:1,target:TalTarget.SELF,effet:TalEffet.SHIELD,vType:BType.RATIO, value:20,attrs:TalAttrs.NON,
desc:"被攻击30次后, 获得20%的生命值护盾"}, desc:"被攻击30次后, 获得20%的生命值护盾"},
7103:{uuid:7103,name:"减伤",icon:"7001",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.DEF,vType:BType.RATIO, value:50,attrs:TalAttrs.NON, 7103:{uuid:7103,name:"减伤",icon:"7001",kind:CardKind.Atted,triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.DEF,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
desc:"被攻击3次后, 下1次伤害减50%"}, desc:"被攻击3次后, 下1次伤害减50%"},
7104:{uuid:7104,name:"反伤",icon:"7001",triType:TriType.DMG,Trigger:100,count:1,target:TalTarget.SELF,effet:TalEffet.BUFF,vType:BType.VALUE, value:1,attrs:TalAttrs.REVIVE_COUNT, 7104:{uuid:7104,name:"反伤",icon:"7001",kind:CardKind.Atted,triType:TriType.DMG,Trigger:100,count:1,target:TalTarget.SELF,effet:TalEffet.BUFF,vType:BType.VALUE, value:1,attrs:TalAttrs.REVIVE_COUNT,
desc:"被攻击100次后, 获得1次复活"}, desc:"被攻击100次后, 获得1次复活"},
/*** 失去血量触发 ***/ /*** 失去血量触发 ***/
7201:{uuid:7201,name:"背水",icon:"7001",triType:TriType.HPL,Trigger:50,count:10,target:TalTarget.SELF,effet:TalEffet.C_ATK,vType:BType.VALUE, value:0,attrs:TalAttrs.NON, 7201:{uuid:7201,name:"背水",icon:"7001",kind:CardKind.Hp,triType:TriType.HPL,Trigger:50,count:10,target:TalTarget.SELF,effet:TalEffet.C_ATK,vType:BType.VALUE, value:0,attrs:TalAttrs.NON,
desc:"每失去50%生命值,获得下10次普通攻击暴击"}, desc:"每失去50%生命值,获得下10次普通攻击暴击"},
/*** 升级触发 ***/ /*** 升级触发 ***/
7301:{uuid:7301,name:"勤勉",icon:"7001",triType:TriType.LUP,Trigger:1,count:5,target:TalTarget.SELF,effet:TalEffet.C_SKILL,vType:BType.VALUE, value:0,attrs:TalAttrs.NON, 7301:{uuid:7301,name:"勤勉",icon:"7001",kind:CardKind.Partner,triType:TriType.LUP,Trigger:1,count:5,target:TalTarget.SELF,effet:TalEffet.C_SKILL,vType:BType.VALUE, value:0,attrs:TalAttrs.NON,
desc:"每升1级,获得下5次技能必暴击"}, desc:"每升1级,获得下5次技能必暴击"},
7302:{uuid:7302,name:"风怒",icon:"7001",triType:TriType.LUP,Trigger:1,count:1,target:TalTarget.SELF,effet:TalEffet.ATTR,vType:BType.RATIO, value:2,attrs:TalAttrs.WFUNY, 7302:{uuid:7302,name:"风怒",icon:"7001",kind:CardKind.Partner,triType:TriType.LUP,Trigger:1,count:1,target:TalTarget.SELF,effet:TalEffet.ATTR,vType:BType.RATIO, value:2,attrs:TalAttrs.WFUNY,
desc:"每升1级,永久增加2%的风怒概率"}, desc:"每升1级,永久增加2%的风怒概率"},
}; };