添加 升级系统
This commit is contained in:
@@ -23,7 +23,7 @@ export enum HeroKind {
|
||||
* 词条解释:
|
||||
* 0:战士 1:远程 2:法师
|
||||
* * */
|
||||
export enum HeroType {
|
||||
export enum HType {
|
||||
warrior = 0,
|
||||
remote = 1,
|
||||
mage = 2,
|
||||
@@ -89,133 +89,216 @@ export const getTotalUpExp = (currentLevel: number, targetLevel: number): number
|
||||
return totalExp;
|
||||
};
|
||||
|
||||
// 保留原有的 UpExp 对象以保持向后兼容性
|
||||
export const UpExp = {
|
||||
1: getUpExp(1), // 100
|
||||
2: getUpExp(2), // 110
|
||||
3: getUpExp(3), // 130
|
||||
4: getUpExp(4), // 160
|
||||
5: getUpExp(5), // 200
|
||||
6: getUpExp(6), // 250
|
||||
7: getUpExp(7), // 310
|
||||
8: getUpExp(8), // 380
|
||||
9: getUpExp(9), // 460
|
||||
10: getUpExp(10), // 550
|
||||
11: getUpExp(11), // 650
|
||||
12: getUpExp(12), // 760
|
||||
13: getUpExp(13), // 880
|
||||
14: getUpExp(14), // 1010
|
||||
15: getUpExp(15), // 1150
|
||||
16: getUpExp(16), // 1300
|
||||
17: getUpExp(17), // 1460
|
||||
18: getUpExp(18), // 1630
|
||||
19: getUpExp(19), // 1810
|
||||
20: getUpExp(20), // 2000
|
||||
21: getUpExp(21), // 2200
|
||||
22: getUpExp(22), // 2410
|
||||
23: getUpExp(23), // 2630
|
||||
24: getUpExp(24), // 2860
|
||||
25: getUpExp(25), // 3100
|
||||
26: getUpExp(26), // 3350
|
||||
27: getUpExp(27), // 3610
|
||||
28: getUpExp(28), // 3880
|
||||
29: getUpExp(29), // 4160
|
||||
30: getUpExp(30), // 4450
|
||||
// 简化的升级属性增长计算
|
||||
// 基于 HType 的攻击力增长配置
|
||||
export const ApGrowthByType = {
|
||||
[HType.warrior]: (baseAp: number) => Math.floor(baseAp * 0.05) + 3, // 战士:+5% + 3
|
||||
[HType.remote]: (baseAp: number) => Math.floor(baseAp * 0.10) + 2, // 远程:+10% + 2
|
||||
[HType.mage]: (baseAp: number) => Math.floor(baseAp * 0.15) + 1, // 法师:+15% + 1
|
||||
};
|
||||
|
||||
// 基于 HType 的HP增长配置
|
||||
export const HpGrowthByType = {
|
||||
[HType.warrior]: (baseHp: number) => Math.floor(baseHp * 0.08) + 10, // 战士:+8% + 10
|
||||
[HType.remote]: (baseHp: number) => Math.floor(baseHp * 0.05) + 5, // 远程:+5% + 5
|
||||
[HType.mage]: (baseHp: number) => Math.floor(baseHp * 0.03) + 3, // 法师:+3% + 3
|
||||
};
|
||||
|
||||
// 获取从1级升级到2级增加的攻击力
|
||||
export const getUpAp = (heroId: number): number => {
|
||||
const heroInfo = HeroInfo[heroId];
|
||||
if (!heroInfo) {
|
||||
console.warn(`[getUpAp] 英雄 ${heroId} 不存在`);
|
||||
return 0;
|
||||
}
|
||||
|
||||
const baseAp = heroInfo.ap;
|
||||
const heroType = heroInfo.type;
|
||||
const growthFunction = ApGrowthByType[heroType] || ApGrowthByType[HType.warrior];
|
||||
return growthFunction(baseAp);
|
||||
};
|
||||
|
||||
// 获取从1级升级到2级增加的HP
|
||||
export const getUpHp = (heroId: number): number => {
|
||||
const heroInfo = HeroInfo[heroId];
|
||||
if (!heroInfo) {
|
||||
console.warn(`[getUpHp] 英雄 ${heroId} 不存在`);
|
||||
return 0;
|
||||
}
|
||||
|
||||
const baseHp = heroInfo.hp;
|
||||
const heroType = heroInfo.type;
|
||||
const growthFunction = HpGrowthByType[heroType] || HpGrowthByType[HType.warrior];
|
||||
return growthFunction(baseHp);
|
||||
};
|
||||
|
||||
// 获取英雄在指定等级的总攻击力
|
||||
export const getHeroTotalAp = (heroId: number, level: number): number => {
|
||||
const heroInfo = HeroInfo[heroId];
|
||||
if (!heroInfo) {
|
||||
console.warn(`[getHeroTotalAp] 英雄 ${heroId} 不存在`);
|
||||
return 0;
|
||||
}
|
||||
|
||||
const baseAp = heroInfo.ap;
|
||||
const heroType = heroInfo.type;
|
||||
const growthFunction = ApGrowthByType[heroType] || ApGrowthByType[HType.warrior];
|
||||
const levelUpAp = growthFunction(baseAp);
|
||||
return baseAp + levelUpAp;
|
||||
};
|
||||
|
||||
// 获取英雄在指定等级的总HP
|
||||
export const getHeroTotalHp = (heroId: number, level: number): number => {
|
||||
const heroInfo = HeroInfo[heroId];
|
||||
if (!heroInfo) {
|
||||
console.warn(`[getHeroTotalHp] 英雄 ${heroId} 不存在`);
|
||||
return 0;
|
||||
}
|
||||
|
||||
const baseHp = heroInfo.hp;
|
||||
const heroType = heroInfo.type;
|
||||
const growthFunction = HpGrowthByType[heroType] || HpGrowthByType[HType.warrior];
|
||||
const levelUpHp = growthFunction(baseHp);
|
||||
return baseHp + levelUpHp;
|
||||
};
|
||||
|
||||
// 获取从当前等级升级到目标等级增加的攻击力
|
||||
export const getApIncrease = (heroId: number, currentLevel: number, targetLevel: number): number => {
|
||||
const heroInfo = HeroInfo[heroId];
|
||||
if (!heroInfo) {
|
||||
console.warn(`[getApIncrease] 英雄 ${heroId} 不存在`);
|
||||
return 0;
|
||||
}
|
||||
|
||||
const baseAp = heroInfo.ap;
|
||||
const heroType = heroInfo.type;
|
||||
const growthFunction = ApGrowthByType[heroType] || ApGrowthByType[HType.warrior];
|
||||
return growthFunction(baseAp);
|
||||
};
|
||||
|
||||
// 获取从当前等级升级到目标等级增加的HP
|
||||
export const getHpIncrease = (heroId: number, currentLevel: number, targetLevel: number): number => {
|
||||
const heroInfo = HeroInfo[heroId];
|
||||
if (!heroInfo) {
|
||||
console.warn(`[getHpIncrease] 英雄 ${heroId} 不存在`);
|
||||
return 0;
|
||||
}
|
||||
|
||||
const baseHp = heroInfo.hp;
|
||||
const heroType = heroInfo.type;
|
||||
const growthFunction = HpGrowthByType[heroType] || HpGrowthByType[HType.warrior];
|
||||
return growthFunction(baseHp);
|
||||
};
|
||||
|
||||
// 获取升级后的完整属性信息
|
||||
export const getLevelUpStats = (heroId: number, currentLevel: number, targetLevel: number) => {
|
||||
return {
|
||||
apIncrease: getApIncrease(heroId, currentLevel, targetLevel),
|
||||
hpIncrease: getHpIncrease(heroId, currentLevel, targetLevel),
|
||||
newTotalAp: getHeroTotalAp(heroId, targetLevel),
|
||||
newTotalHp: getHeroTotalHp(heroId, targetLevel)
|
||||
};
|
||||
};
|
||||
|
||||
// 根据英雄类型获取增长模式描述
|
||||
export const getGrowthModeDescription = (heroType: HType): string => {
|
||||
switch (heroType) {
|
||||
case HType.warrior:
|
||||
return "战士型:AP固定增长为主(每级+3,+5%),HP高增长(每级+10,+8%)";
|
||||
case HType.remote:
|
||||
return "远程型:AP平衡增长(每级+2,+10%),HP中等增长(每级+5,+5%)";
|
||||
case HType.mage:
|
||||
return "法师型:AP百分比增长为主(每级+1,+15%),HP低增长(每级+3,+3%)";
|
||||
default:
|
||||
return "未知类型";
|
||||
}
|
||||
};
|
||||
|
||||
export const HeroInfo = {
|
||||
5001:{uuid:5001,name:"神圣守护",path:"k2", quality:HQuality.BLUE,lv:1,kind:1,type:0,hp:50,ap:10,dis:700,cd:3,
|
||||
5001:{uuid:5001,name:"神圣守护",path:"k2", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:50,ap:10,dis:700,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5002:{uuid:5002,name:"幻影剑豪",path:"k1", quality:HQuality.BLUE,lv:1,kind:2,type:0,hp:50,ap:10,dis:700,cd:3,
|
||||
5002:{uuid:5002,name:"幻影剑豪",path:"k1", quality:HQuality.BLUE,lv:1,kind:2,type:HType.warrior,hp:50,ap:10,dis:700,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5003:{uuid:5003,name:"战争领主",path:"k5", quality:HQuality.BLUE,lv:1,kind:2,type:0,hp:50,ap:10,dis:700,cd:3,
|
||||
5003:{uuid:5003,name:"战争领主",path:"k5", quality:HQuality.BLUE,lv:1,kind:2,type:HType.warrior,hp:50,ap:10,dis:700,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5004:{uuid:5004,name:"混沌法师",path:"zh1", quality:HQuality.BLUE,lv:1,kind:2,type:2,hp:50,ap:10,dis:700,cd:3.5,
|
||||
5004:{uuid:5004,name:"混沌法师",path:"zh1", quality:HQuality.BLUE,lv:1,kind:2,type:HType.mage,hp:50,ap:10,dis:700,cd:3.5,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5005:{uuid:5005,name:"火焰法师",path:"zh2", quality:HQuality.BLUE,lv:1,kind:2,type:2,hp:50,ap:15,dis:700,cd:3.5,
|
||||
5005:{uuid:5005,name:"火焰法师",path:"zh2", quality:HQuality.BLUE,lv:1,kind:2,type:HType.mage,hp:50,ap:15,dis:700,cd:3.5,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5006:{uuid:5006,name:"风暴精灵",path:"m4", quality:HQuality.BLUE,lv:1,kind:2,type:2,hp:50,ap:15,dis:700,cd:3.5,
|
||||
5006:{uuid:5006,name:"风暴精灵",path:"m4", quality:HQuality.BLUE,lv:1,kind:2,type:HType.mage,hp:50,ap:15,dis:700,cd:3.5,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5008:{uuid:5008,name:"战争祭祀",path:"d2", quality:HQuality.BLUE,lv:1,kind:2,type:2,hp:50,ap:10,dis:700,cd:3.5,
|
||||
5008:{uuid:5008,name:"战争祭祀",path:"d2", quality:HQuality.BLUE,lv:1,kind:2,type:HType.mage,hp:50,ap:10,dis:700,cd:3.5,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5009:{uuid:5009,name:"暴风射手",path:"a5", quality:HQuality.BLUE,lv:1,kind:2,type:1,hp:50,ap:15,dis:700,cd:3.2,
|
||||
5009:{uuid:5009,name:"暴风射手",path:"a5", quality:HQuality.BLUE,lv:1,kind:2,type:HType.remote,hp:50,ap:15,dis:700,cd:3.2,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
|
||||
|
||||
5010:{uuid:5010,name:"苍穹射手",path:"a3", quality:HQuality.BLUE,lv:1,kind:1,type:1,hp:50,ap:15,dis:700,cd:3.2,
|
||||
5010:{uuid:5010,name:"苍穹射手",path:"a3", quality:HQuality.BLUE,lv:1,kind:1,type:HType.remote,hp:50,ap:15,dis:700,cd:3.2,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
|
||||
|
||||
5011:{uuid:5011,name:"幽灵射手",path:"a4", quality:HQuality.BLUE,lv:1,kind:2,type:1,hp:50,ap:15,dis:700,cd:3.2,
|
||||
5011:{uuid:5011,name:"幽灵射手",path:"a4", quality:HQuality.BLUE,lv:1,kind:2,type:HType.remote,hp:50,ap:15,dis:700,cd:3.2,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
|
||||
|
||||
//怪物
|
||||
5201:{uuid:5201,name:"兽人战士",path:"mor1", quality:HQuality.BLUE,lv:1,kind:1,type:0,hp:200,ap:5,dis:400,cd:3,
|
||||
5201:{uuid:5201,name:"兽人战士",path:"mor1", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5202:{uuid:5202,name:"兽人刺客",path:"mor2", quality:HQuality.BLUE,lv:1,kind:1,type:0,hp:200,ap:5,dis:400,cd:3,
|
||||
5202:{uuid:5202,name:"兽人刺客",path:"mor2", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5203:{uuid:5203,name:"兽人护卫",path:"mor3", quality:HQuality.BLUE,lv:1,kind:1,type:1,hp:200,ap:5,dis:400,cd:3.2,
|
||||
5203:{uuid:5203,name:"兽人护卫",path:"mor3", quality:HQuality.BLUE,lv:1,kind:1,type:HType.remote,hp:200,ap:5,dis:400,cd:3.2,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5204:{uuid:5204,name:"石卫", path:"mgem1",quality:HQuality.BLUE,lv:1,kind:1,type:0,hp:200,ap:5,dis:400,cd:3,
|
||||
5204:{uuid:5204,name:"石卫", path:"mgem1",quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5205:{uuid:5205,name:"土卫", path:"mgem2",quality:HQuality.BLUE,lv:1,kind:1,type:0,hp:200,ap:5,dis:400,cd:3,
|
||||
5205:{uuid:5205,name:"土卫", path:"mgem2",quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5206:{uuid:5206,name:"树人", path:"mgem3",quality:HQuality.BLUE,lv:1,kind:1,type:0,hp:200,ap:5,dis:400,cd:3,
|
||||
5206:{uuid:5206,name:"树人", path:"mgem3",quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5216:{uuid:5216,name:"元素1", path:"my1", quality:HQuality.BLUE,lv:2,kind:1,type:2,hp:200,ap:5,dis:400,cd:3.5,
|
||||
5216:{uuid:5216,name:"元素1", path:"my1", quality:HQuality.BLUE,lv:2,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:3.5,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5217:{uuid:5217,name:"元素2", path:"my2", quality:HQuality.BLUE,lv:2,kind:1,type:2,hp:200,ap:5,dis:400,cd:3.5,
|
||||
5217:{uuid:5217,name:"元素2", path:"my2", quality:HQuality.BLUE,lv:2,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:3.5,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5218:{uuid:5218,name:"元素3", path:"my3", quality:HQuality.BLUE,lv:2,kind:1,type:2,hp:200,ap:5,dis:400,cd:3.5,
|
||||
5218:{uuid:5218,name:"元素3", path:"my3", quality:HQuality.BLUE,lv:2,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:3.5,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5219:{uuid:5219,name:"牛头战士",path:"mn1", quality:HQuality.BLUE,lv:2,kind:1,type:0,hp:200,ap:5,dis:400,cd:3,
|
||||
5219:{uuid:5219,name:"牛头战士",path:"mn1", quality:HQuality.BLUE,lv:2,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5220:{uuid:5220,name:"牛头战士",path:"mn2", quality:HQuality.BLUE,lv:1,kind:1,type:1,hp:200,ap:5,dis:400,cd:3.2,
|
||||
5220:{uuid:5220,name:"牛头战士",path:"mn2", quality:HQuality.BLUE,lv:1,kind:1,type:HType.remote,hp:200,ap:5,dis:400,cd:3.2,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5221:{uuid:5221,name:"牛头战士",path:"mn3", quality:HQuality.BLUE,lv:1,kind:1,type:0,hp:200,ap:5,dis:400,cd:3,
|
||||
5221:{uuid:5221,name:"牛头战士",path:"mn3", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5222:{uuid:5222,name:"独眼巨人",path:"md1", quality:HQuality.BLUE,lv:1,kind:1,type:0,hp:200,ap:5,dis:400,cd:3,
|
||||
5222:{uuid:5222,name:"独眼巨人",path:"md1", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5223:{uuid:5223,name:"独眼巨人",path:"md2", quality:HQuality.BLUE,lv:1,kind:1,type:0,hp:200,ap:5,dis:400,cd:3,
|
||||
5223:{uuid:5223,name:"独眼巨人",path:"md2", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5224:{uuid:5224,name:"独眼巨人",path:"md3", quality:HQuality.BLUE,lv:1,kind:1,type:1,hp:200,ap:5,dis:400,cd:3.2,
|
||||
5224:{uuid:5224,name:"独眼巨人",path:"md3", quality:HQuality.BLUE,lv:1,kind:1,type:HType.remote,hp:200,ap:5,dis:400,cd:3.2,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5225:{uuid:5225,name:"精英独眼",path:"md4", quality:HQuality.BLUE,lv:1,kind:1,type:2,hp:200,ap:5,dis:400,cd:3,
|
||||
5225:{uuid:5225,name:"精英独眼",path:"md4", quality:HQuality.BLUE,lv:1,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5226:{uuid:5226,name:"精英牛头",path:"mn4", quality:HQuality.BLUE,lv:1,kind:1,type:2,hp:200,ap:5,dis:400,cd:3,
|
||||
5226:{uuid:5226,name:"精英牛头",path:"mn4", quality:HQuality.BLUE,lv:1,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5227:{uuid:5227,name:"精英兽人",path:"mor4", quality:HQuality.BLUE,lv:1,kind:1,type:2,hp:200,ap:5,dis:400,cd:3,
|
||||
5227:{uuid:5227,name:"精英兽人",path:"mor4", quality:HQuality.BLUE,lv:1,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:3,
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"}
|
||||
};
|
||||
|
||||
|
||||
export const HeroUpInfo = {
|
||||
5001:{ap_up:0,ap_up_rate:10,self_ap_up:0,self_ap_up_rate:0,hp_up:0,self_hp_up:0},
|
||||
5002:{ap_up:5,ap_up_rate:0,self_ap_up:0,self_ap_up_rate:0,hp_up:0,self_hp_up:0},
|
||||
5003:{ap_up:0,ap_up_rate:0,self_ap_up:0,self_ap_up_rate:20,hp_up:0,self_hp_up:0},
|
||||
5004:{ap_up:0,ap_up_rate:0,self_ap_up:10,self_ap_up_rate:20,hp_up:0,self_hp_up:0},
|
||||
5005:{ap_up:0,ap_up_rate:0,self_ap_up:0,self_ap_up_rate:0,hp_up:1,self_hp_up:0},
|
||||
5006:{ap_up:0,ap_up_rate:0,self_ap_up:0,self_ap_up_rate:0,hp_up:1,self_hp_up:1},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user