Merge branch 'master' into upstream-merge-13519

This commit is contained in:
Nadyr
2022-08-17 18:02:22 -04:00
committed by GitHub
44 changed files with 172 additions and 285 deletions

View File

@@ -86,18 +86,15 @@
#define LANGUAGE_ROOTLOCAL "Local Rootspeak"
#define LANGUAGE_ROOTGLOBAL "Global Rootspeak"
#define LANGUAGE_CULT "Cult"
#define LANGUAGE_OCCULT "Occult"
#define LANGUAGE_CHANGELING "Changeling"
#define LANGUAGE_VOX "Vox-Pidgin"
#define LANGUAGE_TERMINUS "Terminus"
#define LANGUAGE_SKRELLIANFAR "High Skrellian"
#define LANGUAGE_MINBUS "Minbus"
#define LANGUAGE_EVENT1 "Occursus"
#define LANGUAGE_AKHANI "Akhani"
#define LANGUAGE_ALAI "Alai"
#define LANGUAGE_ZADDAT "Vedahq"
#define LANGUAGE_PROMETHEAN "Promethean Biolinguistics"
#define LANGUAGE_BLOB "Chemosense Transmission"
#define LANGUAGE_GIBBERISH "Babel"
// Language flags.

View File

@@ -1,7 +1,6 @@
#define SPECIES_WHITELIST_SELECTABLE 0x20 // Can select and customize, but not join as
#define LANGUAGE_DRUDAKAR "D'Rudak'Ar"
#define LANGUAGE_SLAVIC "Pan-Slavic"
#define LANGUAGE_BIRDSONG "Birdsong"
#define LANGUAGE_SAGARU "Sagaru"
#define LANGUAGE_CANILUNZT "Canilunzt"
@@ -10,13 +9,9 @@
#define LANGUAGE_ENOCHIAN "Enochian"
#define LANGUAGE_VESPINAE "Vespinae"
#define LANGUAGE_SPACER "Spacer"
#define LANGUAGE_CLOWNISH "Coulrian"
#define LANGUAGE_TAVAN "Tavan"
#define LANGUAGE_ECHOSONG "Echo Song"
#define LANGUAGE_CHIMPANZEE "Chimpanzee"
#define LANGUAGE_NEAERA "Neaera"
#define LANGUAGE_STOK "Stok"
#define LANGUAGE_FARWA "Farwa"
#define LANGUAGE_ANIMAL "Animal"
#define LANGUAGE_SHADEKIN "Shadekin Empathy"

View File

@@ -131,12 +131,13 @@ SUBSYSTEM_DEF(job)
return department_datums[primary_department]
/datum/controller/subsystem/job/proc/get_ping_role(var/role)
var/datum/job/J = get_job(role)
if(J.requestable)
return get_primary_department_of_job(J)
// Someday it might be good to port code/game/jobs/job_controller.dm to here and clean it up.
/datum/controller/subsystem/job/proc/job_debug_message(message)
if(debug_messages)
log_debug("JOB DEBUG: [message]")

View File

@@ -27,6 +27,7 @@
job_description = "An Intern does whatever is requested of them, often doing so in process of learning \
another job. Though they are part of the crew, they have no real authority."
timeoff_factor = 0 // Interns, noh
requestable = FALSE
/datum/alt_title/intern_eng
title = "Apprentice Engineer"
@@ -96,6 +97,7 @@
supervisors = "nobody! You don't work here"
job_description = "A Visitor is just there to visit the place. They have no real authority or responsibility."
timeoff_factor = 0
requestable = FALSE
alt_titles = list("Guest" = /datum/alt_title/guest, "Traveler" = /datum/alt_title/traveler)
/datum/job/assistant/New()

View File

@@ -23,6 +23,9 @@
/datum/alt_title/maintenance_manager
title = "Maintenance Manager"
/datum/job/chief_engineer/get_request_reasons()
return list("Engine setup", "Construction project", "Repairs necessary")
/datum/job/engineer
pto_type = PTO_ENGINEERING
@@ -38,6 +41,9 @@
title = "Engineering Contractor"
title_blurb = "An Engineering Contractor fulfills similar duties to other engineers, but isn't directly employed by NT proper."
/datum/job/engineer/get_request_reasons()
return list("Engine setup", "Construction project", "Repairs necessary")
@@ -55,3 +61,6 @@
/datum/alt_title/disposals_tech
title = "Disposals Technician"
title_blurb = "A Disposals Technician is an Atmospheric Technician still and can fulfill all the same duties, although specializes more in disposals delivery system's operations and configurations."
/datum/job/atmos/get_request_reasons()
return list("Construction project", "Repairs necessary")

View File

@@ -20,6 +20,8 @@
//Do we forbid ourselves from earning PTO?
var/playtime_only = FALSE
var/requestable = TRUE
// Check client-specific availability rules.
/datum/job/proc/player_has_enough_pto(client/C)
return timeoff_factor >= 0 || (C && LAZYACCESS(C.department_hours, pto_type) > 0)
@@ -58,4 +60,7 @@
if(isnum(C.play_hours[PTO_EXPLORATION]))
remaining_time_needed = max(0, remaining_time_needed - C.play_hours[PTO_EXPLORATION])
return remaining_time_needed
return 0
return 0
/datum/job/proc/get_request_reasons()
return list()

View File

