新武将活动:修改字段以及ur武将处理

This commit is contained in:
luying
2022-10-12 10:35:14 +08:00
parent eccd9f0051
commit 9f5771e923
16 changed files with 79 additions and 69 deletions
@@ -119,10 +119,9 @@ export class GachaHandler {
const roleId: string = session.get('roleId');
for (let { hid } of hope) {
let dicHero = gameData.hero.get(hid);
if (hid != 0) {
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
if (hid != 0 && dicHero.quality != HERO_QUALITY_TYPE.GOLD) {
let dicRecruit = gameData.recruit.get(hid);
if (!dicRecruit || !dicRecruit.canHope) {
return resResult(STATUS.GACHA_HOPE_NOT_GOLD);
}
}
@@ -274,8 +273,8 @@ export class GachaHandler {
let dicHero = gameData.hero.get(hid);
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let index = gameData.recruit.findIndex(cur => cur.actorId == hid);
if (index == -1) return resResult(STATUS.GACHA_CAN_NOT_PICK);
let dicRecruit = gameData.recruit.get(hid);
if (!dicRecruit || !dicRecruit.canVisit) return resResult(STATUS.GACHA_CAN_NOT_PICK);
let { pieceId } = dicHero;
let gachaId = getNormalGachaId();
@@ -52,7 +52,7 @@ export class HeroHandler {
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
let dicHero = gameData.hero.get(hid);
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let { pieceId, quality, pieceCount } = dicHero;
let { pieceId, pieceCount } = dicHero;
// 碎片数量是否足够
let costResult = await handleCost(roleId, sid, [{ id: pieceId, count: pieceCount }], ITEM_CHANGE_REASON.COMPOSE_HERO);
if (!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
@@ -587,7 +587,7 @@ export class HeroHandler {
let dicJob = getJobByGradeAndClass(dicHero.jobClass, 0);
let newSkins = initSkinTalent(skins);
let dicHeroScroll = getScollByStar(dicHero.quality, dicHero.initialStars, dicHero.quality, 0);
let dicHeroScroll = getScollByStar(dicHero.quality, dicHero.initialStar, dicHero.quality, dicHero.initialColorStar);
let initInfo = HeroModel.getInitInfo(hid, {
job: dicJob.jobid, skins: newSkins, skinId, ce,
scrollActive: scrollActive,
@@ -741,7 +741,7 @@ export class HeroHandler {
await RoleModel.updateRoleInfo(roleId, { jewelCount: 0 });
let heroInfos = [];
for(let { actorId } of gameData.recruit) {
for(let [actorId] of gameData.recruit) {
let dicHero = gameData.hero.get(actorId);
if(!dicHero) continue;
let { jobid, grade } = gameData.jobClassMaxGrades.get(dicHero.jobClass);
@@ -302,9 +302,9 @@ export class RoleHandler {
};
if (!scrollActive) { // 初次激活
update.scrollActive = true;
update.scrollStar = dicHero.initialStars;
update.scrollStar = dicHero.initialStar;
update.scrollQuality = dicHero.quality;
update.scrollColorStar = 0;
update.scrollColorStar = dicHero.initialColorStar;
} else {
if (star > scrollStar) { // 可以升星
update.scrollStar++;