天晶:添加稀有属性
This commit is contained in:
@@ -374,6 +374,9 @@ export class CalCe {
|
||||
seids.push(seid, rand);
|
||||
}
|
||||
}
|
||||
for(let { seid, rand } of jewel.rareSe) {
|
||||
seids.push(seid, rand);
|
||||
}
|
||||
}
|
||||
let { ratioUp } = this.addSeidEffect(seids);
|
||||
let map = new Map<number, number>(); // attrId => val
|
||||
|
||||
@@ -397,16 +397,20 @@ export async function addJewels(roleId: string, roleName: string, jewels: { id:
|
||||
|
||||
export async function getAddJewelInfo(roleId: string, roleName: string, jewel: { id: number, }) {
|
||||
let { id, } = jewel;
|
||||
let { name, randomEffect, effectCount } = gameData.jewel.get(id);
|
||||
let { name, randomEffect, effectCount, rareEffect } = gameData.jewel.get(id);
|
||||
|
||||
// 随机属性
|
||||
let randomResult: number[] = getRandEelm(randomEffect, effectCount);
|
||||
let rareResult: number[] = getRandEelm(rareEffect, 1);
|
||||
|
||||
let randSe: Array<RandSe> = randomResult.map((id: number, index: number) => {
|
||||
return getJewelRandSe(index + 1, id);
|
||||
});
|
||||
let rareSe: Array<RandSe> = rareResult.map((id: number, index: number) => {
|
||||
return getJewelRandSe(index + 1, id);
|
||||
});
|
||||
|
||||
return { roleId, roleName, id, name, randSe };
|
||||
return { roleId, roleName, id, name, randSe, rareSe };
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,13 +8,22 @@ import { CounterModel } from './Counter';
|
||||
import { COUNTER } from '../consts';
|
||||
import { HeroModel } from './Hero';
|
||||
|
||||
export class RandSe {
|
||||
export class JewelSe {
|
||||
@prop({ required: true })
|
||||
id: number; // 随机属性位置id
|
||||
@prop({ required: true })
|
||||
seid: number; // 随机属性池id
|
||||
@prop({ required: true })
|
||||
rand: number; // 随机属性内需要随机的值
|
||||
|
||||
constructor(id: number, seid: number, rand: number) {
|
||||
this.id = id;
|
||||
this.seid = seid;
|
||||
this.rand = rand;
|
||||
}
|
||||
}
|
||||
|
||||
export class RandSe extends JewelSe {
|
||||
@prop({ required: true })
|
||||
preRand?: number; // 淬炼失败的是随机出的值
|
||||
@prop({ required: true })
|
||||
@@ -24,13 +33,6 @@ export class RandSe {
|
||||
quenched: boolean = false; // 是否淬炼了
|
||||
@prop({ required: false, default: 0 })
|
||||
quenchCnt: number = 0; // 淬炼次数
|
||||
|
||||
constructor(id: number, seid: number, rand: number) {
|
||||
this.id = id;
|
||||
this.seid = seid;
|
||||
this.rand = rand;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@index({ roleId: 1, hid: 1, id: 1 })
|
||||
@@ -54,6 +56,8 @@ export default class Jewel extends BaseModel {
|
||||
@prop({ required: false, default: 0 })
|
||||
ePlaceId: number; // 武将装备的部位
|
||||
|
||||
@prop({ required: false, type: JewelSe, default: [], _id: false })
|
||||
rareSe: JewelSe[]; // 强化随机属性
|
||||
@prop({ required: false, type: RandSe, default: [], _id: false })
|
||||
randSe: RandSe[]; // 强化随机属性
|
||||
@prop({ required: false, type: RandSe, default: [], _id: false })
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
import { Connect, EPlace, HeroSkin, HeroType, HeroUpdate, Talent } from '../../db/Hero';
|
||||
import { JewelType, RandSe } from '../../db/Jewel';
|
||||
import { JewelSe, JewelType, RandSe } from '../../db/Jewel';
|
||||
import { gameData } from '../../pubUtils/data';
|
||||
export interface CreateHeroParam extends HeroUpdate {
|
||||
hid: number;
|
||||
@@ -104,6 +104,7 @@ export class JewelParam {
|
||||
ePlaceId: number; // 装备在哪个位置
|
||||
|
||||
randSe: RandSe[];
|
||||
rareSe: JewelSe[];
|
||||
count: number;
|
||||
inc: number;
|
||||
reason: number;
|
||||
@@ -115,6 +116,7 @@ export class JewelParam {
|
||||
this.hid = jewel.hid;
|
||||
this.ePlaceId = jewel.ePlaceId;
|
||||
this.randSe = jewel.randSe;
|
||||
this.rareSe = jewel.rareSe;
|
||||
if(isPush) {
|
||||
this.count = 1;
|
||||
this.inc = 1;
|
||||
|
||||
@@ -20,6 +20,8 @@ export interface DicJewel {
|
||||
readonly effectCount: number;
|
||||
// 套装效果
|
||||
readonly randomEffect: number[];
|
||||
// 稀有属性
|
||||
readonly rareEffect: number[];
|
||||
// 对应藏宝图id
|
||||
readonly mapGoodId: number;
|
||||
// 淬炼消耗
|
||||
@@ -40,6 +42,7 @@ export function loadJewel() {
|
||||
|
||||
arr.forEach(o => {
|
||||
o.randomEffect = parseNumberList(o.randomEffect);
|
||||
o.rareEffect = parseNumberList(o.rareEffect);
|
||||
o.quenchConsume = parseGoodStr(o.quenchConsume);
|
||||
o.inheritConsume = parseGoodStr(o.inheritConsume);
|
||||
dicJewel.set(o.good_id, o);
|
||||
|
||||
Reference in New Issue
Block a user