@@ -21,6 +21,9 @@
/datum/alt_title/healthcare_manager
title = "Healthcare Manager"
/datum/job/cmo/get_request_reasons()
return list("Surgery pending", "Viral outbreak")
/datum/job/doctor
spawn_positions = 5
@@ -29,7 +32,6 @@
"Emergency Physician" = /datum/alt_title/emergency_physician, "Nurse" = /datum/alt_title/nurse, "Orderly" = /datum/alt_title/orderly,
"Virologist" = /datum/alt_title/virologist, "Medical Contractor" = /datum/alt_title/medical_contractor)
/datum/alt_title/physician
title = "Physician"
@@ -46,6 +48,9 @@
title = "Medical Contractor"
title_blurb = "A Medical Contractor can be anything from a full-blown doctor to the likes of a nurse or orderly, but isn't directly employed by NT proper."
/datum/job/doctor/get_request_reasons()
return list("Surgery pending", "Viral outbreak")
/datum/job/chemist
pto_type = PTO_MEDICAL

View File

@@ -16,6 +16,9 @@
/datum/alt_title/security_manager
title = "Security Manager"
/datum/job/hos/get_request_reasons()
return list("Wildlife management", "Forensic investigation")
/datum/job/warden
pto_type = PTO_SECURITY
@@ -28,6 +31,9 @@
/datum/alt_title/armory_superintendent
title = "Armory Superintendent"
/datum/job/warden/get_request_reasons()
return list("Wildlife management")
/datum/job/detective
pto_type = PTO_SECURITY
@@ -39,6 +45,9 @@
/datum/alt_title/security_inspector
title = "Security Inspector"
/datum/job/detective/get_request_reasons()
return list("Forensic investigation")
/datum/job/officer
total_positions = 5
@@ -58,3 +67,6 @@
/datum/alt_title/security_contractor
title = "Security Contractor"
/datum/job/officer/get_request_reasons()
return list("Wildlife management")

View File

@@ -113,6 +113,7 @@
job_description = "A Clown is there to entertain the crew and keep high morale using various harmless pranks and ridiculous jokes!"
whitelist_only = 1
latejoin_only = 0
requestable = FALSE
outfit_type = /decl/hierarchy/outfit/job/clown
pto_type = PTO_CIVILIAN
alt_titles = list("Jester" = /datum/alt_title/jester, "Fool" = /datum/alt_title/fool)
@@ -144,6 +145,7 @@
alt_titles = list("Poseur" = /datum/alt_title/poseur)
whitelist_only = 1
latejoin_only = 0
requestable = FALSE
outfit_type = /decl/hierarchy/outfit/job/mime
pto_type = PTO_CIVILIAN

View File

@@ -208,7 +208,6 @@
R.add_language(LANGUAGE_SIIK, 1)
R.add_language(LANGUAGE_AKHANI, 1)
R.add_language(LANGUAGE_SKRELLIAN, 1)
R.add_language(LANGUAGE_SKRELLIANFAR, 0)
R.add_language(LANGUAGE_GUTTER, 1)
R.add_language(LANGUAGE_SCHECHI, 1)
R.add_language(LANGUAGE_ROOTLOCAL, 1)

View File

@@ -6,7 +6,6 @@
R.add_language(LANGUAGE_ECUREUILIAN, 1)
R.add_language(LANGUAGE_DAEMON, 1)
R.add_language(LANGUAGE_ENOCHIAN, 1)
R.add_language(LANGUAGE_SLAVIC, 1)
R.add_language(LANGUAGE_DRUDAKAR, 1)
R.add_language(LANGUAGE_TAVAN, 1)
return 1

View File

@@ -22,20 +22,16 @@
if (emote == "smile")
src.uses--
to_chat(source,"<span class='notice'>You suddenly feel as if you can understand other languages!</span>")
source.add_language(LANGUAGE_CHIMPANZEE)
source.add_language(LANGUAGE_NEAERA)
source.add_language(LANGUAGE_STOK)
source.add_language(LANGUAGE_FARWA)
source.add_language(LANGUAGE_UNATHI)
source.add_language(LANGUAGE_SIIK)
source.add_language(LANGUAGE_SKRELLIAN)
source.add_language(LANGUAGE_ANIMAL)
source.add_language(LANGUAGE_SCHECHI)
source.add_language(LANGUAGE_BIRDSONG)
source.add_language(LANGUAGE_SAGARU)
source.add_language(LANGUAGE_CANILUNZT)
source.add_language(LANGUAGE_SLAVIC)
source.add_language(LANGUAGE_SOL_COMMON) //In case they're giving a xenomorph an implant or something.
source.add_language(LANGUAGE_TAVAN)
source.add_language(LANGUAGE_TAVAN)
/obj/item/weapon/implant/vrlanguage/post_implant(mob/source)
source.mind.store_memory("A implant can be activated by using the smile emote, <B>say *smile</B> to attempt to activate.", 0, 0)

View File

@@ -25,7 +25,7 @@ var/list/overminds = list()
universal_understand = TRUE
var/list/has_langs = list(LANGUAGE_BLOB)
var/list/has_langs = list(LANGUAGE_ANIMAL)
var/datum/language/default_language = null
/mob/observer/blob/get_default_language()

View File

