Merge branch 'master' into tcomms-overhaul

This commit is contained in:
AffectedArc07
2020-05-22 18:51:44 +01:00
205 changed files with 16108 additions and 15035 deletions
+3 -2
View File
@@ -926,9 +926,10 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
return initial(pixel_y)
/mob/living/carbon/emp_act(severity)
for(var/obj/item/organ/internal/O in internal_organs)
O.emp_act(severity)
..()
for(var/X in internal_organs)
var/obj/item/organ/internal/O = X
O.emp_act(severity)
/mob/living/carbon/Stat()
..()
@@ -206,12 +206,6 @@ emp_act
if(martial_art && prob(martial_art.block_chance) && martial_art.can_use(src) && in_throw_mode && !incapacitated(FALSE, TRUE))
return TRUE
/mob/living/carbon/human/emp_act(severity)
for(var/obj/O in src)
if(!O) continue
O.emp_act(severity)
..()
/mob/living/carbon/human/acid_act(acidpwr, acid_volume, bodyzone_hit) //todo: update this to utilize check_obscured_slots() //and make sure it's check_obscured_slots(TRUE) to stop aciding through visors etc
var/list/damaged = list()
var/list/inventory_items_to_kill = list()
+3 -1
View File
@@ -810,7 +810,9 @@
handle_organs()
if(getBrainLoss() >= 120 || (health + (getOxyLoss() / 2)) <= -500)
var/guaranteed_death_threshold = health + (getOxyLoss() * 0.5) - (getFireLoss() * 0.67) - (getBruteLoss() * 0.67)
if(getBrainLoss() >= 120 || (guaranteed_death_threshold) <= -500)
death()
return
@@ -273,8 +273,6 @@
if(H.status_flags & GOTTAGOFAST)
. -= 1
if(H.status_flags & GOTTAGOFAST_METH)
. -= 1
return .
/datum/species/proc/on_species_gain(mob/living/carbon/human/H) //Handles anything not already covered by basic species assignment.
@@ -1290,15 +1290,12 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
apply_overlay(MISC_LAYER)
/mob/living/carbon/human/admin_Freeze(client/admin, skip_overlays = TRUE)
. = ..()
overlays_standing[FROZEN_LAYER] = mutable_appearance(frozen, layer = -FROZEN_LAYER)
apply_overlay(FROZEN_LAYER)
/mob/living/carbon/human/admin_unFreeze(client/admin, skip_overlays = TRUE)
. = ..()
remove_overlay(FROZEN_LAYER)
/mob/living/carbon/human/admin_Freeze(client/admin, skip_overlays = TRUE, mech = null)
if(..())
overlays_standing[FROZEN_LAYER] = mutable_appearance(frozen, layer = -FROZEN_LAYER)
apply_overlay(FROZEN_LAYER)
else
remove_overlay(FROZEN_LAYER)
/mob/living/carbon/human/proc/force_update_limbs()
for(var/obj/item/organ/external/O in bodyparts)
+2 -3
View File
@@ -73,10 +73,9 @@
return shock_damage
/mob/living/emp_act(severity)
var/list/L = src.get_contents()
for(var/obj/O in L)
O.emp_act(severity)
..()
for(var/obj/O in contents)
O.emp_act(severity)
/obj/item/proc/get_volume_by_throwforce_and_or_w_class()
if(throwforce && w_class)
@@ -28,7 +28,6 @@
var/on_fire = 0 //The "Are we on fire?" var
var/fire_stacks = 0 //Tracks how many stacks of fire we have on, max is usually 20
var/implanting = 0 //Used for the mind-slave implant
var/floating = 0
var/mob_size = MOB_SIZE_HUMAN
var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
@@ -61,7 +60,6 @@
var/list/say_log = list() //a log of what we've said, plain text, no spans or junk, essentially just each individual "message"
var/list/emote_log = list() //like say_log but for emotes
var/list/recent_tastes = list()
var/blood_volume = 0 //how much blood the mob has
hud_possible = list(HEALTH_HUD,STATUS_HUD,SPECIALROLE_HUD)
+1 -1
View File
@@ -571,13 +571,13 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
return FALSE
/mob/living/silicon/ai/emp_act(severity)
..()
if(prob(30))
switch(pick(1,2))
if(1)
view_core()
if(2)
ai_call_shuttle()
..()
/mob/living/silicon/ai/ex_act(severity)
..()
@@ -137,9 +137,9 @@
..()
/mob/living/silicon/robot/syndicate/saboteur/emp_act()
..()
if(cham_proj)
cham_proj.disrupt(src)
..()
/mob/living/silicon/robot/syndicate/saboteur/bullet_act()
if(cham_proj)
+3 -3
View File
@@ -76,17 +76,17 @@
return FALSE //So borgs they don't die trying to fix wiring
/mob/living/silicon/emp_act(severity)
..()
switch(severity)
if(1)
src.take_organ_damage(20)
take_organ_damage(20)
Stun(8)
if(2)
src.take_organ_damage(10)
take_organ_damage(10)
Stun(3)
flash_eyes(affect_silicon = 1)
to_chat(src, "<span class='danger'>*BZZZT*</span>")
to_chat(src, "<span class='warning'>Warning: Electromagnetic pulse detected.</span>")
..()
/mob/living/silicon/proc/damage_mob(var/brute = 0, var/fire = 0, var/tox = 0)
@@ -202,6 +202,20 @@
qdel(src)
return TRUE
// Consumes plant matter other than weeds to evolve
/mob/living/simple_animal/diona/proc/consume(obj/item/reagent_containers/food/snacks/grown/G)
if(nutrition >= nutrition_need) // Prevents griefing by overeating plant items without evolving.
to_chat(src, "<span class='warning'>You're too full to consume this! Perhaps it's time to grow bigger...</span>")
else
if(do_after_once(src, 20, target = G))
visible_message("[src] ravenously consumes [G].", "You ravenously devour [G].")
playsound(loc, 'sound/items/eatfood.ogg', 30, 0, frequency = 1.5)
if(G.reagents.get_reagent_amount("nutriment") + G.reagents.get_reagent_amount("plantmatter") < 1)
adjust_nutrition(2)
else
adjust_nutrition((G.reagents.get_reagent_amount("nutriment") + G.reagents.get_reagent_amount("plantmatter")) * 2)
qdel(G)
/mob/living/simple_animal/diona/proc/steal_blood()
if(stat != CONSCIOUS)
return FALSE
@@ -25,23 +25,23 @@
var/list/human_overlays = list()
/mob/living/simple_animal/hostile/headcrab/Life(seconds, times_fired)
if(!is_zombie && isturf(src.loc) && stat != DEAD)
for(var/mob/living/carbon/human/H in oview(src, 1)) //Only for corpse right next to/on same tile
if(H.stat == DEAD || (!H.check_death_method() && H.health <= HEALTH_THRESHOLD_DEAD))
Zombify(H)
break
var/cycles = 4
if(cycles >= 4)
for(var/mob/living/simple_animal/K in oview(src, 1)) //Only for corpse right next to/on same tile
if(K.stat == DEAD || (!K.check_death_method() && K.health <= HEALTH_THRESHOLD_DEAD))
visible_message("<span class='danger'>[src] consumes [target] whole!</span>")
if(health < maxHealth)
health += 10
qdel(K)
break
cycles = 0
cycles++
..()
if(..())
if(!is_zombie && isturf(src.loc))
for(var/mob/living/carbon/human/H in oview(src, 1)) //Only for corpse right next to/on same tile
if(H.stat == DEAD || (!H.check_death_method() && H.health <= HEALTH_THRESHOLD_DEAD))
Zombify(H)
break
var/cycles = 4
if(cycles >= 4)
for(var/mob/living/simple_animal/K in oview(src, 1)) //Only for corpse right next to/on same tile
if(K.stat == DEAD || (!K.check_death_method() && K.health <= HEALTH_THRESHOLD_DEAD))
visible_message("<span class='danger'>[src] consumes [target] whole!</span>")
if(health < maxHealth)
health += 10
qdel(K)
break
cycles = 0
cycles++
/mob/living/simple_animal/hostile/headcrab/OpenFire(atom/A)
if(check_friendly_fire)
-6
View File
@@ -44,7 +44,6 @@
var/memory = ""
var/next_move = null
var/notransform = null //Carbon
var/other = 0.0
var/hand = null
var/real_name = null
var/flavor_text = ""
@@ -63,12 +62,10 @@
var/name_archive //For admin things like possession
var/timeofdeath = 0.0//Living
var/cpr_time = 1.0//Carbon
var/bodytemperature = 310.055 //98.7 F
var/flying = 0
var/charges = 0.0
var/nutrition = NUTRITION_LEVEL_FED + 50 //Carbon
var/satiety = 0 //Carbon
var/hunger_drain = HUNGER_FACTOR // how quickly the mob gets hungry; largely utilized by species.
@@ -91,8 +88,6 @@
var/obj/item/storage/s_active = null//Carbon
var/obj/item/clothing/mask/wear_mask = null//Carbon
var/seer = 0 //for cult//Carbon, probably Human
var/datum/hud/hud_used = null
hud_possible = list(SPECIALROLE_HUD)
@@ -168,7 +163,6 @@
var/remote_view = 0 // Set to 1 to prevent view resets on Life
var/obj/control_object //Used by admins to possess objects. All mobs should have this var
var/datum/visibility_interface/visibility_interface = null // used by the visibility system to provide an interface for the visibility networks
//Whether or not mobs can understand other mobtypes. These stay in /mob so that ghosts can hear everything.
var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE