属性:fix

This commit is contained in:
luying
2021-03-04 15:33:27 +08:00
parent ee3dcc4610
commit 95deef6230
7 changed files with 40 additions and 10 deletions
@@ -154,7 +154,7 @@ export class RoleHandler {
return resResult(STATUS.DIC_DATA_NOT_FOUND) return resResult(STATUS.DIC_DATA_NOT_FOUND)
for(let [attrId, val] of teraph.attr) { for(let [attrId, val] of teraph.attr) {
if (teraph.attr.get(attrId) != teraphInfo.mainAttrMax.get(attrId)) if (val < teraphInfo.mainAttrMax.get(attrId))
return resResult(STATUS.ROLE_TERAPH_NOT_QUILITY); return resResult(STATUS.ROLE_TERAPH_NOT_QUILITY);
teraph.attr.set(attrId, 0); teraph.attr.set(attrId, 0);
@@ -171,7 +171,7 @@ export class RoleHandler {
if (!result) if (!result)
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH); return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
role = await calAllHeroCe(HERO_SYSTEM_TYPE.TERAPH_UP, sid, roleId, { teraphs }); role = await calAllHeroCe(HERO_SYSTEM_TYPE.TERAPH_UP, sid, roleId, { teraphs }, [id]);
return resResult(STATUS.SUCCESS, { roleId, teraphs: role.teraphs }); return resResult(STATUS.SUCCESS, { roleId, teraphs: role.teraphs });
} }
@@ -301,7 +301,7 @@ export class RoleHandler {
let { hid } = msg; let { hid } = msg;
let curHero = await HeroModel.findByHidAndRole(hid, roleId, 'star colorStar quality scrollId scrollActive scrollStar scrollColorStar scrollQuality favour favourLv'); let curHero = await HeroModel.findByHidAndRole(hid, roleId, 'hid star colorStar quality scrollId scrollActive scrollStar scrollColorStar scrollQuality favour favourLv connections attr ce');
if (!curHero) return resResult(STATUS.HERO_NOT_FIND); if (!curHero) return resResult(STATUS.HERO_NOT_FIND);
let dicHero = gameData.hero.get(hid); let dicHero = gameData.hero.get(hid);
+1 -1
View File
@@ -13,7 +13,7 @@ import { RoleUpdate } from '../db/Role';
//修改并下发战力 //修改并下发战力
export async function calPlayerCeAndSave(type: number, sid: string, roleId: string, originHero: HeroType, update: HeroUpdate, args?: Array<number>) { export async function calPlayerCeAndSave(type: number, sid: string, roleId: string, originHero: HeroType, update: HeroUpdate, args?: Array<number>) {
let {role, pushHeros, topLineupCe, hero} = await pubCalPlayerCeAndSave(type, roleId, originHero, update, null, args); let {role, pushHeros, topLineupCe, hero} = await pubCalPlayerCeAndSave(type, roleId, originHero, update, args);
console.log(JSON.stringify(pushHeros)) console.log(JSON.stringify(pushHeros))
//下发战力 //下发战力
let uids = [{ uid: roleId, sid }]; let uids = [{ uid: roleId, sid }];
+2 -2
View File
@@ -21,9 +21,9 @@ module.exports = {
"message Hero": { "message Hero": {
'required uInt32 hid': 1, 'required uInt32 hid': 1,
'required uInt32 ce': 2, 'required uInt32 ce': 2,
'required uInt32 incHeroCe': 3, 'required sInt32 incHeroCe': 3,
}, },
'required uInt32 ce': 1, 'required sInt32 ce': 1,
'repeated Hero heros': 2, 'repeated Hero heros': 2,
'required uInt32 topLineupCe': 3 'required uInt32 topLineupCe': 3
}, },
+16 -1
View File
@@ -1,11 +1,26 @@
import BaseModel from './BaseModel'; import BaseModel from './BaseModel';
import { CeAttrData } from '../domain/roleField/attribute';
import { index, getModelForClass, prop, Ref, mongoose, DocumentType } from '@typegoose/typegoose'; import { index, getModelForClass, prop, Ref, mongoose, DocumentType } from '@typegoose/typegoose';
import Equip, { } from './Equip'; import Equip, { } from './Equip';
import { CounterModel } from './Counter'; import { CounterModel } from './Counter';
import { COUNTER, EQUIP_TYPE } from '../consts'; import { COUNTER, EQUIP_TYPE } from '../consts';
import { reduceCe } from '../pubUtils/util'; import { reduceCe } from '../pubUtils/util';
class CeAttrData {
@prop({ required: true })
id: number = 0;
@prop({ required: true })
base: number = 0;
@prop({ required: true })
ratioUp: number = 0;
@prop({ required: true })
fixUp: number = 0;
@prop({ required: true })
equipUp: number = 0;
constructor(id: number) {
this.id = id;
}
}
/** /**
* 英雄表 * 英雄表
+14 -1
View File
@@ -1,6 +1,5 @@
import { HANG_UP_CONSTS, ROLE_TERAPH, ROLE_SELECT, ABI_TYPE } from './../consts'; import { HANG_UP_CONSTS, ROLE_TERAPH, ROLE_SELECT, ABI_TYPE } from './../consts';
import BaseModel from './BaseModel'; import BaseModel from './BaseModel';
import { CeAttrDataRole } from '../domain/roleField/attribute';
import { index, getModelForClass, prop, DocumentType, Ref, mongoose } from '@typegoose/typegoose'; import { index, getModelForClass, prop, DocumentType, Ref, mongoose } from '@typegoose/typegoose';
import User from './User'; import User from './User';
import { shouldRefresh, reduceCe } from '../pubUtils/util'; import { shouldRefresh, reduceCe } from '../pubUtils/util';
@@ -8,6 +7,20 @@ import { initRoleAtrr } from '../pubUtils/playerCe';
import Hero,{} from '../db/Hero'; import Hero,{} from '../db/Hero';
import { nowSeconds } from '../pubUtils/timeUtil'; import { nowSeconds } from '../pubUtils/timeUtil';
// role表属性格式
export class CeAttrDataRole {
@prop({ required: true })
id: number = 0;
@prop({ required: true })
ratioUp: number = 0;
@prop({ required: true })
fixUp: number = 0;
constructor(id: number) {
this.id = id;
}
}
class TopHero { class TopHero {
@prop({ required: true }) @prop({ required: true })
hid: number; // 武将id hid: number; // 武将id
+2
View File
@@ -73,6 +73,7 @@ function parseMainAttrMax(elem) {
result.set(ABI_TYPE.ABI_ATK, elem.atkMax); result.set(ABI_TYPE.ABI_ATK, elem.atkMax);
result.set(ABI_TYPE.ABI_DEF, elem.defMax); result.set(ABI_TYPE.ABI_DEF, elem.defMax);
result.set(ABI_TYPE.ABI_MDEF, elem.mdefMax); result.set(ABI_TYPE.ABI_MDEF, elem.mdefMax);
return result
} }
function parseMainAttrUp(elem) { function parseMainAttrUp(elem) {
@@ -81,4 +82,5 @@ function parseMainAttrUp(elem) {
result.set(ABI_TYPE.ABI_ATK, elem.atkUp); result.set(ABI_TYPE.ABI_ATK, elem.atkUp);
result.set(ABI_TYPE.ABI_DEF, elem.defUp); result.set(ABI_TYPE.ABI_DEF, elem.defUp);
result.set(ABI_TYPE.ABI_MDEF, elem.mdefUp); result.set(ABI_TYPE.ABI_MDEF, elem.mdefUp);
return result
} }
+2 -2
View File
@@ -21,8 +21,8 @@ import { GuildModel } from '../db/Guild';
import { DicJob } from './dictionary/DicJob'; import { DicJob } from './dictionary/DicJob';
// 修改并下发战力 // 修改并下发战力
export async function calPlayerCeAndSave(type: number, roleId: string, originHero: HeroType, update: HeroUpdate, role?: RoleType, args?: Array<number>) { export async function calPlayerCeAndSave(type: number, roleId: string, originHero: HeroType, update: HeroUpdate, args?: Array<number>) {
if(!role) role = await RoleModel.findByRoleId(roleId); let role = await RoleModel.findByRoleId(roleId);
let { attr: roleAttrs = [] } = role; let { attr: roleAttrs = [] } = role;