Skip to content

Commit

Permalink
*Make number of hours hiding depend on wildcraft skill & number of tr…
Browse files Browse the repository at this point in the history
…oops + Make Non-Warg/Horse animal companion spawns optional through a menu
  • Loading branch information
khamukkamu committed Dec 12, 2017
1 parent 7b72e6b commit 67e11a7
Show file tree
Hide file tree
Showing 26 changed files with 1,580 additions and 1,518 deletions.
93 changes: 47 additions & 46 deletions ModuleSystem/ID/ID_scripts_mb.py
Expand Up @@ -542,51 +542,52 @@
script_cf_check_if_only_capital_left = 541
script_find_troop_of_faction = 542
script_cf_can_hide_from_enemy = 543
script_cf_init_quest_defend_refugees = 544
script_cf_quest_defend_refugees_party_creation = 545
script_cf_init_quest_hunt_refugees = 546
script_cf_quest_hunt_refugees_party_creation = 547
script_cf_init_quest_reinforce_center = 548
script_cf_init_quest_sea_battle = 549
script_quest_sea_battle_consequences = 550
script_troop_talk_presentation = 551
script_warp_array_create = 552
script_warp_temp_array_create = 553
script_warp_array_delete = 554
script_warp_get_quick_array = 555
script_warp_array_clear = 556
script_warp_array_length = 557
script_warp_array_init_value = 558
script_warp_array_init_range = 559
script_warp_array_init_random = 560
script_warp_array_push = 561
script_cf_warp_array_pop = 562
script_warp_array_remove_last = 563
script_cf_warp_array_last = 564
script_cf_warp_array_set = 565
script_cf_warp_array_get = 566
script_warp_array_copy = 567
script_cf_warp_array_copy_range = 568
script_warp_array_reverse = 569
script_warp_array_filter = 570
script_warp_array_map = 571
script_warp_array_unique = 572
script_warp_array_sort = 573
script_warp_array_sort_range = 574
script_warp_array_sort_range_aux = 575
script_warp_array_merge_range_aux = 576
script_warp_array_shuffle = 577
script_warp_array_shuffle_range = 578
script_cf_warp_get_random = 579
script_warp_array_truncate = 580
script_warp_print_array = 581
script_warp_print_array_comma = 582
script_warp_print_array_and = 583
script_warp_number = 584
script_warp_troop_name = 585
script_warp_party_name = 586
script_warp_item_name = 587
script_cf_ascending = 588
script_cf_descending = 589
script_hide_number_of_hours = 544
script_cf_init_quest_defend_refugees = 545
script_cf_quest_defend_refugees_party_creation = 546
script_cf_init_quest_hunt_refugees = 547
script_cf_quest_hunt_refugees_party_creation = 548
script_cf_init_quest_reinforce_center = 549
script_cf_init_quest_sea_battle = 550
script_quest_sea_battle_consequences = 551
script_troop_talk_presentation = 552
script_warp_array_create = 553
script_warp_temp_array_create = 554
script_warp_array_delete = 555
script_warp_get_quick_array = 556
script_warp_array_clear = 557
script_warp_array_length = 558
script_warp_array_init_value = 559
script_warp_array_init_range = 560
script_warp_array_init_random = 561
script_warp_array_push = 562
script_cf_warp_array_pop = 563
script_warp_array_remove_last = 564
script_cf_warp_array_last = 565
script_cf_warp_array_set = 566
script_cf_warp_array_get = 567
script_warp_array_copy = 568
script_cf_warp_array_copy_range = 569
script_warp_array_reverse = 570
script_warp_array_filter = 571
script_warp_array_map = 572
script_warp_array_unique = 573
script_warp_array_sort = 574
script_warp_array_sort_range = 575
script_warp_array_sort_range_aux = 576
script_warp_array_merge_range_aux = 577
script_warp_array_shuffle = 578
script_warp_array_shuffle_range = 579
script_cf_warp_get_random = 580
script_warp_array_truncate = 581
script_warp_print_array = 582
script_warp_print_array_comma = 583
script_warp_print_array_and = 584
script_warp_number = 585
script_warp_troop_name = 586
script_warp_party_name = 587
script_warp_item_name = 588
script_cf_ascending = 589
script_cf_descending = 590


