Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions code/__HELPERS/stonekeep.dm
Original file line number Diff line number Diff line change
Expand Up @@ -72,21 +72,21 @@
return key
return null

/proc/is_human_part_visible(mob/living/carbon/human/human, flags_inv)
if(!istype(human))
/proc/is_human_part_visible(mob/living/carbon/C, flags_inv) // tee-hee, I'm not a human at all!
if(!istype(C))
return TRUE
if(flags_inv == NONE)
return TRUE
var/list/worn_items = get_all_worn_items(human)
var/list/worn_items = get_all_worn_items(C)
for(var/obj/item/item as anything in worn_items)
if(item.flags_inv & flags_inv)
return FALSE
return TRUE

/proc/get_all_worn_items(mob/living/carbon/human/human)
/proc/get_all_worn_items(mob/living/carbon/C)
var/list/worn_items = list()
for(var/slot in DEFAULT_SLOT_PRIORITY)
var/obj/item/item = human.get_item_by_slot(slot)
var/obj/item/item = C.get_item_by_slot(slot)
if(!item)
continue
worn_items += item
Expand Down
28 changes: 7 additions & 21 deletions code/datums/migrants/waves/grenzelhoft_wave.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
allowed_sexes = list(MALE)
allowed_races = RACES_PLAYER_GRENZ
is_recognized = TRUE
honorary = "Count"
honorary_f = "Countess"

jobstats = list(
STATKEY_INT = 1,
Expand Down Expand Up @@ -42,12 +44,6 @@

/datum/job/migrant/grenzelhoft_count/after_spawn(mob/living/carbon/human/spawned, client/player_client)
. = ..()
var/prev_real_name = spawned.real_name
var/prev_name = spawned.name
var/honorary = "Count"
spawned.real_name = "[honorary] [prev_real_name]"
spawned.name = "[honorary] [prev_name]"

if(!spawned.dna?.species)
return
var/datum/species/species = spawned.dna.species
Expand Down Expand Up @@ -83,6 +79,9 @@
allowed_sexes = list(FEMALE)
allowed_races = RACES_PLAYER_GRENZ
is_recognized = TRUE
honorary = "Count"
honorary_f = "Countess"


jobstats = list(
STATKEY_INT = 1,
Expand Down Expand Up @@ -114,12 +113,6 @@

/datum/job/migrant/grenzelhoft_countess/after_spawn(mob/living/carbon/human/spawned, client/player_client)
. = ..()
var/prev_real_name = spawned.real_name
var/prev_name = spawned.name
var/honorary = "Countess"
spawned.real_name = "[honorary] [prev_real_name]"
spawned.name = "[honorary] [prev_name]"

if(!spawned.dna?.species)
return
var/datum/species/species = spawned.dna.species
Expand Down Expand Up @@ -152,7 +145,6 @@
title = "Grenzelhoft Knight"
tutorial = "Your liege, the count and the countess have both took the duty given by the council to voyage to Vanderlin, ensure their survival and obey their orders."
outfit = /datum/outfit/grenzelhoft_knight
allowed_sexes = list(MALE)
allowed_races = RACES_PLAYER_GRENZ
is_recognized = TRUE
exp_types_granted = list(EXP_TYPE_COMBAT)
Expand All @@ -162,6 +154,8 @@
STATKEY_CON = 2,
STATKEY_SPD = -1,
)
honorary = "Ritter"
honorary_f = "Ritterin"

skills = list(
/datum/skill/combat/wrestling = 3,
Expand All @@ -178,14 +172,6 @@

/datum/job/migrant/grenzelhoft_knight/after_spawn(mob/living/carbon/human/spawned, client/player_client)
. = ..()
var/prev_real_name = spawned.real_name
var/prev_name = spawned.name
var/honorary = "Ritter"
if(spawned.pronouns == SHE_HER)
honorary = "Ritterin"
spawned.real_name = "[honorary] [prev_real_name]"
spawned.name = "[honorary] [prev_name]"

if(!spawned.dna?.species)
return
var/datum/species/species = spawned.dna.species
Expand Down
19 changes: 11 additions & 8 deletions code/datums/migrants/waves/heartfelt_wave.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
allowed_races = RACES_PLAYER_NONDISCRIMINATED
blacklisted_species = list(SPEC_ID_HALFLING)
is_recognized = TRUE
honorary = "Lord"
honorary_f = "Lady"
Comment on lines +14 to +15
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
honorary = "Lord"
honorary_f = "Lady"
honorary = "Baron"
honorary_f = "Baroness"



jobstats = list(
STATKEY_STR = 1,
Expand Down Expand Up @@ -77,6 +80,9 @@
allowed_races = RACES_PLAYER_NONDISCRIMINATED
blacklisted_species = list(SPEC_ID_HALFLING)
is_recognized = TRUE
honorary = "Lord"
honorary_f = "Lady"
Comment on lines +83 to +84
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
honorary = "Lord"
honorary_f = "Lady"
honorary = "Baron"
honorary_f = "Baroness"



jobstats = list(
STATKEY_INT = 3,
Expand Down Expand Up @@ -145,6 +151,9 @@
allowed_races = RACES_PLAYER_NONDISCRIMINATED
blacklisted_species = list(SPEC_ID_HALFLING)
is_recognized = TRUE
honorary = "Lord"
honorary_f = "Lady"


jobstats = list(
STATKEY_STR = 2,
Expand Down Expand Up @@ -209,6 +218,8 @@
STATKEY_SPD = -1,
STATKEY_INT = 2,
)
honorary = "Sir"
honorary_f = "Dame"

skills = list(
/datum/skill/craft/engineering = 3,
Expand Down Expand Up @@ -250,14 +261,6 @@
index = spawned.real_name
S.name = "knight tabard ([index])"

var/prev_real_name = spawned.real_name
var/prev_name = spawned.name
var/honorary = "Sir"
if(spawned.pronouns == SHE_HER)
honorary = "Dame"
spawned.real_name = "[honorary] [prev_real_name]"
spawned.name = "[honorary] [prev_name]"

var/obj/item/clothing/cloak/boiler/boiler = locate() in spawned.get_all_gear()
if(boiler)
SEND_SIGNAL(boiler, COMSIG_ATOM_STEAM_INCREASE, rand(500, 900))
Expand Down
7 changes: 2 additions & 5 deletions code/datums/migrants/waves/itinerant_knight_wave.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
STATKEY_END = 3,
STATKEY_SPD = -2,
)
honorary = "Sir"
honorary_f = "Dame"

skills = list(
/datum/skill/combat/polearms = 4,
Expand Down Expand Up @@ -47,11 +49,6 @@

/datum/job/migrant/itinerant_knight/after_spawn(mob/living/carbon/human/spawned, client/player_client)
. = ..()
var/prev_real_name = spawned.real_name
var/prev_name = spawned.name
var/honorary = "Itinerant Knight"
spawned.real_name = "[honorary] [prev_real_name]"
spawned.name = "[honorary] [prev_name]"

/datum/outfit/itinerant_knight
name = "Itinerant Knight (Migrant Wave)"
Expand Down
9 changes: 2 additions & 7 deletions code/datums/migrants/waves/nomad_migration.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
STATKEY_END = 2,
STATKEY_PER = 2,
)
honorary_suffix = "Khan"
honorary_suffix_f = "Khatun"

skills = list(
/datum/skill/combat/swords = 4,
Expand Down Expand Up @@ -47,13 +49,6 @@

/datum/job/migrant/khan/after_spawn(mob/living/carbon/human/spawned, client/player_client)
. = ..()
var/prev_real_name = spawned.real_name
var/prev_name = spawned.name
var/honorary = "Khan"
if(spawned.pronouns == SHE_HER)
honorary = "Khatun"
spawned.real_name = "[prev_real_name] [honorary]"
spawned.name = "[prev_name] [honorary]"
new /mob/living/simple_animal/hostile/retaliate/saigabuck/tame/saddled(get_turf(spawned))

/datum/outfit/khan
Expand Down
13 changes: 5 additions & 8 deletions code/datums/migrants/waves/rockhill_wave.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
allowed_sexes = list(MALE, FEMALE)
allowed_races = RACES_PLAYER_NONDISCRIMINATED
is_recognized = TRUE
honorary = "Mayor"

jobstats = list(
STATKEY_STR = 1,
Expand Down Expand Up @@ -97,6 +98,9 @@
STATKEY_END = 2,
STATKEY_SPD = -1,
)
honorary = "Sir"
honorary_f = "Dame"


skills = list(
/datum/skill/combat/polearms = 4,
Expand Down Expand Up @@ -137,14 +141,6 @@
index = spawned.real_name
S.name = "knight tabard ([index])"

var/prev_real_name = spawned.real_name
var/prev_name = spawned.name
var/honorary = "Sir"
if(spawned.pronouns == SHE_HER)
honorary = "Dame"
spawned.real_name = "[honorary] [prev_real_name]"
spawned.name = "[honorary] [prev_name]"

/datum/outfit/rockhill/knight
name = "Knight of Rockhill (Migrant Wave)"
head = /obj/item/clothing/head/helmet
Expand Down Expand Up @@ -184,6 +180,7 @@
STATKEY_INT = 2,
STATKEY_END = 2,
)
honorary = "Serjeant"

skills = list(
/datum/skill/combat/axesmaces = 3,
Expand Down
10 changes: 2 additions & 8 deletions code/datums/migrants/waves/sweetshare.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
STATKEY_STR = -2,
STATKEY_CON = -1,
)
honorary_suffix = "the Candyman"
honorary_suffix_f = "the Candywoman"

skills = list(
/datum/skill/combat/knives = 1,
Expand All @@ -38,14 +40,6 @@
/datum/job/migrant/sweetshare/after_spawn(mob/living/carbon/human/spawned, client/player_client)
. = ..()

var/prev_real_name = spawned.real_name
var/prev_name = spawned.name
var/honorary = "Candyman"
if(spawned.pronouns == SHE_HER)
honorary = "Candywoman"
spawned.real_name = "[honorary] [prev_real_name]"
spawned.name = "[honorary] [prev_name]"

/datum/outfit/sweetshare
name = "Candyman (Migrant Wave)"
shirt = /obj/item/clothing/shirt/undershirt/colored/black
Expand Down
16 changes: 6 additions & 10 deletions code/datums/migrants/waves/zalad_wave.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
allowed_sexes = list(MALE)
allowed_races = RACES_PLAYER_ZALADIN
is_recognized = TRUE
honorary = "Emir"
honorary_f = "Amirah"

jobstats = list(
STATKEY_INT = 1,
Expand Down Expand Up @@ -47,10 +49,6 @@

/datum/job/migrant/zalad_migration/emir/after_spawn(mob/living/carbon/human/spawned, client/player_client)
. = ..()
var/prev_real_name = spawned.real_name
var/prev_name = spawned.name
spawned.real_name = "Emir [prev_real_name]"
spawned.name = "Emir [prev_name]"

if(spawned.dna?.species)
if(spawned.dna.species.id == SPEC_ID_HUMEN)
Expand Down Expand Up @@ -102,6 +100,10 @@
STATKEY_END = 2,
)

honorary = "Emir"
honorary_f = "Amirah"


skills = list(
/datum/skill/misc/swimming = 2,
/datum/skill/misc/climbing = 2,
Expand Down Expand Up @@ -133,12 +135,6 @@

/datum/job/migrant/zalad_migration/amirah/after_spawn(mob/living/carbon/human/spawned, client/player_client)
. = ..()
var/prev_real_name = spawned.real_name
var/prev_name = spawned.name

spawned.real_name = "Amirah [prev_real_name]"
spawned.name = "Amirah [prev_name]"

if(spawned.dna?.species)
if(spawned.dna.species.id == SPEC_ID_HUMEN)
spawned.dna.species.native_language = "Zalad"
Expand Down
3 changes: 2 additions & 1 deletion code/game/objects/structures/fake_machines/titan.dm
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ GLOBAL_LIST_EMPTY(roundstart_court_agents)
possible_positions += GLOB.apprentices_positions
possible_positions += GLOB.youngfolk_positions
possible_positions += GLOB.allmig_positions
possible_positions -= list("Monarch", "Innkeepers Son")
possible_positions -= list("Monarch", "Innkeepers Son", "Wretch", "Bandit", )
var/new_pos = input(user, "Select their new position", src, null) as anything in possible_positions
if(isnull(victim))
return
Expand All @@ -442,6 +442,7 @@ GLOBAL_LIST_EMPTY(roundstart_court_agents)

if(victim.mind?.assigned_role)
new_pos = victim.mind.assigned_role.get_informed_title(victim)
victim.mind.assigned_role.assign_honorary_titles(victim)

if(!SScommunications.can_announce(user))
return
Expand Down
5 changes: 3 additions & 2 deletions code/game/say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@
return TRUE

/atom/movable/proc/send_speech(message, range = 7, obj/source = src, bubble_type, list/spans, datum/language/message_language = null, list/message_mods = list(), original_message)
var/rendered = compose_message(src, message_language, message, , spans, message_mods)
var/rendered = compose_message(src, message_language, message, null, spans, message_mods, TRUE)
for(var/atom/movable/hearing_movable as anything in get_hearers_in_view(range, source))
if(!hearing_movable) // theoretically this should use as anything because it shouldnt be able to get nulls but there are reports that it does.
stack_trace("somehow there's a null returned from get_hearers_in_view() in send_speech!")
continue
hearing_movable.Hear(rendered, src, message_language, message, , spans, message_mods, original_message)

/atom/movable/proc/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, list/message_mods = list(), face_name = FALSE)
//This proc uses text() because it is faster than appending strings. Thanks BYOND.
//Basic span
Expand All @@ -42,7 +43,7 @@
if(ishuman(speaker))
var/mob/living/carbon/human/H = speaker
if(face_name)
namepart = "[H.get_face_name()]" //So "fake" speaking like in hallucinations does not give the speaker away if disguised
namepart = "[H.get_visible_name()]" //So "fake" speaking like in hallucinations does not give the speaker away if disguised
if(H.voice_color)
colorpart = "<span style='color:#[H.voice_color];'>"
if(speaker.voicecolor_override)
Expand Down
2 changes: 2 additions & 0 deletions code/modules/admin/admin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1119,8 +1119,10 @@
priest_job?.remove_spells(HL)
GLOB.excommunicated_players |= HL.real_name
HL.cleric?.excommunicate()
HL.honorary = null

priest_job?.add_spells(M)
priest_job?.assign_honorary_titles(M)
M.mind.set_assigned_role(/datum/job/priest)
M.job = "Priest"
M.set_patron(/datum/patron/divine/astrata)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
var/old_gender
var/old_voice
var/transformed = FALSE
var/old_honorary
var/old_honorary_s

var/transformation_stability = 100 // Decreases over time

Expand All @@ -47,6 +49,8 @@
old_facial_hair_color = transformer.get_facial_hair_color()
old_facial_hair = facial?.accessory_type
old_gender = transformer.gender
old_honorary = transformer.honorary
old_honorary_s = transformer.honorary_suffix

/datum/action/cooldown/spell/enhanced_mimicry/is_valid_target(atom/cast_on)
. = ..()
Expand Down Expand Up @@ -79,6 +83,9 @@
transformer.real_name = target.dna.real_name
transformer.name = target.get_visible_name()
transformer.gender = target.gender
transformer.honorary = target.honorary
transformer.honorary_suffix = target.honorary_suffix


// Copy physical features with high accuracy
var/datum/bodypart_feature/hair/target_feature = target.get_bodypart_feature_of_slot(BODYPART_FEATURE_HAIR)
Expand Down Expand Up @@ -135,6 +142,8 @@
transformer.real_name = old_dna.real_name
transformer.name = transformer.get_visible_name()
transformer.gender = old_gender
transformer.honorary = old_honorary
transformer.honorary_suffix = old_honorary_s

var/obj/item/organ/eyes/eyes = transformer.getorganslot(ORGAN_SLOT_EYES)
eyes.eye_color = old_eye_color
Expand Down
Loading
Loading