- 好友
- 0
- 在线时间
- 8 小时
- 最后登录
- 2026-5-6
随仆

- UID
- 2557955
- 第纳尔
- 134
- 精华
- 0
- 互助
- 0
- 荣誉
- 0
- 贡献
- 0
- 魅力
- 0
- 注册时间
- 2015-7-9
 鲜花( 1)  鸡蛋( 0)
|
本帖最后由 afl001 于 2026-5-6 12:53 编辑
有至少一只空手,或持有远程武器但已经无弹药,切换盾牌和武器的AI。
一般其他ai都会附带武器切换选择,但有时却会忘记空手的情况。比如带着不能在马背上用的盾,被打下马后明明背着一面盾却不切。用完弹药发呆,也不切其他武器。一面盾被打爆了,有第二面备用盾也不切。有可切近战的投掷武器,没其他近战武器,把弹药打光也不切近战模式,等等等等。此AI就是防止这种空手导致卖萌的情况。
由于双手容易被射成刺猬,除非不得不选择双手持握武器,否则尽量切能配盾的武器,尤其是挥砍类最为优先。
空手切换一次之后就肯定不是空手了,所以理论上不会出现反复切换的情况,这个机制也会防止喧宾夺主,影响其他AI的武器选择。
这算是个普适性的AI,什么战斗场景都能加。
加在攻城战场景时,要稍微修改一下:
搜索被 "###only_in_siege###" 注释掉的行,删掉 "###only_in_siege###" 这几个字符,使这行生效,共5处。
再把修改过的代码加在攻城战场景。这些地方都是跟弹药相关的,因为攻城战守方能自动恢复弹药,情况稍有不同。
txt修改见本帖附件。
若用在公开MOD请注明一下来源。
攻城战场景(前2个场景建议必加,第3个场景可以选择加)
castle_attack_walls_belfry
castle_attack_walls_ladder
quick_battle_siege
非攻城战场景(前3个场景建议必加,后几个场景可以选择加)
lead_charge
village_attack_bandits
village_raid
quick_battle_battle
sneak_caught_fight
bandits_at_night
besiege_inner_battle_castle
besiege_inner_battle_town_center
castle_attack_walls_defenders_sally
bandit_lair
- # 防止空手AI,作者afl001,添加在 mission_templates,若用在公开MOD注明一下来源
- (0.5, 0, 0, [],
- [
- (try_for_agents, ":agent_id"),
- (assign, ":end_this_one", 0),
- (agent_is_alive, ":agent_id"),
- (agent_is_human, ":agent_id"),
- (agent_is_non_player,":agent_id"),
- (agent_get_horse, ":horse", ":agent_id"),
- ###only_in_siege### (agent_get_team, ":agent_team", ":agent_id"),
- #------------------#
- #一:前置处理,弹药用光后,有多把弩/火枪,只留一把,防止无法正确判断弹药是否真的全用光
- #------------------#
- (try_begin),
- ###only_in_siege### (neq, ":agent_team", "$defender_team"),
- ###only_in_siege### (neq, ":agent_team", "$defender_team_2"),
- (agent_get_wielded_item, ":wielded_weapon", ":agent_id", 0),
- (gt,":wielded_weapon",-1),
- (item_get_type, ":wielded_type", ":wielded_weapon"),
- (this_or_next|eq,":wielded_type", itp_type_crossbow),
- (this_or_next|eq,":wielded_type", itp_type_pistol),
- (eq,":wielded_type", itp_type_musket),
- (agent_get_ammo, ":cur_ammo", ":agent_id" , 1),
- (eq, ":cur_ammo", 0),
- (assign, ":hold_weapon", -1),
- (try_for_range,":wp_slot_1",0,3),
- (agent_get_item_slot,":item_id_1",":agent_id",":wp_slot_1"),
- (gt,":item_id_1",-1),
- (item_get_type, ":item_type_1", ":item_id_1"),
- (eq,":item_type_1",":wielded_type"),
- (store_add,":slot_rest",":wp_slot_1",1),
- (try_for_range,":wp_slot_2",":slot_rest",4),
- (agent_get_item_slot,":item_id_2",":agent_id",":wp_slot_2"),
- (gt,":item_id_2",-1),
- (item_get_type, ":item_type_2", ":item_id_2"),
- (eq,":item_type_2",":item_type_1"),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot_2"),
- (try_begin),
- (eq,":slot_ammo",0),
- (agent_unequip_item,":agent_id",":item_id_2",":wp_slot_2"),
- (assign, ":hold_weapon", ":item_id_1"),
- (else_try),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot_1"),
- (eq,":slot_ammo",0),
- (agent_unequip_item,":agent_id",":item_id_1",":wp_slot_1"),
- (assign, ":hold_weapon", ":item_id_2"),
- (try_end),
- (try_end),
- (try_end),
- (gt, ":hold_weapon", -1),
- (try_begin),
- (lt, ":horse", 0),
- (agent_set_wielded_item, ":agent_id", ":hold_weapon"),
- (else_try),
- (neg|item_has_property,":hold_weapon",itp_cant_reload_on_horseback),
- (neg|item_has_property,":hold_weapon",itp_cant_use_on_horseback),
- (agent_set_wielded_item, ":agent_id", ":hold_weapon"),
- (try_end),
- (assign, ":end_this_one", 1),
- (try_end),
- #------------------#
- #二:全面判断角色的武器状态
- #------------------#
- (eq, ":end_this_one", 0),
- (assign, ":have_item_prop_two_handed", 0),
- (assign, ":have_item_prop_non_two_handed", 0),
- (assign, ":is_thrower", 0),
- (assign, ":is_archer", 0),
- (assign, ":is_crossbowman", 0),
- (assign, ":is_gunshooter", 0),
- (assign, ":is_hangunshooter", 0),
- (assign, ":have_melee", 0),
- (assign, ":have_shield", 0),
- (assign, ":have_thrown", 0),
- (assign, ":have_bow", 0),
- (assign, ":have_crossbow", 0),
- (assign, ":have_gun", 0),
- (assign, ":have_handgun", 0),
- (assign, ":thrown_ammo", 0),
- (assign, ":bow_ammo", 0),
- (assign, ":crossbow_ammo", 0),
- (assign, ":gun_ammo", 0),
- (try_for_range,":wp_slot",0,4),
- (agent_get_item_slot,":item_id",":agent_id",":wp_slot"),
- (gt,":item_id",-1),
- (item_get_type, ":item_type", ":item_id"),
- (try_begin),
- (this_or_next|eq, ":item_type", itp_type_one_handed_wpn),
- (this_or_next|eq, ":item_type", itp_type_two_handed_wpn),
- (eq, ":item_type", itp_type_polearm),
- (assign, ":have_melee", 1),
- (try_begin),
- (item_has_property,":item_id",itp_two_handed),
- (assign, ":have_item_prop_two_handed", 1),
- (try_end),
- (try_begin),
- (neg|item_has_property,":item_id",itp_two_handed),
- (assign, ":have_item_prop_non_two_handed", 1),
- (try_end),
- (else_try),
- (eq, ":item_type", itp_type_shield),
- (assign, ":have_shield", 1),
- (else_try),
- (eq, ":item_type", itp_type_thrown),
- (assign, ":have_thrown", 1),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot"),
- (gt,":slot_ammo",-1),
- (val_add, ":thrown_ammo", ":slot_ammo"),
- (else_try),
- (eq, ":item_type", itp_type_bow),
- (assign, ":have_bow", 1),
- (else_try),
- (eq, ":item_type", itp_type_crossbow),
- (assign, ":have_crossbow", 1),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot"),
- (gt,":slot_ammo",-1),
- (val_add, ":crossbow_ammo", ":slot_ammo"),
- (else_try),
- (eq,":item_type", itp_type_pistol),
- (assign, ":have_gun", 1),
- (assign, ":have_handgun", 1),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot"),
- (gt,":slot_ammo",-1),
- (val_add, ":gun_ammo", ":slot_ammo"),
- (else_try),
- (eq,":item_type", itp_type_musket),
- (assign, ":have_gun", 1),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot"),
- (gt,":slot_ammo",-1),
- (val_add, ":gun_ammo", ":slot_ammo"),
- (else_try),
- (eq, ":item_type", itp_type_arrows),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot"),
- (gt,":slot_ammo",-1),
- (val_add, ":bow_ammo", ":slot_ammo"),
- (else_try),
- (eq, ":item_type", itp_type_bolts),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot"),
- (gt,":slot_ammo",-1),
- (val_add, ":crossbow_ammo", ":slot_ammo"),
- (else_try),
- (eq, ":item_type", itp_type_bullets),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot"),
- (gt,":slot_ammo",-1),
- (val_add, ":gun_ammo", ":slot_ammo"),
- (try_end),
- (try_end),
- (try_begin),
- (eq, ":have_thrown", 1),
- (gt, ":thrown_ammo", 0),
- (assign, ":is_thrower", 1),
- (try_end),
- (try_begin),
- (eq, ":have_bow", 1),
- (gt, ":bow_ammo", 0),
- (assign, ":is_archer", 1),
- (try_end),
- (try_begin),
- (eq, ":have_crossbow", 1),
- (gt, ":crossbow_ammo", 0),
- (assign, ":is_crossbowman", 1),
- (try_end),
- (try_begin),
- (eq, ":have_gun", 1),
- (gt, ":gun_ammo", 0),
- (assign, ":is_gunshooter", 1),
- (try_end),
- (try_begin),
- (eq, ":have_handgun", 1),
- (gt, ":gun_ammo", 0),
- (assign, ":is_hangunshooter", 1),
- (try_end),
- #------------------#
- #三:投掷武器切近战模式的情况
- #投掷武器剩下1发弹药,身上无近战武器,也没有其他远程武器弹药,投掷武器有近战模式。
- #不再投掷,而是切换这把投掷武器的近战模式(本场战斗无法再切回来)
- #------------------#
- (try_begin),
- ###only_in_siege### (neq, ":agent_team", "$defender_team"),
- ###only_in_siege### (neq, ":agent_team", "$defender_team_2"),
- (eq, ":have_melee", 0),
- (agent_get_wielded_item, ":wielded_weapon", ":agent_id", 0),
- (gt,":wielded_weapon",-1),
- (item_get_type, ":wielded_type", ":wielded_weapon"),
- (eq,":wielded_type", itp_type_thrown),
- (agent_get_ammo, ":cur_ammo", ":agent_id" , 1),
- (eq, ":cur_ammo", 1),
- (eq, ":thrown_ammo", 1),
- (assign, ":is_shooter_but_throw", 0),
- (try_begin),
- (this_or_next|eq, ":is_archer", 1),
- (this_or_next|eq, ":is_crossbowman", 1),
- (eq, ":is_gunshooter", 1),
- (assign, ":is_shooter_but_throw", 1),
- (try_end),
- (eq, ":is_shooter_but_throw", 0),
- (item_has_property,":wielded_weapon",itp_next_item_as_melee),
- (store_add,":hold_weapon",":wielded_weapon",1),
- (gt, ":hold_weapon", 0),
- (item_get_type, ":item_type", ":hold_weapon"),
- (this_or_next|eq, ":item_type", itp_type_one_handed_wpn),
- (this_or_next|eq, ":item_type", itp_type_two_handed_wpn),
- (eq, ":item_type", itp_type_polearm),
- (assign, ":continue", 0),
- (try_begin),
- (lt, ":horse", 0),
- (assign, ":continue", 1),
- (else_try),
- (neg|item_has_property,":hold_weapon",itp_cant_reload_on_horseback),
- (neg|item_has_property,":hold_weapon",itp_cant_use_on_horseback),
- (assign, ":continue", 1),
- (try_end),
- (eq, ":continue", 1),
- (assign, ":wielded_slot", -1),
- (assign, ":try_end", 4),
- (try_for_range,":wp_slot",0,":try_end"),
- (agent_get_item_slot,":item_id",":agent_id",":wp_slot"),
- (eq,":item_id",":wielded_weapon"),
- (agent_get_ammo_for_slot,":slot_ammo",":agent_id",":wp_slot"),
- (eq,":slot_ammo",1),
- (assign, ":wielded_slot", ":wp_slot"),
- (assign, ":try_end", 0),
- (try_end),
- (agent_unequip_item,":agent_id",":wielded_weapon",":wielded_slot"),
- (agent_equip_item, ":agent_id", ":hold_weapon"),
- (agent_set_wielded_item, ":agent_id", ":hold_weapon"),
- (assign, ":end_this_one", 1),
- (try_end),
- (eq, ":end_this_one", 0),
- (assign, ":empty_ammo_shooter", 0),
- (try_begin),
- (eq, ":is_thrower", 0),
- (eq, ":is_archer", 0),
- (eq, ":is_crossbowman", 0),
- (eq, ":is_gunshooter", 0),
- (this_or_next|eq, ":have_thrown", 1),
- (this_or_next|eq, ":have_bow", 1),
- (this_or_next|eq, ":have_crossbow", 1),
- (eq, ":have_gun", 1),
- (assign, ":empty_ammo_shooter", 1),
- (try_end),
- #------------------#
- #四:空手或相当于空手,切不能带盾的武器的情况
- #远程武器弹药用光,或者任何情况导致的空手。未携带盾。或只携带了不能带盾的武器。
- #------------------#
- (try_begin),
- (eq, ":have_melee", 1),
- (agent_get_wielded_item, ":wielded_weapon", ":agent_id", 0),
- (this_or_next|eq, ":empty_ammo_shooter", 1),
- (lt, ":wielded_weapon", 0),
- (assign, ":only_two_handed", 0),
- (try_begin),
- (eq, ":have_item_prop_two_handed", 1),
- (eq, ":have_item_prop_non_two_handed", 0),
- (assign, ":only_two_handed", 1),
- (try_end),
- (this_or_next|eq, ":only_two_handed", 1),
- (eq, ":have_shield", 0),
- (assign, ":hold_weapon", -1),
- (assign, ":com_damage", 0),
- (try_for_range,":wp_slot",0,4),
- (agent_get_item_slot,":item_id",":agent_id",":wp_slot"),
- (gt, ":item_id", -1),
- (this_or_next|item_has_capability, ":item_id", itcf_slashright_twohanded),
- (item_has_capability, ":item_id", itcf_slashleft_twohanded),
- (assign, ":continue", 0),
- (try_begin),
- (lt, ":horse", 0),
- (assign, ":continue", 1),
- (else_try),
- (neg|item_has_property,":item_id",itp_cant_reload_on_horseback),
- (neg|item_has_property,":item_id",itp_cant_use_on_horseback),
- (assign, ":continue", 1),
- (try_end),
- (eq, ":continue", 1),
- (item_get_swing_damage, ":item_damage", ":item_id"),
- (gt,":item_damage", 0),
- (item_get_swing_damage_type, ":item_dmg_type", ":item_id"),
- (try_begin),
- (eq,":item_dmg_type", 2),
- (val_mul,":item_damage", 8),
- (val_div,":item_damage", 5),
- (else_try),
- (eq,":item_dmg_type", 1),
- (val_mul,":item_damage", 13),
- (val_div,":item_damage", 10),
- (try_end),
- (gt,":item_damage", ":com_damage"),
- (assign, ":hold_weapon", ":item_id"),
- (assign, ":com_damage", ":item_damage"),
- (try_end),
- (gt, ":hold_weapon", -1),
- (agent_set_wielded_item, ":agent_id", ":hold_weapon"),
- (assign, ":end_this_one", 1),
- (try_end),
- #------------------#
- #五:空手或相当于空手,切盾牌的情况
- #左手无盾且非双手射手,右手没武器或有武器但不妨碍持盾。携带有盾,切盾。
- #------------------#
- (eq, ":end_this_one", 0),
- (try_begin),
- (eq, ":have_shield", 1),
- (agent_get_wielded_item, ":wielded_weapon", ":agent_id", 0),
- (agent_get_wielded_item, ":wielded_shield", ":agent_id", 1),
- (try_begin),
- (gt,":wielded_weapon",-1),
- (item_get_type, ":wielded_type", ":wielded_weapon"),
- (try_end),
- (assign, ":wielded_not_shield_and_range", 0),
- (try_begin),
- (lt, ":wielded_shield", 0),
- (neq, ":wielded_type", itp_type_crossbow),
- (neq, ":wielded_type", itp_type_musket),
- (neq, ":wielded_type", itp_type_bow),
- (assign, ":wielded_not_shield_and_range", 1),
- (try_end),
- (this_or_next|eq, ":empty_ammo_shooter", 1),
- (eq, ":wielded_not_shield_and_range", 1),
- (assign, ":wielded_wp_use_one_hand", 0),
- (try_begin),
- (gt, ":wielded_weapon", -1),
- (neg|item_has_property,":wielded_weapon",itp_two_handed),
- (assign, ":wielded_wp_use_one_hand", 1),
- (try_end),
- (this_or_next|eq, ":wielded_wp_use_one_hand", 1),
- (lt, ":wielded_weapon", 0),
- (assign, ":hold_shield", -1),
- (try_for_range,":wp_slot",0,4),
- (lt, ":hold_shield", 0),
- (agent_get_item_slot,":item_id",":agent_id",":wp_slot"),
- (gt, ":item_id", -1),
- (item_get_type, ":item_type", ":item_id"),
- (eq, ":item_type", itp_type_shield),
- (try_begin),
- (lt, ":horse", 0),
- (assign, ":hold_shield", ":item_id"),
- (else_try),
- (neg|item_has_property,":item_id",itp_cant_reload_on_horseback),
- (neg|item_has_property,":item_id",itp_cant_use_on_horseback),
- (assign, ":hold_shield", ":item_id"),
- (try_end),
- (try_end),
- (gt, ":hold_shield", -1),
- (agent_set_wielded_item, ":agent_id", ":hold_shield"),
- (assign, ":end_this_one", 1),
- (try_end),
- #------------------#
- #六:空手或相当于空手,切单手持握武器的情况
- #此时若右手仍然无武器,左手有盾。携带有可以配盾的武器。
- #步兵切可单手挥砍的武器,优先伤害更高的。骑兵切可马上单手用的武器,优先熟练度较高的。
- #------------------#
- (eq, ":end_this_one", 0),
- (try_begin),
- (eq, ":have_item_prop_non_two_handed", 1),
- (agent_get_wielded_item, ":wielded_weapon", ":agent_id", 0),
- (agent_get_wielded_item, ":wielded_shield", ":agent_id", 1),
- (gt, ":wielded_shield", -1),
- (assign, ":empty_ammo_one_hand_shooter", 0),
- (try_begin),
- (eq, ":is_thrower", 0),
- (eq, ":is_hangunshooter", 0),
- (this_or_next|eq, ":have_thrown", 1),
- (eq, ":have_handgun", 1),
- (assign, ":empty_ammo_one_hand_shooter", 1),
- (try_end),
- (this_or_next|eq, ":empty_ammo_one_hand_shooter", 1),
- (lt, ":wielded_weapon", 0),
- (assign, ":hold_weapon", -1),
- (assign, ":com_damage", -1),
- (assign, ":com_proficiency", -1),
- (try_for_range,":wp_slot",0,4),
- (agent_get_item_slot,":item_id",":agent_id",":wp_slot"),
- (gt, ":item_id", -1),
- (neg|item_has_property,":item_id",itp_two_handed),
- (item_get_type, ":item_type", ":item_id"),
- (this_or_next|eq, ":item_type", itp_type_one_handed_wpn),
- (this_or_next|eq, ":item_type", itp_type_two_handed_wpn),
- (eq, ":item_type", itp_type_polearm),
- (item_get_thrust_damage, ":item_th_dmg", ":item_id"),
- (item_get_swing_damage, ":item_damage", ":item_id"),
- (this_or_next|gt,":item_th_dmg", 0),
- (gt,":item_damage", 0),
- (try_begin),
- (lt, ":horse", 0),
- (this_or_next|item_has_capability, ":item_id", itcf_slashright_onehanded),
- (item_has_capability, ":item_id", itcf_slashleft_onehanded),
- (gt,":item_damage", 0),
- (item_get_swing_damage_type, ":item_dmg_type", ":item_id"),
- (try_begin),
- (eq,":item_dmg_type", 2),
- (val_mul,":item_damage", 8),
- (val_div,":item_damage", 5),
- (else_try),
- (eq,":item_dmg_type", 1),
- (val_mul,":item_damage", 13),
- (val_div,":item_damage", 10),
- (try_end),
- (try_begin),
- (eq, ":item_type", itp_type_two_handed_wpn),
- (val_mul,":item_damage", 7),
- (val_div,":item_damage", 10),
- (try_end),
- (gt,":item_damage", ":com_damage"),
- (assign, ":hold_weapon", ":item_id"),
- (assign, ":com_damage", ":item_damage"),
- (else_try),
- (neg|item_has_property,":item_id",itp_cant_reload_on_horseback),
- (neg|item_has_property,":item_id",itp_cant_use_on_horseback),
- (agent_get_troop_id, ":troop_id", ":agent_id"),
- (try_begin),
- (eq, ":item_type", itp_type_one_handed_wpn),
- (store_proficiency_level,":item_proficiency",":troop_id", wpt_one_handed_weapon),
- (else_try),
- (eq, ":item_type", itp_type_two_handed_wpn),
- (this_or_next|item_has_capability, ":item_id", itcf_slashright_onehanded),
- (item_has_capability, ":item_id", itcf_slashleft_onehanded),
- (store_proficiency_level,":item_proficiency",":troop_id", wpt_one_handed_weapon),
- (else_try),
- (eq, ":item_type", itp_type_polearm),
- (store_proficiency_level,":item_proficiency",":troop_id", wpt_polearm),
- (try_end),
- (gt, ":item_proficiency", ":com_proficiency"),
- (assign, ":hold_weapon", ":item_id"),
- (assign, ":com_proficiency", ":item_proficiency"),
- (try_end),
- (try_end),
- (gt, ":hold_weapon", -1),
- (agent_set_wielded_item, ":agent_id", ":hold_weapon"),
- (assign, ":end_this_one", 1),
- (try_end),
- #------------------#
- #七:若此时仍然空手或相当于空手,兜底切换任何可以切换的近战武器。
- #这是最后一种情况了,虽然判断的情况比较多,其实大部分情况并不会触发。
- #这个AI只是补充特殊情况的切换选择,查漏补缺,所以不会太占资源。
- #------------------#
- (eq, ":end_this_one", 0),
- (try_begin),
- (eq, ":have_melee", 1),
- (agent_get_wielded_item, ":wielded_weapon", ":agent_id", 0),
- (this_or_next|eq, ":empty_ammo_shooter", 1),
- (lt, ":wielded_weapon", 0),
- (assign, ":hold_weapon", -1),
- (assign, ":com_damage", -1),
- (try_for_range,":wp_slot",0,4),
- (agent_get_item_slot,":item_id",":agent_id",":wp_slot"),
- (gt, ":item_id", -1),
- (item_get_type, ":item_type", ":item_id"),
- (this_or_next|eq, ":item_type", itp_type_one_handed_wpn),
- (this_or_next|eq, ":item_type", itp_type_two_handed_wpn),
- (eq, ":item_type", itp_type_polearm),
- (assign, ":continue", 0),
- (try_begin),
- (lt, ":horse", 0),
- (assign, ":continue", 1),
- (else_try),
- (neg|item_has_property,":item_id",itp_cant_reload_on_horseback),
- (neg|item_has_property,":item_id",itp_cant_use_on_horseback),
- (assign, ":continue", 1),
- (try_end),
- (eq, ":continue", 1),
- (item_get_thrust_damage, ":item_th_dmg", ":item_id"),
- (item_get_swing_damage, ":item_damage", ":item_id"),
- (assign, ":thrust_item", 0),
- (try_begin),
- (lt,":item_damage", ":item_th_dmg"),
- (assign, ":item_damage", ":item_th_dmg"),
- (assign, ":thrust_item", 1),
- (try_end),
- (gt,":item_damage", 0),
- (try_begin),
- (eq, ":thrust_item", 1),
- (item_get_thrust_damage_type, ":item_dmg_type", ":item_id"),
- (else_try),
- (item_get_swing_damage_type, ":item_dmg_type", ":item_id"),
- (try_end),
- (try_begin),
- (eq,":item_dmg_type", 2),
- (val_mul,":item_damage", 8),
- (val_div,":item_damage", 5),
- (else_try),
- (eq,":item_dmg_type", 1),
- (val_mul,":item_damage", 13),
- (val_div,":item_damage", 10),
- (try_end),
- (try_begin),
- (eq, ":item_type", itp_type_two_handed_wpn),
- (this_or_next|item_has_capability, ":item_id", itcf_slashright_onehanded),
- (item_has_capability, ":item_id", itcf_slashleft_onehanded),
- (eq, ":have_shield", 1),
- (val_mul,":item_damage", 7),
- (val_div,":item_damage", 10),
- (try_end),
- (gt,":item_damage", ":com_damage"),
- (assign, ":hold_weapon", ":item_id"),
- (assign, ":com_damage", ":item_damage"),
- (try_end),
- (gt, ":hold_weapon", -1),
- (agent_set_wielded_item, ":agent_id", ":hold_weapon"),
- (try_end),
- (try_end),
- ]),
- ### 防止空手AI over
复制代码 |
|