Mount & Blade
0 of 0

File information

Last updated

Original upload

Created by

This username has already been taken

Uploaded by

theusernameisalready

Virus scan

Safe to use

About this mod

This download will let you fight on bridges whenver you are in close proximity to one on the world map. This is not plug-and-play, so some compilation is required.

Permissions and credits
This is a mirror of Arch3r OS: Bridge Battles with modifications, since the original download link broke. This download will let you fight on bridges whenver you are in close proximity to one on the world map. This is not plug-and-play, so some compilation is required.
Here are my module_parties and module_scenes: Keep in mind this was originally for a mod using an expanded 1.011 map so the scenes and map icons may not correspond to terrain (there are 4-5 different scenes). These file excerpts are also included in the download in txt format.


("bridge_1",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_2",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_3",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_4",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_5",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
# ("bridge_6",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
# [],[], "outer_terrain_plain"),
# ("bridge_7",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
# [],[], "outer_terrain_plain"),
# ("bridge_8",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
# [],[], "outer_terrain_plain"),
("bridge_9",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_10",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_11",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_12",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_13",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_14",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_15",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_16",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_17",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c",
[],[], "outer_terrain_plain"),
("bridge_18",sf_generate,"none", "none", (0,0),(100,100),-100,"0x300bc5430001e0780000448a0000049f00007932",
["the_happy_boar","","zendar_merchant"],[], "outer_terrain_plain_1"),

Bridges 6 to 8 are excluded, while bridge_18 is a dummy entry to mark the end of bridge scenes.

# bridge_a
("bridge_1","Zendar Memorial Highway",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(11.56, 59.89),[], 90),
("bridge_2","Kelredan Kantilever",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(2.14, 34.13),[], 64),
("bridge_3","Curin Channel",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-66.92, 72.98),[], 10),
("bridge_4","Buillin Bridge",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-76.94, 67.25),[], 90),
("bridge_5","Oxenstierna Overpass",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(82.16, 79.18),[], 135),

# ("bridge_6","6",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(85.60, 64.32),[], 120),
# ("bridge_7","7",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(82.47, 43.28),[], 75),
# ("bridge_8","8",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(79.46, 21.19),[], 55),

("bridge_9","Dramug Drivethrough",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(62.13, 48.21),[], 60),
("bridge_10","Slezkh Span",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(71.05, 54.55),[], 35),
("bridge_11","Ilvia Intersection",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-54.85, -41.40),[], 90),
("bridge_12","Fearichen Ford",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(12.17, 79.57),[], 135),
("bridge_13","Kulum Krossing",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(17.16, 81.16),[], 90),
("bridge_14","Udiniad Underpass",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(21.88, 78.80),[], 75),
("bridge_15","Pagundur Passageway",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-68.01, -29.60),[], 15),
####################
#NEW
####################
("bridge_16","Verden Viaduct",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-100.063,48.4162),[], 10),
("bridge_17","Aldelen Arch",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-94.6534,81.2015),[], 64),
# ("bridge_18","18",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(106.375,80.02),[], 90),

These constants make it easier to use stuff.

bridges_begin = "p_Bridge_1"
bridges_end = "p_looter_spawn_point"
bridge_scenes_begin = "scn_Bridge_1"
bridge_scenes_end = "scn_Bridge_18"
bridge_encounter_distance = 100


And here's how you get it to work in singleplayer encounters which call the following script:

("setup_random_scene",
[
#try for bridges
(party_get_position, pos1, "p_main_party"),
(assign, ":end", bridges_end),
(try_for_range, ":bridge", bridges_begin, ":end"),
(party_get_position,pos2,":bridge"),
(get_distance_between_positions,":cur_distance",pos1,pos2),
(lt,":cur_distance", bridge_encounter_distance),
#match found, break loop
(assign, ":end", bridges_begin),
(str_store_party_name, s1, ":bridge"),
(store_sub, ":scene_to_use", ":bridge", bridges_begin), #get offset
(val_add, ":scene_to_use", bridge_scenes_begin),
(display_message, "@Next battle will take place on the {s1}!"),
(try_end),

(try_begin),
(eq, ":end", bridges_end), #bridge not found
(party_get_current_terrain, ":terrain_type", "p_main_party"),
(try_begin), #all parts below should be the same as in native
(eq, ":terrain_type", rt_steppe),
(assign, ":scene_to_use", "scn_random_scene_steppe"),
...
(try_end),
(try_end),

You could make the bridge check after terrain checking for rt_bridge or rt_water instead of before, but some people don't put bridges on proper terrains and you might want to be able to fight on a bridge without being right on top of one.