品质统一在boxset设定

This commit is contained in:
2025-08-18 21:03:47 +08:00
parent 3884b35829
commit 9e1459973c
18 changed files with 368 additions and 377 deletions

View File

@@ -35,14 +35,7 @@ export class SingletonModuleComp extends ecs.Comp {
diamond:100, //商店购买 及 双倍奖励资源 diamond:100, //商店购买 及 双倍奖励资源
meat:0, meat:0,
exp:0, //升级经验 exp:0, //升级经验
ghstone:0, //英雄石 绿色 普通英雄升星
bhstone:0, //英雄石 蓝色 稀有英雄升星
phlestone:0, //英雄石 紫色 史诗英雄升星
rhstone:0, //英雄石 红色 传说英雄升星
herocard:0, //英雄卡,抽卡凭证
ckey:0, //铜钥匙 解锁稀有英雄 也可以直接兑换金币
skey:0, //银钥匙 解锁史诗英雄 也可以直接兑换金币
gkey:0, //金钥匙 解锁传说英雄 也可以直接兑换金币
} }
fight_heros:any={ 0:5001, 1:5005, 2:0, 3:0, 4:0, } fight_heros:any={ 0:5001, 1:5005, 2:0, 3:0, 4:0, }
heros:any = { heros:any = {
@@ -188,21 +181,53 @@ export class SingletonModuleComp extends ecs.Comp {
/** /**
* 消耗游戏数据属性(统一接口) * 消耗游戏数据属性(统一接口)
* @param property 属性名 * - 支持单个字段spendGameProperty('gold', 10)
* @param value 消耗的值 * - 支持多个字段spendGameProperty({ gold: 10, exp: 5 })
* 只有当所有字段都满足扣除条件时,才会一次性扣减
* @param property 属性名或属性映射
* @param value 消耗的值(当 property 为字符串时有效)
* @param autoSave 是否自动保存 (默认true) * @param autoSave 是否自动保存 (默认true)
* @returns 是否成功消耗 * @returns 是否成功消耗
*/ */
async spendGameProperty(property: string, value: any, autoSave: boolean = true): Promise<boolean> { async spendGameProperty(property: string | Record<string, number>, value: any = undefined, autoSave: boolean = true): Promise<boolean> {
const currentValue = this.data[property] || 0; // 单字段扣除
if (currentValue < value) { if (typeof property === 'string') {
console.warn(`[SMC]: ${property} 不足,当前: ${currentValue}, 需要: ${value}`); const currentValue = this.data[property] || 0;
return false; if (currentValue < value) {
console.warn(`[SMC]: ${property} 不足,当前: ${currentValue}, 需要: ${value}`);
return false;
}
const newValue = currentValue - value;
this.data[property] = newValue;
this.vmdata.data[property] = newValue;
console.log(`[SMC]: 消耗游戏数据 ${property} = ${value}, 当前值: ${newValue}`);
return true;
} }
const newValue = currentValue - value;
this.data[property] = newValue; // 多字段扣除(原子性:全部满足才扣)
this.vmdata.data[property] = newValue; const deductions = property as Record<string, number>;
console.log(`[SMC]: 消耗游戏数据 ${property} = ${value}, 当前值: ${newValue}`); // 1) 校验是否全部满足
for (const key in deductions) {
if (!Object.prototype.hasOwnProperty.call(deductions, key)) continue;
const need = deductions[key] ?? 0;
const current = this.data[key] || 0;
if (current < need) {
console.warn(`[SMC]: ${key} 不足,当前: ${current}, 需要: ${need}`);
return false;
}
}
// 2) 统一扣减
for (const key in deductions) {
if (!Object.prototype.hasOwnProperty.call(deductions, key)) continue;
const need = deductions[key] ?? 0;
const current = this.data[key] || 0;
const next = current - need;
this.data[key] = next;
this.vmdata.data[key] = next;
console.log(`[SMC]: 消耗游戏数据 ${key} = ${need}, 当前值: ${next}`);
}
return true; return true;
} }

View File

@@ -62,3 +62,9 @@ export enum HeroConSet{
INFO=0, INFO=0,
SELECT=1, SELECT=1,
} }
export enum QualitySet{
GREEN=0,
BLUE=1,
PURPLE=2,
ORANGE=3,
}

View File

@@ -7,6 +7,7 @@ import { BuffAttr, getSkills, HeroSkillList, SkillSet } from "./SkillSet"
import { equip_list, weapons, armors, accessorys, getEquipUUIDsByType } from "./Equips" import { equip_list, weapons, armors, accessorys, getEquipUUIDsByType } from "./Equips"
import { getEnhancement } from "./LevelUp" import { getEnhancement } from "./LevelUp"
import { TalentList } from "./TalentSet" import { TalentList } from "./TalentSet"
import { QualitySet } from "./BoxSet"
//1:伙伴 2:技能 3:装备的出现概率配置 //1:伙伴 2:技能 3:装备的出现概率配置
export const CardProbability={ export const CardProbability={
@@ -154,24 +155,18 @@ export const CTarget={
ENEMY:2, //敌人 ENEMY:2, //敌人
ALL:3, //所有 ALL:3, //所有
} }
export const Quality={
WHITE:1,
GREEN:2,
BLUE:3,
PURPLE:4,
ORANGE:5,
}
export const SuperCardsList=[3101,3102,3103,3104,3105,3106]; export const SuperCardsList=[3101,3102,3103,3104,3105,3106];
export const SuperCards={ export const SuperCards={
3101:{uuid:3101,name:"陨石爆",quality:Quality.GREEN,path:"3101",CTarget:CTarget.ENEMY,type:SuperCardsType.AOE,value1:SkillSet[6005].uuid,value2:1,value3:0, 3101:{uuid:3101,name:"陨石爆",quality:QualitySet.GREEN,path:"3101",CTarget:CTarget.ENEMY,type:SuperCardsType.AOE,value1:SkillSet[6005].uuid,value2:1,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"}, info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3102:{uuid:3102,name:"龙卷群",quality:Quality.BLUE,path:"3104",CTarget:CTarget.ENEMY,type:SuperCardsType.AOE,value1:SkillSet[6006].uuid,value2:1,value3:0, 3102:{uuid:3102,name:"龙卷群",quality:QualitySet.BLUE,path:"3104",CTarget:CTarget.ENEMY,type:SuperCardsType.AOE,value1:SkillSet[6006].uuid,value2:1,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"}, info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3103:{uuid:3103,name:"大海啸",quality:Quality.PURPLE,path:"3105",CTarget:CTarget.ENEMY,type:SuperCardsType.AOE,value1:SkillSet[6007].uuid,value2:1,value3:0, 3103:{uuid:3103,name:"大海啸",quality:QualitySet.PURPLE,path:"3105",CTarget:CTarget.ENEMY,type:SuperCardsType.AOE,value1:SkillSet[6007].uuid,value2:1,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"}, info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3104:{uuid:3104,name:"攻击力",quality:Quality.ORANGE,path:"3106",CTarget:CTarget.MASTER,type:SuperCardsType.BUFF,value1:BuffAttr.AP,value2:5,value3:0}, 3104:{uuid:3104,name:"攻击力",quality:QualitySet.ORANGE,path:"3106",CTarget:CTarget.MASTER,type:SuperCardsType.BUFF,value1:BuffAttr.AP,value2:5,value3:0},
3105:{uuid:3105,name:"生命值",quality:Quality.ORANGE,path:"3107",CTarget:CTarget.MASTER,type:SuperCardsType.BUFF,value1:BuffAttr.HP_MAX,value2:5,value3:0}, 3105:{uuid:3105,name:"生命值",quality:QualitySet.ORANGE,path:"3107",CTarget:CTarget.MASTER,type:SuperCardsType.BUFF,value1:BuffAttr.HP_MAX,value2:5,value3:0},
3106:{uuid:3106,name:"防御值",quality:Quality.ORANGE,path:"3108",CTarget:CTarget.MASTER,type:SuperCardsType.BUFF,value1:BuffAttr.DEF,value2:5,value3:0}, 3106:{uuid:3106,name:"防御值",quality:QualitySet.ORANGE,path:"3108",CTarget:CTarget.MASTER,type:SuperCardsType.BUFF,value1:BuffAttr.DEF,value2:5,value3:0},
} }

View File

@@ -1,3 +1,4 @@
import { QualitySet } from "./BoxSet";
import { BuffAttr } from "./SkillSet"; import { BuffAttr } from "./SkillSet";
// 装备路径配置表 // 装备路径配置表
@@ -98,14 +99,6 @@ export enum EquipSpecialAttr {
ATKED_ADD_SKILL_STONE=12, //被攻击增加技能石 ATKED_ADD_SKILL_STONE=12, //被攻击增加技能石
ATK_ADD_VALUE=13, //攻击n次后触发属性增加的值 额外增加值 ATK_ADD_VALUE=13, //攻击n次后触发属性增加的值 额外增加值
} }
export enum Quality {
WHITE = 1,
GREEN = 2,
BLUE = 3,
PURPLE = 4,
ORANGE = 5,
RED = 6,
}
// 剑类武器UUID列表 - 根据wp.md配置 // 剑类武器UUID列表 - 根据wp.md配置
export const swordWeapons = [ export const swordWeapons = [
@@ -316,7 +309,7 @@ export interface EquipData {
uuid: number; // 装备唯一ID uuid: number; // 装备唯一ID
name: string; // 装备名称 name: string; // 装备名称
type: EquipType; // 装备类型 type: EquipType; // 装备类型
quality: Quality; // 装备品质 quality: QualitySet; // 装备品质
path: string; // 文件名 path: string; // 文件名
info: string; // 装备描述 info: string; // 装备描述
special_attr: EquipSpecialAttrData[]; // 特殊属性数组 special_attr: EquipSpecialAttrData[]; // 特殊属性数组
@@ -331,7 +324,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 2101, uuid: 2101,
name: "穿刺短剑", name: "穿刺短剑",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["穿刺短剑"], path: EPath["穿刺短剑"],
info: "攻击力增加170%穿透1个目标", info: "攻击力增加170%穿透1个目标",
special_attr: [], special_attr: [],
@@ -346,7 +339,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 2102, uuid: 2102,
name: "寒锋长剑", name: "寒锋长剑",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["寒锋长剑"], path: EPath["寒锋长剑"],
info: "攻击力增加230%穿透2个目标30%穿刺伤害", info: "攻击力增加230%穿透2个目标30%穿刺伤害",
special_attr: [], special_attr: [],
@@ -362,7 +355,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 2103, uuid: 2103,
name: "龙鳞穿刺者", name: "龙鳞穿刺者",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["龙鳞穿刺者"], path: EPath["龙鳞穿刺者"],
info: "攻击力增加290%穿透3个目标40%穿刺伤害", info: "攻击力增加290%穿透3个目标40%穿刺伤害",
special_attr: [], special_attr: [],
@@ -378,7 +371,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 2104, uuid: 2104,
name: "冰霜穿刺者", name: "冰霜穿刺者",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["冰霜穿刺者"], path: EPath["冰霜穿刺者"],
info: "攻击力增加290%穿透3个目标冰冻概率25%", info: "攻击力增加290%穿透3个目标冰冻概率25%",
special_attr: [], special_attr: [],
@@ -398,7 +391,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 3101, uuid: 3101,
name: "风暴战斧", name: "风暴战斧",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["风暴战斧"], path: EPath["风暴战斧"],
info: "攻击力增加220%风怒概率40%", info: "攻击力增加220%风怒概率40%",
special_attr: [], special_attr: [],
@@ -413,7 +406,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 3102, uuid: 3102,
name: "寒锋巨斧", name: "寒锋巨斧",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["寒锋巨斧"], path: EPath["寒锋巨斧"],
info: "攻击力增加280%风怒概率50%", info: "攻击力增加280%风怒概率50%",
special_attr: [], special_attr: [],
@@ -428,7 +421,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 3105, uuid: 3105,
name: "龙鳞撕裂者", name: "龙鳞撕裂者",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["龙鳞撕裂者"], path: EPath["龙鳞撕裂者"],
info: "攻击力增加340%风怒概率60%击退概率27%", info: "攻击力增加340%风怒概率60%击退概率27%",
special_attr: [], special_attr: [],
@@ -444,7 +437,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 3106, uuid: 3106,
name: "泰坦撕裂者", name: "泰坦撕裂者",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["泰坦撕裂者"], path: EPath["泰坦撕裂者"],
info: "攻击力增加300%风怒概率60%击晕概率12.5%", info: "攻击力增加300%风怒概率60%击晕概率12.5%",
special_attr: [], special_attr: [],
@@ -465,7 +458,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 5101, uuid: 5101,
name: "碎骨战锤", name: "碎骨战锤",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["碎骨战锤"], path: EPath["碎骨战锤"],
info: "攻击力增加240%暴击率20%,暴击伤害+35%", info: "攻击力增加240%暴击率20%,暴击伤害+35%",
special_attr: [], special_attr: [],
@@ -481,7 +474,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 5102, uuid: 5102,
name: "雷霆重锤", name: "雷霆重锤",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["雷霆重锤"], path: EPath["雷霆重锤"],
info: "攻击力增加310%暴击率25%,暴击伤害+45%", info: "攻击力增加310%暴击率25%,暴击伤害+45%",
special_attr: [], special_attr: [],
@@ -497,7 +490,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 5103, uuid: 5103,
name: "龙鳞粉碎者", name: "龙鳞粉碎者",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["龙鳞粉碎者"], path: EPath["龙鳞粉碎者"],
info: "攻击力增加360%暴击率30%,暴击伤害+70%,击晕概率+15%", info: "攻击力增加360%暴击率30%,暴击伤害+70%,击晕概率+15%",
special_attr: [], special_attr: [],
@@ -514,7 +507,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 5104, uuid: 5104,
name: "泰坦粉碎者", name: "泰坦粉碎者",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["泰坦粉碎者"], path: EPath["泰坦粉碎者"],
info: "攻击力增加360%暴击率30%击晕概率30%", info: "攻击力增加360%暴击率30%击晕概率30%",
special_attr: [], special_attr: [],
@@ -535,7 +528,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 6101, uuid: 6101,
name: "影刃", name: "影刃",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["影刃"], path: EPath["影刃"],
info: "攻击力增加180%,攻击施加易伤(25%)", info: "攻击力增加180%,攻击施加易伤(25%)",
special_attr: [], special_attr: [],
@@ -550,7 +543,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 6102, uuid: 6102,
name: "寒月双刃", name: "寒月双刃",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["寒月双刃"], path: EPath["寒月双刃"],
info: "攻击力增加245%,攻击施加易伤(35%)", info: "攻击力增加245%,攻击施加易伤(35%)",
special_attr: [], special_attr: [],
@@ -565,7 +558,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 6103, uuid: 6103,
name: "龙鳞切割者", name: "龙鳞切割者",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["龙鳞切割者"], path: EPath["龙鳞切割者"],
info: "攻击力增加300%,攻击施加易伤(45%),易伤持续次数+1", info: "攻击力增加300%,攻击施加易伤(45%),易伤持续次数+1",
special_attr: [], special_attr: [],
@@ -581,7 +574,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 6104, uuid: 6104,
name: "冰霜切割者", name: "冰霜切割者",
type: EquipType.WEAPON, type: EquipType.WEAPON,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["冰霜切割者"], path: EPath["冰霜切割者"],
info: "攻击力增加300%,攻击施加易伤(45%)冰冻概率25%", info: "攻击力增加300%,攻击施加易伤(45%)冰冻概率25%",
special_attr: [], special_attr: [],
@@ -604,7 +597,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 4101, uuid: 4101,
name: "风影圆盾", name: "风影圆盾",
type: EquipType.ARMOR, type: EquipType.ARMOR,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["风影圆盾"], path: EPath["风影圆盾"],
info: "生命值+40%闪避40%", info: "生命值+40%闪避40%",
special_attr: [], special_attr: [],
@@ -617,7 +610,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 4102, uuid: 4102,
name: "流光护盾", name: "流光护盾",
type: EquipType.ARMOR, type: EquipType.ARMOR,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["流光护盾"], path: EPath["流光护盾"],
info: "生命值+45%闪避40%Debuff减免15%", info: "生命值+45%闪避40%Debuff减免15%",
special_attr: [], special_attr: [],
@@ -631,7 +624,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 4103, uuid: 4103,
name: "量子闪避者", name: "量子闪避者",
type: EquipType.ARMOR, type: EquipType.ARMOR,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["量子闪避者"], path: EPath["量子闪避者"],
info: "生命值+50%闪避45%免伤15%", info: "生命值+50%闪避45%免伤15%",
special_attr: [], special_attr: [],
@@ -650,7 +643,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 4111, uuid: 4111,
name: "荆棘木盾", name: "荆棘木盾",
type: EquipType.ARMOR, type: EquipType.ARMOR,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["荆棘木盾"], path: EPath["荆棘木盾"],
info: "生命值+85%反伤30%", info: "生命值+85%反伤30%",
special_attr: [], special_attr: [],
@@ -663,7 +656,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 4112, uuid: 4112,
name: "钢铁尖刺", name: "钢铁尖刺",
type: EquipType.ARMOR, type: EquipType.ARMOR,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["钢铁尖刺"], path: EPath["钢铁尖刺"],
info: "生命值+90%反伤30%Debuff减免15%", info: "生命值+90%反伤30%Debuff减免15%",
special_attr: [], special_attr: [],
@@ -677,7 +670,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 4113, uuid: 4113,
name: "龙鳞反伤者", name: "龙鳞反伤者",
type: EquipType.ARMOR, type: EquipType.ARMOR,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["龙鳞反伤者"], path: EPath["龙鳞反伤者"],
info: "生命值+110%反伤35%免伤15%", info: "生命值+110%反伤35%免伤15%",
special_attr: [], special_attr: [],
@@ -697,7 +690,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 4121, uuid: 4121,
name: "守护圆盾", name: "守护圆盾",
type: EquipType.ARMOR, type: EquipType.ARMOR,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["守护圆盾"], path: EPath["守护圆盾"],
info: "生命值+65%免伤20%", info: "生命值+65%免伤20%",
special_attr: [], special_attr: [],
@@ -710,7 +703,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 4122, uuid: 4122,
name: "圣光壁垒", name: "圣光壁垒",
type: EquipType.ARMOR, type: EquipType.ARMOR,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["圣光壁垒"], path: EPath["圣光壁垒"],
info: "生命值+70%免伤20%Debuff减免15%", info: "生命值+70%免伤20%Debuff减免15%",
special_attr: [], special_attr: [],
@@ -724,7 +717,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 4123, uuid: 4123,
name: "永恒守护者", name: "永恒守护者",
type: EquipType.ARMOR, type: EquipType.ARMOR,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["永恒守护者"], path: EPath["永恒守护者"],
info: "生命值+75%免伤25%闪避15%", info: "生命值+75%免伤25%闪避15%",
special_attr: [], special_attr: [],
@@ -743,7 +736,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7401, uuid: 7401,
name: "磐石戒指", name: "磐石戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["磐石戒指"], path: EPath["磐石戒指"],
info: "生命值+60%", info: "生命值+60%",
special_attr: [], special_attr: [],
@@ -756,7 +749,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7402, uuid: 7402,
name: "刚玉戒指", name: "刚玉戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["刚玉戒指"], path: EPath["刚玉戒指"],
info: "免伤+25%", info: "免伤+25%",
special_attr: [], special_attr: [],
@@ -770,7 +763,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7403, uuid: 7403,
name: "烈阳戒指", name: "烈阳戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["烈阳戒指"], path: EPath["烈阳戒指"],
info: "攻击+55%", info: "攻击+55%",
special_attr: [], special_attr: [],
@@ -783,7 +776,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7404, uuid: 7404,
name: "雷暴耳饰", name: "雷暴耳饰",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["雷暴耳饰"], path: EPath["雷暴耳饰"],
info: "暴伤+40%", info: "暴伤+40%",
special_attr: [], special_attr: [],
@@ -797,7 +790,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7405, uuid: 7405,
name: "迷雾耳饰", name: "迷雾耳饰",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["迷雾耳饰"], path: EPath["迷雾耳饰"],
info: "闪避+15%", info: "闪避+15%",
special_attr: [], special_attr: [],
@@ -810,7 +803,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7406, uuid: 7406,
name: "荆棘耳饰", name: "荆棘耳饰",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.GREEN, quality: QualitySet.GREEN,
path: EPath["荆棘耳饰"], path: EPath["荆棘耳饰"],
info: "反伤+20%", info: "反伤+20%",
special_attr: [], special_attr: [],
@@ -825,7 +818,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7421, uuid: 7421,
name: "星辉耳饰", name: "星辉耳饰",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["星辉耳饰"], path: EPath["星辉耳饰"],
info: "生命值+40%,免伤+20%", info: "生命值+40%,免伤+20%",
special_attr: [], special_attr: [],
@@ -839,7 +832,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7422, uuid: 7422,
name: "霜晶耳饰", name: "霜晶耳饰",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["霜晶耳饰"], path: EPath["霜晶耳饰"],
info: "攻击+40%,暴伤+30%", info: "攻击+40%,暴伤+30%",
special_attr: [], special_attr: [],
@@ -853,7 +846,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7423, uuid: 7423,
name: "流光吊坠", name: "流光吊坠",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["流光吊坠"], path: EPath["流光吊坠"],
info: "生命值+35%,闪避+15%", info: "生命值+35%,闪避+15%",
special_attr: [], special_attr: [],
@@ -867,7 +860,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7424, uuid: 7424,
name: "地脉指环", name: "地脉指环",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["地脉指环"], path: EPath["地脉指环"],
info: "免伤+20%,反伤+15%", info: "免伤+20%,反伤+15%",
special_attr: [], special_attr: [],
@@ -881,7 +874,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7425, uuid: 7425,
name: "炎阳戒指", name: "炎阳戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["炎阳戒指"], path: EPath["炎阳戒指"],
info: "攻击+45%,闪避+10%", info: "攻击+45%,闪避+10%",
special_attr: [], special_attr: [],
@@ -896,7 +889,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7426, uuid: 7426,
name: "潮汐戒指", name: "潮汐戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.BLUE, quality: QualitySet.BLUE,
path: EPath["潮汐戒指"], path: EPath["潮汐戒指"],
info: "暴伤+35%,反伤+15%", info: "暴伤+35%,反伤+15%",
special_attr: [], special_attr: [],
@@ -913,7 +906,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7441, uuid: 7441,
name: "天穹戒指", name: "天穹戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["天穹戒指"], path: EPath["天穹戒指"],
info: "生命值+45%,免伤+20%,攻击触发属性增加额外加值+2", info: "生命值+45%,免伤+20%,攻击触发属性增加额外加值+2",
special_attr: [ special_attr: [
@@ -930,7 +923,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7442, uuid: 7442,
name: "神木戒指", name: "神木戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["神木戒指"], path: EPath["神木戒指"],
info: "攻击+50%,暴伤+35%,暴击+10%", info: "攻击+50%,暴伤+35%,暴击+10%",
special_attr: [], special_attr: [],
@@ -945,7 +938,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7443, uuid: 7443,
name: "日曜戒指", name: "日曜戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["日曜戒指"], path: EPath["日曜戒指"],
info: "生命值+40%,攻击+45%,攻击触发增加主将攻击力+2", info: "生命值+40%,攻击+45%,攻击触发增加主将攻击力+2",
special_attr: [ special_attr: [
@@ -962,7 +955,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7444, uuid: 7444,
name: "月影项链", name: "月影项链",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["月影项链"], path: EPath["月影项链"],
info: "免伤+20%,暴伤+35%攻击触发增加主将生命值10", info: "免伤+20%,暴伤+35%攻击触发增加主将生命值10",
special_attr: [ special_attr: [
@@ -978,7 +971,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7445, uuid: 7445,
name: "星尘项链", name: "星尘项链",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["星尘项链"], path: EPath["星尘项链"],
info: "闪避+15%,攻击+50%技能冷却减少20%", info: "闪避+15%,攻击+50%技能冷却减少20%",
special_attr: [], special_attr: [],
@@ -993,7 +986,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7446, uuid: 7446,
name: "深渊戒指", name: "深渊戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["深渊戒指"], path: EPath["深渊戒指"],
info: "反伤+15%,生命值+50%,穿刺+2", info: "反伤+15%,生命值+50%,穿刺+2",
special_attr: [], special_attr: [],
@@ -1008,7 +1001,7 @@ export const EquipInfo: { [key: number]: EquipData } = {
uuid: 7447, uuid: 7447,
name: "永夜戒指", name: "永夜戒指",
type: EquipType.ACCESSORY, type: EquipType.ACCESSORY,
quality: Quality.PURPLE, quality: QualitySet.PURPLE,
path: EPath["永夜戒指"], path: EPath["永夜戒指"],
info: "免伤+25%,暴伤+35%,双倍受击触发+2", info: "免伤+25%,暴伤+35%,双倍受击触发+2",
special_attr: [ special_attr: [

View File

@@ -2,29 +2,30 @@
type: type:
1 普通消耗品,武器升级或技能升级原材料 1 普通消耗品,武器升级或技能升级原材料
2 可双击打开,如宝箱, 2 可双击打开,如宝箱,
ghstone:0, //英雄石 绿色 普通英雄升星
bhstone:0, //英雄石 蓝色 稀有英雄升星
phlestone:0, //英雄石 紫色 史诗英雄升星
rhstone:0, //英雄石 红色 传说英雄升星
herocard:0, //英雄卡,抽卡凭证
ckey:0, //铜钥匙 解锁稀有英雄 也可以直接兑换金币
skey:0, //银钥匙 解锁史诗英雄 也可以直接兑换金币
gkey:0, //金钥匙 解锁传说英雄 也可以直接兑换金币
*/ */
export const Items={ import { QualitySet } from "./BoxSet";
1001:{uuid: 1001,path: "1001",type:1,lv:2,name: "宝箱",info:"随机获取物品", },
1002:{uuid: 1002,path: "1002",type:1,lv:3,name: "稀有宝箱",info:"随机获取少量英雄碎片", }, export const Items={
1003:{uuid: 1003,path: "1003",type:1,lv:4,name: "勇者宝箱",info:"可以获取英雄碎片", }, 1001:{uuid: 1001,path: "1001",type:1,quality:QualitySet.GREEN,name: "经验药水",info:"增加英雄经验", },
// 1004:{uuid: 1004,path: "1004",type:1,lv:3,name: "xxx",info:"英雄升级三星需要的凭证", }, 1002:{uuid: 1002,path: "1002",type:1,quality:QualitySet.BLUE,name: "绿色英雄石",info:"稀有英雄升星必须材料", },
// 1005:{uuid: 1005,path: "1005",type:1,lv:3,name: "xxx",info:"英雄升级四星需要的凭证", }, 1003:{uuid: 1003,path: "1003",type:1,quality:QualitySet.BLUE,name: "蓝色英雄石",info:"史诗英雄升星必须材料", },
// 1006:{uuid: 1006,path: "1006",type:1,lv:4,name: "xxx",info:"英雄升级五星需要的凭证", }, 1004:{uuid: 1004,path: "1004",type:1,quality:QualitySet.PURPLE,name: "紫色英雄石",info:"传说英雄升星必须材料", },
// 1007:{uuid: 1007,path: "1007",type:1,lv:4,name: "xxx",info:"英雄升级五星需要的凭证", }, 1005:{uuid: 1005,path: "1005",type:1,quality:QualitySet.ORANGE,name: "红色英雄石",info:"传说英雄升星必须材料", },
// 1008:{uuid: 1008,path: "1008",type:1,lv:4,name: "黄色叶子",info:"未知功能", }, 1006:{uuid: 1006,path: "1006",type:1,quality:QualitySet.GREEN,name: "招募劵",info:"可以在英雄酒馆招募英雄", },
// 1009:{uuid: 1009,path: "1001",type:1,lv:1,name: "普通攻击石",info:"增加装备攻击力10,成功几率20%", }, 1007:{uuid: 1007,path: "1007",type:1,quality:QualitySet.BLUE,name: "铜钥匙",info:"解锁稀有英雄 也可以直接兑换金币", },
// 1010:{uuid: 1010,path: "1010",type:1,lv:2,name: "高级攻击石",info:"增加装备攻击力10,成功几率30%", }, 1008:{uuid: 1008,path: "1008",type:1,quality:QualitySet.PURPLE,name: "银钥匙",info:"解锁史诗英雄 也可以直接兑换金币", },
// 1011:{uuid: 1011,path: "1011",type:1,lv:3,name: "稀有攻击石",info:"增加装备攻击力10,成功几率40%", }, 1009:{uuid: 1009,path: "1009",type:1,quality:QualitySet.ORANGE,name: "金钥匙",info:"解锁传说英雄 也可以直接兑换金币", },
// 1012:{uuid: 1012,path: "1012",type:1,lv:4,name: "传说攻击石",info:"增加装备攻击力10,成功几率50%", },
// 1013:{uuid: 1013,path: "1013",type:1,lv:1,name: "普通生命石",info:"增加装备生命值50,成功几率20%", },
// 1014:{uuid: 1015,path: "1014",type:1,lv:2,name: "高级生命石",info:"增加装备生命值50,成功几率30%", },
// 1015:{uuid: 1015,path: "1015",type:1,lv:3,name: "稀有生命石",info:"增加装备生命值50,成功几率40%", },
// 1016:{uuid: 1016,path: "1016",type:1,lv:4,name: "传说生命石",info:"增加装备生命值50,成功几率50%", },
9001:{uuid: 9001,path: "9001",type:1,lv:0,name: "金币",info:"金币不是万能的,但是没有金币是万万不能的", },
// 9002:{uuid: 9002,path: "9002",type:1,lv:1,name: "叶子",info:"提升英雄等级的神奇叶子", },
// 9003:{uuid: 9003,path: "9003",type:1,lv:1,name: "经验",info:"提升英雄等级", },
} }

View File

@@ -4,7 +4,7 @@
*/ */
import { BuffAttr } from "./SkillSet" import { BuffAttr } from "./SkillSet"
import { Quality } from "./CardSet" import { QualitySet } from "./BoxSet";
// 强化类型枚举 // 强化类型枚举
export const EnhancementType = { export const EnhancementType = {
@@ -40,29 +40,26 @@ export const defaultEnhancements=()=>{
// 强化选项配置表(一维数组格式) // 强化选项配置表(一维数组格式)
export const EnhancementOptions: EnhancementOption[] = [ export const EnhancementOptions: EnhancementOption[] = [
// 攻击力强化选项 // 攻击力强化选项
{ uuid: 1001, type: EnhancementType.ATTACK, lv: 1, name: "力量训练 I", description: "攻击力 +5", buffType: BuffAttr.ATK, value: 5, icon: "3058", rarity: Quality.GREEN }, { uuid: 1001, type: EnhancementType.ATTACK, lv: 1, name: "力量训练 I", description: "攻击力 +5", buffType: BuffAttr.ATK, value: 5, icon: "3058", rarity: QualitySet.GREEN },
{ uuid: 1002, type: EnhancementType.ATTACK, lv: 2, name: "力量训练 II", description: "攻击力 +12", buffType: BuffAttr.ATK, value: 12, icon: "3058", rarity: Quality.GREEN }, { uuid: 1002, type: EnhancementType.ATTACK, lv: 2, name: "力量训练 II", description: "攻击力 +12", buffType: BuffAttr.ATK, value: 12, icon: "3058", rarity: QualitySet.GREEN },
{ uuid: 1003, type: EnhancementType.ATTACK, lv: 3, name: "力量训练 III", description: "攻击力 +20", buffType: BuffAttr.ATK, value: 20, icon: "3058", rarity: Quality.BLUE }, { uuid: 1003, type: EnhancementType.ATTACK, lv: 3, name: "力量训练 III", description: "攻击力 +20", buffType: BuffAttr.ATK, value: 20, icon: "3058", rarity: QualitySet.BLUE },
{ uuid: 1004, type: EnhancementType.ATTACK, lv: 4, name: "力量训练 IV", description: "攻击力 +35", buffType: BuffAttr.ATK, value: 35, icon: "3058", rarity: Quality.BLUE }, { uuid: 1004, type: EnhancementType.ATTACK, lv: 4, name: "力量训练 IV", description: "攻击力 +35", buffType: BuffAttr.ATK, value: 35, icon: "3058", rarity: QualitySet.BLUE },
{ uuid: 1005, type: EnhancementType.ATTACK, lv: 5, name: "力量训练 V", description: "攻击力 +50", buffType: BuffAttr.ATK, value: 50, icon: "3058", rarity: Quality.PURPLE }, { uuid: 1005, type: EnhancementType.ATTACK, lv: 5, name: "力量训练 V", description: "攻击力 +50", buffType: BuffAttr.ATK, value: 50, icon: "3058", rarity: QualitySet.PURPLE },
// 生命值强化选项 // 生命值强化选项
{ uuid: 2001, type: EnhancementType.HEALTH, lv: 1, name: "体质增强 I", description: "生命值 +10", buffType: BuffAttr.HP, value: 10, icon: "3058", rarity: Quality.GREEN }, { uuid: 2001, type: EnhancementType.HEALTH, lv: 1, name: "体质增强 I", description: "生命值 +10", buffType: BuffAttr.HP, value: 10, icon: "3058", rarity: QualitySet.GREEN },
{ uuid: 2002, type: EnhancementType.HEALTH, lv: 2, name: "体质增强 II", description: "生命值 +25", buffType: BuffAttr.HP, value: 25, icon: "3058", rarity: Quality.GREEN }, { uuid: 2002, type: EnhancementType.HEALTH, lv: 2, name: "体质增强 II", description: "生命值 +25", buffType: BuffAttr.HP, value: 25, icon: "3058", rarity: QualitySet.GREEN },
{ uuid: 2003, type: EnhancementType.HEALTH, lv: 3, name: "体质增强 III", description: "生命值 +40", buffType: BuffAttr.HP, value: 40, icon: "3058", rarity: Quality.BLUE }, { uuid: 2003, type: EnhancementType.HEALTH, lv: 3, name: "体质增强 III", description: "生命值 +40", buffType: BuffAttr.HP, value: 40, icon: "3058", rarity: QualitySet.BLUE },
{ uuid: 2004, type: EnhancementType.HEALTH, lv: 4, name: "体质增强 IV", description: "生命值 +65", buffType: BuffAttr.HP, value: 65, icon: "3058", rarity: Quality.BLUE }, { uuid: 2004, type: EnhancementType.HEALTH, lv: 4, name: "体质增强 IV", description: "生命值 +65", buffType: BuffAttr.HP, value: 65, icon: "3058", rarity: QualitySet.BLUE },
{ uuid: 2005, type: EnhancementType.HEALTH, lv: 5, name: "体质增强 V", description: "生命值 +100", buffType: BuffAttr.HP, value: 100, icon: "3058", rarity: Quality.PURPLE }, { uuid: 2005, type: EnhancementType.HEALTH, lv: 5, name: "体质增强 V", description: "生命值 +100", buffType: BuffAttr.HP, value: 100, icon: "3058", rarity: QualitySet.PURPLE },
// 攻击速度强化选项 { uuid: 3003, type: EnhancementType.ATTACK_SPEED, lv: 3, name: "快速出手 III", description: "攻击速度 +3%", buffType: BuffAttr.ATK_CD, value: 3, icon: "3058", rarity: QualitySet.BLUE },
{ uuid: 3001, type: EnhancementType.ATTACK_SPEED, lv: 1, name: "快速出手 I", description: "攻击速度 +1%", buffType: BuffAttr.ATK_CD, value: 1, icon: "3058", rarity: Quality.GREEN }, { uuid: 3004, type: EnhancementType.ATTACK_SPEED, lv: 4, name: "快速出手 IV", description: "攻击速度 +4%", buffType: BuffAttr.ATK_CD, value: 4, icon: "3058", rarity: QualitySet.BLUE },
{ uuid: 3002, type: EnhancementType.ATTACK_SPEED, lv: 2, name: "快速出手 II", description: "攻击速度 +2%", buffType: BuffAttr.ATK_CD, value: 2, icon: "3058", rarity: Quality.GREEN }, { uuid: 3005, type: EnhancementType.ATTACK_SPEED, lv: 5, name: "快速出手 V", description: "攻击速度 +5%", buffType: BuffAttr.ATK_CD, value: 5, icon: "3058", rarity: QualitySet.PURPLE },
{ uuid: 3003, type: EnhancementType.ATTACK_SPEED, lv: 3, name: "快速出手 III", description: "攻击速度 +3%", buffType: BuffAttr.ATK_CD, value: 3, icon: "3058", rarity: Quality.BLUE },
{ uuid: 3004, type: EnhancementType.ATTACK_SPEED, lv: 4, name: "快速出手 IV", description: "攻击速度 +4%", buffType: BuffAttr.ATK_CD, value: 4, icon: "3058", rarity: Quality.BLUE },
{ uuid: 3005, type: EnhancementType.ATTACK_SPEED, lv: 5, name: "快速出手 V", description: "攻击速度 +5%", buffType: BuffAttr.ATK_CD, value: 5, icon: "3058", rarity: Quality.PURPLE },
// 特殊效果强化选项 // 特殊效果强化选项
{ uuid: 4001, type: EnhancementType.DEF, lv: 1, name: "绝对防御 I", description: "免伤 +1%", buffType: BuffAttr.DEF, value: 1, icon: "3058", rarity: Quality.GREEN }, { uuid: 4001, type: EnhancementType.DEF, lv: 1, name: "绝对防御 I", description: "免伤 +1%", buffType: BuffAttr.DEF, value: 1, icon: "3058", rarity: QualitySet.GREEN },
{ uuid: 4002, type: EnhancementType.DEF, lv: 2, name: "绝对防御 II", description: "免伤 +2%", buffType: BuffAttr.DEF, value: 2, icon: "3058", rarity: Quality.GREEN }, { uuid: 4002, type: EnhancementType.DEF, lv: 2, name: "绝对防御 II", description: "免伤 +2%", buffType: BuffAttr.DEF, value: 2, icon: "3058", rarity: QualitySet.GREEN },
{ uuid: 4003, type: EnhancementType.DEF, lv: 3, name: "绝对防御 III", description: "免伤 +3%", buffType: BuffAttr.DEF, value: 3, icon: "3058", rarity: Quality.BLUE }, { uuid: 4003, type: EnhancementType.DEF, lv: 3, name: "绝对防御 III", description: "免伤 +3%", buffType: BuffAttr.DEF, value: 3, icon: "3058", rarity: QualitySet.BLUE },
{ uuid: 4004, type: EnhancementType.DEF, lv: 4, name: "绝对防御 IV", description: "免伤 +4%", buffType: BuffAttr.DEF, value: 4, icon: "3058", rarity: Quality.BLUE }, { uuid: 4004, type: EnhancementType.DEF, lv: 4, name: "绝对防御 IV", description: "免伤 +4%", buffType: BuffAttr.DEF, value: 4, icon: "3058", rarity: QualitySet.BLUE },
{ uuid: 4005, type: EnhancementType.DEF, lv: 5, name: "绝对防御 V", description: "免伤 +5%", buffType: BuffAttr.DEF, value: 5, icon: "3058", rarity: Quality.PURPLE }, { uuid: 4005, type: EnhancementType.DEF, lv: 5, name: "绝对防御 V", description: "免伤 +5%", buffType: BuffAttr.DEF, value: 5, icon: "3058", rarity: QualitySet.PURPLE },
]; ];
// 强化选项接口定义 // 强化选项接口定义

View File

@@ -1,10 +1,10 @@
import { HQuality } from "./heroSet"; import { QualitySet } from "./BoxSet";
// 获取装备石掉落数量 // 获取装备石掉落数量
export const getStoneDrops = (monsterType: number, level: number = 1): {type: string, count: number} => { export const getStoneDrops = (monsterType: number, level: number = 1): {type: string, count: number} => {
const baseDrops = { const baseDrops = {
[HQuality.GREEN]: 2, // 普通怪物 [QualitySet.GREEN]: 2, // 普通怪物
[HQuality.BLUE]: 4, // 精英怪物 [QualitySet.BLUE]: 4, // 精英怪物
[HQuality.PURPLE]: 8 // Boss怪物 [QualitySet.PURPLE]: 8 // Boss怪物
}; };
// 50%概率掉落装备石,50%概率掉落技能石 // 50%概率掉落装备石,50%概率掉落技能石
@@ -19,9 +19,9 @@ export const getStoneDrops = (monsterType: number, level: number = 1): {type: st
export const getExpDrops = (monsterType: number, level: number = 1): number => { export const getExpDrops = (monsterType: number, level: number = 1): number => {
const baseDrops = { const baseDrops = {
[HQuality.GREEN]: 10, // 普通怪物 [QualitySet.GREEN]: 10, // 普通怪物
[HQuality.BLUE]: 20, // 精英怪物 [QualitySet.BLUE]: 20, // 精英怪物
[HQuality.PURPLE]: 40 // Boss怪物 [QualitySet.PURPLE]: 40 // Boss怪物
}; };
return Math.floor(baseDrops[monsterType] * (1 + (level - 1) * 0.2)); return Math.floor(baseDrops[monsterType] * (1 + (level - 1) * 0.2));
} }

View File

@@ -1,4 +1,5 @@
import { log } from "cc" import { log } from "cc"
import { QualitySet } from "./BoxSet"
export enum TGroup { export enum TGroup {
Self = 0, // 自身 Self = 0, // 自身
@@ -203,15 +204,6 @@ export const geDebuffNum=()=>{
} }
export enum Quality{
WHITE=1,
GREEN=2,
BLUE=3,
PURPLE=4,
ORANGE=5,
}
/* /*
=== 技能配置系统使用说明 === === 技能配置系统使用说明 ===
@@ -301,7 +293,7 @@ export interface BuffConfig {
} }
// 技能配置接口 - 按照6001格式排列 // 技能配置接口 - 按照6001格式排列
export interface SkillConfig { export interface SkillConfig {
uuid:number,name:string,for_hero:boolean,sp_name:string,AtkedType:AtkedType,path:string,quality:Quality,TType:TType, uuid:number,name:string,for_hero:boolean,sp_name:string,AtkedType:AtkedType,path:string,quality:QualitySet,TType:TType,
TGroup:TGroup,SType:SType,act:string,DTType:DTType,CdType:CdType,AType:AType,EType:EType, TGroup:TGroup,SType:SType,act:string,DTType:DTType,CdType:CdType,AType:AType,EType:EType,
ap:number,cd:number,in:number,hit_num:number,hit:number,hited:number,speed:number,cost:number,fname:string,flash:boolean,with:number,maxC:number, ap:number,cd:number,in:number,hit_num:number,hit:number,hited:number,speed:number,cost:number,fname:string,flash:boolean,with:number,maxC:number,
buffs:BuffConfig[],debuffs:DebuffConfig[],info:string,hero?:number buffs:BuffConfig[],debuffs:DebuffConfig[],info:string,hero?:number
@@ -311,83 +303,83 @@ export interface SkillConfig {
export const SkillSet: Record<number, SkillConfig> = { export const SkillSet: Record<number, SkillConfig> = {
// ========== 基础攻击 ========== 6001-6099 // ========== 基础攻击 ========== 6001-6099
6001: { 6001: {
uuid:6001,name:"挥击",for_hero:false,sp_name:"atk1",AtkedType:AtkedType.atked,path:"3036",quality:Quality.WHITE,TType:TType.Frontline, uuid:6001,name:"挥击",for_hero:false,sp_name:"atk1",AtkedType:AtkedType.atked,path:"3036",quality:QualitySet.GREEN,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.fixedStart,EType:EType.animationEnd, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.fixedStart,EType:EType.animationEnd,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.2,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.2,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1,
buffs:[],debuffs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害" buffs:[],debuffs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害"
}, },
6002: { 6002: {
uuid:6002,name:"挥击",for_hero:false,sp_name:"atk2",AtkedType:AtkedType.atked,path:"3036",quality:Quality.WHITE,TType:TType.Frontline, uuid:6002,name:"挥击",for_hero:false,sp_name:"atk2",AtkedType:AtkedType.atked,path:"3036",quality:QualitySet.GREEN,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.fixedStart,EType:EType.animationEnd, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.fixedStart,EType:EType.animationEnd,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.2,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.2,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1,
buffs:[],debuffs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害" buffs:[],debuffs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害"
}, },
6003: { 6003: {
uuid:6003,name:"射击",for_hero:false,sp_name:"arrow",AtkedType:AtkedType.atked,path:"3037",quality:Quality.WHITE,TType:TType.Frontline, uuid:6003,name:"射击",for_hero:false,sp_name:"arrow",AtkedType:AtkedType.atked,path:"3037",quality:QualitySet.GREEN,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:3,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:3,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1,
buffs:[],debuffs:[],info:"向最前方敌人释放箭矢,造成100%攻击的伤害" buffs:[],debuffs:[],info:"向最前方敌人释放箭矢,造成100%攻击的伤害"
}, },
6004: { 6004: {
uuid:6004,name:"冰球",for_hero:false,sp_name:"am_ice",AtkedType:AtkedType.ice,path:"3034",quality:Quality.WHITE,TType:TType.Frontline, uuid:6004,name:"冰球",for_hero:false,sp_name:"am_ice",AtkedType:AtkedType.ice,path:"3034",quality:QualitySet.GREEN,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:3,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:3,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1,
buffs:[],debuffs:[],info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害" buffs:[],debuffs:[],info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害"
}, },
6005: { 6005: {
uuid:6005,name:"火球术",for_hero:true,sp_name:"am_fire",AtkedType:AtkedType.fire,path:"3039",quality:Quality.GREEN,TType:TType.Frontline, uuid:6005,name:"火球术",for_hero:true,sp_name:"am_fire",AtkedType:AtkedType.fire,path:"3039",quality:QualitySet.BLUE,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision,
ap:100,cd:5,in:0,hit_num:1,hit:2,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:2,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[{debuff:DebuffAttr.STUN,dev:0,deC:1,deR:50}],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧" buffs:[],debuffs:[{debuff:DebuffAttr.STUN,dev:0,deC:1,deR:50}],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"
}, },
6006: { 6006: {
uuid:6006,name:"能量波",for_hero:false,sp_name:"am_blue",AtkedType:AtkedType.ice,path:"3034",quality:Quality.WHITE,TType:TType.Frontline, uuid:6006,name:"能量波",for_hero:false,sp_name:"am_blue",AtkedType:AtkedType.ice,path:"3034",quality:QualitySet.GREEN,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:3,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:3,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1,
buffs:[],debuffs:[],info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害" buffs:[],debuffs:[],info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害"
}, },
6007: { 6007: {
uuid:6007,name:"圣光波",for_hero:true,sp_name:"am_yellow",AtkedType:AtkedType.fire,path:"3039",quality:Quality.GREEN,TType:TType.Frontline, uuid:6007,name:"圣光波",for_hero:true,sp_name:"am_yellow",AtkedType:AtkedType.fire,path:"3039",quality:QualitySet.BLUE,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision,
ap:100,cd:5,in:0,hit_num:1,hit:2,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:2,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[{debuff:DebuffAttr.STUN,dev:0,deC:1,deR:50}],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧" buffs:[],debuffs:[{debuff:DebuffAttr.STUN,dev:0,deC:1,deR:50}],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"
}, },
// ========== 大招 ========== 6100-6199 // ========== 大招 ========== 6100-6199
6101: { 6101: {
uuid:6101,name:"护盾",for_hero:true,sp_name:"shield",AtkedType:AtkedType.atked,path:"3045",quality:Quality.BLUE,TType:TType.Frontline, uuid:6101,name:"护盾",for_hero:true,sp_name:"shield",AtkedType:AtkedType.atked,path:"3045",quality:QualitySet.PURPLE,TType:TType.Frontline,
TGroup:TGroup.Team,SType:SType.shield,act:"max",DTType:DTType.single,CdType:CdType.cd,AType:AType.fixedStart,EType:EType.animationEnd, TGroup:TGroup.Team,SType:SType.shield,act:"max",DTType:DTType.single,CdType:CdType.cd,AType:AType.fixedStart,EType:EType.animationEnd,
ap:0,cd:5,in:0,hit_num:1,hit:1,hited:3,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1, ap:0,cd:5,in:0,hit_num:1,hit:1,hited:3,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1,
buffs:[{buff:BuffAttr.SHIELD,buV:2,buC:0,buR:100}],debuffs:[],info:"为最前排队友召唤一个可以抵御2次攻击的圣盾(最高叠加到6次)" buffs:[{buff:BuffAttr.SHIELD,buV:2,buC:0,buR:100}],debuffs:[],info:"为最前排队友召唤一个可以抵御2次攻击的圣盾(最高叠加到6次)"
}, },
6102: { 6102: {
uuid:6102,name:"寒冰箭",for_hero:true,sp_name:"arrow_blue",AtkedType:AtkedType.ice,path:"3060",quality:Quality.GREEN,TType:TType.Frontline, uuid:6102,name:"寒冰箭",for_hero:true,sp_name:"arrow_blue",AtkedType:AtkedType.ice,path:"3060",quality:QualitySet.BLUE,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.linear,EType:EType.collision,
ap:100,cd:1,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:100,cd:1,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[{debuff:DebuffAttr.FROST,dev:1,deC:0,deR:100}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人" buffs:[],debuffs:[{debuff:DebuffAttr.FROST,dev:1,deC:0,deR:100}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人"
}, },
6103: { 6103: {
uuid:6103,name:"治疗",for_hero:true,sp_name:"heath_small",AtkedType:AtkedType.atked,path:"3056",quality:Quality.GREEN,TType:TType.Frontline, uuid:6103,name:"治疗",for_hero:true,sp_name:"heath_small",AtkedType:AtkedType.atked,path:"3056",quality:QualitySet.BLUE,TType:TType.Frontline,
TGroup:TGroup.Team,SType:SType.heal,act:"max",DTType:DTType.single,CdType:CdType.cd,AType:AType.StartEnd,EType:EType.timeEnd, TGroup:TGroup.Team,SType:SType.heal,act:"max",DTType:DTType.single,CdType:CdType.cd,AType:AType.StartEnd,EType:EType.timeEnd,
ap:0,cd:5,in:0,hit_num:1,hit:0,hited:0,speed:0,cost:10,fname:"max",flash:false,with:0,maxC:1, ap:0,cd:5,in:0,hit_num:1,hit:0,hited:0,speed:0,cost:10,fname:"max",flash:false,with:0,maxC:1,
buffs:[{buff:BuffAttr.HP,buV:20,buC:0,buR:100}],debuffs:[],info:"回复最前排队友10%最大生命值的生命" buffs:[{buff:BuffAttr.HP,buV:20,buC:0,buR:100}],debuffs:[],info:"回复最前排队友10%最大生命值的生命"
}, },
6104: { 6104: {
uuid:6104,name:"烈焰斩击",for_hero:false,sp_name:"max_fireatk",AtkedType:AtkedType.fire,path:"3036",quality:Quality.WHITE,TType:TType.Frontline, uuid:6104,name:"烈焰斩击",for_hero:false,sp_name:"max_fireatk",AtkedType:AtkedType.fire,path:"3036",quality:QualitySet.GREEN,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.fixedStart,EType:EType.animationEnd, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.cd,AType:AType.fixedStart,EType:EType.animationEnd,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.2,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.2,speed:720,cost:10,fname:"max",flash:false,with:0,maxC:1,
buffs:[],debuffs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害" buffs:[],debuffs:[],info:"向最前方敌人扔出石斧,造成100%攻击的伤害"
}, },
6105: { 6105: {
uuid:6105,name:"烈火护盾",for_hero:true,sp_name:"max_firedun",AtkedType:AtkedType.atked,path:"3061",quality:Quality.BLUE,TType:TType.Frontline, uuid:6105,name:"烈火护盾",for_hero:true,sp_name:"max_firedun",AtkedType:AtkedType.atked,path:"3061",quality:QualitySet.PURPLE,TType:TType.Frontline,
TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedStart,EType:EType.timeEnd, TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedStart,EType:EType.timeEnd,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:1,speed:80,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:1,speed:80,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[],info:"召唤烈焰保护英雄,持续10秒,每秒对范围内的敌人造成100%伤害" buffs:[],debuffs:[],info:"召唤烈焰保护英雄,持续10秒,每秒对范围内的敌人造成100%伤害"
}, },
6106: { 6106: {
uuid:6106,name:"龙卷风",for_hero:true,sp_name:"bwind",AtkedType:AtkedType.wind,path:"3065",quality:Quality.GREEN,TType:TType.Frontline, uuid:6106,name:"龙卷风",for_hero:true,sp_name:"bwind",AtkedType:AtkedType.wind,path:"3065",quality:QualitySet.BLUE,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.power,AType:AType.linear,EType:EType.collision, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.power,AType:AType.linear,EType:EType.collision,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:1,speed:360,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:1,speed:360,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:100}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人" buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:100}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"
@@ -396,73 +388,73 @@ export const SkillSet: Record<number, SkillConfig> = {
6107: { 6107: {
uuid:6107,name:"烈焰射击",for_hero:false,sp_name:"arrow_yellow",AtkedType:AtkedType.fire,path:"3014",quality:Quality.GREEN,TType:TType.Frontline, uuid:6107,name:"烈焰射击",for_hero:false,sp_name:"arrow_yellow",AtkedType:AtkedType.fire,path:"3014",quality:QualitySet.BLUE,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.power,AType:AType.linear,EType:EType.collision, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:CdType.power,AType:AType.linear,EType:EType.collision,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[{debuff:DebuffAttr.STUN,dev:0.5,deC:0,deR:50}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人" buffs:[],debuffs:[{debuff:DebuffAttr.STUN,dev:0.5,deC:0,deR:50}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人"
}, },
6108: { 6108: {
uuid:6108,name:"火墙",for_hero:true,sp_name:"max_fwall",AtkedType:AtkedType.atked,path:"3040",quality:Quality.BLUE,TType:TType.Frontline, uuid:6108,name:"火墙",for_hero:true,sp_name:"max_fwall",AtkedType:AtkedType.atked,path:"3040",quality:QualitySet.PURPLE,TType:TType.Frontline,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.cd,AType:AType.fixedEnd,EType:EType.timeEnd, TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.cd,AType:AType.fixedEnd,EType:EType.timeEnd,
ap:50,cd:5,in:0,hit_num:1,hit:1,hited:1,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:50,cd:5,in:0,hit_num:1,hit:1,hited:1,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[],info:"在最前方敌人位置,召唤一堵火墙,持续10秒,每秒造成50%攻击伤害" buffs:[],debuffs:[],info:"在最前方敌人位置,召唤一堵火墙,持续10秒,每秒造成50%攻击伤害"
}, },
6109: { 6109: {
uuid:6109,name:"冰刺",for_hero:true,sp_name:"icez",AtkedType:AtkedType.atked,path:"3049",quality:Quality.BLUE,TType:TType.Frontline, uuid:6109,name:"冰刺",for_hero:true,sp_name:"icez",AtkedType:AtkedType.atked,path:"3049",quality:QualitySet.PURPLE,TType:TType.Frontline,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd, TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd,
ap:300,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:300,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[{debuff:DebuffAttr.FROST,dev:0,deC:0,deR:100}],info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人" buffs:[],debuffs:[{debuff:DebuffAttr.FROST,dev:0,deC:0,deR:100}],info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人"
}, },
6110: { 6110: {
uuid:6110,name:"潮汐",for_hero:true,sp_name:"watert",AtkedType:AtkedType.atked,path:"3070",quality:Quality.BLUE,TType:TType.Frontline, uuid:6110,name:"潮汐",for_hero:true,sp_name:"watert",AtkedType:AtkedType.atked,path:"3070",quality:QualitySet.PURPLE,TType:TType.Frontline,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd, TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:100}],info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人" buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:100}],info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"
}, },
6111: { 6111: {
uuid:6111,name:"陨石术",for_hero:true,sp_name:"max_yunshi",AtkedType:AtkedType.fire,path:"3123",quality:Quality.BLUE,TType:TType.Frontline, uuid:6111,name:"陨石术",for_hero:true,sp_name:"max_yunshi",AtkedType:AtkedType.fire,path:"3123",quality:QualitySet.PURPLE,TType:TType.Frontline,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd, TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd,
ap:500,cd:5,in:0,hit_num:0,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:500,cd:5,in:0,hit_num:0,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[],info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害" buffs:[],debuffs:[],info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"
}, },
6112: { 6112: {
uuid:6112,name:"冰墙",for_hero:false,sp_name:"icet",AtkedType:AtkedType.atked,path:"3050",quality:Quality.GREEN,TType:TType.Frontline, uuid:6112,name:"冰墙",for_hero:false,sp_name:"icet",AtkedType:AtkedType.atked,path:"3050",quality:QualitySet.BLUE,TType:TType.Frontline,
TGroup:TGroup.Enemy,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.cd,AType:AType.linear,EType:EType.animationEnd, TGroup:TGroup.Enemy,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.cd,AType:AType.linear,EType:EType.animationEnd,
ap:400,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:400,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:100}],info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人" buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:100}],info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"
}, },
6113: { 6113: {
uuid:6113,name:"剑雨",for_hero:true,sp_name:"max_jianyu",AtkedType:AtkedType.fire,path:"3123",quality:Quality.BLUE,TType:TType.Frontline, uuid:6113,name:"剑雨",for_hero:true,sp_name:"max_jianyu",AtkedType:AtkedType.fire,path:"3123",quality:QualitySet.PURPLE,TType:TType.Frontline,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd, TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd,
ap:500,cd:5,in:0,hit_num:0,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1, ap:500,cd:5,in:0,hit_num:0,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:1,
buffs:[],debuffs:[],info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害" buffs:[],debuffs:[],info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"
}, },
//召唤取消 //召唤取消
// 6031:{uuid:6031,name:"召唤骷髅",for_hero:true,sp_name:"zhaohuan",AtkedType:AtkedType.atked,path:"3018",quality:Quality.GREEN, TType:TType.Frontline,maxC:1, // 6031:{uuid:6031,name:"召唤骷髅",for_hero:true,sp_name:"zhaohuan",AtkedType:AtkedType.atked,path:"3018",quality:QualitySet.BLUE, TType:TType.Frontline,maxC:1,
// TGroup:TGroup.Self,SType:SType.zhaohuan,act:"max",DTType:DTType.single,CdType:CdType.power,AType:AType.fixedStart,EType:EType.animationEnd,fname:"max_blue",flash:true,with:90, // TGroup:TGroup.Self,SType:SType.zhaohuan,act:"max",DTType:DTType.single,CdType:CdType.power,AType:AType.fixedStart,EType:EType.animationEnd,fname:"max_blue",flash:true,with:90,
// debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:70,cd:60,in:0,hit_num:1,hit:1,hited:1,speed:720,hero:5221,cost:10,info:"召唤一个骷髅战士为我方而战"}, // debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:70,cd:60,in:0,hit_num:1,hit:1,hited:1,speed:720,hero:5221,cost:10,info:"召唤一个骷髅战士为我方而战"},
// ========== 超必杀 ========== 6200-6299 // ========== 超必杀 ========== 6200-6299
6201: { 6201: {
uuid:6201,name:"陨石风暴",for_hero:true,sp_name:"fireys",AtkedType:AtkedType.atked,path:"3101",quality:Quality.PURPLE,TType:TType.Frontline, uuid:6201,name:"陨石风暴",for_hero:true,sp_name:"fireys",AtkedType:AtkedType.atked,path:"3101",quality:QualitySet.ORANGE,TType:TType.Frontline,
TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd, TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd,
ap:500,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:5, ap:500,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:5,
buffs:[],debuffs:[],info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害" buffs:[],debuffs:[],info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"
}, },
6202: { 6202: {
uuid:6202,name:"龙卷风爆",for_hero:true,sp_name:"bwind",AtkedType:AtkedType.atked,path:"3069",quality:Quality.PURPLE,TType:TType.Frontline, uuid:6202,name:"龙卷风爆",for_hero:true,sp_name:"bwind",AtkedType:AtkedType.atked,path:"3069",quality:QualitySet.ORANGE,TType:TType.Frontline,
TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,CdType:CdType.power,AType:AType.linear,EType:EType.collision, TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,CdType:CdType.power,AType:AType.linear,EType:EType.collision,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:1,speed:360,cost:10,fname:"max",flash:false,with:90,maxC:5, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:1,speed:360,cost:10,fname:"max",flash:false,with:90,maxC:5,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:50}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人" buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:50}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"
}, },
6203: { 6203: {
uuid:6203,name:"大潮汐",for_hero:true,sp_name:"watert",AtkedType:AtkedType.atked,path:"3070",quality:Quality.PURPLE,TType:TType.Frontline, uuid:6203,name:"大潮汐",for_hero:true,sp_name:"watert",AtkedType:AtkedType.atked,path:"3070",quality:QualitySet.ORANGE,TType:TType.Frontline,
TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd, TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,CdType:CdType.power,AType:AType.fixedEnd,EType:EType.animationEnd,
ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:5, ap:100,cd:5,in:0,hit_num:1,hit:1,hited:0.3,speed:720,cost:10,fname:"max",flash:false,with:90,maxC:5,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:50}],info:"召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人" buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:50}],info:"召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"

View File

@@ -1,17 +1,14 @@
import { QualitySet } from "./BoxSet";
import { BuffAttr } from "./SkillSet" import { BuffAttr } from "./SkillSet"
// 天赋品质枚举
export enum TalentQuality {
BLUE = 3, // 蓝色品质
PURPLE = 4, // 紫色品质
}
// 天赋配置接口 // 天赋配置接口
export interface TalentConfig { export interface TalentConfig {
uuid: number; uuid: number;
name: string; name: string;
path: string; path: string;
quality: TalentQuality; quality: QualitySet;
buffType: BuffAttr; buffType: BuffAttr;
value: number; value: number;
info: string; info: string;
@@ -53,36 +50,36 @@ export const TalentSlot = {
// 天赋列表配置 // 天赋列表配置
export const TalentList: { [key: number]: TalentConfig } = { export const TalentList: { [key: number]: TalentConfig } = {
// ==================== 蓝色品质天赋 ==================== // ==================== 蓝色品质天赋 ====================
1001: {uuid:1001,name:"攻击强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.ATK,value:30,info:"攻击力+30%"}, 1001: {uuid:1001,name:"攻击强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.ATK,value:30,info:"攻击力+30%"},
1002: {uuid:1002,name:"暴击强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.CRITICAL,value:15,info:"暴击率+15%"}, 1002: {uuid:1002,name:"暴击强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.CRITICAL,value:15,info:"暴击率+15%"},
1003: {uuid:1003,name:"暴击伤害强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.CRITICAL_DMG,value:30,info:"暴击伤害+30%"}, 1003: {uuid:1003,name:"暴击伤害强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.CRITICAL_DMG,value:30,info:"暴击伤害+30%"},
1004: {uuid:1004,name:"闪避强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.DODGE,value:9,info:"闪避率+9%"}, 1004: {uuid:1004,name:"闪避强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.DODGE,value:9,info:"闪避率+9%"},
1005: {uuid:1005,name:"多重攻击",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.WFUNY,value:20,info:"额外攻击概率+10%"}, 1005: {uuid:1005,name:"多重攻击",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.WFUNY,value:20,info:"额外攻击概率+10%"},
1006: {uuid:1006,name:"生命强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.HP,value:60,info:"生命值+60%"}, 1006: {uuid:1006,name:"生命强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.HP,value:60,info:"生命值+60%"},
1007: {uuid:1007,name:"免伤强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.DEF,value:9,info:"免伤+9%"}, 1007: {uuid:1007,name:"免伤强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.DEF,value:9,info:"免伤+9%"},
1008: {uuid:1008,name:"穿透强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.PUNCTURE,value:1,info:"普通攻击穿透+1"}, 1008: {uuid:1008,name:"穿透强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.PUNCTURE,value:1,info:"普通攻击穿透+1"},
1009: {uuid:1009,name:"攻击加速",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.ATK_CD,value:24,info:"攻击速度+24%"}, 1009: {uuid:1009,name:"攻击加速",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.ATK_CD,value:24,info:"攻击速度+24%"},
1010: {uuid:1010,name:"技能加速",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.SKILL_CD,value:24,info:"技能冷却缩减+24%"}, 1010: {uuid:1010,name:"技能加速",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.SKILL_CD,value:24,info:"技能冷却缩减+24%"},
1011: {uuid:1011,name:"冰冻强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.FROST_RATIO,value:6,info:"冰冻概率+6%"}, 1011: {uuid:1011,name:"冰冻强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.FROST_RATIO,value:6,info:"冰冻概率+6%"},
1012: {uuid:1012,name:"击退强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.KNOCKBACK,value:6,info:"击退概率+6%"}, 1012: {uuid:1012,name:"击退强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.KNOCKBACK,value:6,info:"击退概率+6%"},
1013: {uuid:1013,name:"击晕强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.STUN_RATIO,value:6,info:"击晕概率+6%"}, 1013: {uuid:1013,name:"击晕强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.STUN_RATIO,value:6,info:"击晕概率+6%"},
1014: {uuid:1015,name:"吸血强化",path:"3063",quality:TalentQuality.BLUE,buffType:BuffAttr.LIFESTEAL,value:12,info:"吸血+12%"}, 1014: {uuid:1015,name:"吸血强化",path:"3063",quality:QualitySet.BLUE,buffType:BuffAttr.LIFESTEAL,value:12,info:"吸血+12%"},
// ==================== 紫色品质天赋 ==================== // ==================== 紫色品质天赋 ====================
2001: {uuid:2001,name:"攻击大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.ATK,value:50,info:"攻击力+50%"}, 2001: {uuid:2001,name:"攻击大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.ATK,value:50,info:"攻击力+50%"},
2002: {uuid:2002,name:"暴击大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.CRITICAL,value:25,info:"暴击率+25%"}, 2002: {uuid:2002,name:"暴击大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.CRITICAL,value:25,info:"暴击率+25%"},
2003: {uuid:2003,name:"暴击伤害大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.CRITICAL_DMG,value:50,info:"暴击伤害+50%"}, 2003: {uuid:2003,name:"暴击伤害大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.CRITICAL_DMG,value:50,info:"暴击伤害+50%"},
2004: {uuid:2004,name:"闪避大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.DODGE,value:15,info:"闪避率+15%"}, 2004: {uuid:2004,name:"闪避大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.DODGE,value:15,info:"闪避率+15%"},
2005: {uuid:2005,name:"多重攻击大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.WFUNY,value:30,info:"额外攻击概率+30%"}, 2005: {uuid:2005,name:"多重攻击大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.WFUNY,value:30,info:"额外攻击概率+30%"},
2006: {uuid:2006,name:"生命大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.HP,value:100,info:"生命值+100%"}, 2006: {uuid:2006,name:"生命大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.HP,value:100,info:"生命值+100%"},
2007: {uuid:2007,name:"免伤大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.DEF,value:15,info:"免伤+15%"}, 2007: {uuid:2007,name:"免伤大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.DEF,value:15,info:"免伤+15%"},
2008: {uuid:2008,name:"穿透大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.PUNCTURE,value:1,info:"普通攻击穿透+1"}, 2008: {uuid:2008,name:"穿透大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.PUNCTURE,value:1,info:"普通攻击穿透+1"},
2009: {uuid:2009,name:"攻击加速大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.ATK_CD,value:40,info:"攻击速度+40%"}, 2009: {uuid:2009,name:"攻击加速大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.ATK_CD,value:40,info:"攻击速度+40%"},
2010: {uuid:2010,name:"技能加速大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.SKILL_CD,value:40,info:"技能冷却缩减+40%"}, 2010: {uuid:2010,name:"技能加速大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.SKILL_CD,value:40,info:"技能冷却缩减+40%"},
2011: {uuid:2011,name:"冰冻大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.FROST_RATIO,value:10,info:"冰冻概率+10%"}, 2011: {uuid:2011,name:"冰冻大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.FROST_RATIO,value:10,info:"冰冻概率+10%"},
2012: {uuid:2012,name:"击退大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.KNOCKBACK,value:10,info:"击退概率+10%"}, 2012: {uuid:2012,name:"击退大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.KNOCKBACK,value:10,info:"击退概率+10%"},
2013: {uuid:2013,name:"击晕大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.STUN_RATIO,value:10,info:"击晕概率+10%"}, 2013: {uuid:2013,name:"击晕大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.STUN_RATIO,value:10,info:"击晕概率+10%"},
2014: {uuid:2015,name:"吸血大师",path:"3063",quality:TalentQuality.PURPLE,buffType:BuffAttr.LIFESTEAL,value:20,info:"吸血+20%"}, 2014: {uuid:2015,name:"吸血大师",path:"3063",quality:QualitySet.PURPLE,buffType:BuffAttr.LIFESTEAL,value:20,info:"吸血+20%"},
}; };
// 获取天赋配置 // 获取天赋配置
@@ -91,7 +88,7 @@ export const getTalentConfig = (uuid: number): TalentConfig | null => {
}; };
// 获取指定品质的所有天赋 // 获取指定品质的所有天赋
export const getTalentsByQuality = (quality: TalentQuality): TalentConfig[] => { export const getTalentsByQuality = (quality: QualitySet): TalentConfig[] => {
return Object.values(TalentList).filter(talent => talent.quality === quality); return Object.values(TalentList).filter(talent => talent.quality === quality);
}; };
@@ -102,12 +99,12 @@ export const getTalentsByBuffType = (buffType: BuffAttr): TalentConfig[] => {
// 获取所有蓝色品质天赋 // 获取所有蓝色品质天赋
export const getBlueTalents = (): TalentConfig[] => { export const getBlueTalents = (): TalentConfig[] => {
return getTalentsByQuality(TalentQuality.BLUE); return getTalentsByQuality(QualitySet.BLUE);
}; };
// 获取所有紫色品质天赋 // 获取所有紫色品质天赋
export const getPurpleTalents = (): TalentConfig[] => { export const getPurpleTalents = (): TalentConfig[] => {
return getTalentsByQuality(TalentQuality.PURPLE); return getTalentsByQuality(QualitySet.PURPLE);
}; };
// 天赋流派配置 // 天赋流派配置
@@ -263,7 +260,7 @@ export const TalentSystemConfig = {
blueQualityMultiplier: 0.6, // 蓝色品质为基础值的60%降低40% blueQualityMultiplier: 0.6, // 蓝色品质为基础值的60%降低40%
purpleQualityMultiplier: 1.0, // 紫色品质为基础值(最高品质) purpleQualityMultiplier: 1.0, // 紫色品质为基础值(最高品质)
talentCost: { talentCost: {
[TalentQuality.BLUE]: 1, // 蓝色天赋消耗1点 [QualitySet.BLUE]: 1, // 蓝色天赋消耗1点
[TalentQuality.PURPLE]: 2 // 紫色天赋消耗2点 [QualitySet.PURPLE]: 2 // 紫色天赋消耗2点
} }
}; };

View File

@@ -1,5 +1,5 @@
import { v3 } from "cc" import { v3 } from "cc"
import { FacSet } from "./BoxSet" import { FacSet, QualitySet } from "./BoxSet"
import { smc } from "../SingletonModuleComp" import { smc } from "../SingletonModuleComp"
/** /**
* kind 1:烈焰 2:寒冰 3:自然 4:暗影 5:神圣 * kind 1:烈焰 2:寒冰 3:自然 4:暗影 5:神圣
@@ -75,14 +75,6 @@ export const MonSet = {
7:{pos:v3(560,0,0)}, 7:{pos:v3(560,0,0)},
} }
export const HQuality = {
WHITE:1,
GREEN:2,
BLUE:3,
PURPLE:4,
ORANGE:5,
}
@@ -90,108 +82,108 @@ export const HQuality = {
export const HeroInfo = { export const HeroInfo = {
//主将 //主将
5001:{uuid:5001,name:"火焰骑士",path:"hk1", fac:FacSet.HERO, quality:HQuality.GREEN,lv:1,kind:1, 5001:{uuid:5001,name:"火焰骑士",path:"hk1", fac:FacSet.HERO, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.warrior,hp:100,ap:15,dis:100,cd:1,speed:150,skills:[6001,6001], type:HType.warrior,hp:100,ap:15,dis:100,cd:1,speed:150,skills:[6001,6001],
buff:[],info:"剑类专精,穿刺伤害额外+10%"}, buff:[],info:"剑类专精,穿刺伤害额外+10%"},
5002:{uuid:5002,name:"hk1",path:"hk1", fac:FacSet.HERO, quality:HQuality.BLUE,lv:1,kind:1, 5002:{uuid:5002,name:"hk1",path:"hk1", fac:FacSet.HERO, quality:QualitySet.BLUE,lv:1,kind:1,
type:HType.warrior,hp:100,ap:15,dis:100,cd:1,speed:150,skills:[6001,6001], type:HType.warrior,hp:100,ap:15,dis:100,cd:1,speed:150,skills:[6001,6001],
buff:[],info:"斧类专精,风怒概率增加10%"}, buff:[],info:"斧类专精,风怒概率增加10%"},
// 5003:{uuid:5003,name:"碎颅.赫克托",path:"k4", quality:HQuality.BLUE,lv:1,kind:1, // 5003:{uuid:5003,name:"碎颅.赫克托",path:"k4", quality:QualitySet.BLUE,lv:1,kind:1,
// type:HType.warrior,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6010,6021,6001], // type:HType.warrior,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6010,6021,6001],
// buff:[],info:"锤类专精,暴击概率增加10%"}, // buff:[],info:"锤类专精,暴击概率增加10%"},
// 5004:{uuid:5004,name:"裂伤.塔米拉",path:"k3", quality:HQuality.BLUE,lv:1,kind:1, // 5004:{uuid:5004,name:"裂伤.塔米拉",path:"k3", quality:QualitySet.BLUE,lv:1,kind:1,
// type:HType.warrior,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6010,6021,6001], // type:HType.warrior,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6010,6021,6001],
// buff:[],info:"刀类专精,易伤效果额外持续1次"}, // buff:[],info:"刀类专精,易伤效果额外持续1次"},
5005:{uuid:5005,name:"ha1",path:"ha1", fac:FacSet.HERO, quality:HQuality.BLUE,lv:1,kind:2, 5005:{uuid:5005,name:"ha1",path:"ha1", fac:FacSet.HERO, quality:QualitySet.BLUE,lv:1,kind:2,
type:HType.remote,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6003,6003], type:HType.remote,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6003,6003],
buff:[],info:"说明"}, buff:[],info:"说明"},
5007:{uuid:5007,name:"mh1",path:"hmh1", fac:FacSet.HERO, quality:HQuality.PURPLE,lv:1,kind:2, 5007:{uuid:5007,name:"mh1",path:"hmh1", fac:FacSet.HERO, quality:QualitySet.PURPLE,lv:1,kind:2,
type:HType.mage,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6004], type:HType.mage,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6004],
buff:[],info:"说明"}, buff:[],info:"说明"},
5008:{uuid:5008,name:"mf1",path:"hmf1", fac:FacSet.HERO, quality:HQuality.BLUE,lv:1,kind:2, 5008:{uuid:5008,name:"mf1",path:"hmf1", fac:FacSet.HERO, quality:QualitySet.BLUE,lv:1,kind:2,
type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6005], type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6005],
buff:[],info:"说明"}, buff:[],info:"说明"},
5009:{uuid:5009,name:"风暴精灵",path:"hk1", fac:FacSet.HERO, quality:HQuality.BLUE,lv:1,kind:2, 5009:{uuid:5009,name:"风暴精灵",path:"hk1", fac:FacSet.HERO, quality:QualitySet.BLUE,lv:1,kind:2,
type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6006], type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6006],
buff:[],info:"说明"}, buff:[],info:"说明"},
5010:{uuid:5010,name:"战争祭祀",path:"hk1", fac:FacSet.HERO, quality:HQuality.BLUE,lv:1,kind:2, 5010:{uuid:5010,name:"战争祭祀",path:"hk1", fac:FacSet.HERO, quality:QualitySet.BLUE,lv:1,kind:2,
type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6007], type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6007],
buff:[],info:"说明"}, buff:[],info:"说明"},
5011:{uuid:5011,name:"ha2",path:"ha2", fac:FacSet.HERO, quality:HQuality.BLUE,lv:1,kind:2, 5011:{uuid:5011,name:"ha2",path:"ha2", fac:FacSet.HERO, quality:QualitySet.BLUE,lv:1,kind:2,
type:HType.remote,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6003], type:HType.remote,hp:100,ap:15,dis:400,cd:1,speed:100,skills:[6003],
buff:[],info:"说明"}, buff:[],info:"说明"},
//怪物 //怪物
5201:{uuid:5201,name:"兽人战士",path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5201:{uuid:5201,name:"兽人战士",path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001], type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001],
buff:[],info:"普通怪物-战士型"}, buff:[],info:"普通怪物-战士型"},
5202:{uuid:5202,name:"兽人刺客",path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5202:{uuid:5202,name:"兽人刺客",path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.remote,hp:20,ap:5,dis:350,cd:1,speed:100,skills:[6007], type:HType.remote,hp:20,ap:5,dis:350,cd:1,speed:100,skills:[6007],
buff:[],info:"普通怪物-战士型"}, buff:[],info:"普通怪物-战士型"},
5203:{uuid:5203,name:"兽人护卫",path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5203:{uuid:5203,name:"兽人护卫",path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001], type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001],
buff:[],info:"普通怪物-战士型"}, buff:[],info:"普通怪物-战士型"},
5204:{uuid:5204,name:"石卫", path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5204:{uuid:5204,name:"石卫", path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.mage,hp:18,ap:5,dis:90,cd:2.5,speed:100,skills:[6001], type:HType.mage,hp:18,ap:5,dis:90,cd:2.5,speed:100,skills:[6001],
buff:[],info:"法师怪物-高伤害脆弱"}, buff:[],info:"法师怪物-高伤害脆弱"},
5205:{uuid:5205,name:"土卫", path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5205:{uuid:5205,name:"土卫", path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.mage,hp:18,ap:5,dis:90,cd:2.5,speed:100,skills:[6001], type:HType.mage,hp:18,ap:5,dis:90,cd:2.5,speed:100,skills:[6001],
buff:[],info:"法师怪物-高伤害脆弱"}, buff:[],info:"法师怪物-高伤害脆弱"},
5206:{uuid:5206,name:"树卫", path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5206:{uuid:5206,name:"树卫", path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.mage,hp:18,ap:5,dis:90,cd:2.5,speed:100,skills:[6001], type:HType.mage,hp:18,ap:5,dis:90,cd:2.5,speed:100,skills:[6001],
buff:[],info:"法师怪物-高伤害脆弱"}, buff:[],info:"法师怪物-高伤害脆弱"},
5219:{uuid:5219,name:"牛头战士",path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:2,kind:1, 5219:{uuid:5219,name:"牛头战士",path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:2,kind:1,
type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001], type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001],
buff:[],info:"普通怪物-战士型"}, buff:[],info:"普通怪物-战士型"},
5220:{uuid:5220,name:"牛头战士",path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5220:{uuid:5220,name:"牛头战士",path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001], type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001],
buff:[],info:"普通怪物-战士型"}, buff:[],info:"普通怪物-战士型"},
5221:{uuid:5221,name:"牛头战士",path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5221:{uuid:5221,name:"牛头战士",path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.remote,hp:20,ap:5,dis:350,cd:1.5,speed:100,skills:[6007], type:HType.remote,hp:20,ap:5,dis:350,cd:1.5,speed:100,skills:[6007],
buff:[],info:"普通怪物-战士型"}, buff:[],info:"普通怪物-战士型"},
5222:{uuid:5222,name:"独眼巨人",path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5222:{uuid:5222,name:"独眼巨人",path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001], type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001],
buff:[],info:"普通怪物-战士型"}, buff:[],info:"普通怪物-战士型"},
5223:{uuid:5223,name:"独眼巨人",path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5223:{uuid:5223,name:"独眼巨人",path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001], type:HType.warrior,hp:25,ap:5,dis:90,cd:2,speed:100,skills:[6001],
buff:[],info:"普通怪物-战士型"}, buff:[],info:"普通怪物-战士型"},
5224:{uuid:5224,name:"独眼巨人",path:"mo1", fac:FacSet.MON, quality:HQuality.GREEN,lv:1,kind:1, 5224:{uuid:5224,name:"独眼巨人",path:"mo1", fac:FacSet.MON, quality:QualitySet.GREEN,lv:1,kind:1,
type:HType.remote,hp:20,ap:5,dis:350,cd:1.5,speed:100,skills:[6001], type:HType.remote,hp:20,ap:5,dis:350,cd:1.5,speed:100,skills:[6001],
buff:[],info:"普通怪物-战士型"}, buff:[],info:"普通怪物-战士型"},
5225:{uuid:5225,name:"精英独眼",path:"mo1", fac:FacSet.MON, quality:HQuality.BLUE,lv:1,kind:1, 5225:{uuid:5225,name:"精英独眼",path:"mo1", fac:FacSet.MON, quality:QualitySet.BLUE,lv:1,kind:1,
type:HType.warrior,hp:45,ap:12,dis:300,cd:2,speed:100,skills:[6006], type:HType.warrior,hp:45,ap:12,dis:300,cd:2,speed:100,skills:[6006],
buff:[],info:"精英怪物-战士型"}, buff:[],info:"精英怪物-战士型"},
5226:{uuid:5226,name:"精英牛头",path:"mo1", fac:FacSet.MON, quality:HQuality.BLUE,lv:1,kind:1, 5226:{uuid:5226,name:"精英牛头",path:"mo1", fac:FacSet.MON, quality:QualitySet.BLUE,lv:1,kind:1,
type:HType.warrior,hp:45,ap:12,dis:300,cd:2,speed:100,skills:[6007], type:HType.warrior,hp:45,ap:12,dis:300,cd:2,speed:100,skills:[6007],
buff:[],info:"精英怪物-战士型"}, buff:[],info:"精英怪物-战士型"},
5227:{uuid:5227,name:"精英兽人",path:"mo1", fac:FacSet.MON, quality:HQuality.BLUE,lv:1,kind:1, 5227:{uuid:5227,name:"精英兽人",path:"mo1", fac:FacSet.MON, quality:QualitySet.BLUE,lv:1,kind:1,
type:HType.warrior,hp:45,ap:12,dis:300,cd:2,speed:100,skills:[6005], type:HType.warrior,hp:45,ap:12,dis:300,cd:2,speed:100,skills:[6005],
buff:[],info:"精英怪物-战士型"}, buff:[],info:"精英怪物-战士型"},

View File

@@ -9,11 +9,12 @@ import { HeroModelComp } from "../hero/HeroModelComp";
import { HeroViewComp } from "../hero/HeroViewComp"; import { HeroViewComp } from "../hero/HeroViewComp";
import { smc } from "../common/SingletonModuleComp"; import { smc } from "../common/SingletonModuleComp";
import { HeroSkillList, SkillSet } from "../common/config/SkillSet"; import { HeroSkillList, SkillSet } from "../common/config/SkillSet";
import { cardType, getRandomCardUUID, Quality, SuperCards } from "../common/config/CardSet"; import { cardType, getRandomCardUUID, SuperCards } from "../common/config/CardSet";
import { EquipInfo, EquipType } from "../common/config/Equips"; import { EquipInfo, EquipType } from "../common/config/Equips";
import { FightSet } from "../common/config/Mission"; import { FightSet } from "../common/config/Mission";
import { EnhancementOptions } from "../common/config/LevelUp"; import { EnhancementOptions } from "../common/config/LevelUp";
import { TalentList } from "../common/config/TalentSet"; import { TalentList } from "../common/config/TalentSet";
import { QualitySet } from "../common/config/BoxSet";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@@ -232,7 +233,7 @@ export class CardComp extends CCComp {
show.getChildByName("info").getComponent(Label).string=data.description show.getChildByName("info").getComponent(Label).string=data.description
} }
do_card_bg_show(q:number=Quality.WHITE){ do_card_bg_show(q:number=QualitySet.GREEN){
let show=this.node.getChildByName("show") let show=this.node.getChildByName("show")
show.getChildByName("ap").active=false show.getChildByName("ap").active=false
show.getChildByName("hp").active=false show.getChildByName("hp").active=false
@@ -275,32 +276,30 @@ export class CardComp extends CCComp {
show.getChildByName("mask").getChildByName("func").active=true show.getChildByName("mask").getChildByName("func").active=true
break break
} }
show.getChildByName("q1").active=q==Quality.WHITE show.getChildByName("q2").active=q==QualitySet.GREEN
show.getChildByName("q2").active=q==Quality.GREEN show.getChildByName("q3").active=q==QualitySet.BLUE
show.getChildByName("q3").active=q==Quality.BLUE show.getChildByName("q4").active=q==QualitySet.PURPLE
show.getChildByName("q4").active=q==Quality.PURPLE show.getChildByName("q5").active=q==QualitySet.ORANGE
show.getChildByName("q5").active=q==Quality.ORANGE show.getChildByName("fq2").active=q==QualitySet.GREEN
show.getChildByName("fq1").active=q==Quality.WHITE show.getChildByName("fq3").active=q==QualitySet.BLUE
show.getChildByName("fq2").active=q==Quality.GREEN show.getChildByName("fq4").active=q==QualitySet.PURPLE
show.getChildByName("fq3").active=q==Quality.BLUE show.getChildByName("fq5").active=q==QualitySet.ORANGE
show.getChildByName("fq4").active=q==Quality.PURPLE
show.getChildByName("fq5").active=q==Quality.ORANGE
// this.node.getChildByName("show").getChildByName("coins").active=false // this.node.getChildByName("show").getChildByName("coins").active=false
// this.node.getChildByName("show").getChildByName("coins").getChildByName("num").getComponent(Label).string=this.get_cost_gold(q).toString() // this.node.getChildByName("show").getChildByName("coins").getChildByName("num").getComponent(Label).string=this.get_cost_gold(q).toString()
} }
get_cost_gold(quality:number){ get_cost_gold(quality:number){
switch(quality){ switch(quality){
case Quality.GREEN: case QualitySet.GREEN:
return FightSet.GREEN_GOLD return FightSet.GREEN_GOLD
case Quality.BLUE: case QualitySet.BLUE:
return FightSet.BLUE_GOLD return FightSet.BLUE_GOLD
case Quality.PURPLE: case QualitySet.PURPLE:
return FightSet.PURPLE_GOLD return FightSet.PURPLE_GOLD
case Quality.ORANGE: case QualitySet.ORANGE:
return FightSet.ORANGE_GOLD return FightSet.ORANGE_GOLD
default: default:
return 0 return 0

View File

@@ -7,11 +7,12 @@ import { cardType, getRandomCardsByType } from "../common/config/CardSet";
import { smc } from "../common/SingletonModuleComp"; import { smc } from "../common/SingletonModuleComp";
import { RandomManager } from "db://oops-framework/core/common/random/RandomManager"; import { RandomManager } from "db://oops-framework/core/common/random/RandomManager";
import { EquipType } from "../common/config/Equips"; import { EquipType } from "../common/config/Equips";
import { getSkills, Quality } from "../common/config/SkillSet"; import { getSkills } from "../common/config/SkillSet";
import { getEnhancement } from "../common/config/LevelUp"; import { getEnhancement } from "../common/config/LevelUp";
import { FightSet } from "../common/config/Mission"; import { FightSet } from "../common/config/Mission";
import { oops } from "db://oops-framework/core/Oops"; import { oops } from "db://oops-framework/core/Oops";
import { getHeroList } from "../common/config/heroSet"; import { getHeroList } from "../common/config/heroSet";
import { QualitySet } from "../common/config/BoxSet";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@@ -112,7 +113,7 @@ export class CardsCompComp extends CCComp {
} }
talent_select(data:any){ talent_select(data:any){
let list=getRandomCardsByType(cardType.TALENT,3,Quality.GREEN) let list=getRandomCardsByType(cardType.TALENT,3,QualitySet.GREEN)
console.log("[CardsComp]:天赋选择卡牌列表",list) console.log("[CardsComp]:天赋选择卡牌列表",list)
this.card1c.talent_select(list[0],data) this.card1c.talent_select(list[0],data)
this.card2c.talent_select(list[1],data) this.card2c.talent_select(list[1],data)
@@ -138,11 +139,11 @@ export class CardsCompComp extends CCComp {
hero_skill_select(data:any){ hero_skill_select(data:any){
let list=[] let list=[]
if(data.slot=="skill1"){ if(data.slot=="skill1"){
list =getRandomCardsByType(cardType.SKILL,3,Quality.GREEN) list =getRandomCardsByType(cardType.SKILL,3,QualitySet.GREEN)
}else if(data.slot=="skill2"){ }else if(data.slot=="skill2"){
list=getRandomCardsByType(cardType.SKILL,3,Quality.BLUE) list=getRandomCardsByType(cardType.SKILL,3,QualitySet.BLUE)
}else if(data.slot=="skill3"){ }else if(data.slot=="skill3"){
list=getRandomCardsByType(cardType.SKILL,3,Quality.PURPLE) list=getRandomCardsByType(cardType.SKILL,3,QualitySet.PURPLE)
} }
console.log("[CardsComp]:技能选择卡牌列表",list) console.log("[CardsComp]:技能选择卡牌列表",list)
this.card1c.hero_skill_select(list[0],data) this.card1c.hero_skill_select(list[0],data)

View File

@@ -1,9 +1,9 @@
import { _decorator, Animation, AnimationClip, Component, Label, Node, resources } from 'cc'; import { _decorator, Animation, AnimationClip, Component, Label, Node, resources } from 'cc';
import { HeroInfo, HQuality, HType } from '../common/config/heroSet'; import { HeroInfo, HType } from '../common/config/heroSet';
import { smc } from '../common/SingletonModuleComp'; import { smc } from '../common/SingletonModuleComp';
import { oops } from 'db://oops-framework/core/Oops'; import { oops } from 'db://oops-framework/core/Oops';
import { UIID } from '../common/config/GameUIConfig'; import { UIID } from '../common/config/GameUIConfig';
import { GameSet, HeroConSet } from '../common/config/BoxSet'; import { GameSet, HeroConSet, QualitySet } from '../common/config/BoxSet';
import { HttpReturn } from 'db://oops-framework/libs/network/HttpRequest'; import { HttpReturn } from 'db://oops-framework/libs/network/HttpRequest';
import { GameEvent } from '../common/config/GameEvent'; import { GameEvent } from '../common/config/GameEvent';
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@@ -44,14 +44,14 @@ export class HCardUICom extends Component {
// this.node.getChildByName("slv").getChildByName("lv3").active=smc.heros[uuid].slv>=3 // this.node.getChildByName("slv").getChildByName("lv3").active=smc.heros[uuid].slv>=3
// this.node.getChildByName("slv").getChildByName("lv4").active=smc.heros[uuid].slv>=4 // this.node.getChildByName("slv").getChildByName("lv4").active=smc.heros[uuid].slv>=4
// this.node.getChildByName("slv").getChildByName("lv5").active=smc.heros[uuid].slv>=5 // this.node.getChildByName("slv").getChildByName("lv5").active=smc.heros[uuid].slv>=5
this.node.getChildByName("g").active=hero_data.quality==HQuality.GREEN this.node.getChildByName("g").active=hero_data.quality==QualitySet.GREEN
this.node.getChildByName("gg").active=hero_data.quality==HQuality.GREEN this.node.getChildByName("gg").active=hero_data.quality==QualitySet.GREEN
this.node.getChildByName("b").active=hero_data.quality==HQuality.BLUE this.node.getChildByName("b").active=hero_data.quality==QualitySet.BLUE
this.node.getChildByName("bg").active=hero_data.quality==HQuality.BLUE this.node.getChildByName("bg").active=hero_data.quality==QualitySet.BLUE
this.node.getChildByName("p").active=hero_data.quality==HQuality.PURPLE this.node.getChildByName("p").active=hero_data.quality==QualitySet.PURPLE
this.node.getChildByName("pg").active=hero_data.quality==HQuality.PURPLE this.node.getChildByName("pg").active=hero_data.quality==QualitySet.PURPLE
this.node.getChildByName("y").active=hero_data.quality==HQuality.ORANGE this.node.getChildByName("y").active=hero_data.quality==QualitySet.ORANGE
this.node.getChildByName("yg").active=hero_data.quality==HQuality.ORANGE this.node.getChildByName("yg").active=hero_data.quality==QualitySet.ORANGE
this.node.getChildByName("type").getChildByName("w").active=hero_data.type==HType.warrior this.node.getChildByName("type").getChildByName("w").active=hero_data.type==HType.warrior
this.node.getChildByName("type").getChildByName("r").active=hero_data.type==HType.remote this.node.getChildByName("type").getChildByName("r").active=hero_data.type==HType.remote
this.node.getChildByName("type").getChildByName("m").active=hero_data.type==HType.mage this.node.getChildByName("type").getChildByName("m").active=hero_data.type==HType.mage

View File

@@ -10,6 +10,7 @@ import { HeroViewComp } from "../hero/HeroViewComp";
import { oops } from "db://oops-framework/core/Oops"; import { oops } from "db://oops-framework/core/Oops";
import { HeroPos } from "../common/config/heroSet"; import { HeroPos } from "../common/config/heroSet";
import { FightSet } from "../common/config/Mission"; import { FightSet } from "../common/config/Mission";
import { QualitySet } from "../common/config/BoxSet";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
/** 视图层对象 */ /** 视图层对象 */
@@ -112,7 +113,7 @@ export class MissionHeroCompComp extends CCComp {
this.current_hero_uuid = uuid this.current_hero_uuid = uuid
this.heros[this.current_hero_num].uuid = uuid this.heros[this.current_hero_num].uuid = uuid
this.heros[this.current_hero_num].count = 1 this.heros[this.current_hero_num].count = 1
this.heros[this.current_hero_num].quality = 0 this.heros[this.current_hero_num].quality = QualitySet.GREEN
this.addHero(uuid, false) this.addHero(uuid, false)
} }

View File

@@ -11,8 +11,9 @@
* @date 2025-07-12 * @date 2025-07-12
*/ */
import { QualitySet } from "../common/config/BoxSet";
import { BuffAttr } from "../common/config/SkillSet"; import { BuffAttr } from "../common/config/SkillSet";
import { getMonList, HQuality } from "../common/config/heroSet"; import { getMonList } from "../common/config/heroSet";
/** /**
* 怪物类型枚举 * 怪物类型枚举
@@ -273,13 +274,13 @@ export function generateStageConfig(stageNumber: number, level: number = 1): Mon
export function getMonsterUUIDsByType(monsterType: MonsterType): number[] { export function getMonsterUUIDsByType(monsterType: MonsterType): number[] {
switch (monsterType) { switch (monsterType) {
case MonsterType.NORMAL: case MonsterType.NORMAL:
return getMonList(HQuality.GREEN); // 绿色品质为普通怪物 return getMonList(QualitySet.GREEN); // 绿色品质为普通怪物
case MonsterType.ELITE: case MonsterType.ELITE:
return getMonList(HQuality.BLUE); // 蓝色品质为精英怪物 return getMonList(QualitySet.BLUE); // 蓝色品质为精英怪物
case MonsterType.BOSS: case MonsterType.BOSS:
// 紫色及以上品质为Boss怪物 // 紫色及以上品质为Boss怪物
const purpleMonsters = getMonList(HQuality.PURPLE); const purpleMonsters = getMonList(QualitySet.PURPLE);
const orangeMonsters = getMonList(HQuality.ORANGE); const orangeMonsters = getMonList(QualitySet.ORANGE);
return [...purpleMonsters, ...orangeMonsters]; return [...purpleMonsters, ...orangeMonsters];
default: default:
return []; return [];

View File

@@ -164,12 +164,13 @@ async function addDataField(db, openid, field, amount) {
* 消耗指定字段的数值 * 消耗指定字段的数值
* @param {Object} db 数据库实例 * @param {Object} db 数据库实例
* @param {string} openid 用户openid * @param {string} openid 用户openid
* @param {string} field 字段名 * @param {string|Object[]} field 字段名或字段对象数组 [{field: 字段名, amount: 数量}]
* @param {number} amount 消耗的数量 * @param {number} [amount] 消耗的数量 (当field为字符串时使用)
* @returns {Object} 操作结果 * @returns {Object} 操作结果
*/ */
async function spendDataField(db, openid, field, amount) { async function spendDataField(db, openid, field, amount) {
try { try {
const _ = db.command;
let user = await getOrCreaterUser(db, openid); let user = await getOrCreaterUser(db, openid);
if (!user) { if (!user) {
return { return {
@@ -178,27 +179,97 @@ async function spendDataField(db, openid, field, amount) {
}; };
} }
if (typeof amount !== 'number' || amount < 0) { // 处理单个字段的情况
return { if (typeof field === 'string') {
code: -3, if (typeof amount !== 'number' || amount < 0) {
msg: "数量必须是正数" return {
}; code: -3,
msg: "数量必须是正数"
};
}
const currentValue = user.data[field] || 0;
if (currentValue < amount) {
return {
code: -6,
msg: `${field} 不足, 当前: ${currentValue}, 需要: ${amount}`
};
}
return await addDataField(db, openid, field, -amount);
} }
const currentValue = user.data[field] || 0; // 处理多个字段的情况
if (currentValue < amount) { if (Array.isArray(field)) {
return { const fieldsToSpend = field;
code: -6,
msg: `${field} 不足, 当前: ${currentValue}, 需要: ${amount}` // 验证参数格式
}; for (const item of fieldsToSpend) {
if (!item.field || typeof item.amount !== 'number' || item.amount < 0) {
return {
code: -3,
msg: "字段参数格式错误,需要 {field, amount} 结构且amount必须是正数"
};
}
}
// 检查所有资源是否足够
for (const item of fieldsToSpend) {
const currentValue = user.data[item.field] || 0;
if (currentValue < item.amount) {
return {
code: -6,
msg: `${item.field} 不足, 当前: ${currentValue}, 需要: ${item.amount}`
};
}
}
// 所有资源都足够,开始扣除
const updateData = {};
const changes = [];
for (const item of fieldsToSpend) {
const currentValue = user.data[item.field] || 0;
const newValue = Math.max(0, currentValue - item.amount);
updateData[`data.${item.field}`] = _.set(newValue);
changes.push({
field: item.field,
old_value: currentValue,
new_value: newValue,
change: -item.amount
});
}
// 更新数据库
updateData['last_save_time'] = _.set(Date.now());
let updateRes = await db.collection(user_db_name).doc(user._id).update({
data: updateData
});
if (updateRes?.stats?.updated >= 1) {
return {
code: 200,
data: changes,
msg: "资源消耗成功"
};
} else {
return {
code: -1,
msg: "资源消耗失败"
};
}
} }
return await addDataField(db, openid, field, -amount); return {
code: -3,
msg: "参数格式错误"
};
} catch (error) { } catch (error) {
console.error(`消耗 ${field} 错误:`, error); console.error(`消耗资源错误:`, error);
return { return {
code: -5, code: -5,
msg: `消耗 ${field} 错误: ${error.message}` msg: `消耗资源错误: ${error.message}`
}; };
} }
} }

View File

@@ -314,20 +314,11 @@ async function levelUpHero(db, openid, heroId, exp,gold,levels = 1) {
msg: "等级必须为正数" msg: "等级必须为正数"
}; };
} }
let result=await spendDataField(db, openid, {'exp':exp,'gold':gold});
let exp_result=await spendDataField(db, openid, 'exp', exp); if(result.code!==200){
if(exp_result.code!==200){
return { return {
code: -1, code: -1,
msg: `升级失败,经验不足` msg: `升级失败,${result.msg}`
};
}
let gold_result=await spendDataField(db, openid, 'gold', gold);
if(gold_result.code!==200){
await addDataField(db, openid, 'exp', exp);
return {
code: -1,
msg: `升级失败,金币不足`
}; };
} }
const currentLevel = user.heros[heroId].lv || 1; const currentLevel = user.heros[heroId].lv || 1;

View File

@@ -1,71 +0,0 @@
// 测试装备配置
console.log("=== 剑类武器配置测试 ===");
// 模拟装备数据
const EquipInfo = {
// 等级1 剑类武器
2101: { uuid: 2101, name: "穿刺短剑(Lv1)", quality: 2, info: "攻击力增加50%穿透1个目标" },
2102: { uuid: 2102, name: "寒锋长剑(Lv1)", quality: 3, info: "攻击力增加70%穿透2个目标10%冰冻比率" },
2103: { uuid: 2103, name: "虚空穿心剑(Lv1)", quality: 4, info: "攻击力增加95%穿透3个目标20%冰冻比率" },
// 等级2 剑类武器
2201: { uuid: 2201, name: "穿刺短剑(Lv2)", quality: 2, info: "攻击力增加80%穿透1个目标" },
2202: { uuid: 2202, name: "寒锋长剑(Lv2)", quality: 3, info: "攻击力增加110%穿透2个目标15%冰冻比率" },
2203: { uuid: 2203, name: "虚空穿心剑(Lv2)", quality: 4, info: "攻击力增加140%穿透3个目标25%冰冻比率" },
// 等级3 剑类武器
2301: { uuid: 2301, name: "穿刺短剑(Lv3)", quality: 2, info: "攻击力增加110%穿透1个目标" },
2302: { uuid: 2302, name: "寒锋长剑(Lv3)", quality: 3, info: "攻击力增加150%穿透2个目标20%冰冻比率" },
2303: { uuid: 2303, name: "虚空穿心剑(Lv3)", quality: 4, info: "攻击力增加185%穿透3个目标30%冰冻比率" },
// 等级4 剑类武器
2401: { uuid: 2401, name: "穿刺短剑(Lv4)", quality: 2, info: "攻击力增加140%穿透1个目标" },
2402: { uuid: 2402, name: "寒锋长剑(Lv4)", quality: 3, info: "攻击力增加190%穿透2个目标25%冰冻比率" },
2403: { uuid: 2403, name: "虚空穿心剑(Lv4)", quality: 4, info: "攻击力增加240%穿透3个目标35%冰冻比率" },
// 等级5 剑类武器
2501: { uuid: 2501, name: "穿刺短剑(Lv5)", quality: 2, info: "攻击力增加170%穿透1个目标" },
2502: { uuid: 2502, name: "寒锋长剑(Lv5)", quality: 3, info: "攻击力增加230%穿透2个目标30%冰冻比率" },
2503: { uuid: 2503, name: "虚空穿心剑(Lv5)", quality: 4, info: "攻击力增加290%穿透3个目标40%冰冻比率" },
};
// 测试函数
function testEquipmentConfig() {
console.log("剑类武器总数:", Object.keys(EquipInfo).length);
// 按等级分组显示
for (let level = 1; level <= 5; level++) {
console.log(`\n=== 等级${level} 剑类武器 ===`);
const levelPrefix = level * 100 + 2000;
for (let quality = 1; quality <= 3; quality++) {
const uuid = levelPrefix + quality;
const equip = EquipInfo[uuid];
if (equip) {
const qualityName = quality === 1 ? "绿" : quality === 2 ? "蓝" : "紫";
console.log(`${qualityName}色: ${equip.name} - ${equip.info}`);
}
}
}
// 验证CD修正
console.log("\n=== CD修正验证 ===");
console.log("所有剑类武器CD修正: -20%");
console.log("基准CD: 1.5秒");
console.log("实际CD: 1.5 × (1 - 0.2) = 1.2秒");
// 验证穿刺效果
console.log("\n=== 穿刺效果验证 ===");
console.log("穿刺短剑系列: 穿透1个目标");
console.log("寒锋长剑系列: 穿透2个目标");
console.log("虚空穿心剑系列: 穿透3个目标");
// 验证冰冻比率
console.log("\n=== 冰冻比率验证 ===");
console.log("穿刺短剑系列: 无冰冻效果");
console.log("寒锋长剑系列: 10%-30%冰冻比率");
console.log("虚空穿心剑系列: 20%-40%冰冻比率");
}
// 运行测试
testEquipmentConfig();