@@ -1,58 +1,13 @@
/datum/language/human/monkey
name = "Chimpanzee"
/datum/language/human/animal
name = LANGUAGE_ANIMAL
desc = "A collection of ooking noises made by monkeys"
speech_verb = "chimpers"
ask_verb = "chimpers"
exclaim_verb = "screeches"
speech_verb = "says"
ask_verb = "inquires"
exclaim_verb = "yells"
key = "C"
syllables = list("ook","eek")
syllables = list("chrp","tweet","squick","croak","hiss","gronk","meow","mew","bark", "woof", "bowwow", "yap", "arf") //This is a generalized animal language. If spoken by an animal, it comes out with the mob noises. This only occurs when spoken by a carbon (human).
machine_understands = 0
/datum/language/skrell/monkey
name = "Neaera"
desc = "A collection of squiking noises made by naera."
key = "8"
syllables = list("squick","croak")
machine_understands = 0
/datum/language/unathi/monkey
name = "Stok"
desc = "A collection of hissing noises made by stok."
key = "7"
syllables = list("hiss","gronk")
machine_understands = 0
/datum/language/tajaran/monkey
name = "Farwa"
desc = "A collection of meowing noises made by farwa."
key = "9"
syllables = list("meow","mew")
machine_understands = 0
/datum/language/corgi
name = "Dog"
desc = "A set of barks and woofs that only dogs can understand."
speech_verb = "barks"
ask_verb = "woofs"
exclaim_verb = "howls"
key = "n"
flags = RESTRICTED
machine_understands = 0
space_chance = 100
syllables = list("bark", "woof", "bowwow", "yap", "arf")
/datum/language/cat
name = "Cat"
desc = "A set of meows and mrowls that only cats can understand."
speech_verb = "meows"
ask_verb = "mrowls"
exclaim_verb = "yowls"
key = "c"
flags = RESTRICTED
machine_understands = 0
space_chance = 100
syllables = list("meow", "mrowl", "purr", "meow", "meow", "meow")
/datum/language/mouse
name = "Mouse"
desc = "A set of squeaks that only mice can understand."
@@ -65,18 +20,6 @@
space_chance = 100
syllables = list("squeak") // , "gripes", "oi", "meow")
/datum/language/bird
name = "Bird"
desc = "A set of chirps and squawks that only birds can understand."
speech_verb = "chirps"
ask_verb = "tweets"
exclaim_verb = "squawks"
key = "B"
flags = RESTRICTED
machine_understands = 0
space_chance = 100
syllables = list("chirp", "squawk", "tweet")
/datum/language/teppi
name = "Teppi"
desc = "A set of gyohs that only teppi can understand."

View File

@@ -74,17 +74,6 @@
"gal'h'rfikk", "harfrandid", "mud'gib", "il", "fuu", "ma'jin", "dedo", "ol'btoh", "n'ath", "reth", "sh'yro", "eth", \
"d'rekkathnor", "khari'd", "gual'te", "nikka", "nikt'o", "barada", "kla'atu", "barhah", "hra" ,"zar'garis", "spiri", "malum")
/datum/language/cult
name = LANGUAGE_OCCULT
desc = "The initiated can share their thoughts by means defying all reason."
speech_verb = "intones"
ask_verb = "intones"
exclaim_verb = "chants"
colour = "cult"
key = "y"
machine_understands = 0
flags = RESTRICTED | HIVEMIND
/datum/language/xenocommon
name = "Xenolingua" //CHOMPedit
colour = "alien"
@@ -143,32 +132,6 @@
"danya","da","mied","zan","das","krem","myka","cyka","blyat","to","st","no","na","ni",
"ko","ne","en","po","ra","li","on","byl","cto","eni","ost","ol","ego","ver","stv","pro")
//For your event purposes.
/datum/language/occursus
name = LANGUAGE_EVENT1
desc = "The Powers That Be have seen it fit to grace you with a special language that sounds like... something. This description should be overridden by the time you see this."
speech_verb = "says"
ask_verb = "asks"
exclaim_verb = "shouts"
colour = "warning"
key = "]"
flags = RESTRICTED
syllables = list("chan","ange","thi","se")
//Bloblang.
/datum/language/blob
name = LANGUAGE_BLOB
desc = "The massive processing power of the Blob's core gives the overmind finely tuned abilities to transmit messages to nearby life-forms through chemical signals."
speech_verb = "resonates"
ask_verb = "reverberates"
exclaim_verb = "shudders"
colour = "blob"
key = "}"
machine_understands = TRUE
flags = RESTRICTED
syllables = list("^", "˅", "-", "°", "~")
/datum/language/corticalborer/broadcast(var/mob/living/speaker,var/message,var/speaker_mask)
var/mob/living/simple_mob/animal/borer/B

View File

@@ -125,19 +125,6 @@
// flags = WHITELISTED (YWEdit)
syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix")
/datum/language/skrellfar
name = LANGUAGE_SKRELLIANFAR
desc = "The most common language among the Skrellian Far Kingdoms. Has an even higher than usual concentration of inaudible phonemes. Native to Skrell."
speech_verb = "warbles"
ask_verb = "warbles"
exclaim_verb = "sings"
whisper_verb = "hums"
colour = "skrellfar"
key = "p"
space_chance = 30
// flags = WHITELISTED (YWEdit)
syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix", "...", "oo", "q", "nq", "x", "xq", "ll", "...", "...", "...") //should sound like there's holes in it
/datum/language/skrell/get_random_name(var/gender)
var/list/first_names = file2list('config/names/first_name_skrell.txt')
var/list/last_names = file2list('config/names/last_name_skrell.txt')

View File

@@ -103,36 +103,6 @@
machine_understands = FALSE
flags = RESTRICTED | HIVEMIND //CHOMPstation Edit: Changining from WHITELISTED to RESTRICTED | Empathy should be shadekin exclusive. This probably breaks carbon shadekins ability to use emptathy, we dont use them and if it does it should be implemented like DIONA root talk. -shark
/datum/language/slavic
name = LANGUAGE_SLAVIC
desc = "The official language of the Independent Colonial Confederation of Gilgamesh, originally established in 2122 by the short-lived United Slavic Confederation on Earth."
speech_verb = "govorit" // All Russian for "says" "asks" and "shouts". Mostly here as a joke.
ask_verb = "sprashivaet"
exclaim_verb = "krichit"
whisper_verb = "shepchet"
colour = "attack" // Red for slav!
key = "P"
syllables = list(
"rus", "zem", "ave", "blyat", "cyk", "groz", "ski", "ska", "ven", "konst", "pol", "lin", "svy",
"danya", "da", "mied", "kuz,", "zan", "das", "krem", "myka", "to", "st", "no", "na", "ni",
"ko", "ne", "en", "po", "tro", "ra", "li", "on", "byl", "cto", "eni", "ost", "ol", "ego",
"ver", "stv", "pro", "ski"
)
/datum/language/clownish
name = LANGUAGE_CLOWNISH
desc = "A special elective language course for those studying at the Clown Planet Institute."
speech_verb = "honks"
ask_verb = "seins"
exclaim_verb = "crenks"
whisper_verb = "squeaks"
colour = "#F785F2" // Pink for the clown.
key = "<"
flags = WHITELISTED | CLOWN
syllables = list(
"honk", "knock", "salt", "slip", "lube", "banana", "flower", "pie", "did you hear", "🅱️", "haha", "bully", "going up",
)
/datum/language/drudakar
name = LANGUAGE_DRUDAKAR
desc = "The native language of the D'Rudak'Ar, a loosely tied together community of dragons and demi-dragons based in the Diul system. Features include many hard consonants and rolling 'r's."
@@ -202,11 +172,5 @@
machine_understands = FALSE
desc = "A dialect of Tradeband not uncommon amongst traders in the Free Trade Union. The language is often difficult to translate due to changing frequently and being highly colloquial."
partial_understanding = list(LANGUAGE_TRADEBAND = 30, LANGUAGE_SOL_COMMON = 10)
/datum/language/human/monkey
flags = RESTRICTED
/datum/language/skrell/monkey
flags = RESTRICTED
/datum/language/unathi/monkey
flags = RESTRICTED
/datum/language/tajaran/monkey
flags = RESTRICTED
/datum/language/human/animal
flags = RESTRICTED

View File

@@ -42,8 +42,8 @@
var/mob/living/carbon/human/H = M
if(H.size_multiplier > L.size_multiplier)
. += 1
if(H.weight > L.weight)
. += 1
//if(H.weight > L.weight) weight should not have mechanical impact
//. += 1
//VOREstation end
if(istype(buckled, /obj/structure/bed/chair/wheelchair))

View File

@@ -30,8 +30,8 @@
icon = null
icon_state = ""
. = ..()
dress_up()
dress_up()
turntable()
/mob/living/carbon/human/dummy/mannequin/autoequip/proc/dress_up()
@@ -42,7 +42,7 @@
var/obj/item/clothing/C = I
C.species_restricted = null
equip_to_appropriate_slot(I)
if(istype(back, /obj/item/weapon/rig))
var/obj/item/weapon/rig/rig = back
rig.toggle_seals(src)
@@ -130,6 +130,3 @@
/mob/living/carbon/human/stok/Initialize(var/new_loc)
return ..(new_loc, SPECIES_MONKEY_UNATHI)
/mob/living/carbon/human/event1/Initialize(var/new_loc)
return ..(new_loc, SPECIES_EVENT1)

View File

@@ -1985,8 +1985,10 @@ End Chomp edit */
// increase your body temperature beyond 250C, but it's possible something else (atmos) has heated us up beyond it,
// so don't worry about the firestacks at that point. Really, we should be cooling the room down, because it has
// to expend energy to heat our body up! But let's not worry about that.
if((bodytemperature + fire_temp_add) > HUMAN_COMBUSTION_TEMP)
return
// This whole section above is ABSOLUTELY STUPID and makes no sense and this would prevent too-high-heat from even being able to hurt someone. No. We will heat up for as long as needed.
//if((bodytemperature + fire_temp_add) > HUMAN_COMBUSTION_TEMP)
// return
bodytemperature += fire_temp_add

View File

@@ -73,7 +73,7 @@
blood_color = "#55ff55"
species_language = LANGUAGE_SIGN
assisted_langs = list(LANGUAGE_ROOTGLOBAL, LANGUAGE_SOL_COMMON, LANGUAGE_SKRELLIANFAR)
assisted_langs = list(LANGUAGE_ROOTGLOBAL, LANGUAGE_SOL_COMMON)
inherent_verbs = list(
/mob/living/carbon/human/proc/shapeshifter_select_shape,

View File

@@ -75,7 +75,7 @@
// The languages the species can't speak without an assisted organ.
// This list is a guess at things that no one other than the parent species should be able to speak
var/list/assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) //VOREStation Edit
var/list/assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) //VOREStation Edit
//Soundy emotey things.
var/scream_verb_1p = "scream"

View File

@@ -19,7 +19,7 @@
species_language = LANGUAGE_PSIONIC
secondary_langs = list(LANGUAGE_PSIONIC)
name_language = null // Use the first-name last-name generator rather than a language scrambler
assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX)
assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX)
flesh_color = "#a598ad"
blood_color = "#A200FF"
brute_mod = 1.25

View File

@@ -9,7 +9,7 @@
damage_mask = 'icons/mob/human_races/masks/dam_mask_monkey.dmi'
blood_mask = 'icons/mob/human_races/masks/blood_monkey.dmi'
language = null
default_language = "Chimpanzee"
default_language = LANGUAGE_ANIMAL
greater_form = SPECIES_HUMAN
mob_size = MOB_SMALL
has_fine_manipulation = 0
@@ -78,7 +78,7 @@
deform = 'icons/mob/human_races/monkeys/r_farwa.dmi'
greater_form = SPECIES_TAJ
default_language = "Farwa"
default_language = LANGUAGE_ANIMAL
flesh_color = "#AFA59E"
base_color = "#333333"
tail = "farwatail"
@@ -91,7 +91,7 @@
deform = 'icons/mob/human_races/monkeys/r_neaera.dmi'
greater_form = SPECIES_SKRELL
default_language = "Neaera"
default_language = LANGUAGE_ANIMAL
flesh_color = "#8CD7A3"
blood_color = "#1D2CBF"
reagent_tag = IS_SKRELL
@@ -106,7 +106,7 @@
tail = "stoktail"
greater_form = SPECIES_UNATHI
default_language = "Stok"
default_language = LANGUAGE_ANIMAL
flesh_color = "#34AF10"
base_color = "#066000"
reagent_tag = IS_UNATHI

