用户工具

站点工具


rob

掠夺

原型

rob_setting 掠夺设置

pvp_rank_config 杯的设置

robot_config 机器人配置表

robot_rate_config 机器人出现几率

ITEM_USE_TYPE 增加了21 枚局,直接增加PVP保护时间(item_function_config.extra)为时间(单位是分)

需要填写 item_configitem_function_config

存档

player_info 增加

字段 说明 枚举
pvp_group 战场组 109
pvp_trophy pvp奖杯 107
pvp_rank pvp等级 108
pvp_protect_time pvp保护时间

rob_target_info 掠夺目标

rob_result_info 掠夺结果

协议

RobSync 掠夺信息同步 获得新log/结算未完成的战斗

RobRefresh 掠夺搜索对手

RobRevenage 掠夺复仇搜索对手

RobGetLog 掠夺获取Log 最多获得50条log

GMRobRefresh GM指定搜索目标

要点说明

1机器人

玩家开始搜索时,如果奖杯小于rob_setting.robot_trophy_max 则需要判断是否需要机器人

首先从robot_rate_config 中匹配到所在的档次,然后roll出自己是否需要匹配机器人

如果不需要匹配,则正常逻辑下去。需要匹配则 按规则 随机一个奖杯区间,在这个区间找到一个机器人,作为结果。

2保护

需要道具进行配置,并且作为立即使用的道具,特殊逻辑去修改 player_info.pvp_protect

如果pvp_protect 小于当前时间,则从当前时间开始加,否则从pvp_protect的时间开始加

3搜索

如果玩家需要匹配真人,需要根据自己的 trophy 划定范围 rob_setting search_score_min/search_score_max

然后在数据库进行匹配, 规则需要包含

1/ pvp_protect < now

2/ trophy 的范围

3/ pvp_group一致

4/ last_online > now + rob_setting offline_time

5/ 不能是自己

搜索失败给出提示信息

4生成目标

根据目标当时的数据,计算他的watch tower 有效值(TODO)

根据 rob_setting loot_win_rate/loot_lost_rate 分别计算攻守方收益

然后根据双方奖杯,计算得失分数

胜利获得奖杯=30+(对方奖杯-自己奖杯)*0.075

失败失去奖杯=30-(对方奖杯-自己奖杯)*0.075

结果保存到 rob_target_info

5战斗

BattleStart 如果输入的关卡是pvp的 stage_config.type==3

则认为就是以当前rob_target_info 为目标的掠夺战斗

BattleEnd,对战斗结果进行结算,给予攻方奖励,并记录rob_result_info

同一个对手的挑战次数由 rob_target_info.attempt_count 和 rob_setting.attempt_max 进行比较

战斗细则

战斗超时 和 逃跑

PlayerLogin 或者 RobSync 需要对正在攻击的战斗进行判负

超时时间为5分钟,由 rob_setting.battle_max_time

并且rob_target_info.attack_time + 5分钟,就要视为超时。战斗立刻失败(需要一些倒计时等表现)

战斗中的30回合变强规则暂缓制作(统一的战场技能规则)

6守方结算

守方在上线的那一刻 PlayerLogin 或者 RobSync 进行结算

RobSync 可以获得之前的全部战斗记录,并且扣除loot_lost 到瞭望塔的收益。(先扣除再计算时间)

有synced标记为

奖杯应该在rob 完成的时候就修改。

7复仇

rob_result_info 里的 revenged 字段表示是否复仇过

rob_target_info.revenge_id 和 rob_result_info.revenge_id都指向了对应的条目

复仇搜索不需要消耗肉

8回放

BattleLoad 指向 rob_result_info.replay_id

作弊校验

在本地回放的时候,会检查每一个action是否可以执行。(比如在没有魔法的时候释放技能)

也会校验每个action之后的分数,如果分数不吻合也视为作弊。

分数的计算包含 场面 血量 魔法 等

如果发现作弊,会通过 BattleReport 提交到服务器,记录在cheat_info, 每个replay只能提交一次

聊天分享 待定

9战场分组

目前用 pvp_group ,枚举id 109控制

rob.txt · 最后更改: 2019/03/27 17:11 由 shenmo