mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Merge branch 'master' into nanoui-is-dead
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user