Explorar el Código

项目代码清理

cyzhao hace 1 año
padre
commit
8c17921718
Se han modificado 45 ficheros con 2172 adiciones y 5299 borrados
  1. BIN
      DevOps/flscfg/Client.bytes
  2. 28 0
      DevOps/flscfg/Log/log.txt
  3. 156 0
      DevOps/flscfg/codegen/cs/GameConfigData.cs
  4. 563 0
      DevOps/flscfg/codegen/cs/globalsettings.cs
  5. 41 0
      DevOps/flscfg/codegen/cs/sm_activity_day7.cs
  6. 51 0
      DevOps/flscfg/codegen/cs/sm_activity_levelgift.cs
  7. 51 0
      DevOps/flscfg/codegen/cs/sm_activity_tiligift.cs
  8. 36 0
      DevOps/flscfg/codegen/cs/sm_clientVersionHistory.cs
  9. 41 0
      DevOps/flscfg/codegen/cs/sm_errmsg.cs
  10. 41 0
      DevOps/flscfg/codegen/cs/sm_localtexts.cs
  11. 41 0
      DevOps/flscfg/codegen/cs/sm_service_schedule.cs
  12. 71 0
      DevOps/flscfg/codegen/cs/sm_task.cs
  13. 156 0
      DevOps/flscfg/codegen/cs/sm_task_step.cs
  14. 56 0
      DevOps/flscfg/codegen/cs/sm_token_PublicGift.cs
  15. 246 0
      DevOps/flscfg/sqlback/jzhj2023_cfg20230706085721.sql
  16. 246 0
      DevOps/flscfg/sqlback/jzhj2023_cfg20230706085821.sql
  17. 246 0
      DevOps/flscfg/sqlback/jzhj2023_cfg20230706085827.sql
  18. 2 1
      Gameserver/App/base/CmdCode.php
  19. 5 122
      Gameserver/App/base/MemKey_User.php
  20. 29 1869
      Gameserver/App/configs/GameConfig.php
  21. 20 108
      Gameserver/App/model/User/Data_UserGame.php
  22. 0 81
      Gameserver/App/model/User/Data_UserProfile.php
  23. 0 26
      Gameserver/App/model/User/Enum_EventActionType.php
  24. 0 132
      Gameserver/App/model/User/Enum_EventType.php
  25. 0 37
      Gameserver/App/model/User/Enum_PropelType.php
  26. 0 79
      Gameserver/App/model/User/Enum_Recharge.php
  27. 0 36
      Gameserver/App/model/User/Enum_TaskCardStateType.php
  28. 0 63
      Gameserver/App/model/User/Enum_TaskCmdType.php
  29. 0 15
      Gameserver/App/model/User/Info_NewbieGuide.php
  30. 0 34
      Gameserver/App/model/User/Info_Pay.php
  31. 0 257
      Gameserver/App/model/User/Info_PrivateState.php
  32. 0 175
      Gameserver/App/model/User/Info_Store.php
  33. 43 144
      Gameserver/App/model/User/Info_UserBase.php
  34. 0 215
      Gameserver/App/model/User/Info_UserTask.php
  35. 0 123
      Gameserver/App/model/User/Ins_Email.php
  36. 0 37
      Gameserver/App/model/User/Ins_Gift.php
  37. 0 101
      Gameserver/App/model/User/Ins_TaskCard.php
  38. 0 44
      Gameserver/App/model/User/Ins_TaskEventArgs.php
  39. 0 71
      Gameserver/App/model/User/Ins_TaskInfo.php
  40. 0 31
      Gameserver/App/model/User/Ins_TaskParams.php
  41. 0 354
      Gameserver/App/model/User/Ins_TaskStep.php
  42. 0 574
      Gameserver/App/model/User/Ins_UserHero.php
  43. 3 13
      Gameserver/App/process/UserProc.php
  44. 0 360
      Gameserver/App/service_call/InquireApi/TaskDeal.php
  45. 0 197
      Gameserver/App/service_call/InquireApi/weaponlevelDeal.php

BIN
DevOps/flscfg/Client.bytes


+ 28 - 0
DevOps/flscfg/Log/log.txt

@@ -0,0 +1,28 @@
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-globalsettings success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-task success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-service_schedule success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-task_step success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-sysmail success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-clientVersionHistory success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-zonelist success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-errmsg success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-token_PublicGift success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-activity_day7 success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-activity_tiligift success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-activity_levelgift success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-client success
+[2023-07-06 08:58:21] [info] gamecfg-999.999.999-ver success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-globalsettings success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-task success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-service_schedule success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-task_step success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-sysmail success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-clientVersionHistory success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-zonelist success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-errmsg success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-token_PublicGift success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-activity_day7 success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-activity_tiligift success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-activity_levelgift success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-ver success
+[2023-07-06 08:58:26] [info] gamecfg-999.999.999-client success

+ 156 - 0
DevOps/flscfg/codegen/cs/GameConfigData.cs

