diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index ca698d444..afb21b10a 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -485,65 +485,6 @@ /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, - /obj/machinery/door, - /obj/machinery/door/airlock/, - /obj/machinery/door/airlock/mining, - /obj/machinery/door/airlock/mining/glass, - /obj/machinery/door/airlock/medical, - /obj/machinery/door/airlock/medical/glass, - /obj/machinery/door/airlock/public, - /obj/machinery/door/airlock/public/glass, - /obj/machinery/door/airlock/research, - /obj/machinery/door/airlock/research/glass, - /obj/machinery/door/airlock/maintenance, - /obj/machinery/door/airlock/maintenance/glass, - /obj/machinery/door/airlock/command/, - /obj/machinery/door/airlock/command/glass, - /obj/machinery/door/airlock/engineering, - /obj/machinery/door/airlock/engineering/glass, - /obj/machinery/door/airlock/engineering/abandoned, - /obj/machinery/door/airlock/security, - /obj/machinery/door/airlock/security/glass, - /obj/machinery/door/airlock/maintenance/abandoned, - /obj/machinery/door/poddoor/shutters/preopen, - /obj/machinery/door/poddoor/shutters, - /obj/machinery/door/window/eastright, - /obj/machinery/door/window/eastleft, - /obj/machinery/door/window/northleft, - /obj/machinery/door/window/northright, - /obj/machinery/door/airlock/external, - /obj/machinery/door/airlock, - /obj/machinery/door/airlock/hatch, - /obj/machinery/door/airlock/engineering/glass/critical, - /obj/machinery/door/airlock/atmos, - /obj/machinery/door/airlock/highsecurity, - /turf/closed/wall/mineral/sandstone, - /obj/structure/falsewall/sandstone,) -// canSmoothWith = list(/obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/plasma/reinforced/fulltile) - glass_amount = 2 - -/obj/structure/window/fulltile/unanchored - anchored = FALSE - -/obj/structure/window/plasma/fulltile - icon = 'icons/obj/smooth_structures/plasma_window.dmi' - icon_state = "plasmawindow" - dir = FULLTILE_WINDOW_DIR - max_integrity = 300 - fulltile = TRUE - flags_1 = PREVENT_CLICK_UNDER_1 - smooth = SMOOTH_TRUE - //canSmoothWith = list(/obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/plasma/reinforced/fulltile) - - canSmoothWith = list( - /turf/closed/wall, - /turf/closed/wall/r_wall, - /obj/structure/falsewall, - /obj/structure/falsewall/brass, - /obj/structure/falsewall/reinforced, - /turf/closed/wall/rust, - /turf/closed/wall/r_wall/rust, - /turf/closed/wall/clockwork, /obj/structure/window/plasma/fulltile, /obj/structure/window/plasma/reinforced/fulltile, /obj/machinery/door, @@ -578,6 +519,76 @@ /obj/machinery/door/airlock/engineering/glass/critical, /obj/machinery/door/airlock/atmos, /obj/machinery/door/airlock/highsecurity, + /obj/machinery/door/firedoor, + /turf/closed/wall/mineral/lead, + /turf/closed/wall/mineral/sandstone, + /obj/structure/falsewall/sandstone) +// canSmoothWith = list(/obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/plasma/reinforced/fulltile) + glass_amount = 2 + +/obj/structure/window/fulltile/unanchored + anchored = FALSE + +/obj/structure/window/plasma/fulltile + icon = 'icons/obj/smooth_structures/plasma_window.dmi' + icon_state = "plasmawindow" + dir = FULLTILE_WINDOW_DIR + max_integrity = 300 + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + smooth = SMOOTH_TRUE + //canSmoothWith = list(/obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/plasma/reinforced/fulltile) + + canSmoothWith = list( + /turf/closed/wall, + /turf/closed/wall/r_wall, + /obj/structure/falsewall, + /obj/structure/falsewall/brass, + /obj/structure/falsewall/reinforced, + /turf/closed/wall/rust, + /turf/closed/wall/r_wall/rust, + /turf/closed/wall/clockwork, + /turf/closed/indestructible/riveted/, + /turf/closed/indestructible/riveted/uranium, + /obj/structure/window/fulltile, + /obj/structure/window/reinforced/fulltile, + /obj/structure/window/reinforced/tinted/fulltile, + /obj/structure/window/plasma/fulltile, + /obj/structure/window/plasma/reinforced/fulltile, + /obj/machinery/door, + /obj/machinery/door/airlock/, + /obj/machinery/door/airlock/mining, + /obj/machinery/door/airlock/mining/glass, + /obj/machinery/door/airlock/medical, + /obj/machinery/door/airlock/medical/glass, + /obj/machinery/door/airlock/public, + /obj/machinery/door/airlock/public/glass, + /obj/machinery/door/airlock/research, + /obj/machinery/door/airlock/research/glass, + /obj/machinery/door/airlock/maintenance, + /obj/machinery/door/airlock/maintenance/glass, + /obj/machinery/door/airlock/command/, + /obj/machinery/door/airlock/command/glass, + /obj/machinery/door/airlock/engineering, + /obj/machinery/door/airlock/engineering/glass, + /obj/machinery/door/airlock/engineering/abandoned, + /obj/machinery/door/airlock/security, + /obj/machinery/door/airlock/security/glass, + /obj/machinery/door/airlock/maintenance/abandoned, + /obj/machinery/door/poddoor/shutters/preopen, + /obj/machinery/door/poddoor/shutters, + /obj/machinery/door/window/eastright, + /obj/machinery/door/window/eastleft, + /obj/machinery/door/window/northleft, + /obj/machinery/door/window/northright, + /obj/machinery/door/airlock/external, + /obj/machinery/door/airlock, + /obj/machinery/door/airlock/hatch, + /obj/machinery/door/airlock/engineering/glass/critical, + /obj/machinery/door/airlock/atmos, + /obj/machinery/door/airlock/highsecurity, + /obj/machinery/door/firedoor, + /turf/closed/wall/mineral/lead, /turf/closed/indestructible/, /turf/closed/indestructible/riveted, /turf/closed/indestructible/fakeglass) diff --git a/hyperstation/code/modules/jobs/job_types/lambent_aspect.dm b/hyperstation/code/modules/jobs/job_types/lambent_aspect.dm new file mode 100644 index 000000000..9ebffe686 --- /dev/null +++ b/hyperstation/code/modules/jobs/job_types/lambent_aspect.dm @@ -0,0 +1,74 @@ +//I'll be honest I have no clue where to put lambent aspects, so this will just be here for now. I'm not the best at modularization, nor coding. +//This will be mostly commented out until I can sort out how this works. I preferably want to use an innate action, not a spell or anything attached to items. +//But it's proving to be difficult. + +//Innate powers, without attuning to a specific aspect +/datum/action/innate/lambent + name = "Dahl's a dumbass" + desc = "Yell at her if you see this" + + background_icon_state = "bg_agent" + + icon_icon = 'icons/mob/actions/actions_spells.dmi' //Using this for now until I sprite some action buttons + button_icon_state = "spell_default" + + check_flags = AB_CHECK_STUN|AB_CHECK_CONSCIOUS + + //cooldown_time = 10 + +/* Finish this when I understand the code a bit more +/datum/action/cooldown/lambent/locate + name = "Weave Locate" + desc = "Plunge into the weave to teleport to a target of your choosing. Be aware of your end result." + button_icon_state = "emp" + cooldown_time = 120 + + /var/mob/living/carbon/human/target_human = target + +/datum/action/innate/lambent/dash + name = "Surge Dash" + desc = "Imbue yourself with weave energy to dash forwards." + + var/current_charges = 3 + var/max_charges = 3 + var/charge_rate = 250 + var/mob/living/carbon/human/holder + + var/dash_sound = 'sound/magic/blink.ogg' + var/recharge_sound = 'sound/magic/charge.ogg' + + var/phasein = /obj/effect/temp_visual/dir_setting/ninja/phase + var/phaseout = /obj/effect/temp_visual/dir_setting/ninja/phase/out + var/beam_effect = "blur" + +/datum/action/innate/lambent/dash/Grant(mob/user) + . = ..() + holder = user + +/datum/action/innate/lambent/dash/IsAvailable() + if(current_charges > 0) + return TRUE + else + return FALSE + +/datum/action/innate/lambent/dash/proc/Teleport(mob/user, atom/target) + if(!IsAvailable()) + return + var/turf/T = get_turf(target) + if(target in view(user.client.view, user)) + var/obj/spot1 = new phaseout(get_turf(user), user.dir) + user.forceMove(T) + playsound(T, dash_sound, 25, 1) + var/obj/spot2 = new phasein(get_turf(user), user.dir) + spot1.Beam(spot2,beam_effect,time=20) + current_charges-- + holder.update_action_buttons_icon() + addtimer(CALLBACK(src, .proc/charge), charge_rate) + +/datum/action/innate/lambent/dash/proc/charge() + current_charges = CLAMP(current_charges + 1, 0, max_charges) + holder.update_action_buttons_icon() + if(recharge_sound) + playsound(src, recharge_sound, 50, 1) + to_chat(holder, "[src] now has [current_charges]/[max_charges] charges.") +*/ diff --git a/hyperstation/code/modules/jobs/job_types/security.dm b/hyperstation/code/modules/jobs/job_types/security.dm index 0360b5423..c991282ff 100644 --- a/hyperstation/code/modules/jobs/job_types/security.dm +++ b/hyperstation/code/modules/jobs/job_types/security.dm @@ -30,9 +30,9 @@ Lambent ACCESS_RESEARCH, ACCESS_ENGINE, ACCESS_MINING, ACCESS_MEDICAL, ACCESS_CONSTRUCTION, ACCESS_MAILSORTING, ACCESS_HEADS, ACCESS_HOS, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM) - mind_traits = list(TRAIT_CAPTAIN_METABOLISM) + mind_traits = list(TRAIT_CAPTAIN_METABOLISM, TRAIT_AUTO_CATCH_ITEM, TRAIT_DISK_VERIFIER, TRAIT_NOSLIPALL) - blacklisted_quirks = list(/datum/quirk/brainproblems, /datum/quirk/insanity, /datum/quirk/nonviolent) + blacklisted_quirks = list(/datum/quirk/brainproblems, /datum/quirk/insanity) /datum/outfit/job/lambent name = "Lambent" diff --git a/tgstation.dme b/tgstation.dme index 3408788ef..6e439d0a3 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3198,6 +3198,7 @@ #include "hyperstation\code\modules\jobs\job_types\_job.dm" #include "hyperstation\code\modules\jobs\job_types\civilian.dm" #include "hyperstation\code\modules\jobs\job_types\job_alt_titles.dm" +#include "hyperstation\code\modules\jobs\job_types\lambent_aspect.dm" #include "hyperstation\code\modules\jobs\job_types\roleplay.dm" #include "hyperstation\code\modules\jobs\job_types\security.dm" #include "hyperstation\code\modules\mining\shelters.dm"