mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-18 21:32:14 +00:00
* Your unbeatable smile wrecks the media We wanna know your secret, so mysterious * Even the things she lacks end up in her area Such a perfect liar, you are * Miss ingenious, godly idol! (You're my savior, you're my saving grace) * So, what'd you eat today? What's your favorite book? * And if you wanna go to play, where are you gonna go? I haven't eaten at all * That's a secret No matter what you ask * She's elusive, evasive * So nonchalant Yet still shining bright; * Her secret: out of sight, as if visible, has the taste of honey There is none, none, none of this * And also none, none, none of that What type of guy do you like? * Who is your partner? Come on, answer me * "I don't understand what falling in love with someone else is like" (Hey! Hey!) I cannot tell what is true from what is a lie (Hey! Hey! Hey! Hey!) * And yet again, someone falls for such words (Hey! Hey! Hey! Hey!) Gently lulled into love * Drawing everyone's eyes You are the perfect, ultimate idol * Never to appear again A reincarnation of Venus * With that smile, with that "I love you" You captivate everyone * Even if those eyes, those words, are false They make up a perfect love (Ai) * Yeah, yeah, that girl stands out, exceptional We were extras from the beginning * BS that acted as adornments for the star's leading role Everything we've accomplished is thanks to her — no! * How impudent How could envy and jealousy not exist? * examine * This isn't some made-up drama for appearances So I cannot forgive * You're not perfect, I cannot forgive you I cannot forgive myself * I cannot accept any version of you other than the one stronger than everyone else * Everybody trusts and worships The very strongest, most invincible idol * Weaknesses and whatnot are not to be found Carrying the morning star within * Showing any weakness is no good, no good (Hey! Hey!) Don't let them see anything that they don't want to know (Hey! Hey! Hey! Hey!) * Anything but being one-of-a-kind is a definite no, no (Hey! Hey! Hey! Hey!) That is the real love (Hey!) * can commune fixes * can commune rename * fix is psi blocked * fixes agian * My signature smile that fires up the media The only secret that I shall keep is this: * My career was built upon fake "I love you"s This is love, in my own way * Even the flowing sweats are beautiful Aqua These eyelids that hid the Ruby within * Sing, dance, flutter, I am Maria — Right, lying is the most exquisite form of love * I have never been loved by anyone Nor have I loved anyone else * That such lies of mine will become true someday I trust in it * Someday, surely, I will have it all in hand I am such a greedy idol * Because I wish to love everybody properly in a life-sized way I shall lie today as well (Hey! Hey! Hey! Hey!) * a * b * c * d * And yet, still, (Hey! Hey!) I have been unable to tell you, and you, alone (Hey! Hey! Hey! Hey!) * jesus christ * Update code/controllers/subsystems/processing/psi.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/controllers/subsystems/processing/psi.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/controllers/subsystems/processing/psi.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/game/gamemodes/technomancer/spell_objs.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/human.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/human_helpers.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/organs/organ_external.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/assay.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/command.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/emotional_suggestion.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/grip.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/grip.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/mend.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/mend.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/mend.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/psi_search.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/shockwave.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/shockwave.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/singularity.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/time_stop.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/events/mini_spasm.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * cl update --------- Co-authored-by: Matt Atlas <liermattia@gmail.com> Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
178 lines
6.4 KiB
Plaintext
178 lines
6.4 KiB
Plaintext
/obj/structure/window_frame
|
|
name = "steel window frame"
|
|
desc = "A steel window frame."
|
|
icon = 'icons/obj/smooth/full_window_frame.dmi'
|
|
icon_state = "window_frame"
|
|
build_amt = 4
|
|
anchored = TRUE
|
|
density = TRUE
|
|
climbable = TRUE
|
|
smooth = SMOOTH_TRUE
|
|
breakable = TRUE
|
|
can_be_unanchored = TRUE
|
|
canSmoothWith = list(
|
|
/turf/simulated/wall,
|
|
/turf/simulated/wall/r_wall,
|
|
/turf/unsimulated/wall/steel, // Centcomm wall.
|
|
/turf/unsimulated/wall/darkshuttlewall, // Centcomm wall.
|
|
/turf/unsimulated/wall/riveted, // Centcomm wall.
|
|
/obj/structure/window_frame,
|
|
/obj/structure/window_frame/unanchored,
|
|
/obj/structure/window_frame/empty
|
|
)
|
|
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
|
|
var/should_check_mapload = TRUE
|
|
var/has_glass_installed = FALSE
|
|
var/glass_needed = 4
|
|
|
|
/obj/structure/window_frame/cardinal_smooth(adjacencies, var/list/dir_mods)
|
|
LAZYINITLIST(dir_mods)
|
|
var/north_wall = FALSE
|
|
var/east_wall = FALSE
|
|
var/south_wall = FALSE
|
|
var/west_wall = FALSE
|
|
if(adjacencies & N_NORTH)
|
|
var/turf/T = get_step(src, NORTH)
|
|
if(iswall(T))
|
|
dir_mods["[N_NORTH]"] = "-wall"
|
|
north_wall = TRUE
|
|
if(adjacencies & N_EAST)
|
|
var/turf/T = get_step(src, EAST)
|
|
if(iswall(T))
|
|
dir_mods["[N_EAST]"] = "-wall"
|
|
east_wall = TRUE
|
|
if(adjacencies & N_SOUTH)
|
|
var/turf/T = get_step(src, SOUTH)
|
|
if(iswall(T))
|
|
dir_mods["[N_SOUTH]"] = "-wall"
|
|
south_wall = TRUE
|
|
if(adjacencies & N_WEST)
|
|
var/turf/T = get_step(src, WEST)
|
|
if(iswall(T))
|
|
dir_mods["[N_WEST]"] = "-wall"
|
|
west_wall = TRUE
|
|
if(((adjacencies & N_NORTH) && (adjacencies & N_WEST)) && (north_wall || west_wall))
|
|
dir_mods["[N_NORTH][N_WEST]"] = "-n[north_wall ? "wall" : "win"]-w[west_wall ? "wall" : "win"]"
|
|
if(((adjacencies & N_NORTH) && (adjacencies & N_EAST)) && (north_wall || east_wall))
|
|
dir_mods["[N_NORTH][N_EAST]"] = "-n[north_wall ? "wall" : "win"]-e[east_wall ? "wall" : "win"]"
|
|
if(((adjacencies & N_SOUTH) && (adjacencies & N_WEST)) && (south_wall || west_wall))
|
|
dir_mods["[N_SOUTH][N_WEST]"] = "-s[south_wall ? "wall" : "win"]-w[west_wall ? "wall" : "win"]"
|
|
if((adjacencies & N_SOUTH) && (adjacencies & N_EAST) && (south_wall || east_wall))
|
|
dir_mods["[N_SOUTH][N_EAST]"] = "-s[south_wall ? "wall" : "win"]-e[east_wall ? "wall" : "win"]"
|
|
return ..(adjacencies, dir_mods)
|
|
|
|
/obj/structure/window_frame/proc/update_nearby_icons()
|
|
queue_smooth_neighbors(src)
|
|
|
|
/obj/structure/window_frame/update_icon()
|
|
queue_smooth(src)
|
|
|
|
/obj/structure/window_frame/Initialize(mapload) // If the window frame is mapped in, it should be considered to have glass spawned in it by a window spawner.
|
|
. = ..()
|
|
if(mapload && should_check_mapload)
|
|
has_glass_installed = TRUE
|
|
|
|
/obj/structure/window_frame/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
|
if(air_group || (height == 0))
|
|
return TRUE
|
|
if(istype(mover, /obj/structure/closet/crate))
|
|
return TRUE
|
|
if(istype(mover) && mover.checkpass(PASSTABLE))
|
|
return TRUE
|
|
if(locate(/obj/structure/window_frame) in get_turf(mover))
|
|
return TRUE
|
|
return FALSE
|
|
|
|
/obj/structure/window_frame/attackby(obj/item/W, mob/user)
|
|
if((W.isscrewdriver()) && (istype(loc, /turf/simulated) || anchored))
|
|
if(has_glass_installed)
|
|
to_chat(user, SPAN_NOTICE("You can't unfasten \the [src] if it has glass installed."))
|
|
return
|
|
if(anchored)
|
|
if(W.use_tool(src, user, 2 SECONDS, volume = 50))
|
|
anchored = FALSE
|
|
to_chat(user, SPAN_NOTICE("You unfasten \the [src]."))
|
|
update_icon()
|
|
update_nearby_icons()
|
|
return
|
|
else
|
|
if(W.use_tool(src, user, 2 SECONDS, volume = 50))
|
|
anchored = TRUE
|
|
to_chat(user, SPAN_NOTICE("You fasten \the [src]."))
|
|
dir = 2
|
|
update_icon()
|
|
update_nearby_icons()
|
|
return
|
|
|
|
else if(W.iswelder())
|
|
if(has_glass_installed)
|
|
to_chat(user, SPAN_NOTICE("You can't disassemble \the [src] if it has glass installed."))
|
|
return
|
|
if(anchored)
|
|
to_chat(user, SPAN_NOTICE("\The [src] needs to be unanchored to be able to be welded apart."))
|
|
return
|
|
var/obj/item/weldingtool/WT = W
|
|
if(!WT.isOn())
|
|
to_chat(user, SPAN_NOTICE("\The [WT] isn't turned on."))
|
|
return
|
|
playsound(src, 'sound/items/Welder.ogg', 50, TRUE)
|
|
user.visible_message(
|
|
SPAN_WARNING("\The [user] starts welding \the [src] apart!"),
|
|
SPAN_NOTICE("You start welding \the [src] apart..."),
|
|
"You hear deconstruction."
|
|
)
|
|
if(W.use_tool(src, user, 2 SECONDS, volume = 50))
|
|
if(!src || !WT.isOn())
|
|
return
|
|
if(WT.use(0, user))
|
|
to_chat(user, SPAN_NOTICE("You use \the [WT] to weld apart \the [src]."))
|
|
playsound(src, WT.usesound, 50, 1)
|
|
new /obj/item/stack/material/steel(get_turf(src), 4)
|
|
qdel(src)
|
|
return
|
|
|
|
else if(istype(W, /obj/item/stack/material) && W.get_material_name() == MATERIAL_GLASS_REINFORCED && anchored)
|
|
if(has_glass_installed)
|
|
to_chat(user, SPAN_NOTICE("\The [src] already has glass installed."))
|
|
return
|
|
var/obj/item/stack/material/G = W
|
|
if(do_after(user, 2 SECONDS))
|
|
if(G.use(glass_needed))
|
|
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
|
|
to_chat(user, SPAN_NOTICE("You place the [MATERIAL_GLASS_REINFORCED] in the window frame."))
|
|
new /obj/structure/window/full/reinforced(get_turf(src), constructed = TRUE)
|
|
desc = "A steel window frame."
|
|
has_glass_installed = TRUE
|
|
return
|
|
else
|
|
to_chat(user, SPAN_NOTICE("You need at least [glass_needed] sheets of [MATERIAL_GLASS_REINFORCED] to install a window in \the [src]."))
|
|
|
|
else if(istype(W, /obj/item/stack/material) && W.get_material_name() == MATERIAL_GLASS_REINFORCED_PHORON && anchored)
|
|
if(has_glass_installed)
|
|
to_chat(user, SPAN_NOTICE("\The [src] already has glass installed."))
|
|
return
|
|
var/obj/item/stack/material/G = W
|
|
if(do_after(user, 2 SECONDS))
|
|
if(G.use(glass_needed))
|
|
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
|
|
to_chat(user, SPAN_WARNING("You place the [MATERIAL_GLASS_REINFORCED_PHORON] in the window frame."))
|
|
new /obj/structure/window/full/phoron/reinforced(get_turf(src), constructed = TRUE)
|
|
desc = "A steel window frame."
|
|
has_glass_installed = TRUE
|
|
return
|
|
else
|
|
to_chat(user, SPAN_WARNING("You need at least [glass_needed] sheets of [MATERIAL_GLASS_REINFORCED_PHORON] to finished the window."))
|
|
|
|
/obj/structure/window_frame/hitby(atom/movable/AM, speed)
|
|
. = ..()
|
|
var/obj/structure/window/W = locate() in get_turf(src)
|
|
if(istype(W))
|
|
W.hitby(AM)
|
|
|
|
/obj/structure/window_frame/unanchored // Used during in-game construction.
|
|
should_check_mapload = FALSE // No glass.
|
|
anchored = FALSE
|
|
|
|
/obj/structure/window_frame/empty
|
|
should_check_mapload = FALSE // No glass.
|