From 0651206a51aa111290524d07d519662ba6588839 Mon Sep 17 00:00:00 2001 From: Mechoid Date: Sat, 8 Sep 2018 20:46:46 -0700 Subject: [PATCH] Refactor cargo trains, they're just normal trains now. Adds the Quad, and re-enables/fixes the Space Bike! --- code/datums/supplypacks/robotics.dm | 23 +- code/datums/supplypacks/supply.dm | 4 +- code/game/mecha/mech_sensor.dm | 4 +- .../structures/crates_lockers/largecrate.dm | 24 ++ .../structures/crates_lockers/vehiclecage.dm | 106 +++++++ code/modules/research/mechfab_designs.dm | 27 +- code/modules/vehicles/bike.dm | 147 ++++++++-- code/modules/vehicles/cargo_train.dm | 90 +++--- code/modules/vehicles/construction.dm | 274 ++++++++++++++++++ code/modules/vehicles/quad.dm | 259 +++++++++++++++++ code/modules/vehicles/train.dm | 14 + code/modules/vehicles/vehicle.dm | 2 + html/changelogs/Mechoid - Vehicles.yml | 36 +++ icons/obj/bike.dmi | Bin 1473 -> 3227 bytes icons/obj/custom_items_vehicle.dmi | Bin 0 -> 218 bytes icons/obj/storage.dmi | Bin 59399 -> 60430 bytes icons/obj/vehicles.dmi | Bin 10805 -> 11137 bytes icons/obj/vehicles_64x64.dmi | Bin 0 -> 19409 bytes maps/northern_star/polaris-1.dmm | 8 +- maps/northern_star/polaris-2.dmm | 4 +- maps/southern_cross/southern_cross-1.dmm | 4 +- maps/southern_cross/southern_cross-4.dmm | 4 +- maps/southern_cross/southern_cross-6.dmm | 4 +- .../submaps/surface_submaps/plains/Field1.dmm | 4 +- .../submaps/surface_submaps/plains/Thiefc.dmm | 4 +- polaris.dme | 4 + 26 files changed, 957 insertions(+), 89 deletions(-) create mode 100644 code/game/objects/structures/crates_lockers/vehiclecage.dm create mode 100644 code/modules/vehicles/construction.dm create mode 100644 code/modules/vehicles/quad.dm create mode 100644 html/changelogs/Mechoid - Vehicles.yml create mode 100644 icons/obj/custom_items_vehicle.dmi create mode 100644 icons/obj/vehicles_64x64.dmi diff --git a/code/datums/supplypacks/robotics.dm b/code/datums/supplypacks/robotics.dm index 67292de6546..1c1eb7f2bb4 100644 --- a/code/datums/supplypacks/robotics.dm +++ b/code/datums/supplypacks/robotics.dm @@ -176,4 +176,25 @@ cost = 30 containertype = /obj/structure/closet/crate/secure/science containername = "Jumper kit crate" - access = access_robotics \ No newline at end of file + access = access_robotics + +/datum/supply_pack/robotics/bike + name = "Spacebike Crate" + contains = list() + cost = 350 + containertype = /obj/structure/largecrate/vehicle/bike + containername = "Spacebike Crate" + +/datum/supply_pack/robotics/quadbike + name = "ATV Crate" + contains = list() + cost = 300 + containertype = /obj/structure/largecrate/vehicle/quadbike + containername = "ATV Crate" + +/datum/supply_pack/robotics/quadtrailer + name = "ATV Trailer Crate" + contains = list() + cost = 250 + containertype = /obj/structure/largecrate/vehicle/quadtrailer + containername = "ATV Trailer Crate" diff --git a/code/datums/supplypacks/supply.dm b/code/datums/supplypacks/supply.dm index 0a40cae6a3a..8397dc8c871 100644 --- a/code/datums/supplypacks/supply.dm +++ b/code/datums/supplypacks/supply.dm @@ -124,14 +124,14 @@ /datum/supply_pack/supply/cargotrain name = "Cargo Train Tug" - contains = list(/obj/vehicle/train/cargo/engine) + contains = list(/obj/vehicle/train/engine) cost = 35 containertype = /obj/structure/largecrate containername = "Cargo Train Tug Crate" /datum/supply_pack/supply/cargotrailer name = "Cargo Train Trolley" - contains = list(/obj/vehicle/train/cargo/trolley) + contains = list(/obj/vehicle/train/trolley) cost = 15 containertype = /obj/structure/largecrate containername = "Cargo Train Trolley Crate" \ No newline at end of file diff --git a/code/game/mecha/mech_sensor.dm b/code/game/mecha/mech_sensor.dm index 5173f182cea..eee1ecefdbf 100644 --- a/code/game/mecha/mech_sensor.dm +++ b/code/game/mecha/mech_sensor.dm @@ -45,8 +45,8 @@ var/obj/mecha/R = O if(R && R.occupant) R.occupant << block_message - else if(istype(O, /obj/vehicle/train/cargo/engine)) - var/obj/vehicle/train/cargo/engine/E = O + else if(istype(O, /obj/vehicle/train/engine)) + var/obj/vehicle/train/engine/E = O if(E && E.load && E.is_train_head()) E.load << block_message diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index d747680baee..2c739985b26 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -15,6 +15,7 @@ if(I.density || I.anchored || I == src || !I.simulated) continue I.forceMove(src) + update_icon() /obj/structure/largecrate/attack_hand(mob/user as mob) to_chat(user, "You need a crowbar to pry this open!") @@ -57,6 +58,29 @@ ME.attach(H) ..() +/obj/structure/largecrate/vehicle + name = "vehicle crate" + desc = "It comes in a box for the consumer's sake. ..How is this lighter?" + icon_state = "vehiclecrate" + +/obj/structure/largecrate/vehicle/initialize() + ..() + spawn(1) + for(var/obj/O in contents) + O.update_icon() + +/obj/structure/largecrate/vehicle/bike + name = "spacebike crate" + starts_with = list(/obj/structure/vehiclecage/spacebike) + +/obj/structure/largecrate/vehicle/quadbike + name = "\improper ATV crate" + starts_with = list(/obj/structure/vehiclecage/quadbike) + +/obj/structure/largecrate/vehicle/quadtrailer + name = "\improper ATV trailer crate" + starts_with = list(/obj/structure/vehiclecage/quadtrailer) + /obj/structure/largecrate/animal icon_state = "mulecrate" diff --git a/code/game/objects/structures/crates_lockers/vehiclecage.dm b/code/game/objects/structures/crates_lockers/vehiclecage.dm new file mode 100644 index 00000000000..9915ca6a7b6 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/vehiclecage.dm @@ -0,0 +1,106 @@ +/obj/structure/vehiclecage + name = "vehicle cage" + desc = "A large metal lattice that seems to exist solely to annoy consumers." + icon = 'icons/obj/storage.dmi' + icon_state = "vehicle_cage" + density = 1 + var/obj/vehicle/my_vehicle + var/my_vehicle_type + var/paint_color = "#666666" + +/obj/structure/vehiclecage/examine(mob/user) + ..() + if(my_vehicle) + to_chat(user, "It seems to contain \the [my_vehicle].") + +/obj/structure/vehiclecage/initialize() + . = ..() + if(my_vehicle_type) + my_vehicle = new my_vehicle_type(src) + for(var/obj/I in get_turf(src)) + if(I.density || I.anchored || I == src || !I.simulated || !istype(I, my_vehicle_type)) + continue + load_vehicle(I) + update_icon() + +/obj/structure/vehiclecage/attack_hand(mob/user as mob) + to_chat(user, "You need a wrench to take this apart!") + return + +/obj/structure/vehiclecage/attackby(obj/item/weapon/W as obj, mob/user as mob) + var/turf/T = get_turf(src) + if(!T) + to_chat(user, "You can't open this here!") + if(W.is_wrench() && do_after(user, 60 * W.toolspeed, src)) + playsound(loc, W.usesound, 50, 1) + disassemble(W, user) + user.visible_message("[user] begins loosening \the [src]'s bolts.") + if(W.is_wirecutter() && do_after(user, 70 * W.toolspeed, src)) + playsound(loc, W.usesound, 50, 1) + disassemble(W, user) + user.visible_message("[user] begins cutting \the [src]'s bolts.") + else + return attack_hand(user) + +/obj/structure/vehiclecage/update_icon() + ..() + overlays.Cut() + underlays.Cut() + + var/image/framepaint = new(icon = 'icons/obj/storage.dmi', icon_state = "[initial(icon_state)]_a", layer = MOB_LAYER + 1.1) + framepaint.plane = MOB_PLANE + framepaint.color = paint_color + overlays += framepaint + + for(var/obj/vehicle/V in src.contents) + var/image/showcase = new(V) + showcase.layer = src.layer - 0.1 + underlays += showcase + +/obj/structure/vehiclecage/MouseDrop_T(var/atom/movable/C, mob/user as mob) + if(user && (user.buckled || user.stat || user.restrained() || !Adjacent(user) || !user.Adjacent(C))) + return + + var/obj/vehicle/V + if(istype(C, /obj/vehicle)) + V = C + if(!V) + return + + if(!my_vehicle) + load_vehicle(V, user) + +/obj/structure/vehiclecage/proc/load_vehicle(var/obj/vehicle/V, mob/user as mob) + if(user) + user.visible_message("[user] loads \the [V] into \the [src].", \ + "You load \the [V] into \the [src].", \ + "You hear creaking metal.") + + V.forceMove(src) + + paint_color = V.paint_color + + update_icon() + +/obj/structure/vehiclecage/proc/disassemble(obj/item/weapon/W as obj, mob/user as mob) + var/turf/T = get_turf(src) + new /obj/item/stack/material/steel(src.loc, 5) + + for(var/atom/movable/AM in contents) + if(AM.simulated) + AM.forceMove(T) + + my_vehicle = null + user.visible_message("[user] release \the [src].", \ + "You finally release \the [src].", \ + "You hear creaking metal.") + qdel(src) + +/obj/structure/vehiclecage/spacebike + my_vehicle_type = /obj/vehicle/bike/random + +/obj/structure/vehiclecage/quadbike + my_vehicle_type = /obj/vehicle/train/engine/quadbike/random + +/obj/structure/vehiclecage/quadtrailer + my_vehicle_type = /obj/vehicle/train/trolley/trailer/random diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm index 17ae15f7bed..c225af1258a 100644 --- a/code/modules/research/mechfab_designs.dm +++ b/code/modules/research/mechfab_designs.dm @@ -564,4 +564,29 @@ build_type = MECHFAB materials = list(DEFAULT_WALL_MATERIAL = 562, "glass" = 562) build_path = /obj/item/device/flash/synthetic - category = "Misc" \ No newline at end of file + category = "Misc" + +/* + * Non-Mech Vehicles + */ + +/datum/design/item/mechfab/vehicle + build_type = MECHFAB + category = "Vehicle" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6) + +/datum/design/item/mechfab/vehicle/spacebike_chassis + name = "Spacebike Chassis" + desc = "A space-bike's un-assembled frame." + id = "vehicle_chassis_spacebike" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_BLUESPACE = 3, TECH_PHORON = 3) + materials = list(DEFAULT_WALL_MATERIAL = 12000, "silver" = 3000, "phoron" = 3000, "osmium" = 1000) + build_path = /obj/item/weapon/vehicle_assembly/spacebike + +/datum/design/item/mechfab/vehicle/quadbike_chassis + name = "Quadbike Chassis" + desc = "A space-bike's un-assembled frame." + id = "vehicle_chassis_quadbike" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 3, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 15000, "silver" = 3000, "plastic" = 3000, "osmium" = 1000) + build_path = /obj/item/weapon/vehicle_assembly/quadbike diff --git a/code/modules/vehicles/bike.dm b/code/modules/vehicles/bike.dm index f455be67a5b..d761dbd6e8c 100644 --- a/code/modules/vehicles/bike.dm +++ b/code/modules/vehicles/bike.dm @@ -1,6 +1,6 @@ -/obj/vehicle/bike/ +/obj/vehicle/bike name = "space-bike" - desc = "Space wheelies! Woo! " + desc = "Space wheelies! Woo!" icon = 'icons/obj/bike.dmi' icon_state = "bike_off" dir = SOUTH @@ -10,24 +10,49 @@ health = 100 maxhealth = 100 + locked = 0 + powered = 1 + fire_dam_coeff = 0.6 brute_dam_coeff = 0.5 var/protection_percent = 60 - var/land_speed = 10 //if 0 it can't go on turf - var/space_speed = 1 + var/land_speed = 1.5 //if 0 it can't go on turf + var/space_speed = 0.5 var/bike_icon = "bike" + var/custom_icon = FALSE + + paint_color = "#ffffff" var/datum/effect/effect/system/ion_trail_follow/ion var/kickstand = 1 /obj/vehicle/bike/New() ..() + cell = new /obj/item/weapon/cell/high(src) ion = new /datum/effect/effect/system/ion_trail_follow() ion.set_up(src) turn_off() - overlays += image('icons/obj/bike.dmi', "[icon_state]_off_overlay", MOB_LAYER + 1) icon_state = "[bike_icon]_off" + update_icon() + +/obj/vehicle/bike/built/New() + ..() + qdel(cell) + cell = null + +/obj/vehicle/bike/random/New() + paint_color = rgb(rand(1,255),rand(1,255),rand(1,255)) + ..() + +/obj/vehicle/bike/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/device/multitool) && open) + var/new_paint = input("Please select paint color.", "Paint Color", paint_color) as color|null + if(new_paint) + paint_color = new_paint + update_icon() + return + ..() /obj/vehicle/bike/verb/toggle() set name = "Toggle Engine" @@ -36,7 +61,7 @@ if(usr.incapacitated()) return - if(!on) + if(!on && cell && cell.charge > charge_use) turn_on() src.visible_message("\The [src] rumbles to life.", "You hear something rumble deeply.") else @@ -53,8 +78,8 @@ if(kickstand) src.visible_message("You put up \the [src]'s kickstand.") else - if(istype(src.loc,/turf/space)) - usr << " You don't think kickstands work in space..." + if(istype(src.loc,/turf/space) || istype(src.loc, /turf/simulated/floor/water)) + to_chat(usr, " You don't think kickstands work here...") return src.visible_message("You put down \the [src]'s kickstand.") if(pulledby) @@ -63,34 +88,45 @@ kickstand = !kickstand anchored = (kickstand || on) -/obj/vehicle/bike/load(var/atom/movable/C) +/obj/vehicle/bike/load(var/atom/movable/C, var/mob/user as mob) var/mob/living/M = C if(!istype(C)) return 0 if(M.buckled || M.restrained() || !Adjacent(M) || !M.Adjacent(src)) return 0 - return ..(M) + return ..(M, user) -/obj/vehicle/bike/MouseDrop_T(var/atom/movable/C, mob/user as mob) - if(!load(C)) - user << " You were unable to load \the [C] onto \the [src]." +/obj/vehicle/bike/MouseDrop_T(var/atom/movable/C, var/mob/user as mob) + if(!load(C, user)) + to_chat(user, " You were unable to load \the [C] onto \the [src].") return /obj/vehicle/bike/attack_hand(var/mob/user as mob) if(user == load) - unload(load) - user << "You unbuckle yourself from \the [src]" + unload(load, user) + to_chat(user, "You unbuckle yourself from \the [src].") + else if(!load && load(user, user)) + to_chat(user, "You buckle yourself to \the [src].") /obj/vehicle/bike/relaymove(mob/user, direction) if(user != load || !on) - return - return Move(get_step(src, direction)) + return 0 + if(Move(get_step(src, direction))) + return 1 + return 0 /obj/vehicle/bike/Move(var/turf/destination) - if(kickstand) return + if(kickstand) return 0 + if(on && (!cell || cell.charge < charge_use)) + turn_off() + visible_message("\The [src] whines, before its engines wind down.") + return 0 //these things like space, not turf. Dragging shouldn't weigh you down. - if(istype(destination,/turf/space) || pulledby) + if(on && cell) + cell.use(charge_use) + + if(istype(destination,/turf/space) || istype(destination, /turf/simulated/floor/water) || pulledby) if(!space_speed) return 0 move_delay = space_speed @@ -109,6 +145,7 @@ if(pulledby) pulledby.stop_pulling() ..() + /obj/vehicle/bike/turn_off() ion.stop() anchored = kickstand @@ -127,12 +164,74 @@ /obj/vehicle/bike/update_icon() overlays.Cut() + if(custom_icon) + if(on) + var/image/bodypaint = image('icons/obj/custom_items_vehicle.dmi', "[bike_icon]_on_a", src.layer) + bodypaint.color = paint_color + overlays += bodypaint + + var/image/overmob = image('icons/obj/custom_items_vehicle.dmi', "[bike_icon]_on_overlay", MOB_LAYER + 1) + var/image/overmob_color = image('icons/obj/custom_items_vehicle.dmi', "[bike_icon]_on_overlay_a", MOB_LAYER + 1) + overmob.plane = MOB_PLANE + overmob_color.plane = MOB_PLANE + overmob_color.color = paint_color + overlays += overmob + overlays += overmob_color + if(open) + icon_state = "[bike_icon]_on-open" + else + icon_state = "[bike_icon]_on" + else + var/image/bodypaint = image('icons/obj/custom_items_vehicle.dmi', "[bike_icon]_off_a", src.layer) + bodypaint.color = paint_color + overlays += bodypaint + + var/image/overmob = image('icons/obj/custom_items_vehicle.dmi', "[bike_icon]_off_overlay", MOB_LAYER + 1) + var/image/overmob_color = image('icons/obj/custom_items_vehicle.dmi', "[bike_icon]_off_overlay_a", MOB_LAYER + 1) + overmob.plane = MOB_PLANE + overmob_color.plane = MOB_PLANE + overmob_color.color = paint_color + overlays += overmob + overlays += overmob_color + if(open) + icon_state = "[bike_icon]_off-open" + else + icon_state = "[bike_icon]_off" + ..() + return + if(on) - overlays += image('icons/obj/bike.dmi', "[bike_icon]_on_overlay", MOB_LAYER + 1) - icon_state = "[bike_icon]_on" + var/image/bodypaint = image('icons/obj/bike.dmi', "[bike_icon]_on_a", src.layer) + bodypaint.color = paint_color + overlays += bodypaint + + var/image/overmob = image('icons/obj/bike.dmi', "[bike_icon]_on_overlay", MOB_LAYER + 1) + var/image/overmob_color = image('icons/obj/bike.dmi', "[bike_icon]_on_overlay_a", MOB_LAYER + 1) + overmob.plane = MOB_PLANE + overmob_color.plane = MOB_PLANE + overmob_color.color = paint_color + overlays += overmob + overlays += overmob_color + if(open) + icon_state = "[bike_icon]_on-open" + else + icon_state = "[bike_icon]_on" else - overlays += image('icons/obj/bike.dmi', "[bike_icon]_off_overlay", MOB_LAYER + 1) - icon_state = "[bike_icon]_off" + var/image/bodypaint = image('icons/obj/bike.dmi', "[bike_icon]_off_a", src.layer) + bodypaint.color = paint_color + overlays += bodypaint + + var/image/overmob = image('icons/obj/bike.dmi', "[bike_icon]_off_overlay", MOB_LAYER + 1) + var/image/overmob_color = image('icons/obj/bike.dmi', "[bike_icon]_off_overlay_a", MOB_LAYER + 1) + overmob.plane = MOB_PLANE + overmob_color.plane = MOB_PLANE + overmob_color.color = paint_color + overlays += overmob + overlays += overmob_color + if(open) + icon_state = "[bike_icon]_off-open" + else + icon_state = "[bike_icon]_off" ..() @@ -140,4 +239,4 @@ /obj/vehicle/bike/Destroy() qdel(ion) - ..() \ No newline at end of file + ..() diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index e8927197dcb..508ad2a7502 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -1,4 +1,4 @@ -/obj/vehicle/train/cargo/engine +/obj/vehicle/train/engine name = "cargo train tug" desc = "A ridable electric car designed for pulling cargo trolleys." icon = 'icons/obj/vehicles.dmi' @@ -11,9 +11,11 @@ load_offset_x = 0 mob_offset_y = 7 + var/speed_mod = 1.1 var/car_limit = 3 //how many cars an engine can pull before performance degrades active_engines = 1 - var/obj/item/weapon/key/cargo_train/key + var/obj/item/weapon/key/key + var/key_type = /obj/item/weapon/key/cargo_train /obj/item/weapon/key/cargo_train name = "key" @@ -22,7 +24,7 @@ icon_state = "train_keys" w_class = ITEMSIZE_TINY -/obj/vehicle/train/cargo/trolley +/obj/vehicle/train/trolley name = "cargo train trolley" icon = 'icons/obj/vehicles.dmi' icon_state = "cargo_trailer" @@ -38,15 +40,15 @@ //------------------------------------------- // Standard procs //------------------------------------------- -/obj/vehicle/train/cargo/engine/New() +/obj/vehicle/train/engine/New() ..() cell = new /obj/item/weapon/cell/high(src) - key = new(src) + key = new(key_type) var/image/I = new(icon = 'icons/obj/vehicles.dmi', icon_state = "cargo_engine_overlay", layer = src.layer + 0.2) //over mobs overlays += I turn_off() //so engine verbs are correctly set -/obj/vehicle/train/cargo/engine/Move(var/turf/destination) +/obj/vehicle/train/engine/Move(var/turf/destination) if(on && cell.charge < charge_use) turn_off() update_stats() @@ -62,23 +64,24 @@ return ..() -/obj/vehicle/train/cargo/trolley/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/vehicle/train/trolley/attackby(obj/item/weapon/W as obj, mob/user as mob) if(open && W.is_wirecutter()) 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.") else ..() -/obj/vehicle/train/cargo/engine/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/key/cargo_train)) +/obj/vehicle/train/engine/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, key_type)) if(!key) user.drop_item() W.forceMove(src) key = W - verbs += /obj/vehicle/train/cargo/engine/verb/remove_key + verbs += /obj/vehicle/train/engine/verb/remove_key return ..() +/* //cargo trains are open topped, so there is a chance the projectile will hit the mob ridding the train instead /obj/vehicle/train/cargo/bullet_act(var/obj/item/projectile/Proj) if(has_buckled_mobs() && prob(70)) @@ -92,19 +95,20 @@ icon_state = initial(icon_state) + "_open" else icon_state = initial(icon_state) +*/ -/obj/vehicle/train/cargo/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) return -/obj/vehicle/train/cargo/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) ..() update_stats() -/obj/vehicle/train/cargo/engine/remove_cell(var/mob/living/carbon/human/H) +/obj/vehicle/train/engine/remove_cell(var/mob/living/carbon/human/H) ..() update_stats() -/obj/vehicle/train/cargo/engine/Bump(atom/Obstacle) +/obj/vehicle/train/engine/Bump(atom/Obstacle) var/obj/machinery/door/D = Obstacle var/mob/living/carbon/human/H = load if(istype(D) && istype(H)) @@ -112,7 +116,7 @@ ..() -/obj/vehicle/train/cargo/trolley/Bump(atom/Obstacle) +/obj/vehicle/train/trolley/Bump(atom/Obstacle) if(!lead) return //so people can't knock others over by pushing a trolley around ..() @@ -120,44 +124,44 @@ //------------------------------------------- // Train procs //------------------------------------------- -/obj/vehicle/train/cargo/engine/turn_on() +/obj/vehicle/train/engine/turn_on() if(!key) return else ..() update_stats() - verbs -= /obj/vehicle/train/cargo/engine/verb/stop_engine - verbs -= /obj/vehicle/train/cargo/engine/verb/start_engine + verbs -= /obj/vehicle/train/engine/verb/stop_engine + verbs -= /obj/vehicle/train/engine/verb/start_engine if(on) - verbs += /obj/vehicle/train/cargo/engine/verb/stop_engine + verbs += /obj/vehicle/train/engine/verb/stop_engine else - verbs += /obj/vehicle/train/cargo/engine/verb/start_engine + verbs += /obj/vehicle/train/engine/verb/start_engine -/obj/vehicle/train/cargo/engine/turn_off() +/obj/vehicle/train/engine/turn_off() ..() - verbs -= /obj/vehicle/train/cargo/engine/verb/stop_engine - verbs -= /obj/vehicle/train/cargo/engine/verb/start_engine + verbs -= /obj/vehicle/train/engine/verb/stop_engine + verbs -= /obj/vehicle/train/engine/verb/start_engine if(!on) - verbs += /obj/vehicle/train/cargo/engine/verb/start_engine + verbs += /obj/vehicle/train/engine/verb/start_engine else - verbs += /obj/vehicle/train/cargo/engine/verb/stop_engine + verbs += /obj/vehicle/train/engine/verb/stop_engine -/obj/vehicle/train/cargo/RunOver(var/mob/living/carbon/human/H) +/obj/vehicle/train/RunOver(var/mob/living/carbon/human/H) var/list/parts = list(BP_HEAD, BP_TORSO, BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM) H.apply_effects(5, 5) for(var/i = 0, i < rand(1,3), i++) H.apply_damage(rand(1,5), BRUTE, pick(parts)) -/obj/vehicle/train/cargo/trolley/RunOver(var/mob/living/carbon/human/H) +/obj/vehicle/train/trolley/RunOver(var/mob/living/carbon/human/H) ..() attack_log += text("\[[time_stamp()]\] ran over [H.name] ([H.ckey])") -/obj/vehicle/train/cargo/engine/RunOver(var/mob/living/carbon/human/H) +/obj/vehicle/train/engine/RunOver(var/mob/living/carbon/human/H) ..() if(is_train_head() && istype(load, /mob/living/carbon/human)) @@ -173,7 +177,7 @@ //------------------------------------------- // Interaction procs //------------------------------------------- -/obj/vehicle/train/cargo/engine/relaymove(mob/user, direction) +/obj/vehicle/train/engine/relaymove(mob/user, direction) if(user != load) return 0 @@ -186,7 +190,7 @@ else return ..() -/obj/vehicle/train/cargo/engine/examine(mob/user) +/obj/vehicle/train/engine/examine(mob/user) if(!..(user, 1)) return @@ -196,7 +200,7 @@ user << "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition." user << "The charge meter reads [cell? round(cell.percent(), 0.01) : 0]%" -/obj/vehicle/train/cargo/engine/verb/start_engine() +/obj/vehicle/train/engine/verb/start_engine() set name = "Start engine" set category = "Vehicle" set src in view(0) @@ -217,7 +221,7 @@ else usr << "[src]'s engine won't start." -/obj/vehicle/train/cargo/engine/verb/stop_engine() +/obj/vehicle/train/engine/verb/stop_engine() set name = "Stop engine" set category = "Vehicle" set src in view(0) @@ -233,7 +237,7 @@ if (!on) usr << "You stop [src]'s engine." -/obj/vehicle/train/cargo/engine/verb/remove_key() +/obj/vehicle/train/engine/verb/remove_key() set name = "Remove key" set category = "Vehicle" set src in view(0) @@ -252,12 +256,12 @@ usr.put_in_hands(key) key = null - verbs -= /obj/vehicle/train/cargo/engine/verb/remove_key + verbs -= /obj/vehicle/train/engine/verb/remove_key //------------------------------------------- // Loading/unloading procs //------------------------------------------- -/obj/vehicle/train/cargo/trolley/load(var/atom/movable/C, var/mob/user) +/obj/vehicle/train/trolley/load(var/atom/movable/C, var/mob/user) if(ismob(C) && !passenger_allowed) return 0 if(!istype(C,/obj/machinery) && !istype(C,/obj/structure/closet) && !istype(C,/obj/structure/largecrate) && !istype(C,/obj/structure/reagent_dispensers) && !istype(C,/obj/structure/ore_box) && !istype(C, /mob/living/carbon/human)) @@ -273,7 +277,7 @@ if(load) return 1 -/obj/vehicle/train/cargo/engine/load(var/atom/movable/C, var/mob/user) +/obj/vehicle/train/engine/load(var/atom/movable/C, var/mob/user) if(!istype(C, /mob/living/carbon/human)) return 0 @@ -283,7 +287,7 @@ //This prevents the object from being interacted with until it has // been unloaded. A dummy object is loaded instead so the loading // code knows to handle it correctly. -/obj/vehicle/train/cargo/trolley/proc/load_object(var/atom/movable/C) +/obj/vehicle/train/trolley/proc/load_object(var/atom/movable/C) if(!isturf(C.loc)) //To prevent loading things from someone's inventory, which wouldn't get handled properly. return 0 if(load || C.anchored) @@ -309,7 +313,7 @@ C.pixel_y = initial(C.pixel_y) C.layer = initial(C.layer) -/obj/vehicle/train/cargo/trolley/unload(var/mob/user, var/direction) +/obj/vehicle/train/trolley/unload(var/mob/user, var/direction) if(istype(load, /datum/vehicle_dummy_load)) var/datum/vehicle_dummy_load/dummy_load = load load = dummy_load.actual_load @@ -322,13 +326,13 @@ // Latching/unlatching procs //------------------------------------------- -/obj/vehicle/train/cargo/engine/latch(obj/vehicle/train/T, mob/user) +/obj/vehicle/train/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)) + if(istype(T, /obj/vehicle/train/trolley)) T.attach_to(src, user) else var/T_dir = get_dir(src, T) //figure out where T is wrt src @@ -349,7 +353,7 @@ // more engines increases this limit by car_limit per // engine. //------------------------------------------------------- -/obj/vehicle/train/cargo/engine/update_car(var/train_length, var/active_engines) +/obj/vehicle/train/engine/update_car(var/train_length, var/active_engines) src.train_length = train_length src.active_engines = active_engines @@ -360,9 +364,9 @@ move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) //limits base overweight so you cant overspeed trains move_delay *= (1 / max(1, active_engines)) * 2 //overweight penalty (scaled by the number of engines) move_delay += config.run_speed //base reference speed - move_delay *= 1.1 //makes cargo trains 10% slower than running when not overweight + move_delay *= speed_mod //makes cargo trains 10% slower than running when not overweight -/obj/vehicle/train/cargo/trolley/update_car(var/train_length, var/active_engines) +/obj/vehicle/train/trolley/update_car(var/train_length, var/active_engines) src.train_length = train_length src.active_engines = active_engines diff --git a/code/modules/vehicles/construction.dm b/code/modules/vehicles/construction.dm new file mode 100644 index 00000000000..49021d5fd01 --- /dev/null +++ b/code/modules/vehicles/construction.dm @@ -0,0 +1,274 @@ +/* + * Construction! + */ + +/obj/item/weapon/vehicle_assembly + name = "vehicle assembly" + desc = "The frame of some vehicle." + icon = 'icons/obj/vehicles_64x64.dmi' + icon_state = "quad-frame" + item_state = "buildpipe" + + density = TRUE + slowdown = 10 //It's a vehicle frame, what do you expect? + w_class = 5 + pixel_x = -16 + + var/build_stage = 0 + var/obj/item/weapon/cell/cell = null + +/obj/item/weapon/vehicle_assembly/New() + ..() + icon_state = "[initial(icon_state)][build_stage]" + update_icon() + +/obj/item/weapon/vehicle_assembly/proc/increase_step(var/new_name = null) + build_stage++ + if(new_name) + name = new_name + icon_state = "[initial(icon_state)][build_stage]" + update_icon() + return 1 + +/* + * Quadbike and trailer. + */ + +/obj/item/weapon/vehicle_assembly/quadbike + name = "all terrain vehicle assembly" + desc = "The frame of an ATV." + icon_state = "quad-frame" + +/obj/item/weapon/vehicle_assembly/quadbike/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) + ..() + + switch(build_stage) + if(0) + if(istype(W, /obj/item/stack/material/plastic)) + var/obj/item/stack/material/plastic/P = W + if (P.get_amount() < 8) + to_chat(user, "You need eight sheets of plastic to add tires to \the [src].") + return + to_chat(user, "You start to add tires to [src].") + if(do_after(user, 40) && build_stage == 0) + if(P.use(8)) + to_chat(user, "You add tires to \the [src].") + increase_step("wheeled [initial(name)]") + return + + if(1) + if(istype(W, /obj/item/weapon/stock_parts/console_screen)) + user.drop_item() + qdel(W) + to_chat(user, "You add the lights to \the [src].") + increase_step() + return + + if(2) + if(istype(W, /obj/item/weapon/stock_parts/spring)) + user.drop_item() + qdel(W) + to_chat(user, "You add the control system to \the [src].") + increase_step() + return + if(istype(W, /obj/item/stack/material/steel)) + var/obj/item/stack/material/steel/S = W + if(S.get_amount() < 5) + to_chat(user, "You need five sheets of steel to convert \the [src] into a trailer.") + if(do_after(user, 80) && build_stage == 2) + if(S.use(5)) + var/obj/item/weapon/vehicle_assembly/quadtrailer/Trailer = new(src) + Trailer.forceMove(get_turf(src)) + Trailer.increase_step("framed [initial(Trailer.name)]") + to_chat(user, "You convert \the [src] into \the [Trailer].") + user.drop_from_inventory(src) + qdel(src) + return + + if(3) + if(istype(W, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/C = W + if (C.get_amount() < 2) + to_chat(user, "You need two coils of wire to wire [src].") + return + to_chat(user, "You start to wire [src].") + if(do_after(user, 40) && build_stage == 3) + if(C.use(2)) + to_chat(user, "You wire \the [src].") + increase_step("wired [initial(name)]") + return + + if(4) + if(istype(W, /obj/item/weapon/cell)) + user.drop_item() + W.forceMove(src) + cell = W + to_chat(user, "You add the power supply to \the [src].") + increase_step("powered [initial(name)]") + return + + if(5) + if(istype(W, /obj/item/weapon/stock_parts/motor)) + user.drop_item() + qdel(W) + to_chat(user, "You add the motor to \the [src].") + increase_step() + return + + if(6) + if(istype(W, /obj/item/stack/material/plasteel)) + var/obj/item/stack/material/plasteel/PL = W + if (PL.get_amount() < 2) + to_chat(user, "You need two sheets of plasteel to add reinforcement to \the [src].") + return + to_chat(user, "You start to add reinforcement to [src].") + if(do_after(user, 40) && build_stage == 6) + if(PL.use(2)) + to_chat(user, "You add reinforcement to \the [src].") + increase_step("reinforced [initial(name)]") + return + + if(7) + if(W.is_wrench() || W.is_screwdriver()) + playsound(loc, W.usesound, 50, 1) + to_chat(user, "You begin your finishing touches on \the [src].") + if(do_after(user, 20) && build_stage == 7) + playsound(loc, W.usesound, 30, 1) + var/obj/vehicle/train/engine/quadbike/built/product = new(src) + to_chat(user, "You finish \the [product]") + product.loc = get_turf(src) + product.cell = cell + cell.forceMove(product) + cell = null + user.drop_from_inventory(src) + qdel(src) + return + +/obj/item/weapon/vehicle_assembly/quadtrailer + name = "all terrain trailer" + desc = "The frame of a small trailer." + icon_state = "quadtrailer-frame" + +/obj/item/weapon/vehicle_assembly/quadtrailer/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) + ..() + + switch(build_stage) + if(0) + if(istype(W, /obj/item/weapon/vehicle_assembly/quadbike)) + var/obj/item/weapon/vehicle_assembly/quadbike/Q = W + if(Q.build_stage > 2) + to_chat(user, "\The [Q] is too advanced to be of use with \the [src]") + return + user.drop_item() + qdel(W) + increase_step("framed [initial(name)]") + + if(1) + if(istype(W, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/C = W + if (C.get_amount() < 2) + to_chat(user, "You need two coils of wire to wire [src].") + return + to_chat(user, "You start to wire [src].") + if(do_after(user, 40) && build_stage == 1) + if(C.use(2)) + to_chat(user, "You wire \the [src].") + increase_step("wired [initial(name)]") + return + + if(2) + if(W.is_screwdriver()) + playsound(loc, W.usesound, 50, 1) + to_chat(user, "You close up \the [src].") + var/obj/vehicle/train/trolley/trailer/product = new(src) + product.loc = get_turf(src) + user.drop_from_inventory(src) + qdel(src) + return + +/* + * Space bike. + */ + +/obj/item/weapon/vehicle_assembly/spacebike + name = "vehicle assembly" + desc = "The frame of some vehicle." + icon = 'icons/obj/bike.dmi' + icon_state = "bike-frame" + + pixel_x = 0 + +/obj/item/weapon/vehicle_assembly/spacebike/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) + switch(build_stage) + if(0) + if(istype(W, /obj/item/weapon/tank/jetpack) || istype(W, /obj/item/borg/upgrade/jetpack)) + user.drop_item() + qdel(W) + increase_step() + + if(1) + if(istype(W, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/C = W + if (C.get_amount() < 2) + to_chat(user, "You need two coils of wire to wire [src].") + return + to_chat(user, "You start to wire [src].") + if(do_after(user, 40) && build_stage == 1) + if(C.use(2)) + to_chat(user, "You wire \the [src].") + increase_step("wired [initial(name)]") + return + + if(2) + if(istype(W, /obj/item/stack/material/plastic)) + var/obj/item/stack/material/plastic/P = W + if (P.get_amount() < 3) + to_chat(user, "You need three sheets of plastic to add a seat to \the [src].") + return + to_chat(user, "You start to add a seat to [src].") + if(do_after(user, 40) && build_stage == 2) + if(P.use(3)) + to_chat(user, "You add a seat to \the [src].") + increase_step("seated [initial(name)]") + return + + if(3) + if(istype(W, /obj/item/weapon/stock_parts/console_screen)) + user.drop_item() + qdel(W) + to_chat(user, "You add the lights to \the [src].") + increase_step() + return + + if(4) + if(istype(W, /obj/item/weapon/stock_parts/spring)) + user.drop_item() + qdel(W) + to_chat(user, "You add the control system to \the [src].") + increase_step() + return + + if(5) + if(istype(W, /obj/item/weapon/cell)) + user.drop_item() + W.forceMove(src) + cell = W + to_chat(user, "You add the power supply to \the [src].") + increase_step("powered [initial(name)]") + return + + if(6) + if(W.is_wrench() || W.is_screwdriver()) + playsound(loc, W.usesound, 50, 1) + to_chat(user, "You begin your finishing touches on \the [src].") + if(do_after(user, 20) && build_stage == 6) + playsound(loc, W.usesound, 30, 1) + var/obj/vehicle/bike/built/product = new(src) + to_chat(user, "You finish \the [product]") + product.loc = get_turf(src) + product.cell = cell + cell.forceMove(product) + cell = null + user.drop_from_inventory(src) + qdel(src) + return diff --git a/code/modules/vehicles/quad.dm b/code/modules/vehicles/quad.dm new file mode 100644 index 00000000000..23a00f6de72 --- /dev/null +++ b/code/modules/vehicles/quad.dm @@ -0,0 +1,259 @@ + +/obj/vehicle/train/engine/quadbike //It's a train engine, so it can tow trailers. + name = "electric all terrain vehicle" + desc = "A ridable electric ATV designed for all terrain. Except space." + icon = 'icons/obj/vehicles_64x64.dmi' + icon_state = "quad" + on = 0 + powered = 1 + locked = 0 + + load_item_visible = 1 + load_offset_x = 0 + mob_offset_y = 5 + + pixel_x = -16 + speed_mod = 0.45 + car_limit = 1 //It gets a trailer. That's about it. + active_engines = 1 + key_type = /obj/item/weapon/key/quadbike + + var/frame_state = "quad" //Custom-item proofing! + var/custom_frame = FALSE + + paint_color = "#ffffff" + + var/outdoors_speed_mod = 0.7 //The general 'outdoors' speed. I.E., the general difference you'll be at when driving outside. + +/obj/vehicle/train/engine/quadbike/New() + cell = new /obj/item/weapon/cell/high(src) + key = new(key_type) + turn_off() + +/obj/vehicle/train/engine/quadbike/built/New() + key = new(key_type) + turn_off() + +/obj/vehicle/train/engine/quadbike/random/New() + paint_color = rgb(rand(1,255),rand(1,255),rand(1,255)) + ..() + +/obj/item/weapon/key/quadbike + name = "key" + desc = "A keyring with a small steel key, and a blue fob reading \"ZOOM!\"." + icon = 'icons/obj/vehicles.dmi' + icon_state = "quad_keys" + w_class = ITEMSIZE_TINY + +/obj/vehicle/train/engine/quadbike/Move(var/turf/destination) + var/turf/T = get_turf(src) + ..() //Move it move it, so we can test it test it. + if(T != get_turf(src) && !istype(destination, T.type)) //Did we move at all, and are we changing turf types? + if(istype(destination, /turf/simulated/floor/water)) + speed_mod = outdoors_speed_mod * 4 //It kind of floats due to its tires, but it is slow. + else if(istype(destination, /turf/simulated/floor/outdoors/rocks)) + speed_mod = initial(speed_mod) //Rocks are good, rocks are solid. + else if(istype(destination, /turf/simulated/floor/outdoors/dirt) || istype(destination, /turf/simulated/floor/outdoors/grass)) + speed_mod = outdoors_speed_mod //Dirt and grass are the outdoors bench mark. + else if(istype(destination, /turf/simulated/floor/outdoors/mud)) + speed_mod = outdoors_speed_mod * 1.5 //Gets us roughly 1. Mud may be fun, but it's not the best. + else if(istype(destination, /turf/simulated/floor/outdoors/snow)) + speed_mod = outdoors_speed_mod * 1.7 //Roughly a 1.25. Snow is coarse and wet and gets everywhere, especially your electric motors. + else + speed_mod = initial(speed_mod) + update_car(train_length, active_engines) + switch(dir) //Due to being a Big Boy sprite, it has to have special pixel shifting to look 'normal' when being driven. + if(1) + pixel_y = -6 + if(2) + pixel_y = -6 + if(4) + pixel_y = 0 + if(8) + pixel_y = 0 + + +/obj/vehicle/train/engine/quadbike/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/device/multitool) && open) + var/new_paint = input("Please select paint color.", "Paint Color", paint_color) as color|null + if(new_paint) + paint_color = new_paint + update_icon() + return + ..() + +/obj/vehicle/train/engine/quadbike/update_icon() + ..() + overlays.Cut() + if(custom_frame) + var/image/Bodypaint = new(icon = 'icons/obj/custom_items_vehicle.dmi', icon_state = "[frame_state]_a", layer = src.layer) + Bodypaint.color = paint_color + overlays += Bodypaint + + var/image/Overmob = new(icon = 'icons/obj/custom_items_vehicle.dmi', icon_state = "[frame_state]_overlay", layer = src.layer + 0.2) //over mobs + var/image/Overmob_color = new(icon = 'icons/obj/custom_items_vehicle.dmi', icon_state = "[frame_state]_overlay_a", layer = src.layer + 0.2) //over the over mobs, gives the color. + Overmob.plane = MOB_PLANE + Overmob_color.plane = MOB_PLANE + Overmob_color.color = paint_color + + overlays += Overmob + overlays += Overmob_color + return + + var/image/Bodypaint = new(icon = 'icons/obj/vehicles_64x64.dmi', icon_state = "[frame_state]_a", layer = src.layer) + Bodypaint.color = paint_color + overlays += Bodypaint + + var/image/Overmob = new(icon = 'icons/obj/vehicles_64x64.dmi', icon_state = "[frame_state]_overlay", layer = src.layer + 0.2) //over mobs + var/image/Overmob_color = new(icon = 'icons/obj/vehicles_64x64.dmi', icon_state = "[frame_state]_overlay_a", layer = src.layer + 0.2) //over the over mobs, gives the color. + Overmob.plane = MOB_PLANE + Overmob_color.plane = MOB_PLANE + Overmob_color.color = paint_color + + overlays += Overmob + overlays += Overmob_color + +/obj/vehicle/train/engine/quadbike/Bump(atom/Obstacle) + if(!istype(Obstacle, /atom/movable)) + return + var/atom/movable/A = Obstacle + + if(!A.anchored) + var/turf/T = get_step(A, dir) + if(isturf(T)) + A.Move(T) //bump things away when hit + + if(istype(A, /mob/living)) + var/mob/living/M = A + visible_message("[src] knocks over [M]!") + M.apply_effects(2, 2) // Knock people down for a short moment + M.apply_damages(8 / move_delay) // Smaller amount of damage than a tug, since this will always be possible because Quads don't have safeties. + var/list/throw_dirs = list(1, 2, 4, 8, 5, 6, 9, 10) + if(!emagged) // By the power of Bumpers TM, it won't throw them ahead of the quad's path unless it's emagged or the person turns. + health -= round(M.mob_size / 2) + throw_dirs -= dir + throw_dirs -= get_dir(M, src) //Don't throw it AT the quad either. + else + health -= round(M.mob_size / 4) // Less damage if they actually put the point in to emag it. + var/turf/T2 = get_step(A, pick(throw_dirs)) + M.throw_at(T2, 1, 1, src) + if(istype(load, /mob/living/carbon/human)) + var/mob/living/D = load + to_chat(D, "You hit [M]!") + add_attack_logs(D,M,"Ran over with [src.name]") + + +/obj/vehicle/train/engine/quadbike/RunOver(var/mob/living/carbon/human/H) + ..() + var/list/throw_dirs = list(1, 2, 4, 8, 5, 6, 9, 10) + if(!emagged) + throw_dirs -= dir + if(tow) + throw_dirs -= get_dir(H, tow) //Don't throw it at the trailer either. + var/turf/T = get_step(H, pick(throw_dirs)) + H.throw_at(T, 1, 1, src) + +/* + * Trailer bits and bobs. + */ + +/obj/vehicle/train/trolley/trailer + name = "all terrain trailer" + icon = 'icons/obj/vehicles_64x64.dmi' + icon_state = "quadtrailer" + anchored = 0 + passenger_allowed = 1 + buckle_lying = 1 + locked = 0 + + load_item_visible = 1 + load_offset_x = 0 + load_offset_y = 13 + mob_offset_y = 16 + + pixel_x = -16 + + paint_color = "#ffffff" + +/obj/vehicle/train/trolley/trailer/random/New() + paint_color = rgb(rand(1,255),rand(1,255),rand(1,255)) + ..() + +/obj/vehicle/train/trolley/trailer/proc/update_load() + if(load) + var/y_offset = load_offset_y + if(istype(load, /mob/living)) + y_offset = mob_offset_y + load.pixel_x = (initial(load.pixel_x) + 16 + load_offset_x + pixel_x) //Base location for the sprite, plus 16 to center it on the 'base' sprite of the trailer, plus the x shift of the trailer, then shift it by the same pixel_x as the trailer to track it. + load.pixel_y = (initial(load.pixel_y) + y_offset + pixel_y) //Same as the above. + return 1 + return 0 + +/obj/vehicle/train/trolley/trailer/New() + ..() + update_icon() + +/obj/vehicle/train/trolley/trailer/Move() + ..() + if(lead) + switch(dir) //Due to being a Big Boy sprite, it has to have special pixel shifting to look 'normal'. + if(1) + pixel_y = -10 + pixel_x = -16 + if(2) + pixel_y = 0 + pixel_x = -16 + if(4) + pixel_y = 0 + pixel_x = -25 + if(8) + pixel_y = 0 + pixel_x = -5 + else + pixel_x = initial(pixel_x) + pixel_y = initial(pixel_y) + update_load() + +/obj/vehicle/train/trolley/trailer/Bump(atom/Obstacle) + if(!istype(Obstacle, /atom/movable)) + return + var/atom/movable/A = Obstacle + + if(!A.anchored) + var/turf/T = get_step(A, dir) + if(isturf(T)) + A.Move(T) //bump things away when hit + + if(istype(A, /mob/living)) + var/mob/living/M = A + visible_message("[src] knocks over [M]!") + M.apply_effects(1, 1) + M.apply_damages(8 / move_delay) + if(load) + M.apply_damages(4/move_delay) + var/list/throw_dirs = list(1, 2, 4, 8, 5, 6, 9, 10) + if(!emagged) + throw_dirs -= dir + var/turf/T2 = get_step(A, pick(throw_dirs)) + M.throw_at(T2, 1, 1, src) + if(istype(load, /mob/living/carbon/human)) + var/mob/living/D = load + to_chat(D, "You hit [M]!") + add_attack_logs(D,M,"Ran over with [src.name]") + +/obj/vehicle/train/trolley/trailer/update_icon() + ..() + overlays.Cut() + + var/image/Bodypaint = new(icon = 'icons/obj/vehicles_64x64.dmi', icon_state = "[initial(icon_state)]_a", layer = src.layer) + Bodypaint.color = paint_color + overlays += Bodypaint + +/obj/vehicle/train/trolley/trailer/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/device/multitool) && open) + var/new_paint = input("Please select paint color.", "Paint Color", paint_color) as color|null + if(new_paint) + paint_color = new_paint + update_icon() + return + ..() diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm index 42f97676adf..6db4400f819 100644 --- a/code/modules/vehicles/train.dm +++ b/code/modules/vehicles/train.dm @@ -17,6 +17,7 @@ var/obj/vehicle/train/lead var/obj/vehicle/train/tow + var/open_top = TRUE //------------------------------------------- // Standard procs @@ -58,6 +59,19 @@ D << "You hit [M]!" add_attack_logs(D,M,"Ran over with [src.name]") +//trains are commonly open topped, so there is a chance the projectile will hit the mob riding the train instead +/obj/vehicle/train/bullet_act(var/obj/item/projectile/Proj) + if(has_buckled_mobs() && prob(70)) + var/mob/living/L = pick(buckled_mobs) + L.bullet_act(Proj) + return + ..() + +/obj/vehicle/train/update_icon() + if(open) + icon_state = initial(icon_state) + "_open" + else + icon_state = initial(icon_state) //------------------------------------------- // Vehicle procs diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 2109d42f44b..f3ea8fc91cd 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -34,6 +34,8 @@ var/obj/item/weapon/cell/cell var/charge_use = 5 //set this to adjust the amount of power the vehicle uses per move + var/paint_color = "#666666" //For vehicles with special paint overlays. + var/atom/movable/load //all vehicles can take a load, since they should all be a least drivable var/load_item_visible = 1 //set if the loaded item should be overlayed on the vehicle sprite var/load_offset_x = 0 //pixel_x offset for item overlay diff --git a/html/changelogs/Mechoid - Vehicles.yml b/html/changelogs/Mechoid - Vehicles.yml new file mode 100644 index 00000000000..94b8e280e95 --- /dev/null +++ b/html/changelogs/Mechoid - Vehicles.yml @@ -0,0 +1,36 @@ +################################ +# 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 +################################# + +# Your name. +author: Mechoid + +# 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: + - rscadd: "Adds two vehicles to Robotics and Cargo, the Quad and Spacebike." diff --git a/icons/obj/bike.dmi b/icons/obj/bike.dmi index 69aa0ccb4efc21f0048c11314bc7c7f306abff63..aecc6aa2e97dbd1a86ad4699e26b3ac74de0c68c 100644 GIT binary patch delta 3166 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 delta 1398 zcmV-+1&R8b8NmxBiBL{Q4GJ0x0000DNk~Le0001h0001h2m=5B0QBII`2YX_Y>_2i ze@#tIUteDU003-kY*kfNE-o&ilBVha0004WQchCV=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pS zoZ^zil2jm5DJe5MH9kL2iHkEOv#1!Pe~pVXttc@!6~s2gP#2#Mv>+$3l1TMwX+$d| zWU{h?tDg(livTCWM9U&Vz6JmQ1bRtCK~#90?V1g9qaYB56%1(U6_eANwkBTN|NkHF zT~MQliEZ^VH^V!be6YYi;Y;1wC>knejK$IY6mtOZ`w`&(bIz}gL9*NJlFj@xe=fL8 zCEnS@mOUu)pFIA0Oo%`|WLx-eN5CP-NKXoWlSnBQ(HHe(O4kO^IZ024;OQxfxKcuq z@Xl?~x&lDHC*{65000wObH=q6jIZt70K@<|91Z}8JpdebodO`$ux~*S|IYUX0E&J7 z+p`Z0fFRuwK%`R2RBQ#HdjRb_e+ih7sad3{6uvdG4nT1z<^Xt{QU#dPc#}m40AV!; zKqFMp2#o>I;#)u*4aWdxifNL)08yM5h1R+#@{w7TQhE@?pnKuCYTZj&cEt~Ls9~F@ zIA>C9^oR~$_q4?>rEQ?GPlv_N=%}hL1g0;8rIamEs&$oR4;TMc1@PzYe>b^Hgiy!h zQ3;Vuy+;O6yga`M3wQx|A%ejWP~$8~N_Bj-1+Pa{CP_Bx6aeu5(g6^3!ji-QB>2{r zIRN4f0B^ztcoP8VccvYHx=w}wNnML!pEy=4N!<KOoBCM^IPe;or@7MO2bNrsI?$xrpE`-QK31b{`$XkCokFfKLjh_v(r z(B<0fQulI=0$j(j5c8rh%S+CB0(@b-%zI;zV*%1-f9!{P(e10+1~MJ|qF`TfRe)qjFhNyAc2;U!b!2^Z*zFtdGgriCib&J56Bfq;+$0cZ6-uPi`ys-vhrRTiMa z?FQL%;FYEccUNXV0zUr)&;X$E0C00F$Cxx%t6Wm&L?j46kUu`Q+7=T4#xMemeG!0` zG!1AA(RELSf~G)_e}C6nQlWD~gXqj^cAg&r#_ekaz|PH%+x=l6+U^CFnTqtuMT=;x zb~Eu^b9PoU{^G8=0)W52Yv{uTpb@r%(d$f=EdaGS4{cP4CSL`Jx*=q~VyEofG(&*K z@#Sw7dHesKhCQvyR`KS26lD_;J#0Ms( z1@Qs$Z{hwP}JyeK{p^^fP*{a=Y7UyUx`j1MdX_<{QPfZse5A6OHhix2qy z&&3DUQy(9g1MtTO)&yvuj%Ur@_`sR~ZG2$P?2Qks3UFftypQK=0(9|#y8(3ZfjP4` zKCmu;eLSBte|zHt{|;a-KCmW1c#;na`2!(;;8y;?AKbG23Hbvde<0)!g#3Y!Kj7pK zy#FMB;Jy33G=JdZ{lm>4K*_iB2R=H0rTGJ&0QeLxz~^`K2R?fM)Bl3}fh7R8?xOsG z3Bb+#0SgfF2SWZp$R7y#10jE4i9-HBP*6}%P|$y>NRU79ALI|1_`nT@})Bpeg07*qoM6N<$ Ef<|h4!vFvP diff --git a/icons/obj/custom_items_vehicle.dmi b/icons/obj/custom_items_vehicle.dmi new file mode 100644 index 0000000000000000000000000000000000000000..a6afb68bab511eff886dc4cefd510a46b62b596b GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRF$egBxE?rgAkBMU3XscK666=m z;PC858jzD!6%tY6l3JWxlvz-cnV-kNP%$Sste~j$`e1P4th#xHghs-Nqcg*% z%$UuUsI9%@*UpBstPD|Cq$YD3UVZ_zmEY6FF+^ixa)Jcw;)WUq1||mv#)MGQET9yF Mr>mdKI;Vst0PaOgjQ{`u literal 0 HcmV?d00001 diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 91658df513fab3214719e0648098d02ae7d92b68..e4124040754e0eea4c3c5ed77c0fa8239705fd04 100644 GIT binary patch delta 40401 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 DeMjSv delta 39363 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 ZIYc)SOscX9K?4p5#Mr=GAE)OU{XfB*UN`^% diff --git a/icons/obj/vehicles.dmi b/icons/obj/vehicles.dmi index 85e245ce9fe34072235d2bdc9a21b75ff1a70232..6379879df75b6b533c9f5be327e9eced2da6d656 100644 GIT binary patch literal 11137 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