Bulwark Fixes (#12616)

This commit is contained in:
Geeves
2021-10-13 21:40:26 +02:00
committed by GitHub
parent 756be9a3c8
commit 6a41149f3a
14 changed files with 50 additions and 14 deletions
@@ -1873,7 +1873,7 @@
// For a blood pressure, e.g. 120/80
var/systolic_alert // this is the top number '120' -- highest pressure when heart beats
var/diastolic_alert // this is the bottom number '80' -- lowest pressure when heart relaxes
var/blood_pressure_systolic = bp_list[1]
if (blood_pressure_systolic)
if (blood_pressure_systolic >= (species.bp_base_systolic - BP_SYS_IDEAL_MOD) && blood_pressure_systolic <= (species.bp_base_systolic + HIGH_BP_MOD))
@@ -1981,6 +1981,9 @@
src.adjustToxLoss(-damage)
to_chat(src, SPAN_NOTICE("You can feel flow of energy which makes you regenerate."))
if(species.radiation_mod <= 0)
return
apply_damage((rand(15,30)), IRRADIATE, damage_flags = DAM_DISPERSED)
if(prob(4))
apply_damage((rand(20,60)), IRRADIATE, damage_flags = DAM_DISPERSED)
@@ -320,3 +320,15 @@
return TRUE
else
return FALSE
/mob/living/carbon/human/get_talk_bubble()
if(!species || !species.talk_bubble_icon)
return ..()
return species.talk_bubble_icon
/mob/living/carbon/human/get_floating_chat_x_offset()
if(!species)
return ..()
if(!isnull(species.floating_chat_x_offset))
return species.floating_chat_x_offset
return species.icon_x_offset
@@ -24,6 +24,8 @@
var/preview_icon = 'icons/mob/human_races/human/human_preview.dmi'
var/bandages_icon
var/talk_bubble_icon
// Damage overlay and masks.
var/damage_overlays = 'icons/mob/human_races/masks/dam_human.dmi'
var/damage_mask = 'icons/mob/human_races/masks/dam_mask_human.dmi'
@@ -33,6 +35,7 @@
var/prone_icon // If set, draws this from icobase when mob is prone.
var/icon_x_offset = 0
var/icon_y_offset = 0
var/floating_chat_x_offset = null
var/eyes = "eyes_s" // Icon for eyes.
var/eyes_icons = 'icons/mob/human_face/eyes.dmi' // DMI file for eyes, mostly for none 32x32 species.
var/has_floating_eyes // Eyes will overlay over darkness (glow)
@@ -779,4 +782,4 @@
if(C?.can_support)
stance_damage -=2
return stance_damage
return stance_damage
@@ -181,10 +181,14 @@
icon_template = 'icons/mob/human_races/vaurca/r_vaurcae.dmi'
icobase = 'icons/mob/human_races/vaurca/r_vaurcae.dmi'
deform = 'icons/mob/human_races/vaurca/r_vaurcae.dmi'
talk_bubble_icon = 'icons/mob/talk_bulwark.dmi'
bald = TRUE
icon_x_offset = -9
healths_x = 22
healths_overlay_x = 9
floating_chat_x_offset = 6
damage_overlays = 'icons/mob/human_races/masks/dam_mask_bulwark.dmi'
damage_mask = 'icons/mob/human_races/masks/dam_mask_bulwark.dmi'
@@ -238,4 +242,4 @@ Bulwarks are much larger and have significantly thicker carapaces than most Vaur
slot_belt_str = list("[NORTH]" = list("x" = 9, "y" = 2), "[EAST]" = list("x" = 10, "y" = 1), "[SOUTH]" = list("x" = 9, "y" = 2), "[WEST]" = list("x" = 6, "y" = 1)),
slot_wear_id_str = list("[NORTH]" = list("x" = 0, "y" = 0), "[EAST]" = list("x" = 12, "y" = 0), "[SOUTH]" = list("x" = 9, "y" = 0), "[WEST]" = list("x" = 0, "y" = 0)),
slot_shoes_str = list("[NORTH]" = list("x" = 9, "y" = 0), "[EAST]" = list("x" = 8, "y" = 0), "[SOUTH]" = list("x" = 9, "y" = 0), "[WEST]" = list("x" = 8, "y" = 0))
)
)
@@ -150,7 +150,7 @@
listening_clients += M.client
var/speech_bubble_test = say_test(message)
var/image/speech_bubble = image('icons/mob/talk.dmi',src,"h[speech_bubble_test]")
var/image/speech_bubble = image(get_talk_bubble(),src,"h[speech_bubble_test]")
INVOKE_ASYNC(GLOBAL_PROC, /proc/flick_overlay, speech_bubble, listening_clients, 30)
if (watching.len)
+2 -2
View File
@@ -306,7 +306,7 @@ proc/get_radio_key_from_channel(var/channel)
hear_clients += M.client
var/speech_bubble_test = say_test(message)
var/image/speech_bubble = image('icons/mob/talk.dmi',src,"h[speech_bubble_test]")
var/image/speech_bubble = image(get_talk_bubble(),src,"h[speech_bubble_test]")
speech_bubble.appearance_flags = RESET_COLOR|RESET_ALPHA
INVOKE_ASYNC(GLOBAL_PROC, /proc/animate_speechbubble, speech_bubble, hear_clients, 30)
do_animate_chat(message, speaking, italics, hear_clients, 30)
@@ -351,4 +351,4 @@ proc/get_radio_key_from_channel(var/channel)
var/mob/parent
/mob/proc/GetVoice()
return name
return name
+11 -6
View File
@@ -90,16 +90,18 @@
if(istype(A, /mob/living/carbon/human))
switch(A:get_species())
if(SPECIES_VAURCA_WORKER)
return 1
return TRUE
if(SPECIES_VAURCA_WARRIOR)
return 1
return TRUE
if(SPECIES_VAURCA_BREEDER)
return 1
return TRUE
if(SPECIES_VAURCA_BULWARK)
return TRUE
if(SPECIES_VAURCA_WARFORM)
return 1
return TRUE
if(SPECIES_MONKEY_VAURCA)
return 1
return 0
return TRUE
return FALSE
/proc/isipc(A)
. = 0
@@ -1277,3 +1279,6 @@ proc/is_blind(A)
//We also need to update name of internal camera.
if(camera)
camera.c_tag = real_name
/mob/proc/get_talk_bubble()
return 'icons/mob/talk.dmi'
+2 -2
View File
@@ -10,7 +10,7 @@ mob/var/obj/effect/decal/typing_indicator
/mob/proc/set_typing_indicator(var/state)
if(!typing_indicator)
typing_indicator = new
typing_indicator.icon = 'icons/mob/talk.dmi'
typing_indicator.icon = get_talk_bubble()
typing_indicator.icon_state = "typing"
if(client && !stat)
@@ -73,4 +73,4 @@ mob/var/obj/effect/decal/typing_indicator
if(prefs.toggles & SHOW_TYPING)
if(istype(mob)) mob.set_typing_indicator(0)
feedback_add_details("admin_verb","TID") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
feedback_add_details("admin_verb","TID") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!