注册 | 登录

游侠NETSHOW论坛





查看: 1665|回复: 1
打印 上一主题 下一主题

[讨论] 溃败后(最大)厌战指数这个值是怎么算的啊? [复制链接]

帖子
28
精华
0
积分
14
金钱
425
荣誉
0
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2012-11-1 20:49:31 |只看该作者 |倒序浏览
默认为0的意思究竟是不厌战呢?还是不限制最大厌战指数呢?

使用道具 举报

帖子
894
精华
1
积分
949
金钱
10688
荣誉
30
人气
17
评议
0
沙发
发表于 2012-11-1 23:13:00 |只看该作者
本帖最后由 ancientcc 于 2012-11-1 23:32 编辑

活跃指数(什么是活跃指数参考游戏手册人材编——活跃指数)
活跃指数用于指示该武将活跃程度,初始时是最大值255。所在部队被溃、战斗时受伤会降低指数值。

指数如何变动
部队被击溃:(指数下降)
  1. int merit = die.cause_damage_ + std::min<int>(75, die.field_turns_ * 25);
  2. if (merit < 150) {
  3.         activity = -1 * game_config::maximal_defeated_activity * (150 - merit) / 150;
  4. } else {
  5.         activity = 0
  6. }
复制代码
die.cause_damage_:该部队给敌方部队累计造成的伤害HP。
die.field_turns_:该部队累计在外回合数。
game_config::maximal_defeated_activity:关卡配置中设置的“溃败后最大厌战指数”数值?
最后算出的activity就是部队被击溃后要减去的活跃指数值(activity是个负值)。
————
在以上的计算中,“merit”表示该部队功勋,它给敌人造成损伤越大、在外回合数越多,功勋就越大,一旦功勋>=150,那么这部队被击溃后就不会降指数,否则就要根据这功勋以及关卡配置中设置的“溃败后最大厌战指数”数值来降指数了,具本公式就是:
  1. activity = -1 * game_config::maximal_defeated_activity * (150 - merit) / 150;
复制代码
而这降的指数具体是多少?可以以三个“溃败后最大厌战指数”来说明。
  • 0:activity永远是0。也就是说,部队即使是0功勋也不会降指数。
  • 100:activity = -100 * (150 - merit) / 150,当merit=100时,计算出的activity值是“-3”。
  • 150:activity = -150 * (150 - merit) / 150,当merit=100时,计算出的activity值是“-10”。


所以,溃败后最大厌战指数越大,计算出的要减去的活跃指数值越厉害。

——————
为什么默认值是0呢?这主要是考虑到单机剧本时,AI经常被玩家欺负,很多AI部队“功勋(merit)”很低就被玩家灭了,这时要是设个大的“溃败后最大厌战指数”,AI武将没几回合指数就可能降得连兵没法征了(指数降得<175))。置为0,这是为考虑不致于太欺侮AI。

不为零的指数一般于对战剧本,这时要惩罚炮灰,同一武将要是短时间内被连灭几次,每次“功勋”都低,这时要让他大幅降指数,以致无法征兵,必须在城内休养上几回合。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-8-22 07:59 , Processed in 0.369683 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到