mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 09:54:52 +00:00
quality of life
This commit is contained in:
@@ -103,12 +103,12 @@
|
|||||||
spell_type = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile
|
spell_type = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile
|
||||||
log_name = "MM"
|
log_name = "MM"
|
||||||
category = "Defensive"
|
category = "Defensive"
|
||||||
|
/*
|
||||||
/datum/spellbook_entry/disintegrate
|
/datum/spellbook_entry/disintegrate
|
||||||
name = "Disintegrate"
|
name = "Disintegrate"
|
||||||
spell_type = /obj/effect/proc_holder/spell/targeted/touch/disintegrate
|
spell_type = /obj/effect/proc_holder/spell/targeted/touch/disintegrate
|
||||||
log_name = "DG"
|
log_name = "DG"
|
||||||
|
*/
|
||||||
/datum/spellbook_entry/disabletech
|
/datum/spellbook_entry/disabletech
|
||||||
name = "Disable Tech"
|
name = "Disable Tech"
|
||||||
spell_type = /obj/effect/proc_holder/spell/targeted/emplosion/disable_tech
|
spell_type = /obj/effect/proc_holder/spell/targeted/emplosion/disable_tech
|
||||||
@@ -259,7 +259,7 @@
|
|||||||
if(surplus>=0)
|
if(surplus>=0)
|
||||||
dat += "[surplus] left.<br>"
|
dat += "[surplus] left.<br>"
|
||||||
return dat
|
return dat
|
||||||
|
/*
|
||||||
/datum/spellbook_entry/item/staffchange
|
/datum/spellbook_entry/item/staffchange
|
||||||
name = "Staff of Change"
|
name = "Staff of Change"
|
||||||
desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself."
|
desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself."
|
||||||
@@ -278,7 +278,7 @@
|
|||||||
desc = "A caprious tool that can fire all sorts of magic without any rhyme or reason. Using it on people you care about is not recommended."
|
desc = "A caprious tool that can fire all sorts of magic without any rhyme or reason. Using it on people you care about is not recommended."
|
||||||
item_path = /obj/item/weapon/gun/magic/staff/chaos
|
item_path = /obj/item/weapon/gun/magic/staff/chaos
|
||||||
log_name = "SC"
|
log_name = "SC"
|
||||||
|
*/
|
||||||
/datum/spellbook_entry/item/staffdoor
|
/datum/spellbook_entry/item/staffdoor
|
||||||
name = "Staff of Door Creation"
|
name = "Staff of Door Creation"
|
||||||
desc = "A particular staff that can mold solid metal into ornate doors. Useful for getting around in the absence of other transportation. Does not work on glass."
|
desc = "A particular staff that can mold solid metal into ornate doors. Useful for getting around in the absence of other transportation. Does not work on glass."
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
if(confirm == "Yes")
|
if(confirm == "Yes")
|
||||||
suiciding = 1
|
suiciding = 1
|
||||||
log_game("[key_name(src)] (job: [job ? "[job]" : "None"]) commited suicide at [get_area(src)].")
|
log_game("[key_name(src)] (job: [job ? "[job]" : "None"]) commited suicide at [get_area(src)].")
|
||||||
|
message_admins("[key_name(src)] (job: [job ? "[job]" : "None"]) commited suicide at [get_area(src)].")
|
||||||
var/obj/item/held_item = get_active_hand()
|
var/obj/item/held_item = get_active_hand()
|
||||||
if(held_item)
|
if(held_item)
|
||||||
var/damagetype = held_item.suicide_act(src)
|
var/damagetype = held_item.suicide_act(src)
|
||||||
|
|||||||
@@ -120,6 +120,8 @@ Thus, the two variables affect pump operation are set in New():
|
|||||||
if("power")
|
if("power")
|
||||||
on = !on
|
on = !on
|
||||||
investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos")
|
investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos")
|
||||||
|
message_admins("Pump manipulated by [key_name(usr)] at [x], [y], [z], [loc.loc]")
|
||||||
|
log_admin("[key_name(usr)] manipulated a pump at [x], [y], [z]")
|
||||||
. = TRUE
|
. = TRUE
|
||||||
if("pressure")
|
if("pressure")
|
||||||
var/pressure = params["pressure"]
|
var/pressure = params["pressure"]
|
||||||
@@ -135,7 +137,9 @@ Thus, the two variables affect pump operation are set in New():
|
|||||||
. = TRUE
|
. = TRUE
|
||||||
if(.)
|
if(.)
|
||||||
target_pressure = Clamp(pressure, 0, MAX_OUTPUT_PRESSURE)
|
target_pressure = Clamp(pressure, 0, MAX_OUTPUT_PRESSURE)
|
||||||
investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos")
|
investigate_log("A pump was set to [target_pressure] kPa by [key_name(usr)]", [loc.loc], "atmos")
|
||||||
|
message_admins("A pump was set to [target_pressure] kPa by [key_name(usr)] at [x], [y], [z], [loc.loc]")
|
||||||
|
log_admin("[key_name(usr)] manipulated a pump at [x], [y], [z]")
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/binary/pump/atmosinit()
|
/obj/machinery/atmospherics/components/binary/pump/atmosinit()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/obj/machinery/atmospherics/components/unary/cryo_cell
|
/obj/machinery/atmospherics/components/unary/cryo_cell
|
||||||
name = "cryo cell"
|
name = "cryo cell"
|
||||||
icon = 'icons/obj/cryogenics.dmi'
|
icon = 'icons/obj/cryogenics.dmi'
|
||||||
icon_state = "cell-off"
|
icon_state = "pod0"
|
||||||
density = 1
|
density = 1
|
||||||
anchored = 1
|
anchored = 1
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
state_open = FALSE
|
state_open = FALSE
|
||||||
var/autoeject = FALSE
|
var/autoeject = FALSE
|
||||||
var/volume = 100
|
var/volume = 100
|
||||||
|
var/running_bob_animation = 0
|
||||||
var/efficiency = 1
|
var/efficiency = 1
|
||||||
var/sleep_factor = 750
|
var/sleep_factor = 750
|
||||||
var/paralyze_factor = 1000
|
var/paralyze_factor = 1000
|
||||||
@@ -54,17 +54,59 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/unary/cryo_cell/update_icon()
|
/obj/machinery/atmospherics/components/unary/cryo_cell/update_icon()
|
||||||
|
handle_update_icon()
|
||||||
|
|
||||||
|
/obj/machinery/atmospherics/components/unary/cryo_cell/proc/handle_update_icon() //making another proc to avoid spam in update_icon
|
||||||
|
overlays.Cut() //empty the overlay proc, just in case
|
||||||
|
|
||||||
if(panel_open)
|
if(panel_open)
|
||||||
icon_state = "cell-o"
|
icon_state = "pod0-o"
|
||||||
else if(state_open)
|
else if(state_open)
|
||||||
icon_state = "cell-open"
|
icon_state = "pod0"
|
||||||
else if(on && is_operational())
|
else if(on && is_operational())
|
||||||
if(occupant)
|
if(occupant)
|
||||||
icon_state = "cell-occupied"
|
var/image/pickle = image(occupant.icon, occupant.icon_state)
|
||||||
|
pickle.overlays = occupant.overlays
|
||||||
|
pickle.pixel_y = 22
|
||||||
|
overlays += pickle
|
||||||
|
icon_state = "pod1"
|
||||||
|
var/up = 0 //used to see if we are going up or down, 1 is down, 2 is up
|
||||||
|
spawn(0) // Without this, the icon update will block. The new thread will die once the occupant leaves.
|
||||||
|
running_bob_animation = 1
|
||||||
|
while(occupant)
|
||||||
|
overlays -= "lid1" //have to remove the overlays first, to force an update- remove cloning pod overlay
|
||||||
|
overlays -= pickle //remove mob overlay
|
||||||
|
|
||||||
|
switch(pickle.pixel_y) //this looks messy as fuck but it works, switch won't call itself twice
|
||||||
|
|
||||||
|
if(23) //inbetween state, for smoothness
|
||||||
|
switch(up) //this is set later in the switch, to keep track of where the mob is supposed to go
|
||||||
|
if(2) //2 is up
|
||||||
|
pickle.pixel_y = 24 //set to highest
|
||||||
|
|
||||||
|
if(1) //1 is down
|
||||||
|
pickle.pixel_y = 22 //set to lowest
|
||||||
|
|
||||||
|
if(22) //mob is at it's lowest
|
||||||
|
pickle.pixel_y = 23 //set to inbetween
|
||||||
|
up = 2 //have to go up
|
||||||
|
|
||||||
|
if(24) //mob is at it's highest
|
||||||
|
pickle.pixel_y = 23 //set to inbetween
|
||||||
|
up = 1 //have to go down
|
||||||
|
|
||||||
|
overlays += pickle //re-add the mob to the icon
|
||||||
|
overlays += "lid1" //re-add the overlay of the pod, they are inside it, not floating
|
||||||
|
|
||||||
|
sleep(7) //don't want to jiggle violently, just slowly bob
|
||||||
|
return
|
||||||
|
running_bob_animation = 0
|
||||||
else
|
else
|
||||||
icon_state = "cell-on"
|
icon_state = "pod1"
|
||||||
|
overlays += "lid0" //have to remove the overlays first, to force an update- remove cloning pod overlay
|
||||||
else
|
else
|
||||||
icon_state = "cell-off"
|
icon_state = "pod0"
|
||||||
|
overlays += "lid0" //if no occupant, just put the lid overlay on, and ignore the rest
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/unary/cryo_cell/process()
|
/obj/machinery/atmospherics/components/unary/cryo_cell/process()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -695,22 +695,23 @@
|
|||||||
threatcount += 2
|
threatcount += 2
|
||||||
|
|
||||||
//Check for dresscode violations
|
//Check for dresscode violations
|
||||||
if(istype(head, /obj/item/clothing/head/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/wizard))
|
if(istype(head, /obj/item/clothing/head/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/wizard) || istype(head, /obj/item/clothing/head/helmet/space/hardsuit/syndi) || istype(head, /obj/item/clothing/head/helmet/space/syndicate) || istype(head, /obj/item/clothing/head/culthood) || istype(head, /obj/item/clothing/head/helmet/space/cult))
|
||||||
threatcount += 2
|
threatcount += 5
|
||||||
|
|
||||||
//Check for nonhuman scum
|
//Check for nonhuman scum
|
||||||
if(dna && dna.species.id && dna.species.id != "human")
|
if(dna && dna.species.id && dna.species.id != "human")
|
||||||
threatcount += 1
|
threatcount += 0
|
||||||
|
|
||||||
//mindshield implants imply trustworthyness
|
//Loyalty implants imply trustworthyness
|
||||||
if(isloyal(src))
|
if(isloyal(src))
|
||||||
threatcount -= 1
|
threatcount -= 1
|
||||||
|
|
||||||
//Agent cards lower threatlevel.
|
//Agent cards lower threatlevel, but only just enough to avoid dresscode violations.
|
||||||
if(istype(idcard, /obj/item/weapon/card/id/syndicate))
|
if(istype(idcard, /obj/item/weapon/card/id/syndicate))
|
||||||
threatcount -= 5
|
threatcount -= 2
|
||||||
|
|
||||||
return threatcount
|
return threatcount
|
||||||
|
return threatcount
|
||||||
|
|
||||||
|
|
||||||
//Used for new human mobs created by cloning/goleming/podding
|
//Used for new human mobs created by cloning/goleming/podding
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
minor_announce(config.alert_desc_blue_upto, "Attention! Security level elevated to blue:",1)
|
minor_announce(config.alert_desc_blue_upto, "Attention! Security level elevated to blue:",1)
|
||||||
else
|
else
|
||||||
minor_announce(config.alert_desc_blue_downto, "Attention! Security level lowered to blue:")
|
minor_announce(config.alert_desc_blue_downto, "Attention! Security level lowered to blue:")
|
||||||
|
for(var/mob/M in player_list)
|
||||||
|
M << 'sound/misc/voybluealert.ogg'
|
||||||
security_level = SEC_LEVEL_BLUE
|
security_level = SEC_LEVEL_BLUE
|
||||||
for(var/obj/machinery/firealarm/FA in machines)
|
for(var/obj/machinery/firealarm/FA in machines)
|
||||||
if(FA.z == ZLEVEL_STATION)
|
if(FA.z == ZLEVEL_STATION)
|
||||||
@@ -40,6 +42,8 @@
|
|||||||
minor_announce(config.alert_desc_red_upto, "Attention! Code red!",1)
|
minor_announce(config.alert_desc_red_upto, "Attention! Code red!",1)
|
||||||
else
|
else
|
||||||
minor_announce(config.alert_desc_red_downto, "Attention! Code red!")
|
minor_announce(config.alert_desc_red_downto, "Attention! Code red!")
|
||||||
|
for(var/mob/M in player_list)
|
||||||
|
M << 'sound/misc/voyalert.ogg'
|
||||||
security_level = SEC_LEVEL_RED
|
security_level = SEC_LEVEL_RED
|
||||||
|
|
||||||
/* - At the time of commit, setting status displays didn't work properly
|
/* - At the time of commit, setting status displays didn't work properly
|
||||||
@@ -54,6 +58,8 @@
|
|||||||
pod.admin_controlled = 0
|
pod.admin_controlled = 0
|
||||||
if(SEC_LEVEL_DELTA)
|
if(SEC_LEVEL_DELTA)
|
||||||
minor_announce(config.alert_desc_delta, "Attention! Delta security level reached!",1)
|
minor_announce(config.alert_desc_delta, "Attention! Delta security level reached!",1)
|
||||||
|
for(var/mob/M in player_list)
|
||||||
|
M << 'sound/misc/tas_red_alert.ogg'
|
||||||
security_level = SEC_LEVEL_DELTA
|
security_level = SEC_LEVEL_DELTA
|
||||||
for(var/obj/machinery/firealarm/FA in machines)
|
for(var/obj/machinery/firealarm/FA in machines)
|
||||||
if(FA.z == ZLEVEL_STATION)
|
if(FA.z == ZLEVEL_STATION)
|
||||||
|
|||||||
@@ -326,6 +326,12 @@
|
|||||||
timer = world.time
|
timer = world.time
|
||||||
priority_announce("The Emergency Shuttle has left the station. Estimate [timeLeft(600)] minutes until the shuttle docks at Central Command.", null, null, "Priority")
|
priority_announce("The Emergency Shuttle has left the station. Estimate [timeLeft(600)] minutes until the shuttle docks at Central Command.", null, null, "Priority")
|
||||||
if(SHUTTLE_ESCAPE)
|
if(SHUTTLE_ESCAPE)
|
||||||
|
|
||||||
|
if(time_left <= 50 && sound_played) //4 seconds left:Hyperspace trip completed. - should sync up with the landing
|
||||||
|
sound_played = 1 //Only rev them up once.
|
||||||
|
for(var/area/shuttle/escape/E in world)
|
||||||
|
E << 'sound/effects/hyperspace_end.ogg'
|
||||||
|
|
||||||
if(time_left <= 0)
|
if(time_left <= 0)
|
||||||
//move each escape pod to its corresponding escape dock
|
//move each escape pod to its corresponding escape dock
|
||||||
for(var/A in SSshuttle.mobile)
|
for(var/A in SSshuttle.mobile)
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 25 KiB |
Binary file not shown.
Binary file not shown.
BIN
sound/misc/tas_red_alert.ogg
Normal file
BIN
sound/misc/tas_red_alert.ogg
Normal file
Binary file not shown.
BIN
sound/misc/voyalert.ogg
Normal file
BIN
sound/misc/voyalert.ogg
Normal file
Binary file not shown.
BIN
sound/misc/voybluealert.ogg
Normal file
BIN
sound/misc/voybluealert.ogg
Normal file
Binary file not shown.
Reference in New Issue
Block a user