mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
either destroys the entire game, or increases performance... maybe both (#16178)
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
var/obj/target = null
|
||||
var/check_flags = NONE
|
||||
var/processing = FALSE
|
||||
var/obj/screen/movable/action_button/button = null
|
||||
var/atom/movable/screen/movable/action_button/button = null
|
||||
var/buttontooltipstyle = ""
|
||||
var/transparent_when_unavailable = TRUE
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
var/button_icon_state = "default" //And this is the state for the action icon
|
||||
var/mob/owner
|
||||
var/syndicate = FALSE // are these buttons only for syndicates?
|
||||
var/obj/screen/cooldown_overlay/cooldown_overlay
|
||||
var/atom/movable/screen/cooldown_overlay/cooldown_overlay
|
||||
|
||||
/datum/action/New(Target)
|
||||
link_to(Target)
|
||||
@@ -150,7 +150,7 @@
|
||||
button.color = rgb(255,255,255,255)
|
||||
return 1
|
||||
|
||||
/datum/action/proc/ApplyIcon(obj/screen/movable/action_button/current_button, force = FALSE)
|
||||
/datum/action/proc/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force = FALSE)
|
||||
if(icon_icon && button_icon_state && ((current_button.button_icon_state != button_icon_state) || force))
|
||||
current_button.cut_overlays(TRUE)
|
||||
current_button.add_overlay(mutable_appearance(icon_icon, button_icon_state))
|
||||
@@ -184,7 +184,7 @@
|
||||
I.ui_action_click(owner, src)
|
||||
return 1
|
||||
|
||||
/datum/action/item_action/ApplyIcon(obj/screen/movable/action_button/current_button, force)
|
||||
/datum/action/item_action/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force)
|
||||
if(button_icon && button_icon_state)
|
||||
// If set, use the custom icon that we set instead
|
||||
// of the item appearence
|
||||
@@ -597,7 +597,7 @@
|
||||
desc = "Remotely detonate marked targets. People become rooted for 1 second. Animals become rooted for 6 seconds and take hefty damage."
|
||||
icon_icon = 'icons/effects/effects.dmi'
|
||||
button_icon_state = "leghold"
|
||||
|
||||
|
||||
/datum/action/item_action/reach
|
||||
name = "Reach"
|
||||
desc = "Mark those standing on blood for 10 seconds."
|
||||
@@ -771,7 +771,7 @@
|
||||
icon_icon = 'icons/mob/actions/actions_items.dmi'
|
||||
button_icon_state = "airshoes_a"
|
||||
|
||||
|
||||
|
||||
/datum/action/item_action/kindleKicks
|
||||
name = "Activate Kindle Kicks"
|
||||
desc = "Kick you feet together, activating the lights in your Kindle Kicks."
|
||||
@@ -837,7 +837,7 @@
|
||||
icon_icon = 'icons/mob/actions/actions_items.dmi'
|
||||
button_icon_state = "storage_gather_switch"
|
||||
|
||||
/datum/action/item_action/storage_gather_mode/ApplyIcon(obj/screen/movable/action_button/current_button)
|
||||
/datum/action/item_action/storage_gather_mode/ApplyIcon(atom/movable/screen/movable/action_button/current_button)
|
||||
. = ..()
|
||||
var/old_layer = target.layer
|
||||
var/old_plane = target.plane
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
stack_trace("[e] on [e.file]:[e.line]")
|
||||
qdel(src)
|
||||
..()
|
||||
|
||||
|
||||
/datum/brain_trauma/hypnosis/on_clone(phrase)
|
||||
if(clonable)
|
||||
return new type(hypnotic_phrase)
|
||||
@@ -35,7 +35,7 @@
|
||||
"These words keep echoing in your mind. You find yourself completely fascinated by them.")]</span>")
|
||||
to_chat(owner, "<span class='boldwarning'>You've been hypnotized by this sentence. You must follow these words. If it isn't a clear order, you can freely interpret how to do so,\
|
||||
as long as you act like the words are your highest priority.</span>")
|
||||
var/obj/screen/alert/hypnosis/hypno_alert = owner.throw_alert("hypnosis", /obj/screen/alert/hypnosis)
|
||||
var/atom/movable/screen/alert/hypnosis/hypno_alert = owner.throw_alert("hypnosis", /atom/movable/screen/alert/hypnosis)
|
||||
hypno_alert.desc = "\"[hypnotic_phrase]\"... your mind seems to be fixated on this concept."
|
||||
..()
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
playing.play(watcher)
|
||||
qdel(playing)
|
||||
|
||||
/obj/screen/cinematic
|
||||
/atom/movable/screen/cinematic
|
||||
icon = 'icons/effects/station_explosion.dmi'
|
||||
icon_state = "station_intact"
|
||||
plane = SPLASHSCREEN_PLANE
|
||||
@@ -32,7 +32,7 @@
|
||||
var/list/watching = list() //List of clients watching this
|
||||
var/list/locked = list() //Who had notransform set during the cinematic
|
||||
var/is_global = FALSE //Global cinematics will override mob-specific ones
|
||||
var/obj/screen/cinematic/screen
|
||||
var/atom/movable/screen/cinematic/screen
|
||||
var/datum/callback/special_callback //For special effects synced with animation (explosions after the countdown etc)
|
||||
var/cleanup_time = 30 SECONDS //How long for the final screen to remain
|
||||
var/stop_ooc = TRUE //Turns off ooc when played globally.
|
||||
@@ -99,7 +99,7 @@
|
||||
if(!C)
|
||||
return
|
||||
watching += C
|
||||
M.overlay_fullscreen("cinematic",/obj/screen/fullscreen/cinematic_backdrop)
|
||||
M.overlay_fullscreen("cinematic",/atom/movable/screen/fullscreen/cinematic_backdrop)
|
||||
C.screen += screen
|
||||
|
||||
//Sound helper
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
/datum/component/personal_crafting/proc/create_mob_button(mob/user, client/CL)
|
||||
var/datum/hud/H = user.hud_used
|
||||
var/obj/screen/craft/C = new()
|
||||
var/atom/movable/screen/craft/C = new()
|
||||
C.icon = H.ui_style
|
||||
H.static_inventory += C
|
||||
CL.screen += C
|
||||
@@ -44,8 +44,8 @@
|
||||
),
|
||||
CAT_DRINK = CAT_NONE,
|
||||
CAT_APPAREL = list(
|
||||
CAT_CLOTHING,
|
||||
CAT_ARMOR,
|
||||
CAT_CLOTHING,
|
||||
CAT_ARMOR,
|
||||
CAT_EQUIPMENT
|
||||
),
|
||||
)
|
||||
@@ -335,7 +335,7 @@
|
||||
/datum/component/personal_crafting/ui_state(mob/user)
|
||||
return GLOB.not_incapacitated_turf_state
|
||||
|
||||
/datum/component/personal_crafting/proc/component_ui_interact(obj/screen/craft/image, location, control, params, user)
|
||||
/datum/component/personal_crafting/proc/component_ui_interact(atom/movable/screen/craft/image, location, control, params, user)
|
||||
if(user == parent)
|
||||
ui_interact(user)
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
var/mood_modifier = 1 //Modifier to allow certain mobs to be less affected by moodlets
|
||||
var/list/datum/mood_event/mood_events = list()
|
||||
var/insanity_effect = 0 //is the owner being punished for low mood? If so, how much?
|
||||
var/obj/screen/mood/screen_obj
|
||||
var/obj/screen/sanity/screen_obj_sanity
|
||||
var/atom/movable/screen/mood/screen_obj
|
||||
var/atom/movable/screen/sanity/screen_obj_sanity
|
||||
|
||||
/datum/component/mood/Initialize()
|
||||
if(!isliving(parent))
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
|
||||
var/display_numerical_stacking = FALSE //stack things of the same type and show as a single object with a number.
|
||||
|
||||
var/obj/screen/storage/boxes //storage display object
|
||||
var/obj/screen/close/closer //close button object
|
||||
var/atom/movable/screen/storage/boxes //storage display object
|
||||
var/atom/movable/screen/close/closer //close button object
|
||||
|
||||
var/allow_big_nesting = FALSE //allow storage objects of the same or greater size.
|
||||
|
||||
@@ -547,14 +547,14 @@
|
||||
if(over_object == M)
|
||||
user_show_to_mob(M)
|
||||
if(!M.incapacitated())
|
||||
if(!istype(over_object, /obj/screen))
|
||||
if(!istype(over_object, /atom/movable/screen))
|
||||
dump_content_at(over_object, M)
|
||||
return
|
||||
if(A.loc != M)
|
||||
return
|
||||
playsound(A, "rustle", 50, 1, -5)
|
||||
if(istype(over_object, /obj/screen/inventory/hand))
|
||||
var/obj/screen/inventory/hand/H = over_object
|
||||
if(istype(over_object, /atom/movable/screen/inventory/hand))
|
||||
var/atom/movable/screen/inventory/hand/H = over_object
|
||||
M.putItemFromInventoryInHandIfPossible(A, H.held_index)
|
||||
return
|
||||
A.add_fingerprint(M)
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
/datum/status_effect/shadow_mend
|
||||
id = "shadow_mend"
|
||||
duration = 30
|
||||
alert_type = /obj/screen/alert/status_effect/shadow_mend
|
||||
alert_type = /atom/movable/screen/alert/status_effect/shadow_mend
|
||||
|
||||
/obj/screen/alert/status_effect/shadow_mend
|
||||
/atom/movable/screen/alert/status_effect/shadow_mend
|
||||
name = "Shadow Mend"
|
||||
desc = "Shadowy energies wrap around your wounds, sealing them at a price. After healing, you will slowly lose health every three seconds for thirty seconds."
|
||||
icon_state = "shadow_mend"
|
||||
@@ -29,9 +29,9 @@
|
||||
id = "void_price"
|
||||
duration = 300
|
||||
tick_interval = 30
|
||||
alert_type = /obj/screen/alert/status_effect/void_price
|
||||
alert_type = /atom/movable/screen/alert/status_effect/void_price
|
||||
|
||||
/obj/screen/alert/status_effect/void_price
|
||||
/atom/movable/screen/alert/status_effect/void_price
|
||||
name = "Void Price"
|
||||
desc = "Black tendrils cinch tightly against you, digging wicked barbs into your flesh."
|
||||
icon_state = "shadow_mend"
|
||||
@@ -46,16 +46,16 @@
|
||||
duration = 200
|
||||
tick_interval = 0 //tick as fast as possible
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
alert_type = /obj/screen/alert/status_effect/vanguard
|
||||
alert_type = /atom/movable/screen/alert/status_effect/vanguard
|
||||
var/datum/progressbar/progbar
|
||||
|
||||
/obj/screen/alert/status_effect/vanguard
|
||||
/atom/movable/screen/alert/status_effect/vanguard
|
||||
name = "Vanguard"
|
||||
desc = "You're absorbing stuns! 25% of all stuns taken will affect you after this effect ends."
|
||||
icon_state = "vanguard"
|
||||
alerttooltipstyle = "clockcult"
|
||||
|
||||
/obj/screen/alert/status_effect/vanguard/MouseEntered(location,control,params)
|
||||
/atom/movable/screen/alert/status_effect/vanguard/MouseEntered(location,control,params)
|
||||
var/mob/living/L = usr
|
||||
if(istype(L)) //this is probably more safety than actually needed
|
||||
var/vanguard = L.stun_absorption["vanguard"]
|
||||
@@ -113,9 +113,9 @@
|
||||
/datum/status_effect/inathneqs_endowment
|
||||
id = "inathneqs_endowment"
|
||||
duration = 150
|
||||
alert_type = /obj/screen/alert/status_effect/inathneqs_endowment
|
||||
alert_type = /atom/movable/screen/alert/status_effect/inathneqs_endowment
|
||||
|
||||
/obj/screen/alert/status_effect/inathneqs_endowment
|
||||
/atom/movable/screen/alert/status_effect/inathneqs_endowment
|
||||
name = "Inath-neq's Endowment"
|
||||
desc = "Adrenaline courses through you as the Resonant Cogwheel's energy shields you from all harm!"
|
||||
icon_state = "inathneqs_endowment"
|
||||
@@ -144,7 +144,7 @@
|
||||
/datum/status_effect/cyborg_power_regen
|
||||
id = "power_regen"
|
||||
duration = 100
|
||||
alert_type = /obj/screen/alert/status_effect/power_regen
|
||||
alert_type = /atom/movable/screen/alert/status_effect/power_regen
|
||||
var/power_to_give = 0 //how much power is gained each tick
|
||||
|
||||
/datum/status_effect/cyborg_power_regen/on_creation(mob/living/new_owner, new_power_per_tick)
|
||||
@@ -152,7 +152,7 @@
|
||||
if(. && isnum(new_power_per_tick))
|
||||
power_to_give = new_power_per_tick
|
||||
|
||||
/obj/screen/alert/status_effect/power_regen
|
||||
/atom/movable/screen/alert/status_effect/power_regen
|
||||
name = "Power Regeneration"
|
||||
desc = "You are quickly regenerating power!"
|
||||
icon_state = "power_regen"
|
||||
@@ -169,16 +169,16 @@
|
||||
id = "his_grace"
|
||||
duration = -1
|
||||
tick_interval = 4
|
||||
alert_type = /obj/screen/alert/status_effect/his_grace
|
||||
alert_type = /atom/movable/screen/alert/status_effect/his_grace
|
||||
var/bloodlust = 0
|
||||
|
||||
/obj/screen/alert/status_effect/his_grace
|
||||
/atom/movable/screen/alert/status_effect/his_grace
|
||||
name = "His Grace"
|
||||
desc = "His Grace hungers, and you must feed Him."
|
||||
icon_state = "his_grace"
|
||||
alerttooltipstyle = "hisgrace"
|
||||
|
||||
/obj/screen/alert/status_effect/his_grace/MouseEntered(location,control,params)
|
||||
/atom/movable/screen/alert/status_effect/his_grace/MouseEntered(location,control,params)
|
||||
desc = initial(desc)
|
||||
var/datum/status_effect/his_grace/HG = attached_effect
|
||||
desc += "<br><font size=3><b>Current Bloodthirst: [HG.bloodlust]</b></font>\
|
||||
@@ -220,7 +220,7 @@
|
||||
/datum/status_effect/wish_granters_gift //Fully revives after ten seconds.
|
||||
id = "wish_granters_gift"
|
||||
duration = 50
|
||||
alert_type = /obj/screen/alert/status_effect/wish_granters_gift
|
||||
alert_type = /atom/movable/screen/alert/status_effect/wish_granters_gift
|
||||
|
||||
/datum/status_effect/wish_granters_gift/on_apply()
|
||||
to_chat(owner, span_notice("Death is not your end! The Wish Granter's energy suffuses you, and you begin to rise..."))
|
||||
@@ -231,7 +231,7 @@
|
||||
owner.visible_message(span_warning("[owner] appears to wake from the dead, having healed all wounds!"), span_notice("You have regenerated."))
|
||||
owner.update_mobility()
|
||||
|
||||
/obj/screen/alert/status_effect/wish_granters_gift
|
||||
/atom/movable/screen/alert/status_effect/wish_granters_gift
|
||||
name = "Wish Granter's Immortality"
|
||||
desc = "You are being resurrected!"
|
||||
icon_state = "wish_granter"
|
||||
@@ -269,9 +269,9 @@
|
||||
id = "blooddrunk"
|
||||
duration = 10
|
||||
tick_interval = 0
|
||||
alert_type = /obj/screen/alert/status_effect/blooddrunk
|
||||
alert_type = /atom/movable/screen/alert/status_effect/blooddrunk
|
||||
|
||||
/obj/screen/alert/status_effect/blooddrunk
|
||||
/atom/movable/screen/alert/status_effect/blooddrunk
|
||||
name = "Blood-Drunk"
|
||||
desc = "You are drunk on blood! Your pulse thunders in your ears! Nothing can harm you!" //not true, and the item description mentions its actual effect
|
||||
icon_state = "blooddrunk"
|
||||
@@ -340,7 +340,7 @@
|
||||
/datum/status_effect/fleshmend
|
||||
id = "fleshmend"
|
||||
duration = 100
|
||||
alert_type = /obj/screen/alert/status_effect/fleshmend
|
||||
alert_type = /atom/movable/screen/alert/status_effect/fleshmend
|
||||
|
||||
/datum/status_effect/fleshmend/tick()
|
||||
var/prot = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
@@ -362,7 +362,7 @@
|
||||
var/mob/living/carbon/C = owner
|
||||
QDEL_LIST(C.all_scars)
|
||||
|
||||
/obj/screen/alert/status_effect/fleshmend
|
||||
/atom/movable/screen/alert/status_effect/fleshmend
|
||||
name = "Fleshmend"
|
||||
desc = "Our wounds are rapidly healing. <i>This effect is prevented if we are on fire.</i>"
|
||||
icon_state = "fleshmend"
|
||||
@@ -486,7 +486,7 @@
|
||||
owner.confused = max(0, owner.confused - 1)
|
||||
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "goodmusic", /datum/mood_event/goodmusic)
|
||||
|
||||
/obj/screen/alert/status_effect/regenerative_core
|
||||
/atom/movable/screen/alert/status_effect/regenerative_core
|
||||
name = "Reinforcing Tendrils"
|
||||
desc = "You can move faster than your broken body could normally handle!"
|
||||
icon_state = "regenerative_core"
|
||||
@@ -496,7 +496,7 @@
|
||||
id = "Regenerative Core"
|
||||
duration = 1 MINUTES
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
alert_type = /obj/screen/alert/status_effect/regenerative_core
|
||||
alert_type = /atom/movable/screen/alert/status_effect/regenerative_core
|
||||
|
||||
/datum/status_effect/regenerative_core/on_apply()
|
||||
if(is_station_level(get_turf(owner)))
|
||||
@@ -532,7 +532,7 @@
|
||||
/datum/status_effect/creep //allows darkspawn to move through lights without lightburn damage //yogs start: darkspawn
|
||||
id = "creep"
|
||||
duration = -1
|
||||
alert_type = /obj/screen/alert/status_effect/creep
|
||||
alert_type = /atom/movable/screen/alert/status_effect/creep
|
||||
examine_text = span_warning("SUBJECTPRONOUN is surrounded by velvety, gently-waving black shadows!")
|
||||
var/datum/antagonist/darkspawn/darkspawn
|
||||
|
||||
@@ -552,7 +552,7 @@
|
||||
return
|
||||
darkspawn.use_psi(1)
|
||||
|
||||
/obj/screen/alert/status_effect/creep
|
||||
/atom/movable/screen/alert/status_effect/creep
|
||||
name = "Creep"
|
||||
desc = "You are immune to lightburn. Drains 1 Psi per second."
|
||||
icon = 'yogstation/icons/mob/actions/actions_darkspawn.dmi'
|
||||
@@ -562,7 +562,7 @@
|
||||
/datum/status_effect/time_dilation //used by darkspawn; greatly increases action times etc
|
||||
id = "time_dilation"
|
||||
duration = 600
|
||||
alert_type = /obj/screen/alert/status_effect/time_dilation
|
||||
alert_type = /atom/movable/screen/alert/status_effect/time_dilation
|
||||
examine_text = span_warning("SUBJECTPRONOUN is moving jerkily and unpredictably!")
|
||||
|
||||
/datum/status_effect/time_dilation/on_apply()
|
||||
@@ -576,7 +576,7 @@
|
||||
owner.action_speed_modifier *= 2
|
||||
owner.unignore_slowdown(id)
|
||||
|
||||
/obj/screen/alert/status_effect/time_dilation
|
||||
/atom/movable/screen/alert/status_effect/time_dilation
|
||||
name = "Time Dilation"
|
||||
desc = "Your actions are twice as fast, and the delay between them is halved. Additionally, you are immune to slowdown."
|
||||
icon = 'yogstation/icons/mob/actions/actions_darkspawn.dmi'
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
//SLEEPING
|
||||
/datum/status_effect/incapacitating/sleeping
|
||||
id = "sleeping"
|
||||
alert_type = /obj/screen/alert/status_effect/asleep
|
||||
alert_type = /atom/movable/screen/alert/status_effect/asleep
|
||||
needs_update_stat = TRUE
|
||||
var/mob/living/carbon/carbon_owner
|
||||
var/mob/living/carbon/human/human_owner
|
||||
@@ -77,7 +77,7 @@
|
||||
if(prob(10) && owner.health > owner.crit_threshold)
|
||||
owner.emote("snore")
|
||||
|
||||
/obj/screen/alert/status_effect/asleep
|
||||
/atom/movable/screen/alert/status_effect/asleep
|
||||
name = "Asleep"
|
||||
desc = "You've fallen asleep. Wait a bit and you should wake up. Unless you don't, considering how helpless you are."
|
||||
icon_state = "asleep"
|
||||
@@ -88,7 +88,7 @@
|
||||
id = "stasis"
|
||||
duration = -1
|
||||
tick_interval = 10
|
||||
alert_type = /obj/screen/alert/status_effect/stasis
|
||||
alert_type = /atom/movable/screen/alert/status_effect/stasis
|
||||
var/last_dead_time
|
||||
/// What is added to the *life_tickrate*, -1 to freeze the ticks
|
||||
var/stasis_mod = -1
|
||||
@@ -124,7 +124,7 @@
|
||||
owner.life_tickrate -= stasis_mod
|
||||
return ..()
|
||||
|
||||
/obj/screen/alert/status_effect/stasis
|
||||
/atom/movable/screen/alert/status_effect/stasis
|
||||
name = "Stasis"
|
||||
desc = "Your biological functions have halted. You could live forever this way, but it's pretty boring."
|
||||
icon_state = "stasis"
|
||||
@@ -135,7 +135,7 @@
|
||||
/datum/status_effect/strandling //get it, strand as in durathread strand + strangling = strandling hahahahahahahahahahhahahaha i want to die
|
||||
id = "strandling"
|
||||
status_type = STATUS_EFFECT_UNIQUE
|
||||
alert_type = /obj/screen/alert/status_effect/strandling
|
||||
alert_type = /atom/movable/screen/alert/status_effect/strandling
|
||||
|
||||
/datum/status_effect/strandling/on_apply()
|
||||
ADD_TRAIT(owner, TRAIT_MAGIC_CHOKE, "dumbmoron")
|
||||
@@ -145,13 +145,13 @@
|
||||
REMOVE_TRAIT(owner, TRAIT_MAGIC_CHOKE, "dumbmoron")
|
||||
return ..()
|
||||
|
||||
/obj/screen/alert/status_effect/strandling
|
||||
/atom/movable/screen/alert/status_effect/strandling
|
||||
name = "Choking strand"
|
||||
desc = "A magical strand of Durathread is wrapped around your neck, preventing you from breathing! Click this icon to remove the strand."
|
||||
icon_state = "his_grace"
|
||||
alerttooltipstyle = "hisgrace"
|
||||
|
||||
/obj/screen/alert/status_effect/strandling/Click(location, control, params)
|
||||
/atom/movable/screen/alert/status_effect/strandling/Click(location, control, params)
|
||||
. = ..()
|
||||
to_chat(mob_viewer, span_notice("You attempt to remove the durathread strand from around your neck."))
|
||||
if(do_after(mob_viewer, 3.5 SECONDS, mob_viewer, FALSE))
|
||||
@@ -184,9 +184,9 @@
|
||||
id = "his_wrath"
|
||||
duration = -1
|
||||
tick_interval = 4
|
||||
alert_type = /obj/screen/alert/status_effect/his_wrath
|
||||
alert_type = /atom/movable/screen/alert/status_effect/his_wrath
|
||||
|
||||
/obj/screen/alert/status_effect/his_wrath
|
||||
/atom/movable/screen/alert/status_effect/his_wrath
|
||||
name = "His Wrath"
|
||||
desc = "You fled from His Grace instead of feeding Him, and now you suffer."
|
||||
icon_state = "his_grace"
|
||||
@@ -205,11 +205,11 @@
|
||||
duration = 70
|
||||
tick_interval = 0 //tick as fast as possible
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
alert_type = /obj/screen/alert/status_effect/belligerent
|
||||
alert_type = /atom/movable/screen/alert/status_effect/belligerent
|
||||
var/leg_damage_on_toggle = 2 //damage on initial application and when the owner tries to toggle to run
|
||||
var/cultist_damage_on_toggle = 10 //damage on initial application and when the owner tries to toggle to run, but to cultists
|
||||
|
||||
/obj/screen/alert/status_effect/belligerent
|
||||
/atom/movable/screen/alert/status_effect/belligerent
|
||||
name = "Belligerent"
|
||||
desc = "<b><font color=#880020>Kneel, her-eti'c.</font></b>"
|
||||
icon_state = "belligerent"
|
||||
@@ -539,7 +539,7 @@
|
||||
/datum/status_effect/necropolis_curse/proc/apply_curse(set_curse)
|
||||
curse_flags |= set_curse
|
||||
if(curse_flags & CURSE_BLINDING)
|
||||
owner.overlay_fullscreen("curse", /obj/screen/fullscreen/curse, 1)
|
||||
owner.overlay_fullscreen("curse", /atom/movable/screen/fullscreen/curse, 1)
|
||||
|
||||
/datum/status_effect/necropolis_curse/proc/remove_curse(remove_curse)
|
||||
if(remove_curse & CURSE_BLINDING)
|
||||
@@ -616,7 +616,7 @@
|
||||
status_type = STATUS_EFFECT_UNIQUE
|
||||
tick_interval = 5
|
||||
duration = 100
|
||||
alert_type = /obj/screen/alert/status_effect/kindle
|
||||
alert_type = /atom/movable/screen/alert/status_effect/kindle
|
||||
var/old_health
|
||||
|
||||
/datum/status_effect/kindle/tick()
|
||||
@@ -640,7 +640,7 @@
|
||||
owner.visible_message(span_warning("The light in [owner]'s eyes fades!"), \
|
||||
span_boldannounce("You snap out of your daze!"))
|
||||
|
||||
/obj/screen/alert/status_effect/kindle
|
||||
/atom/movable/screen/alert/status_effect/kindle
|
||||
name = "Dazzling Lights"
|
||||
desc = "Blinding light dances in your vision, stunning and silencing you. <i>Any damage taken will shorten the light's effects!</i>"
|
||||
icon_state = "kindle"
|
||||
@@ -653,7 +653,7 @@
|
||||
status_type = STATUS_EFFECT_UNIQUE
|
||||
duration = 600
|
||||
examine_text = span_warning("SUBJECTPRONOUN is drenched in thick, blue ichor!")
|
||||
alert_type = /obj/screen/alert/status_effect/ichorial_stain
|
||||
alert_type = /atom/movable/screen/alert/status_effect/ichorial_stain
|
||||
|
||||
/datum/status_effect/ichorial_stain/on_apply()
|
||||
owner.visible_message(span_danger("[owner] gets back up, [owner.p_their()] body dripping blue ichor!"), \
|
||||
@@ -664,7 +664,7 @@
|
||||
owner.visible_message(span_danger("The blue ichor on [owner]'s body dries out!"), \
|
||||
span_boldnotice("The ichor on your body is dry - you can now be revived by vitality matrices again!"))
|
||||
|
||||
/obj/screen/alert/status_effect/ichorial_stain
|
||||
/atom/movable/screen/alert/status_effect/ichorial_stain
|
||||
name = "Ichorial Stain"
|
||||
desc = "Your body is covered in blue ichor! You can't be revived by vitality matrices."
|
||||
icon_state = "ichorial_stain"
|
||||
@@ -695,9 +695,9 @@
|
||||
tick_interval = 10
|
||||
examine_text = span_warning("SUBJECTPRONOUN seems slow and unfocused.")
|
||||
var/stun = TRUE
|
||||
alert_type = /obj/screen/alert/status_effect/trance
|
||||
alert_type = /atom/movable/screen/alert/status_effect/trance
|
||||
|
||||
/obj/screen/alert/status_effect/trance
|
||||
/atom/movable/screen/alert/status_effect/trance
|
||||
name = "Trance"
|
||||
desc = "Everything feels so distant, and you can feel your thoughts forming loops inside your head..."
|
||||
icon_state = "high"
|
||||
@@ -802,7 +802,7 @@
|
||||
id = "dna_melt"
|
||||
duration = 600
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
alert_type = /obj/screen/alert/status_effect/dna_melt
|
||||
alert_type = /atom/movable/screen/alert/status_effect/dna_melt
|
||||
var/kill_either_way = FALSE //no amount of removing mutations is gonna save you now
|
||||
|
||||
/datum/status_effect/dna_melt/on_creation(mob/living/new_owner, set_duration, updating_canmove)
|
||||
@@ -816,7 +816,7 @@
|
||||
var/mob/living/carbon/human/H = owner
|
||||
H.something_horrible(kill_either_way)
|
||||
|
||||
/obj/screen/alert/status_effect/dna_melt
|
||||
/atom/movable/screen/alert/status_effect/dna_melt
|
||||
name = "Genetic Breakdown"
|
||||
desc = "I don't feel so good. Your body can't handle the mutations! You have one minute to remove your mutations, or you will be met with a horrible fate."
|
||||
icon_state = "dna_melt"
|
||||
@@ -826,7 +826,7 @@
|
||||
duration = 100
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
tick_interval = 1
|
||||
alert_type = /obj/screen/alert/status_effect/go_away
|
||||
alert_type = /atom/movable/screen/alert/status_effect/go_away
|
||||
var/direction
|
||||
|
||||
/datum/status_effect/go_away/on_creation(mob/living/new_owner, set_duration, updating_canmove)
|
||||
@@ -839,7 +839,7 @@
|
||||
var/turf/T = get_step(owner, direction)
|
||||
owner.forceMove(T)
|
||||
|
||||
/obj/screen/alert/status_effect/go_away
|
||||
/atom/movable/screen/alert/status_effect/go_away
|
||||
name = "TO THE STARS AND BEYOND!"
|
||||
desc = "I must go, my people need me!"
|
||||
icon_state = "high"
|
||||
@@ -897,7 +897,7 @@
|
||||
tick_interval = 5
|
||||
duration = 300
|
||||
examine_text = span_deadsay("SUBJECTPRONOUN is in a deep, deathlike sleep, with no signs of awareness to anything around them.")
|
||||
alert_type = /obj/screen/alert/status_effect/broken_will
|
||||
alert_type = /atom/movable/screen/alert/status_effect/broken_will
|
||||
var/old_health
|
||||
|
||||
/datum/status_effect/broken_will/tick()
|
||||
@@ -913,7 +913,7 @@
|
||||
duration -= health_difference
|
||||
old_health = owner.health
|
||||
|
||||
/obj/screen/alert/status_effect/broken_will
|
||||
/atom/movable/screen/alert/status_effect/broken_will
|
||||
name = "Broken Will"
|
||||
desc = "..."
|
||||
icon_state = "broken_will"
|
||||
@@ -1163,7 +1163,7 @@
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/knuckled/be_replaced()
|
||||
owner.underlays -= bruise
|
||||
owner.underlays -= bruise
|
||||
..()
|
||||
|
||||
/datum/status_effect/taming
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
id = "frozen"
|
||||
duration = 100
|
||||
status_type = STATUS_EFFECT_UNIQUE
|
||||
alert_type = /obj/screen/alert/status_effect/freon
|
||||
alert_type = /atom/movable/screen/alert/status_effect/freon
|
||||
var/icon/cube
|
||||
var/can_melt = TRUE
|
||||
|
||||
/obj/screen/alert/status_effect/freon
|
||||
/atom/movable/screen/alert/status_effect/freon
|
||||
name = "Frozen Solid"
|
||||
desc = "You're frozen inside an ice cube, and cannot move! You can still do stuff, like shooting. Resist out of the cube!"
|
||||
icon_state = "frozen"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/datum/status_effect/roots
|
||||
id = "roots"
|
||||
alert_type = /obj/screen/alert/status_effect/roots
|
||||
alert_type = /atom/movable/screen/alert/status_effect/roots
|
||||
var/icon/cube
|
||||
duration = 1 SECONDS
|
||||
|
||||
/obj/screen/alert/status_effect/roots
|
||||
/atom/movable/screen/alert/status_effect/roots
|
||||
name = "grasped"
|
||||
desc = "You're rooted in place"
|
||||
icon_state = "grip"
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
get_kill()
|
||||
. = ..()
|
||||
|
||||
/obj/screen/alert/status_effect/in_love
|
||||
/atom/movable/screen/alert/status_effect/in_love
|
||||
name = "In Love"
|
||||
desc = "You feel so wonderfully in love!"
|
||||
icon_state = "in_love"
|
||||
@@ -58,7 +58,7 @@
|
||||
id = "in_love"
|
||||
duration = -1
|
||||
status_type = STATUS_EFFECT_UNIQUE
|
||||
alert_type = /obj/screen/alert/status_effect/in_love
|
||||
alert_type = /atom/movable/screen/alert/status_effect/in_love
|
||||
var/mob/living/date
|
||||
|
||||
/datum/status_effect/in_love/on_creation(mob/living/new_owner, mob/living/love_interest)
|
||||
@@ -149,7 +149,7 @@
|
||||
id = "tagalong"
|
||||
duration = 3000
|
||||
tick_interval = 1 //as fast as possible
|
||||
alert_type = /obj/screen/alert/status_effect/tagalong
|
||||
alert_type = /atom/movable/screen/alert/status_effect/tagalong
|
||||
var/mob/living/shadowing
|
||||
var/turf/cached_location //we store this so if the mob is somehow gibbed we aren't put into nullspace
|
||||
|
||||
@@ -188,12 +188,12 @@
|
||||
owner.Stun(5) //short delay so they can't click as soon as they're out
|
||||
qdel(src)
|
||||
|
||||
/obj/screen/alert/status_effect/tagalong
|
||||
/atom/movable/screen/alert/status_effect/tagalong
|
||||
name = "Tagalong"
|
||||
desc = "You are accompanying TARGET_NAME. Use the Tagalong ability to break away at any time."
|
||||
icon_state = "shadow_mend"
|
||||
|
||||
/obj/screen/alert/status_effect/tagalong/MouseEntered()
|
||||
/atom/movable/screen/alert/status_effect/tagalong/MouseEntered()
|
||||
var/datum/status_effect/tagalong/tagalong = attached_effect
|
||||
desc = replacetext(desc, "TARGET_NAME", tagalong.shadowing.real_name)
|
||||
..()
|
||||
@@ -205,9 +205,9 @@
|
||||
duration = -1
|
||||
tick_interval = -1
|
||||
status_type = STATUS_EFFECT_MULTIPLE
|
||||
alert_type = /obj/screen/alert/status_effect/heldup
|
||||
alert_type = /atom/movable/screen/alert/status_effect/heldup
|
||||
|
||||
/obj/screen/alert/status_effect/heldup
|
||||
/atom/movable/screen/alert/status_effect/heldup
|
||||
name = "Held Up"
|
||||
desc = "Making any sudden moves would probably be a bad idea!"
|
||||
icon_state = "aimed"
|
||||
@@ -218,9 +218,9 @@
|
||||
duration = -1
|
||||
tick_interval = -1
|
||||
status_type = STATUS_EFFECT_UNIQUE
|
||||
alert_type = /obj/screen/alert/status_effect/holdup
|
||||
alert_type = /atom/movable/screen/alert/status_effect/holdup
|
||||
|
||||
/obj/screen/alert/status_effect/holdup
|
||||
/atom/movable/screen/alert/status_effect/holdup
|
||||
name = "Holding Up"
|
||||
desc = "You're currently pointing a gun at someone."
|
||||
icon_state = "aimed"
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
var/status_type = STATUS_EFFECT_UNIQUE //How many of the effect can be on one mob, and what happens when you try to add another
|
||||
var/on_remove_on_mob_delete = FALSE //if we call on_remove() when the mob is deleted
|
||||
var/examine_text //If defined, this text will appear when the mob is examined - to use he, she etc. use "SUBJECTPRONOUN" and replace it in the examines themselves
|
||||
var/alert_type = /obj/screen/alert/status_effect //the alert thrown by the status effect, contains name and description
|
||||
var/obj/screen/alert/status_effect/linked_alert = null //the alert itself, if it exists
|
||||
var/alert_type = /atom/movable/screen/alert/status_effect //the alert thrown by the status effect, contains name and description
|
||||
var/atom/movable/screen/alert/status_effect/linked_alert = null //the alert itself, if it exists
|
||||
|
||||
/datum/status_effect/New(list/arguments)
|
||||
on_creation(arglist(arguments))
|
||||
@@ -28,7 +28,7 @@
|
||||
duration = world.time + duration
|
||||
tick_interval = world.time + tick_interval
|
||||
if(alert_type)
|
||||
var/obj/screen/alert/status_effect/A = owner.throw_alert(id, alert_type)
|
||||
var/atom/movable/screen/alert/status_effect/A = owner.throw_alert(id, alert_type)
|
||||
A.attached_effect = src //so the alert can reference us, if it needs to
|
||||
linked_alert = A //so we can reference the alert, if we need to
|
||||
if(duration > 0 || initial(tick_interval) > 0) //don't process if we don't care
|
||||
@@ -85,7 +85,7 @@
|
||||
// ALERT HOOK //
|
||||
////////////////
|
||||
|
||||
/obj/screen/alert/status_effect
|
||||
/atom/movable/screen/alert/status_effect
|
||||
name = "Curse of Mundanity"
|
||||
desc = "You don't feel any different..."
|
||||
var/datum/status_effect/attached_effect
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
|
||||
// The shattered remnants of your broken limbs fill you with determination!
|
||||
/obj/screen/alert/status_effect/determined
|
||||
/atom/movable/screen/alert/status_effect/determined
|
||||
name = "Determined"
|
||||
desc = "The serious wounds you've sustained have put your body into fight-or-flight mode! Now's the time to look for an exit!"
|
||||
icon_state = "regenerative_core"
|
||||
|
||||
/datum/status_effect/determined
|
||||
id = "determined"
|
||||
alert_type = /obj/screen/alert/status_effect/determined
|
||||
alert_type = /atom/movable/screen/alert/status_effect/determined
|
||||
|
||||
/datum/status_effect/determined/on_apply()
|
||||
. = ..()
|
||||
@@ -28,7 +28,7 @@
|
||||
id = "limp"
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
tick_interval = 10
|
||||
alert_type = /obj/screen/alert/status_effect/limp
|
||||
alert_type = /atom/movable/screen/alert/status_effect/limp
|
||||
var/msg_stage = 0//so you dont get the most intense messages immediately
|
||||
/// The left leg of the limping person
|
||||
var/obj/item/bodypart/l_leg/left
|
||||
@@ -55,7 +55,7 @@
|
||||
/datum/status_effect/limp/on_remove()
|
||||
UnregisterSignal(owner, list(COMSIG_MOVABLE_MOVED, COMSIG_CARBON_GAIN_WOUND, COMSIG_CARBON_LOSE_WOUND, COMSIG_CARBON_ATTACH_LIMB, COMSIG_CARBON_REMOVE_LIMB))
|
||||
|
||||
/obj/screen/alert/status_effect/limp
|
||||
/atom/movable/screen/alert/status_effect/limp
|
||||
name = "Limping"
|
||||
desc = "One or more of your legs has been wounded, slowing down steps with that leg! Get it fixed, or at least in a sling of gauze!"
|
||||
|
||||
@@ -105,11 +105,11 @@
|
||||
/////////////////////////
|
||||
|
||||
// wound alert
|
||||
/obj/screen/alert/status_effect/wound
|
||||
/atom/movable/screen/alert/status_effect/wound
|
||||
name = "Wounded"
|
||||
desc = "Your body has sustained serious damage, click here to inspect yourself."
|
||||
|
||||
/obj/screen/alert/status_effect/wound/Click()
|
||||
/atom/movable/screen/alert/status_effect/wound/Click()
|
||||
var/mob/living/carbon/human/H = usr
|
||||
H.check_self_for_injuries()
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
|
||||
/datum/world_topic/news_report/Run(list/input)
|
||||
minor_announce(input["message"], "Breaking Update From [input["message_sender"]]")
|
||||
|
||||
|
||||
/datum/world_topic/ooc_relay
|
||||
keyword = "ooc_relay"
|
||||
require_comms_key = TRUE
|
||||
@@ -105,7 +105,7 @@
|
||||
var/messages = json_decode(input["message"])
|
||||
var/oocmsg = messages["normal"]
|
||||
var/oocmsg_toadmins = messages["admin"]
|
||||
|
||||
|
||||
var/source = json_decode(input["message_sender"])
|
||||
var/sourceadmin = source["is_admin"]
|
||||
var/sourcekey = source["key"]
|
||||
@@ -132,7 +132,7 @@
|
||||
for(var/mob/dead/observer/O in GLOB.player_list)
|
||||
if(O.key == expected_key)
|
||||
if(O.client)
|
||||
new /obj/screen/splash(O.client, TRUE)
|
||||
new /atom/movable/screen/splash(O.client, TRUE)
|
||||
break
|
||||
|
||||
/datum/world_topic/adminmsg
|
||||
@@ -160,7 +160,7 @@
|
||||
|
||||
/datum/world_topic/adminwho/Run(list/input)
|
||||
return ircadminwho()
|
||||
|
||||
|
||||
/datum/world_topic/mentorwho
|
||||
keyword = "mentorwho"
|
||||
require_comms_key = TRUE
|
||||
@@ -194,7 +194,7 @@
|
||||
var/datum/voice_announce/A = GLOB.voice_announce_list[input["voice_announce_cancel"]]
|
||||
if(istype(A))
|
||||
qdel(A)
|
||||
|
||||
|
||||
// Queries information about a voice announcement.
|
||||
/datum/world_topic/voice_announce_query
|
||||
keyword = "voice_announce_query"
|
||||
@@ -244,19 +244,19 @@
|
||||
.["security_level"] = get_security_level()
|
||||
.["round_duration"] = SSticker ? round((world.time-SSticker.round_start_time)/10) : 0
|
||||
// Amount of world's ticks in seconds, useful for calculating round duration
|
||||
|
||||
|
||||
//Time dilation stats.
|
||||
.["time_dilation_current"] = SStime_track.time_dilation_current
|
||||
.["time_dilation_avg"] = SStime_track.time_dilation_avg
|
||||
.["time_dilation_avg_slow"] = SStime_track.time_dilation_avg_slow
|
||||
.["time_dilation_avg_fast"] = SStime_track.time_dilation_avg_fast
|
||||
|
||||
|
||||
//pop cap stats
|
||||
.["soft_popcap"] = CONFIG_GET(number/soft_popcap) || 0
|
||||
.["hard_popcap"] = CONFIG_GET(number/hard_popcap) || 0
|
||||
.["extreme_popcap"] = CONFIG_GET(number/extreme_popcap) || 0
|
||||
.["popcap"] = max(CONFIG_GET(number/soft_popcap), CONFIG_GET(number/hard_popcap), CONFIG_GET(number/extreme_popcap)) //generalized field for this concept for use across ss13 codebases
|
||||
|
||||
|
||||
if(SSshuttle && SSshuttle.emergency)
|
||||
.["shuttle_mode"] = SSshuttle.emergency.mode
|
||||
// Shuttle status, see /__DEFINES/stat.dm
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
linked_status_effect = victim.apply_status_effect(status_effect_type, src)
|
||||
SEND_SIGNAL(victim, COMSIG_CARBON_GAIN_WOUND, src, limb)
|
||||
if(!victim.alerts["wound"]) // only one alert is shared between all of the wounds
|
||||
victim.throw_alert("wound", /obj/screen/alert/status_effect/wound)
|
||||
victim.throw_alert("wound", /atom/movable/screen/alert/status_effect/wound)
|
||||
|
||||
var/demoted
|
||||
if(old_wound)
|
||||
|
||||
Reference in New Issue
Block a user