("camp",mnf_scale_picture,
"You set up camp. What do you want to do?",
"none",
[
(assign, "$g_player_icon_state", pis_normal),
(set_background_mesh, "mesh_pic_camp"),
],
[
("camp_action_1",[(eq,"$cheat_mode",1)],"{!}Cheat: Walk around.",
[(set_jump_mission,"mt_ai_training"),
(call_script, "script_setup_random_scene"),
(change_screen_mission),
]
),
("camp_action",[],"Take an action.",
[(jump_to_menu, "mnu_camp_action"),
]
),
("camp_wait_here",[],"Wait here for some time.",
[
(assign,"$g_camp_mode", 1),
(assign, "$g_infinite_camping", 0),
(assign, "$g_player_icon_state", pis_camping),
(try_begin),
(party_is_active, "p_main_party"),
(party_get_current_terrain, ":cur_terrain", "p_main_party"),
(try_begin),
(eq, ":cur_terrain", rt_desert),
(unlock_achievement, ACHIEVEMENT_SARRANIDIAN_NIGHTS),
(try_end),
(try_end),
(rest_for_hours_interactive, 24 * 365, 5, 1), #rest while attackable
(change_screen_return),
]
),
("camp_cheat",
[(ge, "$cheat_mode", 1)
], "CHEAT MENU!",
[(jump_to_menu, "mnu_camp_cheat"),
],
),
("resume_travelling",[],"Resume travelling.",
[
(change_screen_return),
]
),
]
),
("camp_cheat",0,
"Select a cheat:",
"none",
[
],
[
("camp_cheat_find_item",[], "Find an item...",
[
(jump_to_menu, "mnu_cheat_find_item"),
]
),
("camp_cheat_find_item",[], "Change weather..",
[
(jump_to_menu, "mnu_cheat_change_weather"),
]
),
("camp_cheat_1",[],"{!}Increase player renown.",
[
(str_store_string, s1, "@Player renown is increased by 100. "),
(call_script, "script_change_troop_renown", "trp_player", 100),
(jump_to_menu, "mnu_camp_cheat"),
]
),
("camp_cheat_2",[],"{!}Increase player honor.",
[
(assign, reg7, "$player_honor"),
(val_add, reg7, 1),
(display_message, "@Player honor is increased by 1 and it is now {reg7}."),
(val_add, "$player_honor", 1),
(jump_to_menu, "mnu_camp_cheat"),
]
),
("camp_cheat_3",[],"{!}Update political notes.",
[
(try_for_range, ":hero", active_npcs_begin, active_npcs_end),
(troop_slot_eq, ":hero", slot_troop_occupation, slto_kingdom_hero),
(call_script, "script_update_troop_political_notes", ":hero"),
(try_end),
(try_for_range, ":kingdom", kingdoms_begin, kingdoms_end),
(call_script, "script_update_faction_political_notes", ":kingdom"),
(try_end),
]
),
("camp_cheat_4",[],"{!}Update troop notes.",
[
(try_for_range, ":hero", active_npcs_begin, active_npcs_end),
(troop_slot_eq, ":hero", slot_troop_occupation, slto_kingdom_hero),
(call_script, "script_update_troop_notes", ":hero"),
(try_end),
(try_for_range, ":lady", kingdom_ladies_begin, kingdom_ladies_end),
(call_script, "script_update_troop_notes", ":lady"),
(call_script, "script_update_troop_political_notes", ":lady"),
(call_script, "script_update_troop_location_notes", ":lady", 0),
(try_end),
]
),
("camp_cheat_5",[],"{!}Scramble minstrels.",
[
(call_script, "script_update_tavern_minstrels"),
]
),
("camp_cheat_6",[],"{!}Infinite camp",
[
(assign,"$g_camp_mode", 1),
(assign, "$g_infinite_camping", 1),
(assign, "$g_player_icon_state", pis_camping),
(rest_for_hours_interactive, 10 * 24 * 365, 20), #10 year rest while not attackable with 20x speed
(change_screen_return),
]
),
("cheat_faction_orders",[(ge,"$cheat_mode",1)],
"{!}Cheat: Set Debug messages to All.",
[(assign,"$cheat_mode",1),
(jump_to_menu, "mnu_camp_cheat"),
]
),
("cheat_faction_orders",[
(ge, "$cheat_mode", 1),
(neq,"$cheat_mode",3)],"{!}Cheat: Set Debug messages to Econ Only.",
[(assign,"$cheat_mode",3),
(jump_to_menu, "mnu_camp_cheat"),
]
),
("cheat_faction_orders",[
(ge, "$cheat_mode", 1),
(neq,"$cheat_mode",4)],"{!}Cheat: Set Debug messages to Political Only.",
[(assign,"$cheat_mode",4),
(jump_to_menu, "mnu_camp_cheat"),
]
),
("back_to_camp_menu",[],"{!}Back to camp menu.",
[
(jump_to_menu, "mnu_camp"),
]
),
]
),
("cheat_find_item",0,
"{!}Current item range: {reg5} to {reg6}",
"none",
[
(assign, reg5, "$cheat_find_item_range_begin"),
(store_add, reg6, "$cheat_find_item_range_begin", max_inventory_items),
(val_min, reg6, "itm_items_end"),
(val_sub, reg6, 1),
],
[
("cheat_find_item_next_range",[], "{!}Move to next item range.",
[
(val_add, "$cheat_find_item_range_begin", max_inventory_items),
(try_begin),
(ge, "$cheat_find_item_range_begin", "itm_items_end"),
(assign, "$cheat_find_item_range_begin", 0),
(try_end),
(jump_to_menu, "mnu_cheat_find_item"),
]
),
("cheat_find_item_choose_this",[], "{!}Choose from this range.",
[
(troop_clear_inventory, "trp_find_item_cheat"),
(store_add, ":max_item", "$cheat_find_item_range_begin", max_inventory_items),
(val_min, ":max_item", "itm_items_end"),
(store_sub, ":num_items_to_add", ":max_item", "$cheat_find_item_range_begin"),
(try_for_range, ":i_slot", 0, ":num_items_to_add"),
(store_add, ":item_id", "$cheat_find_item_range_begin", ":i_slot"),
(troop_add_items, "trp_find_item_cheat", ":item_id", 1),
(try_end),
(change_screen_trade, "trp_find_item_cheat"),
]
),
("camp_action_4",[],"{!}Back to camp menu.",
[(jump_to_menu, "mnu_camp"),
]
),
]
),
("cheat_change_weather",0,
"{!}Current cloud amount: {reg5}^Current Fog Strength: {reg6}",
"none",
[
(get_global_cloud_amount, reg5),
(get_global_haze_amount, reg6),
],
[
("cheat_increase_cloud",[], "{!}Increase Cloud Amount.",
[
(get_global_cloud_amount, ":cur_cloud_amount"),
(val_add, ":cur_cloud_amount", 5),
(val_min, ":cur_cloud_amount", 100),
(set_global_cloud_amount, ":cur_cloud_amount"),
]
),
("cheat_decrease_cloud",[], "{!}Decrease Cloud Amount.",
[
(get_global_cloud_amount, ":cur_cloud_amount"),
(val_sub, ":cur_cloud_amount", 5),
(val_max, ":cur_cloud_amount", 0),
(set_global_cloud_amount, ":cur_cloud_amount"),
]
),
("cheat_increase_fog",[], "{!}Increase Fog Amount.",
[
(get_global_haze_amount, ":cur_fog_amount"),
(val_add, ":cur_fog_amount", 5),
(val_min, ":cur_fog_amount", 100),
(set_global_haze_amount, ":cur_fog_amount"),
]
),
("cheat_decrease_fog",[], "{!}Decrease Fog Amount.",
[
(get_global_haze_amount, ":cur_fog_amount"),
(val_sub, ":cur_fog_amount", 5),
(val_max, ":cur_fog_amount", 0),
(set_global_haze_amount, ":cur_fog_amount"),
]
),
("camp_action_4",[],"{!}Back to camp menu.",
[(jump_to_menu, "mnu_camp"),
]
),
]
),
("camp_action",0,
"Choose an action:",
"none",
[ ],
[
("camp_recruit_prisoners",
[(troops_can_join, 1),
(store_current_hours, ":cur_time"),
(val_sub, ":cur_time", 24),
(gt, ":cur_time", "$g_prisoner_recruit_last_time"),
(try_begin),
(gt, "$g_prisoner_recruit_last_time", 0),
(assign, "$g_prisoner_recruit_troop_id", 0),
(assign, "$g_prisoner_recruit_size", 0),
(assign, "$g_prisoner_recruit_last_time", 0),
(try_end),
], "Recruit some of your prisoners to your party.",
[(jump_to_menu, "mnu_camp_recruit_prisoners"),
],
),
("action_read_book",[],"Select a book to read.",
[(jump_to_menu, "mnu_camp_action_read_book"),
]
),
("action_rename_kingdom",
[
(eq, "$players_kingdom_name_set", 1),
(faction_slot_eq, "fac_player_supporters_faction", slot_faction_state, sfs_active),
(faction_slot_eq, "fac_player_supporters_faction", slot_faction_leader, "trp_player"),
],"Rename your kingdom.",
[(start_presentation, "prsnt_name_kingdom"),
]
),
("action_modify_banner",[(eq, "$cheat_mode", 1)],"{!}Cheat: Modify your banner.",
[
(start_presentation, "prsnt_banner_selection"),
#(start_presentation, "prsnt_custom_banner"),
]
),
("action_retire",[],"Retire from adventuring.",
[(jump_to_menu, "mnu_retirement_verify"),
]
),
("camp_action_4",[],"Back to camp menu.",
[(jump_to_menu, "mnu_camp"),
]
),
]
),
("camp_recruit_prisoners",0,
"You offer your prisoners freedom if they agree to join you as soldiers. {s18}",
"none",
[(assign, ":num_regular_prisoner_slots", 0),
(party_get_num_prisoner_stacks, ":num_stacks", "p_main_party"),
(try_for_range, ":cur_stack", 0, ":num_stacks"),
(party_prisoner_stack_get_troop_id, ":cur_troop_id", "p_main_party", ":cur_stack"),
(neg|troop_is_hero, ":cur_troop_id"),
(val_add, ":num_regular_prisoner_slots", 1),
(try_end),
(try_begin),
(eq, ":num_regular_prisoner_slots", 0),
(jump_to_menu, "mnu_camp_no_prisoners"),
(else_try),
(eq, "$g_prisoner_recruit_troop_id", 0),
(store_current_hours, "$g_prisoner_recruit_last_time"),
(store_random_in_range, ":rand", 0, 100),
(store_skill_level, ":persuasion_level", "skl_persuasion", "trp_player"),
(store_sub, ":reject_chance", 15, ":persuasion_level"),
(val_mul, ":reject_chance", 4),
(try_begin),
(lt, ":rand", ":reject_chance"),
(assign, "$g_prisoner_recruit_troop_id", -7),
(else_try),
(assign, ":num_regular_prisoner_slots", 0),
(party_get_num_prisoner_stacks, ":num_stacks", "p_main_party"),
(try_for_range, ":cur_stack", 0, ":num_stacks"),
(party_prisoner_stack_get_troop_id, ":cur_troop_id", "p_main_party", ":cur_stack"),
(neg|troop_is_hero, ":cur_troop_id"),
(val_add, ":num_regular_prisoner_slots", 1),
(try_end),
(store_random_in_range, ":random_prisoner_slot", 0, ":num_regular_prisoner_slots"),
(try_for_range, ":cur_stack", 0, ":num_stacks"),
(party_prisoner_stack_get_troop_id, ":cur_troop_id", "p_main_party", ":cur_stack"),
(neg|troop_is_hero, ":cur_troop_id"),
(val_sub, ":random_prisoner_slot", 1),
(lt, ":random_prisoner_slot", 0),
(assign, ":num_stacks", 0),
(assign, "$g_prisoner_recruit_troop_id", ":cur_troop_id"),
(party_prisoner_stack_get_size, "$g_prisoner_recruit_size", "p_main_party", ":cur_stack"),
(try_end),
(try_end),
(try_begin),
(gt, "$g_prisoner_recruit_troop_id", 0),
(party_get_free_companions_capacity, ":capacity", "p_main_party"),
(val_min, "$g_prisoner_recruit_size", ":capacity"),
(assign, reg1, "$g_prisoner_recruit_size"),
(gt, "$g_prisoner_recruit_size", 0),
(try_begin),
(gt, "$g_prisoner_recruit_size", 1),
(assign, reg2, 1),
(else_try),
(assign, reg2, 0),
(try_end),
(str_store_troop_name_by_count, s1, "$g_prisoner_recruit_troop_id", "$g_prisoner_recruit_size"),
(str_store_string, s18, "@{reg1} {s1} {reg2?accept:accepts} the offer."),
(else_try),
(str_store_string, s18, "@No one accepts the offer."),
(try_end),
(try_end),
],
[
("camp_recruit_prisoners_accept",[(gt, "$g_prisoner_recruit_troop_id", 0)],"Take them.",
[(remove_troops_from_prisoners, "$g_prisoner_recruit_troop_id", "$g_prisoner_recruit_size"),
(party_add_members, "p_main_party", "$g_prisoner_recruit_troop_id", "$g_prisoner_recruit_size"),
(store_mul, ":morale_change", -3, "$g_prisoner_recruit_size"),
(call_script, "script_change_player_party_morale", ":morale_change"),
(jump_to_menu, "mnu_camp"),
]
),
("camp_recruit_prisoners_reject",[(gt, "$g_prisoner_recruit_troop_id", 0)],"Reject them.",
[(jump_to_menu, "mnu_camp"),
(assign, "$g_prisoner_recruit_troop_id", 0),
(assign, "$g_prisoner_recruit_size", 0),
]
),
("continue",[(le, "$g_prisoner_recruit_troop_id", 0)],"Go back.",
[(jump_to_menu, "mnu_camp"),
]
),
]
),
("camp_no_prisoners",0,
"You have no prisoners to recruit from.",
"none",
[],
[
("continue",[],"Continue...",
[(jump_to_menu, "mnu_camp"),
]
),
]
),
("camp_action_read_book",0,
"Choose a book to read:",
"none",
[],
[
("action_read_book_1",[(player_has_item, "itm_book_tactics"),
(item_slot_eq, "itm_book_tactics", slot_item_book_read, 0),
(str_store_item_name, s1, "itm_book_tactics"),
],"{s1}.",
[(assign, "$temp", "itm_book_tactics"),
(jump_to_menu, "mnu_camp_action_read_book_start"),
]
),
("action_read_book_2",[(player_has_item, "itm_book_persuasion"),
(item_slot_eq, "itm_book_persuasion", slot_item_book_read, 0),
(str_store_item_name, s1, "itm_book_persuasion"),
],"{s1}.",
[(assign, "$temp", "itm_book_persuasion"),
(jump_to_menu, "mnu_camp_action_read_book_start"),
]
),
("action_read_book_3",[(player_has_item, "itm_book_leadership"),
(item_slot_eq, "itm_book_leadership", slot_item_book_read, 0),
(str_store_item_name, s1, "itm_book_leadership"),
],"{s1}.",
[(assign, "$temp", "itm_book_leadership"),
(jump_to_menu, "mnu_camp_action_read_book_start"),
]
),
("action_read_book_4",[(player_has_item, "itm_book_intelligence"),
(item_slot_eq, "itm_book_intelligence", slot_item_book_read, 0),
(str_store_item_name, s1, "itm_book_intelligence"),
],"{s1}.",
[(assign, "$temp", "itm_book_intelligence"),
(jump_to_menu, "mnu_camp_action_read_book_start"),
]
),
("action_read_book_5",[(player_has_item, "itm_book_trade"),
(item_slot_eq, "itm_book_trade", slot_item_book_read, 0),
(str_store_item_name, s1, "itm_book_trade"),
],"{s1}.",
[(assign, "$temp", "itm_book_trade"),
(jump_to_menu, "mnu_camp_action_read_book_start"),
]
),
("action_read_book_6",[(player_has_item, "itm_book_weapon_mastery"),
(item_slot_eq, "itm_book_weapon_mastery", slot_item_book_read, 0),
(str_store_item_name, s1, "itm_book_weapon_mastery"),
],"{s1}.",
[(assign, "$temp", "itm_book_weapon_mastery"),
(jump_to_menu, "mnu_camp_action_read_book_start"),
]
),
("action_read_book_7",[(player_has_item, "itm_book_engineering"),
(item_slot_eq, "itm_book_engineering", slot_item_book_read, 0),
(str_store_item_name, s1, "itm_book_engineering"),
],"{s1}.",
[(assign, "$temp", "itm_book_engineering"),
(jump_to_menu, "mnu_camp_action_read_book_start"),
]
),
("camp_action_4",[],"Back to camp menu.",
[(jump_to_menu, "mnu_camp"),
]
),
]
),
("camp_action_read_book_start",0,
"{s1}",
"none",
[(assign, ":new_book", "$temp"),
(str_store_item_name, s2, ":new_book"),
(try_begin),
(store_attribute_level, ":int", "trp_player", ca_intelligence),
(item_get_slot, ":int_req", ":new_book", slot_item_intelligence_requirement),
(le, ":int_req", ":int"),
(str_store_string, s1, "@You start reading {s2}. After a few pages,\
you feel you could learn a lot from this book. You decide to keep it close by and read whenever you have the time."),
(assign, "$g_player_reading_book", ":new_book"),
(else_try),
(str_store_string, s1, "@You flip through the pages of {s2}, but you find the text confusing and difficult to follow.\
Try as you might, it soon gives you a headache, and you're forced to give up the attempt."),
(try_end),],
[
("continue",[],"Continue...",
[(jump_to_menu, "mnu_camp"),
]
),
]
),
("retirement_verify",0,
"You are at day {reg0}. Your current luck is {reg1}. Are you sure you want to retire?",
"none",
[
(store_current_day, reg0),
(assign, reg1, "$g_player_luck"),
],
[
("retire_yes",[],"Yes.",
[
(start_presentation, "prsnt_retirement"),
]
),
("retire_no",[],"No.",
[
(jump_to_menu, "mnu_camp"),
]
),
]
),
("end_game",0,
"The decision is made, and you resolve to give up your adventurer's\
life and settle down. You sell off your weapons and armour, gather up\
all your money, and ride off into the sunset....",
"none",
[],
[
("end_game_bye",[],"Farewell.",
[
(change_screen_quit),
]
),
]
),