diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index 6e90ef6d..e68377bf 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -3,7 +3,14 @@ import { HeroInfo, HType } from "./heroSet" import { FightSet } from "./GameSet" import { oops } from "db://oops-framework/core/Oops" -const t = (key: string) => oops.language.getLangByID(key); +class I18nString { + constructor(private key: string) {} + toString() { return oops.language.getLangByID(this.key) || this.key; } + valueOf() { return oops.language.getLangByID(this.key) || this.key; } + toJSON() { return oops.language.getLangByID(this.key) || this.key; } + get length() { return this.toString().length; } +} +const t = (key: string) => new I18nString(key) as unknown as string; /** 卡牌大类定义 */ export enum CardType { @@ -87,14 +94,14 @@ export const CardPoolList: CardConfig[] = [ { uuid: 5304, type: CardType.Hero, cost: 10, weight: 25, pool_lv: 3, kind: CKind.Hero, hero_lv: 1 }, // 技能卡牌 (以增益/辅助为主,因为在备战期没有敌人) - { uuid: 6401, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, get name(){return t("skill_name_6401")}, get info(){return t("skill_info_6401")}, is_inst: true, t_times: 1, t_inv: 0 }, - { uuid: 6402, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, get name(){return t("skill_name_6402")}, get info(){return t("skill_info_6402")}, is_inst: true, t_times: 1, t_inv: 0 }, - { uuid: 6403, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, get name(){return t("skill_name_6403")}, get info(){return t("skill_info_6403")}, is_inst: true, t_times: 1, t_inv: 0 }, - { uuid: 6404, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, get name(){return t("skill_name_6404")}, get info(){return t("skill_info_6404")}, is_inst: true, t_times: 1, t_inv: 0 }, - { uuid: 6405, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 2, kind: CKind.Skill, card_lv: 1, get name(){return t("skill_name_6405")}, get info(){return t("skill_info_6405")}, is_inst: true, t_times: 1, t_inv: 0 }, - { uuid: 6406, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 2, kind: CKind.Skill, card_lv: 1, get name(){return t("skill_name_6406")}, get info(){return t("skill_info_6406")}, is_inst: true, t_times: 1, t_inv: 0 }, - { uuid: 6304, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 3, kind: CKind.Skill, card_lv: 1, get name(){return t("skill_name_6304")}, get info(){return t("skill_info_6304")}, is_inst: true, t_times: 1, t_inv: 0 }, - { uuid: 6305, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 3, kind: CKind.Skill, card_lv: 1, get name(){return t("skill_name_6305")}, get info(){return t("skill_info_6305")}, is_inst: true, t_times: 1, t_inv: 0 }, + { uuid: 6401, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: t("skill_name_6401"), info: t("skill_info_6401"), is_inst: true, t_times: 1, t_inv: 0 }, + { uuid: 6402, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: t("skill_name_6402"), info: t("skill_info_6402"), is_inst: true, t_times: 1, t_inv: 0 }, + { uuid: 6403, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: t("skill_name_6403"), info: t("skill_info_6403"), is_inst: true, t_times: 1, t_inv: 0 }, + { uuid: 6404, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 1, kind: CKind.Skill, card_lv: 1, name: t("skill_name_6404"), info: t("skill_info_6404"), is_inst: true, t_times: 1, t_inv: 0 }, + { uuid: 6405, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 2, kind: CKind.Skill, card_lv: 1, name: t("skill_name_6405"), info: t("skill_info_6405"), is_inst: true, t_times: 1, t_inv: 0 }, + { uuid: 6406, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 2, kind: CKind.Skill, card_lv: 1, name: t("skill_name_6406"), info: t("skill_info_6406"), is_inst: true, t_times: 1, t_inv: 0 }, + { uuid: 6304, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 3, 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 }, + { uuid: 6305, type: CardType.Skill, cost: 10, weight: 20, pool_lv: 3, 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 }, // { uuid: 7101, type: CardType.SpecialRefresh, cost: 1, weight: 12, pool_lv: 1 ,kind: CKind.Card }, // { uuid: 7102, type: CardType.SpecialRefresh, cost: 1, weight: 12, pool_lv: 1 ,kind: CKind.Card }, @@ -129,22 +136,22 @@ export interface SpecialRefreshCardConfig extends CardConfig { export const SpecialUpgradeCardList: Record = { - 7001: { uuid: 7001,type: CardType.SpecialUpgrade,cost: 6,weight: 16,pool_lv: CardLV.LV1,kind:CKind.Card,get name(){return t("scard_name_7001")},get info(){return t("scard_info_7001")}, + 7001: { uuid: 7001,type: CardType.SpecialUpgrade,cost: 6,weight: 16,pool_lv: CardLV.LV1,kind:CKind.Card,name:t("scard_name_7001"),info:t("scard_info_7001"), currentLv: 1, targetLv: 2, }, - 7002: { uuid: 7002,type: CardType.SpecialUpgrade,cost: 6,weight: 14,pool_lv: CardLV.LV2,kind:CKind.Card,get name(){return t("scard_name_7002")},get info(){return t("scard_info_7002")}, + 7002: { uuid: 7002,type: CardType.SpecialUpgrade,cost: 6,weight: 14,pool_lv: CardLV.LV2,kind:CKind.Card,name:t("scard_name_7002"),info:t("scard_info_7002"), currentLv: 2, targetLv: 3, }, } export const SpecialRefreshCardList: Record = { - 7101: { uuid: 7101,type: CardType.SpecialRefresh,cost: 4,weight: 14,pool_lv: CardLV.LV1,kind:CKind.Card,get name(){return t("scard_name_7101")},get info(){return t("scard_info_7101")}, + 7101: { uuid: 7101,type: CardType.SpecialRefresh,cost: 4,weight: 14,pool_lv: CardLV.LV1,kind:CKind.Card,name:t("scard_name_7101"),info:t("scard_info_7101"), refreshLv: 0, refreshHeroType: SpecialRefreshHeroType.Melee, }, - 7102: { uuid: 7102,type: CardType.SpecialRefresh,cost: 4,weight: 14,pool_lv: CardLV.LV1,kind:CKind.Card,get name(){return t("scard_name_7102")},get info(){return t("scard_info_7102")}, + 7102: { uuid: 7102,type: CardType.SpecialRefresh,cost: 4,weight: 14,pool_lv: CardLV.LV1,kind:CKind.Card,name:t("scard_name_7102"),info:t("scard_info_7102"), refreshLv: 0, refreshHeroType: SpecialRefreshHeroType.Ranged, }, - 7103: { uuid: 7103,type: CardType.SpecialRefresh,cost: 5,weight: 12,pool_lv: CardLV.LV2,kind:CKind.Card,get name(){return t("scard_name_7103")},get info(){return t("scard_info_7103")}, + 7103: { uuid: 7103,type: CardType.SpecialRefresh,cost: 5,weight: 12,pool_lv: CardLV.LV2,kind:CKind.Card,name:t("scard_name_7103"),info:t("scard_info_7103"), refreshLv: 3, refreshHeroType: SpecialRefreshHeroType.Any, }, } diff --git a/assets/script/game/common/config/HighlightSet.ts b/assets/script/game/common/config/HighlightSet.ts index e460dc3c..26341192 100644 --- a/assets/script/game/common/config/HighlightSet.ts +++ b/assets/script/game/common/config/HighlightSet.ts @@ -8,7 +8,14 @@ import { oops } from "db://oops-framework/core/Oops" -const t = (key: string) => oops.language.getLangByID(key); +class I18nString { + constructor(private key: string) {} + toString() { return oops.language.getLangByID(this.key) || this.key; } + valueOf() { return oops.language.getLangByID(this.key) || this.key; } + toJSON() { return oops.language.getLangByID(this.key) || this.key; } + get length() { return this.toString().length; } +} +const t = (key: string) => new I18nString(key) as unknown as string; export enum HighlightType { CritMaster = "CritMaster", // 暴击大师 @@ -41,95 +48,95 @@ export const HighlightSet: Record = { type: HighlightType.CritMaster, icon: "🔥", levels: [ - { level: 1, threshold: 20, scoreBonus: 50, get title(){return t("hl_title_CritMaster_1")}, get desc(){return t("hl_desc_CritMaster")} }, - { level: 2, threshold: 40, scoreBonus: 100, get title(){return t("hl_title_CritMaster_2")}, get desc(){return t("hl_desc_CritMaster")} }, - { level: 3, threshold: 60, scoreBonus: 150, get title(){return t("hl_title_CritMaster_3")}, get desc(){return t("hl_desc_CritMaster")} }, - { level: 4, threshold: 80, scoreBonus: 200, get title(){return t("hl_title_CritMaster_4")}, get desc(){return t("hl_desc_CritMaster")} }, - { level: 5, threshold: 100, scoreBonus: 300, get title(){return t("hl_title_CritMaster_5")}, get desc(){return t("hl_desc_CritMaster")} }, + { level: 1, threshold: 20, scoreBonus: 50, title: t("hl_title_CritMaster_1"), desc: t("hl_desc_CritMaster") }, + { level: 2, threshold: 40, scoreBonus: 100, title: t("hl_title_CritMaster_2"), desc: t("hl_desc_CritMaster") }, + { level: 3, threshold: 60, scoreBonus: 150, title: t("hl_title_CritMaster_3"), desc: t("hl_desc_CritMaster") }, + { level: 4, threshold: 80, scoreBonus: 200, title: t("hl_title_CritMaster_4"), desc: t("hl_desc_CritMaster") }, + { level: 5, threshold: 100, scoreBonus: 300, title: t("hl_title_CritMaster_5"), desc: t("hl_desc_CritMaster") }, ] }, [HighlightType.DeathExpert]: { type: HighlightType.DeathExpert, icon: "💀", levels: [ - { level: 1, threshold: 15, scoreBonus: 50, get title(){return t("hl_title_DeathExpert_1")}, get desc(){return t("hl_desc_DeathExpert")} }, - { level: 2, threshold: 25, scoreBonus: 100, get title(){return t("hl_title_DeathExpert_2")}, get desc(){return t("hl_desc_DeathExpert")} }, - { level: 3, threshold: 40, scoreBonus: 150, get title(){return t("hl_title_DeathExpert_3")}, get desc(){return t("hl_desc_DeathExpert")} }, - { level: 4, threshold: 60, scoreBonus: 200, get title(){return t("hl_title_DeathExpert_4")}, get desc(){return t("hl_desc_DeathExpert")} }, - { level: 5, threshold: 80, scoreBonus: 300, get title(){return t("hl_title_DeathExpert_5")}, get desc(){return t("hl_desc_DeathExpert")} }, + { level: 1, threshold: 15, scoreBonus: 50, title: t("hl_title_DeathExpert_1"), desc: t("hl_desc_DeathExpert") }, + { level: 2, threshold: 25, scoreBonus: 100, title: t("hl_title_DeathExpert_2"), desc: t("hl_desc_DeathExpert") }, + { level: 3, threshold: 40, scoreBonus: 150, title: t("hl_title_DeathExpert_3"), desc: t("hl_desc_DeathExpert") }, + { level: 4, threshold: 60, scoreBonus: 200, title: t("hl_title_DeathExpert_4"), desc: t("hl_desc_DeathExpert") }, + { level: 5, threshold: 80, scoreBonus: 300, title: t("hl_title_DeathExpert_5"), desc: t("hl_desc_DeathExpert") }, ] }, [HighlightType.IronWall]: { type: HighlightType.IronWall, icon: "🛡️", levels: [ - { level: 1, threshold: 15, scoreBonus: 50, get title(){return t("hl_title_IronWall_1")}, get desc(){return t("hl_desc_IronWall")} }, - { level: 2, threshold: 30, scoreBonus: 100, get title(){return t("hl_title_IronWall_2")}, get desc(){return t("hl_desc_IronWall")} }, - { level: 3, threshold: 50, scoreBonus: 150, get title(){return t("hl_title_IronWall_3")}, get desc(){return t("hl_desc_IronWall")} }, - { level: 4, threshold: 70, scoreBonus: 200, get title(){return t("hl_title_IronWall_4")}, get desc(){return t("hl_desc_IronWall")} }, - { level: 5, threshold: 100, scoreBonus: 300, get title(){return t("hl_title_IronWall_5")}, get desc(){return t("hl_desc_IronWall")} }, + { level: 1, threshold: 15, scoreBonus: 50, title: t("hl_title_IronWall_1"), desc: t("hl_desc_IronWall") }, + { level: 2, threshold: 30, scoreBonus: 100, title: t("hl_title_IronWall_2"), desc: t("hl_desc_IronWall") }, + { level: 3, threshold: 50, scoreBonus: 150, title: t("hl_title_IronWall_3"), desc: t("hl_desc_IronWall") }, + { level: 4, threshold: 70, scoreBonus: 200, title: t("hl_title_IronWall_4"), desc: t("hl_desc_IronWall") }, + { level: 5, threshold: 100, scoreBonus: 300, title: t("hl_title_IronWall_5"), desc: t("hl_desc_IronWall") }, ] }, [HighlightType.WindStorm]: { type: HighlightType.WindStorm, icon: "⚡", levels: [ - { level: 1, threshold: 10, scoreBonus: 50, get title(){return t("hl_title_WindStorm_1")}, get desc(){return t("hl_desc_WindStorm")} }, - { level: 2, threshold: 20, scoreBonus: 100, get title(){return t("hl_title_WindStorm_2")}, get desc(){return t("hl_desc_WindStorm")} }, - { level: 3, threshold: 35, scoreBonus: 150, get title(){return t("hl_title_WindStorm_3")}, get desc(){return t("hl_desc_WindStorm")} }, - { level: 4, threshold: 50, scoreBonus: 200, get title(){return t("hl_title_WindStorm_4")}, get desc(){return t("hl_desc_WindStorm")} }, - { level: 5, threshold: 70, scoreBonus: 300, get title(){return t("hl_title_WindStorm_5")}, get desc(){return t("hl_desc_WindStorm")} }, + { level: 1, threshold: 10, scoreBonus: 50, title: t("hl_title_WindStorm_1"), desc: t("hl_desc_WindStorm") }, + { level: 2, threshold: 20, scoreBonus: 100, title: t("hl_title_WindStorm_2"), desc: t("hl_desc_WindStorm") }, + { level: 3, threshold: 35, scoreBonus: 150, title: t("hl_title_WindStorm_3"), desc: t("hl_desc_WindStorm") }, + { level: 4, threshold: 50, scoreBonus: 200, title: t("hl_title_WindStorm_4"), desc: t("hl_desc_WindStorm") }, + { level: 5, threshold: 70, scoreBonus: 300, title: t("hl_title_WindStorm_5"), desc: t("hl_desc_WindStorm") }, ] }, [HighlightType.OneHitKill]: { type: HighlightType.OneHitKill, icon: "🎯", levels: [ - { level: 1, threshold: 100, scoreBonus: 50, get title(){return t("hl_title_OneHitKill_1")}, get desc(){return t("hl_desc_OneHitKill")} }, - { level: 2, threshold: 200, scoreBonus: 100, get title(){return t("hl_title_OneHitKill_2")}, get desc(){return t("hl_desc_OneHitKill")} }, - { level: 3, threshold: 400, scoreBonus: 150, get title(){return t("hl_title_OneHitKill_3")}, get desc(){return t("hl_desc_OneHitKill")} }, - { level: 4, threshold: 800, scoreBonus: 200, get title(){return t("hl_title_OneHitKill_4")}, get desc(){return t("hl_desc_OneHitKill")} }, - { level: 5, threshold: 1500, scoreBonus: 300, get title(){return t("hl_title_OneHitKill_5")}, get desc(){return t("hl_desc_OneHitKill")} }, + { level: 1, threshold: 100, scoreBonus: 50, title: t("hl_title_OneHitKill_1"), desc: t("hl_desc_OneHitKill") }, + { level: 2, threshold: 200, scoreBonus: 100, title: t("hl_title_OneHitKill_2"), desc: t("hl_desc_OneHitKill") }, + { level: 3, threshold: 400, scoreBonus: 150, title: t("hl_title_OneHitKill_3"), desc: t("hl_desc_OneHitKill") }, + { level: 4, threshold: 800, scoreBonus: 200, title: t("hl_title_OneHitKill_4"), desc: t("hl_desc_OneHitKill") }, + { level: 5, threshold: 1500, scoreBonus: 300, title: t("hl_title_OneHitKill_5"), desc: t("hl_desc_OneHitKill") }, ] }, [HighlightType.HealingLight]: { type: HighlightType.HealingLight, icon: "💊", levels: [ - { level: 1, threshold: 200, scoreBonus: 50, get title(){return t("hl_title_HealingLight_1")}, get desc(){return t("hl_desc_HealingLight")} }, - { level: 2, threshold: 500, scoreBonus: 100, get title(){return t("hl_title_HealingLight_2")}, get desc(){return t("hl_desc_HealingLight")} }, - { level: 3, threshold: 1000, scoreBonus: 150, get title(){return t("hl_title_HealingLight_3")}, get desc(){return t("hl_desc_HealingLight")} }, - { level: 4, threshold: 2000, scoreBonus: 200, get title(){return t("hl_title_HealingLight_4")}, get desc(){return t("hl_desc_HealingLight")} }, - { level: 5, threshold: 4000, scoreBonus: 300, get title(){return t("hl_title_HealingLight_5")}, get desc(){return t("hl_desc_HealingLight")} }, + { level: 1, threshold: 200, scoreBonus: 50, title: t("hl_title_HealingLight_1"), desc: t("hl_desc_HealingLight") }, + { level: 2, threshold: 500, scoreBonus: 100, title: t("hl_title_HealingLight_2"), desc: t("hl_desc_HealingLight") }, + { level: 3, threshold: 1000, scoreBonus: 150, title: t("hl_title_HealingLight_3"), desc: t("hl_desc_HealingLight") }, + { level: 4, threshold: 2000, scoreBonus: 200, title: t("hl_title_HealingLight_4"), desc: t("hl_desc_HealingLight") }, + { level: 5, threshold: 4000, scoreBonus: 300, title: t("hl_title_HealingLight_5"), desc: t("hl_desc_HealingLight") }, ] }, [HighlightType.PerfectClear]: { type: HighlightType.PerfectClear, icon: "🏆", levels: [ - { level: 1, threshold: 1, scoreBonus: 500, get title(){return t("hl_title_PerfectClear_1")}, get desc(){return t("hl_desc_PerfectClear")} }, + { level: 1, threshold: 1, scoreBonus: 500, title: t("hl_title_PerfectClear_1"), desc: t("hl_desc_PerfectClear") }, ] }, [HighlightType.LuckyKing]: { type: HighlightType.LuckyKing, icon: "🎲", levels: [ - { level: 1, threshold: 0.6, scoreBonus: 50, get title(){return t("hl_title_LuckyKing_1")}, get desc(){return t("hl_desc_LuckyKing")} }, - { level: 2, threshold: 0.7, scoreBonus: 100, get title(){return t("hl_title_LuckyKing_2")}, get desc(){return t("hl_desc_LuckyKing")} }, - { level: 3, threshold: 0.8, scoreBonus: 150, get title(){return t("hl_title_LuckyKing_3")}, get desc(){return t("hl_desc_LuckyKing")} }, - { level: 4, threshold: 0.9, scoreBonus: 200, get title(){return t("hl_title_LuckyKing_4")}, get desc(){return t("hl_desc_LuckyKing")} }, - { level: 5, threshold: 1.0, scoreBonus: 300, get title(){return t("hl_title_LuckyKing_5")}, get desc(){return t("hl_desc_LuckyKing")} }, + { level: 1, threshold: 0.6, scoreBonus: 50, title: t("hl_title_LuckyKing_1"), desc: t("hl_desc_LuckyKing") }, + { level: 2, threshold: 0.7, scoreBonus: 100, title: t("hl_title_LuckyKing_2"), desc: t("hl_desc_LuckyKing") }, + { level: 3, threshold: 0.8, scoreBonus: 150, title: t("hl_title_LuckyKing_3"), desc: t("hl_desc_LuckyKing") }, + { level: 4, threshold: 0.9, scoreBonus: 200, title: t("hl_title_LuckyKing_4"), desc: t("hl_desc_LuckyKing") }, + { level: 5, threshold: 1.0, scoreBonus: 300, title: t("hl_title_LuckyKing_5"), desc: t("hl_desc_LuckyKing") }, ] }, [HighlightType.ThriftyPlayer]: { type: HighlightType.ThriftyPlayer, icon: "💰", levels: [ - { level: 1, threshold: 0.75, scoreBonus: 50, get title(){return t("hl_title_ThriftyPlayer_1")}, get desc(){return t("hl_desc_ThriftyPlayer")} }, - { level: 2, threshold: 0.85, scoreBonus: 100, get title(){return t("hl_title_ThriftyPlayer_2")}, get desc(){return t("hl_desc_ThriftyPlayer")} }, - { level: 3, threshold: 0.95, scoreBonus: 150, get title(){return t("hl_title_ThriftyPlayer_3")}, get desc(){return t("hl_desc_ThriftyPlayer")} }, - { level: 4, threshold: 0.98, scoreBonus: 200, get title(){return t("hl_title_ThriftyPlayer_4")}, get desc(){return t("hl_desc_ThriftyPlayer")} }, - { level: 5, threshold: 1.00, scoreBonus: 300, get title(){return t("hl_title_ThriftyPlayer_5")}, get desc(){return t("hl_desc_ThriftyPlayer")} }, + { level: 1, threshold: 0.75, scoreBonus: 50, title: t("hl_title_ThriftyPlayer_1"), desc: t("hl_desc_ThriftyPlayer") }, + { level: 2, threshold: 0.85, scoreBonus: 100, title: t("hl_title_ThriftyPlayer_2"), desc: t("hl_desc_ThriftyPlayer") }, + { level: 3, threshold: 0.95, scoreBonus: 150, title: t("hl_title_ThriftyPlayer_3"), desc: t("hl_desc_ThriftyPlayer") }, + { level: 4, threshold: 0.98, scoreBonus: 200, title: t("hl_title_ThriftyPlayer_4"), desc: t("hl_desc_ThriftyPlayer") }, + { level: 5, threshold: 1.00, scoreBonus: 300, title: t("hl_title_ThriftyPlayer_5"), desc: t("hl_desc_ThriftyPlayer") }, ] } }; diff --git a/assets/script/game/common/config/SkillSet.ts b/assets/script/game/common/config/SkillSet.ts index 2d188b86..f91c33d9 100644 --- a/assets/script/game/common/config/SkillSet.ts +++ b/assets/script/game/common/config/SkillSet.ts @@ -2,7 +2,14 @@ import { Attrs } from "./HeroAttrs"; import { oops } from "db://oops-framework/core/Oops"; -const t = (key: string) => oops.language.getLangByID(key); +class I18nString { + constructor(private key: string) {} + toString() { return oops.language.getLangByID(this.key) || this.key; } + valueOf() { return oops.language.getLangByID(this.key) || this.key; } + toJSON() { return oops.language.getLangByID(this.key) || this.key; } + get length() { return this.toString().length; } +} +export const t = (key: string) => new I18nString(key) as unknown as string; export enum HSSet { atk = 0, // 普通攻击 @@ -175,134 +182,134 @@ export const SkillUpList = { export const SkillSet: Record = { // ========== 基础技能 ========== 6001: { - uuid:6001,get name(){return t("skill_name_6001")},sp_name:"atk",icon:"1026",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", + uuid:6001,name:t("skill_name_6001"),sp_name:"atk",icon:"1026",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", DTType:DTType.single,ap:100,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.Melee, - RType:RType.linear,EType:EType.collision,buffs:[],get info(){return t("skill_info_6001")}, + RType:RType.linear,EType:EType.collision,buffs:[],info:t("skill_info_6001"), }, 6002: { - uuid:6002,get name(){return t("skill_name_6002")},sp_name:"ball_fire",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", + uuid:6002,name:t("skill_name_6002"),sp_name:"ball_fire",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", DTType:DTType.single,frz:0,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.bezier,EType:EType.collision,buffs:[],get info(){return t("skill_info_6002")}, + RType:RType.bezier,EType:EType.collision,buffs:[],info:t("skill_info_6002"), }, 6003: { - uuid:6003,get name(){return t("skill_name_6003")},sp_name:"ball_winds",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", + uuid:6003,name:t("skill_name_6003"),sp_name:"ball_winds",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", DTType:DTType.single,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.bezier,EType:EType.collision,buffs:[],get info(){return t("skill_info_6003")}, + RType:RType.bezier,EType:EType.collision,buffs:[],info:t("skill_info_6003"), }, 6004: { - uuid:6004,get name(){return t("skill_name_6004")},sp_name:"ball_zi",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", + uuid:6004,name:t("skill_name_6004"),sp_name:"ball_zi",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", DTType:DTType.single,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.linear,EType:EType.collision,buffs:[],get info(){return t("skill_info_6004")}, + RType:RType.linear,EType:EType.collision,buffs:[],info:t("skill_info_6004"), }, 6005: { - uuid:6005,get name(){return t("skill_name_6005")},sp_name:"arrow",icon:"1135",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", + uuid:6005,name:t("skill_name_6005"),sp_name:"arrow",icon:"1135",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", DTType:DTType.single,ap:100,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.bezier,EType:EType.collision,bezier_start_y:20,bezier_mid_y:140,bezier_arc:1.05,buffs:[],get info(){return t("skill_info_6005")}, + RType:RType.bezier,EType:EType.collision,bezier_start_y:20,bezier_mid_y:140,bezier_arc:1.05,buffs:[],info:t("skill_info_6005"), }, 6007: { - uuid:6007,get name(){return t("skill_name_6007")},sp_name:"ball_forst",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", + uuid:6007,name:t("skill_name_6007"),sp_name:"ball_forst",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", DTType:DTType.single,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.bezier,EType:EType.collision,buffs:[],get info(){return t("skill_info_6007")}, + RType:RType.bezier,EType:EType.collision,buffs:[],info:t("skill_info_6007"), }, 6008: { - uuid:6007,get name(){return t("skill_name_6008")},sp_name:"ball_water",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", + uuid:6007,name:t("skill_name_6008"),sp_name:"ball_water",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk", DTType:DTType.single,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.bezier,EType:EType.collision,buffs:[],get info(){return t("skill_info_6008")}, + RType:RType.bezier,EType:EType.collision,buffs:[],info:t("skill_info_6008"), }, //大招 6101: { - uuid:6101,get name(){return t("skill_name_6101")},sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"reds",endAnm:"",act:"max", + uuid:6101,name:t("skill_name_6101"),sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"reds",endAnm:"",act:"max", DTType:DTType.single,bck:20,ap:100,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.Melee, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6101")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6101"), }, 6102: { - uuid:6102,get name(){return t("skill_name_6102")},sp_name:"atk_s4",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"yellow",endAnm:"",act:"max", + uuid:6102,name:t("skill_name_6102"),sp_name:"atk_s4",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"yellow",endAnm:"",act:"max", DTType:DTType.single,crt:20,ap:100,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.Melee, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6102")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6102"), }, 6103: { - uuid:6103,get name(){return t("skill_name_6103")},sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"reds",endAnm:"",act:"max", + uuid:6103,name:t("skill_name_6103"),sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"reds",endAnm:"",act:"max", DTType:DTType.range,crt:20,ap:100,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6103")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6103"), }, 6104: { - uuid:6104,get name(){return t("skill_name_6104")},sp_name:"arrow_big_yellow",icon:"1135",TGroup:TGroup.Enemy,readyAnm:"yellow",endAnm:"",act:"max", + uuid:6104,name:t("skill_name_6104"),sp_name:"arrow_big_yellow",icon:"1135",TGroup:TGroup.Enemy,readyAnm:"yellow",endAnm:"",act:"max", DTType:DTType.single,crt:20,ap:100,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.linear,EType:EType.collision,buffs:[],get info(){return t("skill_info_6104")}, + RType:RType.linear,EType:EType.collision,buffs:[],info:t("skill_info_6104"), }, 6105: { - uuid:6105,get name(){return t("skill_name_6105")},sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"blues",endAnm:"",act:"max", + uuid:6105,name:t("skill_name_6105"),sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"blues",endAnm:"",act:"max", DTType:DTType.range,frz:0,ap:100,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6105")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6105"), }, 6106: { - uuid:6106,get name(){return t("skill_name_6106")},sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"reds",endAnm:"",act:"max", + uuid:6106,name:t("skill_name_6106"),sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"reds",endAnm:"",act:"max", DTType:DTType.range,bck:20,ap:100,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6106")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6106"), }, //============================= ====== 辅助技能 ====== ========================== 6301:{ - uuid:6301,get name(){return t("skill_name_6301")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"up_blue",endAnm:"",act:"atk", + uuid:6301,name:t("skill_name_6301"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"up_blue",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Shield,ap:3,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6301")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6301"), }, 6302: { - uuid:6302,get name(){return t("skill_name_6302")},sp_name:"buff_wind",icon:"1292",TGroup:TGroup.Team,readyAnm:"up_green",endAnm:"",act:"atk", + uuid:6302,name:t("skill_name_6302"),sp_name:"buff_wind",icon:"1292",TGroup:TGroup.Team,readyAnm:"up_green",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Heal,ap:500,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6302")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6302"), }, 6303:{ - uuid:6303,get name(){return t("skill_name_6303")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"up_blue",endAnm:"",act:"atk", + uuid:6303,name:t("skill_name_6303"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"up_blue",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Shield,ap:3,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6303")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6303"), }, 6304: { - uuid:6304,get name(){return t("skill_name_6304")},sp_name:"buff_wind",icon:"1292",TGroup:TGroup.Team,readyAnm:"up_green",endAnm:"",act:"atk", + uuid:6304,name:t("skill_name_6304"),sp_name:"buff_wind",icon:"1292",TGroup:TGroup.Team,readyAnm:"up_green",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Heal,ap:200,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6304")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6304"), }, 6305:{ - uuid:6305,get name(){return t("skill_name_6305")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_blue",endAnm:"",act:"atk", + uuid:6305,name:t("skill_name_6305"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_blue",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Shield,ap:2,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6305")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6305"), }, //==========================buff 技能===================== 6401:{ - uuid:6401,get name(){return t("skill_name_6401")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_ap",endAnm:"",act:"atk", + uuid:6401,name:t("skill_name_6401"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_ap",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:5}],get info(){return t("skill_info_6401")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:5}],info:t("skill_info_6401"), }, 6402:{ - uuid:6402,get name(){return t("skill_name_6402")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_hp",endAnm:"",act:"atk", + uuid:6402,name:t("skill_name_6402"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_hp",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.hp_max,value:20}],get info(){return t("skill_info_6402")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.hp_max,value:20}],info:t("skill_info_6402"), }, 6403:{ - uuid:6403,get name(){return t("skill_name_6403")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_hp",endAnm:"",act:"atk", + uuid:6403,name:t("skill_name_6403"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_hp",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:5},{buff:Attrs.hp_max,value:20}],get info(){return t("skill_info_6403")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:5},{buff:Attrs.hp_max,value:20}],info:t("skill_info_6403"), }, 6404:{ - uuid:6404,get name(){return t("skill_name_6404")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_ap",endAnm:"",act:"atk", + uuid:6404,name:t("skill_name_6404"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_ap",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:2}],get info(){return t("skill_info_6404")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:2}],info:t("skill_info_6404"), }, 6405:{ - uuid:6405,get name(){return t("skill_name_6405")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_hp",endAnm:"",act:"atk", + uuid:6405,name:t("skill_name_6405"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_hp",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.hp_max,value:10}],get info(){return t("skill_info_6405")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.hp_max,value:10}],info:t("skill_info_6405"), }, 6406:{ - uuid:6406,get name(){return t("skill_name_6406")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_ap",endAnm:"",act:"atk", + uuid:6406,name:t("skill_name_6406"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_ap",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:2},{buff:Attrs.hp_max,value:10}],get info(){return t("skill_info_6406")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:2},{buff:Attrs.hp_max,value:10}],info:t("skill_info_6406"), }, 6501:{ - uuid:6501,get name(){return t("skill_name_6501")},sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"up_ap",endAnm:"",act:"atk", + uuid:6501,name:t("skill_name_6501"),sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"up_ap",endAnm:"",act:"atk", DTType:DTType.single,kind:SkillKind.Support,ap:50,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support, - RType:RType.fixed,EType:EType.animationEnd,buffs:[],get info(){return t("skill_info_6501")}, + RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:t("skill_info_6501"), } }; @@ -327,13 +334,13 @@ export interface FieldSkillConfig { } export const FieldSkillSet: Record = { - 7001: { uuid: 7001, get name(){return t("fskill_name_7001")}, type: FieldSkillType.SummonCount, value: 1, get info(){return t("fskill_info_7001")} }, - 7002: { uuid: 7002, get name(){return t("fskill_name_7002")}, type: FieldSkillType.DeadCount, value: 1, get info(){return t("fskill_info_7002")} }, - 7003: { uuid: 7003, get name(){return t("fskill_name_7003")}, type: FieldSkillType.StartCount, value: 1, get info(){return t("fskill_info_7003")} }, - 7004: { uuid: 7004, get name(){return t("fskill_name_7004")}, type: FieldSkillType.EndCount, value: 1, get info(){return t("fskill_info_7004")} }, - 7005: { uuid: 7005, get name(){return t("fskill_name_7005")}, type: FieldSkillType.WaveGold, value: 10, get info(){return t("fskill_info_7005")} }, - 7006: { uuid: 7006, get name(){return t("fskill_name_7006")}, type: FieldSkillType.SellGold, value: 5, get info(){return t("fskill_info_7006")} }, - 7007: { uuid: 7007, get name(){return t("fskill_name_7007")}, type: FieldSkillType.WaveHeal, value: 0.3, get info(){return t("fskill_info_7007")} }, - 7008: { uuid: 7008, get name(){return t("fskill_name_7008")}, type: FieldSkillType.HeroAtk, value: 0.2, get info(){return t("fskill_info_7008")} }, + 7001: { uuid: 7001, name: t("fskill_name_7001"), type: FieldSkillType.SummonCount, value: 1, info: t("fskill_info_7001") }, + 7002: { uuid: 7002, name: t("fskill_name_7002"), type: FieldSkillType.DeadCount, value: 1, info: t("fskill_info_7002") }, + 7003: { uuid: 7003, name: t("fskill_name_7003"), type: FieldSkillType.StartCount, value: 1, info: t("fskill_info_7003") }, + 7004: { uuid: 7004, name: t("fskill_name_7004"), type: FieldSkillType.EndCount, value: 1, info: t("fskill_info_7004") }, + 7005: { uuid: 7005, name: t("fskill_name_7005"), type: FieldSkillType.WaveGold, value: 10, info: t("fskill_info_7005") }, + 7006: { uuid: 7006, name: t("fskill_name_7006"), type: FieldSkillType.SellGold, value: 5, info: t("fskill_info_7006") }, + 7007: { uuid: 7007, name: t("fskill_name_7007"), type: FieldSkillType.WaveHeal, value: 0.3, info: t("fskill_info_7007") }, + 7008: { uuid: 7008, name: t("fskill_name_7008"), type: FieldSkillType.HeroAtk, value: 0.2, info: t("fskill_info_7008") }, }; diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index 3267d679..08e25dd6 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -2,7 +2,14 @@ import { v3 } from "cc" import { BoxSet, FacSet } from "./GameSet" import { oops } from "db://oops-framework/core/Oops" -const t = (key: string) => oops.language.getLangByID(key); +class I18nString { + constructor(private key: string) {} + toString() { return oops.language.getLangByID(this.key) || this.key; } + valueOf() { return oops.language.getLangByID(this.key) || this.key; } + toJSON() { return oops.language.getLangByID(this.key) || this.key; } + get length() { return this.toString().length; } +} +export const t = (key: string) => new I18nString(key) as unknown as string; export enum HType { Melee = 0, @@ -105,48 +112,48 @@ export interface HSkillInfo { export const HeroInfo: Record = { // ========== 近战英雄 ========== - 5001:{uuid:5001,get name(){return t("hero_name_5001")},path:"hk1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Melee,hp:150,ap:25,speed:800,atking:[{s_uuid:6301,t_num:2}], - skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},get info(){return t("hero_info_5001")}}, - 5002:{uuid:5002,get name(){return t("hero_name_5002")},path:"hk3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Melee,hp:150,ap:75,speed:800,atked:[{s_uuid:6301,t_num:2}], - skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},get info(){return t("hero_info_5002")}}, - 5003:{uuid:5003,get name(){return t("hero_name_5003")},path:"hk4", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Melee,hp:100,ap:100,speed:800, - skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},get info(){return t("hero_info_5003")}}, - 5004:{uuid:5004,get name(){return t("hero_name_5004")},path:"hc1", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,speed:800, - skills:{6001:{uuid:6001,lv:1,cd:0.7,ccd:0}},get info(){return t("hero_info_5004")}}, - 5005:{uuid:5005,get name(){return t("hero_name_5005")},path:"hk2", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,speed:800, - skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},get info(){return t("hero_info_5005")}}, + 5001:{uuid:5001,name:t("hero_name_5001"),path:"hk1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Melee,hp:150,ap:25,speed:800,atking:[{s_uuid:6301,t_num:2}], + skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},info:t("hero_info_5001")}, + 5002:{uuid:5002,name:t("hero_name_5002"),path:"hk3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Melee,hp:150,ap:75,speed:800,atked:[{s_uuid:6301,t_num:2}], + skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},info:t("hero_info_5002")}, + 5003:{uuid:5003,name:t("hero_name_5003"),path:"hk4", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Melee,hp:100,ap:100,speed:800, + skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},info:t("hero_info_5003")}, + 5004:{uuid:5004,name:t("hero_name_5004"),path:"hc1", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,speed:800, + skills:{6001:{uuid:6001,lv:1,cd:0.7,ccd:0}},info:t("hero_info_5004")}, + 5005:{uuid:5005,name:t("hero_name_5005"),path:"hk2", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,speed:800, + skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},info:t("hero_info_5005")}, // ========== 法师英雄 ========== - 5101:{uuid:5101,get name(){return t("hero_name_5101")},path:"hm2", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:50,ap:60,speed:800,revive:{s_uuid:6501,r_num:1,upr:0.5}, - skills:{6201:{uuid:6007,lv:1,cd:1,ccd:0}},get info(){return t("hero_info_5101")}}, - 5102:{uuid:5102,get name(){return t("hero_name_5102")},path:"hm1", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,hp:30,ap:120,speed:800, - skills:{6203:{uuid:6002,lv:1,cd:1,ccd:0}},get info(){return t("hero_info_5102")}}, - 5103:{uuid:5103,get name(){return t("hero_name_5103")},path:"hm9", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:45,ap:180,speed:800, - skills:{6201:{uuid:6002,lv:1,cd:1,ccd:0}},get info(){return t("hero_info_5103")}}, - 5104:{uuid:5104,get name(){return t("hero_name_5104")},path:"hm4", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Long,hp:60,ap:240,speed:800, - skills:{6201:{uuid:66002201,lv:1,cd:1,ccd:0}},get info(){return t("hero_info_5104")}}, - 5105:{uuid:5105,get name(){return t("hero_name_5105")},path:"hm3", fac:FacSet.HERO,cards_lv:5,lv:1,type:HType.Long,hp:75,ap:300,speed:800, - skills:{6203:{uuid:6002,lv:1,cd:1,ccd:0}},get info(){return t("hero_info_5105")} }, + 5101:{uuid:5101,name:t("hero_name_5101"),path:"hm2", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:50,ap:60,speed:800,revive:{s_uuid:6501,r_num:1,upr:0.5}, + skills:{6201:{uuid:6007,lv:1,cd:1,ccd:0}},info:t("hero_info_5101")}, + 5102:{uuid:5102,name:t("hero_name_5102"),path:"hm1", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,hp:30,ap:120,speed:800, + skills:{6203:{uuid:6002,lv:1,cd:1,ccd:0}},info:t("hero_info_5102")}, + 5103:{uuid:5103,name:t("hero_name_5103"),path:"hm9", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:45,ap:180,speed:800, + skills:{6201:{uuid:6002,lv:1,cd:1,ccd:0}},info:t("hero_info_5103")}, + 5104:{uuid:5104,name:t("hero_name_5104"),path:"hm4", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Long,hp:60,ap:240,speed:800, + skills:{6201:{uuid:66002201,lv:1,cd:1,ccd:0}},info:t("hero_info_5104")}, + 5105:{uuid:5105,name:t("hero_name_5105"),path:"hm3", fac:FacSet.HERO,cards_lv:5,lv:1,type:HType.Long,hp:75,ap:300,speed:800, + skills:{6203:{uuid:6002,lv:1,cd:1,ccd:0}},info:t("hero_info_5105") }, // ========== 远程英雄 ========== - 5201:{uuid:5201,get name(){return t("hero_name_5201")},path:"ha1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:15,ap:60,speed:800, - skills:{6101:{uuid:6005,lv:1,cd:0.9,ccd:0}},get info(){return t("hero_info_5201")}}, - 5202:{uuid:5202,get name(){return t("hero_name_5202")},path:"ha2", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:45,ap:180,speed:800, - skills:{6011:{uuid:6005,lv:1,cd:0.9,ccd:0}},get info(){return t("hero_info_5202")}}, - 5203:{uuid:5203,get name(){return t("hero_name_5203")},path:"ha3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:45,ap:180,speed:800, - skills:{6011:{uuid:6005,lv:1,cd:0.9,ccd:0}},get info(){return t("hero_info_5203")}}, + 5201:{uuid:5201,name:t("hero_name_5201"),path:"ha1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:15,ap:60,speed:800, + skills:{6101:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:t("hero_info_5201")}, + 5202:{uuid:5202,name:t("hero_name_5202"),path:"ha2", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:45,ap:180,speed:800, + skills:{6011:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:t("hero_info_5202")}, + 5203:{uuid:5203,name:t("hero_name_5203"),path:"ha3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:45,ap:180,speed:800, + skills:{6011:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:t("hero_info_5203")}, // ========== 腐竹英雄 ========== - 5301:{uuid:5301,get name(){return t("hero_name_5301")},path:"hh1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:15,ap:20,speed:800,atking:[{s_uuid:6302,t_num:2}], - skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},get info(){return t("hero_info_5301")} }, - 5302:{uuid:5302,get name(){return t("hero_name_5302")},path:"hz1", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,hp:30,ap:40,speed:800,atking:[{s_uuid:6304,t_num:2}], - skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},get info(){return t("hero_info_5302")}}, + 5301:{uuid:5301,name:t("hero_name_5301"),path:"hh1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:15,ap:20,speed:800,atking:[{s_uuid:6302,t_num:2}], + skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:t("hero_info_5301") }, + 5302:{uuid:5302,name:t("hero_name_5302"),path:"hz1", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,hp:30,ap:40,speed:800,atking:[{s_uuid:6304,t_num:2}], + skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:t("hero_info_5302")}, - 5303:{uuid:5303,get name(){return t("hero_name_5303")},path:"hm6", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Long,hp:60,ap:80,speed:800, - skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},get info(){return t("hero_info_5303")}}, - 5304:{uuid:5304,get name(){return t("hero_name_5304")},path:"hm7", fac:FacSet.HERO,cards_lv:6,lv:1,type:HType.Long,hp:90,ap:120,speed:800, - skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},get info(){return t("hero_info_5304")}}, + 5303:{uuid:5303,name:t("hero_name_5303"),path:"hm6", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Long,hp:60,ap:80,speed:800, + skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:t("hero_info_5303")}, + 5304:{uuid:5304,name:t("hero_name_5304"),path:"hm7", fac:FacSet.HERO,cards_lv:6,lv:1,type:HType.Long,hp:90,ap:120,speed:800, + skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:t("hero_info_5304")}, @@ -164,36 +171,36 @@ export const HeroInfo: Record = { //============== 兽人系列 =============== // 近战型 -6001:{uuid:6001,get name(){return t("mon_name_6001")},path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:800, - skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},get info(){return ""}}, -6002:{uuid:6002,get name(){return t("mon_name_6002")},path:"mo3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:800, - skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0},6004:{uuid:6004,lv:1,cd:10,ccd:0}},get info(){return ""}}, -6003:{uuid:6003,get name(){return t("mon_name_6003")},path:"mo4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:350,ap:30,speed:800, - skills:{6001:{uuid:6001,lv:1,cd:2,ccd:0}},get info(){return ""}}, +6001:{uuid:6001,name:t("mon_name_6001"),path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:800, + skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""}, +6002:{uuid:6002,name:t("mon_name_6002"),path:"mo3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:800, + skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0},6004:{uuid:6004,lv:1,cd:10,ccd:0}},info:""}, +6003:{uuid:6003,name:t("mon_name_6003"),path:"mo4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:350,ap:30,speed:800, + skills:{6001:{uuid:6001,lv:1,cd:2,ccd:0}},info:""}, // 4. 远程 -6004:{uuid:6004,get name(){return t("mon_name_6004")},path:"mo2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:45,speed:800, - skills:{6001:{uuid:6101,lv:1,cd:1.5,ccd:0}},get info(){return ""}}, -6005:{uuid:6005,get name(){return t("mon_name_6005")},path:"mo5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:20,speed:800, - skills:{6001:{uuid:6203,lv:1,cd:1.5,ccd:0}},get info(){return ""}}, +6004:{uuid:6004,name:t("mon_name_6004"),path:"mo2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:45,speed:800, + skills:{6001:{uuid:6101,lv:1,cd:1.5,ccd:0}},info:""}, +6005:{uuid:6005,name:t("mon_name_6005"),path:"mo5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:20,speed:800, + skills:{6001:{uuid:6203,lv:1,cd:1.5,ccd:0}},info:""}, // 6. 精英/BOSS型 -6006:{uuid:6006,get name(){return t("mon_name_6006")},path:"mo6", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1500,ap:20,speed:800, - skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0},6004:{uuid:6004,lv:1,cd:10,ccd:0}},get info(){return ""}}, +6006:{uuid:6006,name:t("mon_name_6006"),path:"mo6", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1500,ap:20,speed:800, + skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0},6004:{uuid:6004,lv:1,cd:10,ccd:0}},info:""}, //============== 亡灵系列 =============== // 近战型 -6101:{uuid:6101,get name(){return t("mon_name_6101")},path:"mud1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:800, - skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},get info(){return ""}}, -6103:{uuid:6103,get name(){return t("mon_name_6103")},path:"mud3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:800, - skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},get info(){return ""}}, +6101:{uuid:6101,name:t("mon_name_6101"),path:"mud1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:800, + skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""}, +6103:{uuid:6103,name:t("mon_name_6103"),path:"mud3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:120,ap:12,speed:800, + skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""}, // 4. 远程 -6102:{uuid:6102,get name(){return t("mon_name_6102")},path:"mud2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:45,speed:800, - skills:{6001:{uuid:6101,lv:1,cd:1.5,ccd:0}},get info(){return ""}}, +6102:{uuid:6102,name:t("mon_name_6102"),path:"mud2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:80,ap:45,speed:800, + skills:{6001:{uuid:6101,lv:1,cd:1.5,ccd:0}},info:""}, // 6105:{uuid:6105,name:"兽人法师",path:"mud5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:80,ap:20,speed:800, // skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""}, // 6. 精英/BOSS型 -6104:{uuid:6104,get name(){return t("mon_name_6104")},path:"mud4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:350,ap:30,speed:800, - skills:{6204:{uuid:6204,lv:1,cd:2,ccd:0},6206:{uuid:6206,lv:1,cd:10,ccd:0}},get info(){return ""}}, -6105:{uuid:6105,get name(){return t("mon_name_6105")},path:"mud5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1500,ap:20,speed:800, - skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0},6005:{uuid:6005,lv:1,cd:10,ccd:0}},get info(){return ""}}, +6104:{uuid:6104,name:t("mon_name_6104"),path:"mud4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:350,ap:30,speed:800, + skills:{6204:{uuid:6204,lv:1,cd:2,ccd:0},6206:{uuid:6206,lv:1,cd:10,ccd:0}},info:""}, +6105:{uuid:6105,name:t("mon_name_6105"),path:"mud5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1500,ap:20,speed:800, + skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0},6005:{uuid:6005,lv:1,cd:10,ccd:0}},info:""}, };