View File

@@ -13,7 +13,7 @@
species_language = LANGUAGE_SOL_COMMON
secondary_langs = list(LANGUAGE_SOL_COMMON, LANGUAGE_TERMINUS)
name_language = null // Use the first-name last-name generator rather than a language scrambler
assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX)
assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX)
min_age = 18
max_age = 130
@@ -398,7 +398,7 @@
taste_sensitivity = TASTE_SENSITIVE
num_alternate_languages = 3
secondary_langs = list(LANGUAGE_ZADDAT, LANGUAGE_UNATHI)
assisted_langs = list(LANGUAGE_EAL, LANGUAGE_TERMINUS, LANGUAGE_SKRELLIANFAR, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX, LANGUAGE_SOL_COMMON, LANGUAGE_AKHANI, LANGUAGE_SIIK, LANGUAGE_GUTTER) //limited vocal range; can talk Unathi and magical Galcom but not much else
assisted_langs = list(LANGUAGE_EAL, LANGUAGE_TERMINUS, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX, LANGUAGE_SOL_COMMON, LANGUAGE_AKHANI, LANGUAGE_SIIK, LANGUAGE_GUTTER) //limited vocal range; can talk Unathi and magical Galcom but not much else
name_language = LANGUAGE_ZADDAT
species_language = LANGUAGE_ZADDAT
health_hud_intensity = 2.5

View File

@@ -187,7 +187,7 @@
inherent_verbs = list(/mob/living/carbon/human/proc/lick_wounds,
/mob/living/proc/shred_limb,
/mob/living/carbon/human/proc/tie_hair)
assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) //AEIOU edit: Zorren can speak Terminus unassisted.
assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) //AEIOU edit: Zorren can speak Terminus unassisted.
min_age = 18
max_age = 110

View File

@@ -146,7 +146,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
var/matrix/M = matrix()
var/anim_time = 3
// CHOMPStation Edit Start: Porting Taur Loafing
// VOREStation Edit Start: Porting Taur Loafing
if(tail_style?.can_loaf && resting) // Only call these if we're resting?
update_tail_showing()
return // No need to do the rest, we return early
@@ -155,7 +155,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
update_tail_showing()
// return // No need to do the rest, we return early
*/
// CHOMPStation Edit End
// VOREStation Edit End
//Due to some involuntary means, you're laying now
if(lying && !resting && !sleeping)
@@ -176,8 +176,8 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
else
M.Scale(desired_scale_x, desired_scale_y)//VOREStation Edit
M.Translate(0, (vis_height/2)*(desired_scale_y-1)) //VOREStation edit
if(tail_style?.can_loaf) // CHOMPEdit: Taur Loafing
update_tail_showing() // CHOMPEdit: Taur Loafing
if(tail_style?.can_loaf) // VOREStation Edit: Taur Loafing
update_tail_showing() // VOREStation Edit: Taur Loafing
layer = MOB_LAYER // Fix for a byond bug where turf entry order no longer matters
animate(src, transform = M, time = anim_time)
@@ -1256,12 +1256,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
//If you have a custom tail selected
if(tail_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL && !istaurtail(tail_style)))
var/icon/tail_s = new/icon("icon" = tail_style.icon, "icon_state" = (tail_style.can_loaf && resting) ? "[tail_style.icon_state]_loaf" : (wagging && tail_style.ani_state ? tail_style.ani_state : tail_style.icon_state)) // CHOMPEdit: Taur Loafing
pixel_y = (tail_style.can_loaf && resting) ? -tail_style.loaf_offset : 0 //move player down, then taur up, to fit the overlays correctly // CHOMPEdit: Taur Loafing
var/icon/tail_s = new/icon("icon" = tail_style.icon, "icon_state" = (tail_style.can_loaf && resting) ? "[tail_style.icon_state]_loaf" : (wagging && tail_style.ani_state ? tail_style.ani_state : tail_style.icon_state)) // VOREStation Edit: Taur Loafing
pixel_y = (tail_style.can_loaf && resting) ? -tail_style.loaf_offset : 0 //move player down, then taur up, to fit the overlays correctly // VOREStation Edit: Taur Loafing
if(tail_style.do_colouration)
tail_s.Blend(rgb(src.r_tail, src.g_tail, src.b_tail), tail_style.color_blend_mode)
if(tail_style.extra_overlay)
var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = (tail_style?.can_loaf && resting) ? "[tail_style.extra_overlay]_loaf" : tail_style.extra_overlay) // CHOMPEdit: Taur Loafing
var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = (tail_style?.can_loaf && resting) ? "[tail_style.extra_overlay]_loaf" : tail_style.extra_overlay) // VOREStation Edit: Taur Loafing
if(wagging && tail_style.ani_state)
overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay_w)
overlay.Blend(rgb(src.r_tail2, src.g_tail2, src.b_tail2), tail_style.color_blend_mode)
@@ -1291,7 +1291,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
if(istaurtail(tail_style))
var/datum/sprite_accessory/tail/taur/taurtype = tail_style
working.pixel_x = -16
working.pixel_y = (tail_style.can_loaf && resting) ? tail_style.loaf_offset : 0 // CHOMPEdit: Taur Loafing
working.pixel_y = (tail_style.can_loaf && resting) ? tail_style.loaf_offset : 0 // VOREStation Edit: Taur Loafing
if(taurtype.can_ride && !riding_datum)
riding_datum = new /datum/riding/taur(src)
verbs |= /mob/living/carbon/human/proc/taur_mount

