From 17f663776ad5ffc02593b4430544eca1fabb52b3 Mon Sep 17 00:00:00 2001 From: zhl Date: Wed, 3 Feb 2021 17:23:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B8=90=E5=8F=B7=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E6=97=B6=E8=8E=B7=E5=8F=96=E7=89=A9=E5=93=81?= =?UTF-8?q?=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/GConfig.ts | 2 ++ src/constants/BaseConst.ts | 2 ++ src/dao/AccountDao.ts | 13 +++++++++++++ 3 files changed, 17 insertions(+) diff --git a/src/common/GConfig.ts b/src/common/GConfig.ts index a4b9179..314ddc1 100644 --- a/src/common/GConfig.ts +++ b/src/common/GConfig.ts @@ -10,10 +10,12 @@ import { ItemFuncCfg } from '../cfg/parsers/ItemFuncCfg' import ItemCtrl from "../logic/ItemCtrl"; import { EffectCardCfg } from '../cfg/parsers/EffectCardCfg' import { IncomeCfg } from '../cfg/parsers/IncomeCfg' +import { BaseCfg } from '../cfg/parsers/BaseCfg' export function initData() { const rP = DataParser.regCommonParser.bind(DataParser); + rP(BaseConst.COMPOUND, BaseCfg) rP(BaseConst.HERO, HeroCfg); rP(BaseConst.UNIT, UnitCfg); rP(BaseConst.EFFECTCARD, EffectCardCfg); diff --git a/src/constants/BaseConst.ts b/src/constants/BaseConst.ts index 23da483..60a5780 100644 --- a/src/constants/BaseConst.ts +++ b/src/constants/BaseConst.ts @@ -56,6 +56,8 @@ export class BaseConst { public static readonly PLAYER2_INIT_NUM = 99028 public static readonly PLAYER3_INIT_NUM = 99029 public static readonly PLAYER4_INIT_NUM = 99030 + // 帐号初始化后赠送的物品 + public static readonly PLAYER_INIT_ITEMS = 99037 diff --git a/src/dao/AccountDao.ts b/src/dao/AccountDao.ts index c0db55d..1cfe4f2 100644 --- a/src/dao/AccountDao.ts +++ b/src/dao/AccountDao.ts @@ -5,6 +5,10 @@ import { updateRank } from '../service/rank' import { Card } from '../models/subdoc/Card' import { Hero } from '../models/subdoc/Hero' import { addHeroDefaultCardGroup } from './CardGroupDao' +import { Base } from '@typegoose/typegoose/lib/defaultClasses' +import { ItemInfo } from '../logic/ItemDef' +import ItemCtrl from '../logic/ItemCtrl' +import { BagItem } from '../models/BagItem' export async function fetchAccount({ accountid, nickname, avatar, robot = false } : { accountid: string, nickname?: string, avatar?: string, robot?: boolean }) { @@ -26,6 +30,15 @@ export async function fetchAccount({ accountid, nickname, avatar, robot = false if (avatar) { account.avatar = avatar } + if (!robot) { + let baseCfg = global.$cfg.get(BaseConst.COMPOUND) + let initItem = baseCfg.get(BaseConst.PLAYER_INIT_ITEMS) + if (initItem) { + const initItemStr = `${initItem.value}:1` + const itemInfos: ItemInfo[] = ItemCtrl.getItemsByInfo(initItemStr) + await BagItem.addItems(account._id, itemInfos) + } + } let cardMap = account.cardMap for (let [, cfg] of global.$cfg.get(BaseConst.EFFECTCARD)) { if (cfg.org_gift == 1 && cfg.type_id == 1 && !cardMap.has(cfg.id + '')) {