129 changes: 65 additions & 64 deletions ModuleSystem/ID/ID_scripts_wb.py
Expand Up @@ -545,69 +545,70 @@
script_cf_check_if_only_capital_left = 544
script_find_troop_of_faction = 545
script_cf_can_hide_from_enemy = 546
script_cf_init_quest_defend_refugees = 547
script_cf_quest_defend_refugees_party_creation = 548
script_cf_init_quest_hunt_refugees = 549
script_cf_quest_hunt_refugees_party_creation = 550
script_cf_init_quest_reinforce_center = 551
script_cf_init_quest_sea_battle = 552
script_quest_sea_battle_consequences = 553
script_troop_talk_presentation = 554
script_warp_array_create = 555
script_warp_temp_array_create = 556
script_warp_array_delete = 557
script_warp_get_quick_array = 558
script_warp_array_clear = 559
script_warp_array_length = 560
script_warp_array_init_value = 561
script_warp_array_init_range = 562
script_warp_array_init_random = 563
script_warp_array_push = 564
script_cf_warp_array_pop = 565
script_warp_array_remove_last = 566
script_cf_warp_array_last = 567
script_cf_warp_array_set = 568
script_cf_warp_array_get = 569
script_warp_array_copy = 570
script_cf_warp_array_copy_range = 571
script_warp_array_reverse = 572
script_warp_array_filter = 573
script_warp_array_map = 574
script_warp_array_unique = 575
script_warp_array_sort = 576
script_warp_array_sort_range = 577
script_warp_array_sort_range_aux = 578
script_warp_array_merge_range_aux = 579
script_warp_array_shuffle = 580
script_warp_array_shuffle_range = 581
script_cf_warp_get_random = 582
script_warp_array_truncate = 583
script_warp_print_array = 584
script_warp_print_array_comma = 585
script_warp_print_array_and = 586
script_warp_number = 587
script_warp_troop_name = 588
script_warp_party_name = 589
script_warp_item_name = 590
script_cf_ascending = 591
script_cf_descending = 592
script_game_get_upgrade_cost = 593
script_game_get_morale_of_troops_from_faction = 594
script_troop_tree_recursive_backtracking = 595
script_troop_tree_recursive_detect_max_tier = 596
script_prsnt_line = 597
script_get_page_no_of_troop_tree_for_troop_on = 598
script_init_camera = 599
script_dmod_cycle_forwards = 600
script_dmod_cycle_backwards = 601
script_agent_fix_division = 602
script_weapon_use_backup_weapon = 603
script_weapon_use_classify_agent = 604
script_cf_order_skirmish_check = 605
script_order_skirmish_begin_end = 606
script_order_skirmish_skirmish = 607
script_ce_get_troop_encumbrance = 608
script_get_closest_melee_enemy = 609
script_party_has_hero = 610
script_hide_number_of_hours = 547
script_cf_init_quest_defend_refugees = 548
script_cf_quest_defend_refugees_party_creation = 549
script_cf_init_quest_hunt_refugees = 550
script_cf_quest_hunt_refugees_party_creation = 551
script_cf_init_quest_reinforce_center = 552
script_cf_init_quest_sea_battle = 553
script_quest_sea_battle_consequences = 554
script_troop_talk_presentation = 555
script_warp_array_create = 556
script_warp_temp_array_create = 557
script_warp_array_delete = 558
script_warp_get_quick_array = 559
script_warp_array_clear = 560
script_warp_array_length = 561
script_warp_array_init_value = 562
script_warp_array_init_range = 563
script_warp_array_init_random = 564
script_warp_array_push = 565
script_cf_warp_array_pop = 566
script_warp_array_remove_last = 567
script_cf_warp_array_last = 568
script_cf_warp_array_set = 569
script_cf_warp_array_get = 570
script_warp_array_copy = 571
script_cf_warp_array_copy_range = 572
script_warp_array_reverse = 573
script_warp_array_filter = 574
script_warp_array_map = 575
script_warp_array_unique = 576
script_warp_array_sort = 577
script_warp_array_sort_range = 578
script_warp_array_sort_range_aux = 579
script_warp_array_merge_range_aux = 580
script_warp_array_shuffle = 581
script_warp_array_shuffle_range = 582
script_cf_warp_get_random = 583
script_warp_array_truncate = 584
script_warp_print_array = 585
script_warp_print_array_comma = 586
script_warp_print_array_and = 587
script_warp_number = 588
script_warp_troop_name = 589
script_warp_party_name = 590
script_warp_item_name = 591
script_cf_ascending = 592
script_cf_descending = 593
script_game_get_upgrade_cost = 594
script_game_get_morale_of_troops_from_faction = 595
script_troop_tree_recursive_backtracking = 596
script_troop_tree_recursive_detect_max_tier = 597
script_prsnt_line = 598
script_get_page_no_of_troop_tree_for_troop_on = 599
script_init_camera = 600
script_dmod_cycle_forwards = 601
script_dmod_cycle_backwards = 602
script_agent_fix_division = 603
script_weapon_use_backup_weapon = 604
script_weapon_use_classify_agent = 605
script_cf_order_skirmish_check = 606
script_order_skirmish_begin_end = 607
script_order_skirmish_skirmish = 608
script_ce_get_troop_encumbrance = 609
script_get_closest_melee_enemy = 610
script_party_has_hero = 611


