Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff -rupBN Module_system 1.134//header_mission_templates.py Module_system 1.142//header_mission_templates.py
- --- Module_system 1.134//header_mission_templates.py 2010-05-26 12:57:06.000000000 -0700
- +++ Module_system 1.142//header_mission_templates.py 2011-06-10 12:37:00.000000000 -0700
- @@ -129,6 +129,7 @@ mtf_team_fight = 0x00000001 #id
- mtf_battle_mode = 0x00000002 #No inventory access
- mtf_commit_casualties = 0x00000010
- mtf_no_blood = 0x00000100
- +mtf_synch_inventory = 0x00010000 #Make a backup of player inventory and restore it at mission end.
- diff -rupBN Module_system 1.134//header_operations.py Module_system 1.142//header_operations.py
- --- Module_system 1.134//header_operations.py 2010-12-02 17:45:30.000000000 -0800
- +++ Module_system 1.142//header_operations.py 2011-05-17 11:14:44.000000000 -0700
- @@ -87,6 +87,17 @@ check_quest_concluded = 204 #
- is_trial_version = 250 # (is_trial_version),
- +options_get_damage_to_player = 260 # (options_get_damage_to_player, <destination>), #0 = 1/4, 1 = 1/2, 2 = 1/1
- +options_set_damage_to_player = 261 # (options_set_damage_to_player, <value>), #0 = 1/4, 1 = 1/2, 2 = 1/1
- +options_get_damage_to_friends = 262 # (options_get_damage_to_friends, <destination>), #0 = 1/2, 1 = 3/4, 2 = 1/1
- +options_set_damage_to_friends = 263 # (options_set_damage_to_friends, <value>), #0 = 1/2, 1 = 3/4, 2 = 1/1
- +options_get_combat_ai = 264 # (options_get_combat_ai, <destination>), #0 = good, 1 = average, 2 = poor
- +options_set_combat_ai = 265 # (options_set_combat_ai, <value>), #0 = good, 1 = average, 2 = poor
- +options_get_campaign_ai = 266 # (options_get_campaign_ai, <destination>), #0 = good, 1 = average, 2 = poor
- +options_set_campaign_ai = 267 # (options_set_campaign_ai, <value>), #0 = good, 1 = average, 2 = poor
- +options_get_combat_speed = 268 # (options_get_combat_speed, <destination>), #0 = slowest, 1 = slower, 2 = normal, 3 = faster, 4 = fastest
- +options_set_combat_speed = 269 # (options_set_combat_speed, <value>), #0 = slowest, 1 = slower, 2 = normal, 3 = faster, 4 = fastest
- +
- profile_get_banner_id = 350 # (profile_get_banner_id, <destination>),
- profile_set_banner_id = 351 # (profile_set_banner_id, <value>),
- @@ -118,7 +129,7 @@ player_set_troop_id = 4
- player_get_agent_id = 406 # (player_get_agent_id, <destination>, <player_id>),
- player_get_gold = 407 # (player_get_gold, <destination>, <player_id>),
- player_set_gold = 408 # (player_set_gold, <player_id>, <value>, <max_value>), #set max_value to 0 if no limit is wanted
- -player_spawn_new_agent = 409 # (player_spawn_new_agent, <player_id>),
- +player_spawn_new_agent = 409 # (player_spawn_new_agent, <player_id>, <entry_point>),
- player_add_spawn_item = 410 # (player_add_spawn_item, <player_id>, <item_slot_no>, <item_id>),
- multiplayer_get_my_team = 411 # (multiplayer_get_my_team, <destination>),
- multiplayer_get_my_troop = 412 # (multiplayer_get_my_troop, <destination>),
- @@ -133,7 +144,7 @@ multiplayer_make_everyone_enemy = 4
- player_control_agent = 421 # (player_control_agent, <player_id>, <agent_id>),
- player_get_item_id = 422 # (player_get_item_id, <destination>, <player_id>, <item_slot_no>) #only for server
- player_get_banner_id = 423 # (player_get_banner_id, <destination>, <player_id>),
- -game_get_reduce_campaign_ai = 424 # (game_get_reduce_campaign_ai, <destination>),
- +game_get_reduce_campaign_ai = 424 # (game_get_reduce_campaign_ai, <destination>), #depreciated, use options_get_campaign_ai instead
- multiplayer_find_spawn_point = 425 # (multiplayer_find_spawn_point, <destination>, <team_no>, <examine_all_spawn_points>, <is_horseman>),
- set_spawn_effector_scene_prop_kind = 426 # (set_spawn_effector_scene_prop_kind <team_no> <scene_prop_kind_no>)
- set_spawn_effector_scene_prop_id = 427 # (set_spawn_effector_scene_prop_id <scene_prop_id>)
- @@ -288,7 +299,7 @@ position_move_z = 722 #
- position_rotate_x = 723 # (position_rotate_x,<position_no>,<angle>),
- position_rotate_y = 724 # (position_rotate_y,<position_no>,<angle>),
- -position_rotate_z = 725 # (position_rotate_z,<position_no>,<angle>),
- +position_rotate_z = 725 # (position_rotate_z,<position_no>,<angle>,[use_global_z_axis]), # set use_global_z_axis as 1 if needed, otherwise you don't have to give that.
- position_get_x = 726 # (position_get_x,<destination_fixed_point>,<position_no>), #x position in meters * fixed point multiplier is returned
- position_get_y = 727 # (position_get_y,<destination_fixed_point>,<position_no>), #y position in meters * fixed point multiplier is returned
- @@ -371,11 +382,13 @@ create_combo_label_overlay
- overlay_obtain_focus = 949 # (overlay_obtain_focus, <overlay_id>), #works for textboxes only
- overlay_set_tooltip = 950 # (overlay_set_tooltip, <overlay_id>, <string_id>),
- +overlay_set_container_overlay = 951 # (overlay_set_container_overlay, <overlay_id>, <container_overlay_id>) # -1 to reset
- show_object_details_overlay = 960 # (show_object_details_overlay, <value>), #0 = hide, 1 = show
- -show_item_details = 970 # (show_item_details, <item_id>, <position_no>, <show_default_text_or_not>) #show_default_text_or_not should be 1 for showing "default" for default item costs
- -close_item_details = 971 # (close_item_details)
- +show_item_details = 970 # (show_item_details, <item_id>, <position_no>, <show_default_text_or_not>) #show_default_text_or_not should be 1 for showing "default" for default item costs
- +close_item_details = 971 # (close_item_details)
- +show_item_details_with_modifier = 972 # (show_item_details_with_modifier, <item_id>, <item_modifier>, <position_no>, <show_default_text_or_not>) #show_default_text_or_not should be 1 for showing "default" for default item costs
- context_menu_add_item = 980 # (right_mouse_menu_add_item, <string_id>, <value>), #must be called only inside script_game_right_mouse_menu_get_buttons
- @@ -459,7 +472,7 @@ add_info_page_note_from_sreg = 1092 #
- tutorial_box = 1120 # (tutorial_box,<string_id>,<string_id>), #deprecated use dialog_box instead.
- dialog_box = 1120 # (tutorial_box,<text_string_id>,<title_string_id>),
- question_box = 1121 # (question_box,<string_id>, [<yes_string_id>], [<no_string_id>]),
- -tutorial_message = 1122 # (tutorial_message,<string_id>, <color>), #set string_id = -1 for hiding the message
- +tutorial_message = 1122 # (tutorial_message,<string_id>, <color>, , <auto_close_time>), #set string_id = -1 for hiding the message
- tutorial_message_set_position = 1123 # (tutorial_message_set_position, <position_x>, <position_y>),
- tutorial_message_set_size = 1124 # (tutorial_message_set_size, <size_x>, <size_y>),
- tutorial_message_set_center_justify = 1125 # (tutorial_message_set_center_justify, <val>), #set not 0 for center justify, 0 for not center justify
- @@ -689,6 +702,7 @@ party_clear_particle_systems =
- party_get_battle_opponent = 1680 # (party_get_battle_opponent, <destination>, <party_id>)
- party_get_icon = 1681 # (party_get_icon, <destination>, <party_id>),
- +party_set_extra_icon = 1682 # (party_set_extra_icon, <party_id>, <map_icon_id>, <up_down_distance_fixed_point>, <up_down_frequency_fixed_point>, <rotate_frequency_fixed_point>, <fade_in_out_frequency_fixed_point>), #frequencies are in number of revolutions per second
- party_get_skill_level = 1685 # (party_get_skill_level, <destination>, <party_id>, <skill_no>),
- agent_get_speed = 1689 # (agent_get_speed, <position_no>, <agent_id>), #will return speed in x and y
- @@ -744,6 +758,7 @@ agent_get_player_id =
- agent_set_invulnerable_shield = 1725 # (agent_set_invulnerable_shield, <agent_id>),
- agent_get_wielded_item = 1726 # (agent_get_wielded_item,<destination>,<agent_id>,<hand_no>),
- agent_get_ammo = 1727 # (agent_get_ammo,<destination>,<agent_id>, <value>), #value = 1 gets ammo for wielded item, value = 0 gets ammo for all items
- +#agent_get_ammo_for_slot = 1825 # (agent_get_ammo_for_slot, <destination>, <agent_id>, <slot_no>), #slot no can be between 0-3
- agent_refill_ammo = 1728 # (agent_refill_ammo,<agent_id>),
- #agent_refill_wielded_shield_hit_points = 1692 # (agent_refill_wielded_shield_hit_points, <agent_id>),
- agent_has_item_equipped = 1729 # (agent_has_item_equipped,<agent_id>,<item_id>),
- @@ -803,7 +818,7 @@ agent_set_team =
- agent_get_class = 1772 # (agent_get_class ,<destination>, <agent_id>),
- agent_get_division = 1773 # (agent_get_division ,<destination>, <agent_id>),
- -agent_unequip_item = 1774 # (agent_unequip_item,<agent_id>,<item_id>),
- +agent_unequip_item = 1774 # (agent_unequip_item, <agent_id>, <item_id>, [weapon_slot_no]), #weapon_slot_no is optional, and can be between 1-4 (used only for weapons, not armor). in either case, item_id has to be set correctly.
- class_is_listening_order = 1775 # (class_is_listening_order, <team_no>, <sub_class>),
- agent_set_ammo = 1776 # (agent_set_ammo,<agent_id>,<item_id>,<value>), #value = a number between 0 and maximum ammo
- @@ -811,7 +826,7 @@ agent_set_ammo =
- agent_add_offer_with_timeout = 1777 # (agent_add_offer_with_timeout, <agent_id>, <agent_id>, <duration-in-1/1000-seconds>), #second agent_id is offerer, 0 value for duration is an infinite offer
- agent_check_offer_from_agent = 1778 # (agent_check_offer_from_agent, <agent_id>, <agent_id>), #second agent_id is offerer
- -agent_equip_item = 1779 # (agent_equip_item,<agent_id>,<item_id>), #for weapons, agent needs to have an empty weapon slot
- +agent_equip_item = 1779 # (agent_equip_item, <agent_id>, <item_id>, [weapon_slot_no]), #for weapons, agent needs to have an empty weapon slot. weapon_slot_no is optional, and can be between 1-4 (used only for weapons, not armor).
- entry_point_get_position = 1780 # (entry_point_get_position, <position_no>, <entry_no>),
- entry_point_set_position = 1781 # (entry_point_set_position, <entry_no>, <position_no>),
- @@ -859,6 +874,9 @@ scene_prop_get_hit_points =
- scene_prop_get_max_hit_points = 1816 # (scene_prop_get_max_hit_points, <destination>, <scene_prop_id>),
- scene_prop_get_team = 1817 # (scene_prop_get_team, <value>, <scene_prop_id>),
- scene_prop_set_team = 1818 # (scene_prop_set_team, <scene_prop_id>, <value>),
- +scene_prop_set_prune_time = 1819 # (scene_prop_set_prune_time, <scene_prop_id>, <value>), # prune time can only be set to objects that are already on the prune queue. static objects are not affected by this operation.
- +
- +agent_get_ammo_for_slot = 1825 # (agent_get_ammo_for_slot, <destination>, <agent_id>, <slot_no>), #slot no can be between 0-3
- scene_item_get_num_instances = 1830 # (scene_item_get_num_instances, <destination>, <item_id>),
- scene_item_get_instance = 1831 # (scene_item_get_instance, <destination>, <item_id>, <instance_no>),
- @@ -908,7 +926,7 @@ replace_scene_items_with_scene_props =
- #---------------------------
- set_mission_result = 1906 # (set_mission_result,<value>),
- -finish_mission = 1907 # (finish_mission),
- +finish_mission = 1907 # (finish_mission, <delay_in_seconds>),
- jump_to_scene = 1910 # (jump_to_scene,<scene_id>,<entry_no>),
- set_jump_mission = 1911 # (set_jump_mission,<mission_template_id>),
- set_jump_entry = 1912 # (set_jump_entry,<entry_no>),
- @@ -998,14 +1016,14 @@ set_game_menu_tableau_mesh =
- #change_window types.
- change_screen_return = 2040 # (change_screen_return),
- change_screen_loot = 2041 # (change_screen_loot, <troop_id>),
- -change_screen_trade = 2042 # (change_screen_trade),
- +change_screen_trade = 2042 # (change_screen_trade, <troop_id>),
- change_screen_exchange_members = 2043 # (change_screen_exchange_members, [0,1 = exchange_leader], [party_id]), #if party id is not given, current party will be used
- change_screen_trade_prisoners = 2044 # (change_screen_trade_prisoners),
- change_screen_buy_mercenaries = 2045 # (change_screen_buy_mercenaries),
- change_screen_view_character = 2046 # (change_screen_view_character),
- change_screen_training = 2047 # (change_screen_training),
- change_screen_mission = 2048 # (change_screen_mission),
- -change_screen_map_conversation = 2049 # (change_screen_map_conversation),
- +change_screen_map_conversation = 2049 # (change_screen_map_conversation, <troop_id>),
- change_screen_exchange_with_party = 2050 # (change_screen_exchange_with_party, <party_id>),
- change_screen_equip_other = 2051 # (change_screen_equip_other, <troop_id>),
- change_screen_map = 2052
- @@ -1024,6 +1042,9 @@ store_trigger_param_2 = 2072 # (store_
- store_trigger_param_3 = 2073 # (store_trigger_param_3,<destination>),
- set_trigger_result = 2075 # (set_trigger_result, <value>),
- +val_lshift = 2100 # (val_lshift, <destination>, <value>), # shifts the bits of destination to left by value amount.
- +val_rshift = 2101 # (val_rshift, <destination>, <value>), # shifts the bits of destination to right by value amount.
- +
- val_add = 2105 #dest, operand :: dest = dest + operand
- # (val_add,<destination>,<value>),
- val_sub = 2106 #dest, operand :: dest = dest + operand
- @@ -1125,7 +1146,7 @@ store_conversation_troop = 2200 #
- store_partner_faction = 2201 # (store_partner_faction,<destination>),
- store_encountered_party = 2202 # (store_encountered_party,<destination>),
- store_encountered_party2 = 2203 # (store_encountered_party2,<destination>),
- -store_faction_of_party = 2204 # (store_faction_of_party,<destination>),
- +store_faction_of_party = 2204 # (store_faction_of_party, <destination>, <party_id>),
- set_encountered_party = 2205 # (set_encountered_party,<destination>),
- @@ -1241,6 +1262,11 @@ lhs_operations = [try_for_range,
- store_repeat_object,
- get_global_cloud_amount,
- get_global_haze_amount,
- + options_get_damage_to_player,
- + options_get_damage_to_friends,
- + options_get_combat_ai,
- + options_get_campaign_ai,
- + options_get_combat_speed,
- profile_get_banner_id,
- get_achievement_stat,
- get_max_players,
- @@ -1408,6 +1434,7 @@ lhs_operations = [try_for_range,
- scene_prop_get_hit_points,
- scene_prop_get_max_hit_points,
- scene_prop_get_team,
- + agent_get_ammo_for_slot,
- scene_item_get_num_instances,
- scene_item_get_instance,
- scene_spawned_item_get_num_instances,
- @@ -1507,7 +1534,9 @@ lhs_operations = [try_for_range,
- store_attacker_count,
- store_normalized_team_count,
- ]
- -global_lhs_operations = [val_add,
- +global_lhs_operations = [val_lshift,
- + val_rshift,
- + val_add,
- val_sub,
- val_mul,
- val_div,
- diff -rupBN Module_system 1.134//header_triggers.py Module_system 1.142//header_triggers.py
- --- Module_system 1.134//header_triggers.py 2010-11-30 16:33:08.000000000 -0800
- +++ Module_system 1.142//header_triggers.py 2011-03-30 18:00:04.000000000 -0700
- @@ -21,8 +21,7 @@ ti_tab_pressed = -21.0 #can on
- ti_inventory_key_pressed = -22.0 #can only be used in module_mission_templates triggers
- ti_escape_pressed = -23.0 #can only be used in module_mission_templates triggers
- ti_battle_window_opened = -24.0 #can only be used in module_mission_templates triggers
- -#ti_on_mission_start = -20.0
- -ti_on_agent_spawn = -25.0 #can only be used in module_mission_templates triggers
- +ti_on_agent_spawn = -25.0 #can only be used in module_mission_templates triggers
- ti_on_agent_killed_or_wounded = -26.0 #can only be used in module_mission_templates triggers
- ti_on_agent_knocked_down = -27.0 #can only be used in module_mission_templates triggers
- ti_on_agent_hit = -28.0 #can only be used in module_mission_templates triggers
- @@ -32,6 +31,10 @@ ti_on_agent_hit = -28.0 #can on
- # Register 0: damage dealer item_id
- # Position Register 0: position of the blow
- # rotation gives the direction of the blow
- +# Trigger result: if returned result is greater than or equal to zero, inflicted damage is set to the value specified by the module.
- +
- +ti_on_player_exit = -29.0 #can only be used in module_mission_templates triggers
- +# Trigger Param 1: player_id
- ti_on_leave_area = -30.0 #can only be used in module_mission_templates triggers
- ti_on_scene_prop_init = -40.0 #can only be used in module_scene_props triggers
- diff -rupBN Module_system 1.134//ID_scripts.py Module_system 1.142//ID_scripts.py
- --- Module_system 1.134//ID_scripts.py 2010-12-07 11:31:40.000000000 -0800
- +++ Module_system 1.142//ID_scripts.py 2011-07-08 15:59:32.000000000 -0700
- @@ -138,8 +138,8 @@ script_setup_talk_info = 136
- script_setup_talk_info_companions = 137
- script_update_party_creation_random_limits = 138
- script_set_trade_route_between_centers = 139
- -script_center_change_trade_good_production = 140
- -script_average_trade_good_prices = 141
- +script_average_trade_good_prices = 140
- +script_average_trade_good_prices_2 = 141
- script_average_trade_good_productions = 142
- script_normalize_trade_good_productions = 143
- script_update_trade_good_prices = 144
- @@ -563,5 +563,9 @@ script_change_player_right_to_rule = 561
- script_indict_lord_for_treason = 562
- script_give_center_to_faction_while_maintaining_lord = 563
- script_check_concilio_calradi_achievement = 564
- +script_refresh_center_inventories = 565
- +script_refresh_center_armories = 566
- +script_refresh_center_weaponsmiths = 567
- +script_refresh_center_stables = 568
- diff -rupBN Module_system 1.134//module_animations.py Module_system 1.142//module_animations.py
- --- Module_system 1.134//module_animations.py 2010-12-06 12:01:28.000000000 -0800
- +++ Module_system 1.142//module_animations.py 2011-04-05 18:14:02.000000000 -0700
- @@ -657,10 +657,12 @@ animations = [
- [0.3, "equip_arms", 354, 350, arf_blend_in_0],
- ],
- ["equip_pistol_front_left", 0, amf_priority_equip|amf_play|amf_restart|amf_client_prediction,
- - [0.6, "anim_human", combat+30, combat+45, arf_blend_in_0],
- +## [0.6, "anim_human", combat+30, combat+45, arf_blend_in_0],
- + [0.8, "equip_arms", 253, 276, arf_blend_in_0],
- ],
- ["unequip_pistol_front_left", 0, amf_priority_equip|amf_play|amf_restart|amf_client_prediction,
- - [0.3, "anim_human", combat+10, combat+0, arf_blend_in_0],
- +## [0.3, "anim_human", combat+10, combat+0, arf_blend_in_0],
- + [0.2, "equip_arms", 254, 250, arf_blend_in_0],
- ],
- ["equip_katana", 0, amf_priority_equip|amf_play|amf_restart|amf_client_prediction,
- [0.8, "anim_human", combat+30, combat+45, arf_blend_in_0],
- diff -rupBN Module_system 1.134//module_constants.py Module_system 1.142//module_constants.py
- --- Module_system 1.134//module_constants.py 2010-08-07 22:41:50.000000000 -0700
- +++ Module_system 1.142//module_constants.py 2011-06-29 17:36:34.000000000 -0700
- @@ -1580,7 +1580,7 @@ ranged_weapons_end = "itm_torch"
- armors_begin = "itm_leather_gloves"
- armors_end = "itm_wooden_stick"
- shields_begin = "itm_wooden_shield"
- -shields_end = "itm_jarid"
- +shields_end = ranged_weapons_begin
- # Banner constants
- @@ -1793,3 +1793,10 @@ ACHIEVEMENT_KASSAI_MASTER = 71,
- ACHIEVEMENT_IRON_BEAR = 72,
- ACHIEVEMENT_LEGENDARY_RASTAM = 73,
- ACHIEVEMENT_SVAROG_THE_MIGHTY = 74,
- +
- +ACHIEVEMENT_MEN_HANDLER = 75,
- +ACHIEVEMENT_GIRL_POWER = 76,
- +ACHIEVEMENT_QUEEN = 77,
- +ACHIEVEMENT_EMPRESS = 78,
- +ACHIEVEMENT_TALK_OF_THE_TOWN = 79,
- +ACHIEVEMENT_LADY_OF_THE_LAKE = 80,
- diff -rupBN Module_system 1.134//module_dialogs.py Module_system 1.142//module_dialogs.py
- --- Module_system 1.134//module_dialogs.py 2010-11-25 19:35:38.000000000 -0800
- +++ Module_system 1.142//module_dialogs.py 2011-07-08 15:59:16.000000000 -0700
- @@ -800,13 +800,13 @@ dialogs = [
- ]],
- - [anyone|plyr, "fighter_chamber_warn",
- + [anyone|plyr, "fighter_chamber_warn", # unused
- [],
- "{!}TODO: Sorry, let's try once again.", "fighter_talk_train_chamber", []],
- - [anyone|plyr, "fighter_chamber_warn",
- + [anyone|plyr, "fighter_chamber_warn", # unused
- [],
- - "{!}TODO: Sorry. I want to leave the exercise.", "fighter_talk_leave_chamber", []],
- + "{!}TODO: Sorry. I want to leave the exercise.", "close_window", []],
- [trp_tutorial_archer_1|auto_proceed, "start",
- [],
- @@ -1576,8 +1576,8 @@ dialogs = [
- [anyone,"start", [(troop_slot_eq,"$g_talk_troop", slot_troop_occupation, slto_player_companion),
- (neg|main_party_has_troop,"$g_talk_troop"),
- (eq, "$talk_context", tc_party_encounter)],
- - "Do you want me to rejoin you?", "member_wilderness_talk",[]],
- - [anyone,"start", [(neg|main_party_has_troop,"$g_talk_troop"),(eq, "$g_encountered_party", "p_four_ways_inn")], "Do you want me to rejoin you?", "member_inn_talk",[]],
- + "{!}Do you want me to rejoin you?", "close_window",[]], # unused
- + [anyone,"start", [(neg|main_party_has_troop,"$g_talk_troop"),(eq, "$g_encountered_party", "p_four_ways_inn")], "{!}Do you want me to rejoin you?", "close_window",[]], # unused
- # [anyone,"member_separate_inn", [], "I don't know what you will do without me, but you are the boss. I'll wait for you at the Four Ways inn.", "close_window",
- # [anyone,"member_separate_inn", [], "All right then. I'll meet you at the four ways inn. Good luck.", "close_window",
- # [(remove_member_from_party,"$g_talk_troop", "p_main_party"),(add_troop_to_site, "$g_talk_troop", "scn_four_ways_inn", borcha_inn_entry)]],
- @@ -2677,7 +2677,7 @@ dialogs = [
- [
- (is_between, "$g_talk_troop", "trp_relative_of_merchant", "trp_relative_of_merchant"),
- ],
- - "Oh -- thank the heavens... Thank the heavens... Am I safe?", "close_screen",
- + "Oh -- thank the heavens... Thank the heavens... Am I safe?", "close_window",
- []],
- @@ -4525,11 +4525,20 @@ dialogs = [
- And of course, you will always remain as my foremost vassal."),
- ],
- "{s6}", "rebel_thanks_answer",
- - [
- -
- + [
- (unlock_achievement, ACHIEVEMENT_KINGMAKER),
- (call_script, "script_end_quest", "qst_rebel_against_kingdom"),
- - ]],
- +
- + (try_begin),
- + (troop_get_type, ":is_female", "trp_player"),
- + (eq, ":is_female", 1),
- +
- + (troop_get_type, ":is_female", "$g_talk_troop"),
- + (eq, ":is_female", 1),
- +
- + (unlock_achievement, ACHIEVEMENT_GIRL_POWER),
- + (try_end),
- + ]],
- [anyone|plyr,"rebel_thanks_answer", [], "It was an honour to fight for your cause, {reg65?madame:my lord}.", "rebel_thanks_answer_2", []],
- [anyone|plyr,"rebel_thanks_answer", [], "You will always have my loyal support, {reg65?my lady:sir}.", "rebel_thanks_answer_2", []],
- @@ -5835,7 +5844,7 @@ dialogs = [
- (troop_slot_eq,"$g_talk_troop",slot_troop_occupation, slto_kingdom_hero),
- (le,"$talk_context",tc_siege_commander),
- ],
- - "It is good to see you, old friend", "lord_start",
- + "It is good to see you, old friend.", "lord_start",
- []],
- @@ -7581,7 +7590,12 @@ dialogs = [
- (str_store_string, s9, "$g_rejoinder_to_last_comment"),
- ],
- "{s9}", "lord_respond_to_insult",[
- - (unlock_achievement, ACHIEVEMENT_SASSY),
- +
- + (try_begin),
- + (troop_get_type, ":is_female", "trp_player"),
- + (eq, ":is_female", 1),
- + (unlock_achievement, ACHIEVEMENT_SASSY),
- + (try_end),
- ]],
- @@ -12827,7 +12841,7 @@ dialogs = [
- [anyone,"lord_join_rebellion_suggest_cheat",
- [], "Cheat:Allright.",
- - "lord_join_rebellion_ask_for_order",
- + "close_window", # unused
- [
- (troop_set_slot, "$g_talk_troop", slot_troop_discussed_rebellion, 1),
- (call_script, "script_change_troop_faction", "$g_talk_troop", "$players_kingdom"),
- @@ -12903,9 +12917,6 @@ dialogs = [
- -
- -
- - #sdsd
- [anyone,"lord_tell_objective", [
- (party_slot_eq, "$g_talk_troop_party", slot_party_ai_state, spai_holding_center),
- (party_get_attached_to, ":cur_center_no", "$g_talk_troop_party"),
- @@ -14576,13 +14587,13 @@ Hand over my {reg19} denars, if you plea
- [anyone|plyr,"lord_mission_rescue_prisoner_method", [
- (eq, 1, 0),
- - ],
- - "I am thinking of paying the ransom.", "lord_mission_rescue_prisoner_method_ransom",[]],
- + ], # unused
- + "{!}I am thinking of paying the ransom.", "lord_mission_rescue_prisoner_method_ransom",[]],
- [anyone|plyr,"lord_mission_rescue_prisoner_method", [
- (eq, 1, 0),
- - ],
- - "I am thinking of using my connections in {s24}.", "lord_mission_rescue_prisoner_method_connections",[]],
- + ], # unused
- + "{!}I am thinking of using my connections in {s24}.", "close_window",[]],
- [anyone|plyr,"lord_mission_rescue_prisoner_method", [],
- "I am thinking of breaking into the prison in {s24}, finding {s13}, and fighting my way out.", "lord_mission_rescue_prisoner_method_prisonbreak",[]],
- @@ -15512,15 +15523,8 @@ I suppose there are plenty of bounty hun
- (quest_get_slot, ":quest_target_amount", "qst_capture_prisoners", slot_quest_target_amount),
- (assign,reg1,":quest_target_amount"),
- (str_store_troop_name_link,s9,"$g_talk_troop"),
- -## (str_store_party_name,2,"$g_encountered_party"),
- - (str_store_troop_name_by_count,3,":quest_target_troop",":quest_target_amount"),
- + (str_store_troop_name_by_count,s3,":quest_target_troop",":quest_target_amount"),
- (setup_quest_text,"$random_quest_no"),
- -## (try_begin),
- -## (is_between, "$g_encountered_party", centers_begin, centers_end),
- -## (setup_quest_giver, "$random_quest_no", "str_given_by_s1_at_s2"),
- -## (else_try),
- -## (setup_quest_giver,"$random_quest_no", "str_given_by_s1_in_wilderness"),
- -## (try_end),
- (str_store_string, s2, "@{s9} has requested you to bring him {reg1} {s3} as prisoners."),
- ]],
- @@ -19857,11 +19861,11 @@ I suppose there are plenty of bounty hun
- (val_add, ":total_value", ":item_value"),
- (try_end),
- (try_end),
- - (store_div, "$deserter_tribute", ":total_value", 10), #10000 gold = excellent_target
- - (val_max, "$deserter_tribute", 10),
- - (assign,reg(5),"$deserter_tribute")]],
- - [anyone|plyr,"deserter_barter_2", [(store_troop_gold,reg(2)),(ge,reg(2),"$deserter_tribute"),(assign,reg(5),"$deserter_tribute")],
- - "All right here's your {reg5} denars.", "deserter_barter_3a",[(troop_remove_gold, "trp_player","$deserter_tribute")]],
- + (store_div, "$g_tribute_amount", ":total_value", 10), #10000 gold = excellent_target
- + (val_max, "$g_tribute_amount", 10),
- + (assign,reg(5),"$g_tribute_amount")]],
- + [anyone|plyr,"deserter_barter_2", [(store_troop_gold,reg(2)),(ge,reg(2),"$g_tribute_amount"),(assign,reg(5),"$g_tribute_amount")],
- + "All right here's your {reg5} denars.", "deserter_barter_3a",[(troop_remove_gold, "trp_player","$g_tribute_amount")]],
- [anyone|plyr,"deserter_barter_2", [],
- "I don't have that much money with me", "deserter_barter_3b",[]],
- [anyone,"deserter_barter_3b", [],
- @@ -22677,7 +22681,13 @@ I suppose there are plenty of bounty hun
- (faction_get_slot, ":faction_leader","$g_encountered_party_faction",slot_faction_leader),
- (str_store_troop_name, s10, ":faction_leader"),
- (ge, "$g_mayor_given_political_dialog", 1),
- -
- + (assign, ":continue", 0),
- + (try_for_range, ":cur_faction", kingdoms_begin, kingdoms_end),
- + (faction_slot_eq, ":cur_faction", slot_faction_state, sfs_active),
- + (neq, ":cur_faction", "$g_encountered_party_faction"),
- + (assign, ":continue", 1), #at least 1 faction is active
- + (try_end),
- + (eq, ":continue", 1),
- ], "What is {s10}'s policy in regards to the other realms of Calradia?", "mayor_politics_assess",[
- ]],
- @@ -24119,7 +24129,7 @@ I suppose there are plenty of bounty hun
- (store_troop_gold, ":gold", "trp_player"),
- (store_div, ":gold_capacity", ":gold", 10),#10 denars per man
- (val_min, ":num_volunteers", ":gold_capacity"),
- - (eq, ":num_volunteers", 0),
- + (le, ":num_volunteers", 0),
- ],
- "I don't think anyone would be interested, {sir/madam}. Is there anything else I can do for you?", "village_elder_talk",[]],
- @@ -25264,7 +25274,7 @@ I suppose there are plenty of bounty hun
- [anyone,"sell_prisoner_outlaws", [[store_troop_kind_count,0,"trp_brigand"],[ge,reg(0),1],[assign,reg(1),reg(0)],[val_mul,reg(1),30],[assign,reg(2),reg(0)],[val_mul,reg(2),30]],
- "Well well, you've captured {reg0} brigands. Each one is worth 30 denars, so I'll give you {reg1} for them in total.", "sell_prisoner_outlaws",
- [[call_script, "script_troop_add_gold", "trp_player", reg(1)],[add_xp_to_troop,reg(2)],[remove_member_from_party,"trp_brigand"]]],
- - [anyone,"sell_prisoner_outlaws", [], "I suppose that'll be all, then.", "sell_prisoner_outlaws_finished",[]],
- + [anyone,"sell_prisoner_outlaws", [], "I suppose that'll be all, then.", "close_window",[]],
- # Ryan END
- [anyone|plyr,"prisoner_chat", [], "Do not try running away or trying something stupid. I will be watching you.", "prisoner_chat_2",[]],
- @@ -25437,10 +25447,14 @@ I suppose there are plenty of bounty hun
- (str_clear, s5),
- (assign, ":number_of_goods", 0),
- (try_for_range, ":cur_good", trade_goods_begin, trade_goods_end),
- - (store_sub, ":cur_good_slot", ":cur_good", trade_goods_begin),
- - (val_add, ":cur_good_slot", slot_town_trade_good_productions_begin),
- - (party_get_slot, ":production", "$g_encountered_party", ":cur_good_slot"),
- - (ge, ":production", 5),
- + #(store_sub, ":cur_good_slot", ":cur_good", trade_goods_begin),
- + #(val_add, ":cur_good_slot", slot_town_trade_good_productions_begin),
- + #(party_get_slot, ":production", "$g_encountered_party", ":cur_good_slot"),
- +
- + (call_script, "script_center_get_production", "$g_encountered_party", ":cur_good"),
- + (assign, ":production", reg0),
- + (ge, ":production", 20),
- +
- (str_store_item_name, s3, ":cur_good"),
- (try_begin),
- (eq, ":number_of_goods", 0),
- diff -rupBN Module_system 1.134//module_game_menus.py Module_system 1.142//module_game_menus.py
- --- Module_system 1.134//module_game_menus.py 2010-11-25 19:35:38.000000000 -0800
- +++ Module_system 1.142//module_game_menus.py 2011-07-01 10:46:30.000000000 -0700
- @@ -4143,52 +4143,49 @@ game_menus = [
- (try_end),
- (try_begin),
- - (le, ":minimum_power", 5),
- + (le, ":minimum_power", 25),
- (assign, ":division_constant", 1),
- (else_try),
- - (le, ":minimum_power", 10),
- + (le, ":minimum_power", 50),
- (assign, ":division_constant", 2),
- (else_try),
- - (le, ":minimum_power", 25),
- + (le, ":minimum_power", 75),
- (assign, ":division_constant", 3),
- (else_try),
- - (le, ":minimum_power", 50),
- + (le, ":minimum_power", 125),
- (assign, ":division_constant", 4),
- (else_try),
- - (le, ":minimum_power", 100),
- - (assign, ":division_constant", 5),
- - (else_try),
- (le, ":minimum_power", 200),
- - (assign, ":division_constant", 6),
- + (assign, ":division_constant", 5),
- (else_try),
- (le, ":minimum_power", 400),
- - (assign, ":division_constant", 7),
- + (assign, ":division_constant", 6),
- (else_try),
- (le, ":minimum_power", 800),
- - (assign, ":division_constant", 8),
- + (assign, ":division_constant", 7),
- (else_try),
- (le, ":minimum_power", 1600),
- - (assign, ":division_constant", 9),
- + (assign, ":division_constant", 8),
- (else_try),
- (le, ":minimum_power", 3200),
- - (assign, ":division_constant", 10),
- + (assign, ":division_constant", 9),
- (else_try),
- (le, ":minimum_power", 6400),
- - (assign, ":division_constant", 11),
- + (assign, ":division_constant", 10),
- (else_try),
- (le, ":minimum_power", 12800),
- - (assign, ":division_constant", 12),
- + (assign, ":division_constant", 11),
- (else_try),
- (le, ":minimum_power", 25600),
- - (assign, ":division_constant", 13),
- + (assign, ":division_constant", 12),
- (else_try),
- (le, ":minimum_power", 51200),
- - (assign, ":division_constant", 14),
- + (assign, ":division_constant", 13),
- (else_try),
- (le, ":minimum_power", 102400),
- - (assign, ":division_constant", 15),
- + (assign, ":division_constant", 14),
- (else_try),
- - (assign, ":division_constant", 16),
- + (assign, ":division_constant", 15),
- (try_end),
- (val_div, ":player_party_strength", ":division_constant"), #1.126, ":division_constant" was 5 before
- @@ -5403,13 +5400,13 @@ game_menus = [
- (call_script, "script_party_count_members_with_full_health", "p_collective_friends"),
- (assign, ":ally_num_soldiers", reg0),
- (eq, "$g_battle_result", -1),
- - (eq, ":ally_num_soldiers", 0), #battle lost (sdsd = TODO : also compare this with routed allies too like in other parts)
- + (eq, ":ally_num_soldiers", 0), #battle lost (TODO : also compare this with routed allies too like in other parts)
- (leave_encounter),
- (change_screen_return),
- (try_end),
- ],
- [
- - ("talk_to_siege_commander",[]," Request a meeting with the commander.",[
- + ("talk_to_siege_commander",[],"Request a meeting with the commander.",[
- (call_script, "script_get_meeting_scene"), (assign, ":meeting_scene", reg0),
- (modify_visitors_at_site,":meeting_scene"),(reset_visitors),
- (set_visitor,0,"trp_player"),
- @@ -6067,7 +6064,7 @@ game_menus = [
- (call_script, "script_party_count_members_with_full_health", "p_main_party"),
- (assign, ":main_party_fit_regulars", reg0),
- (eq, "$g_battle_result", -1),
- - (eq, ":main_party_fit_regulars", 0), #all lost (sdsd = TODO : )
- + (eq, ":main_party_fit_regulars", 0), #all lost (TODO : )
- (assign, "$g_next_menu", "mnu_captivity_start_castle_defeat"),
- (jump_to_menu, "mnu_total_defeat"),
- (try_end),
- @@ -6414,12 +6411,12 @@ game_menus = [
- (assign, "$no_soldiers_left", 0),
- (try_begin),
- (call_script, "script_party_count_members_with_full_health","p_main_party"),
- - (le, reg0, 0), #(sdsd = TODO : compare with num_routed_us)
- + (le, reg0, 0), #(TODO : compare with num_routed_us)
- (assign, "$no_soldiers_left", 1),
- (str_store_string, s4, "str_attack_walls_failure"),
- (else_try),
- (call_script, "script_party_count_members_with_full_health","$g_encountered_party"),
- - (le, reg0, 0), #(sdsd = TODO : compare with num_routed_enemies)
- + (le, reg0, 0), #(TODO : compare with num_routed_enemies)
- (assign, "$no_soldiers_left", 1),
- (assign, "$g_battle_result", 1),
- (str_store_string, s4, "str_attack_walls_success"),
- @@ -6503,12 +6500,12 @@ game_menus = [
- (assign, "$no_soldiers_left", 0),
- (try_begin),
- (call_script, "script_party_count_members_with_full_health", "p_main_party"),
- - (le, reg0, 0), #(sdsd = TODO : compare with num_routed_us)
- + (le, reg0, 0), #(TODO : compare with num_routed_us)
- (assign, "$no_soldiers_left", 1),
- (str_store_string, s4, "str_attack_walls_failure"),
- (else_try),
- (call_script, "script_party_count_members_with_full_health", "p_collective_enemy"),
- - (le, reg0, 0), #(sdsd = TODO : compare with num_routed_enemies)
- + (le, reg0, 0), #(TODO : compare with num_routed_enemies)
- (assign, "$no_soldiers_left", 1),
- (assign, "$g_battle_result", 1),
- (str_store_string, s4, "str_attack_walls_success"),
- @@ -7120,7 +7117,7 @@ game_menus = [
- (assign, ":enemy_finished", 0),
- (try_begin),
- (eq, "$g_battle_result", 1),
- - (eq, ":num_enemy_regulars_remaining", 0), #battle won (sdsd = TODO : compare with num_routed_us)
- + (eq, ":num_enemy_regulars_remaining", 0), #battle won (TODO : compare with num_routed_us)
- (assign, ":enemy_finished",1),
- (else_try),
- (eq, "$g_engaged_enemy", 1),
- @@ -7137,7 +7134,7 @@ game_menus = [
- (try_begin),
- (this_or_next|eq, "$g_battle_result", -1),
- (troop_is_wounded, "trp_player"),
- - (eq, ":num_ally_regulars_remaining", 0), #(sdsd = TODO : compare with num_routed_allies)
- + (eq, ":num_ally_regulars_remaining", 0), #(TODO : compare with num_routed_allies)
- (assign, ":battle_lost",1),
- (try_end),
- (this_or_next|eq, ":battle_lost",1),
- @@ -7573,6 +7570,20 @@ game_menus = [
- (call_script, "script_cf_enter_center_location_bandit_check"),
- (else_try),
- (party_get_slot, ":merchant_troop", "$current_town", slot_town_elder),
- +
- + #(try_for_range, ":cur_goods", trade_goods_begin, trade_goods_end),
- + #(store_sub, ":cur_good_price_slot", ":cur_goods", trade_goods_begin),
- + #(val_add, ":cur_good_price_slot", slot_town_trade_good_prices_begin),
- + #(party_get_slot, ":cur_price", "$current_town", ":cur_good_price_slot"),
- + #(call_script, "script_center_get_production", "$current_town", ":cur_goods"),
- + #(assign, reg13, reg0),
- + #(call_script, "script_center_get_consumption", "$current_town", ":cur_goods"),
- + #(str_store_party_name, s1, "$current_town"),
- + #(str_store_item_name, s2, ":cur_goods"),
- + #(assign, reg16, ":cur_price"),
- + #(display_log_message, "@DEBUG:{s1}-{s2}, prd: {reg13}, con: {reg0}, raw: {reg1}, cns: {reg2}, fee: {reg16}"),
- + #(try_end),
- +
- (change_screen_trade, ":merchant_troop"),
- (try_end),
- ]),
- @@ -8411,8 +8422,52 @@ game_menus = [
- (party_set_slot, "$current_town", slot_village_number_of_cattle, ":num_cattle"),
- (try_end),
- (troop_clear_inventory, "trp_temp_troop"),
- +
- + #below line changed with below lines to make plunder result more realistic. Now only items produced in bound town can be stolen after raid.
- + #(reset_item_probabilities,100),
- +
- + #begin of changes
- + (party_get_slot, ":bound_town", slot_village_bound_center, "$current_town"),
- + (store_sub, ":item_to_price_slot", slot_town_trade_good_prices_begin, trade_goods_begin),
- (reset_item_probabilities,100),
- - (troop_add_merchandise,"trp_temp_troop",itp_type_goods,45),
- + (assign, ":total_probability", 0),
- + (try_for_range, ":cur_goods", trade_goods_begin, trade_goods_end),
- + (store_add, ":cur_price_slot", ":cur_goods", ":item_to_price_slot"),
- + (party_get_slot, ":cur_price", ":bound_town", ":cur_price_slot"),
- + (call_script, "script_center_get_production", ":bound_town", ":cur_goods"),
- + (assign, ":cur_probability", reg0),
- + (call_script, "script_center_get_consumption", ":bound_town", ":cur_goods"),
- + (val_div, reg0, 3),
- + (val_add, ":cur_probability", reg0),
- + (val_mul, ":cur_probability", 4),
- + (val_mul, ":cur_probability", average_price_factor),
- + (val_div, ":cur_probability", ":cur_price"),
- + #first only simulation
- + #(set_item_probability_in_merchandise,":cur_goods",":cur_probability"),
- + (val_add, ":total_probability", ":cur_probability"),
- + (try_end),
- +
- + (try_for_range, ":cur_goods", trade_goods_begin, trade_goods_end),
- + (store_add, ":cur_price_slot", ":cur_goods", ":item_to_price_slot"),
- + (party_get_slot, ":cur_price", ":bound_town", ":cur_price_slot"),
- + (call_script, "script_center_get_production", ":bound_town", ":cur_goods"),
- + (assign, ":cur_probability", reg0),
- + (call_script, "script_center_get_consumption", ":bound_town", ":cur_goods"),
- + (val_div, reg0, 3),
- + (val_add, ":cur_probability", reg0),
- + (val_mul, ":cur_probability", 4),
- + (val_mul, ":cur_probability", average_price_factor),
- + (val_div, ":cur_probability", ":cur_price"),
- +
- + (val_mul, ":cur_probability", num_merchandise_goods),
- + (val_mul, ":cur_probability", 100),
- + (val_div, ":cur_probability", ":total_probability"),
- +
- + (set_item_probability_in_merchandise,":cur_goods",":cur_probability"),
- + (try_end),
- + #end of changes
- +
- + (troop_add_merchandise,"trp_temp_troop",itp_type_goods,30),
- (troop_sort_inventory, "trp_temp_troop"),
- (change_screen_loot, "trp_temp_troop"),
- ]),
- @@ -8489,7 +8544,7 @@ game_menus = [
- (is_between, "$g_encountered_party", towns_begin, towns_end),
- (store_sub, ":encountered_town_no", "$g_encountered_party", towns_begin),
- (set_achievement_stat, ACHIEVEMENT_MIGRATING_COCONUTS, ":encountered_town_no", 1),
- -
- +
- (assign, ":there_are_villages_not_visited", 0),
- (try_for_range, ":cur_town", towns_begin, towns_end),
- (store_sub, ":encountered_town_no", ":cur_town", towns_begin),
- @@ -10908,13 +10963,11 @@ game_menus = [
- (store_sub, ":cur_good_price_slot", ":cur_good", trade_goods_begin),
- (val_add, ":cur_good_price_slot", slot_town_trade_good_prices_begin),
- (party_get_slot, ":price", "$g_encountered_party", ":cur_good_price_slot"),
- -
- -
- +
- (assign, ":total_centers", 0),
- (assign, ":calradian_average_price", 0),
- (assign, ":calradian_average_production", 0),
- (assign, ":calradian_average_consumption", 0),
- -
- (try_for_range, ":center", centers_begin, centers_end),
- (neg|is_between, ":center", castles_begin, castles_end),
- @@ -10963,10 +11016,7 @@ game_menus = [
- (item_get_slot, ":production_string", ":cur_good", slot_item_production_string),
- (str_store_string, s4, ":production_string"),
- - (str_store_string, s1, "str___s3_price_=_reg4_calradian_average_reg6_capital_reg11_s4_base_reg1modified_by_raw_material_reg2modified_by_prosperity_reg3_calradian_average_production_base_reg5_total_reg12_consumed_reg7used_as_raw_material_reg8modified_total_reg9_calradian_consumption_base_reg10_total_reg13s1_"),
- -
- -
- -
- + (str_store_string, s1, "str___s3_price_=_reg4_calradian_average_reg6_capital_reg11_s4_base_reg1modified_by_raw_material_reg2modified_by_prosperity_reg3_calradian_average_production_base_reg5_total_reg12_consumed_reg7used_as_raw_material_reg8modified_total_reg9_calradian_consumption_base_reg10_total_reg13s1_"),
- (try_end),
- @@ -11084,13 +11134,27 @@ game_menus = [
- (store_sub, ":num_goods", trade_goods_end, trade_goods_begin),
- (store_mul, ":max_iteration", ":num_towns", ":num_goods"),
- (val_mul, ":max_iteration", ":max_skill"),
- - (val_div, ":max_iteration", 20),
- + (val_div, ":max_iteration", 15),
- (assign, ":org_encountered_party", "$g_encountered_party"),
- (try_for_range, ":unused", 0, ":max_iteration"),
- (store_random_in_range, ":random_trade_good", trade_goods_begin, trade_goods_end),
- (store_random_in_range, ":random_town", towns_begin, towns_end),
- +
- + (party_get_slot, ":cur_merchant", ":org_encountered_party", slot_town_merchant),
- + (assign, ":item_found", 0),
- + #(troop_get_inventory_capacity, ":inv_size", ":cur_merchant"),
- + (try_for_range, ":i_slot", num_equipment_kinds, max_inventory_items + num_equipment_kinds),
- + (troop_get_inventory_slot, ":slot_item", ":cur_merchant", ":i_slot"),
- + (try_begin),
- + (eq, ":slot_item", ":random_trade_good"),
- + (assign, ":item_found", 1),
- + (try_end),
- + (try_end),
- +
- + (eq, ":item_found", 1),
- +
- (assign, ":already_best", 0),
- (try_begin),
- (eq, ":random_trade_good", ":best_result_1_item"),
- @@ -11107,7 +11171,7 @@ game_menus = [
- (try_end),
- (eq, ":already_best", 0),
- (store_item_value, ":random_trade_good_price", ":random_trade_good"),
- - (assign, "$g_encountered_party", ":org_encountered_party"),
- + (assign, "$g_encountered_party", ":org_encountered_party"),
- (call_script, "script_game_get_item_buy_price_factor", ":random_trade_good"),
- (store_mul, ":random_trade_good_buy_price", ":random_trade_good_price", reg0),
- (val_div, ":random_trade_good_buy_price", 100),
- @@ -11359,6 +11423,19 @@ game_menus = [
- (party_remove_prisoners, "$g_ransom_offer_party", "$g_ransom_offer_troop", 1),
- #(troop_set_slot, "$g_ransom_offer_troop", slot_troop_is_prisoner, 0),
- (call_script, "script_remove_troop_from_prison", "$g_ransom_offer_troop"),
- +
- + (try_begin),
- + (troop_get_type, ":is_female", "trp_player"),
- + (eq, ":is_female", 1),
- +
- + (get_achievement_stat, ":number_of_lords_sold", ACHIEVEMENT_MEN_HANDLER, 1),
- + (val_add, ":number_of_lords_sold", 1),
- + (set_achievement_stat, ACHIEVEMENT_MEN_HANDLER, 1, ":number_of_lords_sold"),
- +
- + (eq, ":number_of_lords_sold", 3),
- + (unlock_achievement, ACHIEVEMENT_MEN_HANDLER),
- + (try_end),
- +
- (change_screen_return),
- ]),
- ("ransom_reject",[],"Reject the offer.",
- @@ -13100,7 +13177,12 @@ game_menus = [
- (else_try),
- (unlock_achievement, ACHIEVEMENT_MANIFEST_DESTINY),
- (try_end),
- -
- +
- + (try_begin),
- + (troop_get_type, ":is_female", "trp_player"),
- + (eq, ":is_female", 1),
- + (unlock_achievement, ACHIEVEMENT_EMPRESS),
- + (try_end),
- ],
- [
- ("continue",[],"Continue...",
- diff -rupBN Module_system 1.134//module_items.py Module_system 1.142//module_items.py
- --- Module_system 1.134//module_items.py 2010-12-02 16:05:06.000000000 -0800
- +++ Module_system 1.142//module_items.py 2011-05-09 15:12:24.000000000 -0700
- @@ -299,11 +299,11 @@ items = [
- ["leather_boots", "Leather Boots", [("leather_boots_a",0)], itp_merchandise| itp_type_foot_armor |itp_civilian | itp_attach_armature,0,
- 174 , weight(1.25)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(16)|difficulty(0) ,imodbits_cloth ],
- ["splinted_leather_greaves", "Splinted Leather Greaves", [("leather_greaves_a",0)], itp_merchandise| itp_type_foot_armor | itp_attach_armature,0,
- - 310 , weight(3)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(21)|difficulty(0) ,imodbits_armor ],
- + 310 , weight(2)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(21)|difficulty(0) ,imodbits_armor ],
- ["mail_chausses", "Mail Chausses", [("mail_chausses_a",0)], itp_merchandise| itp_type_foot_armor | itp_attach_armature ,0,
- 530 , weight(3)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(24)|difficulty(0) ,imodbits_armor ],
- ["splinted_greaves", "Splinted Greaves", [("splinted_greaves_a",0)], itp_merchandise| itp_type_foot_armor | itp_attach_armature,0,
- - 853 , weight(3.5)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(28)|difficulty(7) ,imodbits_armor ],
- + 853 , weight(2.75)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(28)|difficulty(7) ,imodbits_armor ],
- ["mail_boots", "Mail Boots", [("mail_boots_a",0)], itp_merchandise| itp_type_foot_armor | itp_attach_armature ,0,
- 1250 , weight(3)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(31)|difficulty(8) ,imodbits_armor ],
- ["iron_greaves", "Iron Greaves", [("iron_greaves_a",0)], itp_merchandise| itp_type_foot_armor | itp_attach_armature,0,
- @@ -315,11 +315,11 @@ items = [
- ["sarranid_boots_a", "Sarranid Shoes", [("sarranid_shoes",0)], itp_type_foot_armor |itp_civilian | itp_attach_armature ,0,
- 30 , weight(1)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(8)|difficulty(0) ,imodbits_cloth ],
- ["sarranid_boots_b", "Sarranid Leather Boots", [("sarranid_boots",0)], itp_merchandise| itp_type_foot_armor |itp_civilian | itp_attach_armature ,0,
- - 120 , weight(1)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(16)|difficulty(0) ,imodbits_cloth ],
- + 120 , weight(2)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(16)|difficulty(0) ,imodbits_cloth ],
- ["sarranid_boots_c", "Plated Boots", [("sarranid_camel_boots",0)], itp_merchandise| itp_type_foot_armor |itp_civilian | itp_attach_armature ,0,
- - 280 , weight(1)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(20)|difficulty(0) ,imodbits_plate ],
- + 280 , weight(3)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(20)|difficulty(0) ,imodbits_plate ],
- ["sarranid_boots_d", "Sarranid Mail Boots", [("sarranid_mail_chausses",0)], itp_merchandise| itp_type_foot_armor |itp_civilian | itp_attach_armature ,0,
- - 920 , weight(1)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(30)|difficulty(0) ,imodbits_armor ],
- + 920 , weight(3)|abundance(100)|head_armor(0)|body_armor(0)|leg_armor(30)|difficulty(0) ,imodbits_armor ],
- ["sarranid_head_cloth", "Lady Head Cloth", [("tulbent",0)], itp_type_head_armor | itp_doesnt_cover_hair |itp_civilian |itp_attach_armature,0, 1 , weight(0.5)|abundance(100)|head_armor(4)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- ["sarranid_head_cloth_b", "Lady Head Cloth", [("tulbent_b",0)], itp_type_head_armor | itp_doesnt_cover_hair |itp_civilian |itp_attach_armature,0, 1 , weight(0.5)|abundance(100)|head_armor(4)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- @@ -572,7 +572,7 @@ items = [
- ["woolen_cap", "Woolen Cap", [("woolen_cap_new",0)], itp_merchandise| itp_type_head_armor |itp_civilian ,0, 2 , weight(1)|abundance(100)|head_armor(6)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- ["felt_hat", "Felt Hat", [("felt_hat_a_new",0)], itp_merchandise| itp_type_head_armor |itp_civilian,0, 4 , weight(1)|abundance(100)|head_armor(8)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- ["felt_hat_b", "Felt Hat", [("felt_hat_b_new",0)], itp_merchandise| itp_type_head_armor |itp_civilian,0, 4 , weight(1)|abundance(100)|head_armor(8)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- -["leather_cap", "Leather Cap", [("leather_cap_a_new",0)], itp_merchandise| itp_type_head_armor|itp_civilian ,0, 6 , weight(1)|abundance(100)|head_armor(10)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- +["leather_cap", "Leather Cap", [("leather_cap_a_new",0)], itp_merchandise| itp_type_head_armor|itp_civilian ,0, 8, weight(1)|abundance(100)|head_armor(18)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- ["female_hood", "Lady's Hood", [("ladys_hood_new",0)], itp_merchandise| itp_type_head_armor |itp_civilian ,0, 9 , weight(1)|abundance(100)|head_armor(10)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- ["leather_steppe_cap_a", "Steppe Cap", [("leather_steppe_cap_a_new",0)], itp_merchandise|itp_type_head_armor ,0,
- 24 , weight(1)|abundance(100)|head_armor(12)|body_armor(0)|leg_armor(0) ,imodbits_cloth ],
- @@ -598,13 +598,13 @@ items = [
- ["khergit_lady_hat", "Khergit Lady Hat", [("khergit_lady_hat",0)], itp_type_head_armor |itp_civilian |itp_doesnt_cover_hair | itp_fit_to_head,0, 1 , weight(0.5)|abundance(100)|head_armor(4)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- ["khergit_lady_hat_b", "Khergit Lady Leather Hat", [("khergit_lady_hat_b",0)], itp_type_head_armor | itp_doesnt_cover_hair | itp_fit_to_head |itp_civilian ,0, 1 , weight(0.5)|abundance(100)|head_armor(4)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_cloth ],
- ["sarranid_felt_hat", "Sarranid Felt Hat", [("sar_helmet3",0)], itp_merchandise| itp_type_head_armor ,0, 16 , weight(2)|abundance(100)|head_armor(5)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_cloth ],
- -["turban", "Turban", [("tuareg_open",0)], itp_merchandise| itp_type_head_armor ,0, 28 , weight(2)|abundance(100)|head_armor(11)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_cloth ],
- -["desert_turban", "Desert Turban", [("tuareg",0)], itp_merchandise| itp_type_head_armor | itp_covers_beard ,0, 38 , weight(2)|abundance(100)|head_armor(14)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_cloth ],
- +["turban", "Turban", [("tuareg_open",0)], itp_merchandise| itp_type_head_armor ,0, 28 , weight(1)|abundance(100)|head_armor(11)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_cloth ],
- +["desert_turban", "Desert Turban", [("tuareg",0)], itp_merchandise| itp_type_head_armor | itp_covers_beard ,0, 38 , weight(1.50)|abundance(100)|head_armor(14)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_cloth ],
- ["sarranid_warrior_cap", "Sarranid Warrior Cap", [("tuareg_helmet",0)], itp_merchandise| itp_type_head_armor | itp_covers_beard ,0, 90 , weight(2)|abundance(100)|head_armor(19)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["sarranid_horseman_helmet", "Horseman Helmet", [("sar_helmet2",0)], itp_merchandise| itp_type_head_armor ,0, 180 , weight(2)|abundance(100)|head_armor(25)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["sarranid_helmet1", "Sarranid Keffiyeh Helmet", [("sar_helmet1",0)], itp_merchandise| itp_type_head_armor ,0, 290 , weight(2)|abundance(100)|head_armor(35)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["sarranid_mail_coif", "Sarranid Mail Coif", [("tuareg_helmet2",0)], itp_merchandise| itp_type_head_armor ,0, 430 , weight(2)|abundance(100)|head_armor(41)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["sarranid_veiled_helmet", "Sarranid Veiled Helmet", [("sar_helmet4",0)], itp_merchandise| itp_type_head_armor | itp_covers_beard ,0, 810 , weight(2)|abundance(100)|head_armor(47)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["sarranid_horseman_helmet", "Horseman Helmet", [("sar_helmet2",0)], itp_merchandise| itp_type_head_armor ,0, 180 , weight(2.75)|abundance(100)|head_armor(25)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["sarranid_helmet1", "Sarranid Keffiyeh Helmet", [("sar_helmet1",0)], itp_merchandise| itp_type_head_armor ,0, 290 , weight(2.50)|abundance(100)|head_armor(35)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["sarranid_mail_coif", "Sarranid Mail Coif", [("tuareg_helmet2",0)], itp_merchandise| itp_type_head_armor ,0, 430 , weight(3)|abundance(100)|head_armor(41)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["sarranid_veiled_helmet", "Sarranid Veiled Helmet", [("sar_helmet4",0)], itp_merchandise| itp_type_head_armor | itp_covers_beard ,0, 810 , weight(3.50)|abundance(100)|head_armor(47)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- ["nordic_archer_helmet", "Nordic Leather Helmet", [("Helmet_A_vs2",0)], itp_merchandise| itp_type_head_armor ,0, 40 , weight(1.25)|abundance(100)|head_armor(14)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- ["nordic_veteran_archer_helmet", "Nordic Leather Helmet", [("Helmet_A",0)], itp_merchandise| itp_type_head_armor,0, 70 , weight(1.5)|abundance(100)|head_armor(20)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- ["nordic_footman_helmet", "Nordic Footman Helmet", [("Helmet_B_vs2",0)], itp_merchandise| itp_type_head_armor |itp_fit_to_head ,0, 150 , weight(1.75)|abundance(100)|head_armor(30)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- @@ -612,13 +612,13 @@ items = [
- ["nordic_huscarl_helmet", "Nordic Huscarl's Helmet", [("Helmet_C_vs2",0)], itp_merchandise| itp_type_head_armor ,0, 390 , weight(2)|abundance(100)|head_armor(40)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- ["nordic_warlord_helmet", "Nordic Warlord Helmet", [("Helmet_C",0)], itp_merchandise| itp_type_head_armor ,0, 880 , weight(2.25)|abundance(100)|head_armor(48)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["vaegir_fur_cap", "Cap with Fur", [("vaeg_helmet3",0)], itp_merchandise| itp_type_head_armor ,0, 50 , weight(2)|abundance(100)|head_armor(15)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["vaegir_fur_cap", "Cap with Fur", [("vaeg_helmet3",0)], itp_merchandise| itp_type_head_armor ,0, 50 , weight(1)|abundance(100)|head_armor(15)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- ["vaegir_fur_helmet", "Vaegir Helmet", [("vaeg_helmet2",0)], itp_merchandise| itp_type_head_armor ,0, 110 , weight(2)|abundance(100)|head_armor(21)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["vaegir_spiked_helmet", "Spiked Cap", [("vaeg_helmet1",0)], itp_merchandise| itp_type_head_armor ,0, 230 , weight(2)|abundance(100)|head_armor(32)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["vaegir_lamellar_helmet", "Helmet with Lamellar Guard", [("vaeg_helmet4",0)], itp_merchandise| itp_type_head_armor ,0, 360 , weight(2)|abundance(100)|head_armor(38)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["vaegir_noble_helmet", "Vaegir Nobleman Helmet", [("vaeg_helmet7",0)], itp_merchandise| itp_type_head_armor ,0, 710, weight(2)|abundance(100)|head_armor(45)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["vaegir_war_helmet", "Vaegir War Helmet", [("vaeg_helmet6",0)], itp_merchandise| itp_type_head_armor ,0, 820 , weight(2)|abundance(100)|head_armor(47)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- -["vaegir_mask", "Vaegir War Mask", [("vaeg_helmet9",0)], itp_merchandise| itp_type_head_armor |itp_covers_beard ,0, 950 , weight(2)|abundance(100)|head_armor(52)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["vaegir_spiked_helmet", "Spiked Cap", [("vaeg_helmet1",0)], itp_merchandise| itp_type_head_armor ,0, 230 , weight(2.50)|abundance(100)|head_armor(32)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["vaegir_lamellar_helmet", "Helmet with Lamellar Guard", [("vaeg_helmet4",0)], itp_merchandise| itp_type_head_armor ,0, 360 , weight(2.75)|abundance(100)|head_armor(38)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["vaegir_noble_helmet", "Vaegir Nobleman Helmet", [("vaeg_helmet7",0)], itp_merchandise| itp_type_head_armor ,0, 710, weight(2.75)|abundance(100)|head_armor(45)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["vaegir_war_helmet", "Vaegir War Helmet", [("vaeg_helmet6",0)], itp_merchandise| itp_type_head_armor ,0, 820 , weight(3)|abundance(100)|head_armor(47)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- +["vaegir_mask", "Vaegir War Mask", [("vaeg_helmet9",0)], itp_merchandise| itp_type_head_armor |itp_covers_beard ,0, 950 , weight(3.50)|abundance(100)|head_armor(52)|body_armor(0)|leg_armor(0)|difficulty(7) ,imodbits_plate ],
- #TODO:
- #["skullcap_b", "Skullcap_b", [("skull_cap_new_b",0)], itp_merchandise| itp_type_head_armor ,0, 71 , weight(1.5)|abundance(100)|head_armor(20)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_plate ],
- @@ -646,7 +646,7 @@ items = [
- 122 , weight(3.5)|difficulty(0)|spd_rtng(103) | weapon_length(70)|swing_damage(24 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- ["spiked_mace", "Spiked Mace", [("spiked_mace_new",0)], itp_type_one_handed_wpn|itp_can_knock_down|itp_merchandise| itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- 180 , weight(3.5)|difficulty(0)|spd_rtng(98) | weapon_length(70)|swing_damage(28 , blunt) | thrust_damage(0 , pierce),imodbits_pick ],
- -["military_hammer", "Military Hammer", [("military_hammer",0)], itp_type_one_handed_wpn|itp_can_knock_down|itp_merchandise| itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_axe_left_hip,
- +["military_hammer", "Military Hammer", [("military_hammer",0)], itp_type_one_handed_wpn|itp_can_knock_down|itp_merchandise| itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- 317 , weight(2)|difficulty(0)|spd_rtng(95) | weapon_length(70)|swing_damage(31 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- ["maul", "Maul", [("maul_b",0)], itp_crush_through|itp_type_two_handed_wpn|itp_merchandise|itp_can_knock_down |itp_primary|itp_two_handed|itp_wooden_parry|itp_wooden_attack|itp_unbalanced, itc_nodachi|itcf_carry_spear,
- 97 , weight(6)|difficulty(11)|spd_rtng(83) | weapon_length(79)|swing_damage(36 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- @@ -654,15 +654,15 @@ items = [
- 101 , weight(7)|difficulty(12)|spd_rtng(81) | weapon_length(82)|swing_damage(39, blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- ["warhammer", "Great Hammer", [("maul_d",0)], itp_crush_through|itp_type_two_handed_wpn|itp_merchandise|itp_can_knock_down|itp_primary|itp_two_handed|itp_wooden_parry|itp_wooden_attack|itp_unbalanced, itc_nodachi|itcf_carry_spear,
- 290 , weight(9)|difficulty(14)|spd_rtng(79) | weapon_length(75)|swing_damage(45 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- -["pickaxe", "Pickaxe", [("fighting_pick_new",0)], itp_type_one_handed_wpn|itp_merchandise|itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_axe_left_hip,
- +["pickaxe", "Pickaxe", [("fighting_pick_new",0)], itp_type_one_handed_wpn|itp_merchandise|itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- 27 , weight(3)|difficulty(0)|spd_rtng(99) | weapon_length(70)|swing_damage(19 , pierce) | thrust_damage(0 , pierce),imodbits_pick ],
- ["spiked_club", "Spiked Club", [("spiked_club",0)], itp_type_one_handed_wpn|itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- 83 , weight(3)|difficulty(0)|spd_rtng(97) | weapon_length(70)|swing_damage(21 , pierce) | thrust_damage(0 , pierce),imodbits_mace ],
- -["fighting_pick", "Fighting Pick", [("fighting_pick_new",0)], itp_type_one_handed_wpn|itp_merchandise|itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_axe_left_hip,
- +["fighting_pick", "Fighting Pick", [("fighting_pick_new",0)], itp_type_one_handed_wpn|itp_merchandise|itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- 108 , weight(1.0)|difficulty(0)|spd_rtng(98) | weapon_length(70)|swing_damage(22 , pierce) | thrust_damage(0 , pierce),imodbits_pick ],
- -["military_pick", "Military Pick", [("steel_pick_new",0)], itp_type_one_handed_wpn|itp_merchandise|itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_axe_left_hip,
- +["military_pick", "Military Pick", [("steel_pick_new",0)], itp_type_one_handed_wpn|itp_merchandise|itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- 280 , weight(1.5)|difficulty(0)|spd_rtng(97) | weapon_length(70)|swing_damage(31 , pierce) | thrust_damage(0 , pierce),imodbits_pick ],
- -["morningstar", "Morningstar", [("mace_morningstar_new",0)], itp_crush_through|itp_type_two_handed_wpn|itp_merchandise|itp_primary|itp_wooden_parry|itp_unbalanced, itc_morningstar|itcf_carry_axe_left_hip,
- +["morningstar", "Morningstar", [("mace_morningstar_new",0)], itp_crush_through|itp_type_two_handed_wpn|itp_merchandise|itp_primary|itp_wooden_parry|itp_unbalanced, itc_morningstar|itcf_carry_mace_left_hip,
- 305 , weight(4.5)|difficulty(13)|spd_rtng(95) | weapon_length(85)|swing_damage(38 , pierce) | thrust_damage(0 , pierce),imodbits_mace ],
- @@ -693,11 +693,11 @@ items = [
- ["arabian_sword_a", "Sarranid Sword", [("arabian_sword_a",0),("scab_arabian_sword_a", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- 108 , weight(1.5)|difficulty(0)|spd_rtng(99) | weapon_length(97)|swing_damage(26 , cut) | thrust_damage(19 , pierce),imodbits_sword_high ],
- ["arabian_sword_b", "Sarranid Arming Sword", [("arabian_sword_b",0),("scab_arabian_sword_b", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- -218 , weight(1.5)|difficulty(0)|spd_rtng(99) | weapon_length(97)|swing_damage(28 , cut) | thrust_damage(19 , pierce),imodbits_sword_high ],
- +218 , weight(1.7)|difficulty(0)|spd_rtng(99) | weapon_length(97)|swing_damage(28 , cut) | thrust_damage(19 , pierce),imodbits_sword_high ],
- ["sarranid_cavalry_sword", "Sarranid Cavalry Sword", [("arabian_sword_c",0),("scab_arabian_sword_c", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- 310 , weight(1.5)|difficulty(0)|spd_rtng(98) | weapon_length(105)|swing_damage(28 , cut) | thrust_damage(19 , pierce),imodbits_sword_high ],
- ["arabian_sword_d", "Sarranid Guard Sword", [("arabian_sword_d",0),("scab_arabian_sword_d", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- -420 , weight(1.5)|difficulty(0)|spd_rtng(99) | weapon_length(97)|swing_damage(30 , cut) | thrust_damage(20 , pierce),imodbits_sword_high ],
- +420 , weight(1.7)|difficulty(0)|spd_rtng(99) | weapon_length(97)|swing_damage(30 , cut) | thrust_damage(20 , pierce),imodbits_sword_high ],
- #["nomad_sabre", "Nomad Sabre", [("shashqa",0),("scab_shashqa", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_scimitar|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn, 115 , weight(1.75)|difficulty(0)|spd_rtng(101) | weapon_length(100)|swing_damage(27 , cut) | thrust_damage(0 , pierce),imodbits_sword ],
- @@ -770,23 +770,23 @@ items = [
- 228 , weight(4.5)|difficulty(10)|spd_rtng(92) | weapon_length(100)|swing_damage(45 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- ["great_axe", "Great Axe", [("two_handed_battle_axe_e",0)], itp_type_two_handed_wpn|itp_merchandise| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_unbalanced, itc_nodachi|itcf_carry_axe_back,
- 316 , weight(4.5)|difficulty(10)|spd_rtng(94) | weapon_length(96)|swing_damage(47 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- -["long_axe", "Long Axe", [("long_axe_a",0)], itp_type_polearm|itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_next_item_as_melee|itp_merchandise,itc_staff|itcf_carry_axe_back,
- - 390 , weight(4.5)|difficulty(10)|spd_rtng(93) | weapon_length(120)|swing_damage(46 , cut) | thrust_damage(19 , blunt),imodbits_axe ],
- +["long_axe", "Long Axe", [("long_axe_a",0)], itp_type_polearm|itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_next_item_as_melee|itp_unbalanced|itp_merchandise,itc_staff|itcf_carry_axe_back,
- + 390 , weight(4.75)|difficulty(10)|spd_rtng(93) | weapon_length(120)|swing_damage(46 , cut) | thrust_damage(19 , blunt),imodbits_axe ],
- ["long_axe_alt", "Long Axe", [("long_axe_a",0)],itp_type_two_handed_wpn|itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_unbalanced, itc_nodachi|itcf_carry_axe_back,
- - 390 , weight(4.5)|difficulty(10)|spd_rtng(88) | weapon_length(120)|swing_damage(46 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- - ["long_axe_b", "Long War Axe", [("long_axe_b",0)], itp_type_polearm| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_next_item_as_melee|itp_merchandise, itc_staff|itcf_carry_axe_back,
- - 510 , weight(4.5)|difficulty(10)|spd_rtng(92) | weapon_length(125)|swing_damage(50 , cut) | thrust_damage(18 , blunt),imodbits_axe ],
- + 390 , weight(4.75)|difficulty(10)|spd_rtng(88) | weapon_length(120)|swing_damage(46 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- + ["long_axe_b", "Long War Axe", [("long_axe_b",0)], itp_type_polearm| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_next_item_as_melee|itp_unbalanced|itp_merchandise, itc_staff|itcf_carry_axe_back,
- + 510 , weight(5.0)|difficulty(10)|spd_rtng(92) | weapon_length(125)|swing_damage(50 , cut) | thrust_damage(18 , blunt),imodbits_axe ],
- ["long_axe_b_alt", "Long War Axe", [("long_axe_b",0)], itp_type_two_handed_wpn| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_unbalanced, itc_nodachi|itcf_carry_axe_back,
- - 510 , weight(4.5)|difficulty(10)|spd_rtng(87) | weapon_length(125)|swing_damage(50 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- - ["long_axe_c", "Great Long Axe", [("long_axe_c",0)], itp_type_polearm| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_next_item_as_melee|itp_merchandise, itc_staff|itcf_carry_axe_back,
- - 660 , weight(4.5)|difficulty(10)|spd_rtng(91) | weapon_length(127)|swing_damage(54 , cut) | thrust_damage(19 , blunt),imodbits_axe ],
- + 510 , weight(5.0)|difficulty(10)|spd_rtng(87) | weapon_length(125)|swing_damage(50 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- + ["long_axe_c", "Great Long Axe", [("long_axe_c",0)], itp_type_polearm| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_next_item_as_melee|itp_unbalanced|itp_merchandise, itc_staff|itcf_carry_axe_back,
- + 660 , weight(5.5)|difficulty(10)|spd_rtng(91) | weapon_length(127)|swing_damage(54 , cut) | thrust_damage(19 , blunt),imodbits_axe ],
- ["long_axe_c_alt", "Great Long Axe", [("long_axe_c",0)], itp_type_two_handed_wpn| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_unbalanced, itc_nodachi|itcf_carry_axe_back,
- - 660 , weight(4.5)|difficulty(10)|spd_rtng(85) | weapon_length(127)|swing_damage(54 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- + 660 , weight(5.5)|difficulty(10)|spd_rtng(85) | weapon_length(127)|swing_damage(54 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- ["bardiche", "Bardiche", [("two_handed_battle_axe_d",0)], itp_type_two_handed_wpn|itp_merchandise| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_unbalanced, itc_nodachi|itcf_carry_axe_back,
- - 291 , weight(4.5)|difficulty(10)|spd_rtng(91) | weapon_length(102)|swing_damage(47 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- + 291 , weight(4.75)|difficulty(10)|spd_rtng(91) | weapon_length(102)|swing_damage(47 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- ["great_bardiche", "Great Bardiche", [("two_handed_battle_axe_f",0)], itp_type_two_handed_wpn|itp_merchandise|itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry|itp_unbalanced, itc_nodachi|itcf_carry_axe_back,
- - 617 , weight(4.5)|difficulty(10)|spd_rtng(89) | weapon_length(116)|swing_damage(50 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- + 617 , weight(5.0)|difficulty(10)|spd_rtng(89) | weapon_length(116)|swing_damage(50 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- @@ -794,7 +794,7 @@ items = [
- ["voulge", "Voulge", [("two_handed_battle_long_axe_a",0)], itp_type_polearm|itp_merchandise| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry, itc_staff,
- 120 , weight(3.0)|difficulty(10)|spd_rtng(88) | weapon_length(175)|swing_damage(40 , cut) | thrust_damage(18 , pierce),imodbits_axe ],
- ["long_bardiche", "Long Bardiche", [("two_handed_battle_long_axe_b",0)], itp_type_polearm|itp_merchandise| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry, itc_staff,
- -390 , weight(4.5)|difficulty(11)|spd_rtng(89) | weapon_length(140)|swing_damage(48 , cut) | thrust_damage(17 , pierce),imodbits_axe ],
- +390 , weight(4.75)|difficulty(11)|spd_rtng(89) | weapon_length(140)|swing_damage(48 , cut) | thrust_damage(17 , pierce),imodbits_axe ],
- ["great_long_bardiche", "Great Long Bardiche", [("two_handed_battle_long_axe_c",0)], itp_type_polearm|itp_merchandise| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry, itc_staff,
- 660 , weight(5.0)|difficulty(12)|spd_rtng(88) | weapon_length(155)|swing_damage(50 , cut) | thrust_damage(17 , pierce),imodbits_axe ],
- @@ -812,15 +812,15 @@ items = [
- ["sword_medieval_b", "Sword", [("sword_medieval_b",0),("sword_medieval_b_scabbard", ixmesh_carry),("sword_rusty_a",imodbit_rusty),("sword_rusty_a_scabbard", ixmesh_carry|imodbit_rusty)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- 243 , weight(1.5)|difficulty(0)|spd_rtng(99) | weapon_length(95)|swing_damage(28 , cut) | thrust_damage(23 , pierce),imodbits_sword_high ],
- ["sword_medieval_b_small", "Short Sword", [("sword_medieval_b_small",0),("sword_medieval_b_small_scabbard", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- - 152 , weight(1.5)|difficulty(0)|spd_rtng(102) | weapon_length(85)|swing_damage(26, cut) | thrust_damage(24, pierce),imodbits_sword_high ],
- + 152 , weight(1)|difficulty(0)|spd_rtng(102) | weapon_length(85)|swing_damage(26, cut) | thrust_damage(24, pierce),imodbits_sword_high ],
- ["sword_medieval_c", "Arming Sword", [("sword_medieval_c",0),("sword_medieval_c_scabbard", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- 410 , weight(1.5)|difficulty(0)|spd_rtng(99) | weapon_length(95)|swing_damage(29 , cut) | thrust_damage(24 , pierce),imodbits_sword_high ],
- ["sword_medieval_c_small", "Short Arming Sword", [("sword_medieval_c_small",0),("sword_medieval_c_small_scabbard", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- - 243 , weight(1.5)|difficulty(0)|spd_rtng(103) | weapon_length(86)|swing_damage(26, cut) | thrust_damage(24 , pierce),imodbits_sword_high ],
- + 243 , weight(1)|difficulty(0)|spd_rtng(103) | weapon_length(86)|swing_damage(26, cut) | thrust_damage(24 , pierce),imodbits_sword_high ],
- ["sword_medieval_c_long", "Arming Sword", [("sword_medieval_c_long",0),("sword_medieval_c_long_scabbard", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- - 480 , weight(1.5)|difficulty(0)|spd_rtng(99) | weapon_length(100)|swing_damage(29 , cut) | thrust_damage(28 , pierce),imodbits_sword_high ],
- + 480 , weight(1.7)|difficulty(0)|spd_rtng(99) | weapon_length(100)|swing_damage(29 , cut) | thrust_damage(28 , pierce),imodbits_sword_high ],
- ["sword_medieval_d_long", "Long Arming Sword", [("sword_medieval_d_long",0),("sword_medieval_d_long_scabbard", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- - 550 , weight(1.5)|difficulty(0)|spd_rtng(96) | weapon_length(105)|swing_damage(33 , cut) | thrust_damage(28 , pierce),imodbits_sword ],
- + 550 , weight(1.8)|difficulty(0)|spd_rtng(96) | weapon_length(105)|swing_damage(33 , cut) | thrust_damage(28 , pierce),imodbits_sword ],
- #["sword_medieval_d", "sword_medieval_d", [("sword_medieval_d",0),("sword_medieval_d_scabbard", ixmesh_carry)], itp_type_one_handed_wpn|itp_merchandise|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
- # 131 , weight(1.5)|difficulty(0)|spd_rtng(99) | weapon_length(95)|swing_damage(24 , cut) | thrust_damage(21 , pierce),imodbits_sword ],
- @@ -858,19 +858,19 @@ items = [
- ["mace_2", "Knobbed_Mace", [("mace_a",0)], itp_type_one_handed_wpn|itp_can_knock_down|itp_merchandise| itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- 98 , weight(2.5)|difficulty(0)|spd_rtng(98) | weapon_length(70)|swing_damage(21 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- ["mace_3", "Spiked Mace", [("mace_c",0)], itp_type_one_handed_wpn|itp_can_knock_down|itp_merchandise| itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- - 152 , weight(2.5)|difficulty(0)|spd_rtng(98) | weapon_length(70)|swing_damage(23 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- + 152 , weight(2.75)|difficulty(0)|spd_rtng(98) | weapon_length(70)|swing_damage(23 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- ["mace_4", "Winged_Mace", [("mace_b",0)], itp_type_one_handed_wpn|itp_can_knock_down|itp_merchandise| itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- - 212 , weight(2.5)|difficulty(0)|spd_rtng(98) | weapon_length(70)|swing_damage(24 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- + 212 , weight(2.75)|difficulty(0)|spd_rtng(98) | weapon_length(70)|swing_damage(24 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- # Goedendag
- ["club_with_spike_head", "Spiked Staff", [("mace_e",0)], itp_type_two_handed_wpn|itp_merchandise|itp_can_knock_down|itp_primary|itp_wooden_parry, itc_bastardsword|itcf_carry_axe_back,
- - 200 , weight(2.5)|difficulty(9)|spd_rtng(95) | weapon_length(117)|swing_damage(24 , blunt) | thrust_damage(20 , pierce),imodbits_mace ],
- + 200 , weight(2.80)|difficulty(9)|spd_rtng(95) | weapon_length(117)|swing_damage(24 , blunt) | thrust_damage(20 , pierce),imodbits_mace ],
- ["long_spiked_club", "Long Spiked Club", [("mace_long_c",0)], itp_type_polearm|itp_can_knock_down|itp_merchandise| itp_primary|itp_wooden_parry, itc_staff|itcf_carry_axe_back,
- - 264 , weight(2.5)|difficulty(0)|spd_rtng(96) | weapon_length(126)|swing_damage(23 , pierce) | thrust_damage(20 , blunt),imodbits_mace ],
- + 264 , weight(3)|difficulty(0)|spd_rtng(96) | weapon_length(126)|swing_damage(23 , pierce) | thrust_damage(20 , blunt),imodbits_mace ],
- ["long_hafted_knobbed_mace", "Long Hafted Knobbed Mace", [("mace_long_a",0)], itp_type_polearm| itp_can_knock_down|itp_primary|itp_wooden_parry, itc_staff|itcf_carry_axe_back,
- - 324 , weight(2.5)|difficulty(0)|spd_rtng(95) | weapon_length(133)|swing_damage(26 , blunt) | thrust_damage(23 , blunt),imodbits_mace ],
- + 324 , weight(3)|difficulty(0)|spd_rtng(95) | weapon_length(133)|swing_damage(26 , blunt) | thrust_damage(23 , blunt),imodbits_mace ],
- ["long_hafted_spiked_mace", "Long Hafted Spiked Mace", [("mace_long_b",0)], itp_type_polearm|itp_can_knock_down|itp_merchandise| itp_primary|itp_wooden_parry, itc_staff|itcf_carry_axe_back,
- - 310 , weight(2.5)|difficulty(0)|spd_rtng(94) | weapon_length(140)|swing_damage(28 , blunt) | thrust_damage(26 , blunt),imodbits_mace ],
- + 310 , weight(3)|difficulty(0)|spd_rtng(94) | weapon_length(140)|swing_damage(28 , blunt) | thrust_damage(26 , blunt),imodbits_mace ],
- ["sarranid_two_handed_mace_1", "Iron Mace", [("mace_long_d",0)], itp_type_two_handed_wpn|itp_can_knock_down|itp_two_handed|itp_merchandise| itp_primary|itp_crush_through|itp_unbalanced, itc_greatsword|itcf_carry_axe_back,
- 470 , weight(4.5)|difficulty(0)|spd_rtng(90) | weapon_length(95)|swing_damage(35 , blunt) | thrust_damage(22 , blunt),imodbits_mace ],
- @@ -879,23 +879,23 @@ items = [
- ["sarranid_mace_1", "Iron Mace", [("mace_small_d",0)], itp_type_one_handed_wpn|itp_merchandise|itp_can_knock_down |itp_primary|itp_wooden_parry, itc_scimitar|itcf_carry_mace_left_hip,
- 45 , weight(2.0)|difficulty(0)|spd_rtng(99) | weapon_length(73)|swing_damage(22 , blunt) | thrust_damage(0 , pierce),imodbits_mace ],
- ["sarranid_axe_a", "Iron Battle Axe", [("one_handed_battle_axe_g",0)], itp_type_one_handed_wpn|itp_merchandise| itp_primary|itp_secondary|itp_bonus_against_shield|itp_wooden_parry, itc_scimitar|itcf_carry_axe_left_hip,
- - 250 , weight(1.75)|difficulty(9)|spd_rtng(97) | weapon_length(71)|swing_damage(35 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- + 250 , weight(1.65)|difficulty(9)|spd_rtng(97) | weapon_length(71)|swing_damage(35 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- ["sarranid_axe_b", "Iron War Axe", [("one_handed_battle_axe_h",0)], itp_type_one_handed_wpn|itp_merchandise| itp_primary|itp_secondary|itp_bonus_against_shield|itp_wooden_parry, itc_scimitar|itcf_carry_axe_left_hip,
- 360 , weight(1.75)|difficulty(9)|spd_rtng(97) | weapon_length(71)|swing_damage(38 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- ["sarranid_two_handed_axe_a", "Sarranid Battle Axe", [("two_handed_battle_axe_g",0)], itp_type_two_handed_wpn|itp_two_handed|itp_primary|itp_bonus_against_shield|itp_unbalanced, itc_nodachi|itcf_carry_axe_back,
- 350 , weight(3.0)|difficulty(10)|spd_rtng(89) | weapon_length(95)|swing_damage(49 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- ["sarranid_two_handed_axe_b", "Sarranid War Axe", [("two_handed_battle_axe_h",0)], itp_type_two_handed_wpn|itp_two_handed|itp_primary|itp_bonus_against_shield|itp_unbalanced, itc_nodachi|itcf_carry_axe_back,
- - 280 , weight(3.0)|difficulty(10)|spd_rtng(90) | weapon_length(90)|swing_damage(46 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- + 280 , weight(2.50)|difficulty(10)|spd_rtng(90) | weapon_length(90)|swing_damage(46 , cut) | thrust_damage(0 , pierce),imodbits_axe ],
- ["scythe", "Scythe", [("scythe",0)], itp_type_polearm|itp_offset_lance|itp_merchandise| itp_primary|itp_penalty_with_shield|itp_wooden_parry, itc_staff|itcf_carry_spear, 43 , weight(2)|difficulty(0)|spd_rtng(97) | weapon_length(182)|swing_damage(30 , cut) | thrust_damage(14 , pierce),imodbits_polearm ],
- -["pitch_fork", "Pitch Fork", [("pitch_fork",0)], itp_type_polearm|itp_offset_lance|itp_merchandise| itp_primary|itp_penalty_with_shield|itp_wooden_parry, itc_spear, 19 , weight(1.5)|difficulty(0)|spd_rtng(87) | weapon_length(154)|swing_damage(16 , blunt) | thrust_damage(22 , pierce),imodbits_polearm ],
- -["military_fork", "Military Fork", [("military_fork",0)], itp_type_polearm|itp_offset_lance|itp_merchandise| itp_primary|itp_wooden_parry, itc_spear, 153 , weight(2)|difficulty(0)|spd_rtng(95) | weapon_length(135)|swing_damage(15 , blunt) | thrust_damage(30 , pierce),imodbits_polearm ],
- -["battle_fork", "Battle Fork", [("battle_fork",0)], itp_type_polearm|itp_offset_lance|itp_merchandise| itp_primary|itp_wooden_parry, itc_spear, 282 , weight(2.2)|difficulty(0)|spd_rtng(90) | weapon_length(144)|swing_damage(15, blunt) | thrust_damage(35 , pierce),imodbits_polearm ],
- -["boar_spear", "Boar Spear", [("spear",0)], itp_type_polearm|itp_merchandise| itp_primary|itp_penalty_with_shield|itp_wooden_parry, itc_spear|itcf_carry_spear,
- +["pitch_fork", "Pitch Fork", [("pitch_fork",0)], itp_type_polearm|itp_offset_lance|itp_merchandise| itp_primary|itp_penalty_with_shield|itp_wooden_parry,itc_staff, 19 , weight(1.5)|difficulty(0)|spd_rtng(87) | weapon_length(154)|swing_damage(16 , blunt) | thrust_damage(22 , pierce),imodbits_polearm ],
- +["military_fork", "Military Fork", [("military_fork",0)], itp_type_polearm|itp_offset_lance|itp_merchandise| itp_primary|itp_wooden_parry,itc_staff, 153 , weight(2)|difficulty(0)|spd_rtng(95) | weapon_length(135)|swing_damage(15 , blunt) | thrust_damage(30 , pierce),imodbits_polearm ],
- +["battle_fork", "Battle Fork", [("battle_fork",0)], itp_type_polearm|itp_offset_lance|itp_merchandise| itp_primary|itp_wooden_parry,itc_staff, 282 , weight(2.2)|difficulty(0)|spd_rtng(90) | weapon_length(144)|swing_damage(15, blunt) | thrust_damage(35 , pierce),imodbits_polearm ],
- +["boar_spear", "Boar Spear", [("spear",0)], itp_type_polearm|itp_merchandise| itp_primary|itp_penalty_with_shield|itp_wooden_parry,itc_staff|itcf_carry_spear,
- 76 , weight(1.5)|difficulty(0)|spd_rtng(90) | weapon_length(157)|swing_damage(26 , cut) | thrust_damage(23 , pierce),imodbits_polearm ],
- #["spear", "Spear", [("spear",0)], itp_type_polearm|itp_merchandise| itp_primary|itp_penalty_with_shield|itp_wooden_parry, itc_cutting_spear|itcf_carry_spear, 173 , weight(4.5)|difficulty(0)|spd_rtng(80) | weapon_length(158)|swing_damage(17 , blunt) | thrust_damage(23 , pierce),imodbits_polearm ],
- @@ -1091,22 +1091,22 @@ items = [
- #TODO:
- ["darts", "Darts", [("dart_b",0),("dart_b_bag", ixmesh_carry)], itp_type_thrown |itp_merchandise|itp_primary ,itcf_throw_javelin|itcf_carry_quiver_right_vertical|itcf_show_holster_when_drawn,
- -155 , weight(5)|difficulty(1)|spd_rtng(95) | shoot_speed(28) | thrust_damage(22 , pierce)|max_ammo(7)|weapon_length(32),imodbits_thrown ],
- +155 , weight(4)|difficulty(1)|spd_rtng(95) | shoot_speed(28) | thrust_damage(22 , pierce)|max_ammo(7)|weapon_length(32),imodbits_thrown ],
- ["war_darts", "War Darts", [("dart_a",0),("dart_a_bag", ixmesh_carry)], itp_type_thrown |itp_merchandise|itp_primary ,itcf_throw_javelin|itcf_carry_quiver_back|itcf_show_holster_when_drawn,
- 285 , weight(5)|difficulty(1)|spd_rtng(93) | shoot_speed(27) | thrust_damage(25 , pierce)|max_ammo(7)|weapon_length(45),imodbits_thrown ],
- ["javelin", "Javelins", [("javelin",0),("javelins_quiver_new", ixmesh_carry)], itp_type_thrown |itp_merchandise|itp_primary|itp_next_item_as_melee ,itcf_throw_javelin|itcf_carry_quiver_back|itcf_show_holster_when_drawn,
- -300, weight(5)|difficulty(1)|spd_rtng(91) | shoot_speed(25) | thrust_damage(34 , pierce)|max_ammo(5)|weapon_length(75),imodbits_thrown ],
- +300, weight(4)|difficulty(1)|spd_rtng(91) | shoot_speed(25) | thrust_damage(34 , pierce)|max_ammo(5)|weapon_length(75),imodbits_thrown ],
- ["javelin_melee", "Javelin", [("javelin",0)], itp_type_polearm|itp_primary|itp_wooden_parry , itc_staff,
- 300, weight(1)|difficulty(0)|spd_rtng(95) |swing_damage(12, cut)| thrust_damage(14, pierce)|weapon_length(75),imodbits_polearm ],
- ["throwing_spears", "Throwing Spears", [("jarid_new_b",0),("jarid_new_b_bag", ixmesh_carry)], itp_type_thrown |itp_merchandise|itp_primary|itp_next_item_as_melee ,itcf_throw_javelin|itcf_carry_quiver_back|itcf_show_holster_when_drawn,
- -525 , weight(4)|difficulty(2)|spd_rtng(87) | shoot_speed(22) | thrust_damage(44 , pierce)|max_ammo(4)|weapon_length(65),imodbits_thrown ],
- +525 , weight(3)|difficulty(2)|spd_rtng(87) | shoot_speed(22) | thrust_damage(44 , pierce)|max_ammo(4)|weapon_length(65),imodbits_thrown ],
- ["throwing_spear_melee", "Throwing Spear", [("jarid_new_b",0),("javelins_quiver", ixmesh_carry)],itp_type_polearm|itp_primary|itp_wooden_parry , itc_staff,
- 525 , weight(1)|difficulty(1)|spd_rtng(91) | swing_damage(18, cut) | thrust_damage(23 , pierce)|weapon_length(75),imodbits_thrown ],
- ["jarid", "Jarids", [("jarid_new",0),("jarid_quiver", ixmesh_carry)], itp_type_thrown |itp_merchandise|itp_primary|itp_next_item_as_melee ,itcf_throw_javelin|itcf_carry_quiver_back|itcf_show_holster_when_drawn,
- -560 , weight(4)|difficulty(2)|spd_rtng(89) | shoot_speed(24) | thrust_damage(45 , pierce)|max_ammo(4)|weapon_length(65),imodbits_thrown ],
- +560 , weight(2.75)|difficulty(2)|spd_rtng(89) | shoot_speed(24) | thrust_damage(45 , pierce)|max_ammo(4)|weapon_length(65),imodbits_thrown ],
- ["jarid_melee", "Jarid", [("jarid_new",0),("jarid_quiver", ixmesh_carry)], itp_type_polearm|itp_primary|itp_wooden_parry , itc_staff,
- 560 , weight(1)|difficulty(2)|spd_rtng(93) | swing_damage(16, cut) | thrust_damage(20 , pierce)|weapon_length(65),imodbits_thrown ],
- @@ -1115,8 +1115,8 @@ items = [
- #TODO: Heavy throwing Spear
- ["stones", "Stones", [("throwing_stone",0)], itp_type_thrown |itp_merchandise|itp_primary ,itcf_throw_stone, 1 , weight(4)|difficulty(0)|spd_rtng(97) | shoot_speed(30) | thrust_damage(11 , blunt)|max_ammo(18)|weapon_length(8),imodbit_large_bag ],
- -["throwing_knives", "Throwing Knives", [("throwing_knife",0)], itp_type_thrown |itp_merchandise|itp_primary ,itcf_throw_knife, 76 , weight(3.5)|difficulty(0)|spd_rtng(121) | shoot_speed(25) | thrust_damage(19 , cut)|max_ammo(14)|weapon_length(0),imodbits_thrown ],
- -["throwing_daggers", "Throwing Daggers", [("throwing_dagger",0)], itp_type_thrown |itp_merchandise|itp_primary ,itcf_throw_knife, 193 , weight(3.5)|difficulty(0)|spd_rtng(110) | shoot_speed(24) | thrust_damage(25 , cut)|max_ammo(13)|weapon_length(0),imodbits_thrown ],
- +["throwing_knives", "Throwing Knives", [("throwing_knife",0)], itp_type_thrown |itp_merchandise|itp_primary ,itcf_throw_knife, 76 , weight(2.5)|difficulty(0)|spd_rtng(121) | shoot_speed(25) | thrust_damage(19 , cut)|max_ammo(14)|weapon_length(0),imodbits_thrown ],
- +["throwing_daggers", "Throwing Daggers", [("throwing_dagger",0)], itp_type_thrown |itp_merchandise|itp_primary ,itcf_throw_knife, 193 , weight(2.5)|difficulty(0)|spd_rtng(110) | shoot_speed(24) | thrust_damage(25 , cut)|max_ammo(13)|weapon_length(0),imodbits_thrown ],
- #TODO: Light Trowing axe, Heavy Throwing Axe
- ["light_throwing_axes", "Light Throwing Axes", [("francisca",0)], itp_type_thrown |itp_merchandise|itp_primary|itp_next_item_as_melee,itcf_throw_axe,
- 360, weight(5)|difficulty(2)|spd_rtng(99) | shoot_speed(18) | thrust_damage(35,cut)|max_ammo(4)|weapon_length(53),imodbits_thrown_minus_heavy ],
- diff -rupBN Module_system 1.134//module_mission_templates.py Module_system 1.142//module_mission_templates.py
- --- Module_system 1.134//module_mission_templates.py 2010-12-03 10:37:42.000000000 -0800
- +++ Module_system 1.142//module_mission_templates.py 2011-06-10 12:37:00.000000000 -0700
- @@ -2205,7 +2205,7 @@ mission_templates = [
- ),
- (
- - "lead_charge",mtf_battle_mode,charge,
- + "lead_charge",mtf_battle_mode|mtf_synch_inventory,charge,
- "You lead your men to battle.",
- [
- (1,mtef_defenders|mtef_team_0,0,aif_start_alarmed,12,[]),
- @@ -2412,7 +2412,7 @@ mission_templates = [
- ),
- (
- - "village_attack_bandits",mtf_battle_mode,charge,
- + "village_attack_bandits",mtf_battle_mode|mtf_synch_inventory,charge,
- "You lead your men to battle.",
- [
- (3,mtef_visitor_source|mtef_team_1,0,aif_start_alarmed,1,[]),
- @@ -2470,7 +2470,7 @@ mission_templates = [
- (
- - "village_raid",mtf_battle_mode,charge,
- + "village_raid",mtf_battle_mode|mtf_synch_inventory,charge,
- "You lead your men to battle.",
- [
- (3,mtef_defenders|mtef_team_0,af_override_horse,aif_start_alarmed,12,[]),
- @@ -2851,7 +2851,7 @@ mission_templates = [
- ),
- (
- - "castle_attack_walls_defenders_sally",mtf_battle_mode,-1,
- + "castle_attack_walls_defenders_sally",mtf_battle_mode|mtf_synch_inventory,-1,
- "You attack the walls of the castle...",
- [
- (0,mtef_attackers|mtef_team_1,af_override_horse,aif_start_alarmed,12,[]),
- @@ -2951,7 +2951,7 @@ mission_templates = [
- (
- - "castle_attack_walls_belfry",mtf_battle_mode,-1,
- + "castle_attack_walls_belfry",mtf_battle_mode|mtf_synch_inventory,-1,
- "You attack the walls of the castle...",
- [
- (0,mtef_attackers|mtef_team_1,af_override_horse,aif_start_alarmed,12,[]),
- @@ -3032,7 +3032,7 @@ mission_templates = [
- ),
- (
- - "castle_attack_walls_ladder",mtf_battle_mode,-1,
- + "castle_attack_walls_ladder",mtf_battle_mode|mtf_synch_inventory,-1,
- "You attack the walls of the castle...",
- [
- (0,mtef_attackers|mtef_team_1,af_override_horse,aif_start_alarmed,12,[]),
- @@ -13318,7 +13318,7 @@ mission_templates = [
- ),
- (
- - "bandit_lair",mtf_battle_mode,charge,
- + "bandit_lair",mtf_battle_mode|mtf_synch_inventory,charge,
- "Ambushing a bandit lair",
- [
- (0,mtef_team_0|mtef_use_exact_number,af_override_horse, aif_start_alarmed, 7,[]),
- diff -rupBN Module_system 1.134//module_scripts.py Module_system 1.142//module_scripts.py
- --- Module_system 1.134//module_scripts.py 2011-06-06 13:36:04.826756143 -0700
- +++ Module_system 1.142//module_scripts.py 2011-07-01 13:58:04.000000000 -0700
- @@ -10,6 +10,7 @@ from header_items import *
- from header_triggers import *
- from header_terrain_types import *
- from header_music import *
- +from header_map_icons import *
- from ID_animations import *
- @@ -224,9 +225,6 @@ scripts = [
- (try_for_range, ":center_no", centers_begin, centers_end),
- (party_set_slot, ":center_no", ":offset", average_price_factor), #1000
- (try_end),
- -## (party_set_slot, "p_zendar", ":offset", average_price_factor),
- -## (party_set_slot, "p_salt_mine", ":offset", average_price_factor),
- -## (party_set_slot, "p_four_ways_inn", ":offset", average_price_factor),
- (try_end),
- (call_script, "script_initialize_trade_routes"),
- @@ -644,8 +642,7 @@ scripts = [
- #This needs to be after market towns
- (call_script, "script_initialize_economic_information"),
- - (try_for_range, ":village_no", villages_begin, villages_end),
- - (call_script, "script_refresh_village_merchant_inventory", ":village_no"),
- + (try_for_range, ":village_no", villages_begin, villages_end),
- (call_script, "script_refresh_village_merchant_inventory", ":village_no"),
- (try_end),
- @@ -716,6 +713,7 @@ scripts = [
- (party_get_slot, ":center_lord", ":center_no", slot_town_lord),
- (ge, ":center_lord", 1),
- (troop_slot_eq, ":center_lord", slot_troop_leaded_party, 0),
- + (assign, "$g_there_is_no_avaliable_centers", 0),
- (call_script, "script_create_kingdom_hero_party", ":center_lord", ":center_no"),
- (assign, ":lords_party", "$pout_party"),
- (party_attach_to_party, ":lords_party", ":center_no"),
- @@ -2953,8 +2951,8 @@ scripts = [
- (party_is_active, ":root_attacker_party"),
- (store_faction_of_party, ":defender_faction", ":root_defender_party"),
- (store_faction_of_party, ":attacker_faction", ":root_attacker_party"),
- - (neq, ":defender_faction", "fac_player_faction"),
- - (neq, ":attacker_faction", "fac_player_faction"),
- + #(neq, ":defender_faction", "fac_player_faction"),
- + #(neq, ":attacker_faction", "fac_player_faction"),
- (store_relation, ":reln", ":defender_faction", ":attacker_faction"),
- (lt, ":reln", 0),
- (assign, ":trigger_result", 0),
- @@ -2963,7 +2961,7 @@ scripts = [
- (this_or_next|eq, "$g_battle_simulation_cancel_for_party", ":root_defender_party"),
- (eq, "$g_battle_simulation_cancel_for_party", ":root_attacker_party"),
- (assign, "$g_battle_simulation_cancel_for_party", -1),
- - (assign, "$auto_enter_town", "$g_battle_simulation_auto_enter_town_after_battle"),
- + (assign, "$auto_enter_town", "$g_battle_simulation_auto_enter_town_after_battle"),
- (assign, ":trigger_result", 1),
- (else_try),
- (try_begin),
- @@ -2971,7 +2969,7 @@ scripts = [
- (party_slot_eq, ":root_attacker_party", slot_party_retreat_flag, 1),
- (assign, ":trigger_result", 1), #End battle!
- (try_end),
- - (party_set_slot, ":root_attacker_party", slot_party_retreat_flag, 0),
- + (party_set_slot, ":root_attacker_party", slot_party_retreat_flag, 0),
- #(assign, ":cancel_attack", 0),
- @@ -3000,7 +2998,7 @@ scripts = [
- (val_mul, ":attacker_strength", 100), #it was 0.5 in old version, now it is only 1 / 1.23
- (val_div, ":attacker_strength", 123),
- - (try_end),
- + (try_end),
- (call_script, "script_party_count_fit_for_battle", "p_collective_ally", 0),
- (assign, ":old_defender_strength", reg0),
- @@ -3020,12 +3018,12 @@ scripts = [
- (party_collect_attachments_to_party, ":root_defender_party", "p_collective_ally"),
- (try_end),
- (call_script, "script_party_count_fit_for_battle", "p_collective_ally", 0),
- - (assign, ":new_defender_strength", reg0),
- + (assign, ":new_defender_strength", reg0),
- (try_begin),
- (this_or_next|eq, ":new_attacker_strength", 0),
- (eq, ":new_defender_strength", 0),
- - # Battle concluded! determine winner
- + # Battle concluded! determine winner
- (assign, ":do_not_end_battle", 0),
- (try_begin),
- @@ -3596,17 +3594,17 @@ scripts = [
- (val_add, ":item_slot_no", slot_town_trade_good_prices_begin),
- (party_get_slot, ":price_factor", "$g_encountered_party", ":item_slot_no"),
- - (try_begin),
- - (is_between, "$g_encountered_party", villages_begin, villages_end),
- - (party_get_slot, ":market_town", "$g_encountered_party", slot_village_market_town),
- - (party_get_slot, ":price_in_market_town", ":market_town", ":item_slot_no"),
- - (val_max, ":price_factor", ":price_in_market_town"),
- - (try_end),
- + #new
- + #(try_begin),
- + # (is_between, "$g_encountered_party", villages_begin, villages_end),
- + # (party_get_slot, ":market_town", "$g_encountered_party", slot_village_market_town),
- + # (party_get_slot, ":price_in_market_town", ":market_town", ":item_slot_no"),
- + # (val_max, ":price_factor", ":price_in_market_town"),
- + #(try_end),
- #For villages, the good will be sold no cheaper than in the market town
- #This represents the absence of a permanent market -- ie, the peasants retain goods to sell on their journeys to town, and are not about to do giveaway deals with passing adventurers
- -
- -
- +
- (val_mul, ":price_factor", 100), #normalize price factor to range 0..100
- (val_div, ":price_factor", average_price_factor),
- (try_end),
- @@ -3646,8 +3644,7 @@ scripts = [
- #increase trade penalty while selling weapons, armor, and horses
- (val_mul, ":trade_penalty", 4),
- (try_end),
- -
- -
- +
- (store_add, ":penalty_divisor", 100, ":trade_penalty"),
- (val_mul, ":price_factor", 100),
- @@ -3671,9 +3668,10 @@ scripts = [
- (party_get_skill_level, ":trade_skill", "p_main_party", skl_trade),
- (try_begin),
- (is_between, ":item_kind_id", trade_goods_begin, trade_goods_end),
- - (assign, ":penalty",15), #reduced slightly
- + (assign, ":penalty", 12), #reduced slightly 20-15-12
- (store_mul, ":skill_bonus", ":trade_skill", 1),
- (val_sub, ":penalty", ":skill_bonus"),
- + (val_max, ":penalty", 3),
- (else_try),
- (assign, ":penalty",100),
- (store_mul, ":skill_bonus", ":trade_skill", 5),
- @@ -3718,19 +3716,20 @@ scripts = [
- (try_begin),
- (is_between, "$g_encountered_party", villages_begin, villages_end),
- - (val_mul, ":penalty", 2),
- + (val_mul, ":penalty", 5), #1.25x trade penalty in villages.
- + (val_div, ":penalty", 4),
- (try_end),
- - (try_begin),
- - (is_between, "$g_encountered_party", centers_begin, centers_end),
- - #Double trade penalty if no local production or consumption
- - (is_between, ":item_kind_id", trade_goods_begin, trade_goods_end),
- - (call_script, "script_center_get_production", "$g_encountered_party", ":item_kind_id"),
- - (eq, reg0, 0),
- - (call_script, "script_center_get_consumption", "$g_encountered_party", ":item_kind_id"),
- - (eq, reg0, 0),
- - (val_mul, ":penalty", 2),
- - (try_end),
- + #(try_begin),
- + #(is_between, "$g_encountered_party", centers_begin, centers_end),
- + ##Double trade penalty if no local production or consumption
- + #(is_between, ":item_kind_id", trade_goods_begin, trade_goods_end),
- + #(call_script, "script_center_get_production", "$g_encountered_party", ":item_kind_id"),
- + #(eq, reg0, 0),
- + #(call_script, "script_center_get_consumption", "$g_encountered_party", ":item_kind_id"),
- + #(eq, reg0, 0),
- + #(val_mul, ":penalty", 2),
- + #(try_end),
- (val_mul, ":penalty", ":penalty_multiplier"),
- (val_div, ":penalty", 1000),
- @@ -3753,12 +3752,22 @@ scripts = [
- (party_get_slot, ":multiplier", "$g_encountered_party", ":item_slot_no"),
- (try_begin),
- (eq, ":reclaim_mode", 0),
- - (val_add, ":multiplier", 10),
- + (val_add, ":multiplier", 20),
- (else_try),
- - (val_add, ":multiplier", 15),
- + (val_add, ":multiplier", 30),
- (try_end),
- +
- + (store_item_value, ":item_value", ":item_kind_id"),
- + (try_begin),
- + (ge, ":item_value", 100),
- + (store_sub, ":item_value_sub_100", ":item_value", 100),
- + (store_div, ":item_value_sub_100_div_8", ":item_value_sub_100", 8),
- + (val_add, ":multiplier", ":item_value_sub_100_div_8"),
- + (try_end),
- +
- (val_min, ":multiplier", maximum_price_factor),
- - (party_set_slot, "$g_encountered_party", ":item_slot_no", ":multiplier"),
- +
- + (party_set_slot, "$g_encountered_party", ":item_slot_no", ":multiplier"),
- (try_end),
- ]),
- @@ -3777,12 +3786,22 @@ scripts = [
- (party_get_slot, ":multiplier", "$g_encountered_party", ":item_slot_no"),
- (try_begin),
- (eq, ":return_mode", 0),
- - (val_sub, ":multiplier", 15),
- + (val_sub, ":multiplier", 30),
- (else_try),
- - (val_sub, ":multiplier", 10),
- + (val_sub, ":multiplier", 20),
- (try_end),
- +
- + (store_item_value, ":item_value", ":item_kind_id"),
- + (try_begin),
- + (ge, ":item_value", 100),
- + (store_sub, ":item_value_sub_100", ":item_value", 100),
- + (store_div, ":item_value_sub_100_div_8", ":item_value_sub_100", 8),
- + (val_sub, ":multiplier", ":item_value_sub_100_div_8"),
- + (try_end),
- +
- (val_max, ":multiplier", minimum_price_factor),
- - (party_set_slot, "$g_encountered_party", ":item_slot_no", ":multiplier"),
- +
- + (party_set_slot, "$g_encountered_party", ":item_slot_no", ":multiplier"),
- (try_end),
- ]),
- @@ -6557,33 +6576,51 @@ scripts = [
- ("initialize_economic_information",
- [
- - #All towns produce tools, pottery, and wool cloth for sale in countryside
- + #All towns produce tools, pottery, and wool cloth for sale in countryside
- (try_for_range, ":town_no", towns_begin, towns_end),
- - (party_set_slot, ":town_no", slot_center_wool_looms, 20),
- - (party_set_slot, ":town_no", slot_center_breweries, 2),
- - (party_set_slot, ":town_no", slot_center_pottery_kilns, 10),
- - (party_set_slot, ":town_no", slot_center_smithies, 15),
- - (party_set_slot, ":town_no", slot_center_mills, 5),
- - (party_set_slot, ":town_no", slot_center_tanneries, 2),
- - (party_set_slot, ":town_no", slot_center_wine_presses, 1),
- - (party_set_slot, ":town_no", slot_center_olive_presses, 2),
- -
- - (party_set_slot, ":town_no", slot_center_acres_grain, 1000), #Surrounding fields
- - (party_set_slot, ":town_no", slot_center_acres_vineyard, 1000), #Surrounding fields
- + (store_random_in_range, ":random_average_20_variation_10", 10, 31), #10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29 or 30
- + (party_set_slot, ":town_no", slot_center_wool_looms, ":random_average_20_variation_10"),
- +
- + (store_random_in_range, ":random_average_2_variation_1", 1, 4), #1,2 or 3
- + (party_set_slot, ":town_no", slot_center_breweries, ":random_average_2_variation_1"),
- +
- + (store_random_in_range, ":random_average_10_variation_7", 3, 18), #3,4,5,6,7,8,9,10,11,12,13,14,15,16 or 17
- + (party_set_slot, ":town_no", slot_center_pottery_kilns, ":random_average_10_variation_7"),
- +
- + (store_random_in_range, ":random_average_15_variation_9", 6, 25), #6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 or 24
- + (party_set_slot, ":town_no", slot_center_smithies, ":random_average_15_variation_9"),
- +
- + (store_random_in_range, ":random_average_5_variation_3", 3, 9), #2,3,4,5,6,7 or 8
- + (party_set_slot, ":town_no", slot_center_mills, ":random_average_5_variation_3"),
- +
- + (store_random_in_range, ":random_average_2_variation_1", 1, 4), #1,2 or 3
- + (party_set_slot, ":town_no", slot_center_tanneries, ":random_average_2_variation_1"),
- +
- + (store_random_in_range, ":random_average_1_variation_1", 0, 3), #0,1 or 2
- + (party_set_slot, ":town_no", slot_center_wine_presses, ":random_average_1_variation_1"),
- +
- + (store_random_in_range, ":random_average_2_variation_1", 1, 4), #1,2 or 3
- + (party_set_slot, ":town_no", slot_center_olive_presses, ":random_average_2_variation_1"),
- + (store_random_in_range, ":random_average_1000_variation_500", 500, 1501), #1,2 or 3
- + (party_set_slot, ":town_no", slot_center_acres_grain, ":random_average_1000_variation_500"), #500..1500
- +
- + (store_random_in_range, ":random_average_1000_variation_500", 500, 1501), #1,2 or 3
- + (party_set_slot, ":town_no", slot_center_acres_vineyard, ":random_average_1000_variation_500"), #500..1500
- (try_end),
- (party_set_slot, "p_town_1", slot_center_linen_looms, 15), #Sargoth
- + (party_set_slot, "p_town_1", slot_center_wine_presses, 4), #Shariz
- (party_set_slot, "p_town_2", slot_center_salt_pans, 5), #Tihr
- (party_set_slot, "p_town_2", slot_center_fishing_fleet, 25), #Tihr
- - (party_set_slot, "p_town_3", slot_center_wine_presses, 10), #Veluca
- + (party_set_slot, "p_town_3", slot_center_wine_presses, 10), #Veluca
- (party_set_slot, "p_town_4", slot_center_olive_presses, 15), #Suno
- (party_set_slot, "p_town_5", slot_center_silk_looms, 20), #Jelkaka
- - (party_set_slot, "p_town_5", slot_center_fishing_fleet, 30), #Jelkala
- + (party_set_slot, "p_town_5", slot_center_fishing_fleet, 30), #Jelkala
- (party_set_slot, "p_town_6", slot_center_breweries, 10), #Praven
- (party_set_slot, "p_town_6", slot_center_tanneries, 4), #Praven
- @@ -6595,6 +6632,7 @@ scripts = [
- (party_set_slot, "p_town_8", slot_center_smithies, 25), #Reyvadin
- (party_set_slot, "p_town_8", slot_center_wool_looms, 35), #Reyvadin
- (party_set_slot, "p_town_8", slot_center_tanneries, 4), #Reyvadin
- + (party_set_slot, "p_town_8", slot_center_wine_presses, 4), #Reyvadin
- (party_set_slot, "p_town_9", slot_center_smithies, 18), #Khudan
- (party_set_slot, "p_town_9", slot_center_tanneries, 3), #Khudan
- @@ -6616,7 +6654,7 @@ scripts = [
- (party_set_slot, "p_town_14", slot_center_tanneries, 3), #Halmar
- (party_set_slot, "p_town_15", slot_center_smithies, 20), #Yalen
- - (party_set_slot, "p_town_15", slot_center_wine_presses, 5), #Yalen
- + (party_set_slot, "p_town_15", slot_center_wine_presses, 6), #Yalen
- (party_set_slot, "p_town_15", slot_center_olive_presses, 5), #Yalen
- (party_set_slot, "p_town_15", slot_center_fishing_fleet, 25), #Yalen
- @@ -6629,28 +6667,29 @@ scripts = [
- (party_set_slot, "p_town_18", slot_center_wine_presses, 4), #narra
- (party_set_slot, "p_town_19", slot_center_tanneries, 5), #Shariz
- - (party_set_slot, "p_town_19", slot_center_breweries, 0), #Shariz
- - (party_set_slot, "p_town_19", slot_center_wine_presses, 3), #Shariz
- + (party_set_slot, "p_town_19", slot_center_breweries, 0), #Shariz #no alcohol in arabic region
- + (party_set_slot, "p_town_19", slot_center_wine_presses, 0), #Shariz #no alcohol in arabic region
- (party_set_slot, "p_town_19", slot_center_fishing_fleet, 5), #Shariz
- (party_set_slot, "p_town_20", slot_center_tanneries, 5), #Darquba
- - (party_set_slot, "p_town_20", slot_center_breweries, 0), #Darquba
- - (party_set_slot, "p_town_20", slot_center_wine_presses, 2), #Darquba
- + (party_set_slot, "p_town_20", slot_center_breweries, 0), #Darquba #no alcohol in arabic region
- + (party_set_slot, "p_town_20", slot_center_wine_presses, 0), #Darquba #no alcohol in arabic region
- (party_set_slot, "p_town_21", slot_center_tanneries, 5), #Ahmerrad
- - (party_set_slot, "p_town_21", slot_center_breweries, 0), #Ahmerrad
- - (party_set_slot, "p_town_21", slot_center_wine_presses, 2), #Ahmerrad
- + (party_set_slot, "p_town_21", slot_center_breweries, 0), #Ahmerrad #no alcohol in arabic region
- + (party_set_slot, "p_town_21", slot_center_wine_presses, 0), #Ahmerrad #no alcohol in arabic region
- (party_set_slot, "p_town_22", slot_center_tanneries, 5), #Bariyye
- - (party_set_slot, "p_town_22", slot_center_breweries, 0), #Bariyye
- + (party_set_slot, "p_town_22", slot_center_breweries, 0), #Bariyye #no alcohol in arabic region
- + (party_set_slot, "p_town_22", slot_center_wine_presses, 0), #Bariyye #no alcohol in arabic region
- (try_for_range, ":village_no", villages_begin, villages_end),
- - (store_random_in_range, ":random_cattle", 35, 65),
- + (store_random_in_range, ":random_cattle", 30, 75),
- (party_set_slot, ":village_no", slot_center_head_cattle, ":random_cattle"),
- - (store_random_in_range, ":random_sheep", 90, 120),
- + (store_random_in_range, ":random_sheep", 60, 150),
- (party_set_slot, ":village_no", slot_center_head_sheep, ":random_sheep"),
- (party_set_slot, ":village_no", slot_center_acres_grain, 10000), #10 acres for each of 1000 households
- @@ -6853,14 +6892,12 @@ scripts = [
- (try_end),
- #Initialize prices based on production, etc
- - (try_for_range, ":unused", 0, 15), #15 cycles = 45 days. For a village with -20 production, this should lead to approximate +1000, modified
- + (try_for_range, ":unused", 0, 3), #15 cycles = 45 days. For a village with -20 production, this should lead to approximate +1000, modified
- (call_script, "script_update_trade_good_prices"), #changes prices based on production
- - (call_script, "script_update_trade_good_prices"),
- - (call_script, "script_update_trade_good_prices"),
- -
- - (call_script, "script_average_trade_good_prices"), #Conduct virtual trade twice
- - (call_script, "script_average_trade_good_prices"),
- + #(call_script, "script_update_trade_good_prices"),
- + #(call_script, "script_update_trade_good_prices"),
- + #(call_script, "script_average_trade_good_prices"), #Conduct virtual trade
- (try_end),
- #Initialize prosperity based on final prices
- @@ -9509,7 +9546,7 @@ scripts = [
- #validity check
- (player_is_admin, ":player_no"),
- (is_between, ":value", 0, 51),
- - (is_between, ":value", "$g_multiplayer_max_num_bots"),
- + (is_between, ":value", 0, "$g_multiplayer_max_num_bots"),
- #condition checks are done
- (assign, "$g_multiplayer_num_bots_voteable", ":value"),
- (get_max_players, ":num_players"),
- @@ -13122,39 +13159,78 @@ scripts = [
- # param2: item_id
- # param3: production_rate (should be between -100 (for net consumption) and 100 (for net production)
- # param4: randomness (between 0-100)
- - ("center_change_trade_good_production",
- - [
- - (store_script_param, ":center_no", 1),
- - (store_script_param, ":item_no", 2),
- - (store_script_param, ":production_rate", 3),
- -# (val_mul, ":production_rate", 5),
- - (store_script_param, ":randomness", 4),
- - (store_random_in_range, ":random_num", 0, ":randomness"),
- - (store_random_in_range, ":random_sign", 0, 2),
- - (try_begin),
- - (eq, ":random_sign", 0),
- - (val_add, ":production_rate", ":random_num"),
- - (else_try),
- - (val_sub, ":production_rate", ":random_num"),
- - (try_end),
- - (val_sub, ":item_no", trade_goods_begin),
- - (val_add, ":item_no", slot_town_trade_good_productions_begin),
- -
- - (party_get_slot, ":old_production_rate", ":center_no", ":item_no"),
- - (val_add, ":production_rate", ":old_production_rate"),
- - (party_set_slot, ":center_no", ":item_no", ":production_rate"),
- - ]),
- + #("center_change_trade_good_production",
- + # [
- +# (display_message, "@CHANGING"),
- +# (store_script_param, ":center_no", 1),
- +# (store_script_param, ":item_no", 2),
- +# (store_script_param, ":production_rate", 3),
- +# (store_script_param, ":randomness", 4),
- +# (store_random_in_range, ":random_num", 0, ":randomness"),
- +# (store_random_in_range, ":random_sign", 0, 2),
- +# (try_begin),
- +# (eq, ":random_sign", 0),
- +# (val_add, ":production_rate", ":random_num"),
- +# (else_try),
- +# (val_sub, ":production_rate", ":random_num"),
- +# (try_end),
- +# (val_sub, ":item_no", trade_goods_begin),
- +# (val_add, ":item_no", slot_town_trade_good_productions_begin),
- +#
- +# (party_get_slot, ":old_production_rate", ":center_no", ":item_no"),
- +# (val_add, ":production_rate", ":old_production_rate"),
- +# (party_set_slot, ":center_no", ":item_no", ":production_rate"),
- +# ]),
- +
- +
- +
- ("average_trade_good_prices", #Called from start
- - [
- -
- + [
- #This should be done by route rather than distance
- (store_sub, ":item_to_slot", slot_town_trade_good_prices_begin, trade_goods_begin),
- (try_for_range, ":center_no", towns_begin, towns_end),
- -
- + (this_or_next|is_between, ":center_no", towns_begin, towns_end),
- + (is_between, ":center_no", villages_begin, villages_end),
- (try_for_range, ":other_center", centers_begin, centers_end),
- + (this_or_next|is_between, ":center_no", towns_begin, towns_end),
- + (is_between, ":center_no", villages_begin, villages_end),
- +
- + (neq, ":other_center", ":center_no"),
- + (store_distance_to_party_from_party, ":cur_distance", ":center_no", ":other_center"),
- + (lt, ":cur_distance", 50), #Reduced from 110
- + (store_sub, ":dist_factor", 50, ":cur_distance"),
- +
- + (try_for_range, ":cur_good", trade_goods_begin, trade_goods_end),
- + (store_add, ":cur_good_slot", ":cur_good", ":item_to_slot"),
- + (party_get_slot, ":center_price", ":center_no", ":cur_good_slot"),
- + (party_get_slot, ":other_center_price", ":other_center", ":cur_good_slot"),
- + (store_sub, ":price_dif", ":center_price", ":other_center_price"),
- +
- + (assign, ":price_dif_change", ":price_dif"),
- +
- + (val_mul ,":price_dif_change", ":dist_factor"),
- + (val_div ,":price_dif_change", 1000), #Maximum of 1/20 per center
- + (val_add, ":other_center_price", ":price_dif_change"),
- + (party_set_slot, ":other_center", ":cur_good_slot", ":other_center_price"),
- +
- + (val_sub, ":center_price", ":price_dif_change"),
- + (party_set_slot, ":center_no", ":cur_good_slot", ":center_price"),
- + (try_end),
- + (try_end),
- + (try_end),
- + ]),
- +
- + ("average_trade_good_prices_2", #Called from start
- + [
- +
- + #This should be done by route rather than distance
- + (store_sub, ":item_to_slot", slot_town_trade_good_prices_begin, trade_goods_begin),
- +
- + (try_for_range, ":center_no", towns_begin, towns_end),
- + (try_for_range, ":other_center", centers_begin, centers_end),
- (this_or_next|is_between, ":other_center", towns_begin, towns_end),
- (is_between, ":other_center", villages_begin, villages_end),
- @@ -13208,9 +13284,8 @@ scripts = [
- # INPUT: none (called only from game start?)
- #This is currently deprecated, as I was going to try to fine-tune production
- ("average_trade_good_productions",
- - [
- + [
- (store_sub, ":item_to_slot", slot_town_trade_good_productions_begin, trade_goods_begin),
- -# (store_sub, ":item_to_price_slot", slot_town_trade_good_prices_begin, trade_goods_begin),
- (try_for_range, ":center_no", towns_begin, towns_end),
- (this_or_next|is_between, ":center_no", towns_begin, towns_end),
- (is_between, ":center_no", villages_begin, villages_end),
- @@ -13247,7 +13322,7 @@ scripts = [
- # INPUT: none
- # This currently deprecated, as I was going to try to fine-tune productions
- ("normalize_trade_good_productions",
- - [
- + [
- (store_sub, ":item_to_slot", slot_town_trade_good_productions_begin, trade_goods_begin),
- (try_for_range, ":cur_good", trade_goods_begin, trade_goods_end),
- (assign, ":total_production", 0),
- @@ -13283,9 +13358,48 @@ scripts = [
- (is_between, ":center_no", villages_begin, villages_end),
- (call_script, "script_update_trade_good_price_for_party", ":center_no"),
- (try_end),
- -# (call_script, "script_update_trade_good_price_for_party", "p_zendar"),
- -# (call_script, "script_update_trade_good_price_for_party", "p_salt_mine"),
- -# (call_script, "script_update_trade_good_price_for_party", "p_four_ways_inn"),
- +
- + (try_for_range, ":cur_good", trade_goods_begin, trade_goods_end),
- + (assign, ":total_price", 0),
- + (assign, ":total_constants", 0),
- +
- + (try_for_range, ":center_no", centers_begin, centers_end),
- + (this_or_next|is_between, ":center_no", towns_begin, towns_end),
- + (is_between, ":center_no", villages_begin, villages_end),
- +
- + (store_sub, ":cur_good_price_slot", ":cur_good", trade_goods_begin),
- + (val_add, ":cur_good_price_slot", slot_town_trade_good_prices_begin),
- + (party_get_slot, ":cur_price", ":center_no", ":cur_good_price_slot"),
- +
- + (try_begin),
- + (is_between, ":center_no", towns_begin, towns_end),
- + (assign, ":constant", 5),
- + (else_try),
- + (assign, ":constant", 1),
- + (try_end),
- +
- + (val_mul, ":cur_price", ":constant"),
- +
- + (val_add, ":total_price", ":cur_price"),
- + (val_add, ":total_constants", ":constant"),
- + (try_end),
- +
- + (try_for_range, ":center_no", centers_begin, centers_end),
- + (this_or_next|is_between, ":center_no", towns_begin, towns_end),
- + (is_between, ":center_no", villages_begin, villages_end),
- +
- + (store_sub, ":cur_good_price_slot", ":cur_good", trade_goods_begin),
- + (val_add, ":cur_good_price_slot", slot_town_trade_good_prices_begin),
- + (party_get_slot, ":cur_price", ":center_no", ":cur_good_price_slot"),
- +
- + (val_mul, ":cur_price", 1000),
- + (val_mul, ":cur_price", ":total_constants"),
- + (val_div, ":cur_price", ":total_price"),
- +
- + (val_clamp, ":cur_price", minimum_price_factor, maximum_price_factor),
- + (party_set_slot, ":center_no", ":cur_good_price_slot", ":cur_price"),
- + (try_end),
- + (try_end),
- ]),
- #script_update_trade_good_price_for_party
- @@ -13306,35 +13420,52 @@ scripts = [
- (assign, ":consumption", reg0),
- (val_sub, ":production", ":consumption"),
- - #Change averages production x 4 for excess demand
- + #Change averages production x 2(1+random(2)) (was 4, random(8)) for excess demand
- (try_begin),
- #supply is greater than demand
- (gt, ":production", 0),
- - (store_mul, ":change_factor", ":production", 8), #price will be decreased by his factor
- + (store_mul, ":change_factor", ":production", 1), #price will be decreased by his factor
- (store_random_in_range, ":random_change", 0, ":change_factor"),
- + (val_add, ":random_change", ":change_factor"),
- + (val_add, ":random_change", ":change_factor"),
- +
- + #simulation starts
- + (store_sub, ":final_price", ":cur_price", ":random_change"),
- + (val_clamp, ":final_price", minimum_price_factor, maximum_price_factor),
- (try_begin), #Excess of supply decelerates over time, as low price reduces output
- - (lt, ":cur_price", 900),
- - (val_mul, ":random_change", ":cur_price"),
- - (val_div, ":random_change", 900),
- - (try_end),
- + #if expected final price is 100 then it will multiply random_change by 0.308x ((100+300)/(1300) = 400/1300).
- + (lt, ":final_price", 1000),
- + (store_add, ":final_price_plus_300", ":final_price", 300),
- + (val_mul, ":random_change", ":final_price_plus_300"),
- + (val_div, ":random_change", 1300),
- + (try_end),
- (val_sub, ":cur_price", ":random_change"),
- (else_try),
- (lt, ":production", 0),
- (store_sub, ":change_factor", 0, ":production"), #price will be increased by his factor
- - (val_mul, ":change_factor", 8),
- + (val_mul, ":change_factor", 1),
- (store_random_in_range, ":random_change", 0, ":change_factor"),
- + (val_add, ":random_change", ":change_factor"),
- + (val_add, ":random_change", ":change_factor"),
- (val_add, ":cur_price", ":random_change"),
- (try_end),
- -
- -
- +
- #Move price towards average by 3%...
- #Equilibrium is 33 cycles, or 100 days
- #Change per cycle is Production x 4
- #Thus, max differential = -5 x 4 x 33 = -660 for -5
- - (store_sub, ":price_difference", ":cur_price", average_price_factor),
- - (val_mul, ":price_difference", 97),
- - (val_div, ":price_difference", 100),
- - (store_add, ":new_price", average_price_factor, ":price_difference"),
- + (try_begin),
- + (is_between, ":center_no", villages_begin, villages_end),
- + (store_sub, ":price_difference", ":cur_price", average_price_factor),
- + (val_mul, ":price_difference", 97),
- + (val_div, ":price_difference", 100),
- + (store_add, ":new_price", average_price_factor, ":price_difference"),
- + (else_try),
- + (store_sub, ":price_difference", ":cur_price", average_price_factor),
- + (val_mul, ":price_difference", 97),
- + (val_div, ":price_difference", 100),
- + (store_add, ":new_price", average_price_factor, ":price_difference"),
- + (try_end),
- #Price of manufactured goods drift towards primary raw material
- (try_begin),
- @@ -13342,10 +13473,23 @@ scripts = [
- (neq, ":raw_material", 0),
- (store_sub, ":raw_material_price_slot", ":raw_material", trade_goods_begin),
- (val_add, ":raw_material_price_slot", slot_town_trade_good_prices_begin),
- - (party_get_slot, ":raw_material_price", ":center_no", ":raw_material_price_slot"),
- - (gt, ":raw_material_price", ":new_price"),
- - (store_sub, ":raw_material_boost", ":raw_material_price", ":new_price"),
- - (val_div, ":raw_material_boost", 10),
- +
- + (party_get_slot, ":total_raw_material_price", ":center_no", ":raw_material_price_slot"),
- + (val_mul, ":total_raw_material_price", 3),
- + (assign, ":number_of_centers", 3),
- +
- + (try_for_range, ":village_no", villages_begin, villages_end),
- + (party_slot_eq, ":village_no", slot_village_bound_center, ":center_no"),
- + (party_get_slot, ":raw_material_price", ":village_no", ":raw_material_price_slot"),
- + (val_add, ":total_raw_material_price", ":raw_material_price"),
- + (val_add, ":number_of_centers", 1),
- + (try_end),
- +
- + (store_div, ":average_raw_material_price", ":total_raw_material_price", ":number_of_centers"),
- +
- + (gt, ":average_raw_material_price", ":new_price"),
- + (store_sub, ":raw_material_boost", ":average_raw_material_price", ":new_price"),
- + (val_div, ":raw_material_boost", 10),
- (val_add, ":new_price", ":raw_material_boost"),
- (try_end),
- @@ -13419,7 +13563,6 @@ scripts = [
- (party_get_slot, ":base_production", ":center_no", slot_center_tanneries),
- (val_mul, ":base_production", 20),
- -
- (else_try),
- (eq, ":cur_good", "itm_honey"), #Demand = 5
- (party_get_slot, ":base_production", ":center_no", slot_center_apiaries),
- @@ -13469,9 +13612,7 @@ scripts = [
- (else_try),
- (eq, ":cur_good", "itm_wine"),
- (party_get_slot, ":base_production", ":center_no", slot_center_wine_presses),
- - (val_mul, ":base_production", 30),
- -
- -
- + (val_mul, ":base_production", 30),
- (else_try),
- (eq, ":cur_good", "itm_raw_olives"),
- (party_get_slot, ":base_production", ":center_no", slot_center_acres_olives),
- @@ -13489,9 +13630,7 @@ scripts = [
- (else_try),
- (eq, ":cur_good", "itm_raw_flax"),
- (party_get_slot, ":base_production", ":center_no", slot_center_acres_flax),
- - (val_div, ":base_production", 65),
- -
- -
- + (val_div, ":base_production", 65),
- (else_try),
- (eq, ":cur_good", "itm_velvet"),
- (party_get_slot, ":base_production", ":center_no", slot_center_silk_looms),
- @@ -13504,9 +13643,7 @@ scripts = [
- (eq, ":cur_good", "itm_raw_dyes"),
- (this_or_next|eq, ":center_no", "p_town_5"),
- (eq, ":center_no", "p_town_22"),
- - (assign, ":base_production", 50),
- -
- -
- + (assign, ":base_production", 50),
- (else_try),
- (eq, ":cur_good", "itm_raw_date_fruit"),
- (party_get_slot, ":base_production", ":center_no", slot_center_acres_dates),
- @@ -13531,11 +13668,7 @@ scripts = [
- (assign, ":base_production", 30),
- (try_end),
- (try_end),
- -
- -
- -
- -
- -
- +
- #Modify production by other goods
- (assign, ":modified_production", ":base_production"),
- (try_begin),
- @@ -13573,8 +13706,7 @@ scripts = [
- (else_try),
- (eq, ":cur_good", "itm_velvet"),
- (call_script, "script_good_price_affects_good_production", ":center_no", "itm_raw_silk", ":base_production", 1),
- - (assign, ":initially_modified_production", reg0),
- -
- + (assign, ":initially_modified_production", reg0),
- (call_script, "script_good_price_affects_good_production", ":center_no", "itm_raw_dyes", ":initially_modified_production", 2),
- (assign, ":modified_production", reg0),
- (else_try),
- @@ -13587,7 +13719,6 @@ scripts = [
- (assign, ":modified_production", reg0),
- (try_end),
- -
- (assign, ":base_production_modded_by_raw_materials", ":modified_production"), #this is just logged for the report screen
- #Increase both positive and negative production by the center's prosperity
- @@ -13776,7 +13907,7 @@ scripts = [
- (call_script, "script_add_log_entry", logent_party_traded, ":party_no", ":origin", ":center_no", -1),
- - (call_script, "script_do_party_center_trade", ":party_no", ":center_no", price_adjustment), #change prices by 20%, also, sets party_last_traded to new
- + (call_script, "script_do_party_center_trade", ":party_no", ":center_no", 4), #it was first 10 then increased 20 then increased 30, now I decrease it to back 6. Because otherwise prices do not differiate much. Trade become useless in game.
- (assign, ":total_change", reg0),
- #Adding the earnings to the wealth (maximum changed price is the earning)
- @@ -13835,7 +13966,7 @@ scripts = [
- [
- (store_script_param_1, ":party"), #Party_id
- - (assign, reg(0),0),
- + (assign, reg0,0),
- (party_get_num_companion_stacks, ":num_stacks",":party"),
- (try_for_range, ":i_stack", 0, ":num_stacks"),
- (party_stack_get_troop_id, ":stack_troop", ":party", ":i_stack"),
- @@ -13848,7 +13979,7 @@ scripts = [
- (party_stack_get_num_wounded, ":num_wounded",":party",":i_stack"),
- (val_sub, ":stack_size", ":num_wounded"),
- (val_mul, ":stack_strength", ":stack_size"),
- - (val_add,reg(0), ":stack_strength"),
- + (val_add,reg0, ":stack_strength"),
- (try_end),
- ]),
- @@ -13954,21 +14085,14 @@ scripts = [
- #script_party_calculate_loot:
- # INPUT:
- # param1: Party-id
- - # Returns num looted items in reg(0)
- + # Returns num looted items in reg0
- ("party_calculate_loot",
- [
- (store_script_param_1, ":enemy_party"), #Enemy Party_id
- (call_script, "script_calculate_main_party_shares"),
- (assign, ":num_player_party_shares", reg0),
- - #(assign, ":num_ally_shares", reg1),
- - #(store_add, ":num_shares", ":num_player_party_shares", ":num_ally_shares"),
- -
- - #Calculate player loot probability
- - #(assign, ":loot_probability", 100),
- - #(val_mul, ":loot_probability", 10),
- - #(val_div, ":loot_probability", ":num_shares"),
- -
- +
- (try_for_range, ":i_loot", 0, num_party_loot_slots),
- (store_add, ":cur_loot_slot", ":i_loot", slot_party_looted_item_1),
- (party_get_slot, ":item_no", "$g_enemy_party", ":cur_loot_slot"),
- @@ -14022,10 +14146,6 @@ scripts = [
- (assign, ":cur_probability", 100),
- (val_mul, ":cur_probability", average_price_factor),
- (val_div, ":cur_probability", ":cur_price"),
- - (val_mul, ":cur_probability", average_price_factor),
- - (val_div, ":cur_probability", ":cur_price"),
- - (val_mul, ":cur_probability", average_price_factor),
- - (val_div, ":cur_probability", ":cur_price"),
- (assign, reg0, ":cur_probability"),
- (set_item_probability_in_merchandise, ":cur_goods", ":cur_probability"),
- (try_end),
- @@ -14529,7 +14649,6 @@ scripts = [
- (party_prisoner_stack_get_troop_id, ":stack_troop", ":party_no", ":stack_no"),
- (troop_is_hero, ":stack_troop"),
- (party_add_members, ":collection_party", ":stack_troop", 1),
- -
- (try_end),
- (try_end),
- (party_get_num_attached_parties, ":num_attached_parties", ":party_no"),
- @@ -15749,10 +15868,10 @@ scripts = [
- (assign, reg0, 0),
- (try_for_range, ":i_stack", 0, ":num_stacks"),
- (party_stack_get_troop_id, ":stack_troop",":party",":i_stack"),
- + (neq, ":stack_troop", "trp_player"),
- (assign, ":num_fit",0),
- (try_begin),
- (troop_is_hero, ":stack_troop"),
- - (neq, ":stack_troop", "trp_player"),
- (store_troop_health, ":troop_hp", ":stack_troop"),
- (try_begin),
- (ge, ":troop_hp", 80),
- @@ -16154,21 +16273,37 @@ scripts = [
- (val_add, ":no_centers", 1),
- #(party_slot_eq, ":cur_center", slot_town_lord, ":troop_no"),
- - (eq, ":home_center", ":cur_center"), #I changed it with above line, now if slot_town_lord is a village its home center is bordered walled center. Better this way. ozan-18.01.09
- + (eq, ":home_center", ":cur_center"), #I changed it with above line, now if lord is owner of any village its bound walled center is counted as 1000. Better this way. ozan-18.01.09
- (val_add, ":no_centers", 1000),
- (try_end),
- - (gt, ":no_centers", 0), #Fail if there are no centers
- +
- + #if no center is available count all centers not besieged do not care its faction.
- + (try_begin),
- + (le, ":no_centers", 0),
- +
- + (assign, "$g_there_is_no_avaliable_centers", 1),
- +
- + (try_for_range,":cur_center", walled_centers_begin, walled_centers_end),
- + (party_slot_eq, ":cur_center", slot_center_is_besieged_by, -1),
- + (val_add, ":no_centers", 1),
- + (try_end),
- + (else_try),
- + (assign, "$g_there_is_no_avaliable_centers", 0),
- + (try_end),
- +
- (store_random_in_range, ":random_center", 0, ":no_centers"),
- (try_for_range,":cur_center", walled_centers_begin, walled_centers_end),
- (eq, ":result", -1),
- (store_faction_of_party, ":cur_faction", ":cur_center"),
- + (this_or_next|eq, "$g_there_is_no_avaliable_centers", 1),
- (eq, ":cur_faction", ":faction_no"),
- (party_slot_eq, ":cur_center", slot_center_is_besieged_by, -1),
- (val_sub, ":random_center", 1),
- (try_begin),
- #(party_slot_eq, ":cur_center", slot_town_lord, ":troop_no"),
- - (eq, ":home_center", ":cur_center"), #I changed it with above line, now if slot_town_lord is a village its home center is bordered walled center. Better this way. ozan-18.01.09
- + (eq, ":home_center", ":cur_center"), #I changed it with above line, now if lord is owner of any village its bound walled center is counted as 1000. Better this way. ozan-18.01.09
- + (eq, "$g_there_is_no_avaliable_centers", 0),
- (val_sub, ":random_center", 1000),
- (try_end),
- @@ -16694,9 +16829,6 @@ scripts = [
- (store_random_in_range, ":quest_no", ":quests_begin_2", ":quests_end_2"),
- (try_end),
- -#TODO: Remove this when test is done
- -# (assign, ":quest_no", "qst_meet_spy_in_enemy_town"),
- -#TODO: Remove this when test is done end
- (neg|check_quest_active,":quest_no"),
- (neg|quest_slot_ge, ":quest_no", slot_quest_dont_give_again_remaining_days, 1),
- (try_begin),
- @@ -17928,11 +18060,10 @@ scripts = [
- (try_end),
- (eq, ":giver_troop", ":junior_debauched_lord_in_faction"),
- - (assign, ":faction_to_attack", 0),
- - (assign, ":faction_to_attack_score", 0),
- + (assign, ":faction_to_attack", -1),
- + (assign, ":faction_to_attack_score", -1),
- (try_for_range, ":faction_candidate", kingdoms_begin, kingdoms_end),
- - (neq, ":faction_to_attack", -1),
- (neq, ":faction_candidate", ":giver_troop_faction"),
- (faction_slot_eq, ":faction_candidate", slot_faction_state, sfs_active),
- (neq, ":faction_candidate", "$players_kingdom"),
- @@ -17940,20 +18071,14 @@ scripts = [
- (store_relation, ":relation", ":faction_candidate", ":giver_troop_faction"),
- (store_add, ":provocation_slot", ":giver_troop_faction", slot_faction_provocation_days_with_factions_begin),
- - (val_sub, ":provocation_slot", kingdoms_begin),
- + (val_sub, ":provocation_slot", kingdoms_begin),
- (faction_get_slot, ":provocation_days", ":faction_candidate", ":provocation_slot"),
- - (try_begin),
- - (lt, ":relation", 0),
- - (assign, ":faction_to_attack", -1), #disqualifies if thefaction is already at war
- - (else_try),
- - (ge, ":provocation_days", 1),
- - (assign, ":faction_to_attack", -1), #disqualifies if the faction has already provoked someone
- - (else_try),
- - (ge, ":relation", 0),
- - (assign, ":faction_to_attack_temp_score", 2),
- - #add in scores - no truce?
- -
- + (ge, ":relation", 0), #disqualifies if the faction is already at war
- + (le, ":provocation_days", 0), #disqualifies if the faction has already provoked someone
- +
- + (store_random_in_range, ":faction_candidate_score", 0, 100),
- + #add in scores - no truce?
- # (store_add, ":truce_slot", ":giver_troop_faction", slot_faction_truce_days_with_factions_begin),
- # (store_add, ":provocation_slot", ":giver_troop_faction", slot_faction_provocation_days_with_factions_begin),
- # (val_sub, ":truce_slot", kingdoms_begin),
- @@ -17964,11 +18089,9 @@ scripts = [
- # (val_sub, ":faction_to_attack_temp_score", 1),
- # (try_end),
- - (gt, ":faction_to_attack_temp_score", ":faction_to_attack_score"),
- -
- - (assign, ":faction_to_attack", ":faction_candidate"),
- - (assign, ":faction_to_attack_temp_score", ":faction_to_attack_score"),
- - (try_end),
- + (gt, ":faction_candidate_score", ":faction_to_attack_score"),
- + (assign, ":faction_to_attack", ":faction_candidate"),
- + (assign, ":faction_to_attack_score", ":faction_candidate_score"),
- (try_end),
- (is_between, ":faction_to_attack", kingdoms_begin, kingdoms_end),
- @@ -19675,6 +19798,16 @@ scripts = [
- (store_troop_faction, ":lord_troop_faction", ":lord_troop_id"),
- (try_end),
- (faction_get_slot, ":faction_leader", ":lord_troop_faction", slot_faction_leader),
- +
- + (try_begin),
- + (eq, ":faction_leader", "trp_player"),
- +
- + (try_begin),
- + (troop_get_type, ":is_female", "trp_player"),
- + (eq, ":is_female", 1),
- + (unlock_achievement, ACHIEVEMENT_QUEEN),
- + (try_end),
- + (try_end),
- (try_begin),
- (eq, ":faction_leader", ":old_lord_troop_id"),
- @@ -20589,7 +20722,12 @@ scripts = [
- (store_troop_faction, ":troop_faction_no", ":troop_no"),
- (assign, "$pout_party", -1),
- - (set_spawn_radius, 0),
- + (try_begin),
- + (eq, "$g_there_is_no_avaliable_centers", 0),
- + (set_spawn_radius, 0),
- + (else_try),
- + (set_spawn_radius, 15),
- + (try_end),
- (spawn_around_party, ":center_no", "pt_kingdom_hero_party"),
- (assign, "$pout_party", reg0),
- @@ -20912,12 +21050,17 @@ scripts = [
- (store_script_param_1, ":village_no"),
- (party_get_slot, ":merchant_troop", ":village_no", slot_town_elder),
- (reset_item_probabilities,0),
- - (store_sub, ":item_to_price_slot", slot_town_trade_good_prices_begin, trade_goods_begin),
- +
- + (assign, ":total_probability", 0),
- (try_for_range, ":cur_goods", trade_goods_begin, trade_goods_end),
- +
- (call_script, "script_center_get_production", ":village_no", ":cur_goods"),
- (assign, ":cur_probability", reg0),
- (call_script, "script_center_get_consumption", ":village_no", ":cur_goods"),
- + (val_div, reg0, 3),
- (val_add, ":cur_probability", reg0),
- +
- + (val_max, ":cur_probability", 1),
- (try_begin),
- (this_or_next|eq, ":cur_goods", "itm_chicken"),
- @@ -20925,30 +21068,33 @@ scripts = [
- (assign, ":cur_probability", 5),
- (try_end),
- - (val_mul, ":cur_probability", 3),
- -
- - (store_add, ":cur_price_slot", ":cur_goods", ":item_to_price_slot"),
- - (party_get_slot, ":cur_price", ":village_no", ":cur_price_slot"),
- - (val_mul, ":cur_probability", average_price_factor),
- - (val_div, ":cur_probability", ":cur_price"),
- - (val_mul, ":cur_probability", average_price_factor),
- - (val_div, ":cur_probability", ":cur_price"),
- - (val_mul, ":cur_probability", average_price_factor),
- - (val_div, ":cur_probability", ":cur_price"),
- -# (val_mul, ":cur_probability", average_price_factor),
- -# (val_div, ":cur_probability", ":cur_price"),
- - (set_item_probability_in_merchandise, ":cur_goods", ":cur_probability"),
- + (val_add, ":total_probability", ":cur_probability"),
- (try_end),
- -# (set_item_probability_in_merchandise, "itm_spice", 0),
- -# (set_item_probability_in_merchandise, "itm_velvet", 0),
- -
- +
- (try_begin),
- (party_get_slot, ":prosperity", ":village_no", slot_town_prosperity),
- - (val_div, ":prosperity", 17), #up to 5
- - (store_add, ":number_of_goods", ":prosperity", 1),
- + (val_div, ":prosperity", 15), #up to 6
- + (store_add, ":number_of_items_in_village", ":prosperity", 1),
- (try_end),
- - (troop_add_merchandise, ":merchant_troop", itp_type_goods, ":number_of_goods"),
- + (try_for_range, ":cur_goods", trade_goods_begin, trade_goods_end),
- + (call_script, "script_center_get_production", ":village_no", ":cur_goods"),
- + (assign, ":cur_probability", reg0),
- + (call_script, "script_center_get_consumption", ":village_no", ":cur_goods"),
- + (val_div, reg0, 3),
- + (val_add, ":cur_probability", reg0),
- +
- + (val_max, ":cur_probability", 1),
- +
- + (val_mul, ":cur_probability", ":number_of_items_in_village"),
- + (val_mul, ":cur_probability", 100),
- + (val_div, ":cur_probability", ":total_probability"),
- +
- + (set_item_probability_in_merchandise, ":cur_goods", ":cur_probability"),
- + (try_end),
- +
- + (troop_clear_inventory, ":merchant_troop"),
- + (troop_add_merchandise, ":merchant_troop", itp_type_goods, ":number_of_items_in_village"),
- (troop_ensure_inventory_space, ":merchant_troop", 80),
- #Adding 1 prosperity to the village while reducing each 3000 gold from the elder
- @@ -21045,6 +21191,26 @@ scripts = [
- ("process_village_raids",
- [
- (try_for_range, ":village_no", villages_begin, villages_end),
- + ##CABA Fix
- + (try_begin),
- + (this_or_next|is_between, ":village_no", "p_village_16", "p_village_23"), #Shapeshte through Shulus (up to Ilvia)
- + (this_or_next|is_between, ":village_no", "p_village_49", "p_village_51"), #Tismirr and Karindi
- + (this_or_next|eq, ":village_no", "p_village_75"), #Bhulaban
- + (is_between, ":village_no", "p_village_85", "p_village_87"), #Ismirala and Slezkh
- + (assign, ":normal_village_icon", "icon_village_snow_a"),
- + (assign, ":burnt_village_icon", "icon_village_snow_burnt_a"),
- + (assign, ":deserted_village_icon", "icon_village_snow_deserted_a"),
- + (else_try),
- + (is_between, ":village_no", "p_village_91", "p_salt_mine"), #Ayn Assuadi through Rushdigh
- + (assign, ":normal_village_icon", "icon_village_c"),
- + (assign, ":burnt_village_icon", "icon_village_burnt_c"),
- + (assign, ":deserted_village_icon", "icon_village_deserted_c"),
- + (else_try),
- + (assign, ":normal_village_icon", "icon_village_a"),
- + (assign, ":burnt_village_icon", "icon_village_burnt_a"),
- + (assign, ":deserted_village_icon", "icon_village_deserted_a"),
- + (try_end),
- + ##CABA Fix
- (party_get_slot, ":village_raid_progress", ":village_no", slot_village_raid_progress),
- (try_begin),
- (party_slot_eq, ":village_no", slot_village_state, 0), #village is normal
- @@ -21056,8 +21222,8 @@ scripts = [
- (try_begin),
- (party_get_icon, ":village_icon", ":village_no"),
- - (neq, ":village_icon", "icon_village_a"),
- - (party_set_icon, ":village_no", "icon_village_a"),
- + (neq, ":village_icon", ":normal_village_icon"), ##CABA FIX
- + (party_set_icon, ":village_no", ":normal_village_icon"), ##CABA FIX
- (try_end),
- (party_slot_ge, ":village_no", slot_village_smoke_added, 1),
- @@ -21104,7 +21270,7 @@ scripts = [
- (party_slot_eq, ":village_no", slot_village_smoke_added, 0),
- (party_add_particle_system, ":village_no", "psys_map_village_fire"),
- (party_add_particle_system, ":village_no", "psys_map_village_fire_smoke"),
- - (party_set_icon, ":village_no", "icon_village_burnt_a"),
- + (party_set_icon, ":village_no", ":burnt_village_icon"), ##CABA FIX
- (party_set_slot, ":village_no", slot_village_smoke_added, 1),
- (try_end),
- (try_begin),
- @@ -21172,7 +21338,7 @@ scripts = [
- (party_slot_eq, ":village_no", slot_village_smoke_added, 2),
- (party_clear_particle_systems, ":village_no"),
- (party_set_slot, ":village_no", slot_village_smoke_added, 3),
- - (party_set_icon, ":village_no", "icon_village_deserted_a"),
- + (party_set_icon, ":village_no", ":deserted_village_icon"), ##CABA FIX
- (try_end),
- (try_begin),
- (gt, ":recover_progress", 100),
- @@ -21180,7 +21346,7 @@ scripts = [
- (party_set_slot, ":village_no", slot_village_recover_progress, 0),
- (party_clear_particle_systems, ":village_no"),
- (party_set_slot, ":village_no", slot_village_smoke_added, 0),
- - (party_set_icon, ":village_no", "icon_village_a"),
- + (party_set_icon, ":village_no", ":normal_village_icon"), ##CABA FIX
- (try_end),
- (try_end),
- (try_end),
- @@ -22634,7 +22800,7 @@ scripts = [
- (eq, ":faction_marshal", "trp_player"),
- (neq, "$players_kingdom", ":faction_no"),
- - (faction_set_slot, ":faction_no", slot_faction_political_issue, 1), #Appointment of marshal
- + (faction_set_slot, ":faction_no", slot_faction_political_issue, 1), #Appointment of marshal
- (store_current_hours, ":hours"),
- (val_max, ":hours", 0),
- (faction_set_slot, ":faction_no", slot_faction_political_issue_time, ":hours"), #Appointment of marshal
- @@ -22769,7 +22935,7 @@ scripts = [
- #Resolve faction political issue
- (assign, ":winning_candidate", -1),
- (try_begin),
- - (call_script, "script_troop_get_relation_with_troop", ":faction_leader", ":popular_favorite"),
- + (call_script, "script_troop_get_relation_with_troop", ":faction_leader", ":popular_favorite"),
- (this_or_next|ge, reg0, 10),
- (this_or_next|troop_slot_eq, ":faction_leader", slot_troop_stance_on_faction_issue, ":popular_favorite"),
- @@ -22830,7 +22996,7 @@ scripts = [
- (troop_set_slot, ":active_npc", slot_troop_stance_on_faction_issue, -1),
- (try_end),
- (try_begin),
- - (eq, "$players_kingdom", ":faction_no"),
- + (eq, "$players_kingdom", ":faction_no"),
- (troop_set_slot, "trp_player", slot_troop_stance_on_faction_issue, -1),
- (try_end),
- @@ -22893,8 +23059,8 @@ scripts = [
- (try_begin),
- (faction_get_slot, ":faction_issue", ":faction_no", slot_faction_political_issue),
- (le, ":faction_issue", 0),
- -
- - (assign, ":landless_lords", 0),
- +
- + (assign, ":landless_lords", 0),
- (assign, ":unassigned_centers", 0),
- (assign, ":first_unassigned_center_found", 0),
- @@ -22957,7 +23123,7 @@ scripts = [
- (try_end),
- #DO FACTION AI HERE
- - (try_begin),
- + (try_begin),
- (eq, ":faction_no", "$players_kingdom"),
- (eq, ":faction_marshal", "trp_player"),
- (assign, ":faction_ai_decider", "trp_player"),
- @@ -22977,6 +23143,7 @@ scripts = [
- (neq, ":new_strategy", ":old_faction_ai_state"),
- (eq, ":new_strategy", sfai_gathering_army),
- (faction_get_slot, ":faction_marshal", ":faction_no", slot_faction_marshall),
- + (ge, ":faction_marshal", 0),
- (troop_get_slot, ":marshal_party", ":faction_marshal", slot_troop_leaded_party),
- (party_set_slot, ":marshal_party", slot_party_ai_object, -1),
- (assign, "$g_gathering_new_started", 1),
- @@ -22992,11 +23159,17 @@ scripts = [
- (eq, ":new_strategy", ":old_faction_ai_state"),
- (eq, ":new_strategy", sfai_gathering_army),
- (faction_get_slot, ":faction_marshal", ":faction_no", slot_faction_marshall),
- + (ge, ":faction_marshal", 0),
- (troop_get_slot, ":marshal_party", ":faction_marshal", slot_troop_leaded_party),
- (party_get_slot, ":party_ai_object", ":marshal_party", slot_party_ai_object),
- +
- (ge, ":party_ai_object", 0),
- + (ge, ":marshal_party", 0),
- + (party_is_active, ":marshal_party"),
- + (party_is_active, ":party_ai_object"),
- (store_distance_to_party_from_party, ":dist", ":marshal_party", ":party_ai_object"),
- (le, ":dist", 5),
- +
- (party_set_slot, ":marshal_party", slot_party_ai_object, -1),
- (try_end),
- #end ozan
- @@ -23281,6 +23454,7 @@ scripts = [
- (val_max, ":renown_change", 0),
- (eq, ":troop_no", "trp_player"),
- +
- (assign, reg5, ":renown_change"),
- (eq, "$cheat_mode", 1),
- @@ -23293,6 +23467,17 @@ scripts = [
- (try_begin),
- (eq, ":troop_no", "trp_player"),
- +
- + (try_begin),
- + (ge, ":new_renown", 50),
- +
- + (try_begin),
- + (troop_get_type, ":is_female", "trp_player"),
- + (eq, ":is_female", 1),
- + (unlock_achievement, ACHIEVEMENT_TALK_OF_THE_TOWN),
- + (try_end),
- + (try_end),
- +
- (str_store_troop_name, s1, ":troop_no"),
- (assign, reg12, ":renown_change"),
- (val_abs, reg12),
- @@ -24634,7 +24819,7 @@ scripts = [
- (val_mul, ":quest_importance", ":importance_multiplier"),
- (val_div, ":quest_importance", 100),
- (else_try),
- - (val_div, ":quest_importance", 4),
- + (val_mul, ":quest_importance", 4), #was div 4. Relation was increasing very less. I changed it to mul 4.
- (val_add, ":quest_importance", 1),
- (call_script, "script_change_player_relation_with_troop", ":quest_giver", ":quest_importance"),
- (try_end),
- @@ -25413,11 +25598,11 @@ scripts = [
- (else_try),
- (ge, ":agent_hit_points", 25),
- (assign, ":agent_delta_courage_score", 1),
- - (end_try),
- + (try_end),
- (try_begin), # to make our warrior run away easier we decrease one, because they have player_agent (+6) advantage.
- (agent_is_ally, ":agent_no"),
- (val_sub, ":agent_delta_courage_score", 1),
- - (end_try),
- + (try_end),
- (else_try),
- (assign, ":agent_delta_courage_score", 2),
- (end_try),
- @@ -25454,13 +25639,13 @@ scripts = [
- (val_mul, ":agent_delta_courage_score", 50),
- (val_add, ":agent_courage_score", ":agent_delta_courage_score"),
- (agent_set_slot, ":centered_agent_no", slot_agent_courage_score, ":agent_courage_score"),
- - (try_begin),
- + (else_try),
- (lt, ":dist", 4000), #21-40 meter
- (agent_get_slot, ":agent_courage_score", ":centered_agent_no", slot_agent_courage_score),
- (val_mul, ":agent_delta_courage_score", 40),
- (val_add, ":agent_courage_score", ":agent_delta_courage_score"),
- (agent_set_slot, ":centered_agent_no", slot_agent_courage_score, ":agent_courage_score"),
- - (try_begin),
- + (else_try),
- (lt, ":dist", 7000), #41-70 meter
- (agent_get_slot, ":agent_courage_score", ":centered_agent_no", slot_agent_courage_score),
- (val_mul, ":agent_delta_courage_score", 30),
- @@ -25641,7 +25826,6 @@ scripts = [
- (agent_get_slot, ":agent_courage_score", ":agent_no", slot_agent_courage_score),
- (val_mul, ":agent_delta_courage_score", 90),
- (val_add, ":agent_courage_score", ":agent_delta_courage_score"),
- -
- (agent_set_slot, ":agent_no", slot_agent_courage_score, ":agent_courage_score"),
- (else_try),
- (lt, ":dist", 600), #5-6 meters
- @@ -29568,7 +29752,6 @@ scripts = [
- (else_try),
- (eq, ":agent_division", 7),
- (val_add, ":num_us_ready_group7", 1),
- -
- (eq, "$group7_has_troops", 1), #added to solve problem.
- (else_try),
- (eq, ":agent_division", 8),
- @@ -30106,11 +30289,17 @@ scripts = [
- # INPUT: arg1 = party_no, arg2 = center_no, arg3 = percentage_change_in_center
- # OUTPUT: reg0 = total_change
- ("do_party_center_trade",
- - [
- + [
- (store_script_param, ":party_no", 1),
- (store_script_param, ":center_no", 2),
- - (store_script_param, ":percentage_change", 3), #this should probably always be a constant. Currently it is 25
- - (assign, ":percentage_change", 30),
- +
- + (try_begin),
- + (eq, "$cheat_mode", 3),
- + (str_store_party_name, s1, ":center_no"),
- + (display_message, "@{!}DEBUG : {s1} is trading with villagers"),
- + (try_end),
- +
- + (store_script_param, ":percentage_change", 3), #this should probably always be a constant. Currently it is 25
- (party_get_slot, ":origin", ":party_no", slot_party_last_traded_center),
- (party_set_slot, ":party_no", slot_party_last_traded_center, ":center_no"),
- @@ -30134,20 +30323,22 @@ scripts = [
- (val_mul, ":cur_change", -1),
- (try_end),
- - #The new price for the caravan or peasant is set before the change, so the prices in the trading town have full effect on the next center
- - (party_set_slot, ":party_no", ":cur_good_price_slot", ":cur_center_price"),
- + (assign, ":initial_price", ":cur_center_price"),
- +
- + #The new price for the caravan or peasant is set before the change, so the prices in the trading town have full effect on the next center
- + (party_set_slot, ":party_no", ":cur_good_price_slot", ":cur_center_price"),
- - (val_add, ":cur_center_price", ":cur_change"),
- - (party_set_slot, ":center_no", ":cur_good_price_slot", ":cur_center_price"),
- + (val_add, ":cur_center_price", ":cur_change"),
- + (party_set_slot, ":center_no", ":cur_good_price_slot", ":cur_center_price"),
- (try_begin),
- (eq, "$cheat_mode", 3),
- (str_store_party_name, s3, ":origin"),
- (str_store_party_name, s4, ":center_no"),
- (str_store_item_name, s5, ":cur_good"),
- - (assign, reg4, ":cur_change"),
- + (assign, reg4, ":initial_price"),
- (assign, reg5, ":cur_center_price"),
- - (display_message, "@{!}DEBUG -- Trade of {s5} from {s3} to {s4} brings price from {reg4} to {reg5}"),
- + (display_log_message, "@{!}DEBUG -- Trade of {s5} from {s3} to {s4} brings price from {reg4} to {reg5}"),
- (try_end),
- (try_end),
- @@ -30779,12 +30970,12 @@ scripts = [
- (assign, ":volunteer_troop", ":upgrade_troop_no"),
- (try_end),
- - (assign, ":upper_limit", 7),
- + (assign, ":upper_limit", 8),
- (try_begin),
- - (ge, ":player_relation", 5),
- + (ge, ":player_relation", 4),
- (assign, ":upper_limit", ":player_relation"),
- (val_div, ":upper_limit", 2),
- - (val_add, ":upper_limit", 10),
- + (val_add, ":upper_limit", 6),
- (else_try),
- (lt, ":player_relation", 0),
- (assign, ":upper_limit", 0),
- @@ -30937,6 +31128,17 @@ scripts = [
- (else_try),
- (party_set_slot, ":village_no", slot_village_infested_by_bandits, 0),
- (store_random_in_range, ":random_no", 0, 100),
- + (assign, ":continue", 1),
- + (try_begin),
- + (check_quest_active, "qst_collect_taxes"),
- + (quest_slot_eq, "qst_collect_taxes", slot_quest_target_center, ":village_no"),
- + (assign, ":continue", 0),
- + (else_try),
- + (check_quest_active, "qst_train_peasants_against_bandits"),
- + (quest_slot_eq, "qst_train_peasants_against_bandits", slot_quest_target_center, ":village_no"),
- + (assign, ":continue", 0),
- + (try_end),
- + (eq, ":continue", 1),
- (lt, ":random_no", 3),
- (store_random_in_range, ":random_no", 0, 3),
- (try_begin),
- @@ -32959,8 +33161,6 @@ scripts = [
- (store_script_param, ":impact_divisor", 4),
- (assign, reg4, ":production"),
- -
- -
- (try_begin),
- (gt, ":production", 0), #let's take -20 as the zero production rate, although in actuality production can go lower, representing increased demand
- @@ -32968,9 +33168,22 @@ scripts = [
- (store_sub, ":input_good_price_slot", ":input_item_no", trade_goods_begin),
- (val_add, ":input_good_price_slot", slot_town_trade_good_prices_begin),
- (party_get_slot, ":input_price", ":center", ":input_good_price_slot"),
- -
- -
- + (try_begin),
- + (is_between, ":center", towns_begin, towns_end),
- +
- + (val_mul, ":input_price", 4),
- + (assign, ":number_of_villages", 4),
- + (try_for_range, ":village_no", villages_begin, villages_end),
- + (party_slot_eq, ":village_no", slot_village_bound_center, ":center"),
- + (party_get_slot, ":input_price_at_village", ":village_no", ":input_good_price_slot"),
- + (val_add, ":input_price", ":input_price_at_village"),
- + (val_add, ":number_of_villages", 1),
- + (try_end),
- +
- + (val_div, ":input_price", ":number_of_villages"),
- + (try_end),
- +
- (try_begin), #1/2 impact for low prices
- (lt, ":input_price", 1000),
- (val_mul, ":impact_divisor", 2),
- @@ -32983,19 +33196,16 @@ scripts = [
- (val_add, ":input_price", 1000),
- (try_end),
- -
- (val_mul, ":production", 1000),
- (val_div, ":production", ":input_price"),
- -# (assign, reg5, ":production"),
- -# (str_store_item_name, s4, ":input_item_no"),
- -# (display_message, "@{s4} price of {reg3} reduces production from {reg4} to {reg5}"),
- -
- + #(assign, reg5, ":production"),
- + #(assign, reg3, ":input_price"),
- + #(str_store_item_name, s4, ":input_item_no"),
- + #(display_message, "@{s4} price of {reg3} reduces production from {reg4} to {reg5}"),
- (try_end),
- -
- -
- - (assign, reg0, ":production"),
- -
- +
- + (assign, reg0, ":production"),
- ]),
- @@ -33403,7 +33613,6 @@ scripts = [
- (this_or_next|troop_slot_eq, ":npc", slot_troop_2ary_morality_state, tms_dismissed),
- (eq, "$disable_npc_complaints", 1),
- # npc is quietly disappointed
- -
- (troop_get_slot, ":grievance", ":npc", slot_troop_morality_penalties),
- (val_add, ":grievance", ":value"),
- (troop_set_slot, ":npc", slot_troop_morality_penalties, ":grievance"),
- @@ -33587,7 +33796,6 @@ scripts = [
- (else_try),
- (lt, ":morality_grievances", 15),
- (str_store_string, 7, "str_content"),
- -
- (else_try),
- (lt, ":morality_grievances", 30),
- (str_store_string, 7, "str_concerned"),
- @@ -42613,9 +42821,10 @@ scripts = [
- (try_end),
- (try_begin),
- - #if currently our target is attacking to an enemy center and that center is besieged/raided by one of our parties then
- - #divide marshal_distance for other center's to "2" instead of "3" and add some small more distance to avoid easily
- - #changing mind during siege because of small score differences.
- + #if currently main aim of our faction is attacking to an enemy center and that center is already besieged/raided by one of
- + #our parties then divide marshal_dist_to_potential_target_div_x score for current center to "3/2" instead of "3" and this
- + #result in decrease at distance_score, and also decrease some scores from power_ratio_score in order to avoid frequently
- + #changes at main aimed target city of our faction during sieges.
- (faction_get_slot, ":current_ai_state", ":faction_no", slot_faction_ai_state),
- (eq, ":current_ai_state", sfai_attacking_center),
- @@ -42646,8 +42855,8 @@ scripts = [
- (eq, ":all_vassals_included", 0),
- - (store_div, ":marshal_dist_to_potential_target_div_x", ":marshal_dist_to_potential_target", 2),
- - (assign, ":marshal_dist_to_potential_target_div_x", ":marshal_dist_to_potential_target"),
- + (store_mul, ":marshal_dist_to_potential_target_div_x", ":marshal_dist_to_potential_target", 2),
- + (val_div, ":marshal_dist_to_potential_target_div_x", 3),
- (else_try),
- (store_div, ":marshal_dist_to_potential_target_div_x", ":marshal_dist_to_potential_target", 3),
- (try_end),
- @@ -44262,7 +44471,7 @@ scripts = [
- (val_sub, ":num_of_servings_to_serve", 1),
- (item_set_slot, ":item", slot_item_is_checked, 1),
- (try_end),
- - (try_begin),
- + (try_end),
- (try_end),
- ]),
- @@ -44611,8 +44820,7 @@ scripts = [
- (str_store_party_name, s4, ":center_no"),
- (assign, ":hardship_index", 0),
- - (try_for_range, ":cur_good", trade_goods_begin, trade_goods_end),
- -
- + (try_for_range, ":cur_good", trade_goods_begin, trade_goods_end),
- #Must have consumption of at least 4 to be relevant
- #This prevents perishables and raw materials from having a major impact
- (try_begin),
- @@ -44622,8 +44830,7 @@ scripts = [
- (item_get_slot, ":consumer_consumption", ":cur_good", slot_item_urban_demand),
- (try_end),
- (gt, ":consumer_consumption", 2),
- -
- -
- +
- (store_div, ":max_impact", ":consumer_consumption", 3), #was 4
- #High-demand items like grain tend to have much more dramatic price differentiation, so they yield substantially higher results than low-demand items
- @@ -44643,10 +44850,10 @@ scripts = [
- (assign, reg0, ":hardship_index"),
- - #(try_begin),
- - #(eq, "$cheat_mode", 1),
- - #(display_message, "@{!}DEBUG -- hardship index for {s4} = {reg0}"),
- - #(try_end),
- + (try_begin),
- + (eq, "$cheat_mode", 1),
- + (display_message, "@{!}DEBUG -- hardship index for {s4} = {reg0}"),
- + (try_end),
- ]),
- ("lord_find_alternative_faction", #Also, make it so that lords will try to keep at least one center unassigned
- @@ -44656,40 +44863,81 @@ scripts = [
- (assign, ":new_faction", -1),
- (assign, ":score_to_beat", -5),
- -
- - #Factions with an available center
- - (try_for_range, ":center_no", centers_begin, centers_end),
- - (this_or_next|party_slot_eq, ":center_no", slot_town_lord, stl_unassigned),
- - (party_slot_eq, ":center_no", slot_town_lord, stl_rejected_by_player),
- - (store_faction_of_party, ":center_faction", ":center_no"),
- - (neq, ":center_faction", ":orig_faction"),
- - (faction_get_slot, ":liege", ":center_faction", slot_faction_leader),
- - (this_or_next|neq, ":liege", "trp_player"),
- - (ge, "$player_right_to_rule", 25),
- - (call_script, "script_troop_get_relation_with_troop", ":troop_no", ":liege"),
- - (assign, ":liege_relation", reg0),
- - (gt, ":liege_relation", ":score_to_beat"),
- - (assign, ":new_faction", ":center_faction"),
- - (assign, ":score_to_beat", ":liege_relation"),
- - (try_end),
- -
- - #Factions without an available center
- +
- (try_begin),
- - (eq, ":new_faction", -1),
- - (assign, ":score_to_beat", 0),
- -
- - (try_for_range, ":kingdom", kingdoms_begin, kingdoms_end),
- - (faction_slot_eq, ":kingdom", slot_faction_state, sfs_active),
- - (faction_get_slot, ":liege", ":kingdom", slot_faction_leader),
- - (call_script, "script_troop_get_relation_with_troop", ":troop_no", ":liege"),
- - (assign, ":liege_relation", reg0),
- - (gt, ":liege_relation", ":score_to_beat"),
- -
- - (assign, ":new_faction", ":kingdom"),
- - (assign, ":score_to_beat", ":liege_relation"),
- - (try_end),
- + (store_random_in_range, ":advantegous_faction_change_time", 0, 10000),
- +
- + (this_or_next|le, "$g_advantegous_faction", 0),
- + (eq, ":advantegous_faction_change_time", 0),
- + (store_random_in_range, "$g_advantegous_faction", kingdoms_begin, kingdoms_end),
- +
- + #(str_store_faction_name, s7, "$g_advantegous_faction"),
- + #(display_message, "@OZANDEBUG : new advantegous faction is {s7}"),
- (try_end),
- -
- +
- + (try_for_range, ":faction_no", kingdoms_begin, kingdoms_end),
- + (this_or_next|eq, "$g_give_advantage_to_original_faction", 1),
- + (neq, ":faction_no", ":orig_faction"),
- +
- + (faction_slot_eq, ":faction_no", slot_faction_state, sfs_active),
- + (assign, ":number_of_walled_centers", 0),
- + (try_for_range, ":center_no", walled_centers_begin, walled_centers_end),
- + (store_faction_of_party, ":center_faction", ":center_no"),
- + (eq, ":center_faction", ":faction_no"),
- +
- + (try_begin),
- + (party_slot_eq, ":center_no", slot_party_type, spt_town),
- + (val_add, ":number_of_walled_centers", 2),
- + (else_try),
- + (val_add, ":number_of_walled_centers", 1),
- + (try_end),
- + (try_end),
- +
- + (assign, ":number_of_lords", 0),
- + (try_for_range, ":troop_id", original_kingdom_heroes_begin, active_npcs_end),
- + (store_troop_faction, ":faction_of_troop", ":troop_id"),
- + (eq, ":faction_of_troop", ":faction_no"),
- + (val_add, ":number_of_lords", 1),
- + (try_end),
- +
- + (faction_get_slot, ":liege", ":faction_no", slot_faction_leader),
- + (call_script, "script_troop_get_relation_with_troop", ":troop_no", ":liege"),
- + (assign, ":relation_with_leader", reg0),
- +
- + (store_mul, ":faction_score", ":number_of_walled_centers", 100),
- + (val_div, ":faction_score", ":number_of_lords"),
- + (val_add, ":faction_score", ":relation_with_leader"),
- +
- + (try_begin),
- + (eq, ":faction_no", ":orig_faction"),
- + (eq, "$g_give_advantage_to_original_faction", 1),
- + (val_add, ":faction_score", 100),
- + (try_end),
- +
- + (try_begin),
- + (eq, "$g_advantegous_faction", ":faction_no"),
- + (val_add, ":faction_score", 50),
- + (try_end),
- +
- + (try_begin),
- + (eq, ":faction_no", "$players_kingdom"),
- + (val_sub, ":faction_score", 100),
- + (val_add, "$player_right_to_rule"),
- + (try_end),
- +
- + #(str_store_faction_name, s1, ":faction_no"),
- + #(assign, reg1, ":number_of_walled_centers"),
- + #(assign, reg2, ":number_of_lords"),
- + #(assign, reg3, ":relation_with_leader"),
- + #(assign, reg4, ":faction_score"),
- + #(display_message, "@OZANDEBUG : {s1}, centers:{reg1}, lords:{reg2}, rel:{reg3}, score:{reg4}"),
- +
- + (gt, ":faction_score", ":score_to_beat"),
- +
- + (assign, ":score_to_beat", ":faction_score"),
- + (assign, ":new_faction", ":faction_no"),
- + (try_end),
- +
- (assign, reg0, ":new_faction"),
- ]),
- @@ -46860,8 +47108,7 @@ scripts = [
- #Indictments, cont: Finalize where the lord goes
- (try_begin),
- (is_between, ":new_faction", kingdoms_begin, kingdoms_end),
- -
- -
- +
- (try_begin),
- (ge, "$cheat_mode", 1),
- (str_store_troop_name, s4, ":troop_no"),
- @@ -46964,5 +47211,137 @@ scripts = [
- (try_end),
- ]),
- -
- + # script_refresh_center_inventories
- + ("refresh_center_inventories",
- + [
- + (reset_item_probabilities, 100),
- + (set_merchandise_modifier_quality, 150),
- +
- + (reset_item_probabilities, 100),
- + (set_item_probability_in_merchandise, "itm_salt", 700),
- +
- + (troop_add_merchandise, "trp_salt_mine_merchant", itp_type_goods,30),
- +
- + # Add trade goods to merchant inventories
- + (store_sub, ":item_to_price_slot", slot_town_trade_good_prices_begin, trade_goods_begin),
- +
- + (try_for_range, ":cur_center", towns_begin, towns_end),
- + (party_get_slot, ":cur_merchant", ":cur_center", slot_town_merchant),
- + (reset_item_probabilities,100),
- + (assign, ":total_probability", 0),
- + (try_for_range, ":cur_goods", trade_goods_begin, trade_goods_end),
- + (store_add, ":cur_price_slot", ":cur_goods", ":item_to_price_slot"),
- + (party_get_slot, ":cur_price", ":cur_center", ":cur_price_slot"),
- + (call_script, "script_center_get_production", ":cur_center", ":cur_goods"),
- + (assign, ":cur_probability", reg0),
- + (call_script, "script_center_get_consumption", ":cur_center", ":cur_goods"),
- + (val_div, reg0, 3),
- + (val_add, ":cur_probability", reg0),
- + (val_mul, ":cur_probability", 4),
- + (val_mul, ":cur_probability", average_price_factor),
- + (val_div, ":cur_probability", ":cur_price"),
- + (val_add, ":total_probability", ":cur_probability"),
- + (try_end),
- +
- + (party_get_slot, ":town_prosperity", ":cur_center", slot_town_prosperity),
- + (store_div, ":number_of_items_in_town", ":town_prosperity", 2),
- + (val_clamp, ":number_of_items_in_town", 10, 40),
- +
- + (try_for_range, ":cur_goods", trade_goods_begin, trade_goods_end),
- + (store_add, ":cur_price_slot", ":cur_goods", ":item_to_price_slot"),
- + (party_get_slot, ":cur_price", ":cur_center", ":cur_price_slot"),
- + (call_script, "script_center_get_production", ":cur_center", ":cur_goods"),
- + (assign, ":cur_probability", reg0),
- + (call_script, "script_center_get_consumption", ":cur_center", ":cur_goods"),
- + (val_div, reg0, 3),
- + (val_add, ":cur_probability", reg0),
- + (val_mul, ":cur_probability", 4),
- + (val_mul, ":cur_probability", average_price_factor),
- + (val_div, ":cur_probability", ":cur_price"),
- + (val_mul, ":cur_probability", ":number_of_items_in_town"),
- + (val_mul, ":cur_probability", 100),
- + (val_div, ":cur_probability", ":total_probability"),
- + (set_item_probability_in_merchandise, ":cur_goods", ":cur_probability"),
- + (try_end),
- +
- + (troop_clear_inventory, ":cur_merchant"),
- +
- + (troop_add_merchandise, ":cur_merchant", itp_type_goods, ":number_of_items_in_town"),
- + (troop_ensure_inventory_space, ":cur_merchant", 30),
- + (troop_sort_inventory, ":cur_merchant"),
- + (store_troop_gold, ":cur_gold", ":cur_merchant"),
- + (lt, ":cur_gold", 1500),
- + (store_random_in_range, ":new_gold", 500, 1000),
- + (call_script, "script_troop_add_gold", ":cur_merchant", ":new_gold"),
- + (try_end),
- + ]),
- +
- + # script_refresh_center_armories
- + ("refresh_center_armories",
- + [
- + (reset_item_probabilities, 100),
- + (set_merchandise_modifier_quality, 150),
- + (try_for_range, reg2, armor_merchants_begin, armor_merchants_end),
- + (store_sub, ":cur_town", reg2, armor_merchants_begin),
- + (val_add, ":cur_town", towns_begin),
- + (party_get_slot, ":cur_faction", ":cur_town", slot_center_original_faction),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_body_armor, 16),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_head_armor, 16),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_foot_armor, 8),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_hand_armor, 4),
- + (troop_ensure_inventory_space, reg2, merchant_inventory_space),
- + (troop_sort_inventory, reg2),
- + (store_troop_gold, reg6, reg2),
- + (lt, reg6, 900),
- + (store_random_in_range, ":new_gold", 200, 400),
- + (call_script, "script_troop_add_gold", reg2, ":new_gold"),
- + (end_try),
- + ]),
- +
- + # script_refresh_center_weaponsmiths
- + ("refresh_center_weaponsmiths",
- + [
- + (reset_item_probabilities, 100),
- + (set_merchandise_modifier_quality, 150),
- + (try_for_range, reg2, weapon_merchants_begin, weapon_merchants_end),
- + (store_sub, ":cur_town", reg2, weapon_merchants_begin),
- + (val_add, ":cur_town", towns_begin),
- + (party_get_slot, ":cur_faction", ":cur_town", slot_center_original_faction),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_one_handed_wpn, 5),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_two_handed_wpn, 5),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_polearm, 5),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_shield, 6),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_bow, 4),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_crossbow, 3),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_thrown, 5),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_arrows, 2),
- + (troop_add_merchandise_with_faction, reg2, ":cur_faction", itp_type_bolts, 2),
- + (troop_ensure_inventory_space, reg2, merchant_inventory_space),
- + (troop_sort_inventory, reg2),
- + (store_troop_gold, reg6, reg2),
- + (lt, reg6, 900),
- + (store_random_in_range, ":new_gold", 200, 400),
- + (call_script, "script_troop_add_gold", reg2, ":new_gold"),
- + (try_end),
- + ]),
- +
- + # script_refresh_center_stables
- + ("refresh_center_stables",
- + [
- + (reset_item_probabilities, 100),
- + (set_merchandise_modifier_quality, 150),
- + (try_for_range, ":cur_merchant", horse_merchants_begin, horse_merchants_end),
- + (store_sub, ":cur_town", ":cur_merchant", horse_merchants_begin),
- + (val_add, ":cur_town", towns_begin),
- + (party_get_slot, ":cur_faction", ":cur_town", slot_center_original_faction),
- + (troop_add_merchandise_with_faction, ":cur_merchant", ":cur_faction", itp_type_horse, 5),
- + (troop_ensure_inventory_space, ":cur_merchant", 65),
- + (troop_sort_inventory, ":cur_merchant"),
- + (store_troop_gold, ":cur_gold", ":cur_merchant"),
- + (lt, ":cur_gold", 600),
- + (store_random_in_range, ":new_gold", 200, 400),
- + (call_script, "script_troop_add_gold", ":cur_merchant", ":new_gold"),
- + (try_end),
- + ]),
- +
- ]
- diff -rupBN Module_system 1.134//module_simple_triggers.py Module_system 1.142//module_simple_triggers.py
- --- Module_system 1.134//module_simple_triggers.py 2010-12-06 11:55:58.000000000 -0800
- +++ Module_system 1.142//module_simple_triggers.py 2011-07-01 13:58:04.000000000 -0700
- @@ -951,17 +951,17 @@ simple_triggers = [
- (try_begin),
- (neg|is_between, "$g_lord_long_term_count", "trp_kingdom_heroes_including_player_begin", active_npcs_end),
- (assign, "$g_lord_long_term_count", "trp_kingdom_heroes_including_player_begin"),
- - (try_end),
- + (try_end),
- (assign, ":troop_no", "$g_lord_long_term_count"),
- (try_begin),
- (eq, ":troop_no", "trp_kingdom_heroes_including_player_begin"),
- (assign, ":troop_no", "trp_player"),
- - (try_end),
- -
- - (try_begin),
- - (eq, "$cheat_mode", 1),
- + (try_end),
- +
- + (try_begin),
- + (eq, "$cheat_mode", 1),
- (str_store_troop_name, s9, ":troop_no"),
- (display_message, "@{!}DEBUG -- Doing political calculations for {s9}"),
- (try_end),
- @@ -984,7 +984,7 @@ simple_triggers = [
- (faction_get_slot, ":faction_leader", ":original_faction", slot_faction_leader),
- (troop_get_slot, ":troop_reputation", ":troop_no", slot_lord_reputation_type),
- - (try_begin),
- + (try_begin),
- (neq, ":faction_leader", ":troop_no"),
- (try_begin),
- (this_or_next|eq, ":troop_reputation", lrep_quarrelsome),
- @@ -992,11 +992,11 @@ simple_triggers = [
- (this_or_next|eq, ":troop_reputation", lrep_cunning),
- (eq, ":troop_reputation", lrep_debauched),
- (call_script, "script_troop_change_relation_with_troop", ":troop_no", ":faction_leader", -4),
- - (val_add, "$total_no_fief_changes", -4),
- + (val_add, "$total_no_fief_changes", -4),
- (else_try),
- (eq, ":troop_reputation", lrep_martial),
- (call_script, "script_troop_change_relation_with_troop", ":troop_no", ":faction_leader", -2),
- - (val_add, "$total_no_fief_changes", -2),
- + (val_add, "$total_no_fief_changes", -2),
- (try_end),
- (try_end),
- (try_end),
- @@ -1004,96 +1004,90 @@ simple_triggers = [
- #Auto-indictment or defection
- (try_begin),
- - (this_or_next|troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
- - (eq, ":troop_no", "trp_player"),
- -
- - (try_begin),
- - (eq, ":troop_no", "trp_player"),
- - (assign, ":faction", "$players_kingdom"),
- - (else_try),
- - (store_faction_of_troop, ":faction", ":troop_no"),
- - (try_end),
- -
- - (faction_get_slot, ":faction_leader", ":faction", slot_faction_leader),
- - (neq, ":troop_no", ":faction_leader"),
- -
- - #I don't know why these are necessary, but they appear to be
- - (neg|is_between, ":troop_no", "trp_kingdom_1_lord", "trp_knight_1_1"),
- - (neg|is_between, ":troop_no", pretenders_begin, pretenders_end),
- -
- - (call_script, "script_troop_get_relation_with_troop", ":troop_no", ":faction_leader"),
- - (le, reg0, -75),
- + (this_or_next|troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
- + (eq, ":troop_no", "trp_player"),
- + (try_begin),
- + (eq, ":troop_no", "trp_player"),
- + (assign, ":faction", "$players_kingdom"),
- + (else_try),
- + (store_faction_of_troop, ":faction", ":troop_no"),
- + (try_end),
- + (faction_get_slot, ":faction_leader", ":faction", slot_faction_leader),
- + (neq, ":troop_no", ":faction_leader"),
- + #I don't know why these are necessary, but they appear to be
- + (neg|is_between, ":troop_no", "trp_kingdom_1_lord", "trp_knight_1_1"),
- + (neg|is_between, ":troop_no", pretenders_begin, pretenders_end),
- - (call_script, "script_cf_troop_can_intrigue", ":troop_no", 0), #Should include battle, prisoner, in a castle with others
- -
- - (store_random_in_range, ":who_moves_first", 0, 2),
- -
- - (try_begin),
- - (neq, ":who_moves_first", 0),
- - (neq, ":troop_no", "trp_player"),
- -
- - #do a defection
- - (call_script, "script_lord_find_alternative_faction", ":troop_no"),
- - (assign, ":new_faction", reg0),
- -
- - (is_between, ":new_faction", kingdoms_begin, kingdoms_end),
- -
- - (str_store_troop_name_link, s1, ":troop_no"),
- - (str_store_faction_name_link, s2, ":new_faction"),
- - (str_store_faction_name_link, s3, ":faction"),
- -
- - (call_script, "script_change_troop_faction", ":troop_no", ":new_faction"),
- -
- - (try_begin),
- - (ge, "$cheat_mode", 1),
- - (str_store_troop_name, s4, ":troop_no"),
- - (display_message, "@{!}DEBUG - {s4} faction changed in defection"),
- - (try_end),
- -
- - (troop_get_type, reg4, ":troop_no"),
- - (str_store_string, s4, "str_lord_defects_ordinary"),
- - (display_log_message, "@{!}{s4}"),
- -
- - (try_begin),
- - (eq, "$cheat_mode", 1),
- - (this_or_next|eq, ":new_faction", "$players_kingdom"),
- - (eq, ":faction", "$players_kingdom"),
- - (call_script, "script_add_notification_menu", "mnu_notification_lord_defects", ":troop_no", ":faction"),
- - (try_end),
- - (else_try),
- - (neq, ":faction_leader", "trp_player"),
- - (call_script, "script_indict_lord_for_treason", ":troop_no", ":faction"),
- - (try_end),
- - (else_try), #Take a stand on an issue
- - (neq, ":troop_no", "trp_player"),
- - (store_faction_of_troop, ":faction", ":troop_no"),
- -
- - (faction_slot_ge, ":faction", slot_faction_political_issue, 1),
- + (call_script, "script_troop_get_relation_with_troop", ":troop_no", ":faction_leader"),
- + (le, reg0, -50), #was -75
- - #This bit of complication is needed for savegame compatibility -- if zero is in the slot, they'll choose anyway
- - (neg|troop_slot_ge, ":troop_no", slot_troop_stance_on_faction_issue, 1),
- + (call_script, "script_cf_troop_can_intrigue", ":troop_no", 0), #Should include battle, prisoner, in a castle with others
- + (store_random_in_range, ":who_moves_first", 0, 2),
- - (this_or_next|troop_slot_eq, ":troop_no", slot_troop_stance_on_faction_issue, -1),
- - (neq, "$players_kingdom", ":faction"),
- + (try_begin),
- + (neq, ":who_moves_first", 0),
- + (neq, ":troop_no", "trp_player"),
- - (troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
- -
- - (call_script, "script_npc_decision_checklist_take_stand_on_issue", ":troop_no"),
- - (troop_set_slot, ":troop_no", slot_troop_stance_on_faction_issue, reg0),
- + #do a defection
- + (assign, "$g_give_advantage_to_original_faction", 1),
- + (store_faction_of_troop, ":orig_faction", ":troop_no"),
- + (call_script, "script_lord_find_alternative_faction", ":troop_no"),
- + (assign, ":new_faction", reg0),
- + (assign, "$g_give_advantage_to_original_faction", 0),
- + (try_begin),
- + (neq, ":new_faction", ":orig_faction"),
- +
- + (is_between, ":new_faction", kingdoms_begin, kingdoms_end),
- + (str_store_troop_name_link, s1, ":troop_no"),
- + (str_store_faction_name_link, s2, ":new_faction"),
- + (str_store_faction_name_link, s3, ":faction"),
- + (call_script, "script_change_troop_faction", ":troop_no", ":new_faction"),
- + (try_begin),
- + (ge, "$cheat_mode", 1),
- + (str_store_troop_name, s4, ":troop_no"),
- + (display_message, "@{!}DEBUG - {s4} faction changed in defection"),
- + (try_end),
- + (troop_get_type, reg4, ":troop_no"),
- + (str_store_string, s4, "str_lord_defects_ordinary"),
- + (display_log_message, "@{!}{s4}"),
- + (try_begin),
- + (eq, "$cheat_mode", 1),
- + (this_or_next|eq, ":new_faction", "$players_kingdom"),
- + (eq, ":faction", "$players_kingdom"),
- + (call_script, "script_add_notification_menu", "mnu_notification_lord_defects", ":troop_no", ":faction"),
- + (try_end),
- + (try_end),
- + (else_try),
- + (neq, ":faction_leader", "trp_player"),
- + (call_script, "script_troop_get_relation_with_troop", ":troop_no", ":faction_leader"),
- + (le, reg0, -75),
- + (call_script, "script_indict_lord_for_treason", ":troop_no", ":faction"),
- + (try_end),
- + (else_try), #Take a stand on an issue
- + (neq, ":troop_no", "trp_player"),
- + (store_faction_of_troop, ":faction", ":troop_no"),
- + (faction_slot_ge, ":faction", slot_faction_political_issue, 1),
- + #This bit of complication is needed for savegame compatibility -- if zero is in the slot, they'll choose anyway
- + (neg|troop_slot_ge, ":troop_no", slot_troop_stance_on_faction_issue, 1),
- + (this_or_next|troop_slot_eq, ":troop_no", slot_troop_stance_on_faction_issue, -1),
- + (neq, "$players_kingdom", ":faction"),
- + (troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
- + (call_script, "script_npc_decision_checklist_take_stand_on_issue", ":troop_no"),
- + (troop_set_slot, ":troop_no", slot_troop_stance_on_faction_issue, reg0),
- (try_end),
- - (try_for_range, ":active_npc", active_npcs_begin, active_npcs_end),
- - (call_script, "script_troop_get_relation_with_troop", ":troop_no", ":active_npc"),
- - (lt, reg0, 0),
- - (assign, ":relation", reg0),
- - (store_sub, ":chance_of_convergence", 0, ":relation"),
- - (store_random_in_range, ":random", 0, 300),
- - (lt, ":random", ":chance_of_convergence"),
- - (call_script, "script_troop_change_relation_with_troop", ":troop_no", ":active_npc", 1),
- - (val_add, "$total_relation_changes_through_convergence", 1),
- - (try_end),
- + (try_for_range, ":active_npc", active_npcs_begin, active_npcs_end),
- + (call_script, "script_troop_get_relation_with_troop", ":troop_no", ":active_npc"),
- + (lt, reg0, 0),
- + (assign, ":relation", reg0),
- + (store_sub, ":chance_of_convergence", 0, ":relation"),
- + (store_random_in_range, ":random", 0, 300),
- + (lt, ":random", ":chance_of_convergence"),
- + (call_script, "script_troop_change_relation_with_troop", ":troop_no", ":active_npc", 1),
- + (val_add, "$total_relation_changes_through_convergence", 1),
- + (try_end),
- ]),
- #TEMPORARILY DISABLED, AS READINESS IS NOW A PRODUCT OF NPC_DECISION_CHECKLIST
- @@ -1308,12 +1302,10 @@ simple_triggers = [
- (try_begin),
- (ge, "$cheat_mode", 1),
- - (try_for_range, ":king", "trp_kingdom_1_lord", "trp_knight_1_1"),
- -
- + (try_for_range, ":king", "trp_kingdom_1_lord", "trp_knight_1_1"),
- (store_add, ":proper_faction", ":king", "fac_kingdom_1"),
- (val_sub, ":proper_faction", "trp_kingdom_1_lord"),
- (store_faction_of_troop, ":actual_faction", ":king"),
- -
- (neq, ":proper_faction", ":actual_faction"),
- (neq, ":actual_faction", "fac_commoners"),
- @@ -1327,7 +1319,7 @@ simple_triggers = [
- # (display_message, "@{s65}"),
- (rest_for_hours, 0, 0, 0),
- - (assign, "$cheat_mode", 1),
- + #(assign, "$cheat_mode", 1),
- (jump_to_menu, "mnu_debug_alert_from_s65"),
- (try_end),
- @@ -1379,7 +1371,7 @@ simple_triggers = [
- ]),
- # Refresh merchant inventories
- - (24,
- + (72,
- [
- (try_for_range, ":village_no", villages_begin, villages_end),
- (call_script, "script_refresh_village_merchant_inventory", ":village_no"),
- @@ -1835,6 +1827,9 @@ simple_triggers = [
- [
- (try_for_range, ":troop_no", active_npcs_begin, active_npcs_end),
- (troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
- +
- + (str_store_troop_name, s1, ":troop_no"),
- +
- (neg|troop_slot_ge, ":troop_no", slot_troop_prisoner_of_party, 0),
- (neg|troop_slot_ge, ":troop_no", slot_troop_leaded_party, 1),
- @@ -1852,14 +1847,18 @@ simple_triggers = [
- (assign, ":center_no", reg0),
- (try_begin),
- - (eq, "$cheat_mode", 2),
- - (assign, reg7, ":center_no"),
- + (eq, "$cheat_mode", 2),
- (str_store_party_name, s7, ":center_no"),
- + (str_store_troop_name, s0, ":troop_no"),
- (display_message, "str_debug__s0_is_spawning_around_party__s7"),
- (try_end),
- (call_script, "script_create_kingdom_hero_party", ":troop_no", ":center_no"),
- - (party_attach_to_party, "$pout_party", ":center_no"),
- +
- + (try_begin),
- + (eq, "$g_there_is_no_avaliable_centers", 0),
- + (party_attach_to_party, "$pout_party", ":center_no"),
- + (try_end),
- #new
- #(troop_get_slot, ":party_no", ":troop_no", slot_troop_leaded_party),
- @@ -2040,7 +2039,7 @@ simple_triggers = [
- (eq, ":cur_center", ":home_center"),
- #Peasants trade in their home center
- - (call_script, "script_do_party_center_trade", ":party_no", ":home_center", price_adjustment), #this needs to be the same as the center
- + (call_script, "script_do_party_center_trade", ":party_no", ":home_center", 4), #this needs to be the same as the center
- (store_faction_of_party, ":center_faction", ":cur_center"),
- (party_set_faction, ":party_no", ":center_faction"),
- (party_get_slot, ":market_town", ":home_center", slot_village_market_town),
- @@ -2053,7 +2052,7 @@ simple_triggers = [
- (party_get_slot, ":cur_ai_object", ":party_no", slot_party_ai_object),
- (eq, ":cur_center", ":cur_ai_object"),
- - (call_script, "script_do_party_center_trade", ":party_no", ":cur_ai_object", price_adjustment), #raised from 10
- + (call_script, "script_do_party_center_trade", ":party_no", ":cur_ai_object", 4), #raised from 10
- (assign, ":total_change", reg0),
- #This is roughly 50% of what a caravan would pay
- @@ -2088,7 +2087,7 @@ simple_triggers = [
- #Adding 1 to village prosperity
- (try_begin),
- (store_random_in_range, ":rand", 0, 100),
- - (lt, ":rand", 35),
- + (lt, ":rand", 5), #was 35
- (call_script, "script_change_center_prosperity", ":home_center", 1),
- (val_add, "$newglob_total_prosperity_from_village_trade", 1),
- (try_end),
- diff -rupBN Module_system 1.134//module_triggers.py Module_system 1.142//module_triggers.py
- --- Module_system 1.134//module_triggers.py 2010-09-28 18:42:26.000000000 -0700
- +++ Module_system 1.142//module_triggers.py 2011-07-01 13:58:04.000000000 -0700
- @@ -32,138 +32,29 @@ triggers = [
- # Tutorial:
- (0.1, 0, ti_once, [(map_free,0)], [(dialog_box,"str_tutorial_map1")]),
- -# (1.0, 0, ti_once, [(map_free,0)], [(start_map_conversation, "trp_guide", -1)]),
- -
- # Refresh Merchants
- - (0.0, 0, 24.0, [], [
- - (reset_item_probabilities,100),
- - (set_merchandise_modifier_quality,150),
- -
- -
- - (reset_item_probabilities,100),(set_item_probability_in_merchandise,"itm_salt",700),
- - (troop_add_merchandise,"trp_salt_mine_merchant",itp_type_goods,num_merchandise_goods),
- -
- - # Add trade goods to merchant inventories
- -# (store_sub, ":item_to_production_slot", slot_town_trade_good_productions_begin, trade_goods_begin),
- - (store_sub, ":item_to_price_slot", slot_town_trade_good_prices_begin, trade_goods_begin),
- -
- - (try_for_range,":cur_center",towns_begin,towns_end),
- - (party_get_slot,":cur_merchant",":cur_center",slot_town_merchant),
- - (reset_item_probabilities,100),
- - (try_for_range, ":cur_goods", trade_goods_begin, trade_goods_end),
- -# (store_add, ":cur_production_slot", ":cur_goods", ":item_to_production_slot"),
- - (store_add, ":cur_price_slot", ":cur_goods", ":item_to_price_slot"),
- -# (party_get_slot, ":cur_production", ":cur_center", ":cur_production_slot"),
- - (party_get_slot, ":cur_price", ":cur_center", ":cur_price_slot"),
- -
- -# (assign, ":cur_probability", 100),
- -# (store_add, ":cur_production", 100, ":cur_production"),
- -# (val_mul, ":cur_probability", ":cur_production"),
- -# (val_div, ":cur_probability", 100),
- -# (try_begin),
- -# (gt, ":cur_probability", 100),
- -# (store_sub, ":temp_dif", ":cur_probability", 100),
- -# (val_mul, ":temp_dif", 4),
- -# (val_add, ":cur_probability", ":temp_dif"),
- -# (try_end),
- -# (store_sub, ":temp_dif", average_price_factor, ":cur_price"),
- -# (val_div, ":temp_dif", 2),
- -# (val_add, ":cur_price", ":temp_dif"),
- -
- - (call_script, "script_center_get_production", ":cur_center", ":cur_goods"),
- - (assign, ":cur_probability", reg0),
- - (call_script, "script_center_get_consumption", ":cur_center", ":cur_goods"),
- - (val_add, ":cur_probability", reg0),
- -
- - (val_mul, ":cur_probability", 4),
- -
- -
- - (val_mul, ":cur_probability", average_price_factor),
- - (val_div, ":cur_probability", ":cur_price"),
- - (val_mul, ":cur_probability", average_price_factor),
- - (val_div, ":cur_probability", ":cur_price"),
- - (val_mul, ":cur_probability", average_price_factor),
- - (val_div, ":cur_probability", ":cur_price"),
- -# (val_mul, ":cur_probability", average_price_factor),
- -# (val_div, ":cur_probability", ":cur_price"),
- - (set_item_probability_in_merchandise,":cur_goods",":cur_probability"),
- - (try_end),
- - (troop_add_merchandise,":cur_merchant",itp_type_goods,num_merchandise_goods),
- -
- - (troop_ensure_inventory_space,":cur_merchant",merchant_inventory_space),
- - (troop_sort_inventory, ":cur_merchant"),
- - (store_troop_gold, ":cur_gold",":cur_merchant"),
- - (lt,":cur_gold",1500),
- - (store_random_in_range,":new_gold",500,1000),
- - (call_script, "script_troop_add_gold", ":cur_merchant", ":new_gold"),
- - (try_end),
- - ]),
- + (0.0, 0, 72.0, [],
- + [
- + (call_script, "script_refresh_center_inventories"),
- + ]),
- # Refresh Armor sellers
- - (0.0, 0, 24.0, [], [
- - (reset_item_probabilities,100),
- - (set_merchandise_modifier_quality,150),
- - (try_for_range,reg(2),armor_merchants_begin,armor_merchants_end),
- - (store_sub, ":cur_town", reg2, armor_merchants_begin),
- - (val_add, ":cur_town", towns_begin),
- - (party_get_slot, ":cur_faction", ":cur_town", slot_center_original_faction),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_body_armor,16),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_head_armor,16),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_foot_armor,8),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_hand_armor,4),
- - (troop_ensure_inventory_space,reg(2),merchant_inventory_space),
- - (troop_sort_inventory, reg(2)),
- - (store_troop_gold, reg(6),reg(2)),
- - (lt,reg(6),900),
- - (store_random_in_range,":new_gold",200,400),
- - (call_script, "script_troop_add_gold", reg(2), ":new_gold"),
- - (end_try,0),
- - ]),
- -
- + (0.0, 0, 72.0, [],
- + [
- + (call_script, "script_refresh_center_armories"),
- + ]),
- # Refresh Weapon sellers
- - (0.0, 0, 24.0, [], [
- - (reset_item_probabilities,100),
- - (set_merchandise_modifier_quality,150),
- - (try_for_range,reg(2),weapon_merchants_begin,weapon_merchants_end),
- - (store_sub, ":cur_town", reg2, weapon_merchants_begin),
- - (val_add, ":cur_town", towns_begin),
- - (party_get_slot, ":cur_faction", ":cur_town", slot_center_original_faction),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_one_handed_wpn,5),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_two_handed_wpn,5),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_polearm,5),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_shield,6),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_bow,4),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_crossbow,3),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_thrown,5),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_arrows,2),
- - (troop_add_merchandise_with_faction,reg(2), ":cur_faction",itp_type_bolts,2),
- - (troop_ensure_inventory_space,reg(2),merchant_inventory_space),
- - (troop_sort_inventory, reg(2)),
- - (store_troop_gold, reg(6),reg(2)),
- - (lt,reg(6),900),
- - (store_random_in_range,":new_gold",200,400),
- - (call_script, "script_troop_add_gold", reg(2), ":new_gold"),
- - (end_try,0),
- - ]),
- + (0.0, 0, 72.0, [],
- + [
- + (call_script, "script_refresh_center_weaponsmiths"),
- + ]),
- # Refresh Horse sellers
- - (0.0, 0, 24.0, [], [
- - (reset_item_probabilities,100),
- - (set_merchandise_modifier_quality,150),
- - (try_for_range,":cur_merchant",horse_merchants_begin,horse_merchants_end),
- - (store_sub, ":cur_town", ":cur_merchant", horse_merchants_begin),
- - (val_add, ":cur_town", towns_begin),
- - (party_get_slot, ":cur_faction", ":cur_town", slot_center_original_faction),
- - (troop_add_merchandise_with_faction,":cur_merchant", ":cur_faction",itp_type_horse,5),
- - (troop_ensure_inventory_space,":cur_merchant",65),
- - (troop_sort_inventory, ":cur_merchant"),
- - (store_troop_gold, ":cur_gold",":cur_merchant"),
- - (lt,":cur_gold",600),
- - (store_random_in_range,":new_gold",200,400),
- - (call_script, "script_troop_add_gold", ":cur_merchant", ":new_gold"),
- - (try_end),
- - ]),
- + (0.0, 0, 72.0, [],
- + [
- + (call_script, "script_refresh_center_stables"),
- + ]),
- #############
- @@ -1338,7 +1229,7 @@ triggers = [
- (eq, ":cur_eliminated_by_player", "$qst_troublesome_bandits_eliminated_by_player"),
- ],
- [(display_message, "str_bandits_eliminated_by_another"),
- - (call_script, "script_abort_quest", "qst_troublesome_bandits", 2),
- + (call_script, "script_abort_quest", "qst_troublesome_bandits", 0),
- ]),
- (0.3, 0.0, 1.1, [(check_quest_active, "qst_troublesome_bandits"),
- @@ -1603,10 +1494,27 @@ triggers = [
- ]),
- -
- -
- #NPC system changes end
- +# Lady of the lake achievement
- + (1, 0, 0,
- + [
- + (troop_get_type, ":is_female", "trp_player"),
- + (eq, ":is_female", 1),
- + (try_for_range, ":companion", companions_begin, companions_end),
- + (troop_slot_eq, ":companion", slot_troop_occupation, slto_player_companion),
- + (troop_inventory_slot_get_item_amount, ":num_great_sword", ":companion", "itm_great_sword"),
- + (troop_inventory_slot_get_item_amount, ":num_sword_two_handed_a", ":companion", "itm_sword_two_handed_a"),
- + (troop_inventory_slot_get_item_amount, ":num_strange_great_sword", ":companion", "itm_strange_great_sword"),
- + (this_or_next|ge, ":num_great_sword", 1),
- + (this_or_next|ge, ":num_sword_two_handed_a", 1),
- + (ge, ":num_strange_great_sword", 1),
- + (unlock_achievement, ACHIEVEMENT_LADY_OF_THE_LAKE),
- + (try_end),
- + ],
- + []
- + ),
- +
- diff -rupBN Module_system 1.134//module_troops.py Module_system 1.142//module_troops.py
- --- Module_system 1.134//module_troops.py 2010-12-07 15:53:24.000000000 -0800
- +++ Module_system 1.142//module_troops.py 2011-05-23 13:37:40.000000000 -0700
- @@ -547,19 +547,19 @@ troops = [
- itm_shirt,itm_coarse_tunic,itm_wrapping_boots,itm_nomad_boots,itm_head_wrappings,itm_straw_hat],
- def_attrib|level(4),wp(55),knows_common|knows_power_draw_2|knows_ironflesh_1,rhodok_face_younger_1, rhodok_face_old_2],
- ["rhodok_spearman","Rhodok Spearman","Rhodok Spearmen",tf_guarantee_boots|tf_guarantee_armor,0,0,fac_kingdom_5,
- - [itm_spear,itm_spear,itm_tab_shield_pavise_a,itm_falchion,
- + [itm_spear,itm_pike,itm_spear,itm_tab_shield_pavise_a,itm_falchion,
- itm_felt_hat_b,itm_common_hood,itm_leather_armor,itm_arena_tunic_green,itm_wrapping_boots,itm_nomad_boots],
- def_attrib|level(9),wp(80),knows_common|knows_ironflesh_2|knows_shield_1|knows_power_strike_2|knows_athletics_1,rhodok_face_young_1, rhodok_face_old_2],
- ["rhodok_trained_spearman","Rhodok Trained Spearman","Rhodok Trained Spearmen",tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_shield,0,0,fac_kingdom_5,
- - [itm_pike,itm_military_fork,itm_war_spear,itm_tab_shield_pavise_b,
- + [itm_pike,itm_war_spear,itm_tab_shield_pavise_b,
- itm_footman_helmet,itm_padded_coif,itm_aketon_green,itm_aketon_green,itm_ragged_outfit,itm_nomad_boots,itm_leather_boots],
- def_attrib|level(14),wp_one_handed (105) | wp_two_handed (105) | wp_polearm (115) | wp_archery (105) | wp_crossbow (105) | wp_throwing (105),knows_common|knows_ironflesh_3|knows_shield_2|knows_power_strike_2|knows_athletics_2,rhodok_face_young_1, rhodok_face_older_2],
- ["rhodok_veteran_spearman","Rhodok Veteran Spearman","Rhodok Veteran Spearmen",tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield,0,0,fac_kingdom_5,
- - [itm_ashwood_pike,itm_battle_fork,itm_military_scythe,itm_tab_shield_pavise_c,
- + [itm_ashwood_pike,itm_glaive,itm_tab_shield_pavise_c,
- itm_kettle_hat,itm_mail_coif,itm_mail_with_tunic_green,itm_leather_boots,itm_splinted_leather_greaves,itm_leather_gloves],
- def_attrib|level(19),wp_one_handed (115) | wp_two_handed (115) | wp_polearm (130) | wp_archery (115) | wp_crossbow (115) | wp_throwing (115),knows_common|knows_ironflesh_5|knows_shield_3|knows_power_strike_4|knows_athletics_3,rhodok_face_young_1, rhodok_face_older_2],
- ["rhodok_sergeant","Rhodok Sergeant","Rhodok Sergeants",tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield|tf_guarantee_gloves,0,0,fac_kingdom_5,
- - [itm_glaive,itm_military_hammer,itm_bec_de_corbin_a,itm_bec_de_corbin_a,itm_military_cleaver_c,itm_tab_shield_pavise_d,
- + [itm_glaive,itm_military_hammer,itm_military_cleaver_c,itm_tab_shield_pavise_d,
- itm_full_helm, itm_bascinet_3,itm_bascinet_2,itm_surcoat_over_mail,itm_surcoat_over_mail,itm_heraldic_mail_with_surcoat,itm_mail_chausses,itm_leather_gloves,itm_mail_mittens],
- def_attrib|level(25),wp_one_handed (130) | wp_two_handed (115) | wp_polearm (155) | wp_archery (115) | wp_crossbow (115) | wp_throwing (115),knows_common|knows_ironflesh_6|knows_shield_5|knows_power_strike_5|knows_athletics_5,rhodok_face_middle_1, rhodok_face_older_2],
- ["rhodok_crossbowman","Rhodok Crossbowman","Rhodok Crossbowmen",tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_ranged,0,0,fac_kingdom_5,
- @@ -602,11 +602,11 @@ troops = [
- itm_skirmisher_armor,itm_turban,itm_sarranid_boots_a,itm_sarranid_boots_b],
- def_attrib|level(9),wp(75),knows_common|knows_athletics_2,swadian_face_young_1, swadian_face_old_2],
- ["sarranid_veteran_footman","Sarranid Veteran Footman","Sarranid Veteran Footmen",tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_shield|tf_guarantee_helmet,0,0,fac_kingdom_6,
- - [itm_bamboo_spear,itm_sarranid_mail_coif,itm_arabian_sword_a,itm_arabian_sword_b,itm_tab_shield_kite_b,
- - itm_sarranid_boots_b,itm_sarranid_leather_armor,itm_jarid,itm_arabian_sword_a,itm_mace_3],
- + [itm_bamboo_spear,itm_arabian_sword_a,itm_arabian_sword_b,itm_tab_shield_kite_b,
- + itm_sarranid_boots_b,itm_sarranid_warrior_cap,itm_sarranid_leather_armor,itm_jarid,itm_arabian_sword_a,itm_mace_3],
- def_attrib|level(14),wp_one_handed (85) | wp_two_handed (85) | wp_polearm (85) | wp_archery (75) | wp_crossbow (75) | wp_throwing (100),knows_common|knows_athletics_2|knows_power_throw_2|knows_ironflesh_1|knows_shield_2,swadian_face_young_1, swadian_face_old_2],
- ["sarranid_infantry","Sarranid Infantry","Sarranid Infantries",tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_kingdom_6,
- - [itm_sarranid_mail_shirt,itm_sarranid_warrior_cap,itm_jarid,itm_sarranid_boots_c,itm_sarranid_boots_b,itm_sarranid_axe_a,itm_arabian_sword_b,itm_mace_3,itm_spear,itm_tab_shield_kite_c],
- + [itm_sarranid_mail_shirt,itm_sarranid_mail_coif,itm_jarid,itm_sarranid_boots_c,itm_sarranid_boots_b,itm_sarranid_axe_a,itm_arabian_sword_b,itm_mace_3,itm_spear,itm_tab_shield_kite_c],
- def_attrib|level(20),wp_one_handed (105) | wp_two_handed (105) | wp_polearm (105) | wp_archery (75) | wp_crossbow (75) | wp_throwing (110),knows_common|knows_riding_3|knows_ironflesh_2|knows_shield_3 | knows_power_throw_3|knows_athletics_3,swadian_face_middle_1, swadian_face_old_2],
- ["sarranid_guard","Sarranid Guard","Sarranid Guards",tf_mounted|tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_kingdom_6,
- [itm_military_pick,itm_sarranid_two_handed_axe_a,itm_jarid,itm_scimitar_b,itm_war_spear,itm_mace_4,itm_sarranid_boots_d, itm_sarranid_boots_c,itm_arabian_armor_b,itm_sarranid_mail_coif,itm_sarranid_veiled_helmet,itm_mail_mittens,itm_leather_gloves,itm_tab_shield_kite_d],
- @@ -615,11 +615,11 @@ troops = [
- [itm_turban,itm_desert_turban,itm_skirmisher_armor,itm_jarid,itm_jarid,itm_arabian_sword_a,itm_spiked_club,itm_tab_shield_small_round_a,itm_sarranid_warrior_cap,itm_sarranid_boots_a],
- def_attrib|level(14),wp(80),knows_common|knows_riding_2|knows_power_throw_2|knows_ironflesh_1|knows_athletics_3,swadian_face_young_1, swadian_face_middle_2],
- ["sarranid_archer","Sarranid Archer","Sarranid Archers",tf_guarantee_ranged|tf_guarantee_boots|tf_guarantee_armor,0,0,fac_kingdom_6,
- - [itm_arrows,itm_nomad_bow,itm_nomad_bow,itm_nomad_bow,itm_arabian_sword_a,itm_archers_vest,itm_jarid ,itm_sarranid_boots_b,itm_sarranid_helmet1,itm_turban,itm_desert_turban],
- + [itm_arrows,itm_arrows,itm_nomad_bow,itm_arabian_sword_a,itm_archers_vest,itm_sarranid_boots_b,itm_sarranid_helmet1,itm_sarranid_warrior_cap,itm_turban,itm_desert_turban],
- def_attrib|level(19),wp_one_handed (90) | wp_two_handed (90) | wp_polearm (90) | wp_archery (100) | wp_crossbow (90) | wp_throwing (100),knows_common|knows_power_draw_3|knows_ironflesh_2|knows_power_throw_3|knows_athletics_4,swadian_face_young_1, swadian_face_old_2],
- ["sarranid_master_archer","Sarranid Master Archer","Sarranid Master Archers",tf_guarantee_ranged|tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_kingdom_6,
- - [itm_barbed_arrows,itm_arabian_sword_b,itm_mace_3,itm_strong_bow,itm_nomad_bow,itm_strong_bow,itm_nomad_bow,itm_jarid,
- - itm_arabian_armor_b,itm_barbed_arrows,itm_sarranid_boots_c,itm_sarranid_boots_b,itm_sarranid_mail_coif],
- + [itm_barbed_arrows,itm_barbed_arrows,itm_arabian_sword_b,itm_mace_3,itm_strong_bow,itm_nomad_bow,
- + itm_arabian_armor_b,itm_sarranid_boots_c,itm_sarranid_boots_b,itm_sarranid_mail_coif],
- str_14 | agi_5 | int_4 | cha_4|level(24),wp_one_handed (100) | wp_two_handed (100) | wp_polearm (100) | wp_archery (130) | wp_crossbow (100) | wp_throwing (130),knows_common|knows_power_draw_4|knows_power_throw_4|knows_ironflesh_3|knows_athletics_5,swadian_face_middle_1, swadian_face_older_2],
- ["sarranid_horseman","Sarranid Horseman","Sarranid Horsemen",tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_horse|tf_guarantee_shield,0,0,fac_kingdom_6,
- [itm_lance,itm_arabian_sword_b,itm_scimitar_b,itm_mace_4,itm_tab_shield_small_round_b,
- @@ -1925,8 +1925,8 @@ troops = [
- def_attrib|level(19),wp(115),knows_common|knows_ironflesh_5|knows_shield_3|knows_power_strike_4|knows_athletics_3,rhodok_face_young_1, rhodok_face_older_2],
- ["rhodok_scout_multiplayer_ai","Rhodok Scout","Rhodok Scouts",tf_mounted|tf_guarantee_all,0,0,fac_kingdom_5,
- #TODO: Change weapons, copied from Nord Scout
- - [itm_javelin,itm_sword_viking_1,itm_two_handed_axe,itm_spear,itm_tab_shield_round_a,
- - itm_skullcap,itm_leather_jerkin,itm_leather_boots,itm_saddle_horse],
- + [itm_sword_medieval_a,itm_tab_shield_heater_cav_a,itm_light_lance,itm_skullcap,itm_aketon_green,
- + itm_ragged_outfit,itm_nomad_boots,itm_ankle_boots,itm_saddle_horse],
- def_attrib|level(19),wp(100),knows_riding_5|knows_ironflesh_2|knows_power_strike_2|knows_shield_1|knows_horse_archery_2|knows_power_throw_3,rhodok_face_young_1, rhodok_face_older_2],
- ["sarranid_infantry_multiplayer_ai","Sarranid Infantry","Sarranid Infantries",tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_kingdom_6,
- [itm_sarranid_mail_shirt,itm_sarranid_horseman_helmet,itm_sarranid_boots_b,itm_sarranid_boots_c,itm_splinted_leather_greaves,itm_arabian_sword_b,itm_mace_3,itm_spear,itm_tab_shield_kite_c],
- diff -rupBN Module_system 1.134//process_dialogs.py Module_system 1.142//process_dialogs.py
- --- Module_system 1.134//process_dialogs.py 2009-12-21 14:51:56.000000000 -0800
- +++ Module_system 1.142//process_dialogs.py 2011-06-01 17:29:44.000000000 -0700
- @@ -66,6 +66,7 @@ def compile_sentence_tokens(sentences):
- input_tokens = []
- output_tokens = []
- dialog_states = ["start","party_encounter","prisoner_liberated","enemy_defeated","party_relieved","event_triggered","close_window","trade","exchange_members", "trade_prisoners","buy_mercenaries","view_char","training","member_chat","prisoner_chat"]
- + dialog_state_usages = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
- for sentence in sentences:
- output_token_id = -1
- output_token = sentence[opt_token_pos]
- @@ -77,6 +78,7 @@ def compile_sentence_tokens(sentences):
- break
- if not found:
- dialog_states.append(output_token)
- + dialog_state_usages.append(0)
- output_token_id = len(dialog_states) - 1
- output_tokens.append(output_token_id)
- for sentence in sentences:
- @@ -86,6 +88,7 @@ def compile_sentence_tokens(sentences):
- for i_t in xrange(len(dialog_states)):
- if input_token == dialog_states[i_t]:
- input_token_id = i_t
- + dialog_state_usages[i_t] = dialog_state_usages[i_t] + 1
- found = 1
- break
- if not found:
- @@ -98,6 +101,9 @@ def compile_sentence_tokens(sentences):
- print "**********************************************************************************"
- input_tokens.append(input_token_id)
- save_dialog_states(dialog_states)
- + for i_t in xrange(len(dialog_states)):
- + if dialog_state_usages[i_t] == 0:
- + print "ERROR: Output token not found: " + dialog_states[i_t]
- return (input_tokens, output_tokens)
- def create_auto_id(sentence,auto_ids):
- diff -rupBN Module_system 1.134//variables.txt Module_system 1.142//variables.txt
- --- Module_system 1.134//variables.txt 2010-12-06 12:01:52.000000000 -0800
- +++ Module_system 1.142//variables.txt 2011-06-30 18:28:52.000000000 -0700
- @@ -1202,3 +1202,8 @@ g_multiplayer_duel_start_time
- love_interest_in_town_7
- love_interest_in_town_8
- number_of_controversial_policy_decisions
- +g_production_day_count_for_town
- +g_tribute_amount
- +g_there_is_no_avaliable_centers
- +g_advantegous_faction
- +g_give_advantage_to_original_faction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement