diff --git a/code/modules/vehicle/ambulance.dm b/code/modules/vehicle/ambulance.dm
index 91f333387fd..7b4797c6fe3 100644
--- a/code/modules/vehicle/ambulance.dm
+++ b/code/modules/vehicle/ambulance.dm
@@ -7,7 +7,7 @@
var/datum/action/ambulance_alarm/AA
var/datum/looping_sound/ambulance_alarm/soundloop
-/obj/vehicle/ambulance/New()
+/obj/vehicle/ambulance/Initialize(mapload)
. = ..()
AA = new(src)
soundloop = new(list(src), FALSE)
diff --git a/code/modules/vehicle/atv.dm b/code/modules/vehicle/atv.dm
index 1cfc47e53d8..1dfb844b8cb 100644
--- a/code/modules/vehicle/atv.dm
+++ b/code/modules/vehicle/atv.dm
@@ -2,18 +2,16 @@
name = "all-terrain vehicle"
desc = "An all-terrain vehicle built for traversing rough terrain with ease. One of the few old-earth technologies that are still relevant on most planet-bound outposts."
icon = 'icons/vehicles/4wheeler.dmi'
- icon_state = "fourwheel"
+ icon_state = "atv"
key_type = /obj/item/key
generic_pixel_x = 0
generic_pixel_y = 4
vehicle_move_delay = 1.5
- var/static/image/atvcover = null
+ var/static/mutable_appearance/atvcover
-/obj/vehicle/atv/New()
- ..()
- if(!atvcover)
- atvcover = image("icons/vehicles/4wheeler.dmi", "4wheeler_north")
- atvcover.layer = MOB_LAYER + 0.1
+/obj/vehicle/atv/Initialize(mapload)
+ . = ..()
+ atvcover = mutable_appearance(icon, atvcover, ABOVE_MOB_LAYER)
/obj/vehicle/atv/post_buckle_mob(mob/living/M)
add_overlay(atvcover)
@@ -26,7 +24,7 @@
/obj/vehicle/atv/handle_vehicle_layer()
if(dir == SOUTH)
- layer = MOB_LAYER+0.1
+ layer = ABOVE_MOB_LAYER
else
layer = OBJ_LAYER
@@ -40,20 +38,20 @@
emp_vulnerable = 1
density = 0
-/obj/vehicle/atv/turret/New()
- ..()
+/obj/vehicle/atv/turret/Initialize(mapload)
+ . = ..()
turret = new(loc)
//turret.base = src
/obj/vehicle/atv/turret/handle_vehicle_layer()
if(dir == SOUTH)
- layer = MOB_LAYER+0.1
+ layer = ABOVE_MOB_LAYER
else
layer = OBJ_LAYER
if(turret)
if(dir == NORTH)
- turret.layer = MOB_LAYER+0.1
+ turret.layer = ABOVE_MOB_LAYER
else
turret.layer = OBJ_LAYER
diff --git a/code/modules/vehicle/janicart.dm b/code/modules/vehicle/janicart.dm
index 1a1855ba39d..319d2338128 100644
--- a/code/modules/vehicle/janicart.dm
+++ b/code/modules/vehicle/janicart.dm
@@ -7,6 +7,9 @@
var/obj/item/storage/bag/trash/mybag
var/floorbuffer = FALSE
+/obj/vehicle/janicart/Destroy()
+ QDEL_NULL(mybag)
+ return ..()
/obj/vehicle/janicart/handle_vehicle_offsets()
..()
@@ -65,7 +68,7 @@
if(istype(I, /obj/item/storage/bag/trash))
if(!user.drop_item())
return
- to_chat(user, "You hook the trashbag onto \the [name].")
+ to_chat(user, "You hook [I] onto [src].")
I.forceMove(src)
mybag = I
update_icon()
@@ -73,24 +76,24 @@
if(istype(I, /obj/item/janiupgrade))
floorbuffer = TRUE
qdel(I)
- to_chat(user,"You upgrade [src] with the floor buffer.")
+ to_chat(user,"You upgrade [src] with [I].")
update_icon()
return
return ..()
/obj/vehicle/janicart/update_icon()
- overlays.Cut()
+ cut_overlays()
if(mybag)
- overlays += "cart_garbage"
+ add_overlay("cart_garbage")
if(floorbuffer)
- overlays += "cart_buffer"
+ add_overlay("cart_buffer")
/obj/vehicle/janicart/attack_hand(mob/user)
if(..())
- return 1
+ return TRUE
else if(mybag)
- mybag.loc = get_turf(user)
+ mybag.forceMove(get_turf(user))
user.put_in_hands(mybag)
mybag = null
update_icon()
\ No newline at end of file
diff --git a/code/modules/vehicle/motorcycle.dm b/code/modules/vehicle/motorcycle.dm
index a79f8e3fa12..ea165c1c8df 100644
--- a/code/modules/vehicle/motorcycle.dm
+++ b/code/modules/vehicle/motorcycle.dm
@@ -6,15 +6,11 @@
generic_pixel_x = 0
generic_pixel_y = 4
vehicle_move_delay = 1
- var/static/image/bikecover = null
-
-
-/obj/vehicle/motorcycle/New()
- ..()
- if(!bikecover)
- bikecover = image("icons/vehicles/motorcycle.dmi", "motorcycle_overlay_4d")
- bikecover.layer = MOB_LAYER + 0.1
+ var/mutable_appearance/bikecover
+/obj/vehicle/motorcycle/Initialize(mapload)
+ . = ..()
+ bikecover = mutable_appearance(icon, "motorcycle_overlay_4d", ABOVE_MOB_LAYER)
/obj/vehicle/motorcycle/post_buckle_mob(mob/living/M)
add_overlay(bikecover)
@@ -28,6 +24,6 @@
/obj/vehicle/motorcycle/handle_vehicle_layer()
if(dir == SOUTH)
- layer = MOB_LAYER+0.1
+ layer = ABOVE_MOB_LAYER
else
layer = OBJ_LAYER
\ No newline at end of file
diff --git a/code/modules/vehicle/speedbike.dm b/code/modules/vehicle/speedbike.dm
index 0d3018c5452..75e25c2c5e6 100644
--- a/code/modules/vehicle/speedbike.dm
+++ b/code/modules/vehicle/speedbike.dm
@@ -5,13 +5,12 @@
layer = MOB_LAYER - 0.1
vehicle_move_delay = 0
var/overlay_state = "cover_blue"
- var/image/overlay = null
+ var/mutable_appearance/overlay
-/obj/vehicle/space/speedbike/New()
- ..()
- overlay = image("icons/obj/bike.dmi", overlay_state)
- overlay.layer = MOB_LAYER + 0.1
- overlays += overlay
+/obj/vehicle/space/speedbike/Initialize(mapload)
+ . = ..()
+ overlay = mutable_appearance(icon, overlay_state, ABOVE_MOB_LAYER)
+ add_overlay(overlay)
/obj/vehicle/space/speedbike/Move(newloc,move_dir)
if(has_buckled_mobs())
diff --git a/code/modules/vehicle/sportscar.dm b/code/modules/vehicle/sportscar.dm
index f52f4b77a92..0f9543d4811 100644
--- a/code/modules/vehicle/sportscar.dm
+++ b/code/modules/vehicle/sportscar.dm
@@ -6,14 +6,11 @@
generic_pixel_x = 0
generic_pixel_y = 4
vehicle_move_delay = 1
- var/static/image/carcover = null
+ var/mutable_appearance/carcover
-
-/obj/vehicle/car/New()
- ..()
- if(!carcover)
- carcover = image("icons/vehicles/sportscar.dmi", "sportscar_cover")
- carcover.layer = MOB_LAYER + 0.1
+/obj/vehicle/car/Initialize(mapload)
+ . = ..()
+ carcover = mutable_appearance(icon, "sportscar_cover", ABOVE_MOB_LAYER)
/obj/vehicle/car/post_buckle_mob(mob/living/M)
add_overlay(carcover)
@@ -46,6 +43,6 @@
/obj/vehicle/car/handle_vehicle_layer()
if(dir == SOUTH)
- layer = MOB_LAYER+0.1
+ layer = ABOVE_MOB_LAYER
else
layer = OBJ_LAYER
\ No newline at end of file
diff --git a/icons/vehicles/4wheeler.dmi b/icons/vehicles/4wheeler.dmi
index 0378b865fd3..e1bfd5e18fd 100644
Binary files a/icons/vehicles/4wheeler.dmi and b/icons/vehicles/4wheeler.dmi differ