9 changes: 7 additions & 2 deletions ModuleSystem/module_game_menus.py
Expand Up @@ -4410,7 +4410,7 @@
#(simulate_battle,3)
]),

#Kham - Hide from Enemy when party < 8
#Kham - Hide from Enemy when party < 8 or wildcraft skill allows it.

("encounter_hide",[
(eq, "$encountered_party_friendly", 0),
Expand Down Expand Up @@ -4523,7 +4523,7 @@
(str_store_string, s5, "@Your ability to survive in harsh environments allowed you to find a safe place to hide. (Your skill in Wildcraft allows you to hide with {reg1} troops)"),
(try_end),],
[("hide_close",[], "Continue...",[
(rest_for_hours, 4, 2, 0),
(call_script, "script_hide_number_of_hours"),
(leave_encounter),
(change_screen_return)])]),

Expand Down Expand Up @@ -9988,6 +9988,11 @@
],"Archers have better aim against orcs (doesn't aim above orc heads): {s7}",[
(store_sub, "$field_ai_archer_aim", 1, "$field_ai_archer_aim"),(val_clamp, "$field_ai_archer_aim", 0, 2), (jump_to_menu, "mnu_auto_field_ai")]),

("battlefield_animals",[(str_clear, s7),(try_begin),(neq, "$tld_spawn_battle_animals", 1),(str_store_string, s7, "@OFF"),
(else_try),(str_store_string, s7, "@ON"),(try_end),
],"Non-Warg / Horse Animal Companions Spawn in Battle: {s7}",[
(store_sub, "$tld_spawn_battle_animals", 1, "$tld_spawn_battle_animals"),(val_clamp, "$tld_spawn_battle_animals", 0, 2), (jump_to_menu, "mnu_auto_field_ai")]),

