用户工具

站点工具


rob

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
rob [2019/03/09 17:35] shenmorob [2019/03/27 17:11] (当前版本) shenmo
行 5: 行 5:
  
 [[generated:rob_setting]] 掠夺设置 [[generated:rob_setting]] 掠夺设置
 +
 +[[generated:pvp_rank_config]] 杯的设置
  
 [[generated:robot_config]] 机器人配置表 [[generated:robot_config]] 机器人配置表
  
 [[generated:robot_rate_config]] 机器人出现几率 [[generated:robot_rate_config]] 机器人出现几率
 +
 +[[generated:ITEM_USE_TYPE]] 增加了21 枚局,直接增加PVP保护时间(item_function_config.extra)为时间(单位是分)
 +
 +需要填写 [[generated:item_config]] 和 [[generated:item_function_config]]
  
 =====存档===== =====存档=====
行 14: 行 20:
 [[generated:player_info]] 增加 [[generated:player_info]] 增加
  
-^字段^说明^枚举^ +^ 字段                ^ 说明       ^ 枚举   
-|pvp_group     |战场组  |107 +| pvp_group         | 战场组      109  
-|pvp_trophy    |pvp奖杯 |108 +| pvp_trophy        | pvp奖杯    107  
-|pvp_rank      |pvp等级 |109 +| pvp_rank          | pvp等级    108  
-|pvp_protect_time    |pvp保护时间 |+| pvp_protect_time  | pvp保护时间       |
  
 [[generated:rob_target_info]] 掠夺目标 [[generated:rob_target_info]] 掠夺目标
行 37: 行 43:
  
  
 +
 +=====要点说明=====
 +
 +====1机器人====
 +
 +玩家开始搜索时,如果奖杯小于[[generated:rob_setting]].robot_trophy_max 则需要判断是否需要机器人
 +
 +首先从[[generated:robot_rate_config]] 中匹配到所在的档次,然后roll出自己是否需要匹配机器人
 +
 +如果不需要匹配,则正常逻辑下去。需要匹配则 按规则 随机一个奖杯区间,在这个区间找到一个机器人,作为结果。
 +
 +====2保护====
 +
 +需要道具进行配置,并且作为立即使用的道具,特殊逻辑去修改 [[generated:player_info]].pvp_protect
 +
 +如果pvp_protect 小于当前时间,则从当前时间开始加,否则从pvp_protect的时间开始加
 +
 +====3搜索====
 +
 +如果玩家需要匹配真人,需要根据自己的 trophy 划定范围 [[generated:rob_setting]] search_score_min/search_score_max
 +
 +然后在数据库进行匹配, 规则需要包含
 +
 +1/ pvp_protect < now
 +
 +2/ trophy 的范围
 +
 +3/ pvp_group一致
 +
 +4/ last_online > now + [[generated:rob_setting]] offline_time
 +
 +5/ 不能是自己
 +
 +搜索失败给出提示信息
 +
 +====4生成目标=====
 +
 +根据目标当时的数据,计算他的watch tower 有效值(TODO)
 +
 +根据 [[generated:rob_setting]] loot_win_rate/loot_lost_rate 分别计算攻守方收益
 +
 +然后根据双方奖杯,计算得失分数 
 +
 +胜利获得奖杯=30+(对方奖杯-自己奖杯)*0.075
 +
 +失败失去奖杯=30-(对方奖杯-自己奖杯)*0.075
 +
 +结果保存到 [[generated:rob_target_info]]
 +
 +====5战斗====
 +
 +[[generated:BattleStart]]  如果输入的关卡是pvp的   stage_config.type==3 
 +
 +则认为就是以当前rob_target_info 为目标的掠夺战斗
 +
 +在[[generated:BattleEnd]],对战斗结果进行结算,给予攻方奖励,并记录[[generated:rob_result_info]]
 +
 +同一个对手的挑战次数由 [[generated:rob_target_info]].attempt_count 和 [[generated:rob_setting]].attempt_max 进行比较
 +
 +
 +=== 战斗细则 ===
 +
 +战斗超时 和 逃跑
 +
 +[[generated:PlayerLogin]] 或者 [[generated:RobSync]] 需要对正在攻击的战斗进行判负
 +
 +超时时间为5分钟,由 [[generated:rob_setting]].battle_max_time
 +
 +并且[[generated:rob_target_info]].attack_time + 5分钟,就要视为超时。战斗立刻失败(需要一些倒计时等表现)
 +
 +战斗中的30回合变强规则暂缓制作(统一的战场技能规则)
 +
 +====6守方结算====
 +
 +守方在上线的那一刻 [[generated:PlayerLogin]] 或者 [[generated:RobSync]] 进行结算
 +
 +[[generated:RobSync]]  可以获得之前的全部战斗记录,并且扣除loot_lost 到瞭望塔的收益。(先扣除再计算时间)
 +
 +有synced标记为
 +
 +奖杯应该在rob 完成的时候就修改。 
 +
 +====7复仇====
 +
 +[[generated:rob_result_info]] 里的 revenged 字段表示是否复仇过
 +
 +[[generated:rob_target_info]].revenge_id 和 [[generated:rob_result_info]].revenge_id都指向了对应的条目
 +
 +复仇搜索不需要消耗肉
 +
 +====8回放====
 +
 +[[generated:BattleLoad]] 指向 [[generated:rob_result_info]].replay_id
 +
 +**作弊校验**
 +
 +在本地回放的时候,会检查每一个action是否可以执行。(比如在没有魔法的时候释放技能)
 +
 +也会校验每个action之后的分数,如果分数不吻合也视为作弊。
 +
 +分数的计算包含 场面 血量 魔法 等
 +
 +如果发现作弊,会通过 [[generated:BattleReport]] 提交到服务器,记录在[[generated:cheat_info]], 每个replay只能提交一次
 +
 +聊天分享 待定
 +
 +====9战场分组====
 +
 +目前用 pvp_group ,枚举id 109控制
  
  
rob.1552124142.txt.gz · 最后更改: 2019/03/09 17:35 由 shenmo