Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
9c7a528
Update wheelchair.dm
maxion12345 Jul 22, 2021
b2467a9
Update wheelchair.dm
maxion12345 Jul 22, 2021
6371bdf
Merge branch 'yogstation13:master' into master
maxion12345 Aug 9, 2021
b88d759
Merge branch 'yogstation13:master' into master
maxion12345 Aug 22, 2021
c4b817c
somethuing something
maxion12345 Aug 22, 2021
95de2de
forgot the dme
maxion12345 Aug 22, 2021
7e712ae
adds them to yogstation
maxion12345 Aug 22, 2021
4279a81
fix access
maxion12345 Aug 22, 2021
c208e8b
attempt #1 to fix the thing
maxion12345 Aug 22, 2021
7fcbda7
attempt 2 to fix the thing
maxion12345 Aug 23, 2021
f567e06
fixing the fix so that it's fixed
maxion12345 Aug 23, 2021
8f6fab5
Update code/game/machinery/doors/turnstile.dm
adamsong Aug 26, 2021
e3cd247
Fixes turnstiles
adamsong Aug 26, 2021
8b6f6d6
adds turnstiles to medbay per adam's request
maxion12345 Aug 31, 2021
5ac856d
Revert "adds turnstiles to medbay per adam's request"
maxion12345 Aug 31, 2021
303768a
swag
maxion12345 Sep 2, 2021
8448cf8
Merge branch 'yogstation13:master' into turnstiles
maxion12345 Sep 3, 2021
624b025
adds the ministile to the game
maxion12345 Sep 4, 2021
bccc93b
replace hopline turnstile with the ministile
maxion12345 Sep 4, 2021
42a1fa7
removes climbing code from non-climbing parts
maxion12345 Sep 4, 2021
d053b97
removes old turnstiles from hop line again
maxion12345 Sep 4, 2021
8d64768
i forget to tick the box
maxion12345 Sep 4, 2021
fa0d57f
Merge branch 'turnstiles' of https://github.com/maxion12345/Yogstatio…
maxion12345 Sep 4, 2021
b55180e
i tick the box again
maxion12345 Sep 4, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 40 additions & 34 deletions _maps/map_files/YogStation/YogStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -22074,22 +22074,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/qm)
"boX" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "hopqueue";
name = "HoP Queue Shutters"
},
/obj/effect/turf_decal/loading_area{
dir = 8
},
/obj/machinery/door/firedoor/border_only{
dir = 4
},
/obj/machinery/door/firedoor/border_only{
dir = 8
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"boY" = (
/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
Expand Down Expand Up @@ -24274,22 +24258,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port)
"bwg" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "hopqueue";
name = "HoP Queue Shutters"
},
/obj/effect/turf_decal/loading_area{
dir = 4
},
/obj/machinery/door/firedoor/border_only{
dir = 4
},
/obj/machinery/door/firedoor/border_only{
dir = 8
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"bwh" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 4
Expand Down Expand Up @@ -36493,6 +36461,25 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/solar/port/aft)
"fan" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "hopqueue";
name = "HoP Queue Shutters"
},
/obj/effect/turf_decal/loading_area{
dir = 8
},
/obj/machinery/door/firedoor/border_only{
dir = 4
},
/obj/machinery/door/firedoor/border_only{
dir = 8
},
/obj/machinery/ministile/hop{
dir = 4
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"faE" = (
/obj/structure/closet/crate/freezer,
/obj/item/reagent_containers/blood,
Expand Down Expand Up @@ -37507,6 +37494,25 @@
},
/turf/open/floor/circuit,
/area/ai_monitored/turret_protected/ai)
"fMu" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "hopqueue";
name = "HoP Queue Shutters"
},
/obj/effect/turf_decal/loading_area{
dir = 4
},
/obj/machinery/door/firedoor/border_only{
dir = 4
},
/obj/machinery/door/firedoor/border_only{
dir = 8
},
/obj/machinery/ministile/hop{
dir = 8
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"fMS" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
Expand Down Expand Up @@ -92124,12 +92130,12 @@ mlj
bkT
mlj
mlj
boX
fan
nfX
ehN
vZM
cmg
bwg
fMu
aJw
aJq
aJq
Expand Down
53 changes: 53 additions & 0 deletions code/game/machinery/_machinery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,10 @@ Class Procs:
var/payment_department = ACCOUNT_ENG
/// For storing and overriding ui id
var/tgui_id // ID of TGUI interface
var/climbable = FALSE
var/climb_time = 20
var/climb_stun = 20
var/mob/living/machineclimber

/obj/machinery/Initialize()
if(!armor)
Expand Down Expand Up @@ -580,3 +584,52 @@ Class Procs:

/obj/machinery/rust_heretic_act()
take_damage(500, BRUTE, "melee", 1)

/obj/machinery/MouseDrop_T(atom/movable/O, mob/user)
. = ..()
if(!climbable)
return
if(user == O && iscarbon(O))
var/mob/living/carbon/C = O
if(C.mobility_flags & MOBILITY_MOVE)
climb_machine(user)
return
if(!istype(O, /obj/item) || user.get_active_held_item() != O)
return
if(iscyborg(user))
return
if(!user.dropItemToGround(O))
return
if (O.loc != src.loc)
step(O, get_dir(O, src))

/obj/machinery/proc/do_climb(atom/movable/A)
if(climbable)
density = FALSE
. = step(A,get_dir(A,src.loc))
density = TRUE

/obj/machinery/proc/climb_machine(mob/living/user)
src.add_fingerprint(user)
user.visible_message("<span class='warning'>[user] starts climbing onto [src].</span>", \
"<span class='notice'>You start climbing onto [src]...</span>")
var/adjusted_climb_time = climb_time
if(user.restrained()) //climbing takes twice as long when restrained.
adjusted_climb_time *= 2
if(isalien(user))
adjusted_climb_time *= 0.25 //aliens are terrifyingly fast
if(HAS_TRAIT(user, TRAIT_FREERUNNING)) //do you have any idea how fast I am???
adjusted_climb_time *= 0.8
machineclimber = user
if(do_mob(user, user, adjusted_climb_time))
if(src.loc) //Checking if structure has been destroyed
if(do_climb(user))
user.visible_message("<span class='warning'>[user] climbs onto [src].</span>", \
"<span class='notice'>You climb onto [src].</span>")
log_combat(user, src, "climbed onto")
if(climb_stun)
user.Stun(climb_stun)
. = 1
else
to_chat(user, "<span class='warning'>You fail to climb onto [src].</span>")
machineclimber = null
48 changes: 48 additions & 0 deletions code/game/machinery/doors/ministile.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/obj/machinery/ministile
name = "ministile"
desc = "A mechanical door that permits one-way access to an area."
icon = 'icons/obj/objects.dmi'
icon_state = "ministile_map"
power_channel = ENVIRON
density = TRUE
obj_integrity = 150
max_integrity = 150
//Smaller turnstile easier to smash
armor = list("melee" = 30, "bullet" = 20, "laser" = 0, "energy" = 60, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50)
anchored = TRUE
use_power = FALSE
idle_power_usage = 2
resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
layer = OPEN_DOOR_LAYER
climbable = TRUE

/obj/machinery/ministile/hop
name = "HOP line turnstile"
req_one_access = list(ACCESS_HEADS)

/obj/machinery/ministile/Initialize()
. = ..()
icon_state = "ministile"

/obj/machinery/ministile/CanAtmosPass(turf/T)
return TRUE

/obj/machinery/ministile/Cross(atom/movable/mover)
. = ..()
if(istype(mover) && (mover.pass_flags & PASSGLASS))
return TRUE
if(!isliving(mover))
return TRUE
var/allowed = allowed(mover)
//Sec can drag you out unceremoniously.
if(!allowed && mover.pulledby)
allowed = allowed(mover.pulledby)

if(get_dir(loc, mover.loc) == dir || allowed || mover==machineclimber) //Make sure looking at appropriate border, loc is first so the turnstyle faces the mover
flick("ministile_operate", src)
playsound(src,'sound/items/ratchet.ogg',50,0,3)
return TRUE
else
flick("ministile_deny", src)
playsound(src,'sound/machines/deniedbeep.ogg',50,0,3)
return FALSE
48 changes: 48 additions & 0 deletions code/game/machinery/doors/turnstile.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/obj/machinery/turnstile
name = "turnstile"
desc = "A mechanical door that permits one-way access to an area."
icon = 'icons/obj/objects.dmi'
icon_state = "turnstile_map"
power_channel = ENVIRON
density = TRUE
obj_integrity = 250
max_integrity = 250
//Robust! It'll be tough to break...
armor = list("melee" = 50, "bullet" = 20, "laser" = 0, "energy" = 80, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50)
anchored = TRUE
use_power = FALSE
idle_power_usage = 2
resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
layer = OPEN_DOOR_LAYER
climbable = FALSE
/obj/machinery/turnstile/brig
name = "Brig turnstile"
//Seccies and brig phys may always pass, either way.
req_one_access = list(ACCESS_BRIG)

/obj/machinery/turnstile/Initialize()
. = ..()
icon_state = "turnstile"

/obj/machinery/turnstile/CanAtmosPass(turf/T)
return TRUE

/obj/machinery/turnstile/Cross(atom/movable/mover)
. = ..()
if(istype(mover) && (mover.pass_flags & PASSGLASS))
return TRUE
if(!isliving(mover))
return TRUE
var/allowed = allowed(mover)
//Sec can drag you out unceremoniously.
if(!allowed && mover.pulledby)
allowed = allowed(mover.pulledby)

if(get_dir(loc, mover.loc) == dir || allowed) //Make sure looking at appropriate border, loc is first so the turnstyle faces the mover
flick("operate", src)
playsound(src,'sound/items/ratchet.ogg',50,0,3)
return TRUE
else
flick("deny", src)
playsound(src,'sound/machines/deniedbeep.ogg',50,0,3)
return FALSE
Binary file modified icons/obj/objects.dmi
Binary file not shown.
2 changes: 2 additions & 0 deletions yogstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -785,9 +785,11 @@
#include "code\game\machinery\doors\checkForMultipleDoors.dm"
#include "code\game\machinery\doors\door.dm"
#include "code\game\machinery\doors\firedoor.dm"
#include "code\game\machinery\doors\ministile.dm"
#include "code\game\machinery\doors\passworddoor.dm"
#include "code\game\machinery\doors\poddoor.dm"
#include "code\game\machinery\doors\shutters.dm"
#include "code\game\machinery\doors\turnstile.dm"
#include "code\game\machinery\doors\unpowered.dm"
#include "code\game\machinery\doors\windowdoor.dm"
#include "code\game\machinery\embedded_controller\access_controller.dm"
Expand Down