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 + '')) {