用户工具

站点工具


rob

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
rob [2019/03/09 17:32] 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保护时间       |
  
-[[generate:rob_target_config]] 掠夺目标+[[generated:rob_target_info]] 掠夺目标
  
-[[generate:rob_target_config]] 掠夺结果+[[generated:rob_result_info]] 掠夺结果
  
 =====协议===== =====协议=====
行 34: 行 40:
 [[generated:RobGetLog]] 掠夺获取Log 最多获得50条log [[generated:RobGetLog]] 掠夺获取Log 最多获得50条log
  
-[[generated:GMRobRefresh]] GM指定搜索目标+[[generated:GMRobRefresh]] GM指定搜索目标  
 + 
 + 
 + 
 +=====要点说明===== 
 + 
 +====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.1552123930.txt.gz · 最后更改: 2019/03/09 17:32 由 shenmo