Merge branch 'master' into nanoui-is-dead

This commit is contained in:
AffectedArc07
2020-11-26 09:34:14 +00:00
committed by GitHub
70 changed files with 719 additions and 1906 deletions
+4 -2
View File
@@ -58,12 +58,14 @@
var/mob/M = poi
if(istype(M))
if(isnewplayer(M)) // People in the lobby screen; only have their ckey as a name.
continue
if(isobserver(M))
ghosts += list(serialized)
else if(M.stat == DEAD)
dead += list(serialized)
else if(M.mind == null)
npcs += list(serialized)
else if(M.stat == DEAD)
dead += list(serialized)
else
alive += list(serialized)
+13 -13
View File
@@ -254,26 +254,26 @@
if(wound_flavor_text["r_foot"]&& (is_destroyed["right foot"] || (!shoes && !skipshoes)))
msg += wound_flavor_text["r_foot"]
var/temp = getBruteLoss() //no need to calculate each of these twice
var/damage = getBruteLoss() //no need to calculate each of these twice
if(temp)
if(damage)
var/brute_message = !ismachineperson(src) ? "bruising" : "denting"
if(temp < 30)
msg += "[p_they(TRUE)] [p_have()] minor [brute_message ].\n"
if(damage < 60)
msg += "[p_they(TRUE)] [p_have()] [damage < 30 ? "minor" : "moderate"] [brute_message].\n"
else
msg += "<B>[p_they(TRUE)] [p_have()] severe [brute_message ]!</B>\n"
msg += "<B>[p_they(TRUE)] [p_have()] severe [brute_message]!</B>\n"
temp = getFireLoss()
if(temp)
if(temp < 30)
msg += "[p_they(TRUE)] [p_have()] minor burns.\n"
damage = getFireLoss()
if(damage)
if(damage < 60)
msg += "[p_they(TRUE)] [p_have()] [damage < 30 ? "minor" : "moderate"] burns.\n"
else
msg += "<B>[p_they(TRUE)] [p_have()] severe burns!</B>\n"
temp = getCloneLoss()
if(temp)
if(temp < 30)
msg += "[p_they(TRUE)] [p_have()] minor cellular damage.\n"
damage = getCloneLoss()
if(damage)
if(damage < 60)
msg += "[p_they(TRUE)] [p_have()] [damage < 30 ? "minor" : "moderate"] cellular damage.\n"
else
msg += "<B>[p_they(TRUE)] [p_have()] severe cellular damage.</B>\n"
+8
View File
@@ -94,6 +94,14 @@
mind.store_memory("Time of death: [station_time_timestamp("hh:mm:ss", timeofdeath)]", 0)
GLOB.respawnable_list += src
if(mind.name && !isbrain(src)) // !isbrain() is to stop it from being called twice
var/turf/T = get_turf(src)
var/area_name = get_area_name(T)
for(var/P in GLOB.dead_mob_list)
var/mob/M = P
if((M.client?.prefs.toggles2 & PREFTOGGLE_2_DEATHMESSAGE) && (isobserver(M) || M.stat == DEAD))
to_chat(M, "<span class='deadsay'><b>[mind.name]</b> has died at <b>[area_name]</b>. (<a href='?src=[M.UID()];jump=\ref[src]'>JMP</a>)</span>")
if(SSticker && SSticker.mode)
SSticker.mode.check_win()
if(mind && mind.devilinfo) // Expand this into a general-purpose death-response system when appropriate
@@ -107,7 +107,6 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
var/magpulse = 0
var/ionpulse = 0 // Jetpack-like effect.
var/ionpulse_on = 0 // Jetpack-like effect.
var/datum/effect_system/trail_follow/ion/ion_trail // Ionpulse effect.
var/datum/action/item_action/toggle_research_scanner/scanner = null
var/list/module_actions = list()
@@ -176,6 +175,13 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
diag_hud_set_borgcell()
scanner = new(src)
scanner.Grant(src)
RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/create_trail)
/mob/living/silicon/robot/proc/create_trail(datum/source, atom/oldloc, _dir, forced)
if(ionpulse_on)
var/turf/T = get_turf(oldloc)
if(!has_gravity(T))
new /obj/effect/particle_effect/ion_trails(T, _dir)
/mob/living/silicon/robot/proc/init(alien, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
aiCamera = new/obj/item/camera/siliconcam/robot_camera(src)
@@ -608,16 +614,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
to_chat(src, "<span class='notice'>No thrusters are installed!</span>")
return
if(!ion_trail)
ion_trail = new
ion_trail.set_up(src)
ionpulse_on = !ionpulse_on
to_chat(src, "<span class='notice'>You [ionpulse_on ? null :"de"]activate your ion thrusters.</span>")
if(ionpulse_on)
ion_trail.start()
else
ion_trail.stop()
if(thruster_button)
thruster_button.icon_state = "ionpulse[ionpulse_on]"
@@ -29,16 +29,18 @@
faction = list("malf_drone")
deathmessage = "suddenly breaks apart."
del_on_death = 1
var/datum/effect_system/trail_follow/ion/ion_trail
var/passive_mode = TRUE // if true, don't target anything.
/mob/living/simple_animal/hostile/malf_drone/Initialize(mapload)
. = ..()
ion_trail = new
ion_trail.set_up(src)
ion_trail.start()
RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/create_trail)
update_icons()
/mob/living/simple_animal/hostile/malf_drone/proc/create_trail(datum/source, atom/oldloc, _dir, forced)
var/turf/T = get_turf(oldloc)
if(!has_gravity(T))
new /obj/effect/particle_effect/ion_trails(T, _dir)
/mob/living/simple_animal/hostile/malf_drone/Process_Spacemove(check_drift = 0)
return 1