View File

@@ -161,7 +161,6 @@ var/list/ai_verbs_default = list(
add_language(LANGUAGE_SIIK, 1)
add_language(LANGUAGE_AKHANI, 1)
add_language(LANGUAGE_SKRELLIAN, 1)
add_language(LANGUAGE_SKRELLIANFAR, 0)
add_language(LANGUAGE_TRADEBAND, 1)
add_language(LANGUAGE_GUTTER, 1)
add_language(LANGUAGE_EAL, 1)

View File

@@ -404,7 +404,6 @@
user.add_language(LANGUAGE_ZADDAT)
user.add_language(LANGUAGE_SCHECHI)
user.add_language(LANGUAGE_DRUDAKAR)
user.add_language(LANGUAGE_SLAVIC)
user.add_language(LANGUAGE_BIRDSONG)
user.add_language(LANGUAGE_SAGARU)
user.add_language(LANGUAGE_CANILUNZT)
@@ -413,24 +412,15 @@
user.add_language(LANGUAGE_ENOCHIAN)
user.add_language(LANGUAGE_VESPINAE)
user.add_language(LANGUAGE_SPACER)
user.add_language(LANGUAGE_CLOWNISH)
user.add_language(LANGUAGE_TAVAN)
user.add_language(LANGUAGE_ECHOSONG)
user.add_language(LANGUAGE_CHIMPANZEE)
user.add_language(LANGUAGE_NEAERA)
user.add_language(LANGUAGE_STOK)
user.add_language(LANGUAGE_FARWA)
user.add_language(LANGUAGE_ROOTLOCAL)
user.add_language(LANGUAGE_VOX)
user.add_language(LANGUAGE_SKRELLIANFAR)
user.add_language(LANGUAGE_MINBUS)
user.add_language(LANGUAGE_ALAI)
user.add_language(LANGUAGE_PROMETHEAN)
user.add_language(LANGUAGE_GIBBERISH)
user.add_language("Mouse")
user.add_language("Cat")
user.add_language("Bird")
user.add_language("Dog")
user.add_language("Animal")
user.add_language("Teppi")
else
user.remove_language(LANGUAGE_UNATHI)
@@ -440,7 +430,6 @@
user.remove_language(LANGUAGE_ZADDAT)
user.remove_language(LANGUAGE_SCHECHI)
user.remove_language(LANGUAGE_DRUDAKAR)
user.remove_language(LANGUAGE_SLAVIC)
user.remove_language(LANGUAGE_BIRDSONG)
user.remove_language(LANGUAGE_SAGARU)
user.remove_language(LANGUAGE_CANILUNZT)
@@ -449,24 +438,15 @@
user.remove_language(LANGUAGE_ENOCHIAN)
user.remove_language(LANGUAGE_VESPINAE)
user.remove_language(LANGUAGE_SPACER)
user.remove_language(LANGUAGE_CLOWNISH)
user.remove_language(LANGUAGE_TAVAN)
user.remove_language(LANGUAGE_ECHOSONG)
user.remove_language(LANGUAGE_CHIMPANZEE)
user.remove_language(LANGUAGE_NEAERA)
user.remove_language(LANGUAGE_STOK)
user.remove_language(LANGUAGE_FARWA)
user.remove_language(LANGUAGE_ROOTLOCAL)
user.remove_language(LANGUAGE_VOX)
user.remove_language(LANGUAGE_SKRELLIANFAR)
user.remove_language(LANGUAGE_MINBUS)
user.remove_language(LANGUAGE_ALAI)
user.remove_language(LANGUAGE_PROMETHEAN)
user.remove_language(LANGUAGE_GIBBERISH)
user.remove_language("Mouse")
user.remove_language("Cat")
user.remove_language("Bird")
user.remove_language("Dog")
user.remove_language("Animal")
user.remove_language("Teppi")
/datum/pai_software/translator/is_active(mob/living/silicon/pai/user)

View File

@@ -608,7 +608,6 @@ var/global/list/robot_modules = list(
LANGUAGE_SIIK = 1,
LANGUAGE_AKHANI = 1,
LANGUAGE_SKRELLIAN = 1,
LANGUAGE_SKRELLIANFAR = 0,
LANGUAGE_ROOTLOCAL = 0,
LANGUAGE_TRADEBAND = 1,
LANGUAGE_GUTTER = 1,

View File

@@ -10,7 +10,6 @@
LANGUAGE_SIIK = 0,
LANGUAGE_AKHANI = 0,
LANGUAGE_SKRELLIAN = 0,
LANGUAGE_SKRELLIANFAR = 0,
LANGUAGE_ROOTLOCAL = 0,
LANGUAGE_GUTTER = 1,
LANGUAGE_SCHECHI = 0,

View File

@@ -25,7 +25,7 @@
softfall = TRUE //Beings made of Hellmarble and powered by the tears of the damned are not concerned with mortal things such as 'gravity'.
parachuting = TRUE
has_langs = list(LANGUAGE_GALCOM, LANGUAGE_CULT, LANGUAGE_OCCULT)
has_langs = list(LANGUAGE_GALCOM, LANGUAGE_CULT)
has_eye_glow = TRUE

View File

@@ -39,7 +39,7 @@
"rad" = 0
)
has_langs = list("Coulrian")
has_langs = list("Animal")
/mob/living/simple_mob/animal/passive/honkpet/attack_hand(mob/living/user as mob)
if(user.a_intent == I_DISARM)

View File

@@ -18,7 +18,7 @@
has_hands = TRUE
seedarkness = FALSE
attack_sound = 'sound/misc/demonattack.ogg'
has_langs = list(LANGUAGE_GALCOM,LANGUAGE_DAEMON,LANGUAGE_SHADEKIN,LANGUAGE_CULT,LANGUAGE_OCCULT)
has_langs = list(LANGUAGE_GALCOM,LANGUAGE_DAEMON,LANGUAGE_SHADEKIN,LANGUAGE_CULT)
melee_damage_lower = 20
melee_damage_upper = 15
@@ -150,4 +150,4 @@
/mob/living/simple_mob/vore/demon/adjustFireLoss(amount,include_robo = TRUE)
amount = 0 - amount
src.adjustBruteLoss(amount)
..()
..()

View File

@@ -25,7 +25,7 @@
var/clip_mask_state = null //Icon state to generate clip mask. Clip mask is used to 'clip' off the lower part of clothing such as jumpsuits & full suits.
var/icon/clip_mask = null //Instantiated clip mask of given icon and state
// CHOMPEdit: Taur Loafing
// VOREStation Edit: Taur Loafing
var/can_loaf = FALSE
var/loaf_offset = 0

View File

@@ -421,8 +421,8 @@
/// suit_sprites = 'icons/mob/taursuits_drake_vr.dmi' ///Chomp edit
suit_sprites = 'icons/mob/taursuits_drake_ch.dmi'
icon_sprite_tag = "drake"
can_loaf = TRUE // CHOMPEdit: Taur Loafing
loaf_offset = 6 // CHOMPEdit: Taur Loafing
can_loaf = TRUE // VOREStation Edit: Taur Loafing
loaf_offset = 6 // VOREStation Edit: Taur Loafing
/datum/sprite_accessory/tail/taur/ch/fatdrake
name = "Drake (Fat Taur dual-color)"

View File

@@ -25,7 +25,7 @@
/obj/item/organ/internal/voicebox/skrell
icon_state = "skrell_larynx"
will_assist_languages = list(LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR)
will_assist_languages = list(LANGUAGE_SKRELLIAN)
/obj/item/organ/internal/appendix/skrell
icon_state = "skrell_appendix"

View File

@@ -1,3 +1,5 @@
var/global/last_fax_role_request
/obj/machinery/photocopier/faxmachine
req_one_access = list()
@@ -94,6 +96,20 @@
world.TgsTargetedChatBroadcast("FAX: [sanitize(faxname)] / [sanitize(sent.name)] - SENT BY: [sanitize(sender.name)] - FAXID: **[sanitize(faxid)]** [contents]", TRUE)
//YW EDIT END
/**
* Call the chat webhook to transmit a notification of a job request
*/
/obj/machinery/photocopier/faxmachine/proc/message_chat_rolerequest(var/font_colour="#006100", var/role_to_ping, var/reason, var/jobname)
if(config.chat_webhook_url)
spawn(0)
var/query_string = "type=rolerequest"
query_string += "&key=[url_encode(config.chat_webhook_key)]"
query_string += "&ping=[url_encode(role_to_ping)]"
query_string += "&color=[url_encode(font_colour)]"
query_string += "&reason=[url_encode(reason)]"
query_string += "&job=[url_encode(jobname)]"
world.Export("[config.chat_webhook_url]?[query_string]")
//
// Overrides/additions to stock defines go here, as well as hooks. Sort them by
// the object they are overriding. So all /mob/living together, etc.
@@ -102,8 +118,6 @@
var/chat_webhook_url = "" // URL of the webhook for sending announcements/faxes to discord chat.
var/chat_webhook_key = "" // Shared secret for authenticating to the chat webhook
var/fax_export_dir = "data/faxes" // Directory in which to write exported fax HTML files.
<<<<<<< HEAD
=======
/obj/machinery/photocopier/faxmachine/verb/request_roles()
@@ -184,5 +198,4 @@
message_chat_rolerequest(message_color, ping_name, reason, role)
last_fax_role_request = world.time
to_chat(L, "<span class='notice'>Your request was transmitted.</span>")
>>>>>>> 4450e15c84... Merge pull request #13519 from Very-Soft/smolething
to_chat(L, "<span class='notice'>Your request was transmitted.</span>")

View File

@@ -30,6 +30,14 @@
build_path = /obj/item/weapon/reagent_containers/hypospray/science
sort_string = "KCAVB"
/datum/design/item/medical/recombobray
name = "recombobulation ray"
desc = "The Type Gamma Medical Recombobulation ray! A mysterious looking ray gun! It works to change people who have had their form significantly altered back into their original forms!"
id = "recombobray"
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_POWER = 4, TECH_BIO = 5, TECH_BLUESPACE = 4) //Not like these matter. *Glares at circuit printer.*
materials = list(MAT_STEEL = 1000, MAT_GLASS = 2000, MAT_URANIUM = 500, MAT_PHORON = 1500)
build_path = /obj/item/weapon/gun/energy/mouseray/medical
sort_string = "KCAVC"
// ML-3M medigun and cells
// CH edit - turns ML3M to NERD, removes some overtuned cells.