("game_options_compat_back",[],"Back to tweaks menu.",[(jump_to_menu, "mnu_camp_tweaks")]),

]),
Expand Down
1 change: 1 addition & 0 deletions ModuleSystem/module_mission_templates.py
Expand Up @@ -496,6 +496,7 @@
tld_spawn_battle_animals = ((is_a_wb_mt==1) and [

(ti_on_agent_spawn, 0,0, [
(eq, "$tld_spawn_battle_animals", 1),
(store_random_in_range, ":rnd", 0, 100),
(le, ":rnd", 45)], #45% chance to spawn a wolf
[
Expand Down
50 changes: 46 additions & 4 deletions ModuleSystem/module_scripts.py
Expand Up @@ -1917,6 +1917,7 @@ def set_item_score():
(assign, "$field_ai_archer_aim",1), #Kham - Battlefield Archer Aim
(assign, "$advanced_siege_ai",1), #Kham - Advanced Siege AI - default is ON
(assign, "$pref_cam_mode", 0), #Kham - Camera Preference - Default is Default
(assign, "$tld_spawn_battle_animals", 1), #Kham - Battle Animals


#Custom Camera Initialize
Expand Down Expand Up @@ -22929,12 +22930,45 @@ def set_item_score():
#Debug
(assign, reg1, ":skill"),
(assign, reg2, ":number"),
(display_message, "@Wildcraft Skill Hide Party Limit - {reg1}. Player Companions - {reg2}"),
#(display_message, "@Wildcraft Skill Hide Party Limit - {reg1}. Player Companions - {reg2}"),

(eq, ":continue", 1),

]),

("hide_number_of_hours", [
(party_get_num_companions, ":number", "p_main_party"),
(party_get_skill_level, ":skill", "p_main_party", skl_persuasion), #Wildcraft
(try_begin),
(le, ":number", 8),
(rest_for_hours, 8, 3, 0),
(else_try),
(ge, ":skill", 1),
(val_div, ":number", ":skill"),
(val_min, ":number", 8),
(assign, reg1, ":skill"),
(assign, reg2, ":number"),
(assign, ":hours", ":number"),
(try_begin),
(gt, ":hours", 7),
(rest_for_hours, 8,3,0),
(display_message, "@DEBUG: 8 Hours to hide"),
(else_try),
(is_between, ":hours", 6,8),
(rest_for_hours, 7, 3, 0),
(display_message, "@DEBUG: 7 Hours to hide"),
(else_try),
(is_between, ":hours", 4,6),
(rest_for_hours, 6,3,0),
(display_message, "@DEBUG: 6 Hours to hide"),
(else_try),
(lt, ":hours", 4),
(rest_for_hours, 5,3,0),
(display_message, "@DEBUG: 5 Hours to hide"),
(try_end),
(try_end),
]),

## Kham Quest Scripts

#Defend Refugee Quest
Expand Down Expand Up @@ -22976,6 +23010,8 @@ def set_item_score():
(ge, reg0, 10),
(neq, ":cur_target_center", ":giver_center_no"),#Skip current center

(party_slot_eq, ":cur_target_center", slot_center_destroyed, 0), #Center should not be destroyed

(assign, reg55, "pt_refugees"), #quest_target_party_template
(assign, reg56, ":cur_object_center"), #quest_object_center
(assign, reg57, ":cur_target_center"), #quest_target_center
Expand Down Expand Up @@ -23159,6 +23195,8 @@ def set_item_score():
(le, reg0, 20),
(neq, ":cur_target_center", ":giver_center_no"),#Skip current center

(party_slot_eq, ":cur_target_center", slot_center_destroyed, 0), #Center should not be destroyed

(assign, reg55, "pt_refugees"), #quest_target_party_template
(assign, reg56, ":cur_object_center"), #quest_object_center
(assign, reg57, ":cur_target_center"), #quest_target_center
Expand Down Expand Up @@ -23328,6 +23366,8 @@ def set_item_score():
(neq, ":result", -1),
(assign, ":quest_target_center", ":result"),

(party_slot_eq, ":quest_target_center", slot_center_destroyed, 0), #Center shouldn't be destroyed

(assign, reg55, "$g_encountered_party"),#quest_object_center
(assign, reg56, ":to_donate"), #quest_target_amount
(assign, reg57, ":quest_target_center"),#quest_target_center
Expand Down Expand Up @@ -23356,10 +23396,10 @@ def set_item_score():
(faction_get_slot, ":side", "$g_talk_troop_faction", slot_faction_side),
(neq, ":side", faction_side_good),
(assign, ":quest_side", 1), #1 is Evil
(display_message, "@DEBUG: Side Evil"),
#(display_message, "@DEBUG: Side Evil"),
(else_try),
(assign, ":quest_side", 0), #0 is Good
(display_message, "@DEBUG: Side Good"),
#(display_message, "@DEBUG: Side Good"),
(try_end),

(assign, ":continue", 0),
Expand Down Expand Up @@ -23388,7 +23428,7 @@ def set_item_score():
(assign, ":cur_object_center", "p_town_umbar_camp"), #If Umbar, Talk to Umbar Guild Master
(else_try),
(eq, "$g_talk_troop_faction", "fac_rhun"),
(assign, ":cur_object_center", "p_town_rhun_north_camp"), #If Rhun, Talk to Rhun North Camp GM.
(assign, ":cur_object_center", "p_town_rhun_main_camp"), #If Rhun, Talk to Rhun Main Camp GM.
(else_try),
(this_or_next|eq, "$g_talk_troop_faction", "fac_gondor"),
( eq, "$g_talk_troop_faction", "fac_dale"),
Expand All @@ -23408,6 +23448,8 @@ def set_item_score():
(assign, ":cur_target_center", "p_town_esgaroth"),
(try_end),

(party_slot_eq, ":cur_target_center", slot_center_destroyed, 0), #Cant be destroyed / captured.

(assign, reg55, "$g_talk_troop"), #quest_object_troop
(assign, reg56, ":cur_object_center"), #quest_object_center
(assign, reg57, ":cur_target_center"), #quest_target_center
Expand Down
1 change: 1 addition & 0 deletions ModuleSystem/variables.txt
Expand Up @@ -716,3 +716,4 @@ qst_refugee_party_3_killed
besieged_center_for_menu
besieged_by_troop_for_menu
besieged_by_faction_for_menu
tld_spawn_battle_animals
1 change: 1 addition & 0 deletions ModuleSystem/variables_wb.txt
Expand Up @@ -758,3 +758,4 @@ tld_options_overlay_exit
besieged_center_for_menu
besieged_by_faction_for_menu
besieged_by_troop_for_menu
tld_spawn_battle_animals

0 comments on commit 67e11a7

Please sign in to comment.