骑砍mod吧 关注:126贴子:146
  • 1回复贴,共1

【转】玩家士气计算分析

只看楼主收藏回复

("get_player_party_morale_values",#得到玩家队伍士气值
[
(party_get_num_companion_stacks, ":num_stacks","p_main_party"),
(assign, ":num_men", 0),#军队人数对士气影响:1人1点
(try_for_range, ":i_stack", 1, ":num_stacks"),
(party_stack_get_troop_id, ":stack_troop","p_main_party",":i_stack"),
(try_begin),
(troop_is_hero, ":stack_troop"),
(val_add, ":num_men", 1), #it was 3 in "Mount&Blade", now it is 1 in Warband
(else_try),
(party_stack_get_size, ":stack_size","p_main_party",":i_stack"),
(val_add, ":num_men", ":stack_size"),
(try_end),
(try_end),
(assign, "$g_player_party_morale_modifier_party_size", ":num_men"),#结束【军队人数对士气影响值】
(store_skill_level, ":player_leadership", "skl_leadership", "trp_player"),#统御技能对士气影响:开始
(try_begin),
(eq, "$players_kingdom", "fac_player_supporters_faction"),
(faction_get_slot, ":cur_faction_king", "$players_kingdo***ot_faction_leader),
(eq, ":cur_faction_king", "trp_player"),
(store_mul, "$g_player_party_morale_modifier_leadership", ":player_leadership", 15),#玩家是自己势力的国王
(else_try),
(store_mul, "$g_player_party_morale_modifier_leadership", ":player_leadership", 12),#不是没点+12士气
(try_end), #结束 【统御技能对士气影响值】
(assign, ":new_morale", "$g_player_party_morale_modifier_leadership"),#计算
(val_sub, ":new_morale", "$g_player_party_morale_modifier_party_size"),#计算
(val_add, ":new_morale", 50),#计算
(assign, "$g_player_party_morale_modifier_food", 0),#食物对士气影响:开始
(try_for_range, ":cur_edible", food_begin, food_end),
(call_script, "script_cf_player_has_item_without_modifier", ":cur_edible", imod_rotten),
(item_get_slot, ":food_bonus", ":cur_edible", slot_item_food_bonus),
(val_mul, ":food_bonus", 3),
(val_div, ":food_bonus", 2),
(val_add, "$g_player_party_morale_modifier_food", ":food_bonus"),
(try_end),#结束
(val_add, ":new_morale", "$g_player_party_morale_modifier_food"),#计算
(try_begin),#没食物时对士气影响:开始
(eq, "$g_player_party_morale_modifier_food", 0),
(assign, "$g_player_party_morale_modifier_no_food", 30),
(val_sub, ":new_morale", "$g_player_party_morale_modifier_no_food"),
(else_try),
(assign, "$g_player_party_morale_modifier_no_food", 0),
(try_end),#结束


IP属地:法国1楼2012-11-04 15:03回复
    (assign, "$g_player_party_morale_modifier_debt", 0),#欠薪对士气影响
    (try_begin),
    (gt, "$g_player_debt_to_party_members", 0),
    (call_script, "script_calculate_player_faction_wage"),
    (assign, ":total_wages", reg0),
    (store_mul, "$g_player_party_morale_modifier_debt", "$g_player_debt_to_party_members", 10),
    (val_max, ":total_wages", 1),
    (val_div, "$g_player_party_morale_modifier_debt", ":total_wages"),
    (val_clamp, "$g_player_party_morale_modifier_debt", 1, 31),
    (val_sub, ":new_morale", "$g_player_party_morale_modifier_debt"),
    (try_end),#结束
    (val_clamp, ":new_morale", 0, 100),
    (assign, reg0, ":new_morale"),
    ]),
    


    IP属地:法国2楼2012-11-04 15:03
    回复