@@ -0,0 +1,156 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-07-06 08:58:26
+////////////////////
+
+using System;
+using System.Collections.Generic;
+
+public partial class GameConfigData   
+{
+     /// <summary>
+    /// 指示这是一个模块属性
+    /// </summary>
+    partial class sm_modPropAttribute : Attribute
+    {
+    }
+
+    /// <summary>
+    /// 全局参数
+    /// </summary>
+    [sm_modProp]
+    public globalsettings globalsettings => _globalsettings ??= data.TryGetValue("globalsettings", out var jtk) ? jtk.ToObject<globalsettings>() : default;
+    private globalsettings _globalsettings = null;
+
+
+    /// <summary>
+    /// 任务 key(typeId)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<Int32, sm_task> task => _task ??= data.TryGetValue("task", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_task>>() : default;
+    private Dictionary<Int32, sm_task> _task = null;
+
+
+    /// <summary>
+    /// 任务
+    /// </summary>
+    public Func<Int32, sm_task> GettaskMo = key => _moGetById<Int32, sm_task>(key, Ins.task, "task");
+    /// <summary>
+    /// 国际化文本 key(tid)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<String, sm_localtexts> localtexts => _localtexts ??= data.TryGetValue("localtexts", out var jtk) ? jtk.ToObject<Dictionary<String, sm_localtexts>>() : default;
+    private Dictionary<String, sm_localtexts> _localtexts = null;
+
+
+    /// <summary>
+    /// 国际化文本
+    /// </summary>
+    public Func<String, sm_localtexts> GetlocaltextsMo = key => _moGetById<String, sm_localtexts>(key, Ins.localtexts, "localtexts");
+    /// <summary>
+    /// 停服计划 key(id)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<Int32, sm_service_schedule> service_schedule => _service_schedule ??= data.TryGetValue("service_schedule", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_service_schedule>>() : default;
+    private Dictionary<Int32, sm_service_schedule> _service_schedule = null;
+
+
+    /// <summary>
+    /// 停服计划
+    /// </summary>
+    public Func<Int32, sm_service_schedule> Getservice_scheduleMo = key => _moGetById<Int32, sm_service_schedule>(key, Ins.service_schedule, "service_schedule");
+    /// <summary>
+    /// 任务步骤 key(id)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<Int32, sm_task_step> task_step => _task_step ??= data.TryGetValue("task_step", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_task_step>>() : default;
+    private Dictionary<Int32, sm_task_step> _task_step = null;
+
+
+    /// <summary>
+    /// 任务步骤
+    /// </summary>
+    public Func<Int32, sm_task_step> Gettask_stepMo = key => _moGetById<Int32, sm_task_step>(key, Ins.task_step, "task_step");
+    /// <summary>
+    /// 客户端版本信息 key(ver)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<String, sm_clientVersionHistory> clientVersionHistory => _clientVersionHistory ??= data.TryGetValue("clientVersionHistory", out var jtk) ? jtk.ToObject<Dictionary<String, sm_clientVersionHistory>>() : default;
+    private Dictionary<String, sm_clientVersionHistory> _clientVersionHistory = null;
+
+
+    /// <summary>
+    /// 客户端版本信息
+    /// </summary>
+    public Func<String, sm_clientVersionHistory> GetclientVersionHistoryMo = key => _moGetById<String, sm_clientVersionHistory>(key, Ins.clientVersionHistory, "clientVersionHistory");
+    /// <summary>
+    /// 错误信息表 key(no)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<Int32, sm_errmsg> errmsg => _errmsg ??= data.TryGetValue("errmsg", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_errmsg>>() : default;
+    private Dictionary<Int32, sm_errmsg> _errmsg = null;
+
+
+    /// <summary>
+    /// 错误信息表
+    /// </summary>
+    public Func<Int32, sm_errmsg> GeterrmsgMo = key => _moGetById<Int32, sm_errmsg>(key, Ins.errmsg, "errmsg");
+    /// <summary>
+    /// 活动: 七日签到 key(day)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<Int32, sm_activity_day7> activity_day7 => _activity_day7 ??= data.TryGetValue("activity_day7", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_activity_day7>>() : default;
+    private Dictionary<Int32, sm_activity_day7> _activity_day7 = null;
+
+
+    /// <summary>
+    /// 活动: 七日签到
+    /// </summary>
+    public Func<Int32, sm_activity_day7> Getactivity_day7Mo = key => _moGetById<Int32, sm_activity_day7>(key, Ins.activity_day7, "activity_day7");
+    /// <summary>
+    /// 公共兑换码 key(tokenCode)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<String, sm_token_PublicGift> token_PublicGift => _token_PublicGift ??= data.TryGetValue("token_PublicGift", out var jtk) ? jtk.ToObject<Dictionary<String, sm_token_PublicGift>>() : default;
+    private Dictionary<String, sm_token_PublicGift> _token_PublicGift = null;
+
+
+    /// <summary>
+    /// 公共兑换码
+    /// </summary>
+    public Func<String, sm_token_PublicGift> Gettoken_PublicGiftMo = key => _moGetById<String, sm_token_PublicGift>(key, Ins.token_PublicGift, "token_PublicGift");
+    /// <summary>
+    /// 活动: 体力加油站 key(id)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<Int32, sm_activity_tiligift> activity_tiligift => _activity_tiligift ??= data.TryGetValue("activity_tiligift", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_activity_tiligift>>() : default;
+    private Dictionary<Int32, sm_activity_tiligift> _activity_tiligift = null;
+
+
+    /// <summary>
+    /// 活动: 体力加油站
+    /// </summary>
+    public Func<Int32, sm_activity_tiligift> Getactivity_tiligiftMo = key => _moGetById<Int32, sm_activity_tiligift>(key, Ins.activity_tiligift, "activity_tiligift");
+    /// <summary>
+    /// 活动: 等级礼包 key(id)
+    /// </summary>
+    [sm_modProp]
+    public Dictionary<Int32, sm_activity_levelgift> activity_levelgift => _activity_levelgift ??= data.TryGetValue("activity_levelgift", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_activity_levelgift>>() : default;
+    private Dictionary<Int32, sm_activity_levelgift> _activity_levelgift = null;
+
+
+    /// <summary>
+    /// 活动: 等级礼包
+    /// </summary>
+    public Func<Int32, sm_activity_levelgift> Getactivity_levelgiftMo = key => _moGetById<Int32, sm_activity_levelgift>(key, Ins.activity_levelgift, "activity_levelgift");
+    /// <summary>
+    /// 当前版本(时间戳)
+    /// </summary>
+    [sm_modProp]
+    public String ver => _ver ??= data.TryGetValue("ver", out var jtk) ? jtk.ToObject<String>() : default;
+    private String _ver = null;
+
+}
+

+ 563 - 0
DevOps/flscfg/codegen/cs/globalsettings.cs

@@ -0,0 +1,563 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 18:04:50
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle globalsettings 全局参数
+/// </summary>
+sealed public partial class globalsettings
+{
+
+    /// <summary>
+    /// demo 
+    /// </summary>
+    public Object key { get; set; }
+
+    /// <summary>
+    /// 某战斗开启的玩家等级限制 
+    /// </summary>
+    public Object Fight_OpenLevelLimit { get; set; }
+
+    /// <summary>
+    /// 英雄升级_消耗卡牌的卡槽,最大数量 
+    /// </summary>
+    public Object Hero_Upgrade_MaxCostHeroCardNum { get; set; }
+
+    /// <summary>
+    /// 七日大奖要求完成的任务点数 
+    /// </summary>
+    public Object day7_dianshu { get; set; }
+
+    /// <summary>
+    /// 七日最终奖励 
+    /// </summary>
+    public Object day7_reward { get; set; }
+
+    /// <summary>
+    /// 装备经验=吞噬经验X系数+初始值 
+    /// </summary>
+    public Object shengxing_xishu { get; set; }
+
+    /// <summary>
+    /// 升级成为高1等级的宝石需要的数量 
+    /// </summary>
+    public Object baoshi_shengjishu { get; set; }
+
+    /// <summary>
+    /// 游戏内玩家账号的最高等级限制 
+    /// </summary>
+    public Object Game_MaxPlayerLevel { get; set; }
+
+    /// <summary>
+    /// 战斗内攻击时间间隔(毫秒) 
+    /// </summary>
+    public Object Fight_AttackTime { get; set; }
+
+    /// <summary>
+    /// 英雄升级_当前卡提供的基础经验值 
+    /// </summary>
+    public Object Hero_Upgrade_BasicEXP { get; set; }
+
+    /// <summary>
+    /// 英雄升级_当前卡的累计经验值,折扣系数 
+    /// </summary>
+    public Object Hero_Upgrade_EXP_XiShu { get; set; }
+
+    /// <summary>
+    /// 英雄升级_获得经验与消耗金币之间的系数 
+    /// </summary>
+    public Object Hero_Upgrade_ExpConverGold { get; set; }
+
+    /// <summary>
+    /// 英雄升级——英雄能达到的最大等级 
+    /// </summary>
+    public Object Hero_Upgrade_BasicMaxLevel { get; set; }
+
+    /// <summary>
+    /// 英雄升星——最大星级 
+    /// </summary>
+    public Object Hero_Star_MaxStarLevel { get; set; }
+
+    /// <summary>
+    /// 英雄升星——升星消耗的道具种类 (  金元素) 
+    /// </summary>
+    public Object Hero_Star_CostItem_1 { get; set; }
+
+    /// <summary>
+    /// 英雄升星——升星消耗的道具种类 (  木元素) 
+    /// </summary>
+    public Object Hero_Star_CostItem_2 { get; set; }
+
+    /// <summary>
+    /// 英雄升星——升星消耗的道具种类 (  水元素) 
+    /// </summary>
+    public Object Hero_Star_CostItem_3 { get; set; }
+
+    /// <summary>
+    /// 强化5,10级时,当前属性乘以一次系数 
+    /// </summary>
+    public Object item_qianghua { get; set; }
+
+    /// <summary>
+    /// 英雄升星——升星消耗的道具种类 (  火元素) 
+    /// </summary>
+    public Object Hero_Star_CostItem_4 { get; set; }
+
+    /// <summary>
+    /// 英雄升星——升星消耗的道具种类 (  土元素) 
+    /// </summary>
+    public Object Hero_Star_CostItem_5 { get; set; }
+
+    /// <summary>
+    /// 英雄装备_每个卡槽的开放要求好感度 
+    /// </summary>
+    public Object Hero_Equip_SlotOpenConditions_Favor { get; set; }
+
+    /// <summary>
+    /// 英雄分解——不同的星星数量分解转换的晶石数量 
+    /// </summary>
+    public Object Hero_Separate_StarConvertToSpar { get; set; }
+
+    /// <summary>
+    /// 英雄分解—— 消耗卡牌的卡槽,最大数量 
+    /// </summary>
+    public Object Hero_Separate_MaxCostHeroCardNum { get; set; }
+
+    /// <summary>
+    /// 英雄升星——消耗英雄的卡槽,最大数量 
+    /// </summary>
+    public Object Hero_Star_MaxCostHeroCardNum { get; set; }
+
+    /// <summary>
+    /// 英雄升阶——最大等阶 
+    /// </summary>
+    public Object Hero_Stength_MaxStrengthLevel { get; set; }
+
+    /// <summary>
+    /// 游戏账号内_默认,收集的英雄数量上限 
+    /// </summary>
+    public Object Game_CollectHero_BasicMaxCount { get; set; }
+
+    /// <summary>
+    /// 游戏账号内_收集的英雄数量上限_每次购买数目 
+    /// </summary>
+    public Object Game_CollectHero_OneBuyLimtNum { get; set; }
+
+    /// <summary>
+    /// 战斗_每个页面上存在的关卡的数量(删) 
+    /// </summary>
+    public Object Battle_GateNumOnePage { get; set; }
+
+    /// <summary>
+    /// 默认背包最大数量 
+    /// </summary>
+    public Object Item_Packet_MaxNum { get; set; }
+
+    /// <summary>
+    /// 每开10个格子需要消耗的钻石价格 
+    /// </summary>
+    public Object Item_Packet_NumCostCash { get; set; }
+
+    /// <summary>
+    /// 英雄评论区一个赞的排行权重(秒), 3600秒
+    /// Ps. 暂行公式: score = ts + praise * weight
+    ///   按照score 从大到小排序. 
+    /// </summary>
+    public Object Hero_Discuss_Praise_weight { get; set; }
+
+    /// <summary>
+    /// 战前消耗金币购买buff 
+    /// </summary>
+    public Object Battle_CostGoldBuyBuff { get; set; }
+
+    /// <summary>
+    /// 战斗计算的 格属性比重系数(李宁) 
+    /// </summary>
+    public Object Battle_PowerFactor { get; set; }
+
+    /// <summary>
+    /// 单场战斗总时间, 单位毫秒 
+    /// </summary>
+    public Object Battle_BattleShowTime { get; set; }
+
+    /// <summary>
+    /// 战斗队伍最大人数(千万别改) 
+    /// </summary>
+    public Object Battle_BattleTeamMaxFighter { get; set; }
+
+    /// <summary>
+    /// 己方释放技能恢复己方团队能量值 
+    /// </summary>
+    public Object Battle_IncreasePowerByCastSkill { get; set; }
+
+    /// <summary>
+    /// 己方连击能量值上限(数值满足时,可以进行连击) 
+    /// </summary>
+    public Object Battle_BlueTeamMaxPower { get; set; }
+
+    /// <summary>
+    /// 神秘商城, 刷新时间间隔(单位: 秒) 
+    /// </summary>
+    public Object secretshop_refresh_interval { get; set; }
+
+    /// <summary>
+    /// 物品栏购买栏位梯度价格 
+    /// </summary>
+    public Object Item_Packet_MaxNumPrice { get; set; }
+
+    /// <summary>
+    /// 游戏账号内_收集的英雄数量上限_英雄栏购买栏位梯度价格 
+    /// </summary>
+    public Object Game_CollectHero_BasicMaxPrice { get; set; }
+
+    /// <summary>
+    /// 无穷无尽关卡——每天的挑战次数总上限 
+    /// </summary>
+    public Object Battle_Forever_MaxCountEveryDay { get; set; }
+
+    /// <summary>
+    /// 玩家发送一条系统消息消(当前分区)耗钻石数量 
+    /// </summary>
+    public Object SystemMessage_UserSendToMyZone_Cos { get; set; }
+
+    /// <summary>
+    /// 系统消息 - 对英雄升星进行系统广播的最低星级限制 
+    /// </summary>
+    public Object SystemMessage_HeroStar_Limit_Min { get; set; }
+
+    /// <summary>
+    /// 系统消息 - 对英雄升阶进行系统广播的最低等阶限制 
+    /// </summary>
+    public Object SystemMessage_HeroStage_Limit_Min { get; set; }
+
+    /// <summary>
+    /// 系统消息 - 对装备强化进行系统广播的最低等级限制 
+    /// </summary>
+    public Object SystemMessage_WeaponLevel_Limit_Min { get; set; }
+
+    /// <summary>
+    /// 新手引导中抽奖的掉落 
+    /// </summary>
+    public Object choujiang_guide_items { get; set; }
+
+    /// <summary>
+    /// 神秘商城最单个物品大购买次数 
+    /// </summary>
+    public Object secretshop_itembuy_maxtimes { get; set; }
+
+    /// <summary>
+    /// 宝箱开启里大R充值判断条件 
+    /// </summary>
+    public Object bigRPay_Condition { get; set; }
+
+    /// <summary>
+    /// 宝箱开启里大R当日抽奖次数判断条件 
+    /// </summary>
+    public Object bigROpenBoxTimesDayliy_Condition { get; set; }
+
+    /// <summary>
+    /// 修改昵称消耗的钻石,0代表不消耗 
+    /// </summary>
+    public Object User_SetNickname_Cost { get; set; }
+
+    /// <summary>
+    /// 新手引导中发放所需碎片(cardid,numb;cardid,num...) 
+    /// </summary>
+    public Object User_SetNewbieGuideCards { get; set; }
+
+    /// <summary>
+    /// 系统设定: 操作日志保存天数 
+    /// </summary>
+    public Object syscfg_oplog_keepdays { get; set; }
+
+    /// <summary>
+    /// 装备属性升级的参数 
+    /// </summary>
+    public Object Equip_Upgrade_Property { get; set; }
+
+    /// <summary>
+    /// 神秘商城最大刷新次数 
+    /// </summary>
+    public Object secretshop_refresh_maxtimes { get; set; }
+
+    /// <summary>
+    /// 己方连击(倒计时)时间 
+    /// </summary>
+    public Object Battle_BlueCriticalTime { get; set; }
+
+    /// <summary>
+    /// 连击伤害概率(x/100) 
+    /// </summary>
+    public Object Battle_BattleLianJiDamageRate { get; set; }
+
+    /// <summary>
+    /// 竞技商店 - 刷新花费(钻石) 
+    /// </summary>
+    public Object PVP_shop_refresh_cash { get; set; }
+
+    /// <summary>
+    /// 竞技商店 - 免费刷新间隔 
+    /// </summary>
+    public Object PVP_shop_refresh_interval { get; set; }
+
+    /// <summary>
+    /// 碎片融合时需要花费的金币 
+    /// </summary>
+    public Object Compose_Pieces_Gold { get; set; }
+
+    /// <summary>
+    /// 首充活动礼包的商品ID 
+    /// </summary>
+    public Object FirstPay_ItemId { get; set; }
+
+    /// <summary>
+    /// 赠送体力的时间段(24小时的数字无前导0, 逗号分隔) 
+    /// </summary>
+    public Object activity_presentTili_times { get; set; }
+
+    /// <summary>
+    /// 每次赠送体力的数量 
+    /// </summary>
+    public Object activity_presentTili_number { get; set; }
+
+    /// <summary>
+    /// 竞技场-挑战票价格(钻石) 
+    /// </summary>
+    public Object PVP_pk_ticket_price { get; set; }
+
+    /// <summary>
+    /// 【废弃】当前客户端版本号 
+    /// </summary>
+    public Object clientVer { get; set; }
+
+    /// <summary>
+    /// 支付模块是否开放 
+    /// </summary>
+    public Object Game_Pay_Open { get; set; }
+
+    /// <summary>
+    /// 更新开始时间戳 
+    /// </summary>
+    public Object updatingBeginTs { get; set; }
+
+    /// <summary>
+    /// 更新结束时间戳 
+    /// </summary>
+    public Object updatingEndTs { get; set; }
+
+    /// <summary>
+    /// 开宝箱的公共冷却值(热保护值) 
+    /// </summary>
+    public Object Box_Total_CoolDown { get; set; }
+
+    /// <summary>
+    /// 免cd开各种宝箱所花费的钻石数。 
+    /// </summary>
+    public Object Box_NoCoolDown_Cash { get; set; }
+
+    /// <summary>
+    /// 任务卡商城 - 手动刷新消耗钻石数量  
+    /// </summary>
+    public Object TaskCardShop_Refresh_Cash { get; set; }
+
+    /// <summary>
+    /// 任务卡商城 - 自动刷新间隔(秒) 
+    /// </summary>
+    public Object TaskCardShop_Refresh_TS { get; set; }
+
+    /// <summary>
+    /// 新手祈愿奖池 限定次数上限  
+    /// </summary>
+    public Object UserWishNumLimit { get; set; }
+
+    /// <summary>
+    /// 武器等级最大值 
+    /// </summary>
+    public Object Weapon_Upgrade_BasicMaxLevel { get; set; }
+
+    /// <summary>
+    /// 系统额定增加,比如每次加价10钻石 
+    /// </summary>
+    public Object AuctionAddPrice { get; set; }
+
+    /// <summary>
+    /// 竞拍结束时间 
+    /// </summary>
+    public Object AuctionEndTs { get; set; }
+
+    /// <summary>
+    ///  
+    /// </summary>
+    public Object IdeaBackActive { get; set; }
+
+    /// <summary>
+    /// 描述信息 
+    /// </summary>
+    public Object firstRechargePrizes { get; set; }
+
+    /// <summary>
+    ///  
+    /// </summary>
+    public Object BugBackActive { get; set; }
+
+    /// <summary>
+    /// 首次充值金额达到指定值 
+    /// </summary>
+    public Object firstRechargeRMB { get; set; }
+
+    /// <summary>
+    /// 活动祈愿保底必出UR唤灵师次数设置 
+    /// </summary>
+    public Object Active_UR_Num { get; set; }
+
+    /// <summary>
+    /// 新手引导中发放所需经验卡(id,num;id,num...) 
+    /// </summary>
+    public Object User_SetNewbieGuideExps { get; set; }
+
+    /// <summary>
+    /// 游戏聊天功能——是否开放 1开放0 关闭 
+    /// </summary>
+    public Object Game_ChatIsOpen { get; set; }
+
+    /// <summary>
+    /// 游戏引导功能——是否开放 1开放0 关闭 
+    /// </summary>
+    public Object Game_Guide_IsOpen { get; set; }
+
+    /// <summary>
+    /// 己方(释放技能)共用总能量条(按时间增长) 
+    /// </summary>
+    public Object Battle_BlueTeamMaxSkillPower { get; set; }
+
+    /// <summary>
+    /// 敌方(释放技能)共用总能量条(按时间增长) 
+    /// </summary>
+    public Object Battle_RedTeamMaxSkillPower { get; set; }
+
+    /// <summary>
+    /// 系统公告图片的网址 
+    /// </summary>
+    public Object Game_PublicNotice { get; set; }
+
+    /// <summary>
+    /// 进入战场后,角色初始能量(sp) 
+    /// </summary>
+    public Object Arenas_Init_SP { get; set; }
+
+    /// <summary>
+    /// 普通攻击(一击)命中目标并造成上海, 增加3点能量SP 
+    /// </summary>
+    public Object Arenas_hit_SP { get; set; }
+
+    /// <summary>
+    /// 触发极限闪避并进入【失控漩涡】时间, 增加2点能量SP 
+    /// </summary>
+    public Object Arenas_jixianshanbi_SP { get; set; }
+
+    /// <summary>
+    /// 背包最大数量 
+    /// </summary>
+    public Object Item_Packet_MaxNum_New { get; set; }
+
+    /// <summary>
+    /// 背包起始默认数量 
+    /// </summary>
+    public Object Item_Packet_InitNum_New { get; set; }
+
+    /// <summary>
+    /// 限时活动礼包开始时间 
+    /// </summary>
+    public Object limitTsActiveGiftStartTs { get; set; }
+
+    /// <summary>
+    /// 限时活动礼包结束时间 
+    /// </summary>
+    public Object limitTsActiveGiftEndTs { get; set; }
+
+    /// <summary>
+    /// 扩容第三个格子的花费 
+    /// </summary>
+    public Object expandStorageCost { get; set; }
+
+    /// <summary>
+    /// 战斗槽位冷却时间 
+    /// </summary>
+    public Object caoWeiCoolTs { get; set; }
+
+    /// <summary>
+    /// 血瓶生命初始值和蓝瓶的魔法的初始值 
+    /// </summary>
+    public Object YaoPingAttrInitVal { get; set; }
+
+    /// <summary>
+    /// 每日任务等级限制解锁 
+    /// </summary>
+    public Object DailyTaskLevelLimitLock { get; set; }
+
+    /// <summary>
+    /// 每日任务常规任务 
+    /// </summary>
+    public Object dailyTask_Common { get; set; }
+
+    /// <summary>
+    /// 每日任务交付任务 
+    /// </summary>
+    public Object dailyTask_HandOver { get; set; }
+
+    /// <summary>
+    /// 每日购买体力消费 
+    /// </summary>
+    public Object active_BuyTili_Cost { get; set; }
+
+    /// <summary>
+    /// 每次购买体力的体力回复值 
+    /// </summary>
+    public Object active_BuyTili_RecoveryNum { get; set; }
+
+    /// <summary>
+    /// 每日购买体力次数限制 
+    /// </summary>
+    public Object active_BuyTili_DailyNum { get; set; }
+
+    /// <summary>
+    /// 自动恢复体力的上线值 
+    /// </summary>
+    public Object TiliMaxVal { get; set; }
+
+    /// <summary>
+    /// 原地满血复活消耗的钻石 
+    /// </summary>
+    public Object backFullBloodCost { get; set; }
+
+    /// <summary>
+    /// 限购里累计998可得武器 
+    /// </summary>
+    public Object AccumulateRechargePrize { get; set; }
+
+    /// <summary>
+    /// 免费原地满血复活次数 
+    /// </summary>
+    public Object battleReviveNum { get; set; }
+
+    /// <summary>
+    /// 言灵品阶分组 
+    /// </summary>
+    public Object yanlingExpQualityGroup { get; set; }
+
+    /// <summary>
+    /// 恢复一点体力所需时间(秒) 
+    /// </summary>
+    public Object active_Tili_RecoverTS { get; set; }
+
+    [JsonConstructor]
+    private globalsettings (){ }
+
+}
+

+ 41 - 0
DevOps/flscfg/codegen/cs/sm_activity_day7.cs

@@ -0,0 +1,41 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 17:36:03
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle activity_day7 活动: 七日签到
+/// </summary>
+sealed public partial class sm_activity_day7
+{
+
+    /// <summary>
+    /// 主键 
+    /// </summary>
+    public Int32 tid { get; set; }
+
+    /// <summary>
+    /// 第x天(1~7) 
+    /// </summary>
+    public Int32 day { get; set; }
+
+    /// <summary>
+    /// 奖励:itemId,num 
+    /// </summary>
+    public String reward { get; set; }
+
+    /// <summary>
+    /// 备注 
+    /// </summary>
+    public String desc { get; set; }
+
+    [JsonConstructor]
+    private sm_activity_day7 (){ }
+
+}
+

+ 51 - 0
DevOps/flscfg/codegen/cs/sm_activity_levelgift.cs

@@ -0,0 +1,51 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 18:04:50
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle activity_levelgift 活动: 等级礼包
+/// </summary>
+sealed public partial class sm_activity_levelgift
+{
+
+    /// <summary>
+    /// 自动编号 
+    /// </summary>
+    public Int32 id { get; set; }
+
+    /// <summary>
+    /// 名称 
+    /// </summary>
+    public String name { get; set; }
+
+    /// <summary>
+    /// 图标 
+    /// </summary>
+    public String icon { get; set; }
+
+    /// <summary>
+    /// 描述 
+    /// </summary>
+    public String desc { get; set; }
+
+    /// <summary>
+    /// 奖励内容字符串: itemid,num;itemid,num.... 
+    /// </summary>
+    public String rewardstr { get; set; }
+
+    /// <summary>
+    /// 奖励领取等级 default(1)
+    /// </summary>
+    public Int32 level { get; set; }
+
+    [JsonConstructor]
+    private sm_activity_levelgift (){ }
+
+}
+

+ 51 - 0
DevOps/flscfg/codegen/cs/sm_activity_tiligift.cs

@@ -0,0 +1,51 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 17:36:03
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle activity_tiligift 活动: 体力加油站
+/// </summary>
+sealed public partial class sm_activity_tiligift
+{
+
+    /// <summary>
+    /// 自动编号 
+    /// </summary>
+    public Int32 id { get; set; }
+
+    /// <summary>
+    /// 名称 
+    /// </summary>
+    public String name { get; set; }
+
+    /// <summary>
+    /// 起始时间 
+    /// </summary>
+    public TimeSpan start_time { get; set; }
+
+    /// <summary>
+    /// 结束时间 
+    /// </summary>
+    public TimeSpan end_time { get; set; }
+
+    /// <summary>
+    /// 获得体力 
+    /// </summary>
+    public Int32 tili { get; set; }
+
+    /// <summary>
+    /// 补领消耗钻石 
+    /// </summary>
+    public Int32 late_cost { get; set; }
+
+    [JsonConstructor]
+    private sm_activity_tiligift (){ }
+
+}
+

+ 36 - 0
DevOps/flscfg/codegen/cs/sm_clientVersionHistory.cs

@@ -0,0 +1,36 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 17:36:03
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle clientVersionHistory 客户端版本信息
+/// </summary>
+sealed public partial class sm_clientVersionHistory
+{
+
+    /// <summary>
+    /// 版本号 default(0)
+    /// </summary>
+    public String ver { get; set; }
+
+    /// <summary>
+    /// 发布时间 default(0)
+    /// </summary>
+    public String releaseTime { get; set; }
+
+    /// <summary>
+    /// 版本说明 default(0)
+    /// </summary>
+    public String description { get; set; }
+
+    [JsonConstructor]
+    private sm_clientVersionHistory (){ }
+
+}
+

+ 41 - 0
DevOps/flscfg/codegen/cs/sm_errmsg.cs

@@ -0,0 +1,41 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 18:04:50
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle errmsg 错误信息表
+/// </summary>
+sealed public partial class sm_errmsg
+{
+
+    /// <summary>
+    /// ERR_ID 
+    /// </summary>
+    public String err { get; set; }
+
+    /// <summary>
+    /// 错误码 
+    /// </summary>
+    public Int32 no { get; set; }
+
+    /// <summary>
+    /// 错误类型: 继续=0.重启=1. default(0)
+    /// </summary>
+    public Int32 type { get; set; }
+
+    /// <summary>
+    /// 描述信息 
+    /// </summary>
+    public String msg { get; set; }
+
+    [JsonConstructor]
+    private sm_errmsg (){ }
+
+}
+

+ 41 - 0
DevOps/flscfg/codegen/cs/sm_localtexts.cs

@@ -0,0 +1,41 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 18:04:50
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle localtexts 国际化文本
+/// </summary>
+sealed public partial class sm_localtexts
+{
+
+    /// <summary>
+    /// 文本ID 
+    /// </summary>
+    public String tid { get; set; }
+
+    /// <summary>
+    /// 中文 
+    /// </summary>
+    public String zh { get; set; }
+
+    /// <summary>
+    /// 英文 
+    /// </summary>
+    public String en { get; set; }
+
+    /// <summary>
+    /// 日文 
+    /// </summary>
+    public String jp { get; set; }
+
+    [JsonConstructor]
+    private sm_localtexts (){ }
+
+}
+

+ 41 - 0
DevOps/flscfg/codegen/cs/sm_service_schedule.cs

@@ -0,0 +1,41 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 17:52:31
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle service_schedule 停服计划
+/// </summary>
+sealed public partial class sm_service_schedule
+{
+
+    /// <summary>
+    /// 固定为1 default(1)
+    /// </summary>
+    public Int32 id { get; set; }
+
+    /// <summary>
+    /// 开始时间戳 default(0)
+    /// </summary>
+    public Int32 startts { get; set; }
+
+    /// <summary>
+    /// 结束时间戳 default(0)
+    /// </summary>
+    public Int32 endts { get; set; }
+
+    /// <summary>
+    /// 原因 default(0)
+    /// </summary>
+    public String reason { get; set; }
+
+    [JsonConstructor]
+    private sm_service_schedule (){ }
+
+}
+

+ 71 - 0
DevOps/flscfg/codegen/cs/sm_task.cs

@@ -0,0 +1,71 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 18:04:50
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle task 任务
+/// </summary>
+sealed public partial class sm_task
+{
+
+    /// <summary>
+    /// 任务id 
+    /// </summary>
+    public Int32 typeId { get; set; }
+
+    /// <summary>
+    /// [废弃2020年7月8日10:49:06]按面板查询任务: 剧情, 每日,挑战,新手, 副本。 
+    /// </summary>
+    public String ban { get; set; }
+
+    /// <summary>
+    /// 任务名称 
+    /// </summary>
+    public String name { get; set; }
+
+    /// <summary>
+    /// 前往功能模块 
+    /// </summary>
+    public String goto_module { get; set; }
+
+    /// <summary>
+    /// 任务描述 
+    /// </summary>
+    public String desc { get; set; }
+
+    /// <summary>
+    /// [废弃2020年7月8日10:49:12]任务的阶段(10,20)代表10级到20级之间会接到  (0,10)代表10级之前会接到 
+    /// </summary>
+    public String taskrank { get; set; }
+
+    /// <summary>
+    /// 任务类型: 
+    /// </summary>
+    public String tasktype { get; set; }
+
+    /// <summary>
+    /// 完成任务所需的第一个参数 
+    /// </summary>
+    public String canshu1 { get; set; }
+
+    /// <summary>
+    /// 完成任务所需的第二个参数 
+    /// </summary>
+    public String canshu2 { get; set; }
+
+    /// <summary>
+    /// 完成任务后的奖励物品id,num;id,num 
+    /// </summary>
+    public String reward { get; set; }
+
+    [JsonConstructor]
+    private sm_task (){ }
+
+}
+

+ 156 - 0
DevOps/flscfg/codegen/cs/sm_task_step.cs

@@ -0,0 +1,156 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 18:04:50
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle task_step 任务步骤
+/// </summary>
+sealed public partial class sm_task_step
+{
+
+    /// <summary>
+    /// 索引 default(0)
+    /// </summary>
+    public Int32 id { get; set; }
+
+    /// <summary>
+    /// 名称 
+    /// </summary>
+    public String name { get; set; }
+
+    /// <summary>
+    /// 类型(1.主线任务;2.每日任务;3.特殊任务;4.软引导;5.任务卡; 999 新手引导) default(0)
+    /// </summary>
+    public Int32 type { get; set; }
+
+    /// <summary>
+    /// 等级要求(未达到等级时, 前往变为等级提示) default(0)
+    /// </summary>
+    public Int32 minlv { get; set; }
+
+    /// <summary>
+    /// 【用于任务卡任务时未启用】任务品质: 1白色, 2绿色, 3蓝色, 4紫色, 5橙色, 6红色 default(0)
+    /// </summary>
+    public Int32 qual { get; set; }
+
+    /// <summary>
+    /// 图标 
+    /// </summary>
+    public String icon { get; set; }
+
+    /// <summary>
+    /// 图片 
+    /// </summary>
+    public String img { get; set; }
+
+    /// <summary>
+    /// [言灵] 前置任务列表(多个任务id逗号隔开,没有则置空) 
+    /// </summary>
+    public String prelist { get; set; }
+
+    /// <summary>
+    /// [言灵] 任务的起始动作(动作表id逗号隔开,没有则置空) 
+    /// </summary>
+    public String startact { get; set; }
+
+    /// <summary>
+    /// 指令类型(默认为cmd的百位数) default(0)
+    /// </summary>
+    public Int32 cmdtype { get; set; }
+
+    /// <summary>
+    /// 事件件码指令(详见文档) default(0)
+    /// </summary>
+    public Int32 cmd { get; set; }
+
+    /// <summary>
+    /// 参数 (若参数为多个,需要自己跟策划约定好解析规则)这里面都是用的==判断 
+    /// </summary>
+    public String paras { get; set; }
+
+    /// <summary>
+    /// 条件计数 (max)(>=max) default(1)
+    /// </summary>
+    public Int32 num { get; set; }
+
+    /// <summary>
+    /// [神宠] 奖励串 (言灵单条任务不计奖励, 放到任务卡上. 任务完成放到) 
+    /// </summary>
+    public String prizes { get; set; }
+
+    /// <summary>
+    /// 下一个任务(如果是任务卡的子任务则填下一个子任务id,如果是最后一个子任务则填0) default(0)
+    /// </summary>
+    public String next { get; set; }
+
+    /// <summary>
+    /// 【废弃】如果发生重新登录或者切换场景的情况,回撤到指定的步骤id(2022.3.3)(该步骤的完成度也回撤)(2022.8有了地图数据存储后无需回撤了) default(0)
+    /// </summary>
+    public String fallback { get; set; }
+
+    /// <summary>
+    /// 描述 
+    /// </summary>
+    public String des { get; set; }
+
+    /// <summary>
+    /// 其他 
+    /// </summary>
+    public String etc { get; set; }
+
+    /// <summary>
+    /// vip等级要求 default(0)
+    /// </summary>
+    public Int32 vip { get; set; }
+
+    /// <summary>
+    /// [神宠] 任务起始限时 
+    /// </summary>
+    public String start { get; set; }
+
+    /// <summary>
+    /// [神宠] 任务结束限时 
+    /// </summary>
+    public String end { get; set; }
+
+    /// <summary>
+    /// 是否自动完成(0= 否 1=是 如果是任务卡的子任务则固定填1) default(0)
+    /// </summary>
+    public Int32 isauto { get; set; }
+
+    /// <summary>
+    /// [言灵] 任务的结束动作(格式同起始动作) 
+    /// </summary>
+    public String finishact { get; set; }
+
+    /// <summary>
+    /// [神宠] 是否触发剧情 default(0)
+    /// </summary>
+    public String storyid { get; set; }
+
+    /// <summary>
+    /// [神宠] 是否存在场景npc(某些场景需生成特定npc形象) default(0)
+    /// </summary>
+    public Int32 npcid { get; set; }
+
+    /// <summary>
+    /// 触发新手引导步骤 default(0)
+    /// </summary>
+    public Int32 guideid { get; set; }
+
+    /// <summary>
+    /// 前往 
+    /// </summary>
+    public String goto_module { get; set; }
+
+    [JsonConstructor]
+    private sm_task_step (){ }
+
+}
+

+ 56 - 0
DevOps/flscfg/codegen/cs/sm_token_PublicGift.cs

@@ -0,0 +1,56 @@
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2023-06-28 17:56:43
+////////////////////
+
+using System;
+using Newtonsoft.Json;
+
+/// <summary>
+/// Static Modle token_PublicGift 公共兑换码
+/// </summary>
+sealed public partial class sm_token_PublicGift
+{
+
+    /// <summary>
+    /// 用途未知!!请到数据库中添加字段注释。 
+    /// </summary>
+    public Int32 id { get; set; }
+
+    /// <summary>
+    /// 兑换码 
+    /// </summary>
+    public String tokenCode { get; set; }
+
+    /// <summary>
+    /// 用途未知!!请到数据库中添加字段注释。 default(0)
+    /// </summary>
+    public Int32 plat { get; set; }
+
+    /// <summary>
+    /// 奖品 
+    /// </summary>
+    public String reward { get; set; }
+
+    /// <summary>
+    /// 用途未知!!请到数据库中添加字段注释。 default(0)
+    /// </summary>
+    public Int32 startTs { get; set; }
+
+    /// <summary>
+    /// 用途未知!!请到数据库中添加字段注释。 default(0)
+    /// </summary>
+    public Int32 expirets { get; set; }
+
+    /// <summary>
+    /// 用途未知!!请到数据库中添加字段注释。 
+    /// </summary>
+    public String desc { get; set; }
+
+    [JsonConstructor]
+    private sm_token_PublicGift (){ }
+
+}
+

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 246 - 0
DevOps/flscfg/sqlback/jzhj2023_cfg20230706085721.sql


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 246 - 0
DevOps/flscfg/sqlback/jzhj2023_cfg20230706085821.sql


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 246 - 0
DevOps/flscfg/sqlback/jzhj2023_cfg20230706085827.sql


+ 2 - 1
Gameserver/App/base/CmdCode.php

@@ -89,7 +89,8 @@ class CmdCode {
     /**
      *  注册新用户
      */
-    const cmd_user_registerNewRole = 6006;
+    const cmd_user_registerNewRole = 6003;
+    
     // </editor-fold>
     
     // <editor-fold defaultstate="collapsed" desc="    反射方法    ">

+ 5 - 122
Gameserver/App/base/MemKey_User.php

@@ -63,6 +63,7 @@ class MemKey_User {
 // </editor-fold>
 //
 
+// <editor-fold defaultstate="collapsed" desc=" 最新的memkey">  
     /**
      * 玩家信息
      * @param int $zoneid 分区id
@@ -72,56 +73,10 @@ class MemKey_User {
     public static function Info_hash($zoneid, $uid) {
         return self::Key_($zoneid, $uid) . (self::bUseShort() ? '-g' : '-gameinfo');
     }
-
-    /**
-     * 玩家交互信息
-     * @param int $zoneid 分区id
-     * @param string $uid
-     * @return string
-     */
-    public static function Interact($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . (self::bUseShort() ? '-i' : '-interact');
-    }
-
-    /**
-     * 主动挑战记录
-     * @param type $zoneid
-     * @param type $uid
-     *
-     */
-    public static function OffensiveLog_zset($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . (self::bUseShort() ? '-offlog' : '-offensivelog');
-    }
-
-    /**
-     * 被动挑战记录
-     * @param type $zoneid
-     * @param type $uid
-     * @return type
-     */
-    public static function DefensiveLog_zset($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . (self::bUseShort() ? '-deflog' : '-defensivelog');
-    }
-
-    /**
-     *  竞技场 主动挑战记录
-     * @param type $zoneid
-     * @param type $uid
-     */
-    public static function PVP_OffensiveLog_zset($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . "-pvp" . (self::bUseShort() ? '-offlog' : '-offensivelog');
-    }
-
-    /**
-     * 竞技场 被动挑战记录
-     * @param type $zoneid
-     * @param type $uid
-     * @return type
-     */
-    public static function PVP_DefensiveLog_zset($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . "-pvp" . (self::bUseShort() ? '-deflog' : '-defensivelog');
-    }
-
+    
+    
+    
+// </editor-fold>          
     /**
      * 玩家证书
      * @param int $zoneid 分区id
@@ -165,78 +120,6 @@ class MemKey_User {
     }
 
 // </editor-fold>
-//
-// <editor-fold defaultstate="collapsed" desc="  Friend 好友数据  ">
-
-    /**
-     * 玩家好友列表
-     * @param int $zoneid 分区id
-     * @param string $uid
-     * @return string
-     */
-    public static function FriendsList_set($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . (self::bUseShort() ? '-f-l' : '-friends-list');
-    }
-
-    /**
-     * 玩家好友-留言数据
-     * @param int $zoneid 分区id
-     * @param string $uid
-     * @return string
-     */
-    public static function FriendsMsgQueue_hash($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . (self::bUseShort() ? '-f-m' : '-friends-msgqueue');
-    }
-
-    /**
-     * 玩家好友-操作队列
-     * @param int $zoneid 分区id
-     * @param string $uid
-     * @return string
-     */
-    public static function FriendsOps_hash($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . (self::bUseShort() ? '-f-o' : '-friends-ops');
-    }
-
-    /**
-     * 玩家好友-别人发送过来的礼物记录
-     * @param type $zoneid
-     * @param type $uid
-     * @return type
-     */
-    public static function GiftOps($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . (self::bUseShort() ? '-f-go' : '-friends-giftops');
-    }
-
-// </editor-fold>
-//
-// <editor-fold defaultstate="collapsed" desc="  obsoleted for webpay edition  ">
-//
-
-    /**
-     * [obsolete]
-     * 玩家支付token信息
-     * @param int $zoneid 分区id
-     * @param string $uid
-     * @return string
-     */
-    public static function TokenInfo($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . (self::bUseShort() ? '-t' : '-tokens');
-    }
-
-    /**
-     * [obsolete]
-     * 玩家营销礼包临时挂起列表 【qqweb版】
-     * @param int $zoneid 分区id
-     * @param string $uid
-     * @return string
-     */
-    public static function GiftStore($zoneid, $uid) {
-        return self::Key_($zoneid, $uid) . ( self::bUseShort() ? '-gt' : '-giftitems');
-    }
-
-// </editor-fold>
-//
 
     /**
      * 支付流程中, 渠道支付服务器发过来的订单通知, 需要客户端主动请求服务端刷新到自己的账户中.

+ 29 - 1869
Gameserver/App/configs/GameConfig.php

@@ -90,6 +90,8 @@ class GameConfig {
 
 // </editor-fold>
 
+// <editor-fold defaultstate="collapsed" desc=" 配置信息 ">     
+    
     /**
      * 全局参数
      * @return \globalsettings
@@ -98,342 +100,23 @@ class GameConfig {
         static $a = null;
         return self::initValue($a, 'globalsettings');
     }
-
-    /**
-     * 英雄模块
-     * @return \hero
-     */
-    public static function hero() {
-        static $a = null;
-        return self::initValue($a, 'hero');
-    }
-
-    /**
-     * @return \sm_hero hero item数据
-     */
-    public static function hero_getItem($itemid) {
-        return self::get_hash_item('hero', $itemid);
-    }
-
-    /**
-     * 英雄的升级(属性加成)
-     * @return \heroextra_level
-     */
-    public static function heroextra_level() {
-        static $a = null;
-        return self::initValue($a, 'heroextra_level');
-    }
-
-    /**
-     * @return \sm_heroextra_level heroextra_level item数据
-     */
-    public static function heroextra_level_getItem($heroId, $quality) {
-        return self::get_hash_item('heroextra_level', $heroId)->$quality;
-    }
-
-    /**
-     * 武器等级,品质,等级双索引
-     * @return \weapon_levelexp
-     */
-    public static function weapon_levelexp() {
-        static $a = null;
-        return self::initValue($a, 'weapon_levelexp');
-    }
-
-    /**
-     * @return \sm_weapon_levelexp weapon_levelexp item数据
-     */
-    public static function weapon_levelexp_getItem($type, $level) {
-        return self::get_hash_item('weapon_levelexp', $type)->$level;
-    }
-
-    /**
-     * 累充表-改成首充表
-     * @return \shop_accumulating
-     */
-    public static function shop_accumulating() {
-        static $a = null;
-        return self::initValue($a, 'shop_accumulating');
-    }
-
-    /**
-     * @return \sm_shop_accumulating shop_accumulating item数据
-     */
-    public static function shop_accumulating_getItem($itemid) {
-        return self::get_hash_item('shop_accumulating', $itemid);
-    }
-
-    /**
-     * [废弃]
-     * @return \itemlevel
-     */
-    public static function itemlevel() {
-        static $a = null;
-        return self::initValue($a, 'itemlevel');
-    }
-
-    /**
-     * @return \sm_itemlevel itemlevel item数据
-     */
-    public static function itemlevel_getItem($itemid) {
-        return self::get_hash_item('itemlevel', $itemid);
-    }
-
-    /**
-     * 武器突破
-     * @return \weaponextra_level
-     */
-    public static function weaponextra_level() {
-        static $a = null;
-        return self::initValue($a, 'weaponextra_level');
-    }
-
-    /**
-     * @return \sm_weaponextra_level weaponextra_level item数据
-     */
-    public static function weaponextra_level_getItem($weaponId, $starLv) {
-        return self::get_hash_item('weaponextra_level', $weaponId)->$starLv;
-    }
-
-    /**
-     * 英雄的升级——每级成长消耗经验需求表
-     * @return \hero_levelexp
-     */
-    public static function hero_levelexp() {
-        static $a = null;
-        return self::initValue($a, 'hero_levelexp');
-    }
-
-    /**
-     * @return \sm_hero_levelexp hero_levelexp item数据
-     */
-    public static function hero_levelexp_getItem($itemid) {
-        return self::get_hash_item('hero_levelexp', $itemid);
-    }
-
-    /**
-     * 英雄的升阶(消耗金币+ 属性加成)
-     * @return \heroextra_dengjie
-     */
-    public static function heroextra_dengjie() {
-        static $a = null;
-        return self::initValue($a, 'heroextra_dengjie');
-    }
-
-    /**
-     * @return \sm_heroextra_dengjie heroextra_dengjie item数据
-     */
-    public static function heroextra_dengjie_getItem($itemid) {
-        return self::get_hash_item('heroextra_dengjie', $itemid);
-    }
-
-    /**
-     * 关卡
-     * @return \gate
-     */
-    public static function gate() {
-        static $a = null;
-        return self::initValue($a, 'gate');
-    }
-
-    /**
-     * @return \sm_gate gate item数据
-     */
-    public static function gate_getItem($itemid) {
-        return self::get_hash_item('gate', $itemid);
-    }
-
-    /**
-     * 关卡波茨数据
-     * @return \gatelevel
-     */
-    public static function gatelevel() {
-        static $a = null;
-        return self::initValue($a, 'gatelevel');
-    }
-
-    /**
-     * @return \sm_gatelevel gatelevel item数据
-     */
-    public static function gatelevel_getItem($itemid) {
-        return self::get_hash_item('gatelevel', $itemid);
-    }
-
-    /**
-     * 关卡—— 星级奖励
-     * @return \gate_starreward
-     */
-    public static function gate_starreward() {
-        static $a = null;
-        return self::initValue($a, 'gate_starreward');
-    }
-
-    /**
-     * @return \sm_gate_starreward gate_starreward item数据
-     */
-    public static function gate_starreward_getItem($chapterId, $hardLevel) {
-        return self::get_hash_item('gate_starreward', "$chapterId-$hardLevel");
-    }
-
-    /**
-     * 任务
-     * @return \task
-     */
-    public static function task() {
-        static $a = null;
-        return self::initValue($a, 'task');
-    }
-
-    /**
-     * @return \sm_task task item数据
-     */
-    public static function task_getItem($itemid) {
-        return self::get_hash_item('task', $itemid);
-    }
-
-    /**
-     *
-     * @return \playerlevel
-     */
-    public static function playerlevel() {
-        static $a = null;
-        return self::initValue($a, 'playerlevel');
-    }
-
-    /**
-     * @return \sm_playerlevel playerlevel item数据
-     */
-    public static function playerlevel_getItem($itemid) {
-        return self::get_hash_item('playerlevel', $itemid);
-    }
-
-    /**
-     * 言灵类道具
-     * @return \item_yanling
-     */
-    public static function item_yanling() {
-        static $a = null;
-        return self::initValue($a, 'item_yanling');
-    }
-
-    /**
-     * @return \sm_item_yanling item_yanling item数据
-     */
-    public static function item_yanling_getItem($itemid) {
-        return self::get_hash_item('item_yanling', $itemid);
-    }
-
-    /**
-     * 无尽塔关卡数据
-     * @return \endless_tower
-     */
-    public static function endless_tower() {
-        static $a = null;
-        return self::initValue($a, 'endless_tower');
-    }
-
-    /**
-     * @return \sm_endless_tower endless_tower item数据
-     */
-    public static function endless_tower_getItem($itemid) {
-        return self::get_hash_item('endless_tower', $itemid);
-    }
-
-    /**
-     *
-     * @return \heroextra_level_tupo
-     */
-    public static function heroextra_level_tupo() {
-        static $a = null;
-        return self::initValue($a, 'heroextra_level_tupo');
-    }
-
-    /**
-     * @return \sm_heroextra_level_tupo heroextra_level_tupo item数据
-     */
-    public static function heroextra_level_tupo_getItem($heroId, $starLv) {
-        return self::get_hash_item('heroextra_level_tupo', $heroId)->$starLv;
-    }
-
-    /**
-     * 商城
-     * @return \shop
-     */
-    public static function shop() {
-        static $a = null;
-        return self::initValue($a, 'shop');
-    }
-
-    /**
-     * @return \sm_shop shop item数据
-     */
-    public static function shop_getItem($itemid) {
-        return self::get_hash_item('shop', $itemid);
-    }
-
-    /**
-     * 停服计划
-     * @return \service_schedule
-     */
-    public static function service_schedule() {
-        static $a = null;
-        return self::initValue($a, 'service_schedule');
-    }
-
+    
     /**
      * @return \sm_service_schedule service_schedule item数据
      */
     public static function service_schedule_getItem($itemid) {
         return self::get_hash_item('service_schedule', $itemid);
     }
-
-    /**
-     * 任务步骤
-     * @return \task_step
-     */
-    public static function task_step() {
-        static $a = null;
-        return self::initValue($a, 'task_step');
-    }
-
-    /**
-     * @return \sm_task_step task_step item数据
-     */
-    public static function task_step_getItem($itemid) {
-        return self::get_hash_item('task_step', $itemid);
-    }
-
-    /**
-     * 任务卡
-     * @return \item_taskcard
-     */
-    public static function item_taskcard() {
-        static $a = null;
-        return self::initValue($a, 'item_taskcard');
-    }
-
-    /**
-     * @return \sm_item_taskcard item_taskcard item数据
-     */
-    public static function item_taskcard_getItem($itemid) {
-        return self::get_hash_item('item_taskcard', $itemid);
-    }
-
-    /**
-     *
-     * @return \shenmiaoActiveIdTs
-     */
-    public static function shenmiaoActiveIdTs() {
-        static $a = null;
-        return self::initValue($a, 'shenmiaoActiveIdTs');
-    }
-
-    /**
-     * @return \sm_shenmiaoActiveIdTs shenmiaoActiveIdTs item数据
-     */
-    public static function shenmiaoActiveIdTs_getItem($itemid) {
-        return self::get_hash_item('shenmiaoActiveIdTs', $itemid);
-    }
+    
+    
+    
+    
+// </editor-fold>
+//     
+// <editor-fold defaultstate="collapsed" desc="  下面是旧代码 ">    
+    
+    
+    
 
     /**
      * 系统邮件
@@ -449,1561 +132,38 @@ class GameConfig {
      */
     public static function sysmail_getItem($itemid) {
         return self::get_hash_item('sysmail', $itemid);
-    }
-
-    /**
-     * 剧情对话
-     * @return \plot
-     */
-    public static function plot() {
-        static $a = null;
-        return self::initValue($a, 'plot');
-    }
-
-    /**
-     * @return \sm_plot plot item数据
-     */
-    public static function plot_getItem($gateId, $stage) {
-        return self::get_hash_item('plot', $gateId)->$stage;
-    }
-
-    /**
-     * 言灵附加随机表
-     * @return \item_additional
-     */
-    public static function item_additional() {
-        static $a = null;
-        return self::initValue($a, 'item_additional');
-    }
-
-    /**
-     * @return \sm_item_additional item_additional item数据
-     */
-    public static function item_additional_getItem($itemid) {
-        return self::get_hash_item('item_additional', $itemid);
-    }
-
-    /**
-     * 活跃点奖励表
-     * @return \task_active_reward
-     */
-    public static function task_active_reward() {
-        static $a = null;
-        return self::initValue($a, 'task_active_reward');
-    }
-
-    /**
-     * @return \sm_task_active_reward task_active_reward item数据
-     */
-    public static function task_active_reward_getItem($itemid) {
-        return self::get_hash_item('task_active_reward', $itemid);
-    }
-
-    /**
-     * 竞技场 上榜单奖励
-     * @return \pvp_rankreward
-     */
-    public static function pvp_rankreward() {
-        static $a = null;
-        return self::initValue($a, 'pvp_rankreward');
-    }
-
-    /**
-     * @return \sm_pvp_rankreward pvp_rankreward item数据
-     */
-    public static function pvp_rankreward_getItem($itemid) {
-        return self::get_hash_item('pvp_rankreward', $itemid);
-    }
+    } 
 
     /**
-     * 竞技 商店
-     * @return \pvp_shop
-     */
-    public static function pvp_shop() {
-        static $a = null;
-        return self::initValue($a, 'pvp_shop');
-    }
-
-    /**
-     * @return \sm_pvp_shop pvp_shop item数据
-     */
-    public static function pvp_shop_getItem($itemid) {
-        return self::get_hash_item('pvp_shop', $itemid);
-    }
-
-    /**
-     * 配置的关卡相关的战斗数据
-     * @return \gate_combat
-     */
-    public static function gate_combat() {
-        static $a = null;
-        return self::initValue($a, 'gate_combat');
-    }
-
-    /**
-     * @return \sm_gate_combat gate_combat item数据
+     * @return \sm_clientVersionHistory clientVersionHistory item数据
      */
-    public static function gate_combat_getItem($itemid) {
-        return self::get_hash_item('gate_combat', $itemid);
+    public static function clientVersionHistory_getItem($itemid) {
+        return self::get_hash_item('clientVersionHistory', $itemid);
     }
 
     /**
-     * 根据类型找id
-     * @return \shenmiaoTypeList
+     * 分区列表
+     * @return \zonelist
      */
-    public static function shenmiaoTypeList() {
+    public static function zonelist() {
         static $a = null;
-        return self::initValue($a, 'shenmiaoTypeList');
+        return self::initValue($a, 'zonelist');
     }
 
     /**
-     * @return \sm_shenmiaoTypeList shenmiaoTypeList itemArray
+     * @return \sm_zonelist zonelist item数据
      */
-    public static function shenmiaoTypeList_getItemArray($key) {
-        return self::get_hash_item('shenmiaoTypeList', $key);
+    public static function zonelist_getItem($itemid) {
+        return self::get_hash_item('zonelist', $itemid);
     }
 
     /**
-     * 每日任务
-     * @return \task_daily
+     * 当前版本(时间戳)
+     * @return \ver
      */
-    public static function task_daily() {
+    public static function ver() {
         static $a = null;
-        return self::initValue($a, 'task_daily');
-    }
-
-    /**
-     * @return \sm_task_daily task_daily item数据
-     */
-    public static function task_daily_getItem($itemid) {
-        return self::get_hash_item('task_daily', $itemid);
-    }
-
-    /**
-     * 神庙定期活动时间
-     * @return \shenmiaoActiveTs
-     */
-    public static function shenmiaoActiveTs() {
-        static $a = null;
-        return self::initValue($a, 'shenmiaoActiveTs');
-    }
-
-    /**
-     * @return \sm_shenmiaoActiveTs shenmiaoActiveTs item数据
-     */
-    public static function shenmiaoActiveTs_getItem($itemid) {
-        return self::get_hash_item('shenmiaoActiveTs', $itemid);
-    }
-
-    /**
-     * 英雄的升级——成长可消耗的道具表
-     * @return \hero_levelexp_costitem
-     */
-    public static function hero_levelexp_costitem() {
-        static $a = null;
-        return self::initValue($a, 'hero_levelexp_costitem');
-    }
-
-    /**
-     * @return \sm_hero_levelexp_costitem hero_levelexp_costitem item数据
-     */
-    public static function hero_levelexp_costitem_getItem($itemid) {
-        return self::get_hash_item('hero_levelexp_costitem', $itemid);
-    }
-
-    /**
-     * 言灵等级
-     * @return \yanlingLeve
-     */
-    public static function yanlingLeve() {
-        static $a = null;
-        return self::initValue($a, 'yanlingLeve');
-    }
-
-    /**
-     * @return \sm_yanlingLeve yanlingLeve item数据
-     */
-    public static function yanlingLeve_getItem($itemid) {
-        return self::get_hash_item('yanlingLeve', $itemid);
-    }
-
-    /**
-     * 神庙
-     * @return \shenmiao
-     */
-    public static function shenmiao() {
-        static $a = null;
-        return self::initValue($a, 'shenmiao');
-    }
-
-    /**
-     * @return \sm_shenmiao shenmiao item数据
-     */
-    public static function shenmiao_getItem($itemid) {
-        return self::get_hash_item('shenmiao', $itemid);
-    }
-
-    /**
-     * 圣哲学院表
-     * @return \college
-     */
-    public static function college() {
-        static $a = null;
-        return self::initValue($a, 'college');
-    }
-
-    /**
-     * @return \sm_college college item数据
-     */
-    public static function college_getItem($itemid) {
-        return self::get_hash_item('college', $itemid);
-    }
-
-    /**
-     * 引导触发
-     * @return \guide_trigger
-     */
-    public static function guide_trigger() {
-        static $a = null;
-        return self::initValue($a, 'guide_trigger');
-    }
-
-    /**
-     * @return \sm_guide_trigger guide_trigger item数据
-     */
-    public static function guide_trigger_getItem($itemid) {
-        return self::get_hash_item('guide_trigger', $itemid);
-    }
-
-    /**
-     * 任务节点
-     * @return \task_node
-     */
-    public static function task_node() {
-        static $a = null;
-        return self::initValue($a, 'task_node');
-    }
-
-    /**
-     * @return \sm_task_node task_node item数据
-     */
-    public static function task_node_getItem($itemid) {
-        return self::get_hash_item('task_node', $itemid);
-    }
-
-    /**
-     * 圣哲学院课程表
-     * @return \course
-     */
-    public static function course() {
-        static $a = null;
-        return self::initValue($a, 'course');
-    }
-
-    /**
-     * @return \sm_course course item数据
-     */
-    public static function course_getItem($itemid) {
-        return self::get_hash_item('course', $itemid);
-    }
-
-    /**
-     *
-     * @return \gate_mainland
-     */
-    public static function gate_mainland() {
-        static $a = null;
-        return self::initValue($a, 'gate_mainland');
-    }
-
-    /**
-     * @return \sm_gate_mainland gate_mainland item数据
-     */
-    public static function gate_mainland_getItem($itemid) {
-        return self::get_hash_item('gate_mainland', $itemid);
-    }
-
-    /**
-     * 动作事件表
-     * @return \eventAction
-     */
-    public static function eventAction() {
-        static $a = null;
-        return self::initValue($a, 'eventAction');
-    }
-
-    /**
-     * @return \sm_eventAction eventAction item数据
-     */
-    public static function eventAction_getItem($itemid) {
-        return self::get_hash_item('eventAction', $itemid);
-    }
-
-    /**
-     * 碎片
-     * @return \segment
-     */
-    public static function segment() {
-        static $a = null;
-        return self::initValue($a, 'segment');
-    }
-
-    /**
-     * @return \sm_segment segment item数据
-     */
-    public static function segment_getItem($itemid) {
-        return self::get_hash_item('segment', $itemid);
-    }
-
-    /**
-     * 关卡-区域表
-     * @return \gate_zone
-     */
-    public static function gate_zone() {
-        static $a = null;
-        return self::initValue($a, 'gate_zone');
-    }
-
-    /**
-     * @return \sm_gate_zone gate_zone item数据
-     */
-    public static function gate_zone_getItem($itemid) {
-        return self::get_hash_item('gate_zone', $itemid);
-    }
-
-    /**
-     * 建筑表_2021.2.5
-     * @return \build
-     */
-    public static function build() {
-        static $a = null;
-        return self::initValue($a, 'build');
-    }
-
-    /**
-     * @return \sm_build build item数据
-     */
-    public static function build_getItem($itemid) {
-        return self::get_hash_item('build', $itemid);
-    }
-
-    /**
-     * 神秘商城道具表-by goodstype
-     * @return \secretshop_goodsType
-     */
-    public static function secretshop_goodsType() {
-        static $a = null;
-        return self::initValue($a, 'secretshop_goodsType');
-    }
-
-    /**
-     * @return \sm_secretshop_goodsType secretshop_goodsType item数据
-     */
-    public static function secretshop_goodsType_getItem($itemid) {
-        return self::get_hash_item('secretshop_goodsType', $itemid);
-    }
-
-    /**
-     * 神秘商城刷新价格表
-     * @return \secretshop_refresh
-     */
-    public static function secretshop_refresh() {
-        static $a = null;
-        return self::initValue($a, 'secretshop_refresh');
-    }
-
-    /**
-     * @return \sm_secretshop_refresh secretshop_refresh item数据
-     */
-    public static function secretshop_refresh_getItem($itemid) {
-        return self::get_hash_item('secretshop_refresh', $itemid);
-    }
-
-    /**
-     * 神秘商城道具表-by typeId
-     * @return \secretshop_typeId
-     */
-    public static function secretshop_typeId() {
-        static $a = null;
-        return self::initValue($a, 'secretshop_typeId');
-    }
-
-    /**
-     * @return \sm_secretshop_typeId secretshop_typeId item数据
-     */
-    public static function secretshop_typeId_getItem($itemid) {
-        return self::get_hash_item('secretshop_typeId', $itemid);
-    }
-
-    /**
-     * 客户端版本信息
-     * @return \clientVersionHistory
-     */
-    public static function clientVersionHistory() {
-        static $a = null;
-        return self::initValue($a, 'clientVersionHistory');
-    }
-
-    /**
-     * @return \sm_clientVersionHistory clientVersionHistory item数据
-     */
-    public static function clientVersionHistory_getItem($itemid) {
-        return self::get_hash_item('clientVersionHistory', $itemid);
-    }
-
-    /**
-     * 分区列表
-     * @return \zonelist
-     */
-    public static function zonelist() {
-        static $a = null;
-        return self::initValue($a, 'zonelist');
-    }
-
-    /**
-     * @return \sm_zonelist zonelist item数据
-     */
-    public static function zonelist_getItem($itemid) {
-        return self::get_hash_item('zonelist', $itemid);
-    }
-
-    /**
-     * 兑换码礼包
-     * @return \tokenGift
-     */
-    public static function tokenGift() {
-        static $a = null;
-        return self::initValue($a, 'tokenGift');
-    }
-
-    /**
-     * @return \sm_tokenGift tokenGift item数据
-     */
-    public static function tokenGift_getItem($itemid) {
-        return self::get_hash_item('tokenGift', $itemid);
-    }
-
-    /**
-     * 活动配置
-     * @return \activity
-     */
-    public static function activity() {
-        static $a = null;
-        return self::initValue($a, 'activity');
-    }
-
-    /**
-     * @return \sm_activity activity item数据
-     */
-    public static function activity_getItem($itemid) {
-        return self::get_hash_item('activity', $itemid);
-    }
-
-    /**
-     * 任务卡商店
-     * @return \taskcard_shop
-     */
-    public static function taskcard_shop() {
-        static $a = null;
-        return self::initValue($a, 'taskcard_shop');
-    }
-
-    /**
-     * @return \sm_taskcard_shop taskcard_shop item数据
-     */
-    public static function taskcard_shop_getItem($itemid) {
-        return self::get_hash_item('taskcard_shop', $itemid);
-    }
-
-    /**
-     * 碎片_按品质索引
-     * @return \segment_byPinzhi
-     */
-    public static function segment_byPinzhi() {
-        static $a = null;
-        return self::initValue($a, 'segment_byPinzhi');
-    }
-
-    /**
-     * @return \sm_segment_byPinzhi segment_byPinzhi item数据
-     */
-    public static function segment_byPinzhi_getItem($quailty, $itemType) {
-        return self::get_hash_item('segment_byPinzhi', $quailty)->$itemType;
-    }
-
-    /**
-     *
-     * @return \npc
-     */
-    public static function npc() {
-        static $a = null;
-        return self::initValue($a, 'npc');
-    }
-
-    /**
-     * @return \sm_npc npc item数据
-     */
-    public static function npc_getItem($itemid) {
-        return self::get_hash_item('npc', $itemid);
-    }
-
-    /**
-     * 活动: 在线礼包
-     * @return \activity_onlinegift
-     */
-    public static function activity_onlinegift() {
-        static $a = null;
-        return self::initValue($a, 'activity_onlinegift');
-    }
-
-    /**
-     * @return \sm_activity_onlinegift activity_onlinegift item数据
-     */
-    public static function activity_onlinegift_getItem($itemid) {
-        return self::get_hash_item('activity_onlinegift', $itemid);
-    }
-
-    /**
-     * GM号的UID
-     * @return \GM_uids
-     */
-    public static function GM_uids() {
-        static $a = null;
-        return self::initValue($a, 'GM_uids');
-    }
-
-    /**
-     * 活动, 全服注册礼包
-     * @return \activity_reggift
-     */
-    public static function activity_reggift() {
-        static $a = null;
-        return self::initValue($a, 'activity_reggift');
-    }
-
-    /**
-     * @return \sm_activity_reggift activity_reggift item数据
-     */
-    public static function activity_reggift_getItem($itemid) {
-        return self::get_hash_item('activity_reggift', $itemid);
-    }
-
-    /**
-     * 错误信息表
-     * @return \errmsg
-     */
-    public static function errmsg() {
-        static $a = null;
-        return self::initValue($a, 'errmsg');
-    }
-
-    /**
-     * @return \sm_errmsg errmsg item数据
-     */
-    public static function errmsg_getItem($itemid) {
-        return self::get_hash_item('errmsg', $itemid);
-    }
-
-    /**
-     * 公会捐献卡牌奖励
-     * @return \guilddonatereward
-     */
-    public static function guilddonatereward() {
-        static $a = null;
-        return self::initValue($a, 'guilddonatereward');
-    }
-
-    /**
-     * @return \sm_guilddonatereward guilddonatereward item数据
-     */
-    public static function guilddonatereward_getItem($itemid) {
-        return self::get_hash_item('guilddonatereward', $itemid);
-    }
-
-    /**
-     * 公会等级相关数据
-     * @return \guildlevel
-     */
-    public static function guildlevel() {
-        static $a = null;
-        return self::initValue($a, 'guildlevel');
-    }
-
-    /**
-     * @return \sm_guildlevel guildlevel item数据
-     */
-    public static function guildlevel_getItem($itemid) {
-        return self::get_hash_item('guildlevel', $itemid);
-    }
-
-    /**
-     * 公会礼包
-     * @return \guildlibao
-     */
-    public static function guildlibao() {
-        static $a = null;
-        return self::initValue($a, 'guildlibao');
-    }
-
-    /**
-     * @return \sm_guildlibao guildlibao item数据
-     */
-    public static function guildlibao_getItem($itemid) {
-        return self::get_hash_item('guildlibao', $itemid);
-    }
-
-    /**
-     * 玩家初始化数据
-     * @return \primordial_data
-     */
-    public static function primordial_data() {
-        static $a = null;
-        return self::initValue($a, 'primordial_data');
-    }
-
-    /**
-     * 英雄技能升级的限定
-     * @return \heroextra_skill_lv_limit
-     */
-    public static function heroextra_skill_lv_limit() {
-        static $a = null;
-        return self::initValue($a, 'heroextra_skill_lv_limit');
-    }
-
-    /**
-     * @return \sm_heroextra_skill_lv_limit heroextra_skill_lv_limit item数据
-     */
-    public static function heroextra_skill_lv_limit_getItem($itemid) {
-        return self::get_hash_item('heroextra_skill_lv_limit', $itemid);
-    }
-
-    /**
-     * 武器类道具
-     * @return \item_weapon
-     */
-    public static function item_weapon() {
-        static $a = null;
-        return self::initValue($a, 'item_weapon');
-    }
-
-    /**
-     * @return \sm_item_weapon item_weapon item数据
-     */
-    public static function item_weapon_getItem($itemid) {
-        return self::get_hash_item('item_weapon', $itemid);
-    }
-
-    /**
-     * 礼包类道具
-     * @return \item_package
-     */
-    public static function item_package() {
-        static $a = null;
-        return self::initValue($a, 'item_package');
-    }
-
-    /**
-     * @return \sm_item_package item_package item数据
-     */
-    public static function item_package_getItem($itemid) {
-        return self::get_hash_item('item_package', $itemid);
-    }
-
-    /**
-     * 强化类道具
-     * @return \item_stones
-     */
-    public static function item_stones() {
-        static $a = null;
-        return self::initValue($a, 'item_stones');
-    }
-
-    /**
-     * @return \sm_item_stones item_stones item数据
-     */
-    public static function item_stones_getItem($itemid) {
-        return self::get_hash_item('item_stones', $itemid);
-    }
-
-    /**
-     * 药水类道具
-     * @return \item_pills
-     */
-    public static function item_pills() {
-        static $a = null;
-        return self::initValue($a, 'item_pills');
-    }
-
-    /**
-     * @return \sm_item_pills item_pills item数据
-     */
-    public static function item_pills_getItem($itemid) {
-        return self::get_hash_item('item_pills', $itemid);
-    }
-
-    /**
-     * buff类道具
-     * @return \item_buffcard
-     */
-    public static function item_buffcard() {
-        static $a = null;
-        return self::initValue($a, 'item_buffcard');
-    }
-
-    /**
-     * @return \sm_item_buffcard item_buffcard item数据
-     */
-    public static function item_buffcard_getItem($itemid) {
-        return self::get_hash_item('item_buffcard', $itemid);
-    }
-
-    /**
-     * 碎片类道具
-     * @return \item_segment
-     */
-    public static function item_segment() {
-        static $a = null;
-        return self::initValue($a, 'item_segment');
-    }
-
-    /**
-     * @return \sm_item_segment item_segment item数据
-     */
-    public static function item_segment_getItem($itemid) {
-        return self::get_hash_item('item_segment', $itemid);
-    }
-
-    /**
-     * 道具通用字段表
-     * @return \item_base
-     */
-    public static function item_base() {
-        static $a = null;
-        return self::initValue($a, 'item_base');
-    }
-
-    /**
-     * @return \sm_item_base item_base item数据
-     */
-    public static function item_base_getItem($itemid) {
-        return self::get_hash_item('item_base', $itemid);
-    }
-
-    /**
-     * 子技能表
-     * @return \subSkill
-     */
-    public static function subSkill() {
-        static $a = null;
-        return self::initValue($a, 'subSkill');
-    }
-
-    /**
-     * @return \sm_subSkill subSkill item数据
-     */
-    public static function subSkill_getItem($itemid) {
-        return self::get_hash_item('subSkill', $itemid);
-    }
-
-    /**
-     * 宝箱类道具
-     * @return \item_box
-     */
-    public static function item_box() {
-        static $a = null;
-        return self::initValue($a, 'item_box');
-    }
-
-    /**
-     * @return \sm_item_box item_box item数据
-     */
-    public static function item_box_getItem($itemid) {
-        return self::get_hash_item('item_box', $itemid);
-    }
-
-    /**
-     * 关卡-通关条件
-     * @return \gate_passCondition
-     */
-    public static function gate_passCondition() {
-        static $a = null;
-        return self::initValue($a, 'gate_passCondition');
-    }
-
-    /**
-     * @return \sm_gate_passCondition gate_passCondition item数据
-     */
-    public static function gate_passCondition_getItem($itemid) {
-        return self::get_hash_item('gate_passCondition', $itemid);
-    }
-
-    /**
-     * 元素相克关系表
-     * @return \attack_relation
-     */
-    public static function attack_relation() {
-        static $a = null;
-        return self::initValue($a, 'attack_relation');
-    }
-
-    /**
-     * @return \sm_attack_relation attack_relation item数据
-     */
-    public static function attack_relation_getItem($attack1, $attack2) {
-        return self::get_hash_item('attack_relation', "$attack1-$attack2");
-    }
-
-    /**
-     * 战斗力榜全服突破奖励
-     * @return \rankreward_fpower
-     */
-    public static function rankreward_fpower() {
-        static $a = null;
-        return self::initValue($a, 'rankreward_fpower');
-    }
-
-    /**
-     * @return \sm_rankreward_fpower rankreward_fpower item数据
-     */
-    public static function rankreward_fpower_getItem($itemid) {
-        return self::get_hash_item('rankreward_fpower', $itemid);
-    }
-
-    /**
-     * 合体技能
-     * @return \skill_cross
-     */
-    public static function skill_cross() {
-        static $a = null;
-        return self::initValue($a, 'skill_cross');
-    }
-
-    /**
-     * @return \sm_skill_cross skill_cross item数据
-     */
-    public static function skill_cross_getItem($itemid) {
-        return self::get_hash_item('skill_cross', $itemid);
-    }
-
-    /**
-     * 通关榜突破奖励
-     * @return \rankreward_passgate
-     */
-    public static function rankreward_passgate() {
-        static $a = null;
-        return self::initValue($a, 'rankreward_passgate');
-    }
-
-    /**
-     * @return \sm_rankreward_passgate rankreward_passgate item数据
-     */
-    public static function rankreward_passgate_getItem($itemid) {
-        return self::get_hash_item('rankreward_passgate', $itemid);
-    }
-
-    /**
-     * 言灵召唤书
-     * @return \item_yanlingbook
-     */
-    public static function item_yanlingbook() {
-        static $a = null;
-        return self::initValue($a, 'item_yanlingbook');
-    }
-
-    /**
-     * @return \sm_item_yanlingbook item_yanlingbook item数据
-     */
-    public static function item_yanlingbook_getItem($itemid) {
-        return self::get_hash_item('item_yanlingbook', $itemid);
-    }
-
-    /**
-     * 言灵进阶表
-     * @return \yanling_upgrade
-     */
-    public static function yanling_upgrade() {
-        static $a = null;
-        return self::initValue($a, 'yanling_upgrade');
-    }
-
-    /**
-     * @return \sm_yanling_upgrade yanling_upgrade item数据
-     */
-    public static function yanling_upgrade_getItem($typeId, $grade) {
-        return self::get_hash_item('yanling_upgrade', $typeId)->$grade;
-    }
-
-    /**
-     * 功能引导模块
-     * @return \guide_module
-     */
-    public static function guide_module() {
-        static $a = null;
-        return self::initValue($a, 'guide_module');
-    }
-
-    /**
-     * @return \sm_guide_module guide_module item数据
-     */
-    public static function guide_module_getItem($itemid) {
-        return self::get_hash_item('guide_module', $itemid);
-    }
-
-    /**
-     * 活动: 七日签到
-     * @return \activity_day7
-     */
-    public static function activity_day7() {
-        static $a = null;
-        return self::initValue($a, 'activity_day7');
-    }
-
-    /**
-     * @return \sm_activity_day7 activity_day7 item数据
-     */
-    public static function activity_day7_getItem($itemid) {
-        return self::get_hash_item('activity_day7', $itemid);
-    }
-
-    /**
-     * 限购商城
-     * @return \shop_limit
-     */
-    public static function shop_limit() {
-        static $a = null;
-        return self::initValue($a, 'shop_limit');
-    }
-
-    /**
-     * @return \sm_shop_limit shop_limit item数据
-     */
-    public static function shop_limit_getItem($itemid) {
-        return self::get_hash_item('shop_limit', $itemid);
-    }
-
-    /**
-     * 月卡商城
-     * @return \shop_monthVIP
-     */
-    public static function shop_monthVIP() {
-        static $a = null;
-        return self::initValue($a, 'shop_monthVIP');
-    }
-
-    /**
-     * @return \sm_shop_monthVIP shop_monthVIP item数据
-     */
-    public static function shop_monthVIP_getItem($itemid) {
-        return self::get_hash_item('shop_monthVIP', $itemid);
-    }
-
-    /**
-     * 掉落数据表
-     * @return \drop
-     */
-    public static function drop() {
-        static $a = null;
-        return self::initValue($a, 'drop');
-    }
-
-    /**
-     * @return \sm_drop drop item数据
-     */
-    public static function drop_getItem($itemid) {
-        return self::get_hash_item('drop', $itemid);
-    }
-
-    /**
-     *
-     * @return \item_stones_type
-     */
-    public static function item_stones_type() {
-        static $a = null;
-        return self::initValue($a, 'item_stones_type');
-    }
-
-    /**
-     * @return \sm_item_stones_type item_stones_type itemArray
-     */
-    public static function item_stones_type_getItemArray($key) {
-        return self::get_hash_item('item_stones_type', $key);
-    }
-
-    /**
-     *
-     * @return \yanlingLevel_type
-     */
-    public static function yanlingLevel_type() {
-        static $a = null;
-        return self::initValue($a, 'yanlingLevel_type');
-    }
-
-    /**
-     * @return \sm_yanlingLevel_type yanlingLevel_type item数据
-     */
-    public static function yanlingLevel_type_getItem($type, $level) {
-        return self::get_hash_item('yanlingLevel_type', $type)->$level;
-    }
-
-    /**
-     * 言灵突破
-     * @return \yanlingextra_level
-     */
-    public static function yanlingextra_level() {
-        static $a = null;
-        return self::initValue($a, 'yanlingextra_level');
-    }
-
-    /**
-     * @return \sm_yanlingextra_level yanlingextra_level item数据
-     */
-    public static function yanlingextra_level_getItem($yanlingId, $starLv) {
-        return self::get_hash_item('yanlingextra_level', $yanlingId)->$starLv;
-    }
-
-    /**
-     * 世界boss排名奖励
-     * @return \worldboss_rankreward
-     */
-    public static function worldboss_rankreward() {
-        static $a = null;
-        return self::initValue($a, 'worldboss_rankreward');
-    }
-
-    /**
-     * @return \sm_worldboss_rankreward worldboss_rankreward item数据
-     */
-    public static function worldboss_rankreward_getItem($itemid) {
-        return self::get_hash_item('worldboss_rankreward', $itemid);
-    }
-
-    /**
-     * 世界boss排名奖励2
-     * @return \worldboss_rankreward2
-     */
-    public static function worldboss_rankreward2() {
-        static $a = null;
-        return self::initValue($a, 'worldboss_rankreward2');
-    }
-
-    /**
-     * @return \sm_worldboss_rankreward2 worldboss_rankreward2 item数据
-     */
-    public static function worldboss_rankreward2_getItem($itemid) {
-        return self::get_hash_item('worldboss_rankreward2', $itemid);
-    }
-
-    /**
-     * 学院积分兑换道具表
-     * @return \score
-     */
-    public static function score() {
-        static $a = null;
-        return self::initValue($a, 'score');
-    }
-
-    /**
-     * @return \sm_score score item数据
-     */
-    public static function score_getItem($itemid) {
-        return self::get_hash_item('score', $itemid);
-    }
-
-    /**
-     * 宝石配方表
-     * @return \gem_formula
-     */
-    public static function gem_formula() {
-        static $a = null;
-        return self::initValue($a, 'gem_formula');
-    }
-
-    /**
-     * @return \sm_gem_formula gem_formula item数据
-     */
-    public static function gem_formula_getItem($itemid) {
-        return self::get_hash_item('gem_formula', $itemid);
-    }
-
-    /**
-     * 宝石合成研究等级表
-     * @return \gem_researchlevel
-     */
-    public static function gem_researchlevel() {
-        static $a = null;
-        return self::initValue($a, 'gem_researchlevel');
-    }
-
-    /**
-     * @return \sm_gem_researchlevel gem_researchlevel item数据
-     */
-    public static function gem_researchlevel_getItem($itemid) {
-        return self::get_hash_item('gem_researchlevel', $itemid);
-    }
-
-    /**
-     * 任务根据类型区别
-     * @return \item_taskcard_type
-     */
-    public static function item_taskcard_type() {
-        static $a = null;
-        return self::initValue($a, 'item_taskcard_type');
-    }
-
-    /**
-     * @return \sm_item_taskcard_type item_taskcard_type itemArray
-     */
-    public static function item_taskcard_type_getItemArray($key) {
-        return self::get_hash_item('item_taskcard_type', $key);
-    }
-
-    /**
-     * 背包扩容次数及消耗
-     * @return \expandStoreNum
-     */
-    public static function expandStoreNum() {
-        static $a = null;
-        return self::initValue($a, 'expandStoreNum');
-    }
-
-    /**
-     * @return \sm_expandStoreNum expandStoreNum item数据
-     */
-    public static function expandStoreNum_getItem($itemid) {
-        return self::get_hash_item('expandStoreNum', $itemid);
-    }
-
-    /**
-     * 宝石属性
-     * @return \gemProperty
-     */
-    public static function gemProperty() {
-        static $a = null;
-        return self::initValue($a, 'gemProperty');
-    }
-
-    /**
-     * @return \sm_gemProperty gemProperty item数据
-     */
-    public static function gemProperty_getItem($itemid) {
-        return self::get_hash_item('gemProperty', $itemid);
-    }
-
-    /**
-     * 充值
-     * @return \recharge
-     */
-    public static function recharge() {
-        static $a = null;
-        return self::initValue($a, 'recharge');
-    }
-
-    /**
-     * @return \sm_recharge recharge item数据
-     */
-    public static function recharge_getItem($itemid) {
-        return self::get_hash_item('recharge', $itemid);
-    }
-
-    /**
-     * 特惠区别
-     * @return \shop_limit_type
-     */
-    public static function shop_limit_type() {
-        static $a = null;
-        return self::initValue($a, 'shop_limit_type');
-    }
-
-    /**
-     * @return \sm_shop_limit_type shop_limit_type itemArray
-     */
-    public static function shop_limit_type_getItemArray($key) {
-        return self::get_hash_item('shop_limit_type', $key);
-    }
-
-    /**
-     * 任务兼容表
-     * @return \taskJianRong
-     */
-    public static function taskJianRong() {
-        static $a = null;
-        return self::initValue($a, 'taskJianRong');
-    }
-
-    /**
-     * @return \sm_taskJianRong taskJianRong item数据
-     */
-    public static function taskJianRong_getItem($itemid) {
-        return self::get_hash_item('taskJianRong', $itemid);
-    }
-
-    /**
-     * 限时
-     * @return \shop_limitTs
-     */
-    public static function shop_limitTs() {
-        static $a = null;
-        return self::initValue($a, 'shop_limitTs');
-    }
-
-    /**
-     * @return \sm_shop_limitTs shop_limitTs item数据
-     */
-    public static function shop_limitTs_getItem($itemid) {
-        return self::get_hash_item('shop_limitTs', $itemid);
-    }
-
-    /**
-     * 限时类型区别
-     * @return \shop_limitTs_Type
-     */
-    public static function shop_limitTs_Type() {
-        static $a = null;
-        return self::initValue($a, 'shop_limitTs_Type');
-    }
-
-    /**
-     * @return \sm_shop_limitTs_Type shop_limitTs_Type itemArray
-     */
-    public static function shop_limitTs_Type_getItemArray($key) {
-        return self::get_hash_item('shop_limitTs_Type', $key);
-    }
-
-    /**
-     * 召唤卡
-     * @return \zhaohuanCard
-     */
-    public static function zhaohuanCard() {
-        static $a = null;
-        return self::initValue($a, 'zhaohuanCard');
-    }
-
-    /**
-     * @return \sm_zhaohuanCard zhaohuanCard item数据
-     */
-    public static function zhaohuanCard_getItem($itemid) {
-        return self::get_hash_item('zhaohuanCard', $itemid);
-    }
-
-    /**
-     * 场景出口对应关系
-     * @return \map_scene_relation
-     */
-    public static function map_scene_relation() {
-        static $a = null;
-        return self::initValue($a, 'map_scene_relation');
-    }
-
-    /**
-     * @return \sm_map_scene_relation map_scene_relation item数据
-     */
-    public static function map_scene_relation_getItem($mapId, $pointId) {
-        return self::get_hash_item('map_scene_relation', $mapId)->$pointId;
-    }
-
-    /**
-     * 地图探索
-     * @return \map_explorer
-     */
-    public static function map_explorer() {
-        static $a = null;
-        return self::initValue($a, 'map_explorer');
-    }
-
-    /**
-     * @return \sm_map_explorer map_explorer itemArray
-     */
-    public static function map_explorer_getItemArray($key) {
-        return self::get_hash_item('map_explorer', $key);
-    }
-
-    /**
-     * 武器商店
-     * @return \shop_weapon
-     */
-    public static function shop_weapon() {
-        static $a = null;
-        return self::initValue($a, 'shop_weapon');
-    }
-
-    /**
-     * @return \sm_shop_weapon shop_weapon itemArray
-     */
-    public static function shop_weapon_getItemArray($key) {
-        return self::get_hash_item('shop_weapon', $key);
-    }
-
-    /**
-     * 补给品商店
-     * @return \shop_supplies
-     */
-    public static function shop_supplies() {
-        static $a = null;
-        return self::initValue($a, 'shop_supplies');
-    }
-
-    /**
-     * @return \sm_shop_supplies shop_supplies item数据
-     */
-    public static function shop_supplies_getItem($npc, $items) {
-        return self::get_hash_item('shop_supplies', $npc)->$items;
-    }
-
-    /**
-     * 区域不同
-     * @return \map_scene_zoneid
-     */
-    public static function map_scene_zoneid() {
-        static $a = null;
-        return self::initValue($a, 'map_scene_zoneid');
-    }
-
-    /**
-     * @return \sm_map_scene_zoneid map_scene_zoneid itemArray
-     */
-    public static function map_scene_zoneid_getItemArray($key) {
-        return self::get_hash_item('map_scene_zoneid', $key);
-    }
-
-    /**
-     * 言灵套装表
-     * @return \yanling_compose
-     */
-    public static function yanling_compose() {
-        static $a = null;
-        return self::initValue($a, 'yanling_compose');
-    }
-
-    /**
-     * @return \sm_yanling_compose yanling_compose item数据
-     */
-    public static function yanling_compose_getItem($itemid) {
-        return self::get_hash_item('yanling_compose', $itemid);
-    }
-
-    /**
-     * 加成属性
-     * @return \eHeroAddProperties
-     */
-    public static function eHeroAddProperties() {
-        static $a = null;
-        return self::initValue($a, 'eHeroAddProperties');
-    }
-
-    /**
-     * @return \sm_eHeroAddProperties eHeroAddProperties item数据
-     */
-    public static function eHeroAddProperties_getItem($itemid) {
-        return self::get_hash_item('eHeroAddProperties', $itemid);
-    }
-
-    /**
-     * 玩家等级排行奖励表
-     * @return \rank_playerlevel_reward
-     */
-    public static function rank_playerlevel_reward() {
-        static $a = null;
-        return self::initValue($a, 'rank_playerlevel_reward');
-    }
-
-    /**
-     * @return \sm_rank_playerlevel_reward rank_playerlevel_reward item数据
-     */
-    public static function rank_playerlevel_reward_getItem($itemid) {
-        return self::get_hash_item('rank_playerlevel_reward', $itemid);
-    }
-
-    /**
-     * 新充值返利
-     * @return \rechargeRebate
-     */
-    public static function rechargeRebate() {
-        static $a = null;
-        return self::initValue($a, 'rechargeRebate');
-    }
-
-    /**
-     * @return \sm_rechargeRebate rechargeRebate item数据
-     */
-    public static function rechargeRebate_getItem($type, $rmb) {
-        return self::get_hash_item('rechargeRebate', $type)->$rmb;
-    }
-
-    /**
-     * 得给注释
-     * @return \duplicate_defense
-     */
-    public static function duplicate_defense() {
-        static $a = null;
-        return self::initValue($a, 'duplicate_defense');
-    }
-
-    /**
-     * @return \sm_duplicate_defense duplicate_defense item数据
-     */
-    public static function duplicate_defense_getItem($itemid) {
-        return self::get_hash_item('duplicate_defense', $itemid);
-    }
-
-    /**
-     * 言灵品阶进阶表
-     * @return \yanlingQuality
-     */
-    public static function yanlingQuality() {
-        static $a = null;
-        return self::initValue($a, 'yanlingQuality');
-    }
-
-    /**
-     * @return \sm_yanlingQuality yanlingQuality item数据
-     */
-    public static function yanlingQuality_getItem($typeId, $qualityId) {
-        return self::get_hash_item('yanlingQuality', $typeId)->$qualityId;
-    }
-
-    /**
-     * 金币兑换
-     * @return \goldexchange
-     */
-    public static function goldexchange() {
-        static $a = null;
-        return self::initValue($a, 'goldexchange');
-    }
-
-    /**
-     * @return \sm_goldexchange goldexchange item数据
-     */
-    public static function goldexchange_getItem($itemid) {
-        return self::get_hash_item('goldexchange', $itemid);
-    }
-
-    /**
-     * 日常商城表
-     * @return \shop_daily
-     */
-    public static function shop_daily() {
-        static $a = null;
-        return self::initValue($a, 'shop_daily');
-    }
-
-    /**
-     * @return \sm_shop_daily shop_daily item数据
-     */
-    public static function shop_daily_getItem($itemid) {
-        return self::get_hash_item('shop_daily', $itemid);
-    }
-
-    /**
-     * 日常商店
-     * @return \shop_daily_type
-     */
-    public static function shop_daily_type() {
-        static $a = null;
-        return self::initValue($a, 'shop_daily_type');
-    }
-
-    /**
-     * @return \sm_shop_daily_type shop_daily_type item数据
-     */
-    public static function shop_daily_type_getItem($type, $typeId) {
-        return self::get_hash_item('shop_daily_type', $type)->$typeId;
-    }
-
-    /**
-     * 公共兑换码
-     * @return \token_PublicGift
-     */
-    public static function token_PublicGift() {
-        static $a = null;
-        return self::initValue($a, 'token_PublicGift');
-    }
-
-    /**
-     * @return \sm_token_PublicGift token_PublicGift item数据
-     */
-    public static function token_PublicGift_getItem($itemid) {
-        return self::get_hash_item('token_PublicGift', $itemid);
-    }
-
-    /**
-     * 活动: 体力加油站
-     * @return \activity_tiligift
-     */
-    public static function activity_tiligift() {
-        static $a = null;
-        return self::initValue($a, 'activity_tiligift');
-    }
-
-    /**
-     * @return \sm_activity_tiligift activity_tiligift item数据
-     */
-    public static function activity_tiligift_getItem($itemid) {
-        return self::get_hash_item('activity_tiligift', $itemid);
-    }
-
-    /**
-     * 活动: 等级礼包
-     * @return \activity_levelgift
-     */
-    public static function activity_levelgift() {
-        static $a = null;
-        return self::initValue($a, 'activity_levelgift');
-    }
-
-    /**
-     * @return \sm_activity_levelgift activity_levelgift item数据
-     */
-    public static function activity_levelgift_getItem($itemid) {
-        return self::get_hash_item('activity_levelgift', $itemid);
-    }
-
-    /**
-     * 战力榜排行榜奖励
-     * @return \PaiMingReward_fpower
-     */
-    public static function PaiMingReward_fpower() {
-        static $a = null;
-        return self::initValue($a, 'PaiMingReward_fpower');
-    }
-
-    /**
-     * @return \sm_PaiMingReward_fpower PaiMingReward_fpower item数据
-     */
-    public static function PaiMingReward_fpower_getItem($itemid) {
-        return self::get_hash_item('PaiMingReward_fpower', $itemid);
-    }
-
-    /**
-     * 等级榜排行榜奖励
-     * @return \PaiMingReward_level
-     */
-    public static function PaiMingReward_level() {
-        static $a = null;
-        return self::initValue($a, 'PaiMingReward_level');
-    }
-
-    /**
-     * @return \sm_PaiMingReward_level PaiMingReward_level item数据
-     */
-    public static function PaiMingReward_level_getItem($itemid) {
-        return self::get_hash_item('PaiMingReward_level', $itemid);
-    }
-
-    /**
-     * 当前版本(时间戳)
-     * @return \ver
-     */
-    public static function ver() {
-        static $a = null;
-        return self::initValue($a, 'ver', false);
-    }
-
-    /**
-     * 客户端配置数据
-     * @return \client
-     */
-    public static function client() {
-        static $a = null;
-        return self::initValue($a, 'client', false);
+        return self::initValue($a, 'ver', false);
     }
+// </editor-fold>
 }

+ 20 - 108
Gameserver/App/model/User/Data_UserGame.php

@@ -15,77 +15,7 @@ class Data_UserGame extends HashSaver {
     public $baseInfo;
 
     /**
-     * 玩家仓库
-     * @var Info_Store
-     */
-    public $store;
-
-    /**
-     * 商城
-     * @var Info_UserShop
-     */
-    public $shopdata;
-
-    /**
-     * @var Info_UserSecretshop 玩家神秘商城数据
-     */
-    public $userSecretshop;
-
-    /**
-     * 英雄
-     * @var Info_UserGameHero
-     */
-    public $heros;
-
-    /**
-     * 私有字段
-     * @var Info_PrivateState
-     */
-    public $privateState;
-
-    /**
-     * 关卡
-     * @var Info_UserGateDifficulty
-     */
-    public $gates;
-
-    /**
-     * 新版地图信息v2022.3
-     * @var Info_NewMap
-     */
-    public $newMap;
-
-    /**
-     * 玩家任务卡商店数据
-     * @var Info_TaskCard_Shop
-     */
-    public $taskCardShop;
-
-    /**
-     *
-     * @var Info_UserPVP pvp信息
-     */
-    public $pvp;
-
-    /**
-     * 战斗队伍配置信息(使用时必须先json_decode)
-     * @var dictionary
-     */
-    public $heroTeamConfig;
-
-    /**
-     * 新手引导
-     * @var object
-     */
-    public $NewbieGuide;
-
-    /**
-     * @var Data_UserProfile 角色画像
-     */
-    public $profile;
-
-    /**
-     *
+     * 
      * @var Info_Pay
      */
     public $pay;
@@ -107,19 +37,10 @@ class Data_UserGame extends HashSaver {
      * @return \UserGameModel
      */
     public function initialize() {
-        my_Assert(GameConfig::primordial_data(), "找不到账号初始化数据");         # 防御
-        $this->baseInfo = new Info_UserBase();
+        my_Assert(GameConfig::primordial_data(), "找不到账号初始化数据");         # 防御        
         $this->baseInfo->initialize();
 
-        # 添加默认战队设置
-        $this->heroTeamConfig = GameConfig::primordial_data()->User_HeroTeamConfig;
-        $this->store->initialize();                                             # 添加默认物品
-        $this->privateState->currentId = count((array) $this->store->equipment) + 1;
-        $this->heros->InitializeHero();                                         # 添加初始英雄
-        $this->pvp = new Info_UserPVP();
-//        $this->task->initialize();                                              # 任务初始化
-        $this->taskCardShop = new Info_TaskCard_Shop();
-        //$this->college->initialize();//改为按天解锁了
+    
     }
 
     /**
@@ -128,33 +49,11 @@ class Data_UserGame extends HashSaver {
      */
     public function __construct($arg = null) {
         if (null === $arg) {                                                    # 未传参数的情况下
-            $this->shopdata = ObjectInit();                                     # 商城数据
-            $this->privateState = new Info_PrivateState();                      # 私有字段
-            $this->privateState->initialize();                                  # 初始化默认数据
-            $this->store = new Info_Store();                                    # 背包数据
-//            $this->store->initialize();                                         # 添加默认物品
-            $this->heros = new Info_UserGameHero();                             # 英雄数据
-//            $this->heros->InitializeHero();                                     # 添加初始英雄
-            $this->gates = new Info_UserGateDifficulty();                            # 初始化关卡默认数据
-            $this->newMap = new Info_NewMap();                                  # 初始化改版地图2022.3
-            $this->NewbieGuide = new Info_NewbieGuide();                        # 初始化新手引导结构
-            $this->userSecretshop = new Info_UserSecretshop();                  # 神秘商店
-            $this->taskCardShop = new Info_TaskCard_Shop();                     # 任务卡商店
-
-
-            $this->pay = new Info_Pay();
-            $this->profile = new Data_UserProfile();                                     # 初始化用户画像模块
+            $this->baseInfo = new Info_UserBase();
         } else {                                                                # 实参
-            parent::__construct($arg);                                          # 调用Object的构造函数
+            parent::__construct($arg);                                          # 调用Object的构造函数 
 
-            $this->base()->fixArray();
-            $this->privateData()->fixArray();
-            $this->taskCardShop()->fixArray();
-            $this->college()->fixArray();
-            $this->store()->fixArray();
-//            echoLine($this->shop());
-            $this->shop()->fixArray();
-//            echoLine($this->shop());
+            $this->base()->fixArray();           
         }
     }
 
@@ -303,6 +202,19 @@ class Data_UserGame extends HashSaver {
         return $this->profile;
     }
 
+    /**
+     * 圣哲学院
+     * @param bool $save 是否需要回存
+     * @return Info_College
+     */
+    public function college($save = true) {
+        $this->college = new Info_College($this->college);
+        if ($save) {
+            self::save_tag("college");
+        }
+        return $this->college;
+    }
+
     /**
      * 新手引导
      * @param bool $save 是否需要回存
@@ -329,6 +241,6 @@ class Data_UserGame extends HashSaver {
         return $this->heroTeamConfig;
     }
 
-    //
+    // 
 // </editor-fold>
 }

+ 0 - 81
Gameserver/App/model/User/Data_UserProfile.php

@@ -1,81 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 玩家付费模式数据画像
- */
-class Data_UserPaymentProfile extends Object_ext {
-
-    /**
-     * @var int 付费总额
-     */
-    public $payAmount = 0;
-
-    /**
-     * @var int 付费次数
-     */
-    public $payTimes = 0;
-
-    /**
-     * @var ts 上次付费时间戳
-     */
-    public $lastPayTs = 0;
-
-    /**
-     * 获得当前付费数据的分类
-     * 0:none(免费),1:fish(小R),2: Dolphin(海豚), 3: while(鲸鱼)
-     * @return int
-     */
-    public function GetClass() {
-        if ($this->payAmount <= 0) {              # 免费用户
-            return 0;
-        } else if ($this->payAmount < 100) {      # 100以下,小R
-            return 1;
-        } else if ($this->payAmount < 1000) {     # 1000以下,中产
-            return 2;
-        } else {                                  # 大于1k的都算大R了
-            return 3;
-        }
-    }
-
-}
-
-/**
- * 用户画像
- * @version
- *          1.0.0 Created at 2017-9-23. by --gwang
- * @author gwang (mail@wanggangzero.cn)
- * @copyright ? 2017-9-23, SJZ LoyalSoft Corporation & gwang. All rights reserved.
- */
-class Data_UserProfile extends Object_ext {
-//put your code here
-
-    /**
-     * 付费画像
-     * @var Data_UserPaymentProfile
-     */
-    public $payment;
-
-    public function OnPay($args = null) {
-        // 提取参数 extract or 直接按照名字提取
-        // 更新付费总额, 次数, 最后一次付费
-        if (null === $args || !is_array($args)) {
-            return false;
-        }
-        $amt = $args['amt'];
-        if ($amt) {                                  # 参数不为空
-            $this->payment->lastPayTs = now();
-            $this->payment->payAmount += $amt;
-            $this->payment->payTimes++;
-            return true;
-        }
-        return false;
-    }
-
-    public function __construct($arg = null) {
-        parent::__construct($arg);
-        $this->payment = new Data_UserPaymentProfile($this->payment);
-    }
-
-}

+ 0 - 26
Gameserver/App/model/User/Enum_EventActionType.php

@@ -1,26 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 动作事件类型枚举
- * @author gwang
- */
-class Enum_EventActionType extends Enum {
-
-    /**
-     * 触发场景剧情:场景id,剧情stage id
-     */
-    const StartPlotScene = 101;
-
-    /**
-     * 触发NPC对话剧情: NPCid,剧情stage id
-     */
-    const StartPlotNPC = 102;
-
-    /**
-     * 解锁建筑:建筑id
-     */
-    const UnlockBuild = 103;
-
-}

+ 0 - 132
Gameserver/App/model/User/Enum_EventType.php

@@ -1,132 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- *  事件类型定义
- *  author: gwang, 2020年11月30日17:56:01
- */
-class Enum_EventType {
-
-    /**
-     * hello world
-     */
-    const HelloWorld = "HelloWorld";
-
-    /**
-     * 给予道具
-     */
-    const AddItem = "AddItem";
-
-    /**
-     * 移除道具
-     */
-    const RemoveItem = "RemoveItem";
-
-    /**
-     * 给予任务卡
-     */
-    const AddTaskItem = "AddTaskItem";
-
-    /**
-     * 移除任务卡
-     */
-    const RemoveTaskItem = "RemoveTaskItem";
-
-    /**
-     * 任务进度更新
-     */
-    const MissionStepProcess = "MissionStepProcess";
-
-    /**
-     * 完成任务步骤
-     */
-    const MissionStepComplete = "MissionStepComplete";
-
-    /**
-     * 任务卡完成
-     */
-    const TaskCardFinished = "TaskCardFinished";
-
-    /**
-     * 激活一张任务卡
-     */
-    const TaskCardActived = "TaskCardActived";
-
-    /**
-     * 领取任务卡奖励
-     */
-    const TaskCardReward = "TaskCardReward";
-
-    /**
-     * 开启一段剧情对话
-     */
-    const StartPlot = "StartPlot";
-
-    /**
-     * 开启npc对话
-     */
-    const NpcDialog = "NpcDialog";
-
-//    -----------
-
-    /**
-     * 解锁建筑(功能)
-     */
-    const UnlockBuild = "UnlockBuild";
-
-    /**
-     * 解锁地图
-     */
-    const UnlockMap = "UnlockMap";
-
-    /**
-     * 指挥官等级提升
-     */
-    const UserLvlUP = 'Userlvlup';
-
-    /**
-     * 唤灵师等级提升
-     */
-    const HeroLvlUp = 'Herolvlup';
-    
-    /**
-     * 唤灵师突破
-     */
-    const HeroTuPo = 'HeroTuPo';
-
-    /**
-     * 武器升级
-     */
-    const WeaponLvUp = 'WeaponLvUp';
-    
-    /**
-     * 武器升级
-     */
-    const WeaponTuPo = 'WeaponTuPo';
-    
-    /**
-     * 言灵升级
-     */
-    const YanLingLvUp = 'YanLingLvUp';
-    
-    /**
-     * 言灵升级
-     */
-    const YanLingTuPo = 'YanLingTuPo';
-    
-    /*
-     * 支付成功
-     */
-    const PaySuccess = 'PaySuccess';
-    
-    /*
-     * 体力变化
-     */
-    const TiliChange = 'TiliChange';
-    
-    /*
-     * 
-     */
-    const HPMPItemConfigChange = 'HPMPItemConfigChange';
-}

+ 0 - 37
Gameserver/App/model/User/Enum_PropelType.php

@@ -1,37 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * Description of Enum_PropelType
- * 任务步骤推进类型
- * @author gwang
- */
-class Enum_PropelType extends Enum {
-
-    /**
-     * 直接设置某个值
-     */
-    const set = 0;
-
-    /**
-     * 直接增加某个值
-     */
-    const add = 1;
-
-    /**
-     * 累加1
-     */
-    const inc = 2;
-
-    /**
-     * 设置最大值
-     */
-    const max = 3;
-
-    /**
-     * 统计状态类的
-     */
-    const stat = 4;
-
-}

+ 0 - 79
Gameserver/App/model/User/Enum_Recharge.php

@@ -1,79 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * Description of Enum_Recharge
- *
- * @author cyzhao
- */
-class Enum_Recharge extends Enum {
-
-    /**
-     * 限购
-     */
-    const LimitBuy = 1;
-
-    /*
-     * 月卡
-     */
-    const monthRecharge = 2;
-
-    /*
-     * 充值
-     */
-    const recharge = 3;
-
-    /*
-     * 每日特惠
-     */
-    const DaliySpecialPackages = 4;
-    //限时活动礼包
-    const limitTsActiveGift = 5;
-
-    /*
-     * 限时随机礼包
-     */
-    const limitTsRandGift = 6;
-
-    /*
-     * 充值返利
-     */
-    const RechargeRebate = 7;
-
-    /**
-     * 首冲
-     */
-    const FirstRecharge = 8;
-
-    /**
-     * 累充
-     */
-    const Accumulate = 9;
-    
-    /**
-     * 新的首充
-     */
-    const FirstRecharge_new = 10;
-    
-    /**
-     * 每日每周累计金额奖励
-     */
-    const DayAccumulateRecharge = 11;
-    
-    /**
-     * 
-     */
-    const WeekAccumulateRecharge = 12;
-
-    /**
-     * 终身礼包
-     */
-    const LifelongGift = 13;
-    
-    /**
-     * 套装礼包
-     */
-    const SuitGift = 14;
-
-}

+ 0 - 36
Gameserver/App/model/User/Enum_TaskCardStateType.php

@@ -1,36 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 任务卡状态类型
- * @author gwang
- */
-class Enum_TaskCardStateType {
-
-    /**
-     * 全部
-     */
-    const all = 0;
-
-    /**
-     * 未开启(未激活)
-     */
-    const notopen = 1;
-
-    /**
-     * 进行中(已激活)
-     */
-    const ing = 2;
-
-    /**
-     * 已完成(未领奖)
-     */
-    const finish = 3;
-
-    /**
-     * 已领奖(可能会被删除)
-     */
-    const drawed = 4;
-
-}

+ 0 - 63
Gameserver/App/model/User/Enum_TaskCmdType.php

@@ -1,63 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 任务类型枚举 用于任务进度对比,参数传递.
- */
-class Enum_TaskCmdType extends Enum {
-
-    const CommanderLevelUpTo = 11;                                              # 玩家等级达到x级  (num:level,paras:[]) (跳关卡选择)
-    const HeroLevelUpTo = 12;                                                   # 唤灵师等级达到x级(num:level,paras:[herotypeid])(hero属性)
-    const HeroGradeUpTo = 13;                                                   # 唤灵师升阶
-    const HeroSegmentNumberTo = 14;                                             #
-    const HeroSkillUnlock = 15;                                                 #
-    const HeroWearupWeapon_quality = 16;                                        # 唤灵师装备X品质的武器(num:1,paras:[herotypeId,quality])(装备界面)
-    const HeroWearupYanling = 17;                                               # 唤灵师装备xx(id)言灵 (num:1,paras:[herotypeId,yanlingid])(言灵配置界面)
-    const AnyYanlingLevelUp = 18;                                               # 任意言灵等级提升(num:1,paras:[])(言灵详情界面)
-    const HeroWearUpXYanlingWithQualityN = 19;                                  # # 装备任意N品质言灵X次(num:数量x, paras:[品质n]) (跳英雄列表界面)
-    const HeroWearingYanling = 20;                                              # 唤灵师装备了(状态)任意言灵(num:1, paras:[herotypeId]) (跳言灵配置界面) -2022.10.26
-    // -----
-    const PassGateN = 21;                                                       # 通过指定剧情关卡(num:1,paras:[关卡id, 难度(1,2,3)])(跳关卡选择)
-    const passEndlessCarbonN = 22;                                              # 通关无尽塔第xx层(num:1,paras:[关卡id, 层数]) (跳无尽塔)
-    const PassWorldBoss = 23;                                                   # 完成一次boss战胜利(num:1, paras:[关卡id]) (跳关卡id)
-    const PassMaterialCarbonN = 24;                                             # # 通关材料副本,xx层(num:1, paras:[关卡id,层级])(跳转待定)
-    const HeroGradeUpTo_status = 25;                                            #唤灵师突破状态
-    
-    // -------------
-    const PvPWinNumberTo = 31;
-    const PvPScoreTo = 32;
-    const UserPowerTo = 33;
-    const UserCollectScoreTo = 34;
-    // -----------------
-    const UserOwnXYanlingWithQualityN = 41;                                     # # 玩家拥有x个n品质的言灵(num:数量x, paras:[品质n]) (跳)
-    const HeroWearingWeapon_Except = 42;                                        # 唤灵师装备了(状态)除(xx)外的任意武器(num:1, paras:[herotypeId, Ex_WeaponMoid(刨除的武器id)]) (跳言灵配置界面) -2022.10.26
-    // ----------- 每日任务 -------
-    const DailyLogin = 101;                                                     # 玩家登录(num:1, paras:[])(无前往)
-    const DailyHeroImprove = 102;                                               # 唤灵师升级(num:次数, paras:[])(跳英雄列表界面)
-    const DailyGatesWin = 103;                                                  # 通关主线关卡(num:次数, paras:[])(跳转剧情关卡选择界面)
-    const DailyPVP = 104;                                                       # 暂不支持
-    const DailyRankChalenge = 105;                                              # 暂不支持
-    const DailyShopping = 106;                                                  # 暂不支持
-    const DailyBossChallenge = 107;                                             # 参数boss战(num:次数,paras:[])(跳转boss战选择界面)
-    #
-    // ---------  任务卡  --------
-    const KillMonster = 201;                                                    # 击杀怪物 (num:数量,paras:[怪物id]) (跳到某个关卡)
-    const GainItem = 202;                                                       # 获得道具 (num:数量,paras:[道具id]
-    const PlotOver = 203;                                                       # 对话结束 (num:1,paras:[gateid,stage]
-    const BuyTaskCard_Num = 204;                                                # 购买任务卡_带数量(num:数量,paras:[]) (跳任务卡商店)
-    const FinishTaskCard_noID = 205;                                            # 完成任务_不指定id(num:1,paras:[]) (无前往)
-    const DrawSysMail_ID = 206;                                                 # 领取系统邮件_指定id(num:1,paras:[邮件id]) (跳邮件界面)
-    const GetSchoolTask = 207;                                                  # 领取任意一个学院课程(num:1,paras[])(学院界面)
-    const FinishSchoolTask = 208;                                               # 完成任意一个学院课程(num:1,paras:[])(学院界面)
-    const FinishAllSchoolTaskOfGrade = 209;                                     # 完成指课程的全部任务(num:1,paras:[courseId])(学院界面)
-    const TempleLottery = 210;                                                  # 完成一次神庙抽奖(num:1, paras:[]) (跳转神庙界面)
-    const FinishXCardWithQualityN = 211;                                        # # 完成x张N品质的任务卡(num:数量x, paras:[品质n])(跳转任务卡背包)
-    const FinishXYanlingCardAboutQualityN = 212;                                # # 完成X张N品质的言灵召唤卡.(num:数量x, paras:[品质n])(跳转任务卡背包)
-    const UpgradeXYanlingToNStar = 213;                                         # # 将X个言灵突破到N星.(num:数量x, paras:[星阶n])(跳转言灵背包) num是动作,星阶n是状态
-    const UpgradeXWeaponToNStar = 214;                                          # # 将X武器突破到N星.(num:数量x, paras:[星阶n])(跳转武器背包)num是动作,星阶n是状态
-    const WeaponLevelUp = 215;                                                  # 将特定的武器升级到X级(num 等级数,paras:武器id)
-    const YanlingLevelUp = 216;                                                 # 将指定的言灵X升级到N级.(num: n, paras:[x]) (跳转待定)
-    const AnyWeaponLevelUp = 217;                                               # 将任意的武器升级到X级(num 等级数,paras:[])
-
-}

+ 0 - 15
Gameserver/App/model/User/Info_NewbieGuide.php

@@ -1,15 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * Description of Info_NewbieGuide
- * 新手引导
- * @author gwang
- */
-class Info_NewbieGuide extends Object_ext {
-
-    //put your code here
-    public $guideStep = 0;
-
-}

+ 0 - 34
Gameserver/App/model/User/Info_Pay.php

@@ -1,34 +0,0 @@
-<?php
-
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-namespace loyalsoft;
-
-/**
- * Description of Info_Pay
- *
- * @author cyzhao
- */
-class Info_Pay extends Object_ext {
-    /**
-     * 首冲礼包领取标志
-     * @var type
-     */
-    public $firstRechage = 0;
-    
-    /**
-     * 构造函数
-     * @param type $args
-     */
-    public function __construct($args = null) {    
-        if($args == null){
-            
-        } else {
-            parent::__construct($args);   
-        }                    
-    }
-}

+ 0 - 257
Gameserver/App/model/User/Info_PrivateState.php

@@ -1,257 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * Description of Info_PrivateState
- * 私有状态标志字
- */
-class Info_PrivateState extends Object_ext {
-// ------------字段声明-------------
-
-    /**
-     * @var int 武器/言灵的uid,递增
-     */
-    public $currentId = 0;
-
-    /**
-     *
-     * @var int 物品的背包格子的上限 目前和李宁协商的结果是:抽奖可以超上限,物品合成可以超上限,任务奖励可以超上限,只有战斗时候会有限制超过上限,如果继续战斗的话,战斗的奖励品将不会获取.
-     */
-    public $maxItemNum = 100;
-
-    /**
-     *
-     * @var int 物品背包格子的数量.
-     */
-    public $ItemNum = 0;
-
-    /**
-     * 上次获取体力的时间戳
-     * @var int
-     */
-    public $TiliTime;
-
-    /**
-     * 登录天数
-     * @var array[12345,12347,...]
-     */
-    #[ArrayType]
-    public $LoginDays = array();
-
-    /**
-     * @var array[1,2,3,4,5,6,7] 7日签到领取数据
-     */
-    #[ArrayType]
-    public $day7_drawed = array();
-
-    /**
-     * @var array 兑换码使用记录
-     */
-    #[ArrayType]
-    public $usedTokens = array();
-
-    /**
-     * @var int 在线礼包累计时长
-     */
-    public $onlineGiftts = 0;
-
-    /**
-     * @var [int] 当前在线礼包ID(每天清空)
-     */
-    #[ArrayType]
-    public $onlineGiftIDs = array();
-
-    /**
-     * @var array 全服注册礼包领取记录
-     */
-    #[ArrayType]
-    public $drawedRegGift = array();
-
-    /**
-     * @var boolean 首付礼包是否领取
-     */
-    public $firstPayGift = false;
-
-    /**
-     * @var array 每日领取的体力奖励记录
-     */
-    #[ArrayType]
-    public $dailyDrawedTiliGift = array();
-
-    /**
-     * 排行榜, 战力突破奖领取记录
-     * @var array
-     */
-    #[ArrayType]
-    public $RankFpowerRewardRec = array();
-
-    /**
-     * 排行榜, 通关记录突破奖励领取记录----改成了玩家等级榜
-     * @var type
-     */
-    #[ArrayType]
-    public $RankPassGateRewardRec = array();
-
-    /**
-     * @var int 上次检查被挑战记录的时间戳
-     */
-    public $lastCheckDefLog_ts = 0;
-
-    /**
-     * 角标通知缓存
-     * @var array[int]
-     */
-    #[ArrayType]
-    public $cornerSignNotifications = array();
-
-    /**
-     * 已解锁建筑
-     * @var array[int]
-     */
-    #[ArrayType]
-    public $unlockedBuild = array();
-
-    /**
-     * 已经解锁得npc
-     * @var type
-     */
-    #[ArrayType]
-    public $unlockNpc = array();
-
-    /**
-     * @var int 无尽塔的当前进度
-     */
-    public $endlessTower = 1;
-
-    /**
-     * @var int[] 无尽塔的特殊奖励领取记录, 只增不减
-     */
-    #[ArrayType]
-    public $endlessTower_rewarded = array();
-
-    /**
-     * @var stdClass 材料副本每日挑战记录
-     */
-    public $materialDailyChallengeRecord;
-
-    /**
-     * @var stdClass 任务卡追踪信息 { "1":2345,"2":0,"3":0,"4":0 }
-     */
-    public $taskCardTracing;
-
-    /**
-     * 背包扩容次数
-     * @var type
-     */
-    public $expandNum = 0;
-
-    /**
-     * 每日购买体力次数记录,每日重置
-     */
-    public $buyTiliNum = 0;
-
-    /**
-     * 任务兼容处理索引
-     * @var type
-     */
-    public $taskJianRong_index = 0;
-
-    /**
-     * 原地复活次数
-     */
-    public $battleReviveNum = 0;
-
-    /**
-     * 在线礼包领取时间记录
-     * @var type
-     */
-    public $onlineGiftClearTs = 0;
-
-    /**
-     * 出生点
-     * @var type
-     */
-    public $bornPlace = 0;
-
-    /**
-     * 悬赏任务完成个数记录
-     * @var type
-     */
-    public $shopTaskCompleteNum = 0;
-    public $tiliRecord = 0;
-
-    /**
-     * 每天累计时间,每日重置
-     * @var type
-     */
-    public $onlineTs = 0;
-
-    /**
-     * 删档测试处理字段
-     * @var type
-     */
-    public $deltest = 1;
-
-    /**
-     * 已领取的等级奖励礼包id
-     * @var array
-     */
-    #[ArrayType]
-    public $gettedLevelGiftIds = array();
-
-// <editor-fold defaultstate="collapsed" desc="    初始化    ">
-
-    /**
-     * 玩家注册时初始化, 用于给各个字段赋默认初始值
-     */
-    public function initialize() {
-        $this->maxItemNum = GameConfig::primordial_data()->User_Private_MaxItem_num; # Ps.默认100;
-        $this->TiliTime = now();
-        my_default_Obj($this->taskCardTracing);
-    }
-
-    public function fixArray() {
-
-        $class = new \ReflectionClass(__CLASS__);                               # 建立这个类的反射对象
-        $properties = $class->getProperties();                                  # 拉取所有静态属性
-
-        foreach ($properties as $p) {
-            isEditor() and $p = new \ReflectionProperty();
-            $attrs = $p->getAttributes("loyalsoft\ArrayType");
-            if (count($attrs) > 0) {
-                $v = self::ConsureArr($p->getValue($this));
-                $p->setValue($this, $v);
-            }
-        }
-
-//        $this->LoginDays = self::ConsureArr($this->LoginDays);
-//        $this->day7_drawed = self::ConsureArr($this->day7_drawed);
-//        $this->RankFpowerRewardRec = self::ConsureArr($this->RankFpowerRewardRec);
-//        $this->RankPassGateRewardRec = self::ConsureArr($this->RankPassGateRewardRec);
-//        $this->onlineGiftIDs = self::ConsureArr($this->onlineGiftIDs);
-//        $this->unlockedBuild = self::ConsureArr($this->unlockedBuild);
-//        $this->unlockNpc = self::ConsureArr($this->unlockNpc);
-//        $this->cornerSignNotifications = self::ConsureArr($this->cornerSignNotifications);
-//        $this->endlessTower_rewarded = self::ConsureArr($this->endlessTower_rewarded);
-    }
-
-    private static function ConsureArr($mix) {
-        if (is_array($mix)) {
-            return $mix;
-        }
-        return (array) $mix;
-    }
-
-    /**
-     * 添加已经解锁得npc
-     * @param type $npcId
-     */
-    public function addUnlockNpc($npcId) {
-        if (!in_array($npcId, $this->unlockNpc)) {
-            $this->unlockNpc[] = $npcId;
-        }
-    }
-
-// </editor-fold>
-}

+ 0 - 175
Gameserver/App/model/User/Info_Store.php

@@ -1,175 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * Description of StoreModel
- * 玩家背包/仓库数据模型
- * @author gwang
- */
-class Info_Store extends Object_ext {
-
-    /**
-     * 其他道具
-     * @var array
-     */
-    public $items;
-
-    /**
-     * 任务卡道具(存在叠加)
-     * @var array
-     */
-    public $taskcards;
-
-    /**
-     * 装备, 能强化升级, 独立于其它道具
-     * @var type
-     */
-    public $equipment;
-
-    /**
-     * @var 言灵,能强化升级, 独立于其它道具
-     */
-    public $yanling;
-
-    /**
-     * 宝箱
-     * @var array
-     */
-    public $boxes;
-
-    /**
-     * 英雄碎片,叠加
-     * @var object
-     * @deprecated since version 0
-     */
-    public $segement;
-
-    /**
-     * 触发限时随机礼包的记录
-     * @var type
-     */
-    #[ArrayType]
-    public $triggerLimitTsGift = array();
-
-    /**
-     * 商店武器每日刷新出的武器id----不同地区npc不同
-     * @var type
-     */
-    public $weaponPool = null;
-
-    /**
-     * 万一所有的武器都随机完了那,只能在重置武器池重新刷新,这个就是保存购买记录的
-     * @var type
-     */
-    public $weaponReward = null;
-
-    /*
-     * 储物间
-     */
-    public $storage = null;
-
-    /*
-     * 战斗中使用的血瓶等消耗品
-     */
-    public $battleItem = null;
-
-    /*
-     * 每日任务--交付任务是否领取奖励---2022-7-26这个字段意义重新定义
-     */
-    public $dailyTask_HandOver = 0;
-
-    /**
-     * 背包里item新的标志记录
-     * @var type
-     */
-    #[ArrayType]
-    public $itemRecord = array();
-
-    /**
-     * 背包里武器新的标志记录
-     * @var type
-     */
-    #[ArrayType]
-    public $weaponRecord = array();
-
-    /**
-     * 背包里言灵新的标志记录
-     * @var type
-     */
-    #[ArrayType]
-    public $yanlingRecord = array();
-
-    /**
-     * 玩家注册时初始化
-     */
-    public function initialize() {
-        $this->boxes = GameConfig::primordial_data()->User_Store_boxes;
-        $this->taskcards = ObjectInit();
-        StoreProc::PutTaskCardInStore(601100022);                               # 进杰: 直接设定第一张任务卡, --gwang 2022年2月25日11:16:18
-        $this->items = JsonUtil::decode(GameConfig::primordial_data()->User_Store_items);         # 初始含有一张黄金通知书
-        $this->equipment = JsonUtil::decode(GameConfig::primordial_data()->User_Store_equipment); # 装备初始化数据
-        $this->yanling = JsonUtil::decode(GameConfig::primordial_data()->User_Store_yanling);     # 言灵初始化数据
-        $this->segement = JsonUtil::decode(GameConfig::primordial_data()->User_Store_segment);    # 碎片
-
-        $this->weaponPool = ObjectInit();
-        $this->weaponReward = ObjectInit();
-
-        $key = 1;
-        $key2 = 2;
-        $this->storage = ObjectInit();
-        $this->storage->$key = new Ins_storage();
-        $this->storage->$key2 = new Ins_storage();
-
-        $this->battleItem = ObjectInit();
-    }
-
-    /**
-     * 返回指定物品的数量
-     */
-    function GetItemCount($typeId) {
-        if (property_exists($this->items, $typeId)) {
-            return $this->items->$typeId;
-        }
-        return 0;
-    }
-
-    /**
-     * 从背包中移除道具(可堆叠)
-     * @param type $typeId
-     * @param type $num
-     * @return type
-     */
-    function RemoveItemFromStore($typeId, $num) {
-        my_Assert(CommUtil::isPropertyExists($this->items, $typeId), ErrCode::store_itemno_err); # 没有这个道具
-        my_Assert($this->items->$typeId >= $num, ErrCode::store_itemnotenough); # 数量不足
-        $this->items->$typeId -= $num;
-        if ($this->items->$typeId == 0) {
-            unset($this->items->$typeId);
-            if (in_array($typeId, ctx()->store->itemRecord)) {
-                StlUtil::arrayRemove(ctx()->store->itemRecord, $typeId);
-            }
-        }
-        NormalEventProc::OnBag_Remove_Item($typeId, $num);                      # 插入事件
-        return ErrCode::ok;
-    }
-
-    /**
-     * 扣除玩家碎片
-     * @param int $segmentId 碎片ID
-     * @param int $amt  数量
-     * @return boolean true 成功, false 失败
-     */
-    function Consume_HeroSegment($segmentId, $amt) {
-        if ($amt > 0) {
-            if (CommUtil::isPropertyExists($this->items, $segmentId)) {
-                if ($this->items->$segmentId - $amt >= 0) {
-                    $this->items->$segmentId -= $amt;
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-}

+ 43 - 144
Gameserver/App/model/User/Info_UserBase.php

@@ -62,12 +62,6 @@ class Info_UserBase extends Object_ext {
      */
     public $cash;
 
-    /**
-     * 分解后得倒的晶石
-     * @var int
-     */
-    public $spar;
-
     /**
      * 体力值
      * @var int
@@ -84,41 +78,12 @@ class Info_UserBase extends Object_ext {
      * @var type
      */
     public $maxXp = 0;
-
-    /**
-     * @var int 好友赠送友情点数
-     */
-    public $friendPoint = 0;
-
+    
     /**
      * @var int 历史充值总金额(单位:分)
      */
     public $charge_amt = 0;
-
-    /**
-     * @var int 游戏内赠送游戏币总额
-     */
-    public $gift_cash = 0;
-
-    /**
-     * 言灵等级消耗的资源点
-     * @var type
-     */
-    public $resPoint = 0;
-
-    /**
-     * 充值功能充值记录--2022-10-18废弃字段  --晨叶
-     * -- 2022.10.18 重新启用, 商城累充功能 --gwang 2022.10.19 再次废弃
-     * @var type
-     */
-    public $rechargeFun_amt = 0;
-
-    /**
-     * 购买金币次数
-     * @var type
-     */
-    public $buyGoldNum = 0;
-
+    
     /**
      * 新解锁的头像框
      * @var type
@@ -127,53 +92,29 @@ class Info_UserBase extends Object_ext {
     public $headImgFrameList = array();
 
     public function initialize() {
-        my_Assert(GameConfig::primordial_data(), "找不到账号初始化数据");         # 防御
-        $this->gold = GameConfig::primordial_data()->User_Gold;
-        $this->cash = GameConfig::primordial_data()->User_Cash;
-        $this->xp = GameConfig::primordial_data()->User_XP;
-        $this->tili = GameConfig::globalsettings()->TiliMaxVal;                 # 最大体力
-        $this->maxXp = 0;
-        $this->level = 1;
-        $this->name = '步惊云';
-        $this->spar = 0;
-        $this->headImg = GameConfig::primordial_data()->User_head;
-        $this->img = GameConfig::primordial_data()->User_img;
+//        my_Assert(GameConfig::primordial_data(), "找不到账号初始化数据");         # 防御
+//        $this->gold = GameConfig::primordial_data()->User_Gold;
+//        $this->cash = GameConfig::primordial_data()->User_Cash;
+//        $this->xp = GameConfig::primordial_data()->User_XP;
+//        $this->tili = GameConfig::globalsettings()->TiliMaxVal;                 # 最大体力
+//        $this->maxXp = 0;
+//        $this->level = 1;
+//        $this->name = '步惊云';
+//        $this->spar = 0;
+//        $this->headImg = GameConfig::primordial_data()->User_head;
+//        $this->img = GameConfig::primordial_data()->User_img;
     }
 
     // <editor-fold defaultstate="collapsed" desc="  方法  ">
     //
 
-    /**
-     * 增加资源点
-     * @param int $amt
-     */
-    function Add_resPoint($amt) {
-        my_Assert($amt >= 0, "参数为负");
-        $this->resPoint += $amt;
-    }
-
-    /**
-     * 扣除资源点
-     * @param type $amt
-     * @return boolean true:成功, false:资源点不足
-     */
-    function Consume_ResPoint($amt) {
-        if ($amt > 0) {
-            if ($this->resPoint - $amt >= 0) {
-                $this->resPoint -= $amt;
-                return true;
-            }
-        }
-        return false;
-    }
-
     /**
      * 给玩家增加体力
      * @param int $amt
      */
     function Add_tili($amt) {
         my_Assert($amt >= 0, "体力amt小于0");
-        ActiveProc::ChangeTili($amt);
+        //ActiveProc::ChangeTili($amt);
     }
 
     /**
@@ -183,12 +124,6 @@ class Info_UserBase extends Object_ext {
     function Add_Gold($amt, $mask = 0) {
         my_Assert($amt >= 0, "参数为负");
 
-        if ($mask == 1) {
-            UserProc::CollectUserBaseParam(req()->cmd, 2, $this->gold, $amt, $this->gold + $amt, "关卡战斗掉落金币");
-        } else {
-            UserProc::CollectUserBaseParam(req()->cmd, 2, $this->gold, $amt, $this->gold + $amt, "获得金币");
-        }
-
         $this->gold += $amt;
     }
 
@@ -197,10 +132,9 @@ class Info_UserBase extends Object_ext {
      * @param int $amt
      * @return boolean true:成功, false:金币不足
      */
-    function Consume_Gold($amt, $mask = 0) {
+    function Consume_Gold($amt) {
         if ($amt > 0) {
-            if ($this->gold - $amt >= 0) {
-                UserProc::CollectUserBaseParam(req()->cmd, 2, $this->gold, $amt, $this->gold - $amt, "消耗金币");
+            if ($this->gold - $amt >= 0) {               
                 $this->gold -= $amt;
                 return true;
             }
@@ -212,15 +146,9 @@ class Info_UserBase extends Object_ext {
      * 增加用户钻石
      * @param type $amt
      */
-    function Add_Cash($amt, $mask = 0) {
+    function Add_Cash($amt) {
         my_Assert($amt >= 0, "amt值为负");
 
-        if ($mask == 1) {
-            UserProc::CollectUserBaseParam(req()->cmd, 3, $this->cash, $amt, $this->cash + $amt, "关卡战斗掉落钻石");
-        } else {
-            UserProc::CollectUserBaseParam(req()->cmd, 3, $this->cash, $amt, $this->cash + $amt, "获得钻石");
-        }
-
         $this->cash += $amt;
     }
 
@@ -229,73 +157,44 @@ class Info_UserBase extends Object_ext {
      * @param int $amt
      * @return bool 成功与否
      */
-    function Consume_Cash($amt, $mask = 0) {
+    function Consume_Cash($amt) {
         if ($amt >= 0) {
-            if ($this->cash - $amt >= 0) {
-                UserProc::CollectUserBaseParam(req()->cmd, 3, $this->cash, $amt, $this->cash - $amt, "消耗钻石");
+            if ($this->cash - $amt >= 0) {             
                 $this->cash -= $amt;
                 return true;
             }
         }
         return false;
-    }
-
-    /**
-     * 增加用户友情点
-     * @param type $amt
-     */
-    function Add_FriendPoint($amt) {
-        my_Assert($amt >= 0, "amt值为负");
-        $this->friendPoint += $amt;                                             # 业务逻辑
-    }
-
-    /**
-     * 扣除玩家友情点
-     * @param int $amt
-     */
-    function Consume_FriendShipPoint($amt) {
-        if ($amt > 0) {
-            if ($this->friendPoint - $amt >= 0) {
-                $this->friendPoint -= $amt;
-                return true;
-            }
-        }
-        return false;
-    }
+    }   
 
     /**
      * 用户获得经验值
      * @param int $amt
      */
     function Add_Exp($amt) {
-        my_Assert($amt >= 0, "amt值为负");
-        $cfgLVs = GameConfig::playerlevel();
-
-        UserProc::CollectUserBaseParam(req()->cmd, 1, $this->xp, $amt, $this->xp + $amt, "获得经验");
-        $this->xp += $amt;
-        $initLevel = $curLevel = $this->level;
-        $nextLevel = $curLevel + 1;
-        while ($this->xp >= $cfgLVs->$nextLevel->xp_need) {                     # 超过升级所需经验
-            if ($this->level < glc()->Game_MaxPlayerLevel) {                    # 如果未到达最大等级
-                $this->level++;
-                $this->xp -= $cfgLVs->$nextLevel->xp_need;
-                $curLevel = $this->level;
-                $nextLevel = $curLevel + 1;
-                my_Assert(CommUtil::isPropertyExists($cfgLVs, $nextLevel), ErrCode::err_const_no); // "取英雄升级常量数据失败." . $nextLevel . "级");
-                $this->maxXp = $cfgLVs->$nextLevel->xp_need;
-//                StatProc::UserLevel($nowlv);                                  # 等级统计
-            } else {                                                            # 如果已到达最大等级则仅补齐缺失的经验即可
-                $this->xp = $this->maxXp;                                       # 经验不能超过最大值
-                break;
-            }
-        }
-        if ($this->level != $initLevel) {                                       # 插入玩家升级的系统消息
-            SystemProc::UserLevelUp(req()->zoneid, $this, $this->level);
-            TaskProc::OnUserLevelUp($this->level);                              # 通知任务模块,这里应该有事件模块
-            EventProc::OnUserLevelup($initLevel, $this->level);                 # 事件模块 
-
-            RankProc::recordPlayerLevelInfo(req()->uid, $this->level, req()->zoneid);
-        }
+//        my_Assert($amt >= 0, "amt值为负");
+//        $cfgLVs = GameConfig::playerlevel();
+//     
+//        $this->xp += $amt;
+//        $initLevel = $curLevel = $this->level;
+//        $nextLevel = $curLevel + 1;
+//        while ($this->xp >= $cfgLVs->$nextLevel->xp_need) {                     # 超过升级所需经验
+//            if ($this->level < glc()->Game_MaxPlayerLevel) {                    # 如果未到达最大等级
+//                $this->level++;
+//                $this->xp -= $cfgLVs->$nextLevel->xp_need;
+//                $curLevel = $this->level;
+//                $nextLevel = $curLevel + 1;
+//                my_Assert(CommUtil::isPropertyExists($cfgLVs, $nextLevel), ErrCode::err_const_no); // "取英雄升级常量数据失败." . $nextLevel . "级");
+//                $this->maxXp = $cfgLVs->$nextLevel->xp_need;
+////                StatProc::UserLevel($nowlv);                                  # 等级统计
+//            } else {                                                            # 如果已到达最大等级则仅补齐缺失的经验即可
+//                $this->xp = $this->maxXp;                                       # 经验不能超过最大值
+//                break;
+//            }
+//        }
+//        if ($this->level != $initLevel) {                                       # 插入玩家升级的系统消息
+//           
+//        }
     }
 
     //

+ 0 - 215
Gameserver/App/model/User/Info_UserTask.php

@@ -1,215 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 玩家任务数据
- * @author wanggangzero@qq.com
- * @deprecated since version 0 已经被废弃(呵呵, 是这次策划又启动相似功能时发现废弃的2021.9.26)
- * @version 1.0.0 2020.7.8 created by gwang
- */
-class Info_UserTask extends Object_ext {
-
-    /**
-     * 当前任务节点id
-     * @var int
-     */
-    public $curTaskNode;
-
-    /**
-     * 当前关注任务id
-     * @var int
-     */
-    public $curTaskId;
-
-    /**
-     * 剧情任务实例列表 {id:{progress:0.4,rewardgeted:0}...}
-     * @var dict
-     */
-    public $taskListPlot;
-
-    /**
-     * 每日任务实例列表 {id:{progress:0.4,rewardgeted:0}...}
-     * @var dict
-     */
-    public $taskListDaily;
-
-    /**
-     * @var int 每日重置记录
-     */
-    public $dailyResetTs = 0;
-
-    /**
-     * @var int 每日活跃点数
-     */
-    public $dailyActivePoint = 0;
-
-    /**
-     * @var array 日常任务活跃度阶段奖励领取记录
-     */
-    public $dailyActiveGetedRewardArr = array();
-
-    public function __construct($args = null) {
-        parent::__construct($args);
-        if (null == $args) {
-            $this->curTaskNode = 4000001;
-            $this->curTaskId = 0;
-            $this->taskListDaily = ObjectInit();
-            $this->taskListPlot = ObjectInit();
-        }
-    }
-
-    public function initialize() {
-        $nodeCfg = GameConfig::task_node_getItem($this->curTaskNode);
-        $taskArr = explode(',', $nodeCfg->taskList);
-        $this->curTaskId = $taskArr[0];
-        foreach ($taskArr as $tid) {
-            $this->AddPlotTask($tid);
-        }
-        $this->AfterInit();
-    }
-
-    public function resetDailyTask() {
-        if (totalDays($this->dailyResetTs - 18000) < totalDays() || $this->dailyResetTs <= 0) { # 每天5点
-            $dts = GameConfig::task_daily();
-            $this->taskListDaily = ObjectInit();
-            foreach ($dts as $tid => $t) {
-                $task = new Ins_TaskInfo();
-                $task->taskId = $tid;
-                $this->taskListDaily->$tid = $task;
-            }
-            $this->dailyActivePoint = 0;
-            $this->dailyActiveGetedRewardArr = array();
-            $this->dailyResetTs = now();                                        # 更新刷新时间
-        }
-    }
-
-    function AddPlotTask($taskId) {
-        $tmo = GameConfig::task_getItem($taskId);
-        my_Assert(null != $tmo, ErrCode::err_const_no);
-        switch ($tmo->ban) {    // 每日,剧情...
-        }
-        $task = new Ins_TaskInfo();
-        $task->taskId = $taskId;
-        $this->taskListPlot->$taskId = $task;
-    }
-
-    function AfterInit() {
-        foreach ($this->taskListPlot as $taskId => &$task) {
-            $tmo = GameConfig::task_getItem($taskId);
-            $task = new Ins_TaskInfo($task);
-            my_Assert(null != $tmo, ErrCode::err_const_no);
-            switch ($tmo->tasktype) {                                               # 有可能添加任务的时候, 任务就已经完成了. 所以这里需要直接做一个检查...
-                case Enum_TaskCmdType::CommanderLevelUpTo:
-                    $taskParam = new Ins_TaskParams(Enum_TaskCmdType::CommanderLevelUpTo, ctx()->base(false)->level);
-                    $task->bCheckProgress($taskParam);
-                    break;
-                case Enum_TaskCmdType::HeroLevelUpTo:
-                    $heroMoId = $tmo->canshu1;
-                    $userHeros = ctx()->heros(false);
-                    $hero = $userHeros->GetHeroByMoID($heroMoId);
-                    $level = 0;
-                    if ($hero != null) {
-                        $level = $hero->level;
-                    }
-                    $taskParam = new Ins_TaskParams(Enum_TaskCmdType::HeroLevelUpTo, $hero->typeId, $hero->level);
-                    $task->bCheckProgress($taskParam);
-                    break;
-                case Enum_TaskCmdType::HeroGradeUpTo:
-                    $heroMoId = $tmo->canshu1;
-                    $userHeros = ctx()->heros(false);
-                    $hero = $userHeros->GetHeroByMoID($heroMoId);
-                    $level = 0;
-                    if ($hero != null) {
-                        $level = $hero->grade;
-                    }
-                    $taskParam = new Ins_TaskParams(Enum_TaskCmdType::HeroLevelUpTo, $heroMoId, $level);
-                    $task->bCheckProgress($taskParam);
-                    break;
-                case Enum_TaskCmdType::HeroSegmentNumberTo:
-                    $segId = $tmo->canshu1;
-                    $store = ctx()->store(false);
-                    $num = $store->GetItemCount($segId);
-                    $taskParam = new Ins_TaskParams(Enum_TaskCmdType::HeroSegmentNumberTo, $segId, $num);
-                    $task->bCheckProgress($taskParam);
-                    break;
-                case Enum_TaskCmdType::HeroSkillUnlock:
-                    $heroMoId = $tmo->canshu1;
-                    $userHeros = ctx()->heros(false);
-                    $hero = $userHeros->GetHeroByMoID($heroMoId);
-                    $subSkillMo = GameConfig::subSkill_getItem($tmo->canshu2);
-                    my_Assert(null != $subSkillMo, ErrCode::err_const_no);
-                    $mSkillId = $subSkillMo->mainSkillId;
-                    $subSkillId = 0;
-                    if ($hero != null && in_array($tmo->canshu2, $hero->subSkills->$mSkillId)) {
-                        $subSkillId = $tmo->canshu2;
-                    }
-                    $taskParam = new Ins_TaskParams(Enum_TaskCmdType::HeroSkillUnlock, $heroMoId, $subSkillId);
-                    $task->bCheckProgress($taskParam);
-                    break;
-                case Enum_TaskCmdType::PassGateN:
-                    $gateId = $tmo->canshu1;
-                    $diffculty = $tmo->canshu2;
-                    $gates = ctx()->gates(false)->normal;
-                    switch ($diffculty) {
-                        case 0:
-                            $gates = ctx()->gates(false)->normal;
-                            break;
-                        case 1:
-                            $gates = ctx()->gates(false)->hard;
-                            break;
-                        case 2:
-                            $gates = ctx()->gates(false)->elite;
-                            break;
-                        default :
-                            $gates = ctx()->gates(false)->normal;
-                            break;
-                    }
-                    $taskParam = new Ins_TaskParams(Enum_TaskCmdType::PassGateN, $gates->highest, $diffculty);
-                    $task->bCheckProgress($taskParam);
-                    break;
-                case Enum_TaskCmdType::passEndlessCarbonN:
-                    break;
-                case Enum_TaskCmdType::PvPWinNumberTo:
-                    $pvp = ctx()->pvp(false);                                   # 设计玩家pvp数据结构
-                    $taskParam = new Ins_TaskParams(Enum_TaskCmdType::PvPWinNumberTo, $pvp->totalWin); # 任务参数
-                    $task->bCheckProgress($taskParam);
-                    break;
-                case Enum_TaskCmdType::PvPScoreTo:
-                    $uid = req()->uid;                                                         # 快速访问UID
-                    $zoneid = req()->zoneid;                                                   # 快速访问zoneid
-                    $seasonId = PVPProc::GetCurSeasonID();                                     # 当前赛季ID
-                    $key = MemKey_GameRun::Game_PVPScoreByZoneSeason_zset($zoneid, $seasonId); # 积分总榜
-                    $score = self::_getScore_by_uid($uid, $key);                               # 玩家积分
-                    $taskParam = new Ins_TaskParams(Enum_TaskCmdType::PvPScoreTo, $score);             # 任务参数
-                    $task->bCheckProgress($taskParam);
-                    break;
-                case Enum_TaskCmdType::UserPowerTo:
-                    $key = MemKey_GameRun::Game_FightPowerRank_zset(req()->zoneid);            # redis key
-                    $power = gMem()->zscore($key, req()->uid);                                 # 查询战斗力
-                    $taskParam = new Ins_TaskParams(Enum_TaskCmdType::UserPowerTo, $power);
-                    $task->bCheckProgress($taskParam);
-                    break;
-                case Enum_TaskCmdType::UserCollectScoreTo:
-                    break;
-            }
-        }
-    }
-
-    /**
-     * 判断是否当前所有剧情任务全部完成并且领取奖励了
-     * @return boolean
-     */
-    function IsAllPlotTaskOver() {
-        $bYes = true;
-        foreach ($this->taskListPlot as $tid => $task) {
-            isEditor() and $task = new Ins_TaskInfo($task);
-            if (!$task->rewardGeted) {
-                $bYes = false;
-                break;
-            }
-        }
-        return $bYes;
-    }
-
-}

+ 0 - 123
Gameserver/App/model/User/Ins_Email.php

@@ -1,123 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 邮件数据模型
- * @version
- *          1.0.0 Created at 2017-4-27. by --gwang
- * @author gwang (mail@wanggangzero.cn)
- * @copyright ? 2017-4-27, SJZ LoyalSoft Corporation & gwang. All rights reserved.
- */
-class Ins_Email extends Object_ext {
-
-    /**
-     * 邮件编号
-     * @var int
-     */
-    public $mailId;
-
-    /**
-     * 发件人uid
-     * @var string
-     */
-    public $sender_uid;
-
-    /**
-     * 发件人昵称
-     * @var string
-     */
-    public $sender_name;
-
-    /**
-     * 附件
-     * @var string itemId,num;itemId,num;....
-     */
-    public $appendix;
-
-    /**
-     * 邮件类型
-     * @var int
-     */
-    public $type;
-
-    /**
-     * 邮件标题
-     * @var string
-     */
-    public $title;
-
-    /**
-     * 邮件正文
-     * @var string[]
-     */
-    public $content;
-
-    /**
-     * 附加标签
-     * @var obj
-     */
-    public $tag;
-
-    /**
-     * 打开/读取邮件 时间戳
-     * @var ts
-     */
-    public $readts = 0;
-
-    /**
-     * 领取时间
-     * @var ts
-     */
-    public $drawedts = 0;
-
-    /**
-     * 发送时间
-     * @var ts
-     */
-    public $insertts = 0;
-
-    /**
-     * 邮件是否已经领取
-     * true = 已读
-     * @return bool
-     */
-    public function isDrawed() {
-        return $this->drawedts > 0;
-    }
-
-    /**
-     * 计算邮件的超时时间
-     * @return type
-     */
-    public function ExpireTs() {
-        return $this->insertts + EmailProc::MaxMailExpireTs;
-    }
-
-    /**
-     * 邮件是否存在奖励内容
-     * true = 有奖励
-     * false =  无
-     * @return bool
-     */
-    public function isExistReward() {
-        return strlen($this->appendix) > 0;
-    }
-
-    function __construct($tag = null, $type = 1, $title = "", $content = "", $appendix = "", #
-            $uid_sender = "系统", $name_sender = "系统") {
-        if (1 == func_num_args() && $tag) {                                     # 默认的Object初始化方法
-            parent::__construct($tag);
-        } else {                                                                # 并非只有一个参数的情况下, tag还是tag
-            $this->tag = $tag;
-            $this->type = $type;
-            $this->title = $title;
-            $this->content = $content;
-            $this->appendix = $appendix;
-            $this->sender_uid = $uid_sender;
-            $this->sender_name = $name_sender;
-            $this->insertts = now();                                            # 初始化插入/创建时间
-        }
-    }
-
-}

+ 0 - 37
Gameserver/App/model/User/Ins_Gift.php

@@ -1,37 +0,0 @@
-<?php
-
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-namespace loyalsoft;
-
-/**
- * Description of Ins_Gift
- *
- * @author cyzhao
- */
-class Ins_Gift extends Object_ext{
-    /**
-     * 礼包id
-     * @var type
-     */
-    public $giftId = 0;
-
-    /**
-     * 开始时间
-     * @var type
-     */
-    public $startTs = 0;
-    
-    /*
-     * 结束时间
-     */
-    public $endTs = 0;
-
-    public function __construct($args = null) {
-        parent::__construct($args);
-    }
-}

+ 0 - 101
Gameserver/App/model/User/Ins_TaskCard.php

@@ -1,101 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * Description of TaskCardVo
- * 任务卡
- * @author gwang
- */
-class Ins_TaskCard extends Object_ext {
-
-    /**
-     * @var type 这个物品在玩家身上唯一的id
-     */
-    public $uid = 0;
-
-    /**
-     * @var type 当前已完成步骤数量
-     */
-    public $count = 0;
-
-    /**
-     * @var type 查询用的id
-     */
-    public $typeId = 0;
-
-    /**
-     * @var int 任务状态未完成/已完成:0/1
-     */
-    public $state = 0;
-
-    /**
-     * @var array[]当前任务步骤数据 
-     */
-    public $curSteps;
-
-    /**
-     * @var type 当前任务步骤索引
-     * @deprecated since version 2020年12月25日13:44:43
-     */
-    public $curStepIndex = 0;
-
-    /**
-     * 
-     * @return type
-     */
-    public function mo() {
-        $mo = GameConfig::item_taskcard_getItem($this->typeId);
-        my_Assert(null != $mo, ErrCode::err_const_no);
-        return $mo;
-    }
-
-    public function __construct($args = 0) {
-        if (isInt($args)) {
-            $this->typeId = $args;
-            $arr = array();
-            $cfg = GameConfig::item_taskcard_getItem($this->typeId);
-            my_Assert(null != $cfg, ErrCode::err_const_no);
-            foreach (explode(',', $cfg->tasksteps) as $taskStepTypeId) {
-                $arr [] = new Ins_TaskStep($taskStepTypeId);
-            }
-            $this->curSteps = $arr;
-        } else {
-            parent::__construct($args);
-        }
-    }
-
-    /**
-     * @return boolean 分析任务卡是否已经完成所有步骤
-     */
-    public function IsFinish() {
-        if ($this->state >= Enum_TaskCardStateType::finish) {                   # 已经完成
-            return true;
-        }
-        $isFinish = true;
-        foreach ($this->curSteps as &$tsp) {                                    # 初期里面只有一个任务
-            $tsp = new Ins_TaskStep($tsp);
-            if (!$tsp->isFinish()) {
-                $isFinish = false;
-                break;
-            }
-        }
-        return $isFinish;
-    }
-
-    public function AddStep($stpid) {
-        $exists = false;
-        foreach ($this->curSteps as $stp) {
-//            $stp = new Ins_TaskStep($stp);
-            if ($stp->typeId == $stpid) {
-                $exists = true;
-            }
-        }
-        if (!$exists) {
-            $newstp = new Ins_TaskStep($stpid);
-            $this->curSteps[] = $newstp;
-//            $newstp->doStartAct();
-        }
-    }
-
-}

+ 0 - 44
Gameserver/App/model/User/Ins_TaskEventArgs.php

@@ -1,44 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 任务卡新增的, 任务事件检测参数
- * @author gwang
- */
-class Ins_TaskEventArgs {
-
-    /**
-     * @param Enum_TaskCmdType $cmd 事件码/
-     * @param Enum_PropelType $ope
-     * @param int $val
-     * @param array $paras
-     */
-    public function __construct($cmd, $ope, $val, $paras = array()) {
-        $this->taskType = $cmd;
-        $this->ope = $ope;
-        $this->val = $val;
-        $this->paras = $paras;
-    }
-
-    /**
-     * @var Enum_TaskCmdType 任务类型/事件码
-     */
-    public $taskType;
-
-    /**
-     * @var Enum_PropelType
-     */
-    public $ope = Enum_PropelType::set;
-
-    /**
-     * @var 值
-     */
-    public $val = 1;
-
-    /**
-     * @var array
-     */
-    public $paras;
-
-}

+ 0 - 71
Gameserver/App/model/User/Ins_TaskInfo.php

@@ -1,71 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 任务信息
- */
-class Ins_TaskInfo extends Object_ext {
-
-    /**
-     *
-     * @var 任务ID 
-     */
-    public $taskId;
-
-    /**
-     * @var float 任务进度(浮点值好了>=1代表完成)
-     */
-    public $progress = 0;
-
-    /**
-     * 用于将进度更新的数据待会给客户端,比如当前PVP积分之类的,在客户端是无法即时拿到数据的
-     * @var object
-     */
-    public $tag1;
-    public $tag2;
-
-    /**
-     * @var int 计数器
-     */
-    public $counter = 0;
-
-    /**
-     * @var int 奖励是否已领取 0/1
-     */
-    public $rewardGeted = 0;
-
-    public function bCheckProgress($param) {
-        $taskCfg = GameConfig::task_getItem($this->taskId);
-        my_Assert($taskCfg != null, ErrCode::err_const_no);                     # 获取任务配置数据   
-        if ($taskCfg->tasktype != $param->taskType) {                           # 任务类型必须匹配
-            return false;
-        }
-        if (is_null($taskCfg->canshu1)) {
-            $this->progress = 1;
-            return true;
-        }
-        $this->tag1 = max($this->tag1, $param->canshu1);
-        if ($taskCfg->canshu1 <= $param->canshu1) {
-            if (null == $taskCfg->canshu2 || 0 == $taskCfg->canshu2) {
-                $this->progress = 1;
-                return true;
-            }
-            if (is_numeric($taskCfg->canshu2)) {
-                $this->tag2 = max($this->tag2, $param->canshu2);
-                if ($taskCfg->canshu2 <= $param->canshu2) {
-                    $this->progress = 1;
-                    return true;
-                }
-            } else {
-                $this->tag2 = $param->canshu2;
-                if ($taskCfg->canshu2 == $param->canshu2) {
-                    $this->progress = 1;
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-}

+ 0 - 31
Gameserver/App/model/User/Ins_TaskParams.php

@@ -1,31 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 任务参数,用于任务进度判定逻辑
- */
-class Ins_TaskParams {
-
-    public function __construct($_taskType, $_canshu1 = null, $_canshu2 = null) {
-        $this->taskType = $_taskType;
-        $this->canshu1 = $_canshu1;
-        $this->canshu2 = $_canshu2;
-    }
-
-    /**
-     * @var int 任务类型
-     */
-    public $taskType;
-
-    /**
-     * @var number 参数1
-     */
-    public $canshu1;
-
-    /**
-     * @var number 参数2
-     */
-    public $canshu2;
-
-}

+ 0 - 354
Gameserver/App/model/User/Ins_TaskStep.php

@@ -1,354 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/**
- * 任务步骤, 用于任务卡功能(三组合一)
- * @author gwang(wanggangzero@qq.com)
- */
-class Ins_TaskStep extends Object_ext {
-
-    /**
-     * @var type 查询用的id
-     */
-    public $typeId = 0;
-
-    /**
-     * @var int 计数器
-     */
-    public $cur = 0;
-
-    /**
-     * @var int start/finish act已执行(0:startAct未执行,1:StartAct已执行且finishAct未执行,2:finishAct已执行)
-     */
-    public $actState = 0;
-
-    /**
-     * @return \sm_task_step mo 获取对应的模板数据
-     */
-    public function mo() {
-        $mo = GameConfig::task_step_getItem($this->typeId);
-        my_Assert(null != $mo, ErrCode::err_const_no);
-        return $mo;
-    }
-
-    /**
-     * @return int 计数最大值
-     */
-    public function max() {
-        return $this->mo()->num;
-    }
-
-    /**
-     * @return string[] 参数数组
-     */
-    private function paras() {
-        return explode(',', $this->mo()->paras);
-    }
-
-    /**
-     * @return float 当前进度
-     */
-    public function progress() {
-        return $this->cur / $this->max();
-    }
-
-    /**
-     * 是否完成
-     * @return bool
-     */
-    public function isFinish() {
-        return $this->cur >= $this->max();
-    }
-
-    /**
-     * 执行任务完成事件
-     */
-    public function doFinishAct() {
-//        if ($this->mo()->finishact > 0) {
-//            $act = GameConfig::eventAction_getItem($this->mo()->finishact);
-//            $this->execAct($act);
-//        }
-        $this->actState = 2;
-    }
-
-    /**
-     *
-     * @param \sm_eventAction $act
-     */
-    private function execAct($act) {
-        my_Assert($act, ErrCode::err_const_no);
-        switch ($act->cmd) {
-            case Enum_EventActionType::StartPlotScene:                          # 触发场景剧情,
-            case Enum_EventActionType::StartPlotNPC:                            # 触发NPC剧情
-                $paras = explode(',', $act->parameters);                        # 解析下参数
-                $arr = GameConfig::plot_getItem($paras[0], $paras[1]);          # 查找对应的剧情
-                foreach ($arr as $plot) {
-                    isEditor() and $plot = new \sm_plot();
-                    if (!empty($plot->presentItem)) {
-                        StoreProc::AddMultiItemInStore($plot->presentItem);
-                    }
-                    if (!empty($plot->recycleItem)) {
-                        $val = explode(",", $plot->recycleItem);
-                        my_Assert(count($val) > 1, "解析回收道具字符串出错");
-                        StoreProc::removeItemFromStore(ctx()->store, $val[0], $val[1]);
-                    }
-                }
-                break;
-            case Enum_EventActionType::UnlockBuild:                             # 解锁建筑
-                ctx()->privateState->unlockedBuild[] = $act->parameters;
-                break;
-        }
-    }
-
-    /**
-     * 执行任务开始事件
-     */
-    public function doStartAct() {
-//        if ($this->mo()->startact > 0) {
-//            $act = GameConfig::eventAction_getItem($this->mo()->startact);
-//            $this->execAct($act);
-//        }
-        $this->actState = 1;
-    }
-
-    /**
-     * 构造函数
-     * @param type $args
-     */
-    public function __construct($args) {
-        if (isInt($args)) {
-            $this->typeId = $args;
-        } else {
-            parent::__construct($args);
-        }
-    }
-
-    /**
-     * 是否状态型任务---2022-7-29最新备注:add类型的只能动作触发-不能在这里添加类型 ;set类型只动作触发不添加在这,要是满足条件就完成任务就添加在这
-     * @param type $cmd
-     */
-    function isStatusType() {
-        return $this->mo()->cmd == Enum_TaskCmdType::GainItem                   # 获取道具
-                || $this->mo()->cmd == Enum_TaskCmdType::HeroLevelUpTo          # 唤灵师等级达到x级
-                || $this->mo()->cmd == Enum_TaskCmdType::WeaponLevelUp          # 唤灵师突破升星
-                || $this->mo()->cmd == Enum_TaskCmdType::YanlingLevelUp         # 将指定言灵升级到指定等级
-                || $this->mo()->cmd == Enum_TaskCmdType::CommanderLevelUpTo     # 指挥官等级
-                || $this->mo()->cmd == Enum_TaskCmdType::HeroWearingYanling     # 唤灵师装备了任意言灵
-                || $this->mo()->cmd == Enum_TaskCmdType::HeroWearingWeapon_Except#唤灵师装备了除(xx)外的武器
-                || $this->mo()->cmd == Enum_TaskCmdType::UserOwnXYanlingWithQualityN # 拥有言灵
-                || $this->mo()->cmd == Enum_TaskCmdType::HeroGradeUpTo_status  #武器突破升星
-                | $this->mo()->cmd == Enum_TaskCmdType::passEndlessCarbonN;  #武器突破升星
-        //|| $this->mo()->cmd == Enum_TaskCmdType::UpgradeXYanlingToNStar;#言灵突破升星
-    }
-
-    /**
-     * 自动对齐可能出现统计失误的状态型任务计数
-     * @return boolean 是否有修改
-     */
-    function autoCalcStatusCur() {
-        if ($this->isStatusType()) {
-            $mo = $this->mo();
-            if ($mo != null) {
-                $cur = $this->calcStatusCur();
-                if ($cur > $this->max()) {
-                    $cur = $this->max();
-                }
-                if ($this->cur != $cur) {
-                    $this->cur = $cur;
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    /**
-     * @return int 计算状态类的进度
-     */
-    function calcStatusCur() {
-        $mo = $this->mo();
-        $paras = $this->paras();
-        $para0 = "";
-        $para1 = "";
-        $para2 = "";
-
-        if (count($paras) >= 1) {
-            $para0 = $paras[0];
-        }
-
-        if (count($paras) >= 2) {
-            $para1 = $paras[1];
-        }
-
-        if (count($paras) >= 3) {
-            $para2 = $paras[2];
-        }
-
-        switch ($mo->cmd) {
-            case Enum_TaskCmdType::GainItem:                                    # 收集道具
-                $store = new Info_Store(ctx()->store);
-                return $store->GetItemCount($para0);
-            case Enum_TaskCmdType::CommanderLevelUpTo:
-                $lvl = ctx()->base()->level;
-                return $lvl;
-            case Enum_TaskCmdType::HeroLevelUpTo:
-                $heros = new Info_UserGameHero(ctx()->heros);
-                $hero = $heros->GetHeroByMoID($para0);
-                if (null != $hero) {
-                    return $hero->level;
-                }
-                break;
-            case Enum_TaskCmdType::HeroGradeUpTo_status:                         #唤灵师进行一个突破升星
-                $heros = new Info_UserGameHero(ctx()->heros);
-                $hero = $heros->GetHeroByMoID(101005);
-                if (null != $hero) {
-                    return $hero->curStar;
-                }
-                break;
-            case Enum_TaskCmdType::UserOwnXYanlingWithQualityN:                 # 拥有x个n品质的言灵
-                $store = new Info_Store(ctx()->store);
-                $num = 0;
-                foreach ($store->yanling as $uid => $yanlingvo) {
-                    $yanlingvo = new Ins_YanLin($yanlingvo);
-//                    var_dump($yanlingvo);
-                    $itemMo = GameConfig::item_base_getItem($yanlingvo->typeId);
-                    my_Assert(null != $itemMo, ErrCode::err_const_no);
-                    if ($itemMo->quality >= $para0) {
-                        $num++;
-                    }
-                }
-//                CLog::info("当前拥有$num 个对应品质的言灵.");
-                return $num;
-            case Enum_TaskCmdType::WeaponLevelUp:                        # 将特定的武器升级到X级(num 等级数,paras:武器id)
-                $equipment = ctx()->store->equipment;
-                $n = 0;
-                foreach ($equipment as $eUid => $equip) {
-                    if ($equip->typeId == $para0 && $n < $equip->level) {
-                        $n = $equip->level;
-                    }
-                }
-                return $n;
-            case Enum_TaskCmdType::YanlingLevelUp:                      #将任意言灵突破到N星
-                $yanling = ctx()->store->yanling;
-                $lv = 0;
-                foreach ($yanling as $yUid => $yl) {
-//                    if ($yl->typeId == $para0 &&  $lv < $equip->level) {
-//                        $lv = $yl->level;
-//                        //break;
-//                    }
-                    if ($yl->level >= $lv) {
-                        $lv = $yl->level;
-                    }
-                }
-                return $lv;
-            case Enum_TaskCmdType::HeroWearingYanling:                 # 检查唤灵师是否已经装备了言灵
-//                isEditor() and $hero = new Ins_UserHero();
-                $heros = new Info_UserGameHero(ctx()->heros);
-                $hero = $heros->GetHeroByMoID($para0);
-                if (null != $hero) {
-                    foreach ($hero->yanling as $pos => $item) {
-                        if (isset($item) && $item->itemuid > 0) {
-                            return 1;                                       # 找到言灵
-                        }
-                    }
-                }
-                return 0;
-            case Enum_TaskCmdType::HeroWearingWeapon_Except:            # 检查唤灵师是否已经装备了武器(xx)除外
-//                isEditor() and $hero = new Ins_UserHero();
-                $heros = new Info_UserGameHero(ctx()->heros);
-                $hero = $heros->GetHeroByMoID($para0);
-                if (null != $hero) {
-                    if (isset($hero->equip->weapon->itemuid) #
-                            && $hero->equip->weapon->itemuid > 0) {#
-                        $eqid = $hero->equip->weapon->itemuid;
-                        $store = new Info_Store(ctx()->store);
-                        if (property_exists($store->equipment, $eqid)) {
-                            $equip = $store->equipment->$eqid;
-                            if ($equip->typeId != $para1) {
-                                return 1;                                       # 找到武器
-                            }
-                        }
-                    }
-                }
-                return 0;
-            case Enum_TaskCmdType::passEndlessCarbonN:                          # 通关无尽塔X层
-//                isEditor() and $hero = new Ins_UserHero();
-                $num = ctx()->privateState->endlessTower - 1;
-                return $num;
-            default:
-                break;
-        }
-        return 0;
-    }
-
-    /**
-     * 检查任务条件(与petmini采用相同的参数和判定方法2020年12月12日11:38:02)
-     * @param Ins_TaskEventArgs $taskCardEvent
-     * @return bool
-     */
-    public function check_new($taskCardEvent) {
-//        echoLine(" check: " . json_encode($taskCardEvent));
-//        CLog::info("{$this->typeId} checking: " . json_encode($taskCardEvent));
-        if ($taskCardEvent->taskType != $this->mo()->cmd) {                     # 事件类型匹配
-            return false;
-        }
-        if ($this->isStatusType()) {                                            # 状态检查类任务
-            return $this->autoCalcStatusCur();
-        }
-        if ($this->isFinish()) {
-            return false;
-        }
-        if (strlen($this->mo()->paras) <= 0) {                                  # 无参数
-            return true;
-        }
-
-        $paras = $this->paras();
-        $index = 0;
-        foreach ($taskCardEvent->paras as $para) {                              # 其他任务, 执行参数判定
-            if ($index < count($paras)) {
-                if (strpos($para, "|") !== false) {                             # 某个条件是"或"的关系, 即有多重可能值, 满足其一即可
-                    $paraList = explode("|", $para);
-                    foreach ($paraList as $paraItem) {
-                        if ($paraItem == $paras[$index]) {
-                            continue;                                           # 满足某一个即可, 继续判断下一个条件.
-                        }
-                    }
-                } else {                                                        # only one, 不存在"或"的判定
-                    if ($para != $paras[$index]) {                              # 直接匹配
-                        return false;                                           # 一但没匹配上, 直接返回false就好了.
-                    }
-                }
-            }                                                                   # 参数中多余的数据就直接跳过,不比较了(因为自己不需要判断那么多参数)
-            $index++;
-        }
-        return true;                                                            # 走到最后则判定满足条件.
-    }
-
-    /**
-     * 推进任务进度(采用和petmini相同的推进算法,2020年12月12日11:38:22)
-     * @param Ins_TaskEventArgs $taskParam
-     */
-    public function propel($taskParam) {
-//        var_dump($taskParam);
-        switch ($taskParam->ope) {
-            case Enum_PropelType::set:
-                $this->cur = $taskParam->val;
-                break;
-            case Enum_PropelType::add:
-                $this->cur += $taskParam->val;
-                break;
-            case Enum_PropelType::inc:
-                $this->cur += 1;
-                break;
-            case Enum_PropelType::max:
-                if ($taskParam->val > $this->cur) {
-                    $this->cur = $taskParam->val;
-                }
-                break;
-            case Enum_PropelType::stat:
-
-                break;
-        }
-    }
-}

+ 0 - 574
Gameserver/App/model/User/Ins_UserHero.php

@@ -1,574 +0,0 @@
-<?php
-
-namespace loyalsoft;
-
-/// <summary>
-///  英雄属性
-/// </summary>
-class EHeroProperties extends Enum {
-
-    /// <summary>
-    /// 生命值
-    /// </summary>
-    const HP = 0;
-    /// <summary>
-    /// 能量值
-    /// </summary>
-    const NENGLIANGZHI = 1;
-    /// <summary>
-    /// 物理攻击
-    /// </summary>
-    const WULIGONGJI = 2;
-    /// <summary>
-    /// 防御护甲
-    /// </summary>
-    const FANGYUHUJIA = 3;
-    /// <summary>
-    /// 敏捷
-    /// </summary>
-    const GONGJISUDU = 4;
-    /// <summary>
-    /// 暴击
-    /// </summary>
-    const CRICITAL = 5;
-    /// <summary>
-    /// 法术强度
-    /// </summary>
-    const FASHUQIANGDU = 6;
-    /// <summary>
-    /// 魔法抗性
-    /// </summary>
-    const MOFAKANGXING = 7;
-
-}
-
-/**
- * 玩家的英雄的实体数据
- */
-class Ins_UserHero extends Object_ext {
-
-    /**
-     * 唯一的英雄ID
-     * @var  string
-     */
-    public $uid;
-
-    /**
-     * 英雄的模板ID
-     * @var string
-     */
-    public $typeId;
-
-    /**
-     * 英雄的当前等级
-     * @var  int
-     */
-    public $level;
-
-    /**
-     * 英雄当前等阶
-     * @var string
-     */
-    public $grade;
-
-    /**
-     * 英雄的收集的当前等级满级的累计经验值
-     * @var  int
-     */
-    public $maxXp;
-
-    /**
-     * 英雄的当前总经验值
-     * @var  int
-     */
-    public $xp;
-
-    /**
-     * 当前等阶 默认是0.----这个应该是废弃了
-     * 0= 绿 1=蓝  2= 红   3=  紫  4= 橙  5 
-     * @var  int
-     * @deprecated since version 0
-     */
-    public $strengthLevel;
-
-    /**
-     * 当前星级 默认是0星
-     * @var  int
-     * @deprecated since version 0
-     */
-    public $curStar;
-
-    /**
-     * 当前神血的 血脉等级 默认是0
-     * @var  int
-     * @deprecated since version 0
-     */
-    public $curBloodId;
-
-    /**
-     * 当前卡牌的锁定状态
-     * true = 锁定
-     * @var  bool
-     * @deprecated since version 0
-     */
-    public $isLocked;
-
-    /**
-     * 技能数据
-     * @var object
-     * @deprecated since version 0
-     */
-    public $skills;
-
-    /**
-     * 子技能列表(已解锁子技能id)
-     * @var dic<int,[]int>
-     */
-    public $subSkills;
-
-    /**
-     * 装备
-     * @var object
-     */
-    public $equip;
-
-    /**
-     * 言灵
-     * @var {}
-     */
-    public $yanling;
-
-    /**
-     * 当前主线的好感度进度
-     * @var object
-     * @deprecated since version 0
-     */
-    public $curMainFavor;
-
-    /**
-     * 所有的已经拥有的好感度进度
-     * @var array
-     * @deprecated since version 0
-     */
-    public $favors;
-
-    /**
-     *
-     * 构造函数
-     */
-    public function __construct($arg = null) {
-        if (null != $arg) {
-            parent::__construct($arg);
-        } else {
-            $this->level = 1;
-            $this->xp = 0;
-            $this->maxXp = 0;
-            $this->strengthLevel = 0;
-            $this->curBloodId = 0;
-            $this->curStar = 0;
-            $this->isLocked = false;
-            $this->curMainFavor = 'E';
-            $this->favors = ArrayInit();
-            $this->favors[] = 'E';
-            $this->grade = "D";
-//-----------初始化技能的默认数据
-            $temp = ObjectInit();
-            $temp->normalSkill = JsonUtil::decode('{"level":1}');
-            $temp->manuSkill1 = JsonUtil::decode('{"level":1}');
-            $temp->manuSkill2 = JsonUtil::decode('{"level":1}');
-            $temp->manuSkill3 = JsonUtil::decode('{"level":1}');
-            $temp->passiveSkill = JsonUtil::decode('{"level":1}');
-            $temp->captainSkill = JsonUtil::decode('{"level":1}');
-            $this->skills = $temp;
-            $this->subSkills = ObjectInit();
-
-//----初始化装备的默认数据
-            $this->equip = ObjectInit();
-            $tempEq = ObjectInit();
-            $tempEq->weapon = JsonUtil::decode('{"itemuid":0}');
-            $tempEq->armor = JsonUtil::decode('{"itemuid":0}');
-            $tempEq->ring = JsonUtil::decode('{"itemuid":0}');
-
-            $this->equip = $tempEq;
-// ------初始化言灵的默认数据
-            $this->yanling = JsonUtil::decode('{"1":{"itemuid":0},"2":{"itemuid":0},"3":{"itemuid":0}}');
-        }
-    }
-
-    /**
-     * 判断技能是否可升级
-     * @param type $mainSkillId
-     * @param type $subSkillId Description
-     * @return type
-     */
-    public function IsSkillUpdateAble($mainSkillId, $subSkillId) {
-        $sarr = array("D" => 1, "C" => 2, "B" => 3, "A" => 4, "S" => 5);
-        $isOk = false;
-        if (CommUtil::isPropertyExists($this->subSkills, $mainSkillId)) {
-            if (CommUtil::isPropertyExists($this->subSkills->$mainSkillId, $subSkillId)) {
-                $sm = GameConfig::subSkill_getItem($subSkillId);
-                switch ($sm->upgradeConditionType) {
-                    case 1:                               // 角色等级
-                        $isOk = $this->level >= int($sm->upgradeParameter);
-                        break;
-                    case 2:                               // 角色品阶
-                        $cur = (array_key_exists($this->grade, $sarr) ? $sarr[$this->grade] : 0);
-                        $require = (array_key_exists($sm->upgradeParameter, $sarr) ? $sarr[$sm->upgradeParameter] : 0);
-                        $isOk = $cur >= $require;
-                        break;
-                    default:
-                        break;
-                }
-            }
-        }
-        return $isOk;
-    }
-
-    /**
-     * 判断技能是否可解锁
-     * @param type $mainSkillId
-     * @param type $subSkillId Description
-     * @return type
-     */
-    public function IsSkillUnlockAble($mainSkillId, $subSkillId) {
-        $sarr = array("D" => 1, "C" => 2, "B" => 3, "A" => 4, "S" => 5);
-        $isOk = false;
-        if (CommUtil::isPropertyExists($this->subSkills, $mainSkillId)) {
-            if (CommUtil::isPropertyExists($this->subSkills->$mainSkillId, $subSkillId)) {
-                $sm = GameConfig::subSkill_getItem($subSkillId);
-                switch ($sm->unlockConditionType) {
-                    case 1:                               // 角色等级
-                        $isOk = $this->level >= int($sm->unlockParameter);
-                        break;
-                    case 2:                               // 角色品阶
-                        $cur = (array_key_exists($this->grade, $sarr) ? $sarr[$this->grade] : 0);
-                        $require = (array_key_exists($sm->unlockParameter, $sarr) ? $sarr[$sm->unlockParameter] : 0);
-                        $isOk = $cur >= $require;
-                        break;
-                    default:
-                        break;
-                }
-            }
-        }
-        return $isOk;
-    }
-
-    /**
-     * 是否可继续升级(指挥官等级限制 + 全局限制)
-     * @return bool
-     */
-    public function HeroCanLevelUp() {
-        $maxLevel = glc()->Hero_Upgrade_BasicMaxLevel;                          # 全局设置限制了当前英雄的最高等级
-        $playerLimit = GameConfig::playerlevel_getItem(ctx()->base()->level)->hero_max_level;
-        return $this->level < min($maxLevel, $playerLimit);
-    }
-
-    /**
-     * 获取该角色战斗力数值
-     * 生命值+物理攻击*4+魔法强度*4+护甲*5+魔抗*5
-     * @param Data_UserGame $user
-     * @return type
-     */
-    public function GetPower($user) {
-        return (int) ($this->getHpForBattle($user) * 1.0                                    //
-                + $this->getNengLiangZhiJiForBattle($user) * 0                              //
-                + $this->getWuLiGongJiForBattle($user) * 4                                  //
-                + $this->getFaShuQiangDuForBattle($user) * 4                                //
-                + $this->getFangYuHuJiaForBattle($user) * 5                                 //
-                + $this->getMoFaKangXingForBattle($user) * 5                                //
-                );
-    }
-
-//
-// <editor-fold defaultstate="collapsed" desc="辅助方法">
-
-    /**
-     * 获得角色装备的 物品提供的属性加成
-     * @param type $attribute
-     * @param Data_UserGame $user
-     * @return type
-     */
-    public function getEquipExtraProperty($attribute, $user) {
-        $result = 0;
-        $equipUID = $this->equip->weapon->itemuid;
-        if (CommUtil::isPropertyExists($user->store->equipment, $equipUID)) {
-            $equip = $user->store->equipment->$equipUID;
-            $itemId = my_null_default($equip->typeId, 0);
-            $wp = GameConfig::item_weapon_getItem($itemId);
-            my_Assert(null != $wp, ErrCode::err_const_no);
-            switch ($attribute) {
-                case EHeroProperties::WULIGONGJI:
-                    $result += $wp->phyAtk;
-                    break;
-                case EHeroProperties :: FASHUQIANGDU:
-                    $result += $wp->fashuqiangdu;
-                    break;
-                case EHeroProperties :: CRICITAL:
-                    $result += $wp->crit;
-                    break;
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * 获得角色装备的言灵提供的属性加成
-     * @param type $attribute
-     * @param Data_UserGame $user
-     * @return type
-     */
-    public function getYanlingExtraProperty($attribute, $user) {
-        $result = 0;
-        foreach ($this->yanling as $item) {
-            $itemUID = $item->itemuid;
-            if ($itemUID > 0) {
-                $itemId = $user->store->yanling->$itemUID->typeId;
-                $mo = GameConfig::item_yanling_getItem($itemId);
-                my_Assert(null != $mo, ErrCode::err_const_no);                  # 言灵常量找不到
-                switch ($attribute) {
-                    case EHeroProperties ::HP:
-                        $result += $mo->hp;
-                        break;
-                    case EHeroProperties :: WULIGONGJI:
-                        $result += $mo->phyAtk;
-                        break;
-                    case EHeroProperties :: FASHUQIANGDU:
-                        $result += $mo->fashuqiangdu;
-                        break;
-                    case EHeroProperties :: CRICITAL:
-                        $result += $mo->crit;
-                        break;
-                    case EHeroProperties ::FANGYUHUJIA:
-                        $result += $mo->phyDef;
-                        break;
-                    case EHeroProperties ::MOFAKANGXING:
-                        $result += $mo->mofakangxing;
-                        break;
-                    default:
-                        break;
-                }
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * 获得  角色某个等级 等阶 状态下的属性值
-     * @param type $modelId moID
-     * @param type $attType
-     * @param type $level 等级
-     * @param type $gradeLevel 品阶(SABCD)
-     * @return type
-     */
-    public function getHeroProperty($modelId, $attType, $level, $gradeLevel) {
-        $result = 0;                                                            # 结果
-        $gradeF = 0;                                                            # 品阶加成
-        /* 角色成长公式
-          生命=初始生命+生命成长*(角色等级-1))+武器加成+言灵加成
-          言能=初始言能+言能成长*(角色等级-1))
-          物攻=初始物攻+物攻成长*(角色等级-1))+武器加成+言灵加成
-          护甲=初始护甲+护甲成长*(角色等级-1))+武器加成+言灵加成
-          言攻=初始言攻+言攻成长*(角色等级-1))+武器加成+言灵加成
-          言抗=初始言抗+言抗成长*(角色等级-1))+武器加成+言灵加成
-          暴击=初始暴击+暴击成长*(角色等级-1))+武器加成+言灵加成
-          暴击率=暴击/(75+角色等级*5)
-         */
-        // 武器成长 和 言灵成长都是直接数值, 所以放到外面再做加法也可以. Ps. 放外面了
-        $heroMo = GameConfig::hero_getItem($modelId);
-        my_Assert($heroMo != null, ErrCode::hero_const_no_err);                 # 找不到英雄模板数据
-        $gradeLevelMo = GameConfig::heroextra_level_getItem($heroMo->heroId, $gradeLevel); # 等阶加成配置
-        my_Assert(null != $gradeLevelMo, ErrCode::err_const_no);                # 找不到常量
-//
-////第一步, 根据玩家的等阶,来找出,对应的等阶,的各个属性成长的曲线类型,也就是说0阶的时候, 各个属性的成长系数是SABCD的哪搞一个。
-////然后 根据  SABCD的类型以及 想查找的属性, 找出对应的 这个属性的成长系数
-//
-// <editor-fold defaultstate="collapsed" desc="属性成长">
-        switch ($attType) {                                                     # 属性类型
-            case EHeroProperties::HP:
-                $gradeF = $gradeLevelMo->hp;
-                break;
-            case EHeroProperties :: MOFAKANGXING:
-                $gradeF = $gradeLevelMo->mofakangxing;
-                break;
-            case EHeroProperties ::FASHUQIANGDU:
-                $gradeF = $gradeLevelMo->fashuqiangdu;
-                break;
-            case EHeroProperties ::WULIGONGJI:
-                $gradeF = $gradeLevelMo->wuligongji;
-                break;
-            case EHeroProperties ::FANGYUHUJIA:
-                $gradeF = $gradeLevelMo->fangyuhujia;
-                break;
-            case EHeroProperties :: NENGLIANGZHI:
-                $gradeF = $gradeLevelMo->nengliangzhi;
-                break;
-            case EHeroProperties :: GONGJISUDU:
-                $gradeF = $gradeLevelMo->gongjisudu;
-                break;
-            case EHeroProperties ::CRICITAL:
-                $gradeF = 0;
-                break;
-        }
-//
-// </editor-fold>
-//
-// <editor-fold defaultstate="collapsed" desc="叠加加成后的结果">
-        switch ($attType) {
-            case EHeroProperties :: HP:
-                $result += $heroMo->hp + $gradeF * ($level - 1);
-                break;
-            case EHeroProperties ::NENGLIANGZHI:
-                $result += $heroMo->nengliangzhi + $gradeF * ($level - 1);
-                break;
-            case EHeroProperties ::WULIGONGJI:
-                $result += $heroMo->wuligongji + $gradeF * ($level - 1);
-                break;
-            case EHeroProperties ::FANGYUHUJIA:
-                $result += $heroMo->fangyuhujia + $gradeF * ($level - 1);
-                break;
-            case EHeroProperties :: FASHUQIANGDU:
-                $result += $heroMo->fashuqiangdu + $gradeF * ($level - 1);
-                break;
-            case EHeroProperties :: MOFAKANGXING:
-                $result += $heroMo->mofakangxing + $gradeF * ($level - 1);
-                break;
-            case EHeroProperties :: GONGJISUDU:
-                $result += $heroMo->gongjisudu + $gradeF * ($level - 1);
-                break;
-            case EHeroProperties :: CRICITAL:
-                $result += $heroMo->baoji / (75 + $level * 5);
-                break;
-        }
-
-// </editor-fold>
-//
-        return $result;
-    }
-
-// <editor-fold defaultstate="collapsed" desc="基础(等级+品阶)属性值">
-
-    /**
-     * 基础(等级+品阶) 血量
-     * @return type
-     */
-    function getHp() {
-        return $this->getHeroProperty($this->typeId, EHeroProperties ::HP, $this->level, $this->grade);
-    }
-
-    /**
-     * 基础(等级+品阶)能量值
-     * @return type
-     */
-    function getNengLiangZhi() {
-        return $this->getHeroProperty($this->typeId, EHeroProperties ::NENGLIANGZHI, $this->level, $this->grade);
-    }
-
-    /**
-     *  基础(等级+品阶)物理攻击
-     * @return type
-     */
-    function getWuLiGongJi() {
-        return $this->getHeroProperty($this->typeId, EHeroProperties ::WULIGONGJI, $this->level, $this->grade);
-    }
-
-    /**
-     *  基础(等级+品阶)法术强度
-     * @return type
-     */
-    function getFaShuQiangDu() {
-        return $this->getHeroProperty($this->typeId, EHeroProperties ::FASHUQIANGDU, $this->level, $this->grade);
-    }
-
-    /**
-     *  基础(等级+品阶)防御护甲
-     * @return type
-     */
-    function getFangYuHuJia() {
-        return $this->getHeroProperty($this->typeId, EHeroProperties ::FANGYUHUJIA, $this->level, $this->grade);
-    }
-
-    /**
-     *  基础(等级+品阶)魔法抗性
-     * @return type
-     */
-    function getMoFaKangXing() {
-        return $this->getHeroProperty($this->typeId, EHeroProperties ::MOFAKANGXING, $this->level, $this->grade);
-    }
-
-// </editor-fold>
-//
-
-    /**
-     * 战场血量 = 基础血量 + 武器和言灵加成
-     * @param Data_UserGame $user
-     * @return type
-     */
-    public function getHpForBattle($user) {
-        return (int) ($this->getHp()                                            // 英雄数据
-                + $this->getEquipExtraProperty(EHeroProperties ::HP, $user)            // 武器加成
-                + $this->getYanlingExtraProperty(EHeroProperties :: HP, $user)         // 言灵加成
-                );
-    }
-
-    /**
-     * 战场能量值 = 基础能量值 + 武器和言灵加成
-     * @param Data_UserGame $user
-     * @return type
-     */
-    public function getNengLiangZhiJiForBattle($user) {
-        return (int) ($this->getNengLiangZhi()                                  // 英雄本身
-                + $this->getEquipExtraProperty(EHeroProperties :: NENGLIANGZHI, $user) // + 武器加成
-                + $this->getYanlingExtraProperty(EHeroProperties::NENGLIANGZHI, $user) // + 言灵加成
-                );
-    }
-
-    /**
-     * @param Data_UserGame $user
-     * @return type
-     */
-    public function getWuLiGongJiForBattle($user) {
-        return (int) ($this->getWuLiGongJi()                                            // 英雄数据
-                + $this->getEquipExtraProperty(EHeroProperties ::WULIGONGJI, $user)            // 武器加成
-                + $this->getYanlingExtraProperty(EHeroProperties :: WULIGONGJI, $user)         // 言灵加成
-                );
-    }
-
-    /**
-     * @param Data_UserGame $user
-     * @return type
-     */
-    function getFaShuQiangDuForBattle($user) {
-        return (int) ($this->getFaShuQiangDu()                                            // 英雄数据
-                + $this->getEquipExtraProperty(EHeroProperties ::FASHUQIANGDU, $user)            // 武器加成
-                + $this->getYanlingExtraProperty(EHeroProperties :: FASHUQIANGDU, $user)         // 言灵加成
-                );
-    }
-
-    /**
-     * @param Data_UserGame $user
-     * @return type
-     */
-    function getFangYuHuJiaForBattle($user) {
-        return (int) ($this->getFangYuHuJia()                                            // 英雄数据
-                + $this->getEquipExtraProperty(EHeroProperties ::FANGYUHUJIA, $user)            // 武器加成
-                + $this->getYanlingExtraProperty(EHeroProperties :: FANGYUHUJIA, $user)         // 言灵加成
-                );
-    }
-
-    /**
-     * @param Data_UserGame $user
-     * @return type
-     */
-    function getMoFaKangXingForBattle($user) {
-        return (int) ($this->getMoFaKangXing()                                            // 英雄数据
-                + $this->getEquipExtraProperty(EHeroProperties ::MOFAKANGXING, $user)            // 武器加成
-                + $this->getYanlingExtraProperty(EHeroProperties :: MOFAKANGXING, $user)         // 言灵加成
-                );
-    }
-
-//
-// </editor-fold>
-//
-}

+ 3 - 13
Gameserver/App/process/UserProc.php

@@ -26,7 +26,7 @@ class UserProc {
                 return UserProc::loginUserInfo();
             case CmdCode::cmd_user_gameconstinfo:                               # 6002 下载游戏配置
                 return UserProc::downloadConstInfo();
-            case CmdCode::cmd_user_registerNewRole:                             # 6006 注册新角色
+            case CmdCode::cmd_user_registerNewRole:                             # 6003 注册新角色
                 return UserProc::RegisterNewRole();
             default:
                 Err(ErrCode::cmd_err);
@@ -189,25 +189,15 @@ class UserProc {
                 'isNewUser' => true
             );
             return Resp::ok($ret);
-        } else {                                                                # 2.如果玩家已存在,则处理普通登录流程           
-            
+        } else {                                                                # 2.如果玩家已存在,则处理普通登录流程                      
             req()->game = $game;                                                # 给Req挂载玩家数据
             UserProc::checkContidays();                                         # 连续登录,状态检查
             //PayProc::m_refreshChargeOrders();                                   # 刷新订单, 多平台版本
             //PayProc::checkDeltest();                                            # 检查内侧充值记录(函数内部会只检查一次)
-          
-
-       
-       
-          
             //self::checkMissOrder();                                             #校验是否有漏单
-            
-
-         
             UserProc::updateUserInfo();                                         # 这一步回存操作只有在 userInfo正常存在的情况下才进行
 
-            $resp = Resp::ok($game);                                            # 设置返回值
-//            self::backupUserInfo();                                             # 数据回写       
+            $resp = Resp::ok($game);                                            # 设置返回值 
             self::updtateUserZoneInfo();                                        # 1. 更新玩家分区记录
         }
         return $resp;

+ 0 - 360
Gameserver/App/service_call/InquireApi/TaskDeal.php

@@ -1,360 +0,0 @@
-<?php
-namespace loyalsoft;
-/* 
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-include_once __DIR__ . '/../../main.php';
-
-taskDeal();
-//textInterface();
-function taskDeal() {        
-    $db = daoInst();
-    $zoneid = 1;
-    $index = 0;
-    $size = 20;
-    $page = 0;
-    
-    $userUidArr = array();
-    while (true) {
-        $page = $index * $size;
-        $sql = "select * from tab_rolename WHERE zoneid= $zoneid limit %d,%d";             
-        $queryStr = sprintf($sql, $page, $size);
-        $result = $db->query($queryStr)->fetchAll();
-        
-        if(count($result) == 0){
-            break;
-        }
-                       
-        foreach ($result as $arr) {
-            foreach ($arr as $k=>$item) {
-                if($k == "userID" && !in_array($item, $userUidArr)){
-                    $userUidArr[] = $item;
-                }
-             
-            }
-        }
-        
-//        if($index >= 10){//临时代码以后删除的
-//            break;
-//        }
-        $index += 1;
-    }
-    
-    startDeal($userUidArr);
-       
-}
-
-/**
- * 测试接口 可以自己添加uid测试
- */
-function textInterface() {
-    $userUidArr = array();
-    $userUidArr[] = "6347a46975d0a43de55f0cec";
-    //$userUidArr[] = "EA74E58DCEB076ACC2D824684499CDA2";
-    
-    startDeal($userUidArr);
-}
-
-/**
- * 开始处理玩家任务信息
- * @param type $userUidArr
- */
-function startDeal($userUidArr) {
-    $mem = gMem();        
-    foreach ($userUidArr as $userUid) {
-        $userRedisKey = MemKey_User::Info_hash(1, $userUid);  
-        if(!$mem->exists($userRedisKey)){          
-            //$sFname = "savData/" ."noRedisExistUserUid.txt";
-            $sFname = isOnline("otherData", "noRedisExistUserUid.txt");
-            //$sFname = "../../../../../../ylsjTaskData/otherData/"."noRedisExistUserUid.txt";
-            $fd = fopen($sFname, 'a');               
-            fwrite($fd, "\r\n" . $userRedisKey);
-            fclose($fd);
-            continue;
-        }
-        
-        if(!$mem->hexists($userRedisKey,'privateState')){
-            //$sFname = "savData/" ."noPrivateState.txt";           
-            //$sFname = "../../../../../../ylsjTaskData/otherData/"."noPrivateState.txt";
-            $sFname = isOnline("otherData", "noPrivateState.txt");
-            $fd = fopen($sFname, 'a');               
-            fwrite($fd, "\r\n" . $userRedisKey);
-            fclose($fd);
-            continue;
-        }
-        if(!$mem->hexists($userRedisKey,'store')){
-            //$sFname = "savData/" ."noStore.txt";
-            //$sFname = "../../../../../../ylsjTaskData/otherData/"."noStore.txt";
-            $sFname = isOnline("otherData", "noStore.txt");
-            $fd = fopen($sFname, 'a');               
-            fwrite($fd, "\r\n" . $userRedisKey);
-            fclose($fd);
-            continue;
-        }
-        
-        if(!$mem->hexists($userRedisKey,'heros')){//
-            //$sFname = "savData/" ."noHeros.txt";
-            //$sFname = "../../../../../../ylsjTaskData/otherData/"."noHeros.txt";  
-            $sFname = isOnline("otherData", "noHeros.txt");
-            $fd = fopen($sFname, 'a');               
-            fwrite($fd, "\r\n" . $userRedisKey);
-            fclose($fd);
-            continue;
-        }
-                
-        $privateState = $mem->hget($userRedisKey, 'privateState');
-        if(!StlUtil::dictHasProperty($privateState,'taskJianRong_index')){
-            $privateState->taskJianRong_index = 0;
-        }
-        $startIndex = $privateState->taskJianRong_index;
-        if($startIndex > 0){
-            continue;                       
-        }      
-        $dic = GameConfig::taskJianRong();//任务兼容配置表
-        $arr = (array)$dic;
-	ksort($arr);         
-           
-        $store = $mem->hget($userRedisKey, 'store');
-        $herosdic = $mem->hget($userRedisKey,'heros');
-        $base = $mem->hget($userRedisKey, 'baseInfo');
-        $taskcards = $store->taskcards;
-        
-        //处理前玩家数据保存
-        taskSav_start($userRedisKey, $store, $privateState,$herosdic);
-         
-        foreach ($arr as $index =>$val) {       
-            if($index <= $startIndex){
-                continue;
-            }
-           
-            $cmd = $val->cmd1;
-            $tempUId = 999999; 
-            $tag = true;
-            switch ($cmd) {
-                case 100://该任务存在即重置,不存在就算了 参数:任务id
-                    $tag = false;
-//                    $str = substr($base->name,0,2);
-//                    if($str == "No."){
-//                        $tag = true; 
-//                    }
-//                                 
-                    break;
-                case 200://多个武器拥有其中一个即不需要重置,都没有要重置 参数:多个武器id,号分开
-                    $list = explode(',', $val->paras1);                    
-                    $tag = true;
-                    $equip = $store->equipment;
-                    
-                    foreach ($equip as $eUid => $eDic) {
-                        if(in_array($eDic->typeId,$list)){
-                            $tag = false;
-                            break;
-                        }                                           
-                    }  
-                                                          
-                    break;
-                case 201://多个武器任一一个等级到10级即不重置,都没有则重置
-                    $list = explode(',', $val->paras1); 
-                    $lv = $val->parasCtx1; 
-                    $equip = $store->equipment;
-                
-                    foreach ($list as $eTypeId) {
-                        foreach ($equip as $eUid => $eDic) {
-                            if($eTypeId == $eDic->typeId && $eDic->level >= $lv){
-                                $tag = false;
-                                break 2; 
-                            }
-                        }
-                    }
-                                                                                                
-                    break;
-                case 202://多个武器任一一个突破到1星即不重置,都没有则重置
-                    $list = explode(',', $val->paras1); 
-                    $starLv = $val->parasCtx1; 
-                    $equip = $store->equipment;
-                 
-                    foreach ($list as $eTypeId) {
-                        foreach ($equip as $eUid => $eDic) {
-                            if($eTypeId == $eDic->typeId && $eDic->starLevel >= $starLv){
-                                $tag = false;
-                                break 2; 
-                            }
-                        }
-                    }
-                                                         
-                    break;
-                case 300://唤灵师等级升到X级,不满足则重置***
-                    $lv = $val->paras1;                                      
-                    $heros = $herosdic->collectHeros;
-                  
-                    foreach ($heros as $heroUid => $v) {
-                        if($v->level >= $lv){
-                            $tag = false;
-                            break;
-                        }
-                    }
-                                   
-                    break;
-                case 301://唤灵师有过突破,不满足则重置
-                    $sLv = $val->paras1;
-                    $heros = $herosdic->collectHeros;
-               
-                    foreach ($heros as $heroUid => $v) {
-                        if($v->curStar >= $sLv){
-                            $tag = false;
-                            break;
-                        }
-                    }
-  
-                    break;
-                case 302://是否拥有某言灵,有其中一个则不重置,全没有则重置
-                    $list = explode(',', $val->paras1);                    
-                    $tag = true;
-                    $yanling = $store->yanling;
-                   
-                    foreach ($yanling as $eUid => $eDic) {
-                        if(in_array($eDic->typeId,$list)){
-                            $tag = false;
-                            break;
-                        }                                           
-                    }                                
-                    
-                    break;
-                case 303://items 背包里是否有某道具(是否获得召唤卡)
-                    $items = $store->items;
-                    $itemId = $val->paras1;                 
-                    if(StlUtil::dictHasProperty($items, $itemId)){
-                        $tag = false;
-                    }                                       
-                    
-                    break;
-                case 304://任一言灵等级到20级,都没有则重置                    
-                    $lv = $val->paras1; 
-                    $yanling = $store->yanling;                               
-                    
-                    foreach ($yanling as $eUid => $eDic) {
-                        if($eDic->level >= $lv){
-                            $tag = false;
-                            break; 
-                        }
-                    }
-
-                    break;
-                case 305://任一言灵突破到1星,都没有则重置                     
-                    $slv = $val->paras1;
-                    $yanling = $store->yanling;                                                          
-                    foreach ($yanling as $eUid => $eDic) {
-                        if($eDic->starLv >= $slv){
-                            $tag = false;
-                            break; 
-                        }
-                    }                        
-                    
-                    break;
-                
-                default:
-                    break;
-            }
-                           
-            $privateState->taskJianRong_index = $index;    
-            if($tag){                     
-                $k = 1;
-                $tempUId = $privateState->taskCardTracing->$k;        
-                if(StlUtil::dictHasProperty($taskcards,$tempUId)){
-                    $task = new Ins_TaskCard($val->taskId_Modified);
-                    $task->uid = $tempUId;
-                    $task->state = 2;
-                    $taskcards->$tempUId = $task;
-                    
-                    //福利--给50w金币
-                    $base->gold += 500000;
-                    if($cmd == 200 || $cmd == 201 || $cmd == 202){//给1010022武器
-                        $cid = $privateState->currentId++;
-                        $equip = new Ins_Weapon();
-                        $equip->typeId = 1010022;
-                        $store->equipment->$cid = $equip;
-                    }
-                    
-                    if($cmd == 301){
-                        $prizeitems = "2010001,10;3255001,3;3261001,15";
-                        $list = explode(';', $prizeitems);
-                        foreach ($list as $s) {
-                            $slist = explode(',', $s);
-                            $itemId = $slist[0];
-                            $itemNum = $slist[1];
-                            if(StlUtil::dictHasProperty($store->items,$itemId) ){
-                                $store->items->$itemId += $itemNum;
-                            } else {
-                                $store->items->$itemId = $itemNum;
-                            }
-                        }
-                        
-                    }
-                }
-                break;                                                                    
-            }
-        }
-        
-        $store->taskcards = $taskcards;
-             
-        taskSav_end($userRedisKey, $store, $privateState,$base);
-        
-        //玩家数据回存
-        gMem()->hset($userRedisKey, 'store', $store);
-        gMem()->hset($userRedisKey, 'privateState', $privateState);
-        gMem()->hset($userRedisKey, 'baseInfo', $base);
-    }
-    
-}
-
-/**
- * 保存数据地址 ----自己去方法里面设置 true或是false
- * @param type $g
- * @param type $name
- * @return string
- */
-function isOnline($g,$name) {
-    $Online = false; 
-    $sFname = $name;
-    if($Online){
-        if($g == "start"){
-            $sFname = "../../../../../../ylsjTaskData/sav_start/".$name; 
-        } elseif ($g == "end") {
-            $sFname = "../../../../../../ylsjTaskData/sav_last/".$name; 
-        } else {
-            $sFname = "../../../../../../ylsjTaskData/otherData/".$name; 
-        }     
-    } else {
-        $sFname = "savData/". $name;
-    }
-    return $sFname;
-}
-
-/**
- * 处理完后数据回存
- * @param type $userUid
- * @param type $store
- * @param type $privateState
- * @param type $hero
- */
-function taskSav_start($userUid,$store,$privateState,$hero) {         
-    $name = isOnline("start", $userUid.".txt");
-    $fd = fopen($name, 'a');       
-    fwrite($fd, json_encode($store)."\r\n");
-    fwrite($fd, "\r\n" . json_encode($privateState)."\r\n");
-    fwrite($fd, "\r\n" . json_encode($hero)."\r\n");
-    fclose($fd);
-}
-
-function taskSav_end($userUid,$store,$privateState,$base) {   
-    //$name ="savData/". "$userUid"."-last.txt";
-    //$name = "../../../../../../ylsjTaskData/sav_last/"."$userUid"."-last.txt";  
-    $name = isOnline("end", $userUid."-last.txt");
-    $fd = fopen($name, 'a');       
-    fwrite($fd,"\r\n" . json_encode($store)."\r\n");
-    fwrite($fd, "\r\n" . json_encode($privateState)."\r\n");
-    fwrite($fd, "\r\n" . json_encode($base)."\r\n");
-    fclose($fd);
-}

+ 0 - 197
Gameserver/App/service_call/InquireApi/weaponlevelDeal.php

@@ -1,197 +0,0 @@
-<?php
-namespace loyalsoft;
-/* 
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-include_once __DIR__ . '/../../main.php';
-
-//taskDeal();
-textInterface();
-function taskDeal() {        
-    $db = daoInst();
-    $zoneid = 1;
-    $index = 0;
-    $size = 20;
-    $page = 0;
-    
-    $userUidArr = array();
-    while (true) {
-        $page = $index * $size;
-        $sql = "select * from tab_rolename WHERE zoneid= $zoneid limit %d,%d";             
-        $queryStr = sprintf($sql, $page, $size);
-        $result = $db->query($queryStr)->fetchAll();
-        
-        if(count($result) == 0){
-            break;
-        }
-                       
-        foreach ($result as $arr) {
-            foreach ($arr as $k=>$item) {
-                if($k == "userID" && !in_array($item, $userUidArr)){
-                    $userUidArr[] = $item;
-                }
-             
-            }
-        }
-        
-        $index += 1;
-    }
-    
-    startDeal($userUidArr);
-       
-}
-
-/**
- * 测试接口 可以自己添加uid测试
- */
-function textInterface() {
-    $userUidArr = array();
-    //$userUidArr[] = "6347a46975d0a43de55f0cec";
-    $userUidArr[] = "EA74E58DCEB076ACC2D824684499CDA2";
-    
-    startDeal($userUidArr);
-}
-
-/**
- * 开始处理玩家任务信息
- * @param type $userUidArr
- */
-function startDeal($userUidArr) {
-    $mem = gMem();        
-    $weaponConf = GameConfig::weaponextra_level();
-    
-    foreach ($userUidArr as $userUid) {
-        $userRedisKey = MemKey_User::Info_hash(1, $userUid);  
-        if(!$mem->exists($userRedisKey)){          
-            //$sFname = "savData/" ."noRedisExistUserUid.txt";
-            $sFname = isOnline("otherData", "noRedisExistUserUid.txt");
-            //$sFname = "../../../../../../ylsjTaskData/otherData/"."noRedisExistUserUid.txt";
-            $fd = fopen($sFname, 'a');               
-            fwrite($fd, "\r\n" . $userRedisKey);
-            fclose($fd);
-            continue;
-        }
-        
-        if(!$mem->hexists($userRedisKey,'privateState')){
-            //$sFname = "savData/" ."noPrivateState.txt";           
-            //$sFname = "../../../../../../ylsjTaskData/otherData/"."noPrivateState.txt";
-            $sFname = isOnline("otherData", "noPrivateState.txt");
-            $fd = fopen($sFname, 'a');               
-            fwrite($fd, "\r\n" . $userRedisKey);
-            fclose($fd);
-            continue;
-        }
-              
-        if(!$mem->hexists($userRedisKey,'store')){
-            //$sFname = "savData/" ."noStore.txt";
-            //$sFname = "../../../../../../ylsjTaskData/otherData/"."noStore.txt";
-            $sFname = isOnline("otherData", "noStore.txt");
-            $fd = fopen($sFname, 'a');               
-            fwrite($fd, "\r\n" . $userRedisKey);
-            fclose($fd);
-            continue;
-        }            
-                
-        $privateState = $mem->hget($userRedisKey, 'privateState');
-        if(!StlUtil::dictHasProperty($privateState,'weapon_index')){
-            $privateState->weapon_index = 0;
-        }
-        $startIndex = $privateState->weapon_index;
-        if($startIndex > 0){
-            continue;                       
-        }                               
-        $store = $mem->hget($userRedisKey, 'store');      
-        $equipment = $store->equipment;
-        
-        //处理前玩家数据保存
-        taskSav_start($userRedisKey, $store, $privateState);
-        
-        $tempDic = new \stdClass();
-        $index = 0;
-        foreach ($equipment as $k => $item) {
-            $typeId = $item->typeId;
-            
-            if(!StlUtil::dictHasProperty($weaponConf, $typeId)){
-                $sFname = isOnline("otherData", "noConf.txt");
-                $fd = fopen($sFname, 'a');               
-                fwrite($fd, "\r\n" . $typeId);
-                fclose($fd);
-                continue;
-            }
-            
-            $lv = $item->level;
-            $dic = $weaponConf->$typeId;
-            $arr = (array)$dic;
-            ksort($arr);  
-            foreach ($arr as $star => $val) {
-                if($lv >= $val->starlimitLv){
-                    $item->starLevel = $val->starLv;
-                }
-            }
-            $index += 1;
-            $tempDic->$k = $item;
-            $privateState->weapon_index = $index;   
-        }
-               
-        $store->equipment = $tempDic;
-             
-        taskSav_end($userRedisKey, $store, $privateState);
-        
-        //玩家数据回存
-        gMem()->hset($userRedisKey, 'store', $store);
-        gMem()->hset($userRedisKey, 'privateState', $privateState);  
-    }
-    
-}
-
-/**
- * 保存数据地址 ----自己去方法里面设置 true或是false
- * @param type $g
- * @param type $name
- * @return string
- */
-function isOnline($g,$name) {
-    $Online = false; 
-    $sFname = $name;
-    if($Online){
-        if($g == "start"){
-            $sFname = "../../../../../../ylsjWeaponData/sav_start/".$name; 
-        } elseif ($g == "end") {
-            $sFname = "../../../../../../ylsjWeaponData/sav_last/".$name; 
-        } else {
-            $sFname = "../../../../../../ylsjWeaponData/otherData/".$name; 
-        }     
-    } else {
-        $sFname = "savData/". $name;
-    }
-    return $sFname;
-}
-
-/**
- * 处理完后数据回存
- * @param type $userUid
- * @param type $store
- * @param type $privateState
- * @param type $hero
- */
-function taskSav_start($userUid,$store,$privateState) {         
-    $name = isOnline("start", $userUid."-pre.txt");
-    $fd = fopen($name, 'a');       
-    fwrite($fd, json_encode($store)."\r\n");
-    fwrite($fd, "\r\n" . json_encode($privateState)."\r\n");
-    fclose($fd);
-}
-
-function taskSav_end($userUid,$store,$privateState) {   
-    //$name ="savData/". "$userUid"."-last.txt";
-    //$name = "../../../../../../ylsjTaskData/sav_last/"."$userUid"."-last.txt";  
-    $name = isOnline("end", $userUid."-last.txt");
-    $fd = fopen($name, 'a');       
-    fwrite($fd,"\r\n" . json_encode($store)."\r\n");
-    fwrite($fd, "\r\n" . json_encode($privateState)."\r\n");
-    
-    fclose($fd);
-}

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio