mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-28 15:39:57 +01:00
Merge branch 'master' into fourth_week_preparation_and_fixes
# Conflicts: # code/game/jobs/faction/zavodskoi.dm
This commit is contained in:
@@ -348,17 +348,10 @@ var/list/holder_mob_icon_cache = list()
|
||||
sync(contained)
|
||||
|
||||
/obj/item/holder/proc/sync(var/mob/living/M)
|
||||
dir = SOUTH
|
||||
cut_overlays()
|
||||
icon = M.icon
|
||||
icon_state = M.icon_state
|
||||
item_state = M.item_state
|
||||
color = M.color
|
||||
name = M.name
|
||||
desc = M.desc
|
||||
overlays |= M.overlays
|
||||
|
||||
update_held_icon()
|
||||
overlays = M.overlays
|
||||
dir = M.dir
|
||||
reagents = M.reagents
|
||||
|
||||
//#TODO-MERGE
|
||||
//Port the reduced-duplication holder method from baystation upstream:
|
||||
|
||||
@@ -223,9 +223,9 @@
|
||||
log_say("[key_name(speaker)] : ([name]) [message]",ckey=key_name(speaker))
|
||||
|
||||
if(!speaker_mask)
|
||||
speaker_mask = speaker.name
|
||||
speaker_mask = speaker.real_name
|
||||
|
||||
var/msg = "<i><span class='game say'>[name], <span class='name'>[speaker_mask]</span>[format_message(message, get_spoken_verb(message))]</span></i>"
|
||||
var/msg = "<i><span class='game say'>[name], <span class='name'>[speaker_mask]</span>[format_message(message, get_spoken_verb(message), speaker_mask)]</span></i>"
|
||||
|
||||
if(isvaurca(speaker))
|
||||
speaker.custom_emote(VISIBLE_MESSAGE, "[pick("twitches their antennae", "twitches their antennae rhythmically")].")
|
||||
@@ -240,6 +240,22 @@
|
||||
if(istype(player,/mob/abstract/observer) || ((src in player.languages && !within_jamming_range(player)) || check_special_condition(player)))
|
||||
to_chat(player, msg)
|
||||
|
||||
/datum/language/bug/format_message(message, verb, speaker_mask)
|
||||
var/message_color = colour
|
||||
var/list/speaker_surname = splittext(speaker_mask, " ")
|
||||
switch(speaker_surname[2])
|
||||
if("Zo'ra")
|
||||
message_color = "vaurca_zora"
|
||||
if("C'thur")
|
||||
message_color = "vaurca_cthur"
|
||||
if("K'lax")
|
||||
message_color = "vaurca_klax"
|
||||
if("Lii'dra")
|
||||
message_color = "vaurca_liidra"
|
||||
if(copytext(message, 1, 2) == "!")
|
||||
return " projects <span class='message'><span class='[message_color]'>[copytext(message, 2)]</span></span>"
|
||||
return "[verb], <span class='message'><span class='[message_color]'>\"[capitalize(message)]\"</span></span>"
|
||||
|
||||
/datum/language/bug/check_special_condition(var/mob/other)
|
||||
if(istype(other, /mob/living/silicon))
|
||||
return 1
|
||||
|
||||
@@ -122,7 +122,10 @@
|
||||
if ("assisted")
|
||||
I.mechassist()
|
||||
if ("mechanical")
|
||||
I.robotize()
|
||||
if (rlimb_data[name])
|
||||
I.robotize(rlimb_data[name])
|
||||
else
|
||||
I.robotize()
|
||||
if ("removed")
|
||||
qdel(I)
|
||||
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
|
||||
var/pass_flags = 0
|
||||
|
||||
var/obj/effect/decal/cleanable/blood/tracks/move_trail = /obj/effect/decal/cleanable/blood/tracks/footprints // What marks are left when walking
|
||||
var/obj/effect/decal/cleanable/blood/tracks/move_trail = /obj/effect/decal/cleanable/blood/tracks/footprints/barefoot // What marks are left when walking
|
||||
|
||||
var/default_h_style = "Bald"
|
||||
var/default_f_style = "Shaved"
|
||||
@@ -637,6 +637,35 @@
|
||||
/datum/species/proc/can_breathe_water()
|
||||
return FALSE
|
||||
|
||||
/datum/species/proc/handle_trail(var/mob/living/carbon/human/H, var/turf/T)
|
||||
var/list/trail_info = list()
|
||||
if(H.shoes)
|
||||
var/obj/item/clothing/shoes/S = H.shoes
|
||||
if(istype(S))
|
||||
S.handle_movement(T, H.m_intent == M_RUN ? TRUE : FALSE)
|
||||
if(S.track_footprint)
|
||||
if(S.blood_DNA)
|
||||
trail_info["footprint_DNA"] = S.blood_DNA
|
||||
trail_info["footprint_color"] = S.blood_color
|
||||
S.track_footprint--
|
||||
else
|
||||
if(H.track_footprint)
|
||||
if(H.feet_blood_DNA)
|
||||
trail_info["footprint_DNA"] = H.feet_blood_DNA
|
||||
trail_info["footprint_color"] = H.footprint_color
|
||||
H.track_footprint--
|
||||
|
||||
return trail_info
|
||||
|
||||
/datum/species/proc/deploy_trail(var/mob/living/carbon/human/H, var/turf/T)
|
||||
var/list/trail_info = handle_trail(H, T)
|
||||
if(length(trail_info))
|
||||
var/track_path = trail_info["footprint_type"]
|
||||
T.add_tracks(track_path ? track_path : H.species.get_move_trail(H), trail_info["footprint_DNA"], H.dir, 0, trail_info["footprint_color"]) // Coming
|
||||
var/turf/simulated/from = get_step(H, reverse_direction(H.dir))
|
||||
if(istype(from))
|
||||
from.add_tracks(track_path ? track_path : H.species.get_move_trail(H), trail_info["footprint_DNA"], 0, H.dir, trail_info["footprint_color"]) // Going
|
||||
|
||||
/datum/species/proc/get_move_trail(var/mob/living/carbon/human/H)
|
||||
if(H.lying)
|
||||
return /obj/effect/decal/cleanable/blood/tracks/body
|
||||
|
||||
@@ -94,6 +94,18 @@
|
||||
zombie_type = SPECIES_ZOMBIE_SKRELL
|
||||
bodyfall_sound = /decl/sound_category/bodyfall_skrell_sound
|
||||
|
||||
alterable_internal_organs = list(BP_HEART, BP_EYES, BP_LUNGS, BP_LIVER, BP_KIDNEYS, BP_STOMACH)
|
||||
|
||||
/datum/species/skrell/handle_trail(var/mob/living/carbon/human/H, var/turf/T)
|
||||
var/list/trail_info = ..()
|
||||
if(!length(trail_info) && !H.shoes)
|
||||
var/list/blood_data = REAGENT_DATA(H.vessel, /decl/reagent/blood)
|
||||
trail_info["footprint_DNA"] = list(blood_data["blood_DNA"] = blood_data["blood_type"])
|
||||
trail_info["footprint_color"] = rgb(H.r_skin, H.g_skin, H.b_skin, 25)
|
||||
trail_info["footprint_type"] = /obj/effect/decal/cleanable/blood/tracks/footprints/barefoot/del_dry // makes skrellprints del on dry
|
||||
|
||||
return trail_info
|
||||
|
||||
/datum/species/skrell/handle_post_spawn(mob/living/carbon/human/H)
|
||||
..()
|
||||
H.set_psi_rank(PSI_COERCION, PSI_RANK_OPERANT)
|
||||
|
||||
@@ -109,6 +109,8 @@
|
||||
BP_EYES = /obj/item/organ/internal/eyes/unathi
|
||||
)
|
||||
|
||||
alterable_internal_organs = list(BP_HEART, BP_EYES, BP_LUNGS, BP_LIVER, BP_KIDNEYS, BP_STOMACH)
|
||||
|
||||
pain_emotes_with_pain_level = list(
|
||||
list(/decl/emote/audible/wheeze, /decl/emote/audible/roar, /decl/emote/audible/bellow) = 80,
|
||||
list(/decl/emote/audible/grunt, /decl/emote/audible/groan, /decl/emote/audible/wheeze, /decl/emote/audible/hiss) = 50,
|
||||
|
||||
@@ -55,7 +55,8 @@
|
||||
var/id_card_type = /obj/item/card/id/synthetic
|
||||
|
||||
var/list/possible_accents = list(ACCENT_TTS, ACCENT_CETI, ACCENT_GIBSON, ACCENT_SOL, ACCENT_LUNA, ACCENT_MARTIAN, ACCENT_VENUS, ACCENT_VENUSJIN, ACCENT_JUPITER, ACCENT_COC, ACCENT_ELYRA, ACCENT_ERIDANI,
|
||||
ACCENT_SILVERSUN_EXPATRIATE, ACCENT_KONYAN, ACCENT_EARTH)
|
||||
ACCENT_SILVERSUN_EXPATRIATE, ACCENT_KONYAN, ACCENT_EARTH, ACCENT_PERSEPOLIS, ACCENT_MEDINA, ACCENT_AEMAQ, ACCENT_NEWSUEZ, ACCENT_DAMASCUS, ACCENT_ERIDANI, ACCENT_PHONG,
|
||||
ACCENT_VISEGRAD, ACCENT_HIMEO, ACCENT_PLUTO)
|
||||
|
||||
// Misc
|
||||
uv_intensity = 175 //Lights cast by robots have reduced effect on diona
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
return
|
||||
attacker.visible_message("<span class='danger'>[attacker] thrusts [attacker.get_pronoun("his")] head into [target]'s skull!</span>")
|
||||
|
||||
var/damage = 20
|
||||
var/damage = 15
|
||||
if(attacker.mob_size >= 10)
|
||||
damage += min(attacker.mob_size, 20)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user