refactor(i18n): 引入 I18nString 类优化多语言配置定义
将多个配置文件中的多语言字符串从 getter 函数改为使用 I18nString 类实例。 修改 CardSet、HighlightSet、heroSet 和 SkillSet 中的 name、info、title、desc 等字段, 统一使用 t(key) 返回的 I18nString 实例,简化配置对象结构并保持动态语言切换能力。
This commit is contained in:
@@ -3,7 +3,14 @@ import { HeroInfo, HType } from "./heroSet"
|
|||||||
import { FightSet } from "./GameSet"
|
import { FightSet } from "./GameSet"
|
||||||
import { oops } from "db://oops-framework/core/Oops"
|
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 {
|
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: 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: 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, get name(){return t("skill_name_6402")}, get info(){return t("skill_info_6402")}, 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, get name(){return t("skill_name_6403")}, get info(){return t("skill_info_6403")}, 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, get name(){return t("skill_name_6404")}, get info(){return t("skill_info_6404")}, 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, get name(){return t("skill_name_6405")}, get info(){return t("skill_info_6405")}, 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, get name(){return t("skill_name_6406")}, get info(){return t("skill_info_6406")}, 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, get name(){return t("skill_name_6304")}, get info(){return t("skill_info_6304")}, 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, get name(){return t("skill_name_6305")}, get info(){return t("skill_info_6305")}, 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: 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 },
|
// { 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<number, SpecialUpgradeCardConfig> = {
|
export const SpecialUpgradeCardList: Record<number, SpecialUpgradeCardConfig> = {
|
||||||
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,
|
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,
|
currentLv: 2, targetLv: 3,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export const SpecialRefreshCardList: Record<number, SpecialRefreshCardConfig> = {
|
export const SpecialRefreshCardList: Record<number, SpecialRefreshCardConfig> = {
|
||||||
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,
|
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,
|
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,
|
refreshLv: 3, refreshHeroType: SpecialRefreshHeroType.Any,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,14 @@
|
|||||||
|
|
||||||
import { oops } from "db://oops-framework/core/Oops"
|
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 {
|
export enum HighlightType {
|
||||||
CritMaster = "CritMaster", // 暴击大师
|
CritMaster = "CritMaster", // 暴击大师
|
||||||
@@ -41,95 +48,95 @@ export const HighlightSet: Record<HighlightType, HighlightConfig> = {
|
|||||||
type: HighlightType.CritMaster,
|
type: HighlightType.CritMaster,
|
||||||
icon: "🔥",
|
icon: "🔥",
|
||||||
levels: [
|
levels: [
|
||||||
{ level: 1, threshold: 20, scoreBonus: 50, get title(){return t("hl_title_CritMaster_1")}, 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, get title(){return t("hl_title_CritMaster_2")}, get desc(){return 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, get title(){return t("hl_title_CritMaster_3")}, get desc(){return 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, get title(){return t("hl_title_CritMaster_4")}, get desc(){return 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, get title(){return t("hl_title_CritMaster_5")}, get desc(){return t("hl_desc_CritMaster")} },
|
{ level: 5, threshold: 100, scoreBonus: 300, title: t("hl_title_CritMaster_5"), desc: t("hl_desc_CritMaster") },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
[HighlightType.DeathExpert]: {
|
[HighlightType.DeathExpert]: {
|
||||||
type: HighlightType.DeathExpert,
|
type: HighlightType.DeathExpert,
|
||||||
icon: "💀",
|
icon: "💀",
|
||||||
levels: [
|
levels: [
|
||||||
{ level: 1, threshold: 15, scoreBonus: 50, get title(){return t("hl_title_DeathExpert_1")}, 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, get title(){return t("hl_title_DeathExpert_2")}, get desc(){return 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, get title(){return t("hl_title_DeathExpert_3")}, get desc(){return 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, get title(){return t("hl_title_DeathExpert_4")}, get desc(){return 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, get title(){return t("hl_title_DeathExpert_5")}, get desc(){return t("hl_desc_DeathExpert")} },
|
{ level: 5, threshold: 80, scoreBonus: 300, title: t("hl_title_DeathExpert_5"), desc: t("hl_desc_DeathExpert") },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
[HighlightType.IronWall]: {
|
[HighlightType.IronWall]: {
|
||||||
type: HighlightType.IronWall,
|
type: HighlightType.IronWall,
|
||||||
icon: "🛡️",
|
icon: "🛡️",
|
||||||
levels: [
|
levels: [
|
||||||
{ level: 1, threshold: 15, scoreBonus: 50, get title(){return t("hl_title_IronWall_1")}, 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, get title(){return t("hl_title_IronWall_2")}, get desc(){return 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, get title(){return t("hl_title_IronWall_3")}, get desc(){return 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, get title(){return t("hl_title_IronWall_4")}, get desc(){return 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, get title(){return t("hl_title_IronWall_5")}, get desc(){return t("hl_desc_IronWall")} },
|
{ level: 5, threshold: 100, scoreBonus: 300, title: t("hl_title_IronWall_5"), desc: t("hl_desc_IronWall") },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
[HighlightType.WindStorm]: {
|
[HighlightType.WindStorm]: {
|
||||||
type: HighlightType.WindStorm,
|
type: HighlightType.WindStorm,
|
||||||
icon: "⚡",
|
icon: "⚡",
|
||||||
levels: [
|
levels: [
|
||||||
{ level: 1, threshold: 10, scoreBonus: 50, get title(){return t("hl_title_WindStorm_1")}, 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, get title(){return t("hl_title_WindStorm_2")}, get desc(){return 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, get title(){return t("hl_title_WindStorm_3")}, get desc(){return 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, get title(){return t("hl_title_WindStorm_4")}, get desc(){return 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, get title(){return t("hl_title_WindStorm_5")}, get desc(){return t("hl_desc_WindStorm")} },
|
{ level: 5, threshold: 70, scoreBonus: 300, title: t("hl_title_WindStorm_5"), desc: t("hl_desc_WindStorm") },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
[HighlightType.OneHitKill]: {
|
[HighlightType.OneHitKill]: {
|
||||||
type: HighlightType.OneHitKill,
|
type: HighlightType.OneHitKill,
|
||||||
icon: "🎯",
|
icon: "🎯",
|
||||||
levels: [
|
levels: [
|
||||||
{ level: 1, threshold: 100, scoreBonus: 50, get title(){return t("hl_title_OneHitKill_1")}, 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, get title(){return t("hl_title_OneHitKill_2")}, get desc(){return 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, get title(){return t("hl_title_OneHitKill_3")}, get desc(){return 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, get title(){return t("hl_title_OneHitKill_4")}, get desc(){return 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, get title(){return t("hl_title_OneHitKill_5")}, get desc(){return t("hl_desc_OneHitKill")} },
|
{ level: 5, threshold: 1500, scoreBonus: 300, title: t("hl_title_OneHitKill_5"), desc: t("hl_desc_OneHitKill") },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
[HighlightType.HealingLight]: {
|
[HighlightType.HealingLight]: {
|
||||||
type: HighlightType.HealingLight,
|
type: HighlightType.HealingLight,
|
||||||
icon: "💊",
|
icon: "💊",
|
||||||
levels: [
|
levels: [
|
||||||
{ level: 1, threshold: 200, scoreBonus: 50, get title(){return t("hl_title_HealingLight_1")}, 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, get title(){return t("hl_title_HealingLight_2")}, get desc(){return 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, get title(){return t("hl_title_HealingLight_3")}, get desc(){return 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, get title(){return t("hl_title_HealingLight_4")}, get desc(){return 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, get title(){return t("hl_title_HealingLight_5")}, get desc(){return t("hl_desc_HealingLight")} },
|
{ level: 5, threshold: 4000, scoreBonus: 300, title: t("hl_title_HealingLight_5"), desc: t("hl_desc_HealingLight") },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
[HighlightType.PerfectClear]: {
|
[HighlightType.PerfectClear]: {
|
||||||
type: HighlightType.PerfectClear,
|
type: HighlightType.PerfectClear,
|
||||||
icon: "🏆",
|
icon: "🏆",
|
||||||
levels: [
|
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]: {
|
[HighlightType.LuckyKing]: {
|
||||||
type: HighlightType.LuckyKing,
|
type: HighlightType.LuckyKing,
|
||||||
icon: "🎲",
|
icon: "🎲",
|
||||||
levels: [
|
levels: [
|
||||||
{ level: 1, threshold: 0.6, scoreBonus: 50, get title(){return t("hl_title_LuckyKing_1")}, 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, get title(){return t("hl_title_LuckyKing_2")}, get desc(){return 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, get title(){return t("hl_title_LuckyKing_3")}, get desc(){return 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, get title(){return t("hl_title_LuckyKing_4")}, get desc(){return 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, get title(){return t("hl_title_LuckyKing_5")}, get desc(){return t("hl_desc_LuckyKing")} },
|
{ level: 5, threshold: 1.0, scoreBonus: 300, title: t("hl_title_LuckyKing_5"), desc: t("hl_desc_LuckyKing") },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
[HighlightType.ThriftyPlayer]: {
|
[HighlightType.ThriftyPlayer]: {
|
||||||
type: HighlightType.ThriftyPlayer,
|
type: HighlightType.ThriftyPlayer,
|
||||||
icon: "💰",
|
icon: "💰",
|
||||||
levels: [
|
levels: [
|
||||||
{ level: 1, threshold: 0.75, scoreBonus: 50, get title(){return t("hl_title_ThriftyPlayer_1")}, 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, get title(){return t("hl_title_ThriftyPlayer_2")}, get desc(){return 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, get title(){return t("hl_title_ThriftyPlayer_3")}, get desc(){return 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, get title(){return t("hl_title_ThriftyPlayer_4")}, get desc(){return 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, get title(){return t("hl_title_ThriftyPlayer_5")}, get desc(){return t("hl_desc_ThriftyPlayer")} },
|
{ level: 5, threshold: 1.00, scoreBonus: 300, title: t("hl_title_ThriftyPlayer_5"), desc: t("hl_desc_ThriftyPlayer") },
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,7 +2,14 @@
|
|||||||
import { Attrs } from "./HeroAttrs";
|
import { Attrs } from "./HeroAttrs";
|
||||||
import { oops } from "db://oops-framework/core/Oops";
|
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 {
|
export enum HSSet {
|
||||||
atk = 0, // 普通攻击
|
atk = 0, // 普通攻击
|
||||||
@@ -175,134 +182,134 @@ export const SkillUpList = {
|
|||||||
export const SkillSet: Record<number, SkillConfig> = {
|
export const SkillSet: Record<number, SkillConfig> = {
|
||||||
// ========== 基础技能 ==========
|
// ========== 基础技能 ==========
|
||||||
6001: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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: {
|
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,
|
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:{
|
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,
|
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: {
|
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,
|
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:{
|
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,
|
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: {
|
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,
|
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:{
|
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,
|
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 技能=====================
|
//==========================buff 技能=====================
|
||||||
6401:{
|
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,
|
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:{
|
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,
|
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:{
|
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,
|
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:{
|
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,
|
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:{
|
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,
|
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:{
|
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,
|
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:{
|
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,
|
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<number, FieldSkillConfig> = {
|
export const FieldSkillSet: Record<number, FieldSkillConfig> = {
|
||||||
7001: { uuid: 7001, get name(){return t("fskill_name_7001")}, type: FieldSkillType.SummonCount, value: 1, get info(){return t("fskill_info_7001")} },
|
7001: { uuid: 7001, name: t("fskill_name_7001"), type: FieldSkillType.SummonCount, value: 1, info: 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")} },
|
7002: { uuid: 7002, name: t("fskill_name_7002"), type: FieldSkillType.DeadCount, value: 1, info: 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")} },
|
7003: { uuid: 7003, name: t("fskill_name_7003"), type: FieldSkillType.StartCount, value: 1, info: 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")} },
|
7004: { uuid: 7004, name: t("fskill_name_7004"), type: FieldSkillType.EndCount, value: 1, info: 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")} },
|
7005: { uuid: 7005, name: t("fskill_name_7005"), type: FieldSkillType.WaveGold, value: 10, info: 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")} },
|
7006: { uuid: 7006, name: t("fskill_name_7006"), type: FieldSkillType.SellGold, value: 5, info: 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")} },
|
7007: { uuid: 7007, name: t("fskill_name_7007"), type: FieldSkillType.WaveHeal, value: 0.3, info: 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")} },
|
7008: { uuid: 7008, name: t("fskill_name_7008"), type: FieldSkillType.HeroAtk, value: 0.2, info: t("fskill_info_7008") },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,14 @@ import { v3 } from "cc"
|
|||||||
import { BoxSet, FacSet } from "./GameSet"
|
import { BoxSet, FacSet } from "./GameSet"
|
||||||
import { oops } from "db://oops-framework/core/Oops"
|
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 {
|
export enum HType {
|
||||||
Melee = 0,
|
Melee = 0,
|
||||||
@@ -105,48 +112,48 @@ export interface HSkillInfo {
|
|||||||
|
|
||||||
export const HeroInfo: Record<number, heroInfo> = {
|
export const HeroInfo: Record<number, heroInfo> = {
|
||||||
// ========== 近战英雄 ==========
|
// ========== 近战英雄 ==========
|
||||||
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}],
|
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}},get info(){return t("hero_info_5001")}},
|
skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},info: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}],
|
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}},get info(){return t("hero_info_5002")}},
|
skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5003")}},
|
skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5004")}},
|
skills:{6001:{uuid:6001,lv:1,cd:0.7,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5005")}},
|
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},
|
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}},get info(){return t("hero_info_5101")}},
|
skills:{6201:{uuid:6007,lv:1,cd:1,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5102")}},
|
skills:{6203:{uuid:6002,lv:1,cd:1,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5103")}},
|
skills:{6201:{uuid:6002,lv:1,cd:1,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5104")}},
|
skills:{6201:{uuid:66002201,lv:1,cd:1,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5105")} },
|
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,
|
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}},get info(){return t("hero_info_5201")}},
|
skills:{6101:{uuid:6005,lv:1,cd:0.9,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5202")}},
|
skills:{6011:{uuid:6005,lv:1,cd:0.9,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5203")}},
|
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}],
|
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}},get info(){return t("hero_info_5301")} },
|
skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info: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}],
|
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}},get info(){return t("hero_info_5302")}},
|
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,
|
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}},get info(){return t("hero_info_5303")}},
|
skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info: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,
|
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}},get info(){return t("hero_info_5304")}},
|
skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:t("hero_info_5304")},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -164,36 +171,36 @@ export const HeroInfo: Record<number, heroInfo> = {
|
|||||||
|
|
||||||
//============== 兽人系列 ===============
|
//============== 兽人系列 ===============
|
||||||
// 近战型
|
// 近战型
|
||||||
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,
|
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}},get info(){return ""}},
|
skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""},
|
||||||
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,
|
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}},get info(){return ""}},
|
skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0},6004:{uuid:6004,lv:1,cd:10,ccd:0}},info:""},
|
||||||
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,
|
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}},get info(){return ""}},
|
skills:{6001:{uuid:6001,lv:1,cd:2,ccd:0}},info:""},
|
||||||
// 4. 远程
|
// 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,
|
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}},get info(){return ""}},
|
skills:{6001:{uuid:6101,lv:1,cd:1.5,ccd:0}},info:""},
|
||||||
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,
|
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}},get info(){return ""}},
|
skills:{6001:{uuid:6203,lv:1,cd:1.5,ccd:0}},info:""},
|
||||||
// 6. 精英/BOSS型
|
// 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,
|
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}},get info(){return ""}},
|
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,
|
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}},get info(){return ""}},
|
skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""},
|
||||||
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,
|
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}},get info(){return ""}},
|
skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""},
|
||||||
// 4. 远程
|
// 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,
|
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}},get info(){return ""}},
|
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,
|
// 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:""},
|
// skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
|
||||||
// 6. 精英/BOSS型
|
// 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,
|
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}},get info(){return ""}},
|
skills:{6204:{uuid:6204,lv:1,cd:2,ccd:0},6206:{uuid:6206,lv:1,cd:10,ccd:0}},info:""},
|
||||||
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,
|
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}},get info(){return ""}},
|
skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0},6005:{uuid:6005,lv:1,cd:10,ccd:0}},info:""},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user