par Yituo Lin Il y a 1 année
152
Plus de détails
根据库存
给商业化用的数值(slot,timeskip)会记录历史最大值,避免数值太低(比如把所有小人都下了)
可选配置最大值:items表ad_rewards_max
可选配置最小值:items表ad_rewards_limit
可选配置最大值max
可选配置最小值count
可配置参数&guarantee=1,就会读取items表的shop_rewards_limit当作最小速度
主家具计算秒产再换算成分钟,duration决定多久跳一次资源
使用炉子的consumption,配成负数,配置即按分钟产量配置
timeskip的逻辑,屏蔽了heart
items表中配置有最小值和最大值
类型为收集资源的任务的需求计算值,也缓存了最大单位时间产出,同时限制了最大和最小值,配置与item表中的count和max之间
需要判断战斗解锁后
特殊情况:进city没有建筑时,有类型和数量的保底,但取不到卡牌boost
先获取基础产出再根据建筑解锁进行矫正,比如建筑刚解锁没有24h记录,则存在取保底的情况,配置在item中
涉及资源
主线heart
通用
按类型取基础秒产,基础秒产<保底时,读item表里的保底速度
特殊处理
(待改)针对主线heart,优先判断是否有保底,没有的话再判断功能是否解锁
通过配置确认是否有保底,缓存最大值小于保底时给保底
缓存从基础逻辑中获得的各种资源的秒产的最大值,只使用秒产,不涉及消耗
涉及功能
水果机
Slot
活动奖励
box
礼包
任务奖励
生产链
非工作
工作
数据面板
瞬时值
生存资源
土豆type3
单位时间产出
食物/肉
24h产出/12
活动heart
以720s为单位时间,直接算出离线期间的总产出
cash
cash离线逻辑
生产资源
以720s为单位时间,结合产出、消耗和库存进行多轮计算,最终得出离线期间的总产出和总消耗
当记录时长不足游戏内24h,则直接取item表里面的shop_reward_limit
当记录时长超过游戏内24h,则直接用缓存总和/720s,得出每秒基础产出
使用24h基础逻辑,只有产出
产出建筑
生产建筑
计算逻辑
在线逻辑(商业化使用时的计算逻辑),模拟是按照600s的时长进行循环,同时在这600s内不考虑缓存的各种物品存量的变化
离线逻辑,模拟循环的时间范围是整个离线时长,同时考虑了离线期间存量的变化
在获取cash产出时 1. 获取校车数量、上货口数量 2. 缓存各种物品的存量 3. 模拟产出
计算单位时间产出,用于计算
给别的功能应时吐出的值,都已进行了boost加成计算(这里的boost指卡牌加成和其它商业化加成)
单位时间取值
当记录时长不足游戏内24h,则计算可用且已分配小人的家具单次产出效率和消耗效率并求和,作为每秒基础产出和每秒基础消耗
当记录时长超过游戏内24h,则直接用缓存总和/720s,得出每秒基础产出和每秒基础消耗
对象:product_type=3,4
进行24h基础产耗记录
分别记录各种资源游戏内每小时的基础产出和基础消耗,游戏内每小时结束时进行记录或更新已有的缓存数值(* 基础产/耗只受建筑等级、小人分配等影响)