Files
S.P.L.U.R.T-Station-13/code/modules/vehicles/pimpin_ride.dm
silicons 416b989e12 changes
2020-07-20 11:35:10 -07:00

74 lines
2.1 KiB
Plaintext

//PIMP-CART
/obj/vehicle/ridden/janicart
name = "janicart (pimpin' ride)"
desc = "A brave janitor cyborg gave its life to produce such an amazing combination of speed and utility."
icon_state = "pussywagon"
key_type = /obj/item/key/janitor
var/obj/item/storage/bag/trash/mybag = null
var/floorbuffer = FALSE
/obj/vehicle/ridden/janicart/Initialize(mapload)
. = ..()
update_icon()
var/datum/component/riding/D = LoadComponent(/datum/component/riding)
D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 4), TEXT_SOUTH = list(0, 7), TEXT_EAST = list(-12, 7), TEXT_WEST = list( 12, 7)))
if(floorbuffer)
AddElement(/datum/element/cleaning)
/obj/vehicle/ridden/janicart/Destroy()
if(mybag)
qdel(mybag)
mybag = null
. = ..()
/obj/item/janiupgrade
name = "floor buffer upgrade"
desc = "An upgrade for mobile janicarts."
icon = 'icons/obj/vehicles.dmi'
icon_state = "upgrade"
/obj/vehicle/ridden/janicart/examine(mob/user)
. = ..()
if(floorbuffer)
. += "It has been upgraded with a floor buffer."
/obj/vehicle/ridden/janicart/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/storage/bag/trash))
if(mybag)
to_chat(user, "<span class='warning'>[src] already has a trashbag hooked!</span>")
return
if(!user.transferItemToLoc(I, src))
return
to_chat(user, "<span class='notice'>You hook the trashbag onto [src].</span>")
mybag = I
update_icon()
else if(istype(I, /obj/item/janiupgrade))
if(floorbuffer)
to_chat(user, "<span class='warning'>[src] already has a floor buffer!</span>")
return
floorbuffer = TRUE
qdel(I)
to_chat(user, "<span class='notice'>You upgrade [src] with the floor buffer.</span>")
AddElement(/datum/element/cleaning)
update_icon()
else
return ..()
/obj/vehicle/ridden/janicart/update_overlays()
. = ..()
if(mybag)
. += "cart_garbage"
if(floorbuffer)
. += "cart_buffer"
/obj/vehicle/ridden/janicart/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
if(mybag)
mybag.forceMove(get_turf(user))
user.put_in_hands(mybag)
mybag = null
update_icon()
/obj/vehicle/ridden/janicart/upgraded
floorbuffer = TRUE