数数:消耗来源
This commit is contained in:
@@ -21,8 +21,8 @@ export const WAR_TYPE = {
|
||||
WARLOARDS: 7, // 群雄
|
||||
TOWER: 8, // 天梯
|
||||
PVP: 9, // PVP
|
||||
GUILD_TIMER: 10, // 军团定时副本
|
||||
GUILD_WEEKLY: 11, // 军团周副本
|
||||
GUILD_ACTIVITY: 10, // 军团活动
|
||||
GUILD_TRAIN: 11, // 军团练兵场
|
||||
MAIN_ELITE: 12, // 主线精英
|
||||
MYSTERY_ELITE: 13, // 秘境精英
|
||||
BRANCH: 14, // 支线
|
||||
@@ -30,6 +30,8 @@ export const WAR_TYPE = {
|
||||
ACT_SELF_SHOP: 16, // 糜家商队
|
||||
ACT_DAILY_GK: 17, // 每日关卡活动
|
||||
ACT_NEW_HERO_GK: 18, // 新将演绎活动
|
||||
TRY: 19, // 试用关卡
|
||||
BOSS: 20, // 演武台
|
||||
};
|
||||
|
||||
// 藏宝图掉落参数
|
||||
|
||||
@@ -746,4 +746,142 @@ export enum THINKING_DATA_MODE_LIST {
|
||||
BATCH = 'batch',
|
||||
LOGGING = 'logging',
|
||||
}
|
||||
export let THINKING_DATA_MODE = THINKING_DATA_MODE_LIST.DEBUG;
|
||||
export let THINKING_DATA_MODE = THINKING_DATA_MODE_LIST.DEBUG;
|
||||
|
||||
export enum ITEM_CHANGE_REASON {
|
||||
DEBUG = 0, // debug接口、后台
|
||||
RENAME = 1, // 重命名
|
||||
DEFAULT_ITEMS = 2, // 初始道具
|
||||
COMPOSE_HERO = 3, // 合成武将
|
||||
HERO_LV_UP = 4, // 武将升级
|
||||
HERO_STAR_UP = 5, // 武将升星
|
||||
HERO_QUALITY_UP = 6, // 武将升品
|
||||
HERO_WAKE_UP = 7, // 武将升彩星
|
||||
HERO_JOB_TRAIN = 8, // 武将训练
|
||||
HERO_JOB_STAGEUP = 9, // 武将职业进阶
|
||||
HERO_CONNECT_ACTIVE = 10, // 武将激活羁绊
|
||||
HERO_GIVE_FAVOR = 11, // 武将升名望
|
||||
TITLE_LEVEL_UP = 12, // 升爵位
|
||||
TERAPH_STRENGTHEN = 13, // 神像强化
|
||||
TERAPH_QUALITY_UP = 14, // 神像进阶
|
||||
UNLOCK_SCHOOL_POSITION = 15, // 解锁百家学宫位置
|
||||
EQUIP_STRENTHEN = 16, // 装备强化
|
||||
EQUIP_REFINE = 17, // 装备精炼
|
||||
EQUIP_LOCK_RANDSE = 18, // 装备洗练锁定
|
||||
EQUIP_RESTRENGTHEN = 19, // 装备洗练
|
||||
EQUIP_QUENCH = 20, // 装备淬火
|
||||
EQUIP_DIG_HOLE = 21, // 装备打孔
|
||||
EQUIP_FILL_HOLE = 22, // 装备镶嵌
|
||||
EQUIP_COMPOSE = 23, // 装备合成
|
||||
EQUIP_DEL_RETURN_JEWEL = 24, // 装备合成的时候返回上面镶嵌的宝石
|
||||
EQUIP_DECOMPOSE = 25, // 装备分解
|
||||
EQUIP_PIECE_DECOMPOSE = 26, // 装备碎片分解
|
||||
TAKE_OUT_JEWEL = 27, // 取下装备上的宝石
|
||||
JEWEL_COMPOSE = 28, // 合成宝石
|
||||
BLUEPRT_COMPOSE = 29, // 藏宝图合成
|
||||
BUY_MEAT = 30, // 购买烧肉
|
||||
USE_MEAT = 31, // 使用烧肉
|
||||
USE_GIFT_PACKAGE = 32, // 打开礼包(物品)
|
||||
ADD_SKIN_UNLOCK_FIGURE = 33, // 获得皮肤解锁头像等
|
||||
GET_HERO_UNLOCK_FIGURE = 34, // 获得武将解锁头像等
|
||||
HERO_FAVOR_UNLOCK_FIGURE = 35, // 武将好感解锁头像等
|
||||
PVP_SERIES_UNLOCK_FIGURE = 36, // pvp连胜解锁头像等
|
||||
GACHA_PULL = 37, // 抽卡
|
||||
GACHA_ITEMS = 38, // 抽卡中不是武将的那些道具
|
||||
VISIT_HERO = 39, // 拜访武将获得碎片
|
||||
HERO_TRANSFER_PIECE = 40, // 获得重复的武将转换成的碎片
|
||||
FRIEND_SEND_PRESENT = 41, // 好友间送礼物
|
||||
RECEIVE_FRIEND_HEART = 42, // 领取好友的红心
|
||||
USE_GIFT_CODE = 43, // 礼包码兑换
|
||||
MAIL = 44, // 邮件
|
||||
RANK_REWARD = 45, // 排行榜奖励
|
||||
SHOP_PURCHASE = 46, // 商店购买
|
||||
RECYCLE_SOUL = 47, // 将魂回收
|
||||
TASK_REWARD = 48, // 领取任务奖励
|
||||
TASK_STAGE_REWARD = 49, // 主线任务阶段性奖励
|
||||
COM_BATTLE_REWARD = 50, // 寻宝奖励
|
||||
EVENT_REWARD = 51, // 奇遇领取奖励
|
||||
EXPEDITION_POINT_REWARD = 52, // 过关斩将点数宝箱
|
||||
TOWER_HUNG_UP_REWARD = 53, // 镇念塔挂机奖励
|
||||
TOWER_TASK_REWARD = 54, // 镇念塔任务奖励
|
||||
DAILY_BATTLE_BUY_CNT = 55, // 每日关卡购买次数
|
||||
DUNGEON_BATTLE_BUY_CNT = 56, // 秘境关卡购买次数
|
||||
PVP_BOX_REWARD = 57, // pvp巅峰之路
|
||||
PVP_REFRESH_OPP = 58, // pvp刷新对手
|
||||
PVP_BUY_ATTACK_CNT = 59, // pvp购买更新挑战次数
|
||||
TOWER_HUNG_UP_SDP_UP = 60, // 镇念塔挂机加速消耗
|
||||
COM_BATTLE_USE_BLUEPRT = 61, // 寻宝消耗藏宝图
|
||||
TASK_ACTIVE_REWARD = 62, // 每日任务活跃奖励
|
||||
TASK_BOX_REWARD = 63, // 每日任务每周奖励
|
||||
NORMAL_BATTLE_END = 64, // 主线关卡结算奖励
|
||||
PVP_BATTLE_END = 65, // pvp关卡结算奖励
|
||||
VESTIGE_BATTLE_END = 66, // 遗迹本结算奖励
|
||||
EVENT_BATTLE_END = 67, // 事件本结算奖励
|
||||
DAILY_BATTLE_END = 68, // 每日本结算奖励
|
||||
EXPEDITION_BATTLE_END = 69, // 远征本结算奖励
|
||||
MYSTERY_BATTLE_END = 70, // 秘境本结算奖励
|
||||
WARLOARDS_BATTLE_END = 71, // 群雄结算奖励
|
||||
TOWER_BATTLE_END = 72, // 镇念塔结算奖励
|
||||
MAIN_ELITE_BATTLE_END = 73, // 主线精英结算奖励
|
||||
BRANCH_BATTLE_END = 74, // 支线结算奖励
|
||||
ACT_TREASURE_HUNT_BATTLE_END = 75, // 神州探秘结算奖励
|
||||
ACT_SELF_SHOP_BATTLE_END = 76, // 糜家商队结算奖励
|
||||
ACT_DAILY_GK_BATTLE_END = 77, // 每日关卡活动结算奖励
|
||||
ACT_NEW_HERO_GK_BATTLE_END = 78, // 新将演绎活动结算奖励
|
||||
TRY_BATTLE_END = 79, // 试用关卡结算奖励
|
||||
CREATE_GUILD = 80, // 创建军团
|
||||
GUILD_IMPEACH = 81, // 弹劾团长
|
||||
AUCTION_DIVIDEND = 82, // 拍卖行分红
|
||||
AUCTION_OFFER = 83, // 拍卖出价
|
||||
DONATE = 84, // 捐献奖励
|
||||
DONATE_BOX = 85, // 捐献累计宝箱奖励
|
||||
BOSS_BATTLE_END = 86, // 演武台战场结算奖励
|
||||
GUILD_ACTIVE_REWARD = 87, // 军团活跃到达奖励
|
||||
REFINE_EQUIP = 88, // 炼器堂炼器
|
||||
TRAIN_BATTLE_END = 89, // 练兵场结算奖励
|
||||
TRAIN_BOX_REWARD = 90, // 练兵场宝箱
|
||||
TRAIN_LV_REWARD = 91, // 练兵场试炼等级奖励
|
||||
TRAIN_BATTLE_BUY_CNT = 92, // 军团练兵场购买次数
|
||||
WISH_POOL_DONATE = 93, // 许愿池捐献
|
||||
WISH_POOL_RECEIVE = 94, // 许愿池领取
|
||||
GUILD_BOSS_ENCOURAGE = 95, // 演武台敲鼓
|
||||
ASSIST_REFINE = 96, // 协助点亮科技树
|
||||
CITY_ACT_RESET_CHALLENGE_TIME = 97, // 诸侯混战重置挑战次数
|
||||
MONOPOLY_MOVE = 98, // 活动 大富翁活动移动骰子
|
||||
MONOPOLY_BANK = 99, // 活动 大富翁活动存钱
|
||||
MONOPOLY_BUY_GOODS = 100, // 活动 大富翁商店
|
||||
DAILY_COIN_EXCHANGE = 101, // 活动 每日铜钱活动兑换
|
||||
DAILY_CHALLENGE_REWARD = 102, // 活动 每日挑战活动奖励
|
||||
BUY_DAILY_GIFTS = 103, // 活动 购买每日特惠礼包
|
||||
DAILY_MEAL_RECEIVE_REPAIRE = 104, // 活动 午餐晚餐补领
|
||||
DAILY_MEAL_RECEIVE = 105, // 活动 午餐晚餐
|
||||
DAILY_RMB_GIFT = 106, // 活动 每日特惠礼包
|
||||
FIRST_GIFT = 107, // 活动 首充礼包
|
||||
GROWTH_FUND = 108, // 活动 成长基金奖励
|
||||
GROWTH_REWARD = 109, // 活动 成长任务奖励
|
||||
GROWTH_DAY_EXCHANGE = 110, // 活动 成长任务奖章兑换
|
||||
BUY_LIMIT_PACKAGE = 111, // 活动 购买新手限定礼包
|
||||
NEW_HERO_GACHA_PULL = 112, // 活动 新武将抽卡获得
|
||||
NEW_HERO_EXCHANGE = 113, // 活动 新将好礼兑换点数
|
||||
POP_UP_BUY_GIFT = 114, // 活动 弹出礼包购买
|
||||
RECHARGE_REWARD = 115, // 活动 每日累计充值
|
||||
BUY_REFRESH_SHOP = 116, // 活动 购买通用的刷新商店
|
||||
REFRESH_TASK_REWARD = 117, // 活动 通用刷新任务奖励
|
||||
REFRESH_TASK_EXCHANGE = 118, // 活动 通用刷新任务兑换奖励
|
||||
SELF_SERVICE_SHOP_BUY_RESOURCE = 119, // 活动 糜家商队买代币
|
||||
SELF_SERVICE_SHOP_BUY_GIFT = 120, // 活动 糜家商队商店购买
|
||||
REPAIRE_SIGNIN = 121, // 活动 补签
|
||||
SIGNIN = 122, // 活动 签到
|
||||
THIRTHDAY_TASK = 123, // 活动 30天任务奖励
|
||||
THIRTHDAY_EXCHANGE = 124, // 活动 30天点数兑换
|
||||
TREASURE_HUNT_FIRST_PAGE_REWARD = 125, // 活动 寻宝骑兵 首页奖励
|
||||
TREASURE_HUNT_SHOP_BUY = 126, // 活动 寻宝骑兵商店购买
|
||||
TREASURE_HUNT_TASK_REWARD = 127, // 活动 寻宝骑兵任务奖励
|
||||
TREASURE_HUNT_CHALLENGE = 128, // 活动 寻宝骑兵大冒险
|
||||
TREASURE_HUNT_SP_SHOP_BUY = 129, // 活动 寻宝骑兵天子宝库购买
|
||||
VIP_RECHARGE_MONEY = 130, // 活动 vip累充奖励
|
||||
MONTHLY_TICKET_DAILY = 131, // 活动 月卡每日奖励
|
||||
MONTHLY_TICKET_FIRST = 132, // 活动 月卡首次奖励
|
||||
YUANBAO_SHOP_BUY = 133, // 活动 元宝商店购买
|
||||
GET_HERO_UNLOCK_SKIN = 134, // 获得武将解锁皮肤
|
||||
}
|
||||
@@ -125,9 +125,10 @@ export default class Equip extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
public static async deleteEquips(roleId: string, ids: Array<number>) {
|
||||
let result = await EquipModel.deleteMany({ roleId, seqId: { $in: ids } });
|
||||
let equips = await EquipModel.getEquips(roleId, ids);
|
||||
await EquipModel.deleteMany({ roleId, seqId: { $in: ids } });
|
||||
await RoleModel.findOneAndUpdate({ roleId }, { $inc: { equipCount: -1 * ids.length } }, { new: true });
|
||||
return result;
|
||||
return equips;
|
||||
}
|
||||
|
||||
public static async getEquipsByID(ids: Array<string>) {
|
||||
|
||||
@@ -66,9 +66,9 @@ export default class Item extends BaseModel {
|
||||
if (!!rec) {
|
||||
let index = findIndex(result,{id})
|
||||
if (!!result[index]) {
|
||||
result[index] = { id: rec.id, count: rec.count }
|
||||
result[index] = { id: rec.id, count: rec.count, inc: -count }
|
||||
} else {
|
||||
result.push({ id: rec.id, count: rec.count });
|
||||
result.push({ id: rec.id, count: rec.count, inc: -count });
|
||||
}
|
||||
updateItems.push({ id, count, ratio });
|
||||
} else {
|
||||
|
||||
@@ -222,6 +222,10 @@ export class Figure {
|
||||
unlockedId?: number[]; // 当前已经解锁了的type
|
||||
@prop({ required: true, default: false })
|
||||
unlocked: boolean = false; // 是否已解锁
|
||||
|
||||
// 埋点用
|
||||
inc?: number;
|
||||
reason?: number;
|
||||
|
||||
public get status () { // 虚拟字段status,当前头像是否已经解锁
|
||||
if(!this.unlocked) return this.unlocked; // 未解锁
|
||||
|
||||
@@ -4,7 +4,7 @@ import { HeroModel, HeroType, } from '../db/Hero';
|
||||
import { ItemModel } from '../db/Item';
|
||||
import { EquipModel, RandSe, Holes, RandMain, equipUpdate } from './../db/Equip';
|
||||
import { gameData, getQuenchByQualityAndGrade, getQuenchGradeByValue } from './data';
|
||||
import { RANDOM_SE_COUNT, ITID, CURRENCY_BY_TYPE, CURRENCY_TYPE, ROLE_SELECT, FIGURE_UNLOCK_CONDITION, CONSUME_TYPE, HERO_SYSTEM_TYPE, TASK_TYPE } from '../consts';
|
||||
import { RANDOM_SE_COUNT, ITID, CURRENCY_BY_TYPE, CURRENCY_TYPE, ROLE_SELECT, FIGURE_UNLOCK_CONDITION, CONSUME_TYPE, HERO_SYSTEM_TYPE, TASK_TYPE, ITEM_CHANGE_REASON } from '../consts';
|
||||
import { getRandValueByMinMax, getRandEelm } from './util';
|
||||
|
||||
import { findWhere } from 'underscore';
|
||||
@@ -61,26 +61,26 @@ export async function addSkin(roleId: string, roleName: string, skinId: number,
|
||||
}
|
||||
}
|
||||
|
||||
export async function addBags(roleId: string, roleName: string, datas: { id: number, count: number }[]) {
|
||||
export async function addBags(roleId: string, roleName: string, datas: { id: number, count: number }[], reason: number) {
|
||||
let items: { id: number, count: number }[] = [];
|
||||
for(let data of datas) {
|
||||
let item = await addBag(roleId, roleName, data);
|
||||
let item = await addBag(roleId, roleName, data, reason);
|
||||
items.push(item)
|
||||
}
|
||||
return { items }
|
||||
}
|
||||
|
||||
export async function addBag(roleId: string, roleName: string, data: { id: number, count: number }) {
|
||||
export async function addBag(roleId: string, roleName: string, data: { id: number, count: number }, reason: number) {
|
||||
let { id, count } = data;
|
||||
let { name: itemName, itid, hid } = gameData.goods.get(id);
|
||||
let { type } = ITID.get(itid);
|
||||
|
||||
let item = await ItemModel.increaseItem(roleId, id, count, { roleId, roleName, itemName, id, type, hid });
|
||||
return { id: item.id, count: item.count };
|
||||
return { id: item.id, count: item.count, inc: count, reason };
|
||||
}
|
||||
|
||||
|
||||
export async function addEquips(roleId: string, roleName: string, weapons: { id: number, hid?: number }[]) {
|
||||
export async function addEquips(roleId: string, roleName: string, weapons: { id: number, hid?: number }[], reason: number) {
|
||||
let equipInfos: equipUpdate[] = [];
|
||||
for(let weapon of weapons) {
|
||||
let info = await getAddEquipInfo(roleId, roleName, weapon);
|
||||
@@ -95,7 +95,9 @@ export async function addEquips(roleId: string, roleName: string, weapons: { id:
|
||||
pushMessages = [...pushMessages, ...pushMessage];
|
||||
}
|
||||
|
||||
return { equips, pushMessages }
|
||||
return { equips: equips.map(equip => {
|
||||
return { ...equip, inc: 1, reason }
|
||||
}), pushMessages }
|
||||
}
|
||||
|
||||
export async function getAddEquipInfo(roleId: string, roleName: string, weapon: { id: number, hid?: number }) {
|
||||
@@ -197,20 +199,26 @@ export function getHonourObject(count: number) {
|
||||
for (let { type, paramHid, paramFavourLv, paramSkinId, paramWinStreakNum } of conditions) {
|
||||
let canUnLockList = gameData.figureCondition.get(type);
|
||||
if (canUnLockList) {
|
||||
let reason = 0;
|
||||
|
||||
for (let { id, params, gid } of canUnLockList) {
|
||||
let flag = false; // 是否达成条件
|
||||
if (type == FIGURE_UNLOCK_CONDITION.GET_HERO) {
|
||||
let [hid] = params;
|
||||
if (paramHid == hid) flag = true;
|
||||
reason = ITEM_CHANGE_REASON.GET_HERO_UNLOCK_FIGURE;
|
||||
} else if (type == FIGURE_UNLOCK_CONDITION.HERO_FAVOR) {
|
||||
let [hid, favourLv] = params;
|
||||
if (paramHid == hid && paramFavourLv >= favourLv) flag = true;
|
||||
reason = ITEM_CHANGE_REASON.HERO_FAVOR_UNLOCK_FIGURE;
|
||||
} else if (type == FIGURE_UNLOCK_CONDITION.GET_SKIN) {
|
||||
let [id] = params;
|
||||
if (paramSkinId == id) flag = true;
|
||||
reason = ITEM_CHANGE_REASON.ADD_SKIN_UNLOCK_FIGURE;
|
||||
} else if (type == FIGURE_UNLOCK_CONDITION.PVP_WIN_SERIES) {
|
||||
let [winStreakNum] = params;
|
||||
if (paramWinStreakNum >= winStreakNum) flag = true;
|
||||
reason = ITEM_CHANGE_REASON.PVP_SERIES_UNLOCK_FIGURE;
|
||||
}
|
||||
if (!flag) continue;
|
||||
let dicGood = gameData.goods.get(gid);
|
||||
@@ -219,13 +227,13 @@ export function getHonourObject(count: number) {
|
||||
if (!dicItid) continue;
|
||||
|
||||
if (dicItid.type == CONSUME_TYPE.HEAD) {
|
||||
let figure = unlockSingleFigure(heads, gid, false, id);
|
||||
let figure = unlockSingleFigure(heads, gid, reason, false, id);
|
||||
if (figure && figure.unlocked) figureInfo.heads.push(figure);
|
||||
} else if (dicItid.type == CONSUME_TYPE.FRAME) {
|
||||
let figure = unlockSingleFigure(frames, gid, false, id);
|
||||
let figure = unlockSingleFigure(frames, gid, reason, false, id);
|
||||
if (figure && figure.unlocked) figureInfo.frames.push(figure);
|
||||
} else if (dicItid.type == CONSUME_TYPE.SPINE) {
|
||||
let figure = unlockSingleFigure(spines, gid, false, id);
|
||||
let figure = unlockSingleFigure(spines, gid, reason, false, id);
|
||||
if (figure && figure.unlocked) figureInfo.spines.push(figure);
|
||||
} else {
|
||||
continue;
|
||||
@@ -255,7 +263,7 @@ export async function unlockFigure(roleId: string, conditions: { type: number, p
|
||||
|
||||
|
||||
// 直接获得形象/相框
|
||||
export async function addFigure(roleId: string, ids: number[]) {
|
||||
export async function addFigure(roleId: string, ids: number[], reason: number) {
|
||||
let role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_HEADS);
|
||||
|
||||
if (!role) return false;
|
||||
@@ -269,13 +277,13 @@ export async function addFigure(roleId: string, ids: number[]) {
|
||||
if (!dicItid) continue;
|
||||
|
||||
if (dicItid.type == CONSUME_TYPE.HEAD) {
|
||||
let figure = unlockSingleFigure(heads, gid, true);
|
||||
let figure = unlockSingleFigure(heads, gid, reason, true);
|
||||
if (figure && figure.unlocked) figureInfo.heads.push(figure);
|
||||
} else if (dicItid.type == CONSUME_TYPE.FRAME) {
|
||||
let figure = unlockSingleFigure(frames, gid, true);
|
||||
let figure = unlockSingleFigure(frames, gid, reason, true);
|
||||
if (figure && figure.unlocked) figureInfo.frames.push(figure);
|
||||
} else if (dicItid.type == CONSUME_TYPE.SPINE) {
|
||||
let figure = unlockSingleFigure(spines, gid, true);
|
||||
let figure = unlockSingleFigure(spines, gid, reason, true);
|
||||
if (figure && figure.unlocked) figureInfo.spines.push(figure);
|
||||
} else {
|
||||
continue;
|
||||
@@ -293,7 +301,7 @@ export async function addFigure(roleId: string, ids: number[]) {
|
||||
* @param unlockDirect 是否不计算解锁条件直接解锁
|
||||
* @param conditionId 条件id
|
||||
*/
|
||||
function unlockSingleFigure(dbFigures: Figure[], id: number, unlockDirect = false, conditionId?: number) {
|
||||
function unlockSingleFigure(dbFigures: Figure[], id: number, reason: number, unlockDirect = false, conditionId?: number) {
|
||||
let figure = dbFigures.find(cur => cur.id == id);
|
||||
if (!figure) {
|
||||
figure = new Figure(id, false);
|
||||
@@ -325,6 +333,8 @@ function unlockSingleFigure(dbFigures: Figure[], id: number, unlockDirect = fals
|
||||
}
|
||||
}
|
||||
|
||||
figure.inc = 1;
|
||||
figure.reason = reason;
|
||||
return figure
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { DEFAULT_HERO_LV, FIGURE_UNLOCK_CONDITION, LINEUP_NUM, REDIS_KEY, STATUS, TASK_TYPE } from "../consts";
|
||||
import { DEFAULT_HERO_LV, FIGURE_UNLOCK_CONDITION, ITEM_CHANGE_REASON, LINEUP_NUM, REDIS_KEY, STATUS, TASK_TYPE } from "../consts";
|
||||
import { SkinModel } from "../db/Skin";
|
||||
import { DEFAULT_HEROES, HERO_SYSTEM_TYPE } from "../consts";
|
||||
import { HeroModel, HeroSkin, HeroType, HeroUpdate } from "../db/Hero";
|
||||
@@ -261,12 +261,13 @@ export class CreateHeroes extends UpdateHeroes {
|
||||
private taskPushMessage: TaskListReturn[] = [];
|
||||
private activityTaskPushMessage = [];
|
||||
private figureInfos: { heads: Figure[], frames: Figure[], spines: Figure[] }[] = [];
|
||||
private skinPushMessages: { heros: {skins: HeroSkin[], hid: number}[], skins: {id: number, hid: number }[]} = { heros: [], skins: [] };
|
||||
private skinPushMessages: { heros: {skins: HeroSkin[], hid: number}[], skins: {id: number, hid: number, inc: number, reason: number }[]} = { heros: [], skins: [] };
|
||||
|
||||
private async getSkinsOfThisHero(hid: number, initSkinInfo: SkinUpdate, isInit: boolean) {
|
||||
let allSkins = isInit? []: await SkinModel.findbyRoleAndHid(this.roleId, hid);
|
||||
let skin = await SkinModel.insertSkins(this.roleId, this.roleName, [initSkinInfo]);
|
||||
this.skinPushMessages.skins.push(...skin);
|
||||
let skinInfos = skin.map(cur => ({ id: cur.id, hid, inc: 1, reason: ITEM_CHANGE_REASON.GET_HERO_UNLOCK_SKIN}))
|
||||
this.skinPushMessages.skins.push(...skinInfos);
|
||||
if(skin) allSkins.push(...skin);
|
||||
let skins: { id: number, skin: string, enable: boolean, skinId: number }[] = [];
|
||||
for(let skin of allSkins) {
|
||||
|
||||
@@ -5,7 +5,7 @@ import { HeroModel, HeroType } from '../db/Hero';
|
||||
const csprng = require('csprng');
|
||||
import fs = require('fs');
|
||||
import path = require('path');
|
||||
import { HERO_CE_RATIO, ABI_STAGE, GACHA_TO_FLOOR, REFRESH_TIME, ROBOT_SYS_TYPE, } from '../consts';
|
||||
import { HERO_CE_RATIO, ABI_STAGE, GACHA_TO_FLOOR, REFRESH_TIME, ROBOT_SYS_TYPE, ITEM_CHANGE_REASON, WAR_TYPE } from '../consts';
|
||||
|
||||
import { findIndex } from 'underscore';
|
||||
import { getTimeFunM } from './timeUtil';
|
||||
@@ -679,4 +679,51 @@ export async function checkWhiteList(tel: string, ip: string, auth: number) {
|
||||
if(!!result) return true;
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
export function getReasonByWarType(warType: number) {
|
||||
switch(warType) {
|
||||
case WAR_TYPE.NORMAL:
|
||||
return ITEM_CHANGE_REASON.NORMAL_BATTLE_END;
|
||||
case WAR_TYPE.VESTIGE:
|
||||
return ITEM_CHANGE_REASON.VESTIGE_BATTLE_END;
|
||||
case WAR_TYPE.EVENT:
|
||||
return ITEM_CHANGE_REASON.EVENT_BATTLE_END;
|
||||
case WAR_TYPE.DAILY:
|
||||
return ITEM_CHANGE_REASON.DAILY_BATTLE_END;
|
||||
case WAR_TYPE.EXPEDITION:
|
||||
return ITEM_CHANGE_REASON.EXPEDITION_BATTLE_END;
|
||||
case WAR_TYPE.MYSTERY:
|
||||
return ITEM_CHANGE_REASON.MYSTERY_BATTLE_END;
|
||||
case WAR_TYPE.WARLOARDS:
|
||||
return ITEM_CHANGE_REASON.WARLOARDS_BATTLE_END;
|
||||
case WAR_TYPE.TOWER:
|
||||
return ITEM_CHANGE_REASON.TOWER_BATTLE_END;
|
||||
case WAR_TYPE.PVP:
|
||||
return ITEM_CHANGE_REASON.PVP_BATTLE_END;
|
||||
// case WAR_TYPE.GUILD_ACTIVITY:
|
||||
// return ITEM_CHANGE_REASON.GUILD_ACTIVITY_BATTLE_END;
|
||||
case WAR_TYPE.GUILD_TRAIN:
|
||||
return ITEM_CHANGE_REASON.TRAIN_BATTLE_END;
|
||||
case WAR_TYPE.MAIN_ELITE:
|
||||
return ITEM_CHANGE_REASON.MAIN_ELITE_BATTLE_END;
|
||||
// case WAR_TYPE.MYSTERY_ELITE:
|
||||
// return ITEM_CHANGE_REASON.MYSTERY_ELITE_BATTLE_END;
|
||||
case WAR_TYPE.BRANCH:
|
||||
return ITEM_CHANGE_REASON.BRANCH_BATTLE_END;
|
||||
case WAR_TYPE.ACT_TREASURE_HUNT:
|
||||
return ITEM_CHANGE_REASON.ACT_TREASURE_HUNT_BATTLE_END;
|
||||
case WAR_TYPE.ACT_SELF_SHOP:
|
||||
return ITEM_CHANGE_REASON.ACT_SELF_SHOP_BATTLE_END;
|
||||
case WAR_TYPE.ACT_DAILY_GK:
|
||||
return ITEM_CHANGE_REASON.ACT_DAILY_GK_BATTLE_END;
|
||||
case WAR_TYPE.ACT_NEW_HERO_GK:
|
||||
return ITEM_CHANGE_REASON.ACT_NEW_HERO_GK_BATTLE_END;
|
||||
case WAR_TYPE.TRY:
|
||||
return ITEM_CHANGE_REASON.TRY_BATTLE_END;
|
||||
case WAR_TYPE.BOSS:
|
||||
return ITEM_CHANGE_REASON.BOSS_BATTLE_END;
|
||||
default:
|
||||
return ITEM_CHANGE_REASON.NORMAL_BATTLE_END;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user