From 1cc97bf53844a2c7a6dc5125ed197b7938c48561 Mon Sep 17 00:00:00 2001 From: mirrormagic1 Date: Thu, 28 Apr 2022 22:56:54 -0400 Subject: [PATCH] GROCERY SCOOTER Added a grocery scooter, and an unmotorized one so the code is happy, and added a decent place holder sprite. --- code/modules/vehicles/grocery_cart_scooter.dm | 168 ++++++++++++++++++ .../grocery_cart_scooter_unmortorized.dm | 116 ++++++++++++ icons/obj/vehicles.dmi | Bin 35254 -> 41746 bytes tgstation.dme | 2 + 4 files changed, 286 insertions(+) create mode 100644 code/modules/vehicles/grocery_cart_scooter.dm create mode 100644 code/modules/vehicles/grocery_cart_scooter_unmortorized.dm diff --git a/code/modules/vehicles/grocery_cart_scooter.dm b/code/modules/vehicles/grocery_cart_scooter.dm new file mode 100644 index 00000000..4d0bfa99 --- /dev/null +++ b/code/modules/vehicles/grocery_cart_scooter.dm @@ -0,0 +1,168 @@ +/obj/vehicle/ridden/grocery_cart/motorized + name = "motorized grocery scooter" + desc = "A motorized scooter with a basket." + max_integrity = 150 + var/speed = 2 + var/power_efficiency = 1 + var/power_usage = 50 + var/panel_open = FALSE + var/list/required_parts = list(/obj/item/stock_parts/manipulator, + /obj/item/stock_parts/manipulator, + /obj/item/stock_parts/capacitor) + var/obj/item/stock_parts/cell/power_cell + +/obj/vehicle/ridden/grocery_cart/motorized/CheckParts(list/parts_list) + ..() + refresh_parts() + +/obj/vehicle/ridden/grocery_cart/motorized/proc/refresh_parts() + speed = 1 // Should never be under 1 + for(var/obj/item/stock_parts/manipulator/M in contents) + speed += M.rating + for(var/obj/item/stock_parts/capacitor/C in contents) + power_efficiency = C.rating + var/datum/component/riding/D = GetComponent(/datum/component/riding) + D.vehicle_move_delay = round(CONFIG_GET(number/movedelay/run_delay) * delay_multiplier) / speed + +/obj/vehicle/ridden/grocery_cart/motorized/obj_destruction(damage_flag) + var/turf/T = get_turf(src) + for(var/atom/movable/A in contents) + A.forceMove(T) + //if(isliving(A)) + // var/mob/living/L = A + // L.update_mobility() + ..() + +/obj/vehicle/ridden/grocery_cart/motorized/driver_move(mob/living/user, direction) + if(istype(user)) + if(!canmove) + return FALSE + if(!power_cell) + to_chat(user, "There seems to be no cell installed in [src].") + canmove = FALSE + addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) + return FALSE + if(power_cell.charge < power_usage / max(power_efficiency, 1)) + to_chat(user, "The display on [src] blinks 'Out of Power'.") + canmove = FALSE + addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) + return FALSE + if(user.get_num_arms() < arms_required) + to_chat(user, "You don't have enough arms to operate the motor controller!") + canmove = FALSE + addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) + return FALSE + power_cell.use(power_usage / max(power_efficiency, 1)) + return ..() + +/obj/vehicle/ridden/wheelchair/motorized/set_move_delay(mob/living/user) + return + +/obj/vehicle/ridden/grocery_cart/motorized/post_buckle_mob(mob/living/user) + . = ..() + density = TRUE + +/obj/vehicle/ridden/grocery_cart/motorized/post_unbuckle_mob() + . = ..() + density = FALSE + +/obj/vehicle/ridden/grocery_cart/motorized/attack_hand(mob/living/user) + if(power_cell && panel_open) + power_cell.update_icon() + user.put_in_hands(power_cell) + power_cell = null + to_chat(user, "You remove the power cell from [src].") + return + return ..() + +/obj/vehicle/ridden/grocery_cart/motorized/attackby(obj/item/I, mob/user, params) + if(I.tool_behaviour == TOOL_SCREWDRIVER) + I.play_tool_sound(src) + panel_open = !panel_open + user.visible_message("[user] [panel_open ? "opens" : "closes"] the maintenance panel on [src].", "You [panel_open ? "open" : "close"] the maintenance panel.") + return + if(panel_open) + if(istype(I, /obj/item/stock_parts/cell)) + if(power_cell) + to_chat(user, "There is a power cell already installed.") + else + I.forceMove(src) + power_cell = I + to_chat(user, "You install the [I].") + refresh_parts() + return + if(istype(I, /obj/item/stock_parts)) + var/obj/item/stock_parts/B = I + var/P + for(var/obj/item/stock_parts/A in contents) + for(var/D in required_parts) + if(ispath(A.type, D)) + P = D + break + if(istype(B, P) && istype(A, P)) + if(B.get_part_rating() > A.get_part_rating()) + B.forceMove(src) + user.put_in_hands(A) + user.visible_message("[user] replaces [A] with [B] in [src].", "You replace [A] with [B].") + break + refresh_parts() + return + return ..() + +/obj/vehicle/ridden/grocery_cart/motorized/wrench_act(mob/living/user, obj/item/I) + to_chat(user, "You begin to detach the wheels...") + if(I.use_tool(src, user, 40, volume=50)) + to_chat(user, "You detach the wheels and deconstruct the chair.") + new /obj/item/stack/rods(drop_location(), 8) + new /obj/item/stack/sheet/metal(drop_location(), 10) + var/turf/T = get_turf(src) + for(var/atom/movable/A in contents) + A.forceMove(T) + //if(isliving(A)) + // var/mob/living/L = A + // L.update_mobility() + qdel(src) + return TRUE + +/obj/vehicle/ridden/grocery_cart/motorized/examine(mob/user) + . = ..() + if((obj_flags & EMAGGED) && panel_open) + . += "There is a bomb under the maintenance panel." + . += "There is a small screen on it, [(in_range(user, src) || isobserver(user)) ? "[power_cell ? "it reads:" : "but it is dark."]" : "but you can't see it from here."]" + if(!power_cell || (!in_range(user, src) && !isobserver(user))) + return + . += "Speed: [speed]" + . += "Energy efficiency: [power_efficiency]" + . += "Power: [power_cell.charge] out of [power_cell.maxcharge]" + +/obj/vehicle/ridden/grocery_cart/motorized/Bump(atom/movable/M) + . = ..() + // Here is the shitty emag functionality. + if(obj_flags & EMAGGED && (istype(M, /turf/closed) || isliving(M))) + explosion(src, -1, 1, 3, 2, 0) + visible_message("[src] explodes!!") + return + // If the speed is higher than delay_multiplier throw the person on the wheelchair away + if(M.density && speed > delay_multiplier && has_buckled_mobs()) + var/mob/living/H = buckled_mobs[1] + var/atom/throw_target = get_edge_target_turf(H, pick(GLOB.cardinals)) + unbuckle_mob(H) + H.throw_at(throw_target, 2, 3) + H.Knockdown(100) + H.adjustStaminaLoss(40) + if(isliving(M)) + var/mob/living/D = M + throw_target = get_edge_target_turf(D, pick(GLOB.cardinals)) + D.throw_at(throw_target, 2, 3) + D.Knockdown(80) + D.adjustStaminaLoss(35) + visible_message("[src] crashes into [M], sending [H] and [D] flying!") + else + visible_message("[src] crashes into [M], sending [H] flying!") + playsound(src, 'sound/effects/bang.ogg', 50, 1) + +/obj/vehicle/ridden/grocery_cart/motorized/emag_act(mob/user) + if((obj_flags & EMAGGED) || !panel_open) + return + to_chat(user, "A bomb appears in [src], what the fuck?") + obj_flags |= EMAGGED diff --git a/code/modules/vehicles/grocery_cart_scooter_unmortorized.dm b/code/modules/vehicles/grocery_cart_scooter_unmortorized.dm new file mode 100644 index 00000000..65fbd48d --- /dev/null +++ b/code/modules/vehicles/grocery_cart_scooter_unmortorized.dm @@ -0,0 +1,116 @@ +/obj/vehicle/ridden/grocery_cart //ported from Hippiestation (by Jujumatic) + name = "grocery cart" + desc = "A cart you can use to hold groceries, or ride in." + icon = 'icons/obj/vehicles.dmi' + icon_state = "grocery_cart" + layer = OBJ_LAYER + max_integrity = 100 + armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 30) //grocery_carts aren't super tough yo + legs_required = 0 //You'll probably be using this if you don't have legs + canmove = TRUE + density = FALSE //Thought I couldn't fix this one easily, phew + // Run speed delay is multiplied with this for vehicle move delay. + var/delay_multiplier = 6.7 + size_sensitive = FALSE + +/obj/vehicle/ridden/grocery_cart/Initialize() + . = ..() + var/datum/component/riding/D = LoadComponent(/datum/component/riding) + D.vehicle_move_delay = 3 + D.set_vehicle_dir_layer(SOUTH, OBJ_LAYER) + D.set_vehicle_dir_layer(NORTH, ABOVE_MOB_LAYER) + D.set_vehicle_dir_layer(EAST, OBJ_LAYER) + D.set_vehicle_dir_layer(WEST, OBJ_LAYER) + +/obj/vehicle/ridden/grocery_cart/ComponentInitialize() //Since it's technically a chair I want it to have chair properties + . = ..() + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, .proc/can_user_rotate),CALLBACK(src, .proc/can_be_rotated),null) + +/obj/vehicle/ridden/grocery_cart/obj_destruction(damage_flag) + new /obj/item/stack/rods(drop_location(), 1) + new /obj/item/stack/sheet/metal(drop_location(), 1) + ..() + +/obj/vehicle/ridden/grocery_cart/Destroy() + if(has_buckled_mobs()) + var/mob/living/carbon/H = buckled_mobs[1] + unbuckle_mob(H) + return ..() + +/obj/vehicle/ridden/grocery_cart/driver_move(mob/living/user, direction) + if(istype(user)) + if(canmove && (user.get_num_arms() < arms_required)) + to_chat(user, "You don't have enough arms to operate the wheels!") + canmove = FALSE + addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) + return FALSE + set_move_delay(user) + return ..() + +/obj/vehicle/ridden/grocery_cart/proc/set_move_delay(mob/living/user) + var/datum/component/riding/D = GetComponent(/datum/component/riding) + //1.5 (movespeed as of this change) multiplied by 6.7 gets ABOUT 10 (rounded), the old constant for the grocery_cart that gets divided by how many arms they have + //if that made no sense this simply makes the grocery_cart speed change along with movement speed delay + D.vehicle_move_delay = round(CONFIG_GET(number/movedelay/run_delay) * delay_multiplier) / min(user.get_num_arms(), 2) + +/obj/vehicle/ridden/grocery_cart/Moved() + . = ..() + cut_overlays() + playsound(src, 'sound/effects/roll.ogg', 75, TRUE) + if(has_buckled_mobs()) + handle_rotation_overlayed() + + +/obj/vehicle/ridden/grocery_cart/post_buckle_mob(mob/living/user) + . = ..() + handle_rotation_overlayed() + +/obj/vehicle/ridden/grocery_cart/post_unbuckle_mob() + . = ..() + cut_overlays() + +/obj/vehicle/ridden/grocery_cart/setDir(newdir) + ..() + handle_rotation(newdir) + +/obj/vehicle/ridden/grocery_cart/wrench_act(mob/living/user, obj/item/I) //Attackby should stop it attacking the grocery_cart after moving away during decon + ..() + to_chat(user, "You begin to detach the wheels...") + if(I.use_tool(src, user, 40, volume=50)) + to_chat(user, "You detach the wheels and deconstruct the chair.") + new /obj/item/stack/rods(drop_location(), 6) + new /obj/item/stack/sheet/metal(drop_location(), 4) + qdel(src) + return TRUE + +/obj/vehicle/ridden/grocery_cart/proc/handle_rotation(direction) + if(has_buckled_mobs()) + handle_rotation_overlayed() + for(var/m in buckled_mobs) + var/mob/living/buckled_mob = m + buckled_mob.setDir(direction) + +/obj/vehicle/ridden/grocery_cart/proc/handle_rotation_overlayed() + cut_overlays() + var/image/V = image(icon = icon, icon_state = "grocery_cart_overlay", layer = FLY_LAYER, dir = src.dir) + add_overlay(V) + + + +/obj/vehicle/ridden/grocery_cart/proc/can_be_rotated(mob/living/user) + return TRUE + +/obj/vehicle/ridden/grocery_cart/proc/can_user_rotate(mob/living/user) + var/mob/living/L = user + if(istype(L)) + if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + return FALSE + if(isobserver(user) && CONFIG_GET(flag/ghost_interaction)) + return TRUE + return FALSE + +/obj/vehicle/ridden/grocery_cart/the_whip/driver_move(mob/living/user, direction) + if(istype(user)) + var/datum/component/riding/D = GetComponent(/datum/component/riding) + D.vehicle_move_delay = round(CONFIG_GET(number/movedelay/run_delay) * 6.7) / user.get_num_arms() + return ..() diff --git a/icons/obj/vehicles.dmi b/icons/obj/vehicles.dmi index 67079de3e2fa6bc83ce63dfe4241e3d210c7367e..cf82f3d7b2249998cfb9c679da571820d66e2ecd 100644 GIT binary patch delta 21050 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 delta 14507 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 LRp}B*(=Y!Ai{CoR diff --git a/tgstation.dme b/tgstation.dme index c34de957..678c0770 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3018,6 +3018,8 @@ #include "code\modules\vehicles\_vehicle.dm" #include "code\modules\vehicles\atv.dm" #include "code\modules\vehicles\bicycle.dm" +#include "code\modules\vehicles\grocery_cart_scooter.dm" +#include "code\modules\vehicles\grocery_cart_scooter_unmortorized.dm" #include "code\modules\vehicles\lavaboat.dm" #include "code\modules\vehicles\motorized_wheelchair.dm" #include "code\modules\vehicles\pimpin_ride.dm"