From 7ca3aa325c3733fe62515beff5cc869a19ab211b Mon Sep 17 00:00:00 2001 From: "Wowzewow (Wezzy)" <42310821+alsoandanswer@users.noreply.github.com> Date: Sun, 8 Jan 2023 07:06:46 +0800 Subject: [PATCH] Cargo tug new sprite and fixes vehicles. (#15474) --- code/modules/lock/key.dm | 2 + code/modules/mining/mine_items.dm | 4 +- code/modules/vehicles/bike.dm | 28 ++-- code/modules/vehicles/cargo_train.dm | 118 +++++++-------- code/modules/vehicles/pussywagon.dm | 137 +++++------------- code/modules/vehicles/train.dm | 69 ++++----- code/modules/vehicles/vehicle.dm | 30 ++-- html/changelogs/wezzy_cargotugchug.yml | 42 ++++++ icons/mob/screen/radial.dmi | Bin 25324 -> 23068 bytes icons/obj/cart.dmi | Bin 1215 -> 0 bytes icons/obj/vehicles.dmi | Bin 22252 -> 26825 bytes .../vehicles}/bike_stand_down.ogg | Bin .../vehicles}/bike_stand_up.ogg | Bin .../vehicles}/bike_start.ogg | Bin .../vehicles/{pussywagon => }/button.ogg | Bin .../vehicles/{pussywagon => }/key_in.ogg | Bin .../vehicles/{pussywagon => }/key_out.ogg | Bin .../vehicles/{pussywagon => }/start.ogg | Bin .../components/view/vehicles/pussywagon.vue | 12 +- .../components/view/vehicles/trainengine.vue | 4 +- 20 files changed, 212 insertions(+), 234 deletions(-) create mode 100644 html/changelogs/wezzy_cargotugchug.yml delete mode 100644 icons/obj/cart.dmi rename sound/{misc => machines/vehicles}/bike_stand_down.ogg (100%) rename sound/{misc => machines/vehicles}/bike_stand_up.ogg (100%) rename sound/{misc => machines/vehicles}/bike_start.ogg (100%) rename sound/machines/vehicles/{pussywagon => }/button.ogg (100%) rename sound/machines/vehicles/{pussywagon => }/key_in.ogg (100%) rename sound/machines/vehicles/{pussywagon => }/key_out.ogg (100%) rename sound/machines/vehicles/{pussywagon => }/start.ogg (100%) diff --git a/code/modules/lock/key.dm b/code/modules/lock/key.dm index 227b3fc4b11..dc995534396 100644 --- a/code/modules/lock/key.dm +++ b/code/modules/lock/key.dm @@ -3,6 +3,8 @@ desc = "Used to unlock things." icon = 'icons/obj/items.dmi' icon_state = "keys" + drop_sound = 'sound/items/drop/ring.ogg' + pickup_sound = 'sound/items/pickup/ring.ogg' w_class = ITEMSIZE_TINY var/key_data = "" diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index a992100cd1b..825ca0b4da8 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -548,7 +548,6 @@ /obj/vehicle/train/cargo/engine/mining name = "mine cart engine" desc = "A ridable electric minecart designed for pulling other mine carts." - icon = 'icons/obj/cart.dmi' icon_state = "mining_engine" on = FALSE powered = TRUE @@ -568,7 +567,7 @@ . = ..() cell = new /obj/item/cell/high(src) key = new /obj/item/key/minecarts(src) - var/image/I = new(icon = 'icons/obj/cart.dmi', icon_state = "[icon_state]_overlay", layer = src.layer + 0.2) //over mobs + var/image/I = new(icon = 'icons/obj/vehicles.dmi', icon_state = "[icon_state]_overlay", layer = src.layer + 0.2) //over mobs add_overlay(I) turn_off() @@ -601,7 +600,6 @@ /obj/vehicle/train/cargo/trolley/mining name = "mine-cart" desc = "A modern day twist to an ancient classic." - icon = 'icons/obj/cart.dmi' icon_state = "mining_trailer" anchored = FALSE passenger_allowed = FALSE diff --git a/code/modules/vehicles/bike.dm b/code/modules/vehicles/bike.dm index 8047de26aac..3ca49c0e212 100644 --- a/code/modules/vehicles/bike.dm +++ b/code/modules/vehicles/bike.dm @@ -1,7 +1,11 @@ /obj/vehicle/bike name = "space-bike" desc = "Space wheelies! Woo!" - desc_info = "Click on the bike, click resist, or type resist into the red bar below to get off. Drag yourself onto the bike to mount it, toggle the engine to be able to drive around. Deploy the kickstand to prevent movement by driving and dragging. Drag it onto yourself to access its mounted storage. Resist to get off. Use ctrl-click to quickly toggle the engine if you're adjacent (only when vehicle is stationary). Alt-click will similarly toggle the kickstand." + desc_info = "Click-drag yourself onto the bike to climb onto it.
\ + - Click-drag it onto yourself to access its mounted storage.
\ + - CTRL-click the bike to toggle the engine.
\ + - ALT-click to toggle the kickstand which prevents movement by driving and dragging.
\ + - Click the resist button or type \"resist\" in the command bar at the bottom of your screen to get off the bike." icon = 'icons/obj/bike.dmi' icon_state = "bike_off" dir = SOUTH @@ -47,7 +51,7 @@ if(!on) turn_on() src.visible_message("\The [src] rumbles to life.", "You hear something rumble deeply.") - playsound(src, 'sound/misc/bike_start.ogg', 100, 1) + playsound(src, 'sound/machines/vehicles/bike_start.ogg', 100, 1) else turn_off() src.visible_message("\The [src] putters before turning off.", "You hear something putter slowly.") @@ -64,19 +68,21 @@ if(kickstand) user.visible_message("\The [user] puts up \the [src]'s kickstand.", "You put up \the [src]'s kickstand.", "You hear a thunk.") - playsound(src, 'sound/misc/bike_stand_up.ogg', 50, 1) + playsound(src, 'sound/machines/vehicles/bike_stand_up.ogg', 50, 1) else if(isturf(loc)) var/turf/T = loc if (T.is_hole) - to_chat(user, "You don't think kickstands work here.") + to_chat(user, SPAN_WARNING("You don't think kickstands work here.")) return user.visible_message("\The [user] puts down \the [src]'s kickstand.", "You put down \the [src]'s kickstand.", "You hear a thunk.") - playsound(src, 'sound/misc/bike_stand_down.ogg', 50, 1) + + playsound(src, 'sound/machines/vehicles/bike_stand_down.ogg', 50, 1) if(ismob(pulledby)) var/mob/M = pulledby M.stop_pulling() + kickstand = !kickstand anchored = (kickstand || on) @@ -94,7 +100,7 @@ /obj/vehicle/bike/MouseDrop_T(var/atom/movable/C, mob/user as mob) if(!load(C)) - to_chat(user, "You were unable to load \the [C] onto \the [src].") + to_chat(user, SPAN_WARNING("You were unable to load \the [C] onto \the [src].")) return /obj/vehicle/bike/attack_hand(var/mob/user as mob) @@ -121,7 +127,9 @@ return FALSE /obj/vehicle/bike/Move(var/turf/destination) - if(kickstand) return + if(kickstand) + visible_message("The kickstand prevents the bike from moving!") + return //these things like space, not turf. Dragging shouldn't weigh you down. var/is_on_space = check_destination(destination) @@ -218,7 +226,7 @@ M.attack_log += text("\[[time_stamp()]\] rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].") msg_admin_attack("[src] crashed into [key_name(H)] at (JMP)" ) src.visible_message(SPAN_DANGER("\The [src] smashes into \the [H]!")) - playsound(src, 'sound/weapons/punch4.ogg', 50, 1) + playsound(src, /decl/sound_category/swing_hit_sound, 50, 1) H.apply_damage(20, BRUTE) H.throw_at(get_edge_target_turf(loc, loc.dir), 5, 1) H.apply_effect(4, WEAKEN) @@ -228,7 +236,7 @@ else var/mob/living/L = AM src.visible_message(SPAN_DANGER("\The [src] smashes into \the [L]!")) - playsound(src, 'sound/weapons/punch4.ogg', 50, 1) + playsound(src, /decl/sound_category/swing_hit_sound, 50, 1) L.throw_at(get_edge_target_turf(loc, loc.dir), 5, 1) L.apply_damage(20, BRUTE) M.setMoveCooldown(10) @@ -338,4 +346,4 @@ if(is_type_in_typecache(destination,types) || pulledby) return TRUE else - return FALSE \ No newline at end of file + return FALSE diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index d96e3e1c7e8..79f29ae14fb 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -1,7 +1,12 @@ /obj/vehicle/train/cargo/engine name = "cargo train tug" desc = "A ridable electric car designed for pulling cargo trolleys." - desc_info = "Click resist, or type resist into the red bar below to get off. Use ctrl-click to quickly toggle the engine if you're adjacent (only when vehicle is stationary). Alt-click will grab the keys, if present. If latched, you can use a wrench to unlatch." + desc_info = "Click-drag yourself onto the truck to climb onto it.
\ + - CTRL-click the truck to open the ignition and controls menu.
\ + - ALT-click the truck to remove the key from the ignition.
\ + - Click the truck to open a UI menu.
\ + - Click the resist button or type \"resist\" in the command bar at the bottom of your screen to get off the truck.
\ + - If latched, you can use a wrench to unlatch." icon = 'icons/obj/vehicles.dmi' icon_state = "cargo_engine" on = 0 @@ -10,13 +15,14 @@ load_item_visible = 1 load_offset_x = 0 - mob_offset_y = 7 + mob_offset_y = 10 var/vueui_template = "trainengine" var/car_limit = 3 //how many cars an engine can pull before performance degrades active_engines = 1 var/obj/item/key/key + var/key_type = /obj/item/key/cargo_train /obj/item/key/cargo_train name = "key" @@ -36,7 +42,7 @@ load_item_visible = 1 load_offset_x = 0 - load_offset_y = 4 + load_offset_y = 5 mob_offset_y = 8 //------------------------------------------- @@ -48,7 +54,8 @@ /obj/vehicle/train/cargo/engine/proc/setup_engine() cell = new /obj/item/cell/high(src) - key = new /obj/item/key/cargo_train(src) + if(ispath(key_type)) + key = new key_type(src) var/image/I = new(icon = icon, icon_state = "[icon_state]_overlay", layer = src.layer + 0.2) //over mobs add_overlay(I) turn_off() @@ -96,14 +103,12 @@ return TRUE if(href_list["toggle_engine"]) - if(!on) - start_engine(usr) - else - stop_engine(usr) + turn_on(usr) if(href_list["key"]) remove_key(usr) if(href_list["unlatch"]) - tow.unattach(usr) + if(tow) + tow.unattach(usr) SSvueui.check_uis_for_change(src) /obj/vehicle/train/cargo/engine/Move(var/turf/destination) @@ -125,18 +130,19 @@ /obj/vehicle/train/cargo/trolley/attackby(obj/item/W as obj, mob/user as mob) if(open && W.iswirecutter()) passenger_allowed = !passenger_allowed - user.visible_message("[user] [passenger_allowed ? "cuts" : "mends"] a cable in [src].","You [passenger_allowed ? "cut" : "mend"] the load limiter cable.") + user.visible_message(SPAN_NOTICE("[user] [passenger_allowed ? "cuts" : "mends"] a cable in [src]."),SPAN_NOTICE("You [passenger_allowed ? "cut" : "mend"] the load limiter cable.")) else ..() /obj/vehicle/train/cargo/engine/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/key/cargo_train)) + if(istype(W, key_type)) if(!key) user.drop_from_inventory(W, src) - key = W - to_chat(user, SPAN_NOTICE("You slide the key into the ignition.")) + key = W // put the key in the ignition + to_chat(user, SPAN_NOTICE("You slide \the [W] into \the [src]\s ignition.")) + playsound(src, 'sound/machines/vehicles/key_in.ogg', 50, FALSE) else - to_chat(user, SPAN_WARNING("\The [src] already has a key inserted.")) + to_chat(user, SPAN_NOTICE("There is already a key in \the [src]\s ignition.")) return ..() @@ -181,13 +187,23 @@ //------------------------------------------- // Train procs //------------------------------------------- -/obj/vehicle/train/cargo/engine/turn_on() +/obj/vehicle/train/cargo/engine/turn_on(var/mob/user) if(!key) audible_message("\The [src] whirrs, but the lack of a key causes it to shut down.") return - else + if(!on) ..() - update_stats() + to_chat(user, SPAN_NOTICE("You turn on \the [src]\s ignition.")) + playsound(src, 'sound/machines/vehicles/button.ogg', 50, FALSE) + playsound_in(src, 'sound/machines/vehicles/start.ogg', 50, FALSE, time = 1 SECOND) + else + turn_off(user) + update_stats() + +/obj/vehicle/train/cargo/engine/turn_off(var/mob/user) + ..() + to_chat(user, SPAN_NOTICE("You turn off \the [src]\s ignition.")) + playsound(src, 'sound/machines/vehicles/button.ogg', 50, FALSE) /obj/vehicle/train/cargo/RunOver(var/mob/living/carbon/human/H) var/list/parts = list(BP_HEAD, BP_CHEST, BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM) @@ -243,14 +259,23 @@ to_chat(user, "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition.") to_chat(user, "The charge meter reads [cell? round(cell.percent(), 0.01) : 0]%") -/obj/vehicle/train/cargo/engine/CtrlClick(var/mob/user) - if(Adjacent(user)) - if(on) - stop_engine(usr) - else - start_engine(usr) - else - return ..() +/obj/vehicle/train/cargo/engine/CtrlClick(mob/user) + if(load && load != user) + to_chat(user, SPAN_WARNING("You can't interact with \the [src] while it's in use.")) + return + var/list/options = list( + "Toggle Ignition" = image(src, "train_keys"), + "Toggle Latching" = image(src, "cargo_trailer", NORTH) + ) + var/chosen_option = show_radial_menu(user, src, options, radius = 42, require_near = TRUE, tooltips = TRUE) + if (!chosen_option) + return + switch(chosen_option) + if("Toggle Ignition") + turn_on(user) + if("Toggle Latching") + if(tow) + tow.unattach(user) /obj/vehicle/train/cargo/engine/AltClick(var/mob/user) if(Adjacent(user)) @@ -258,33 +283,16 @@ else return ..() -/obj/vehicle/train/cargo/engine/proc/start_engine(var/mob/user) - if(on) - to_chat(user, SPAN_WARNING("The engine is already running.")) - return - - turn_on() - if(on) - to_chat(user, SPAN_NOTICE("You start \the [src]'s engine.")) - else if(cell.charge < charge_use) - to_chat(user, SPAN_WARNING("\The [src] is out of power.")) - -/obj/vehicle/train/cargo/engine/proc/stop_engine(var/mob/user) - if(!on) - to_chat(user, SPAN_WARNING("The engine is already stopped.")) - return - - turn_off() - if(!on) - to_chat(user, SPAN_NOTICE("You stop [src]'s engine.")) /obj/vehicle/train/cargo/engine/proc/remove_key(var/mob/user) if(!key) to_chat(usr, SPAN_WARNING("\The [src] doesn't have a key inserted!")) return if(load && load != usr) + to_chat(usr, SPAN_WARNING("You can't remove \the [key] from \the [src] while it's in use.")) return - + to_chat(user, SPAN_NOTICE("You take out \the [key] out of \the [src]\s ignition.")) + playsound(src, 'sound/machines/vehicles/key_out.ogg', 50, FALSE) if(on) turn_off() @@ -356,26 +364,6 @@ cut_overlays() ..() -//------------------------------------------- -// Latching/unlatching procs -//------------------------------------------- - -/obj/vehicle/train/cargo/engine/latch(obj/vehicle/train/T, mob/user) - if(!istype(T) || !Adjacent(T)) - return 0 - - //if we are attaching a trolley to an engine we don't care what direction - // it is in and it should probably be attached with the engine in the lead - if(istype(T, /obj/vehicle/train/cargo/trolley)) - T.attach_to(src, user) - else - var/T_dir = get_dir(src, T) //figure out where T is wrt src - - if(dir == T_dir) //if car is ahead - src.attach_to(T, user) - else if(reverse_direction(dir) == T_dir) //else if car is behind - T.attach_to(src, user) - //------------------------------------------------------- // Stat update procs // diff --git a/code/modules/vehicles/pussywagon.dm b/code/modules/vehicles/pussywagon.dm index c42477ce99e..c66b9f97f88 100644 --- a/code/modules/vehicles/pussywagon.dm +++ b/code/modules/vehicles/pussywagon.dm @@ -1,31 +1,16 @@ // // Custodial Truck a.k.a. Pussy Wagon -// +// /obj/vehicle/train/cargo/engine/pussywagon name = "\improper C8000 deluxe custodial truck" desc = "A C8000 deluxe custodial truck. The bread to the custodians' butter." - desc_info = "Click-drag yourself onto the truck to climb onto it.
\ - - CTRL-click the truck to open the ignition and controls menu.
\ - - ALT-click the truck to remove the key from the ignition.
\ - - Click the truck to open a UI menu.
\ - - Click the resist button or type \"resist\" in the command bar at the bottom of your screen to get off the truck." - icon = 'icons/obj/vehicles.dmi' - icon_state = "janicart_off" + icon_state = "janicart" // this will be update_icon'd away anyway. light_range = 0 // Turn off the light inherited from the parent. move_delay = 3 mob_offset_y = 7 load_offset_x = -13 vueui_template = "pussywagon" - - // Unique Variables - var/cart_icon = "janicart" - var/ignition = FALSE - -/obj/vehicle/train/cargo/engine/pussywagon/setup_engine() - cell = new /obj/item/cell/high(src) - key = null - update_icon() - toggle_ignition() + key_type = /obj/item/key/janicart /obj/vehicle/train/cargo/engine/pussywagon/vueui_data_change(list/data, mob/user, datum/vueui/ui) data = ..() @@ -59,100 +44,50 @@ toggle_mop(usr) SSvueui.check_uis_for_change(src) -/obj/vehicle/train/cargo/engine/pussywagon/attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/key/janicart)) - if(!key) - user.drop_from_inventory(W, src) - key = W - to_chat(user, SPAN_NOTICE("You slide \the [W] into \the [src]'s ignition.")) - playsound(src, 'sound/machines/vehicles/pussywagon/key_in.ogg', 50, FALSE) - else - to_chat(user, SPAN_NOTICE("There is already a key in [src]'s ignition.")) - return - ..() - /obj/vehicle/train/cargo/engine/pussywagon/CtrlClick(mob/user) if(load && load != user) to_chat(user, SPAN_WARNING("You can't interact with \the [src] while its in use.")) return var/list/options = list( - "Toggle Ignition" = image('icons/mob/screen/radial.dmi', "custodial_key"), - "Toggle Mopping" = image('icons/mob/screen/radial.dmi', "custodial_mop"), - "Toggle Vacuuming" = image('icons/mob/screen/radial.dmi', "custodial_vacuum") + "Toggle Ignition" = image(src, "keys"), + "Toggle Mopping" = image('icons/obj/janitor.dmi', "mop"), + "Toggle Vacuuming" = image('icons/obj/janitor.dmi', "trashbag3"), + "Toggle Latching" = image(src, "jantrolley", NORTH) ) var/chosen_option = show_radial_menu(user, src, options, radius = 42, require_near = TRUE, tooltips = TRUE) if (!chosen_option) return switch(chosen_option) if("Toggle Ignition") - toggle_ignition(user) + turn_on(user) if("Toggle Mopping") toggle_mop(user) if("Toggle Vacuuming") toggle_hoover(user) + if("Toggle Latching") + if(tow) + tow.unattach(user) -/obj/vehicle/train/cargo/engine/pussywagon/AltClick(mob/user) - if(Adjacent(user)) - remove_key(user) - else - return ..() - -/obj/vehicle/train/cargo/engine/pussywagon/remove_key(mob/user) - if(!key) - to_chat(user, SPAN_NOTICE("There is no key in \the [src]'s ignition.")) - return - - if(load && load != user) - to_chat(usr, SPAN_WARNING("You can't remove \the [key] from \the [src] while its in use.")) - return - - to_chat(user, SPAN_NOTICE("You take out \the [key] out of \the [src]'s ignition.")) - playsound(src, 'sound/machines/vehicles/pussywagon/key_out.ogg', 50, FALSE) - - user.put_in_hands(key) - key = null - - if(ignition) - toggle_ignition() - -/obj/vehicle/train/cargo/engine/pussywagon/proc/toggle_ignition(mob/user) - if(!ignition) - if(!key) - to_chat(user, SPAN_NOTICE("There is no key in \the [src]'s ignition.")) - return - else - if(stat) - return FALSE - if(powered && cell.charge < charge_use) - return FALSE - to_chat(user, SPAN_NOTICE("You turn on \the [src]'s ignition.")) - playsound(src, 'sound/machines/vehicles/pussywagon/button.ogg', 50, FALSE) - playsound_in(src, 'sound/machines/vehicles/pussywagon/start.ogg', 50, FALSE, time = 1 SECOND) - on = TRUE - ignition = TRUE - update_stats() - update_icon() - return TRUE - else - to_chat(user, SPAN_NOTICE("You turn off \the [src]'s ignition.")) - if(key) - playsound(src, 'sound/machines/vehicles/pussywagon/button.ogg', 50, FALSE) - on = FALSE - ignition = FALSE - update_icon() - - if(tow) - if(istype(tow, /obj/vehicle/train/cargo/trolley/pussywagon)) - var/obj/vehicle/train/cargo/trolley/pussywagon/PW = tow - PW.trolley_off() +/obj/vehicle/train/cargo/engine/pussywagon/turn_off() + ..() + if(tow) + if(istype(tow, /obj/vehicle/train/cargo/trolley/pussywagon)) + var/obj/vehicle/train/cargo/trolley/pussywagon/PW = tow + PW.trolley_off() /obj/vehicle/train/cargo/engine/pussywagon/proc/toggle_mop(mob/user) + if(use_check_and_message(user)) + return + if(!tow) + to_chat(user, SPAN_NOTICE("You must hitch the trolley first.")) + return if(on && tow) if(istype(tow, /obj/vehicle/train/cargo/trolley/pussywagon)) var/obj/vehicle/train/cargo/trolley/pussywagon/PW = tow if(!PW.bucket) to_chat(user, SPAN_NOTICE("You must insert a reagent container first.")) return + playsound(src, 'sound/machines/vehicles/button.ogg', 50, FALSE) if(!PW.mopping) to_chat(user, SPAN_NOTICE("You turn on \the [src]'s rotary mop.")) else @@ -162,10 +97,13 @@ /obj/vehicle/train/cargo/engine/pussywagon/proc/toggle_hoover(mob/user) if(use_check_and_message(user)) return - + if(!tow) + to_chat(user, SPAN_NOTICE("You must hitch the trolley first.")) + return if(on && tow) if(istype(tow, /obj/vehicle/train/cargo/trolley/pussywagon)) var/obj/vehicle/train/cargo/trolley/pussywagon/PW = tow + playsound(src, 'sound/machines/vehicles/button.ogg', 50, FALSE) if(!PW.hoover) to_chat(user, SPAN_NOTICE("You turn on \the [src]'s vacuum cleaner.")) else @@ -174,13 +112,12 @@ /obj/vehicle/train/cargo/engine/pussywagon/update_icon() cut_overlays() - if(on) - add_overlay(image('icons/obj/vehicles.dmi', "[cart_icon]_on_overlay", MOB_LAYER + 1)) - icon_state = "[cart_icon]_on" + add_overlay(image('icons/obj/vehicles.dmi', "[initial(icon_state)]_on_overlay", MOB_LAYER + 1)) + icon_state = "[initial(icon_state)]_on" else - add_overlay(image('icons/obj/vehicles.dmi', "[cart_icon]_off_overlay", MOB_LAYER + 1)) - icon_state = "[cart_icon]_off" + add_overlay(image('icons/obj/vehicles.dmi', "[initial(icon_state)]_overlay", MOB_LAYER + 1)) + icon_state = "[initial(icon_state)]" ..() /obj/vehicle/train/cargo/engine/pussywagon/Move(var/turf/destination) @@ -209,7 +146,7 @@ /obj/vehicle/train/cargo/trolley/pussywagon name = "\improper C8000 deluxe custodial trolley" - desc = "The trolley of the C8000 deluxe custodial truck, equipped with a dual rotary mop and a industrial vacuum cleaner." + desc = "The trolley of the C8000 deluxe custodial truck, equipped with a dual rotary mop and a NT-X1 industrial vacuum cleaner." icon = 'icons/obj/vehicles.dmi' icon_state = "jantrolley" light_range = 0 // Turn off the light inherited from the parent. @@ -293,17 +230,17 @@ /obj/vehicle/train/cargo/trolley/pussywagon/proc/toggle_mop() if(!mopping) playsound(src, 'sound/machines/hydraulic_long.ogg', 20, TRUE) - mopping = 1 + mopping = TRUE else - mopping = 0 + mopping = FALSE update_icon() /obj/vehicle/train/cargo/trolley/pussywagon/proc/toggle_hoover() if(!hoover) playsound(src, 'sound/machines/hydraulic_long.ogg', 20, TRUE) - hoover = 1 + hoover = TRUE else - hoover = 0 + hoover = FALSE update_icon() /obj/vehicle/train/cargo/trolley/pussywagon/update_icon() @@ -317,4 +254,4 @@ desc = "A stainless steel key fob with a chromed top attached to a small steel key ring. The key ring has a pink tag hanging on it, with the text \"Pussy Wagon\"." icon = 'icons/obj/vehicles.dmi' icon_state = "keys" - w_class = ITEMSIZE_TINY \ No newline at end of file + w_class = ITEMSIZE_TINY diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm index 039c5390398..3a8b15efb8e 100644 --- a/code/modules/vehicles/train.dm +++ b/code/modules/vehicles/train.dm @@ -60,13 +60,13 @@ if(emagged) if(isliving(A)) var/mob/living/M = A - visible_message("[src] knocks over [M]!") + visible_message(SPAN_WARNING("[src] knocks over [M]!")) var/def_zone = ran_zone() M.apply_effects(5, 5) //knock people down if you hit them M.apply_damage(22 / move_delay, BRUTE, def_zone,) // and do damage according to how fast the train is going if(isliving(load)) var/mob/living/D = load - to_chat(D, "You hit [M]!") + to_chat(D, SPAN_WARNING("You hit [M]!")) msg_admin_attack("[D.name] ([D.ckey]) hit [M.name] ([M.ckey]) with [src]. (JMP)",ckey=key_name(D),ckey_target=key_name(M)) @@ -83,35 +83,18 @@ //------------------------------------------- // Interaction procs //------------------------------------------- -/obj/vehicle/train/relaymove(mob/user, direction) - var/turf/T = get_step_to(src, get_step(src, direction)) - if(!T) - to_chat(user, "You can't find a clear area to step onto.") - return 0 - - if(user != load) - if(user in src) //for handling players stuck in src - this shouldn't happen - but just in case it does - user.forceMove(T) - return 1 - return 0 - - unload(user, direction) - - to_chat(user, "You climb down from [src].") - - return 1 /obj/vehicle/train/MouseDrop_T(var/atom/movable/C, mob/user as mob) - if(user.buckled_to || user.stat || user.restrained() || !Adjacent(user) || !user.Adjacent(C) || !istype(C) || (user == C && !user.canmove)) + if(use_check_and_message(user)) return if(istype(C, /obj/vehicle/train)) - attach_to(C, user) + latch(C, user) else if(!load(C)) - to_chat(user, "You were unable to load [C] on [src].") + to_chat(user, SPAN_WARNING("You were unable to load \the [C] on \the [src].")) /obj/vehicle/train/attack_hand(mob/user as mob) - if(user.stat || user.restrained() || !Adjacent(user)) + if(use_check_and_message(user)) return 0 if(user != load && (user in src)) @@ -134,32 +117,31 @@ //Note: there is a modified version of this in code\modules\vehicles\cargo_train.dm specifically for cargo train engines /obj/vehicle/train/proc/attach_to(obj/vehicle/train/T, mob/user) if (get_dist(src, T) > 1) - to_chat(user, "[src] is too far away from [T] to hitch them together.") + to_chat(user, SPAN_WARNING("\The [src] is too far away from \the [T] to hitch them together.")) return if (lead) - to_chat(user, "[src] is already hitched to something.") + to_chat(user, SPAN_WARNING("\The [src] is already hitched to something.")) return if (T.tow) - to_chat(user, "[T] is already towing something.") + to_chat(user, SPAN_WARNING("\The [T] is already towing something.")) return //check for cycles. var/obj/vehicle/train/next_car = T while (next_car) if (next_car == src) - to_chat(user, "That seems very silly.") + to_chat(user, SPAN_WARNING("That seems very silly.")) return next_car = next_car.lead //latch with src as the follower - lead = T + src.lead = T T.tow = src - set_dir(lead.dir) - - if(user) - to_chat(user, "You hitch [src] to [T].") + set_dir(get_dir(src, lead)) + to_chat(user, SPAN_NOTICE("You hitch \the [src] to \the [T].")) + playsound(loc, 'sound/items/wrench.ogg', 70, TRUE) update_stats() @@ -167,27 +149,36 @@ //detaches the train from whatever is towing it /obj/vehicle/train/proc/unattach(mob/user) if (!lead) - to_chat(user, "[src] is not hitched to anything.") + to_chat(user, SPAN_WARNING("\The [src] is not hitched to anything.")) return lead.tow = null lead.update_stats() - to_chat(user, "You unhitch [src] from [lead].") + to_chat(user, SPAN_NOTICE("You unhitch \the [src] from \the [lead].")) lead = null update_stats() +//------------------------------------------- +// Latching/unlatching procs +//------------------------------------------- + /obj/vehicle/train/proc/latch(obj/vehicle/train/T, mob/user) if(!istype(T) || !Adjacent(T)) return 0 - var/T_dir = get_dir(src, T) //figure out where T is wrt src - - if(dir == T_dir) //if car is ahead + //if we are attaching a trolley to an engine we don't care what direction + // it is in and it should probably be attached with the engine in the lead + if(istype(T, /obj/vehicle/train/cargo/engine)) src.attach_to(T, user) - else if(reverse_direction(dir) == T_dir) //else if car is behind - T.attach_to(src, user) + else + var/T_dir = get_dir(src, T) //figure out where T is wrt src + + if(dir == T_dir) //if car is ahead + src.attach_to(T, user) + else if(reverse_direction(dir) == T_dir) //else if car is behind + T.attach_to(src, user) //returns 1 if this is the lead car of the train /obj/vehicle/train/proc/is_train_head() diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 1965194fc9a..82eb1a66f69 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -16,6 +16,8 @@ buckle_movable = 1 buckle_lying = 0 + var/buckling_sound = 'sound/effects/metal_close.ogg' + var/attack_log = null var/on = 0 var/health = 0 //do not forget to set health for your vehicle! @@ -284,10 +286,10 @@ if(load || C.anchored) return 0 - // if a create/closet, close before loading - var/obj/structure/closet/crate = C - if(istype(crate)) - crate.close() + // if a crate/closet, close before loading + var/obj/structure/closet/closet = C + if(istype(closet)) + closet.close() C.forceMove(loc) C.set_dir(dir) @@ -295,20 +297,30 @@ load = C + C.layer = src.layer + 0.1 if(load_item_visible) C.pixel_x += load_offset_x if(ismob(C)) C.pixel_y += mob_offset_y else - C.pixel_y += load_offset_y + if(istype(C, /obj/structure/closet/crate)) + C.pixel_y += load_offset_y + else + C.pixel_y += 10 if(ismob(C)) - buckle(C) + buckle(C, C) return 1 -/obj/vehicle/user_unbuckle(var/mob/user) - unload(user) +/obj/vehicle/buckle(var/atom/movable/C, mob/user) + . = ..() + if(. && buckling_sound) + playsound(src, buckling_sound, 20) + +/obj/vehicle/user_unbuckle(var/mob/user, var/direction) + ..() + unload(user, direction) return /obj/vehicle/proc/unload(var/mob/user, var/direction) @@ -358,7 +370,7 @@ load.layer = initial(load.layer) if(ismob(load)) - unbuckle(load) + unbuckle(user) load = null diff --git a/html/changelogs/wezzy_cargotugchug.yml b/html/changelogs/wezzy_cargotugchug.yml new file mode 100644 index 00000000000..dd872127e6b --- /dev/null +++ b/html/changelogs/wezzy_cargotugchug.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixes vehicle latching and boarding." + - rscadd: "Adds new sounds and quality of life features to vehicles." \ No newline at end of file diff --git a/icons/mob/screen/radial.dmi b/icons/mob/screen/radial.dmi index eeaceadb69247b0bc5df4924369b96a3ba961083..cabda5bc2e02d02c289c046f44fe297708b3b4bc 100644 GIT binary patch literal 23068 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 Z#hNSBf0js009~Jf%LZopg}QbT{{z0B|Kk7v literal 25324 zcmaI7WmFu&)-F7Q6C478;GP5s7Bn~n*Whl!g9dk(;7)*`!GgOFgF|q4clW{JHs?L> zkNd5=KGtHw6L`Sfn3uQlZR{;Sg->}rj@b#YcZ)*IpYGDg9182Ht_>F8tXXo zCH(~B9%204U$iOS_nv-15*Rv;s2Shadvv{R^iW=y(dDoYUH?5_2wSVv8Z`P^&bjZQ z%;cVAoLS~$l+$IIdkjZJx$uP{_2h3*EcTT6)YLk*`Rc)0ft|}Kuf*l+p^x?rk&sgV zvue>fzMO9{#+iz<=U`J09vF<^j8z-0I!B>FLSTXd6LLrH3SY4P7-o>h(-9e=M^Z9y zQerrJ#^W>`4m)MqxJNT-fJWY(so3A$5}nG z9_|xg>S2lqQ%6uFT!%`si3&H$?E8@{P0PW zLmq5rvS`0K!+oD;#||?D9vvyy+998En}_|#C9*`+*e6hJNk- zNQweE)ildCE9pN)u%Vu>aOsI0TUQ3N{R7(1k}QWT5q_a3bJYbOK|)`@Udu-d z+`aA<)8Oe}+K~MyT-pyC3c?Gfh#(Mte@5+0t`7^2-9FoYSh;0F?wlW8PfM62Wtxzb z-d{#F$f)@Gq&;t7iL#!WAW7g)fsJ!GPMbZ6V!Sh~n*Ys2&P`YPA@l|k&pv{EKd}u- zIKQdlTBI68kuyI-^!@Ya_?sp@UO0Z7#vJ_czf@k)y|MH2>C(LGfdTD$HIw$3L=GqM z?esS@F}Dx+BO?gDgFMV-*#&!79Zt6l8JTId;Jhd!RP}&U_*9l=zhNl$eByyU zI~F&KEf=TWd)kZ>Cgh)bR16S^M;C|fMERH1F|N#c z2Fm4w_qglgtgkx$kyWIG;xH$85>k^DCVA>N-h>N=n^^Ywxk1^mlPsJDo;8^|b~4_4 zC*IYWN)j&f3g)1Ax!ZK2V|(hGcJ6?w36=)>dJwFh7S7J(-R|1azgoFxtQuL&LHH!F zZhm?BTVC5~zno;XPHInInTP)@k5I+?D^m3#dyOzh8ieAtVbS(fI}}(6_WC0n)X)qu z6vb-DIVM~XOM{V)33(elAf%DMG_%ZYJFT$ND&~>VT;6J*QL!oR26Z@MF9}hpwlKWd zH^7l5s~D~3J1iNcoi3h)s2nqE=F@EW11}PzOqV-Ax_hHm!WDdlijS2N^@uz2=Cn(v zx+;H|g%?wH=Nb;;)^B;pj-`Rr!G=-Lq5#EzmEx4OoA)wp^z!gKEDhk*ud+OBa-{%m z??-3mR^c;Pw-{fS*_I;VRxD;OmE5AWI_vm_%n08kTVKflMDSmt<53 z0x3;c1_VTjY4RDSt+)TG`fQWGn5j@ZmI0G5SQ@iwzgRB(gw~;t)?vXO9Y$m~hGs$A zjOhP)dpau5u8s7o2^Z!tYpVog#u^omISW1Fh}BfR=e=s)9Z2AF&lB@Cb8Nh8xEvm{C>wk7gM8H z?04)VLWrDCiG|3^NwPZ&$g!UYWu4dC%BNT68a}PrK~sDNA)S>;m#%b&`pGTp z6U(MP+BuB&Q}bF;3E_HljL10pRXR~}+hF$B)QKOu#s8x41B-@-kXM8vOK*qKOCu=A zBXes>^kS0*5a{1gQ)qtV+8*RH2>uXAexuRC^QkfwnK7v18F8LE>F$)SwoNOr7rQ67 zzh&`k6@&v8a4BQ!E{u(Zj|@fcyB{wn;G|*;Sc}BxH()hCiSJVH7HC0Lp6r6DhughI z*K!1}1`*XW9Ao+a;3m;StE$RxDQo=W4Qvnd+gzIe!rBsf<)44;r_m}Sx<*Vbgws2+ zqJuw7=TF{hHZRKFYxO@u0+D?W50oFhiDNq?e22Qs&*)jsrh+R@wCEt&13oguviPf3 zU#Ud3d~1!~gG~c5JHDd;J*XGHL*4X9g9d$ms5S=_Dn`&!d|+D$(SxM|f9Zmd0@}@s zS-_?&gy``GaDxUcgmmo!9a1lNhqRX%cKHv>wW&WhP2g4XSS!z1FUpf9iwIGrfb|sg znE#*yK?80LrSOls_jpg5Y&a9%LPopdtHzK%KCjHNfxzpWSpjq_s`pTLelJvq%ntYY zsq@VO4bB7cRt~~sU|^U|LKB@nNh#c!~f}++5Hl6?Id7XZO@CoWwP@bCU)xHcAba?fyRmO{uy?+HGxjY8>v)8@Cv~k`1Y&92p(KdwiUX;jt^fUTGdL z7MSqnvk#lXQ@GobkzRO`14^{SOt{9Ts+A{x$nQ{tNPCDf)4V&2jyI&Aw2bfZUlXpuH^UA z>ef!YWA050|Bx8XXdgdHBx{e<8x}o(wWah!*##rJR_O;&^YTyPh1l0Sgz*77w+~~_VDoRwu@2z}twVeg=OI%dkV6*THq z)Q%F`!fl4RKM?F*DBbB}#{E7Eb&Hn9jxzmlZ8~nGZmw)eT-#f}aKsMhg~72dLCr_c zvm;eEVHqtDJZ+U*hwh%0|1oez+nTH_<2ta-eQY3V*$Jz#+=uV1fgM;uuN*&F2{ z)|z>aaVzW|(x5p4@$R?X!~K013B1lM{A>)KpW-iq^at-**CRup>SB3zzLaN=VSQ$Z zXyu*PC{Uw{!9PDKSmRo zpaee(5xx7SH^QgG+Sdq>i}k77>P2U%X)I0HP1TgucTV-?rVJ-ad^D~NF7gO2UxRsd z8feWO+J@e@-?0jm)kiX3i3IWo7{9%Q^2GSddEb(bV|0JF+=(b_cJJ6ahwV0fdJg-*n5c6zQUf*$_F?gVf z^=CK?1)04*b(Vetpxe`N?i3R>oP>FT;P*ZtW2o_U>DHNPEH8M(%b)i$AvB2r|Kn5*hI?|ZljB|TQrSYe|`RHN2B`qIq%>Ezr zM}29_yz2V_^2OUK0E1fNn%64ls@?d-Qi3Q5gU`=@I6rOe914&j1mJw=>UFVKz#>i! zX42-&Rd_bc$*BA)#=mNo;TEhQC#UK)ibpS>1%Z&o)5(c^`$p5jjhV)2-QgdEX2Q?P z#>RF-DH@!WpO2K6mq*C?opAW~=ben@HXp%{`j80W03iWCD+R^_cd)n-^#z%)i*aY0$@hnkzM&jP_%B%!wT zw!PN%OTpycH^Po-#pRH<-QC@UEC!&TKYv!ZUs*Q7(y&N*0}to5Y~-4qJB%;fPTEHJ zb@ZdtgOM1c!safdH8cuJq~h;r=DxRC+t`$qmK25#dOSa3uoJ&UDi4d`d$>C&*N-(; zR|ws;`R73dIz3?g{55K_TJSVaZPwd42ij38i- zds;C-+`r{B_ww`UR8&`H3SHrvTYeYT6hI*_saF+kNKj{QS3de`p*_ z3dMjoqoSrBLnkv_waY8Q;o#W8ev=uxd+`Q)ri|1fGc)S!TDFt#7mOSbXrG(4H>0@{ zSaT+@-u`%ceAI5^YO{-9E+)C^4qVJ93K*)YJ9aq_HJ0~r3xlbL86Q6|c3Bm3N!k=o z3cL@PJ^%X`(1#6)XgFU}92hY?CKi@NK@_QdW!?0%Fcn|Odj^J14C5Y(GG%(-4c}9{ z?jWj;)VMhRo*wZ`Hn5Pga(u}a4i3&cCMG9xWz0R%VBhGUBE3E>$JEk zIS5uBfekkMVhf9lJmFDK@>`NkJlZV}e6GvAx2hj!nITXOkT#Wy z=P?Qvz;0gW@KDrw(Qw;=W{6gssRSs&iHW+SgFm=6H3RSp(i;qCnSo$+BXAeW#{rJqJzhI&0OAGNm%vbO?vacjruV4B)n;HQ z2fr2DcP3k*PmywRDYvua_;a*azU!GTYqM)2gruYn)9UQXN}Ob7eethfao-XXjgd9o-m zO+gJS1)W4m2ZY#n1&DFt3F?97bEk>+RX)5AqSAxggJ<@2v|02aG3i1h-bcL#-uK1)l>n9<_rXtM$NX!(c(e=NvKbfDg&PYEMGUz76A@XgM}#M%9fAQGsn zySs=HmF48uufHwD$$EOZ?<0f+cz^Yu#^zRd>^NWhP(eB+qTmEZTx_{)Jn7OicZ?Tr zWXq4H*3TglHz+J}Vq$^OC^FUzw8P$r+>C=)k@CAi(xrm#m+$Bz$fE(H8i0ldzp{9E zavFzD%!w{vfCq|6NC*rJL^xzBwh)JZV$gGRPlbmTVC?gc+@~HEV55o$dSPgtS(%cgdeEPv7Fk0jUw|0jEpS9^yjm7MM z5#FY!34vR&;rDJz%DMq#@b|_tW9?%)Dxc<^4nrj~dV}`aa~GTr1JTsqVoyWhhgH)_ zNO6|HIHaGcTAtYcj%1KTo}w_HA-1gGiX!qND5*LP(~}6d7*}pxdTRwfxc0MN`|QkB zH&`0HRn%P5leaaKk@mm1@SKf{^PFa&6@Y}7I7moHG=Jf~DEppy1pwhKhTpEUx{A7b zfUQjr$Ba%u{0kzR8vs0&BJ5IHOSz(;AD~OG|J)xEOZ59 zy6%pAd#$H@benRTGF%HfU0NYnsjn~DPW{u@!vej^;&vHsQGXBGrJ%yK#6rx%grb9< zL8IsyK16G4R_$jJYwmE3du};Dsx$VBRa`9+T-)8*ZDu~sEzr@?QBktuoar`Yi8ix0 zOfE*;4474#9hilNhhN}M07eK{@`lKOM14a8x94p?67w0x7k65h&LpNZC!XmBdpwmB zk7>7_M?nDrvaD@XKwXb-Z*E+DQ@K(xNqH%#sNi~|$-bP8G@t6Wo9P+Ge?$$_0GvKy zNY_zT8t4UpmFb(|HawN_-hu-|g8X(8+Yn>15mwzx#o(Vl(|DmPdb`3RXQCgP7B(#w zoV_Y<>-+hej177k{B2mr0=Rq{ct}ARnfHB-5Ty|p50CEf=g6NwrOS(pl}Y?7xNChG zCdYB3ED(AzFyT`{I!ucVlvQPKe2pc@y&K9-R-Vi5-c!8Rqsot`YuJ{-ltg0|E_(Bw z03RR!9nW4@R+prhU0HoYtKgGwQ!qo}=Y!Wv1wQkt?;iJQoIR_+dt3_8LIZ+XP~G>r zh&XBwN8Y5WBP&2zpY1=I3cw^@KOgS2-}>0XgKP#HbRFVr+NpuAvK(6>t-ZLIQ26`s zFUI2{jyS6uz0uUQF1DA)Qv*(;eUiQ#I_)5QLlj(p6f7*4UQgsD&a?3Co~GfGav!eT zdknm%Ig`^`az~jXe7CBmviVBGA+LJ*v@81`#=1Lie&~&8u=xzP*ZU2V^u7p~DoO{r zlatf#Xf`}9F0SL}d|6kJj*~IA~%A0cJbsc3p7h>b17hu^|<72B)N}8)>$)laeGM2Z0smxvW5bUWY|S ze%aQYn|G4>Fy<;p64s`uTjfAn`u&(Tc*;TkW!Z?N(VSG(2<_v|1m+a7)X|DmF%^0xNFRY#1pz9=?0s zJ)I|t5l`nDm@FiMr2jtwdDmbLm*LlP!*w}D&Ki3>MB5*I1YO7y{9$>ow zVs>}A#~vEMFp;gU6T%G&{j=Un!z9-~G)kWf{@rx9ZJ@^mLH?MYU4>oOR7dN$KMx=N zhIxBpVgd~M?0g8-y+F9{GuS*5YTLF%Xg?yDx0`ttlzKEQpuo|C%j>N zy?nU0%n9e#F1_!wNt)qN<8wi@__6SLL_8gQy!#5Ic#cm2N7CeY9Qsi=6=#kWDH#`U zOz`MKx}Xo)XJ=O$ets{S<)?!I*TdVq2K=&U$o;Eu^--4(o?qN1YqC{n@q?@C*Y z|N4cdj7NvkSV=KY2C`j=SbSJ+{P!xo*pZ{75x@dW*|*WjG|Nz0t6JmUD3A_$#UH)Q z{euJhyGx5pd8zh%xwO~#zRN+4 zrha-!S+PK^#f5F}Q0B&;>&S=*$NE(E)XPgpK)>Jt_TeXk0>@>p1e)2Z4oL(1ZgdQP z9nfD*>(nO>Nic#^}2i1ebuu& z{$R1j!~>T=a#6zd0qIcrS*}@?ytt?l_08WAaPonYl9Jzex%}Pt4VY)!2RmlG3*X1u z)cEzuqWGIVWNY${vQ`_oCYPD%ENWg}tuu+urY7FWnHj4p8FNd^uZMDI3-IQC!@=(u zKlIpovm??>y6T7 zc_2I4k`S!E{e-}+hP{_@JX?w8JHYMz!2N-N!LWXz71p>1c7wTiBdIu^L{@xmO@3}D z=8DSvi#&siW;0hO=-UY*bAd^=ZvBg4uq6@ne%Sf!{=_SuPeGtzbCuE?+R?g3j-Gq!5_~yvX}8``L7`=FBwL}HFFud zwyPWtYlIZf}_L{M+mP(!yh6baZw2R=rB$ov24^2e!D5Csn?DX1J5> z7O>5Y3!16{e?Xalj33R{!uQ&TMnqg{>H`)S_(=6Pa6&(Ru)AismJr$cjAr+dz@do zcBTh3f4_qsVXbRyL}$wz1_eKu*WVvg!>gmLHz=SOU50K*lFZ?gK+m9=XJi>~-9BSp zcwT5=E}nXO?x~Y=o#K=9I(fjLeo_lIkh#Z4o~MbB5!IzLmwu31KWj4RGvpGbe6tQ& zhpe2MJmr3Nzz#~=7oOz7XTn5Q9(R{X`rPVK2Wb7ERXP$>`I-4kOF-ut4FaXUKY+*B zq(mX?-N@o0O4rpIgKtiwP{ZAzTIasXf_EIwE3Ly;khfEkkGnG`3Z~pbQ?@$GYAFO!bR5fc3HZ>GR~qGB=ZXBT&8A-ujUKn;EC( zm&fJ%;P;>G+T>iJQ{a#DKdx*xMIw78OQs%gWmcYY}7u)IM3CrD`gX1y;5lRral(ePg zrcI!z8@XNT23plD1IHnWr*2pZM}J~r68TGDI4!2rVvGJPWS^}axc4207s=DWhjqH` znWy4XQ|a?xgqxeQjotZLhV_k&rSi99G*=NjOFVyv_@e3XEzIGOF&*mzsV`qlXU@8g z@oeQ%TO={ZaVGsgh2EFe5CGfNTfGLn0&LQ5zHs~GT~q>58Ny_*%$eb}wKYO+yR7f` zy|1X0-nfu-B2xO23kZf`PCARg$84^655w&b7p=9IxnSF z&7%MKmAW1Id`f<7_8(!ns1*Dw4KH)F6F*H>V;rMq{bzAX6yk7399puBgBU2ohk| z9XuxWTdVKXW3R4U7J@OEB~Qle?fzWswtnV%T+!X*=fxyTVYOKpmV0(lzda@;s+Vut zm|U5$y+d3*@9DRHg_hU~clC;#$?Dg%*B?o4k^^c3)DYutPOrSJ=bOMz`*0Pa02vk; z`3A8`foW||Qhm5aTen_Usr33yUxwGQ_enCInVQF|m#6MilUr>KpT9B1ivkgy)KoVb z7-U}pia+eo>$!IB2v!H8+UJ3LZj_c6z5r!a($)^1pJ%(=t(@ogvK*y&IDMqMb_~HW z)En@))HsU&R}>t2YDY8I^!KTpVBGy*p4`=8q5Wv3;Nk%DMfc>>1&ZpTr(nKmKuA|8 ze)n0+^Qy2$1mwj9sdt<0vWR~LHW-1eR~n1w;YSfp-m5q^JFA0Mzse@pg0{!kZN*SJ zWZwmOr0p~;lZ-GUgdl_YinbbP2+(g7=oxs{TbKVaElgr#lJSAe`u)aG!lB7bOpB*? z9V4H`>H?}CUh|68b-FNJ0BmOQVkVjxYmNRLhZ}UM`5OBh3m?2ex>;QX_TC=T1#!>X zf#5Sy{dd<_6BE7Qv^C8FI3HbMqzw%~t&A5NQ1h?92=lFB*p?%#zABP*>)={^V0hT( zQU-wzz$Gz;E9D?AE-sI5LqLw!9C_`ZAFuDf57?(OT&|`HyK1Bq)26=y=Zj)vU|f~X*E5xrJ~~LrqR)R3(`j(n`lkiLiioNm*Q;PWkbD)@aVM;hOWpV8Sk zKVbf5itL2%8sz}hW|N9t?R9jB*)Lu`4Cn=g87w^Tk;3% zpki$qt-yM(=BZY>Zq2ic*WO*ZsJmbn^OfZ#^3&s`W>(m=_87#=!v)Vc?sjx>@ep_U z)b7-mfo$=-K*b*o4Q)vi`;SaN;Qv;gt zx{l^iELaADUe2~Mb?O&a4S7YZJ=YPvJ0_}qRygZt{2Sl~BPhu#?&a;rVeywjv#(3)p4{8wXJ5rE$CYM1i zFV*S)#X}W52c(2zIyaF`J={9F1y9aj*-G-8KX~s}xq0<|Xw(Wt3$wagN^YSbCJwivLH%dXKDmOiiPd#)`#+lJqiMMU-Z zg5gh7{MkNzI@1shD_5)e6H5DNMTq(22G7#@1IyOJT*x7MD(ms|{Jgacb$nM+bi3V( zLEYh2|7bmIwb0}ozB<pinC}Y*l3^B4V5~vj#TGI!<`_4%erTc8d&rBet8VY4NU6_w>GR z`eAMNOD7*8XFbGK>^)M(=EYtzwdYfBV^xby ze{;^CKVAHQJ7gjD<;&V+kutZ_zt6o&(F8Uku;V2(ws&T3ZjBy_@@%Efit>%G@$n6T zFvz=)A7R#7?+gy6OXCgznxXo56ZW_$8lnShy`abi>GW(3T!9)8KgJ3mP-JX0SPu;i zg^~3BMjT}o5O|7DgffGL!fwU^bs(Qfn0yuy6y+}}eI{M`-gD!T57zfyJwD-z-9J$; z5nL5IC?`$-u<-P`v2k(fdU50NRR(@YfE%&m?=K$XsDKOQ*88yAiG{B(QM$~$iu-p^ z`-kdDc?b%_*6&4~IVTRL&kJ6^gQHvKj(7%!JhmgS6=VfJv&6A1q7CN9cV(@XKvOn)X33O_l^m57}`u^h|T=?@4DqMD~mxbY9O zH30H{4gUUc-WxrUvVj3YP{N9~wNHco1o|g9Qq4D){c{D+EPpV_+Sl8yvFRZD22><` z53ef7_~(kd^-%%|RzgEj+H&*rG03tHPCrD9`i7Nrrl5F;uCM#;3m-cpw86=SQ26uE z;gQ1OEVx|IKX>h&JBUe047@#LAtc`5lK|PaWj@HDJdz`?0mGCYr;YZ!qacHIG~aZ z{{WH%>V294Bb1euMUjOf^Xe3ct13Bsi@uBVAeC8o0&*etQ_xT8P8nl)d=b;Ac>2cX z2ULt=8dxG{sv^*6J0Q5K>SQ2t0`cNFI^pvm0P62Ei8u}Z;o!jHa;!6^9#aS6@qu1_aNZrI)Vw$O_H9=S)2P{OB%_H;z08_N zFBaFq!Qq=VmjM)1f0Uk1vUI?K-Gw%N|B#5g-zF#pmjAz8%npF*;FG6+ijgGd6B#=l z7Y)G>RWhV3dz%vcBN3laz~OaNGD)ZA4$7#QDiz}<`arY`gx zg`8Nczprlp#TOQ>(NUclMpz zu~8!mWPLVhz3r3ZQ2x-714lwk96s1wRk>aJtfV2U4`H}LXD7d>ehK!roT$Q2tS;(D z*l(~ek+G~wTgOvFKrf+SP+`@GL0@)hzBwXswLpV(7&B@!1|bX7su33lGX)U`hb#(k zz{j3}YgHo4d6}9_>Wvh%5@T zge6HkOpM5l$07);G%QbN z-hAoSoMG)0g1cp^WQkWosaa;vr1)BuwMGh!mG;G|yAl}p_ zGVoL$Q>bGR2j^(UvjS;;5Y+hF?ZE)J;oKzzlNhOH5G|Uhkmb`0f9kiS7$v&`EJ-XU z5P;qpKu9*ElMTFT|9(arb0C#pYa`JKP=o%&7t+Di(mHPDW+8?8^{cXy)>k;t@m|8D zN~SfvAPe!Y`Y1&mw@Y|mPf2RZ5SC%Qrl%1ueGtg`KuVwusc#W(~_d#R8RP_g_! zVAf4xz8pXq_oqR5r3UzC9I3t-tX*P9!?9esm(R=2Bgsh#tHaONpx^@y7A;1pXDH2} zkVj9mi#IjzkUUwOyqh*s1elISn zdHE4$W8fK@)X<(G!lBqv*x#pqFVMFClijLK*A$`XAIgHa0*#5*vljOB1F^mow-^wH zlsvtZvjk)d{=dsw{x7ujM`Z!-NeQF_%PT1C1n^MVRUGYEtb_^}4V7V0x+h9l>(hYJ#b?}U$7=-r>%(>E zMX@@lsfCax0ClgF(tPr{wvY^dkGg-vyeeXZ6+NpdYC!1-0PE3(nC#q_&i{T{fM}0fLYC0^1K7;@845$7DKv`jK8^d9{W5a9L6k3 zkFqLMH^C0(s_B#C<2y%we|`h7nyyX!Q`Fc zH^vkKC&R@t6c4rT!;4y@^r@dFujp#tl+<|m#t;}lxg-*567XbZk+s@btcF5k&NI3p zRrQJFY50gehsb_}YK+P(<~+8lQ3`!%EW(Ejd0o!J4Dm$fSN?hXkt7Qr;JzWLVG|bf zqoA~Zj8}b|W}Y{N!V-z^{mwL}8_njxiM~sE+1A~i7a&=tmPCOmvG5;d+o(}iyoa#Y z0oJ6~Z~N|>UfTRq9k~$ zYOiD_CZh1!$>-S|*laHc$1sp&eYM|bJK|}@)+L!1BpC>1ZR$lUHa`CX)fE8y5crO0C z7TmGp9{dOos9cRy3iAI{kpB;D{jVY-{I^2w|5=z8`lY`WqjeRSaUSnBT9!0KZ_Acx=7W85PZnV-bKOld# zb5hS7`oc+}zTgyY`yATORTXTe`VZ3}uV-*J$8_>sirX{J*rcVt>!Tm^+Sl&Vh9R7p zB9}b_(1{Gx3bvG+edJplI0KOqkOS5SQaasYIj9GMb?LQWSlX)-@cS@W6>&5(s_}4HJLf|7JWC zm35V=2ZZ-652aJxafxm1D(mW+PTTj_8xpNTeEr-Dn@HRaA#$rhbmdVe%PV9*mKM;B z>1&oXr|gjGTyt6Oq&Fml)f2Fqd~%{CohkJ4bb$hc**6}#$o|Phxm#o?&bmP#+*>XF z!F<8nhy#?9q8z1X5@vO~acqJ9JF{=g+m?5Uwv}n1zB|D{re`DI*Cy$QZ{NPz(U1}S zr5cQh)({6l^=7mg+yT`eJhv+RwFgw_v=jSlxtp&#vHd{naoSnu zAV9wWdnZX2)6ThKiAo!t+?ux^9$WPLFP}k^qBvSb#g}9a#EL_7TMe&WiFd9oM%c_L zx<1x~ztwH`Sl0sSnN`7mo)w`tpZ+TPUKJE$Z9Y+78;oS|)1C-3bdeDs&R)$(S7;^tC0GTxrffR*7&R(J@{zsIpcqKxeW7(7Dfu z@&cjeoepF#uvmlt|L17_FLeH09tE7z+|rk0Ai=4RFGnFUY9eVbe1VKG(@gC*7K?!$ zTUd%ax)qDJXa0vVyp4;I3;0*ruU{&mLEo4Mbm2iS=NiW^{E`5+(pJZ`1Ad|NCMG6H zhbvr!HCGo{SFBfrcZ&M@JJjZ1b0nsvP_vh8GI1nP@+#)yfRgua4&Y#=3wfICfbKTd zK)3IL`+}46llA=r(Z`(J&#Ozc(Sr!SF3Egs?7U6zeV=}f=p{98zqI~&Myt8xc0@Sl=#V49NunMN>xfq}u8%#QfW?$oP-?z-&f;>i2)P`B!Dsa>fT z>U@F|D{MX*TE1X9kb=o;vw+SgKWKix0X zp$@aVG@%%h?qOtnV18d`w>upMxY+Od-vAi|~Bkg{rBm2@$jCPq1z{?^1 zNU^U>DgJe3U3(xO=+e~JRIl|E&8is6-@%{@7h)V?2n#!vf5ZB$CW9D3lsj@8|C*(C zcMVJ|*N4Jl&`NI10)z{80JedC@=j~lT00w38b{nRWU~`?%!plb03S^QLDY{(b1xduu?CQv=?g%tQc8ivnw@E~cO$Cli#X*b?O| zC9rjMb)^`&q%93cBie~=!zR{VfgGu)9)NF>Tu6_8*+?ge1N;2f|5~v*Y@3PR?HAyciVF@oc6#->9@muULxVCz@@U z2PwtpZtSv&RQ$ED+rJEc()BUBXd>*oe~&vkQI{brj!d3 zb81)3)HxV+2*Al2`2rx!hhq#?k13^awf+*=uQ+F&2>1?0OHEGPj=R|85o4D1b4Pq( zsc|u#?jJHfiyO5WPx=&DZ?59%DWLML1+69+EO35SSg)hmtnhB72S%)q_C~oq$ynzm z8hAjTj36SC=7IC-US@nozc%mTRLAiMC&xty8#FDaq6R>U84G1_tUc}IL*E0sww zkC~c(>%-0Tav1)dTD0W$bR0A7oLs>{+lz{JO8Z6{*y^wh=ErKJl zx_~aic&(1{)S|BNPNWGzYXkDsGV`)(Vp~@>s+N-Q&8N41qwoaUW`X>95!Tx5R!)N zC?9x(5{ri-B$f6J8O z_2g~OJZMm_g4WYP1vt&Fz65C{cVCI{!d-s9o0nF^*b~J(p8$$JJLbv zO{z!}r6^!1DorUON`OF+-ce9Ms>lNtr1usebSVLm-a}PtC?Sv#zTtV_d)K;aefOUv zD{E$-efI2`^V@r${TtqzKTmyrI^H%?$}@PbZ){a0B0S|0Akl;(2e6J(g&!a!9uu&a?bFw4|C2m=W_{PJ(_3|Mbe> z;oZAT@2!jjCKNyaaL#SH)GzVu;X@8|M;ad$7o<@3I!WB}LivjO^C$}h*m#leA+SlC z&a|oV=J4OOlv?cIKx-iKzY*yo&my?2hVe1{uZURN^RB5p%zM9GP09LNtYUYm^YORy z%&>%bD{0D(ARz5EYqN;7@u6@b5?&yW4j@Ah5Ep^ng~m$QE@wI~*ymCFK!M&wiS_2Q!Q%nF8_*vHJDc+jRQ1GJN#k&i z;*5cm&Ce$5B28YNX<2Qkp8d2HvS(QR(MDY}CV_g_7-&zCjHa+4!DK?O-W z{h!IInt_F7Nv6tb_)Z@D`*~BU?g)zL5RXkR*9NFTTm8Hv zijUNZccVj}+Kc7+kjSVez&^A028KtZCA5wut+KF3RJ7U_i_r%i4-S5(&$b?kO9`J)lO zSk0$vA!-2+)1)3%yq_42HD_F=*-@72NjwzDc_9_(E8Tm!Mygk)2> z->@8~nuymOYTk~@>lMGIdl&PH5etDPnHO6LS0{r%(tP4bNE-yADFNwQ!QSmV$BH6E zNl|`-xSg1#sNIfN+MvsvWeXM5C^OuX%%*M(-C~AN6)>C z0>fRv!Cf{{<;@``E|!!WtkSNkTMcW;*|^L)$^j%523WV`u3S^d%a*LsgR6&f(uHGe z@k?vLwO;i!zB^HMvO=93>C6QMg)xnH;baTmPp_PG+rRd2KeTL^CR&nv|DE3HnsIGm zrm?j4-d(tr>mh8Kb&dh_V`Yx9X#ay?2EZ8&?YPX$`!$Gn1f!#NE02l8&7L6-PO4CI z5KFpes%AyoK@i?|8hJBDu_w>#e5HRia7Lb6duRMnj&w^Giwk{Sw2a-0F+6nzdq9UE z%{>eujVE|FVCt&L<2x7U#pNyyW3fQU$@lA7w+$Bum=-OItgw}(ciM_rUe4z1EdCS? z@r&^m3|VzPjeGTJp;1SgTE$YN;< zgOndE67BoyICL&8mDhg0Xe%tATj zw(u;|MDe!+uqbX=+u zE5NR!IWw@3lc&SX#ghb9&YuX2Ksv7pd$GcUShmlsMc@ST-N8qJGOIlK0IVaev=n9i zGT&Faul~ZPmtoIN@`?z8K)PVfY+D#)etcTNfgbCK*nmF}<$f@UFOTTM_y33_JdPQ)I+hwSpoasxr;>eGjM=tE4yliYDWW5qmHGihD z+Y^j3l4ruR9o7;Qoem-YadY*1&CRTq zbUCc2{903;{&gMgZxA}*8RGc5;{K8{{3xb{QVDI%vNlG3P`80hRkptc4cxfSAR{b% zyq*;$<2R^%#dDsV7lxq)^h`wpgaXIsqfY`D3JR3oC8OA?!+F7L5iKgY@;l&$4|%*V!4(G$D(k6+R>ki~vkY znW+IK-L=wntH+`Ypf8hTj+h5 z`Fg!zxme-d%q(koi7)`Ir>>3XU;u)pZ_HjaNV=Aw)nTy-1GQt%NR9lAandM%q-xGQ zmd}YQqgY^mB!@N-S|_y)*pFadvK8%L&^rP`3Q%J$&ry7c)+^oN)=|($f@HVW~let9n*rzc~&JYR_4k ze*fyr$YEzrp%X-srZORwvXLA^jCGl*Ru8q|WY%=)uvUEs9L2{;#X;nAMm%T|PyZmC zB}MPC&;i)-URFtd&P0^mzW6|V#`I$I{Xd{uKUwUHqCJmN*~?^zpA^;5VMUU9f0C4{)49Hi9Z4BXL?A!sjjg7(m8dOS&?MW`4DC>Qd2dl&=I*w#2 z0NlhnU}S3AHCAlPhihqSnrSY+*B{I)Pw1Mi{Q-lev8=amL;UwwsSYtav57dh176{uH;g~oiu`Nn zpiOx)tLRauWT(%@kEfx2xX2ru#7I@}DXcGb`-!zeOvu{}ts+ zOkep3R;S{|u)H)@e_CuM-8XIx`bX)qcB~q{9{$aM$WNni)zDFj##s#=m?`P+8z}2~lTH@}l!S*s_tDJ(rG`SXY=l)qBBYO} zyBXc={@UF5O*X=NF!!L+6 zX)d~?vc`SpB5BIXzQD9>#jo(!Y4b6p1{JV7=8~{fd%+XOmHXpPxd(E$^##~AB8KLx zxCP!*NMW~FIAYde*0rUFmX-|(Rg!G?f`5snw+v5y$f+$M-}Hhd_AfsfZKgJX&9`~v zJXuTAB$4HS5r84H!cU}Ke3kTCclTg!b_*2eCT-TANqa+1S=}cggH#tYZWJdC=yrGK zTgOpTv|%F))EvrRS_I5B(0CsOpWkC#dK`0ohibvJOp)q05y6;9BFU8>DWK^V6yHw$l*CNTY!!BAvCRnZ**1=K9z$nHI*3(|kZu0*-T% z%nzj@0-KfliburW2X80)e8!m=!H@%YHAdh48UXVhyzj>i)+W~8TowsuNJ(O z##A^HtDX9mIc+N;#vLx&PHG_p3eWjH3oA(^svnYv&;I_cZCISX?iPgLBQu4};>kVN zFn>#&nMb)>9z#s1@)|o{`#+p$>M8*ry-Br<>b@ett^xA&fL~XKH_ntxx#D&|H?w^} zdhY)Q8HV??7Ek?APY!%g=iwMGwNrl1f8|BZ-H}*bKSXd+K1S+nada0RbL6cQT z80oXg)BG#M&Hnl5b9)B;Nf9U`P+B^R;>mk=uH2@$G9nM(AN*RGr+;4&75p`;Wg$JT zVmmtq+6-ApGc%yCjpH&oD0U*}|;<(f;etWbosj|v%}sbm*n1QowU!!>17Uvo93?b^<_+|Z<;FO zM!DmnzfCA#VPSjhYI8LpaP+ zHFji(JA0prH1?k9fQP3N4XPu1Y7k_0R5;J6lyk11vpMo1-q^H@C6ck7T7XQBS8jm#Wa_?rXfXC;kaO;&SzD~- z*~RbpUkN&q%KB0aHTV--vyP)_HoI@`iju{sbVUQl>4Pnp-zFqI6_Fwg?ro?g3XG6! z=wkV7LmH1Zx?N^fFHefIEvCx0li_(55=(BVduo7^U2p@Hj4+?%0VaE~oizCW7eaqy zwdeKj)08W&8drQsZfp;)H?wO^i7s9n=msa=Ww=+~(9N)7^ger5#F7d93)H=y7O zZh3PU(yAbCm zI8oJ*5&!$0fZeCUSp6Y7x_37VKMn6+c>3=t zY6R!q|BJyC{y~R*G7RZtY7}#gCwjM?I~KAY$MJLM(ZBm|_!v{EhP%qAx18DDw7FKU z%Sot%HAR{C?f*}~KYWwj+iL9ebGs~1+OjG1Dhv5N_2=v|dO{A6uHLKEp64>f=X4u1b zF7Q+`g_hY~&P+Gm9|fjrZ}J<3xFw}-Gp2L|yRE~@CISkwT6}dk_`n=(dvXshWZ$|; zCI#o&>y!LPt3uGV)cPBQxIXh|#>fb|07+mEYuv`)Jo=T)hWDpUJqhP`MW>U@N>ipx z&EM$am)kLr(I;&Pxu<8smpT~ z$m#+^8LOaDJcx#v`PygK0EfBI0w{lzpfW8`_DPM=D7g|&8rk@#W`rMw$l4Rm^*^Nq zT5IwfWeaz_H#N69>KjtF|Kyr&%NtXk9rX?n(~%_%UypKMpZw6Y_PaFCJrkd#5olQx zGzQ{N8OBNf);Hl6Xx~aucc1yQ-IVE#Ah%xHZ8sYS8eO}HkpS(EH0t?tHUDtGcu_~d zb^8nPi$eI3y33^>nZj&$*rQ&$Trc1Fl8xV4wV~UVrB*z33gyFb&_$9&x9LsR|NPBf zBb+j7V!>^ddh^I2SzqrATV1Hl9{E|zVGAXo#&POJ^g5Le0w>jT11LQP6}iqToQKaT zQjJL&9bIQ;gMjEeHPZ!PLG*#5%IO)Z*k(>ILXaAZM z84$5wGGQu|FP@yXt7}U01Yw8;0_!u#T-C-mIU+AGgIk39`{V0w0Z>DBr&B`iZta{b zL#f&xGimvM-7t)h1izBWUrn=68-g>f*Z>BQ}>T8QG~$?q=j8dca3Hn^rjnU2bR z`{k$v_P-3u%O!()lR5JEL$7Y9j%tB7XY+H%kqWOO9EpF}=|1${IlJZYkAv+*?hR;z zb6y!s!{;BPj8E@+&#rTsR+_WF@_aIS?@`R1>}rhYkBzS6Hy3TYBRv#eJRA;UPnMWd z7-cNVuDh8XXQA@Mf#Wm5o4}23HgqSg-|HiUB?p4BU=HCA7OT9Y%oadg*grA9_b{C6 zk*Z!xulGTYETsVxU5a`#l!na=PWI`C4A0YuV^>!{MunrPq zjaO-jPVyzAhzv_plvP^PHoQ-w1uivxN`9d&_BfM2s#?s7=>3cqXx%$-=e(#v0mv$Q2y&YE zH^D@4*InN*sZnrmu1|?g1wl38&=#fn;p)pdWQ^dz-|sh<%2Kz>9OeGQRpye`kbsHQ zHGY)I;;D3B#BQnVTB=~J8CUCE{k?RAmp%0YE&}kJA({~Hsh0bdTzMpKkJ%;0iH(xq zCw@|~9LA+@`GMp8_LvJ{9lz65_J`Ht%f(Em2*jrRFuL%;@Z^qmUt#UY92!;qY@TcM z+r_jZ70Z6T(tNiK{jfR%l=%&h+35Q9S6@vn>mHAO`z#iQ<%skz6BKH78O%CSf%Xj0*f}vkqjq{_WvCZt?j{H#%94 z#B(dvDZKgn_plBYOvi>!;$#0UF6SKVPa{uZ1!&1A371$~mv+}FFz?UNwM$4QllUW> zXs^n?@~|>S^A&1B@)~+#r?yDtRK(A{TI$4k_IH^J_&VK01`LhQikIAMMv(Jt zjqX2)d#qa60yCoK(_^(Le_KL*pOTziWPHX$9S9i=PWu`Hgv{lI$)eXcwjWhp3M=Ae z7Y_XAz(lDsUugIP6~~aDZhmvvPP?iz)g?`zrl8qoCvpin`*<(2(~F>FiNviFdX|g8 zBlxU`I)CtOMMxob?ejQ2rt!g#b2Uyza{pQ^PE{wpbclQy`j24iD(6HN#0>Ns0-)KS z%b(ntBwW25qXggyNyByBz|e#ZW9~R3=nAaV1rn$mr1f1lbN34~uYNCAZ7GU#c^Bm_Xyc9!>Cd+lq9}Mgo3WWc9>sY z%^d>0v+B7~@50F!S4!mGbE4HkXCtoqUm0QZ`qWwdYiJG}S-D||oKF<@y^dB#Dbyi- z^IZkdm;Nk>XSIhcn#KP5S%sL@VkkIK)Z)*#6a~-rlwU|Qr}hnEnj!V`x0NnhfIF}1 z=*)f;w;$A-g&3OHvGRPR2AVA3=d)Yj0Y^OPas%#CC2Ek ot(Ti+FEnGHC!iV99V@yKe**L|zf|U!K>2{7o~dq$wnOOu0DIG%T>t<8 diff --git a/icons/obj/cart.dmi b/icons/obj/cart.dmi deleted file mode 100644 index b2d219592a221cd20811c7481de77ddd2e5323c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1215 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 diff --git a/sound/misc/bike_stand_down.ogg b/sound/machines/vehicles/bike_stand_down.ogg similarity index 100% rename from sound/misc/bike_stand_down.ogg rename to sound/machines/vehicles/bike_stand_down.ogg diff --git a/sound/misc/bike_stand_up.ogg b/sound/machines/vehicles/bike_stand_up.ogg similarity index 100% rename from sound/misc/bike_stand_up.ogg rename to sound/machines/vehicles/bike_stand_up.ogg diff --git a/sound/misc/bike_start.ogg b/sound/machines/vehicles/bike_start.ogg similarity index 100% rename from sound/misc/bike_start.ogg rename to sound/machines/vehicles/bike_start.ogg diff --git a/sound/machines/vehicles/pussywagon/button.ogg b/sound/machines/vehicles/button.ogg similarity index 100% rename from sound/machines/vehicles/pussywagon/button.ogg rename to sound/machines/vehicles/button.ogg diff --git a/sound/machines/vehicles/pussywagon/key_in.ogg b/sound/machines/vehicles/key_in.ogg similarity index 100% rename from sound/machines/vehicles/pussywagon/key_in.ogg rename to sound/machines/vehicles/key_in.ogg diff --git a/sound/machines/vehicles/pussywagon/key_out.ogg b/sound/machines/vehicles/key_out.ogg similarity index 100% rename from sound/machines/vehicles/pussywagon/key_out.ogg rename to sound/machines/vehicles/key_out.ogg diff --git a/sound/machines/vehicles/pussywagon/start.ogg b/sound/machines/vehicles/start.ogg similarity index 100% rename from sound/machines/vehicles/pussywagon/start.ogg rename to sound/machines/vehicles/start.ogg diff --git a/vueui/src/components/view/vehicles/pussywagon.vue b/vueui/src/components/view/vehicles/pussywagon.vue index d45311d60e9..28f34b6806d 100644 --- a/vueui/src/components/view/vehicles/pussywagon.vue +++ b/vueui/src/components/view/vehicles/pussywagon.vue @@ -2,10 +2,10 @@

TRUCK STATUS

- The engine is currently running. + The engine is currently running. Stop
- The engine is off. + The engine is off. Start
There is a key inserted into the ignition. Remove Key @@ -14,7 +14,7 @@ There is no key in the ignition.
- Cell Charge: {{ cell_charge }}J The cell can be removed by using a screwdriver to open the maintenance panel, then using a crowbar to shimmy it out. + Cell Charge:
{{ cell_charge }}J The cell can be removed by using a screwdriver to open the maintenance panel, then using a crowbar to shimmy it out.
There is no cell installed. The cell can be installed by using a screwdriver to open the maintenance panel, then clicking on the engine with a compatible power cell. @@ -32,7 +32,7 @@ The trolley is not vacuuming. Toggle
- Vacuum Capacity Remaining: {{ vacuum_capacity }} L Empty + Vacuum Capacity Remaining:
{{ vacuum_capacity }} L Empty
The trolley is currently mopping. Toggle @@ -43,7 +43,7 @@
The trolley has a reagent container installed. The trolley must have a reagent container installed to draw reagents from, such as water or space cleaner. This can be done by opening the maintenance panel on the trolley with a screwdriver and clicking on it with a bucket. Similarly, with an open panel, it can be removed by using a wrench on it.
- Container Reagents Remaining: {{ bucket_capacity }} cl + Container Reagents Remaining:
{{ bucket_capacity }} cl
@@ -66,4 +66,4 @@ export default { return this.$root.$data.state; } }; - \ No newline at end of file + diff --git a/vueui/src/components/view/vehicles/trainengine.vue b/vueui/src/components/view/vehicles/trainengine.vue index 4b1e2139b74..723799a5750 100644 --- a/vueui/src/components/view/vehicles/trainengine.vue +++ b/vueui/src/components/view/vehicles/trainengine.vue @@ -14,7 +14,7 @@ There is no key in the ignition.
- Cell Charge: {{ cell_charge }}J The cell can be removed by using a screwdriver to open the maintenance panel, then using a crowbar to shimmy it out. + Cell Charge:
{{ cell_charge }}J The cell can be removed by using a screwdriver to open the maintenance panel, then using a crowbar to shimmy it out.
There is no cell installed. The cell can be installed by using a screwdriver to open the maintenance panel, then clicking on the engine with a compatible power cell. @@ -34,4 +34,4 @@ export default { return this.$root.$data.state; } }; - \ No newline at end of file +