From d4e8c61e92bce2f72023310be28c8e7279422ba8 Mon Sep 17 00:00:00 2001 From: Metis <100518708+sheepishgoat@users.noreply.github.com> Date: Tue, 17 Sep 2024 19:03:41 -0400 Subject: [PATCH] more stuff --- GainStation13/code/game/objects/tiles.dm | 26 +++ GainStation13/code/game/objects/turfs.dm | 31 ++++ .../modules/vehicles/grocery_cart_scooter.dm | 165 ++++++++++++++++++ .../grocery_cart_scooter_unmortorized.dm | 115 ++++++++++++ GainStation13/icons/obj/vehicles.dmi | Bin 0 -> 41746 bytes _maps/map_files/Mining/Lavaland_Demone.dmm | 11 +- .../objects/items/stacks/sheets/mineral.dm | 5 + tgstation.dme | 4 + 8 files changed, 350 insertions(+), 7 deletions(-) create mode 100644 GainStation13/code/game/objects/tiles.dm create mode 100644 GainStation13/code/game/objects/turfs.dm create mode 100644 GainStation13/code/modules/vehicles/grocery_cart_scooter.dm create mode 100644 GainStation13/code/modules/vehicles/grocery_cart_scooter_unmortorized.dm create mode 100644 GainStation13/icons/obj/vehicles.dmi diff --git a/GainStation13/code/game/objects/tiles.dm b/GainStation13/code/game/objects/tiles.dm new file mode 100644 index 0000000000..368b9e1bad --- /dev/null +++ b/GainStation13/code/game/objects/tiles.dm @@ -0,0 +1,26 @@ +/obj/item/stack/tile/mineral/sandstone + name = "sandstone tile" + singular_name = "sandstone floor tile" + desc = "A rough stone tile." + icon_state = "tile_sandstone" + turf_type = /turf/open/floor/mineral/sandstone_floor + mineralType = "sandstone" + custom_materials = list(/datum/material/sandstone=500) + +/obj/item/stack/tile/mineral/crimsonstone + name = "crimson tile" + singular_name = "crimson floor tile" + desc = "A tile made out of layenia's local stone." + icon_state = "tile_crimsonstone" + turf_type = /turf/open/floor/mineral/crimsonstone_floor + mineralType = "sandstone" + custom_materials = list(/datum/material/sandstone=500) + +/obj/item/stack/tile/mineral/basaltstone + name = "basalt tile" + singular_name = "basalt floor tile" + desc = "A tile made out of Lavaland's local stone." + icon_state = "tile_basaltstone" + turf_type = /turf/open/floor/mineral/basaltstone_floor + mineralType = "sandstone" + custom_materials = list(/datum/material/sandstone=500) diff --git a/GainStation13/code/game/objects/turfs.dm b/GainStation13/code/game/objects/turfs.dm new file mode 100644 index 0000000000..30787e09fa --- /dev/null +++ b/GainStation13/code/game/objects/turfs.dm @@ -0,0 +1,31 @@ +/turf/open/floor/mineral/sandstone_floor + name = "sandstone floor" + icon_state = "sandstonef" + floor_tile = /obj/item/stack/tile/mineral/sandstone + icon = 'GainStation13/icons/turf/floors.dmi' + icons = list("sandstonef","sandstonef_dam") + +/turf/open/floor/mineral/crimsonstone_floor + name = "crimson floor" + icon_state = "crimsonstone" + floor_tile = /obj/item/stack/tile/mineral/crimsonstone + icon = 'GainStation13/icons/turf/floors.dmi' + icons = list("crimsonstone","crimsonstone_dam") + +/turf/open/floor/mineral/basaltstone_floor + name = "basalt floor" + icon_state = "basaltstone" + floor_tile = /obj/item/stack/tile/mineral/basaltstone + icon = 'GainStation13/icons/turf/floors.dmi' + icons = list("basaltstone","basaltstone_dam") + +/turf/open/floor/plaswood + desc = "Stylish plaswood." + icon = 'GainStation13/icons/turf/floors.dmi' + icon_state = "plaswood" + broken_states = list("plaswood-broken", "plaswood-broken2", "plaswood-broken3", "plaswood-broken4", "plaswood-broken5", "plaswood-broken6", "plaswood-broken7") + footstep = FOOTSTEP_WOOD + barefootstep = FOOTSTEP_WOOD_BAREFOOT + clawfootstep = FOOTSTEP_WOOD_CLAW + heavyfootstep = FOOTSTEP_GENERIC_HEAVY + tiled_dirt = FALSE diff --git a/GainStation13/code/modules/vehicles/grocery_cart_scooter.dm b/GainStation13/code/modules/vehicles/grocery_cart_scooter.dm new file mode 100644 index 0000000000..4b3c6b49af --- /dev/null +++ b/GainStation13/code/modules/vehicles/grocery_cart_scooter.dm @@ -0,0 +1,165 @@ +/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/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/GainStation13/code/modules/vehicles/grocery_cart_scooter_unmortorized.dm b/GainStation13/code/modules/vehicles/grocery_cart_scooter_unmortorized.dm new file mode 100644 index 0000000000..b3785ee129 --- /dev/null +++ b/GainStation13/code/modules/vehicles/grocery_cart_scooter_unmortorized.dm @@ -0,0 +1,115 @@ +/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 = 'GainStation13/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 + +/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_REF(can_user_rotate),CALLBACK(src),PROC_REF(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/GainStation13/icons/obj/vehicles.dmi b/GainStation13/icons/obj/vehicles.dmi new file mode 100644 index 0000000000000000000000000000000000000000..cf82f3d7b2249998cfb9c679da571820d66e2ecd GIT binary patch literal 41746 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