either destroys the entire game, or increases performance... maybe both (#16178)

This commit is contained in:
ChesterTheCheesy
2022-10-29 16:02:44 +02:00
committed by GitHub
parent 1104e8e4be
commit 4aa6c0b45d
187 changed files with 1412 additions and 1410 deletions

View File

@@ -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

View File

@@ -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."
..()

View File

@@ -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

View File

@@ -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)

View File

@@ -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))

View File

@@ -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)

View File

@@ -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'

View File

@@ -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

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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

View File

@@ -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()

View File

@@ -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

View File

@@ -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)