Skip to content

Commit

Permalink
* Overhaul night bandits quest; improve spawn system, improve scaling…
Browse files Browse the repository at this point in the history
…, make bandit type dependent on center faction
  • Loading branch information
In-Vain committed Sep 25, 2022
1 parent 4795355 commit 8696813
Show file tree
Hide file tree
Showing 51 changed files with 370 additions and 351 deletions.
12 changes: 6 additions & 6 deletions ModuleSystem/module_dialogs.py
Expand Up @@ -11889,27 +11889,27 @@

#deal with night bandits
[anyone,"merchant_quest_requested",[(eq, "$random_merchant_quest_no", "qst_deal_with_night_bandits")],
"Do I indeed! There's a group of rogue goblins harassing the place, and I'm at the end of my rope as to how to deal with them.\
"Do I indeed! There's a group of bandits harassing the place, and I'm at the end of my rope as to how to deal with them.\
They've been ambushing and robbing drunken recruits under the cover of night,\
and then fading away quick as lightning when the guards finally show up. We've not been able to catch a one of them.\
They only attack lone people, never daring to show themselves when there's a group about.\
I need someone who can take on these goblins alone and win. That seems to be the only way of getting rid of them.\
I need someone who can take on these bandits alone and win. That seems to be the only way of getting rid of them.\
Are you up to the task?", "merchant_quest_deal_with_night_bandits",[]],

[anyone,"merchant_quest_brief",[(eq,"$random_merchant_quest_no","qst_deal_with_night_bandits")],
"There's a group of rogue goblins harassing the place, and I'm at the end of my rope as to how to deal with them.\
"There's a group of bandits harassing the place, and I'm at the end of my rope as to how to deal with them.\
They've been ambushing and robbing drunken recruits under the cover of night,\
and then fading away quick as lightning when the guards finally show up. We've not been able to catch a one of them.\
They only attack lone people, never daring to show themselves when there's a group about.\
I need someone who can take on these goblins alone and win. That seems to be the only way of getting rid of them.\
I need someone who can take on these bandits alone and win. That seems to be the only way of getting rid of them.\
Are you up to the task?", "merchant_quest_deal_with_night_bandits",[]],

[anyone|plyr,"merchant_quest_deal_with_night_bandits", [],
"Killing rogue goblins? Why, certainly!", "deal_with_night_bandits_quest_taken",[
"Killing rogue bandits? Why, certainly!", "deal_with_night_bandits_quest_taken",[
(str_store_party_name_link, s14, "$g_encountered_party"),
(str_store_troop_name, s9, "$g_talk_troop"),
(setup_quest_text, "qst_deal_with_night_bandits"),
(str_store_string, s2, "@The {s9} of {s14} has asked you to deal with a group of goblins making trouble in {s14}. They only come out at night, and only attack lone people on the streets."),
(str_store_string, s2, "@The {s9} of {s14} has asked you to deal with a group of bandits making trouble in {s14}. They only come out at night, and only attack lone people on the streets."),
(call_script, "script_start_quest", "qst_deal_with_night_bandits", "$g_talk_troop")]],

[anyone|plyr, "merchant_quest_deal_with_night_bandits", [], "No, I'm not interested.", "merchant_quest_stall",[]],
Expand Down
31 changes: 21 additions & 10 deletions ModuleSystem/module_mission_templates.py
Expand Up @@ -2004,15 +2004,23 @@
(40,mtef_visitor_source|mtef_team_1,af_override_horse,aif_start_alarmed,1,[]),(41,mtef_visitor_source|mtef_team_1,af_override_horse,aif_start_alarmed,1,[]),(42,mtef_visitor_source|mtef_team_1,af_override_horse,aif_start_alarmed,1,[]),(43,mtef_visitor_source|mtef_team_1,af_override_horse,aif_start_alarmed,1,[]),
(44,mtef_visitor_source|mtef_team_1,af_override_horse,aif_start_alarmed,1,[]),(45,mtef_visitor_source|mtef_team_1,af_override_horse,aif_start_alarmed,1,[]),(46,mtef_visitor_source|mtef_team_1,af_override_horse,aif_start_alarmed,1,[]),(47,mtef_visitor_source|mtef_team_1,af_override_horse,aif_start_alarmed,1,[]),
],
tld_common_wb_muddy_water +
[ (ti_on_agent_spawn,0,0,[],[(store_trigger_param_1, ":agent_no"),
(agent_get_troop_id, ":troop_no", ":agent_no"),
(neq, ":troop_no", "trp_player"),
(agent_set_team, ":agent_no", 1),
] + (is_a_wb_mt==1 and [
(agent_set_is_alarmed, ":agent_no", 1),
] or []) + [
]),
tld_common_wb_muddy_water +

[ (ti_on_agent_spawn,0,0,[],
[(store_trigger_param_1, ":agent_no"),
(agent_get_troop_id, ":troop_no", ":agent_no"),
(try_begin),
(neq, ":troop_no", "trp_player"),
(agent_set_team, ":agent_no", 1),
] + (is_a_wb_mt==1 and [
(agent_set_is_alarmed, ":agent_no", 1),
] or []) + [
(else_try),
(entry_point_get_position, pos1, 29),
(agent_set_position, ":agent_no", pos1),
(try_end),
]),

(ti_before_mission_start, 0, 0,[],[(team_set_relation, 1, 0, 0),(team_set_relation, 2, 0, 0), #MV: both player and bandits neutral to guards
#remove cabbage guard spawn points
(replace_scene_props, "spr_troop_prison_guard", "spr_empty"),
Expand All @@ -2025,7 +2033,10 @@
(replace_scene_props, "spr_troop_civilian_sitting_ground", "spr_empty"),
(replace_scene_props, "spr_troop_civilian_sitting_chair", "spr_empty"),
]),
common_inventory_not_available,

common_inventory_not_available,
] + (is_a_wb_mt==1 and [ hp_shield_init, hp_shield_trigger, ] or []) + [

(ti_tab_pressed , 0, 0,[(display_message, "@Cannot leave now.")], []),
(ti_on_leave_area, 0, 0,[(try_begin),(eq, "$g_defending_against_siege", 0),(assign,"$g_leave_town",1),(try_end)], []),
(0, 0, ti_once,[],[(call_script, "script_music_set_situation_with_culture", mtf_sit_ambushed),(set_party_battle_mode)]),
Expand Down
4 changes: 2 additions & 2 deletions ModuleSystem/module_quests.py
Expand Up @@ -191,8 +191,8 @@
( "deal_with_looters", "Deal with Tribal Orcs", qf_random_quest,
"The Elder of {s4} has asked you to deal with several bands of tribal orcs around {s4}."
),
( "deal_with_night_bandits", "Deal with Rogue Goblins", qf_random_quest,
"The Elder of {s14} has asked you to deal with night goblins at {s14}."
( "deal_with_night_bandits", "Deal with Night Bandits", qf_random_quest,
"The Elder of {s14} has asked you to deal with night bandits at {s14}."
),
( "deliver_food", "Supply {s3} with {reg5} Units of food", qf_random_quest,
"The {s9} of {s3} asked you to bring him {reg5} units of food in 10 days."
Expand Down
52 changes: 29 additions & 23 deletions ModuleSystem/module_scripts.py
Expand Up @@ -7555,9 +7555,10 @@ def set_item_score():
(else_try),
(eq, ":quest_no", "qst_deal_with_night_bandits"),
(neg|faction_slot_eq, ":giver_faction_no", slot_faction_side, faction_side_good), #TLD: evil factions only
(is_between, ":player_level", 0, 15),
(is_between, ":player_level", 0, 20),
(is_between, ":giver_center_no", centers_begin, centers_end),
(party_set_slot, ":giver_center_no", slot_center_has_bandits, "trp_mountain_goblin"), #TLD: goblins
(faction_get_slot, ":bandit_troop", ":giver_faction_no", slot_faction_tier_1_troop),
(party_set_slot, ":giver_center_no", slot_center_has_bandits, ":bandit_troop"),
#(party_slot_ge, ":giver_center_no", slot_center_has_bandits, 1),
(assign, ":quest_target_center", ":giver_center_no"),
(store_faction_of_party,":quest_object_faction",":quest_target_center"),
Expand Down Expand Up @@ -14182,38 +14183,43 @@ def set_item_score():
(modify_visitors_at_site, ":cur_scene"),
(reset_visitors),
(party_get_slot, ":bandit_troop", "$current_town", slot_center_has_bandits),
(troop_get_upgrade_troop, ":bandit_troop2", ":bandit_troop", 0),
(store_character_level, ":level", "trp_player"),
(assign, ":spawn_amount", 1),
(assign, "$num_center_bandits", 0),

(assign, ":spawn_amount", 1),
(assign, "$num_center_bandits", 0),
(try_begin),
(gt, ":level", 15),
(gt, ":level", 12),
(store_random_in_range, ":random_no", 0, 100),
(lt, ":random_no", ":level"),
(assign, ":spawn_amount", 2),
(try_end),
(val_add, "$num_center_bandits", ":spawn_amount"),
(set_visitors, 11, ":bandit_troop", ":spawn_amount"),
(assign, ":spawn_amount", 1),
(try_begin),
(gt, ":level", 20),
(assign, ":spawn_amount", 3),
(else_try),
(gt, ":level", 6),
(store_random_in_range, ":random_no", 0, 100),
(lt, ":random_no", ":level"),
(assign, ":spawn_amount", 2),
(try_end),
(set_visitors, 10, ":bandit_troop", ":spawn_amount"),
(val_add, "$num_center_bandits", ":spawn_amount"),
(set_visitors, 30, ":bandit_troop", ":spawn_amount"),

(try_begin),
(gt, ":level", 9),
(assign, ":spawn_amount", 1),
(try_begin),
(gt, ":level", 25),
(store_random_in_range, ":random_no", 0, 100),
(lt, ":random_no", ":level"),
(assign, ":spawn_amount", 2),
(try_end),
(set_visitors, 12, ":bandit_troop", ":spawn_amount"),
(val_add, "$num_center_bandits", ":spawn_amount"),
(gt, ":level", 3),
(assign, ":spawn_amount", 1),
(try_begin),
(gt, ":level", 15),
(store_random_in_range, ":random_no", 0, 100),
(lt, ":random_no", ":level"),
(assign, ":spawn_amount", 3),
(else_try),
(gt, ":level", 9),
(store_random_in_range, ":random_no", 0, 100),
(lt, ":random_no", ":level"),
(assign, ":spawn_amount", 2),
(try_end),
(set_visitors, 31, ":bandit_troop2", ":spawn_amount"),
(val_add, "$num_center_bandits", ":spawn_amount"),
(try_end),

#(assign, "$town_entered", 1),
(assign, "$all_doors_locked", 1),

Expand Down
Binary file modified SceneObj/scn_beorning_village_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_beorning_village_siege.sco
Binary file not shown.
Binary file modified SceneObj/scn_cair_andros_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_cirith_ungol_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_dol_guldur_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_dol_guldur_north_outpost_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_dunland_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_east_osgiliath_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_erebor_outside.sco
Binary file not shown.
Binary file modified SceneObj/scn_goblin_north_outpost_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_goblin_south_outpost_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_gundabad_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_gundabad_mirkwood_outpost.sco
Binary file not shown.
Binary file modified SceneObj/scn_gundabad_ne_outpost_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_gundabad_nw_outpost_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_gundabad_nw_outpost_center_siege.sco
Binary file not shown.
Binary file modified SceneObj/scn_gundabad_siege.sco
Binary file not shown.
Binary file modified SceneObj/scn_harad_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_isengard_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_khand_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_minas_morgul_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_morannon_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_moria_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_north_rhun_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_orc_sentry_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_pelargir_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_rhun_south_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_troll_cave_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_umbar_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_uruk_hai_h_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_uruk_hai_outpost_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_uruk_hai_r_camp_center.sco
Binary file not shown.
Binary file modified SceneObj/scn_west_osgiliath_center.sco
Binary file not shown.
Binary file modified _wb/SceneObj/scn_ironhill_camp_center.sco
Binary file not shown.
Binary file added _wb/SceneObj/scn_rhun_north_camp_center.sco
Binary file not shown.
6 changes: 3 additions & 3 deletions _wb/conversation.txt
Expand Up @@ -1097,9 +1097,9 @@ dlga_merchant_quest_brief:troublesome_bandits_quest_brief 4095 547 1 31 2 14411
dlga_troublesome_bandits_quest_brief:merchant_quest_taken_bandits 69631 565 0 Alright._I_will_hunt_down_the_goblins. 566 23 1103 1 4 526 3 1224979098644774912 31 12 1100 2 1224979098644774912 18 2133 2 1224979098644774913 72057594037927936 2171 2 1224979098644774914 0 6 3 1224979098644774915 0 1224979098644774914 1673 3 1224979098644774913 100 0 3 0 4 0 2136 3 1224979098644774916 0 100 30 2 1224979098644774914 12 2107 2 1224979098644774914 2 30 2 1224979098644774914 1224979098644774916 1613 3 1224979098644774913 969 1 3 0 506 3 31 8 1224979098644774913 2301 2 144115188075855949 18 2302 2 144115188075855950 18 2322 2 9 144115188075855891 2342 2 4 144115188075855998 1290 1 31 2320 2 2 1585267068834416462 1 3 255 31 144115188075855891
dlga_merchant_quest_taken_bandits:close_window 4095 566 0 You_will?_I_am_so_happy_to_hear_that._Good_luck_to_you. 6 1 1 1 403
dlga_troublesome_bandits_quest_brief:merchant_quest_stall 69631 565 0 Sorry._I_don't_have_time_for_this_right_now. 552 0
dlga_merchant_quest_requested:merchant_quest_deal_with_night_bandits 4095 535 1 31 2 144115188075855945 33 Do_I_indeed!_There's_a_group_of_rogue_goblins_harassing_the_place,_and_I'm_at_the_end_of_my_rope_as_to_how_to_deal_with_them._They've_been_ambushing_and_robbing_drunken_recruits_under_the_cover_of_night,_and_then_fading_away_quick_as_lightning_when_the_guards_finally_show_up._We've_not_been_able_to_catch_a_one_of_them._They_only_attack_lone_people,_never_daring_to_show_themselves_when_there's_a_group_about._I_need_someone_who_can_take_on_these_goblins_alone_and_win._That_seems_to_be_the_only_way_of_getting_rid_of_them._Are_you_up_to_the_task? 567 0
dlga_merchant_quest_brief:merchant_quest_deal_with_night_bandits 4095 547 1 31 2 144115188075855945 33 There's_a_group_of_rogue_goblins_harassing_the_place,_and_I'm_at_the_end_of_my_rope_as_to_how_to_deal_with_them._They've_been_ambushing_and_robbing_drunken_recruits_under_the_cover_of_night,_and_then_fading_away_quick_as_lightning_when_the_guards_finally_show_up._We've_not_been_able_to_catch_a_one_of_them._They_only_attack_lone_people,_never_daring_to_show_themselves_when_there's_a_group_about._I_need_someone_who_can_take_on_these_goblins_alone_and_win._That_seems_to_be_the_only_way_of_getting_rid_of_them._Are_you_up_to_the_task? 567 0
dlga_merchant_quest_deal_with_night_bandits:deal_with_night_bandits_quest_taken 69631 567 0 Killing_rogue_goblins?_Why,_certainly! 568 5 2342 2 14 144115188075855998 2322 2 9 144115188075855891 1290 1 33 2320 2 2 1585267068834416463 1 3 255 33 144115188075855891
dlga_merchant_quest_requested:merchant_quest_deal_with_night_bandits 4095 535 1 31 2 144115188075855945 33 Do_I_indeed!_There's_a_group_of_bandits_harassing_the_place,_and_I'm_at_the_end_of_my_rope_as_to_how_to_deal_with_them._They've_been_ambushing_and_robbing_drunken_recruits_under_the_cover_of_night,_and_then_fading_away_quick_as_lightning_when_the_guards_finally_show_up._We've_not_been_able_to_catch_a_one_of_them._They_only_attack_lone_people,_never_daring_to_show_themselves_when_there's_a_group_about._I_need_someone_who_can_take_on_these_bandits_alone_and_win._That_seems_to_be_the_only_way_of_getting_rid_of_them._Are_you_up_to_the_task? 567 0
dlga_merchant_quest_brief:merchant_quest_deal_with_night_bandits 4095 547 1 31 2 144115188075855945 33 There's_a_group_of_bandits_harassing_the_place,_and_I'm_at_the_end_of_my_rope_as_to_how_to_deal_with_them._They've_been_ambushing_and_robbing_drunken_recruits_under_the_cover_of_night,_and_then_fading_away_quick_as_lightning_when_the_guards_finally_show_up._We've_not_been_able_to_catch_a_one_of_them._They_only_attack_lone_people,_never_daring_to_show_themselves_when_there's_a_group_about._I_need_someone_who_can_take_on_these_bandits_alone_and_win._That_seems_to_be_the_only_way_of_getting_rid_of_them._Are_you_up_to_the_task? 567 0
dlga_merchant_quest_deal_with_night_bandits:deal_with_night_bandits_quest_taken 69631 567 0 Killing_rogue_bandits?_Why,_certainly! 568 5 2342 2 14 144115188075855998 2322 2 9 144115188075855891 1290 1 33 2320 2 2 1585267068834416463 1 3 255 33 144115188075855891
dlga_merchant_quest_deal_with_night_bandits:merchant_quest_stall 69631 567 0 No,_I'm_not_interested. 552 0
dlga_deal_with_night_bandits_quest_taken:mayor_pretalk 4095 568 0 That_takes_a_weight_off_my_shoulders,_{playername}._You_can_expect_a_fine_reward_if_you_come_back_successful._Just_don't_get_yourself_killed,_eh? 490 0
dlga_merchant_quest_requested:merchant_quest_brief.9 4095 535 9 31 2 144115188075855945 28 4 0 542 3 144115188075856308 158 0 2320 2 12 1585267068834416464 5 0 2320 2 12 1585267068834416465 3 0 526 3 1224979098644774912 28 1 2330 2 13 1224979098644774912 The_garrison_commander_here_is_looking_for_a_resourceful_warrior_to_take_a_group_of_{s12}_to_{s13}. 547 0
Expand Down

0 comments on commit 8696813

Please sign in to comment.