@@ -42,6 +42,8 @@ export enum CardLV {
LV1 = 1 ,
LV2 = 2 ,
LV3 = 3 ,
LV4 = 4 ,
LV5 = 5 ,
}
/** 通用卡牌配置 */
@@ -83,7 +85,7 @@ export const CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE = 10
/** 卡池默认初始等级 */
export const CARD_POOL_INIT_LEVEL = CardLV . LV1
/** 卡池等级上限 */
export const CARD_POOL_MAX_LEVEL = CardLV . LV3
export const CARD_POOL_MAX_LEVEL = CardLV . LV5
/** 英雄最高等级限制 */
export const CARD_HERO_MAX_LEVEL = 1
/** 基础卡池(英雄、技能、功能) */
@@ -138,33 +140,80 @@ HeroList.forEach(uuid => {
} ) ;
// 添加非英雄卡牌 (技能、功能卡)
CardPoolList . push (
// 技能卡牌 (以增益/辅助为主,因为在备战期没有敌人)
{ uuid : 8304 , skill : 6304 , type : CardType . Skill , cost : 0 , weight : 20 , pool_lv : 1 , wave : 1 , kind : CKind.Skill , card_lv : 1 , name : t ( "skill_name_6304" ) , info : t ( "skill_info_6304" ) , is_inst : true , t_times : 1 , t_inv : 0 , keep_waves : 15 } ,
{ uuid : 8305 , skill : 6305 , type : CardType . Skill , cost : 0 , weight : 20 , pool_lv : 1 , wave : 1 , kind : CKind.Skill , card_lv : 1 , name : t ( "skill_name_6305" ) , info : t ( "skill_info_6305" ) , is_inst : true , t_times : 1 , t_inv : 0 , keep_waves : 15 } ,
// 自定义 overrides 示例卡牌
{
uuid : 8401 , skill : 6401 , type : CardType . Skill , cost : 0 , weight : 10 , pool_lv : 1 , wave : 1 , kind : CKind.Skill , card_lv : 1 ,
name : "超强攻击强化" , info : "使场上英雄增加50点攻击力" ,
is_inst : true , t_times : 1 , t_inv : 0 , keep_waves : 15 , overrides : { ap : 50 }
} ,
{
uuid : 8101 , skill : 6101 , type : CardType . Skill , cost : 0 , weight : 10 , pool_lv : 1 , wave : 1 , kind : CKind.Skill , card_lv : 1 ,
name : "持续天降火球 " , info : "战斗中每隔3秒释放一个火球, 造成300%伤害, 持续2波次" ,
is_inst : false , t_times : 999 , t_inv : 3 , keep_waves : 2 , overrides : { TGroup : TGroup.Enemy , ap : 300 , hit_count : 2 }
} ,
// 驻场技能示例卡牌
{
uuid : 8501 , skill : 6501 , type : CardType . Skill , cost : 0 , weight : 10 , pool_lv : 1 , wave : 1 , kind : CKind.Skill , card_lv : 1 ,
name : "全体攻击光环 " , info : "全体英雄 攻击力增加20%,只要此卡在场就生效" ,
is_inst : false , t_times : 999 , t_inv : 0 , keep_waves : - 1 , field : [ 7008 ] // 对应 FieldSkillSet[7008] HeroAtk +20%
} ,
{
uuid : 8502 , skill : 6502 , type : CardType . Skill , cost : 0 , weight : 10 , pool_lv : 1 , wave : 1, kind : CKind.Skill , card_lv : 1 ,
name : "全体生命光环 " , info : "全体英雄最大生命增加10%,只要此卡在场就生效" ,
is_inst : false , t_times : 99 9, t_inv : 0 , keep_waves : - 1 , field : [ 7016 ] // 对应 FieldSkillSet[7016] HeroHp +10%
}
) ;
const waveToPoolLv : Record < number , number > = {
1 : 1 ,
5 : 2 ,
10 : 3 ,
15 : 4 ,
20 : 5
} ;
const SkillCardData : any [ ] = [
// === 1波技能 ===
{ uuid : 8301 , skill : 6301 , wave : 1 , name : "护盾" , info : "为伙伴/自己添加护盾, 可抵挡3次伤害" , is_inst : true , keep_waves : 15 } ,
{ uuid : 8302 , skill : 6302 , wave : 1 , name : "治疗" , info : "治疗伙伴/自己" , is_inst : true , keep_waves : 15 } ,
{ uuid : 8705 , skill : 0 , wave : 1 , name : "金币收益 " , info : "每回合金币收益+1" , is_inst : false , keep_waves : - 1 , field : [ 7005 ] } ,
{ uuid : 8706 , skill : 0 , wave : 1 , name : "出售强化" , info : "卖出英雄金币+1" , is_inst : false , keep_waves : - 1 , field : [ 7006 ] } ,
{ uuid : 8707 , skill : 0 , wave : 1 , name : "战后恢复" , info : "战斗结束生命回复量+10%" , is_inst : false , keep_waves : - 1 , field : [ 7007 ] },
// === 5波技能 ===
{ uuid : 8303 , skill : 6303 , wave : 5 , name : "获取金币" , info : "增加一定数量的金币" , is_inst : true , keep_waves : 15 } ,
{ uuid : 8401 , skill : 6401 , wave : 5 , name : "攻击强化 " , info : "全体友方 攻击力提升5点, 持续1次" , is_inst : true , keep_waves : 15 } ,
{ uuid : 8402 , skill : 6402 , wave : 5 , name : "生命强化" , info : "全体友方最大生命值提升20点, 持续1次" , is_inst : true , keep_waves : 15 } ,
{ uuid : 8403 , skill : 6403 , wave : 5 , name : "暴击强化" , info : "全体友方暴击率提升10%, 持续1次" , is_inst : true , keep_waves : 15 } ,
{ uuid : 8404 , skill : 6404 , wave : 5 , name : "暴伤强化" , info : "全体友方暴击伤害提升20%, 持续1次" , is_inst : true , keep_waves : 15 } ,
{ uuid : 8405 , skill : 6405 , wave : 5 , name : "击晕强化" , info : "全体友方击晕概率提升10%, 持续1次" , is_inst : true , keep_ waves : 15 } ,
{ uuid : 8408 , skill : 6408 , wave : 5 , name : "穿刺强化 " , info : "全体友方穿透概率提升20%, 持续1次" , is_inst : true , keep_waves : 15 } ,
{ uuid : 8409 , skill : 640 9, wave : 5 , name : "风怒强化" , info : "全体友方风怒次数提升1次, 持续1次" , is_inst : true , keep_waves : 15 } ,
{ uuid : 8501 , skill : 6501 , wave : 5 , name : "复活" , info : "ap 代表复活的生命值百分比" , is_inst : true , keep_waves : 15 } ,
// === 10波技能 ===
{ uuid : 8708 , skill : 0 , wave : 10 , name : "攻击加成" , info : "英雄攻击力+10%" , is_inst : false , keep_waves : - 1 , field : [ 7008 ] } ,
{ uuid : 8709 , skill : 0 , wave : 10 , name : "击晕加成" , info : "英雄击晕概率+10%" , is_inst : false , keep_waves : - 1 , field : [ 7009 ] } ,
{ uuid : 8710 , skill : 0 , wave : 10 , name : "暴击加成" , info : "英雄暴击率+10%" , is_inst : false , keep_waves : - 1 , field : [ 7010 ] } ,
{ uuid : 8711 , skill : 0 , wave : 10 , name : "暴伤加成" , info : "英雄暴击伤害+20%" , is_inst : false , keep_waves : - 1 , field : [ 7011 ] } ,
{ uuid : 8712 , skill : 0 , wave : 10 , name : "攻速加成" , info : "英雄攻击速度+10%" , is_inst : false , keep_waves : - 1 , field : [ 7012 ] } ,
{ uuid : 8713 , skill : 0 , wave : 10 , name : "购买优惠" , info : "购买卡牌费用-1金币" , is_inst : false , keep_waves : - 1 , field : [ 7013 ] } ,
{ uuid : 8714 , skill : 0 , wave : 10 , name : "刷新优惠" , info : "刷新卡牌费用-1金币" , is_inst : false , keep_waves : - 1 , field : [ 7014 ] } ,
{ uuid : 8716 , skill : 0 , wave : 10 , name : "生命加成" , info : "英雄最大生命+10%" , is_inst : false , keep_waves : - 1 , field : [ 7016 ] } ,
{ uuid : 8717 , skill : 0 , wave : 10 , name : "风怒加成" , info : "英雄风怒概率+10%" , is_inst : false , keep_waves : - 1 , field : [ 7017 ] } ,
{ uuid : 8718 , skill : 0 , wave : 10 , name : "穿刺加成" , info : "英雄穿刺概率+10%" , is_inst : false , keep_waves : - 1 , field : [ 7018 ] } ,
// === 15波技能 ===
{ uuid : 8701 , skill : 0 , wave : 15 , name : "召唤强化" , info : "召唤触发技能次数+1" , is_inst : false , keep_waves : - 1 , field : [ 7001 ] } ,
{ uuid : 8702 , skill : 0 , wave : 15 , name : "死亡强化" , info : "死亡触发技能次数+1" , is_inst : false , keep_waves : - 1 , field : [ 7002 ] } ,
{ uuid : 8703 , skill : 0 , wave : 15 , name : "开场强化" , info : "战斗开始触发技能次数+1" , is_inst : false , keep_waves : - 1 , field : [ 7003 ] } ,
{ uuid : 8704 , skill : 0 , wave : 15 , name : "结束强化" , info : "战斗结束触发技能次数+1" , is_inst : false , keep_waves : - 1 , field : [ 7004 ] } ,
// === 20波技能 ===
{ uuid : 8201 , skill : 6201 , wave : 20 , name : "雷墙" , info : "召唤雷墙阻挡敌人,有概率击晕" , is_inst : false , t_times : 999 , t_inv : 5 , keep_waves : - 1 } ,
{ uuid : 8202 , skill : 6202 , wave : 20 , name : "火墙" , info : "召唤火墙阻挡敌人,有概率击晕" , is_inst : false , t_times : 999 , t_inv : 5 , keep_waves : - 1 } ,
{ uuid : 8203 , skill : 6203 , wave : 20 , name : "飓风" , info : "召唤飓风攻击敌人,有概率击晕" , is_inst : false , t_times : 999 , t_inv : 5 , keep_waves : - 1 } ,
{ uuid : 8204 , skill : 6204 , wave : 20 , name : "水墙" , info : "召唤水墙阻挡敌人,有概率击晕" , is_inst : false , t_times : 999 , t_inv : 5 , keep_waves : - 1 } ,
{ uuid : 8205 , skill : 6205 , wave : 20 , name : "风墙" , info : "召唤风墙困住敌人,有概率击晕" , is_inst : false , t_times : 999 , t_inv : 5 , keep_waves : - 1 } ,
{ uuid : 8206 , skill : 6206 , wave : 20 , name : "陨石术" , info : "召唤陨石范围攻击敌人,有概率击晕" , is_inst : false , t_times : 999 , t_inv : 5 , keep_waves : - 1 } ,
] ;
SkillCardData . forEach ( data = > {
CardPoolList . push ( {
uuid : data.uuid ,
skill : data.skill || undefined ,
type : CardType . Skill ,
cost : 0 ,
weight : 10 ,
pool_lv : waveToPoolLv [ data . wave ] as CardLV ,
wave : data.wave ,
kind : CKind.Skill ,
card_lv : 1 ,
name : data.name ,
info : data.info ,
is_inst : data.is_inst ,
t_times : data.t_times || ( data . is_inst ? 1 : 999 ) ,
t_inv : data.t_inv || 0 ,
keep_waves : data.keep_waves ,
field : data.field
} ) ;
} ) ;
export enum SpecialRefreshHeroType {