View File

@@ -32,7 +32,6 @@ pearlprophet - Protean
phoenixx0 - Vox
rapidvalj - Vox
rapidvalj - Common Skrellian
rapidvalj - High Skrellian
rikaru19xjenkins - Xenochimera
rixunie - Diona
rykkastormheart - Xenochimera
@@ -48,7 +47,6 @@ storesund97 - Protean
sharplight - Protean
tastypred - Black-Eyed Shadekin
tastypred - Xenochimera
tastypred - Protean
timidvi - Diona
varonis - Xenochimera
verkister - Xenochimera

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

@@ -36739,33 +36739,32 @@
/area/maintenance/bar)
"cme" = (
/obj/structure/table/woodentable,
/obj/item/clothing/mask/smokable/ecig/deluxe{
pixel_y = 6;
pixel_x = -4
},
/obj/item/weapon/reagent_containers/ecig_cartridge/high_nicotine,
/obj/item/weapon/reagent_containers/ecig_cartridge/lemonlime{
pixel_y = 0;
pixel_x = 4
},
/obj/item/weapon/reagent_containers/ecig_cartridge/mint{
pixel_x = 8
},
/obj/item/clothing/mask/smokable/ecig/deluxe{
pixel_y = 6;
pixel_x = -4
},
/obj/item/weapon/reagent_containers/ecig_cartridge/high_nicotine,
/obj/item/weapon/reagent_containers/ecig_cartridge/lemonlime{
pixel_y = 0;
pixel_x = 4
},
/obj/item/weapon/reagent_containers/ecig_cartridge/mint{
pixel_x = 8
},
/obj/machinery/light{
dir = 4
},
/obj/item/clothing/suit/storage/apron/white{
pixel_y = 7;
pixel_x = -6
},
/obj/item/clothing/suit/storage/apron/white{
pixel_y = 7;
pixel_x = 7
},
/obj/item/clothing/suit/storage/apron/white{
pixel_y = 6
},
/obj/item/clothing/glasses/regular/hipster{
pixel_y = -2;
pixel_x = 4
},
/obj/item/clothing/mask/smokable/pipe/cobpipe{
pixel_y = 3;
pixel_x = -4
},
/obj/item/clothing/head/beret{
pixel_x = 5;
pixel_y = 11
},
/turf/simulated/floor/tiled,
/area/crew_quarters/seconddeck/artgallery)
"cmg" = (
@@ -37551,10 +37550,10 @@
/obj/structure/bed/chair/sofa/brown{
layer = 2.9
},
/obj/structure/window/reinforced/tinted/frosted{
/obj/effect/floor_decal/spline/fancy/wood{
dir = 1
},
/obj/effect/floor_decal/spline/fancy/wood{
/obj/structure/window/basic{
dir = 1
},
/turf/simulated/floor/carpet/oracarpet,
@@ -37577,12 +37576,12 @@
/obj/structure/bed/chair/sofa/corner/brown{
layer = 2.9
},
/obj/structure/window/reinforced/tinted/frosted{
dir = 1
},
/obj/effect/floor_decal/spline/fancy/wood{
dir = 5
},
/obj/structure/window/basic{
dir = 1
},
/turf/simulated/floor/carpet/oracarpet,
/area/library)
"coZ" = (
@@ -44557,9 +44556,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/door/airlock/maintenance{
req_one_access = list(25,28)
},
/obj/machinery/door/airlock/maintenance,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -51689,16 +51686,15 @@
/area/hallway/primary/seconddeck/aft)
"hlC" = (
/obj/machinery/atmospherics/unary/vent_pump/on,
/obj/item/device/radio/intercom/department/medbay{
dir = 1;
pixel_y = 21
},
/obj/effect/floor_decal/borderfloorwhite{
dir = 1
},
/obj/effect/floor_decal/corner/paleblue/border{
dir = 1
},
/obj/machinery/atm{
pixel_y = 30
},
/turf/simulated/floor/tiled/white,
/area/medical/medbay2)
"hlN" = (
@@ -59912,9 +59908,6 @@
/turf/simulated/floor/tiled/white,
/area/medical/patient_wing)
"lJh" = (
/obj/structure/window/reinforced/tinted/frosted{
dir = 1
},
/obj/effect/floor_decal/spline/fancy/wood{
dir = 9
},
@@ -59922,6 +59915,9 @@
dir = 2;
layer = 2.9
},
/obj/structure/window/basic{
dir = 1
},
/turf/simulated/floor/carpet/oracarpet,
/area/library)
"lJn" = (
@@ -63399,7 +63395,6 @@
/area/medical/morgue)
"nIS" = (
/obj/structure/table/standard,
/obj/fiftyspawner/cardboard,
/obj/item/weapon/storage/box,
/obj/item/weapon/storage/box,
/obj/item/weapon/storage/box{
@@ -70623,6 +70618,11 @@
dir = 8;
pixel_x = 24
},
/obj/fiftyspawner/cardboard,
/obj/item/device/threadneedle,
/obj/item/device/threadneedle{
pixel_y = 5
},
/turf/simulated/floor/tiled,
/area/crew_quarters/seconddeck/artsupplies)
"rOI" = (
@@ -79688,6 +79688,19 @@
},
/turf/simulated/floor/tiled,
/area/hallway/primary/seconddeck/apcenter)
"xjT" = (
/obj/effect/floor_decal/borderfloorwhite{
dir = 1
},
/obj/effect/floor_decal/corner/paleblue/border{
dir = 1
},
/obj/item/device/radio/intercom/department/medbay{
dir = 4;
pixel_x = 21
},
/turf/simulated/floor/tiled/white,
/area/medical/medbay2)
"xka" = (
/obj/structure/lattice,
/obj/machinery/shield_diffuser,
@@ -130745,7 +130758,7 @@ ylt
odi
xom
iOS
dTG
xjT
pkK
oht
rxD

View File

@@ -1873,7 +1873,7 @@ const VoreUserPreferences = (props, context) => {
<VoreUserPreferenceItem spec={preferences.spontaneous_tf} />
</Flex.Item>
<Flex.Item basis="32%">
<Button fluid content="Slective Mode Preference" onClick={() => act('switch_selective_mode_pref')} />
<Button fluid content="Selective Mode Preference" onClick={() => act('switch_selective_mode_pref')} />
</Flex.Item>
<Flex.Item basis="32%">
<VoreUserPreferenceItem spec={preferences.autotransferable} />

File diff suppressed because one or more lines are too long