骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 1717|回复: 2

[功能与代码] 战团—部队战斗力计算公式

[复制链接]

31

主题

209

回帖

187

积分

见习骑士

Rank: 3

UID
2462463
第纳尔
1582
精华
0
互助
23
荣誉
0
贡献
0
魅力
83
注册时间
2015-3-3
鲜花(57) 鸡蛋(0)
发表于 2023-2-21 15:24:53 | 显示全部楼层 |阅读模式
本帖最后由 战争傀儡阿格兰 于 2023-2-21 20:17 编辑

代码环境1.171。

代码是怎么判断攻防时候双方军事力量对比?具体的数据是用module_scripts.py里"party_calculate_strength"脚本计算得出。概括一下:设一个兵种等级为x,那么其战斗力y=(x+4)*(x+4)/50,如果y小于1,则直接取1。所有兵种的y加起来就是部队战斗力值,储存在目标party的 slot_party_cached_strength,slot代号56。

战斗力.png
应用实例:
1、为啥海寇一个飞斧就能带走一个汉子,ai领主却能无伤解决?因为海寇等级低;
2、为什么ai喜欢烧村子?因为村子战斗力直接为10,相当于1个19级的兵;
        (try_begin),
          (is_between, ":potential_target", villages_begin, villages_end),
          (assign, ":enemy_strength", 10),

3、城堡什么肯定不光光算守军,还要算驻军;

        (else_try),
          (party_get_slot, ":enemy_strength", ":potential_target", slot_party_cached_strength),
          (party_get_slot, ":enemy_strength_nearby", ":potential_target", slot_party_nearby_friend_strength),
          (val_add, ":enemy_strength", ":enemy_strength_nearby"),
        (try_end),

【END】
研究代码ing,希望战团还有研究代码的人吧!


("party_calculate_strength",
    [
      (store_script_param_1, ":party"), #Party_id
      (store_script_param_2, ":exclude_leader"), #Party_id
      
      (assign, reg0,0),
      (party_get_num_companion_stacks, ":num_stacks", ":party"),
      (assign, ":first_stack", 0),
      (try_begin),
        (neq, ":exclude_leader", 0),
        (assign, ":first_stack", 1),
      (try_end),
      (try_for_range, ":i_stack", ":first_stack", ":num_stacks"),
        (party_stack_get_troop_id, ":stack_troop",":party", ":i_stack"),
        (store_character_level, ":stack_strength", ":stack_troop"),
        (val_add, ":stack_strength", 4), #new was 12 (patch 1.125)
        (val_mul, ":stack_strength", ":stack_strength"),
        (val_mul, ":stack_strength", 2), #new (patch 1.125)
        (val_div, ":stack_strength", 100),
        (val_max, ":stack_strength", 1), #new (patch 1.125)
        (try_begin),
          (neg|troop_is_hero, ":stack_troop"),
          (party_stack_get_size, ":stack_size",":party",":i_stack"),
          (party_stack_get_num_wounded, ":num_wounded",":party",":i_stack"),                    
          (val_sub, ":stack_size", ":num_wounded"),
          (val_mul, ":stack_strength", ":stack_size"),
        (else_try),
          (troop_is_wounded, ":stack_troop"), #hero & wounded
          (assign, ":stack_strength", 0),
        (try_end),
        (val_add, reg0, ":stack_strength"),
      (try_end),
      (party_set_slot, ":party", slot_party_cached_strength, reg0),
  ]),

评分

参与人数 1第纳尔 +10 互助 +1 魅力 +10 收起 理由
Aomine Daiki + 10 + 1 + 10 文章不错,继续努力!

查看全部评分

10

主题

6

回帖

5

积分

平民

Rank: 1

UID
3381414
第纳尔
422
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2022-7-10

维京征服正版勋章拿破仑正版勋章

鲜花(1) 鸡蛋(0)
发表于 2023-2-21 16:26:46 来自手机 | 显示全部楼层
说的好!我会持续关注你的作品来自: Android客户端

16

主题

837

回帖

396

积分

子爵[版主]

汉[Han]
联机ID:Han_DongHai

Rank: 7Rank: 7Rank: 7

UID
3033293
第纳尔
13438
精华
0
互助
24
荣誉
2
贡献
510
魅力
184
注册时间
2018-10-3

第十届战团中国联赛征战勋章汉匈决战正版勋章战团正版勋章霸主正版勋章

QQ
鲜花(39) 鸡蛋(0)
发表于 2023-2-21 17:11:48 | 显示全部楼层
很好,希望能继续努力
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2024-11-19 12:28 , Processed in 0.117455 second(s), 28 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表