mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 23:23:28 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into turfs
# Conflicts: # icons/obj/vending.dmi # paradise.dme
This commit is contained in:
@@ -1,4 +1,33 @@
|
||||
/mob/dead/Login()
|
||||
. = ..()
|
||||
var/turf/T = get_turf(src)
|
||||
if (isturf(T))
|
||||
update_z(T.z)
|
||||
|
||||
/mob/dead/Logout()
|
||||
update_z(null)
|
||||
return ..()
|
||||
|
||||
/mob/dead/forceMove(atom/destination)
|
||||
var/turf/old_turf = get_turf(src)
|
||||
var/turf/new_turf = get_turf(destination)
|
||||
if (old_turf?.z != new_turf?.z)
|
||||
onTransitZ(old_turf?.z, new_turf?.z)
|
||||
var/oldloc = loc
|
||||
loc = destination
|
||||
Moved(oldloc, NONE, TRUE)
|
||||
Moved(oldloc, NONE, TRUE)
|
||||
|
||||
/mob/dead/onTransitZ(old_z,new_z)
|
||||
..()
|
||||
update_z(new_z)
|
||||
|
||||
/mob/dead/proc/update_z(new_z) // 1+ to register, null to unregister
|
||||
if (registered_z != new_z)
|
||||
if (registered_z)
|
||||
SSmobs.dead_players_by_zlevel[registered_z] -= src
|
||||
if (client)
|
||||
if (new_z)
|
||||
SSmobs.dead_players_by_zlevel[new_z] += src
|
||||
registered_z = new_z
|
||||
else
|
||||
registered_z = null
|
||||
@@ -1223,7 +1223,7 @@ var/global/list/damage_icon_parts = list()
|
||||
|
||||
//Adds a collar overlay above the helmet layer if the suit has one
|
||||
// Suit needs an identically named sprite in icons/mob/collar.dmi
|
||||
// For suits with species_fit and sprite_sheets, an identically named sprite needs to exist in a file like this icons/mob/species/[species_name_here]/collar.dmi.
|
||||
// For suits with sprite_sheets, an identically named sprite needs to exist in a file like this icons/mob/species/[species_name_here]/collar.dmi.
|
||||
/mob/living/carbon/human/proc/update_collar(var/update_icons=1)
|
||||
remove_overlay(COLLAR_LAYER)
|
||||
var/icon/C = new('icons/mob/collar.dmi')
|
||||
|
||||
@@ -18,6 +18,14 @@
|
||||
if(ranged_ability)
|
||||
ranged_ability.add_ranged_ability(src, "<span class='notice'>You currently have <b>[ranged_ability]</b> active!</span>")
|
||||
|
||||
//for when action buttons are lost and need to be regained, such as when the mind enters a new mob
|
||||
var/datum/changeling/changeling = usr.mind.changeling
|
||||
if(changeling)
|
||||
for(var/power in changeling.purchasedpowers)
|
||||
var/datum/action/changeling/S = power
|
||||
if(istype(S) && S.needs_button)
|
||||
S.Grant(src)
|
||||
|
||||
//Should update regardless of if we can ventcrawl, since we can end up in pipes in other ways.
|
||||
update_pipe_vision()
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@ var/datum/cameranet/cameranet = new()
|
||||
/*
|
||||
/datum/cameranet/proc/stat_entry()
|
||||
if(!statclick)
|
||||
statclick = new/obj/effect/statclick/debug("Initializing...", src)
|
||||
statclick = new/obj/effect/statclick/debug(null, "Initializing...", src)
|
||||
|
||||
stat(name, statclick.update("Cameras: [cameranet.cameras.len] | Chunks: [cameranet.chunks.len]"))
|
||||
*/
|
||||
|
||||
@@ -289,7 +289,7 @@ var/list/robot_verbs_default = list(
|
||||
if(islist(force_modules) && force_modules.len)
|
||||
modules = force_modules.Copy()
|
||||
if(security_level == (SEC_LEVEL_GAMMA || SEC_LEVEL_EPSILON) || crisis)
|
||||
to_chat(src, "<span class='warning'>Crisis mode active. Combat module available.</span>")
|
||||
to_chat(src, "<span class='warning'>Crisis mode active. The combat module is now available.</span>")
|
||||
modules += "Combat"
|
||||
if(mmi != null && mmi.alien)
|
||||
modules = list("Hunter")
|
||||
@@ -417,6 +417,31 @@ var/list/robot_verbs_default = list(
|
||||
radio.config(module.channels)
|
||||
notify_ai(2)
|
||||
|
||||
/mob/living/silicon/robot/proc/reset_module()
|
||||
notify_ai(2)
|
||||
|
||||
uneq_all()
|
||||
sight_mode = null
|
||||
hands.icon_state = "nomod"
|
||||
icon_state = "robot"
|
||||
module.remove_subsystems_and_actions(src)
|
||||
QDEL_NULL(module)
|
||||
|
||||
camera.network.Remove(list("Engineering", "Medical", "Mining Outpost"))
|
||||
rename_character(real_name, get_default_name("Default"))
|
||||
languages = list()
|
||||
speech_synthesizer_langs = list()
|
||||
|
||||
update_icons()
|
||||
update_headlamp()
|
||||
|
||||
speed = 0 // Remove upgrades.
|
||||
ionpulse = FALSE
|
||||
magpulse = FALSE
|
||||
add_language("Robot Talk", 1)
|
||||
|
||||
status_flags |= CANPUSH
|
||||
|
||||
//for borg hotkeys, here module refers to borg inv slot, not core module
|
||||
/mob/living/silicon/robot/verb/cmd_toggle_module(module as num)
|
||||
set name = "Toggle Module"
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
/mob/living/simple_animal/mouse/Life()
|
||||
..()
|
||||
if(prob(0.5))
|
||||
if(prob(0.5) && !ckey)
|
||||
stat = UNCONSCIOUS
|
||||
icon_state = "mouse_[mouse_color]_sleep"
|
||||
wander = 0
|
||||
@@ -220,4 +220,4 @@
|
||||
response_harm = "stamps on"
|
||||
gold_core_spawnable = CHEM_MOB_SPAWN_INVALID
|
||||
can_collar = 0
|
||||
butcher_results = list(/obj/item/stack/sheet/metal = 1)
|
||||
butcher_results = list(/obj/item/stack/sheet/metal = 1)
|
||||
|
||||
@@ -965,13 +965,6 @@ var/list/slot_equipment_priority = list( \
|
||||
|
||||
|
||||
if(is_admin(src))
|
||||
if(statpanel("DI")) //not looking at that panel
|
||||
stat("Loc", "([x], [y], [z]) [loc]")
|
||||
stat("CPU", "[world.cpu]")
|
||||
stat("Instances", "[world.contents.len]")
|
||||
|
||||
if(processScheduler)
|
||||
processScheduler.statProcesses()
|
||||
if(statpanel("MC")) //looking at that panel
|
||||
var/turf/T = get_turf(client.eye)
|
||||
stat("Location:", COORD(T))
|
||||
|
||||
Reference in New Issue
Block a user