Merge branch 'master' into Poojawa_How_Do_I_Update_My_Shit

This commit is contained in:
Trilbyspaceclone
2019-06-23 01:52:59 -04:00
committed by GitHub
141 changed files with 4724 additions and 4097 deletions
@@ -14,6 +14,10 @@
var/saved_underwear = ""//saves their underwear so it can be toggled later
var/saved_undershirt = ""
var/saved_socks = ""
var/hidden_underwear = FALSE
var/hidden_undershirt = FALSE
var/hidden_socks = FALSE
/mob/living/carbon/human/New()
..()
@@ -29,6 +33,33 @@
var/list/femcum_fluids = list("femcum")
//Mob procs
/mob/living/carbon/human/proc/underwear_toggle()
set name = "Toggle undergarments"
set category = "Object"
if(ishuman(src))
var/mob/living/carbon/human/humz = src
var/confirm = input(src, "Select what part of your form to alter", "Undergarment Toggling", "Cancel") in list("Top", "Bottom", "Socks", "All", "Cancel")
if(confirm == "Top")
humz.hidden_undershirt = !humz.hidden_undershirt
if(confirm == "Bottom")
humz.hidden_underwear = !humz.hidden_underwear
if(confirm == "Socks")
humz.hidden_socks = !humz.hidden_socks
if(confirm == "All")
humz.hidden_undershirt = !humz.hidden_undershirt
humz.hidden_underwear = !humz.hidden_underwear
humz.hidden_socks = !humz.hidden_socks
if(confirm == "Cancel")
return
src.update_body()
else
to_chat(src, "Humans only. How the fuck did you get this verb anyway.")
/mob/living/proc/handle_arousal()
@@ -73,7 +73,7 @@
owner.exposed_genitals += src
if("Hidden by clothes")
through_clothes = FALSE
hidden = FALSE
hidden = TRUE
if(src in owner.exposed_genitals)
owner.exposed_genitals -= src
if("Always hidden")
@@ -303,6 +303,8 @@
for(var/obj/item/organ/O in H.internal_organs)
if(isgenital(O))
var/obj/item/organ/genital/G = O
if(G.hidden)
return //we're gunna just hijack this for updates.
if(G.is_exposed()) //Checks appropriate clothing slot and if it's through_clothes
genitals_to_add += H.getorganslot(G.slot)
//Now we added all genitals that aren't internal and should be rendered
@@ -45,6 +45,7 @@
linked_organ = (owner.getorganslot("penis"))
if(linked_organ)
linked_organ.linked_organ = src
size = linked_organ.size
else
if(linked_organ)
@@ -57,20 +58,22 @@
return TRUE
/obj/item/organ/genital/testicles/update_appearance()
if(owner)
if(size == 0)
size_name = "nonexistant"
if(size == 1)
switch(size)
if(0.1 to 1)
size_name = "average"
if(size == 2)
if(1.1 to 2)
size_name = "enlarged"
if(size >= 3)
if(2.1 to INFINITY)
size_name = "engorged"
if(!internal)
desc = "You see an [size_name] pair of testicles dangling."
else
desc = "They don't have any testicles you can see."
size_name = "nonexistant"
if(!internal)
desc = "You see an [size_name] pair of testicles."
else
desc = "They don't have any testicles you can see."
if(owner)
var/string
if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"])
if(ishuman(owner)) // Check before recasting type, although someone fucked up if you're not human AND have use_skintones somehow...
@@ -397,4 +397,10 @@ datum/gear/darksabresheath
name = "Kimono"
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/kimono
ckeywhitelist = list("sfox63")
ckeywhitelist = list("sfox63")
/datum/gear/commjacket
name = "Dusty Commisar's Cloak"
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/commjacket
ckeywhitelist = list("sadisticbatter")
@@ -1,5 +1,32 @@
/datum/gear/stethoscope
name = "Medical Briefcase"
category = SLOT_HANDS
path = /obj/item/storage/briefcase/medical
restricted_roles = list("Medical Doctor", "Chief Medical Officer")
/datum/gear/stethoscope
name = "Stethoscope"
category = SLOT_NECK
path = /obj/item/clothing/neck/stethoscope
restricted_roles = list("Medical Doctor", "Chief Medical Officer")
/datum/gear/bluescrubs
name = "Blue Scrubs"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/rank/medical/blue
restricted_roles = list("Medical Doctor", "Chief Medical Officer", "Geneticist", "Chemist", "Virologist")
restricted_desc = "Medical"
/datum/gear/greenscrubs
name = "Green Scrubs"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/rank/medical/green
restricted_roles = list("Medical Doctor", "Chief Medical Officer", "Geneticist", "Chemist", "Virologist")
restricted_desc = "Medical"
/datum/gear/purplescrubs
name = "Purple Scrubs"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/rank/medical/purple
restricted_roles = list("Medical Doctor", "Chief Medical Officer", "Geneticist", "Chemist", "Virologist")
restricted_desc = "Medical"
@@ -54,6 +54,11 @@
path = /obj/item/clothing/head/flakhelm
cost = 2
/datum/gear/bunnyears
name = "Bunny Ears"
category = SLOT_HEAD
path = /obj/item/clothing/head/rabbitears
//trek fancy Hats!
/datum/gear/trekcap
name = "Federation Officer's Cap (White)"
@@ -93,6 +93,11 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/schoolgirl/orange
/datum/gear/stripeddress
name = "Striped Dress"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/stripeddress
/datum/gear/kilt
name = "Kilt"
category = SLOT_W_UNIFORM
@@ -304,7 +309,7 @@
restricted_desc = "Engineering and Security"
restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster")
//memes
//Memes
/datum/gear/gear_harnesses
name = "Gear Harness"
category = SLOT_W_UNIFORM
@@ -494,3 +494,14 @@
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/commjacket
name = "Dusty Commisar's Cloak"
desc = "An Imperial Commisar's Coat, straight from the frontline of battle, filled with dirt, bulletholes, and dozens of little pockets. Alongside a curious golden eagle sitting on it's left breast, the marking '200th Venoland' is clearly visible on the inner workings of the coat. It certainly holds an imposing flair, however."
icon_state = "commjacket"
item_state = "commjacket"
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -191,6 +191,32 @@
icon = 'modular_citadel/icons/mob/mam_ears.dmi'
color_src = MATRIXED
/datum/sprite_accessory/ears/human/bigwolf
name = "Big Wolf"
icon_state = "bigwolf"
icon = 'modular_citadel/icons/mob/mam_ears.dmi'
color_src = MATRIXED
/datum/sprite_accessory/ears/human/bigwolfinner
name = "Big Wolf (ALT)"
icon_state = "bigwolfinner"
hasinner = 1
icon = 'modular_citadel/icons/mob/mam_ears.dmi'
color_src = MATRIXED
/datum/sprite_accessory/ears/human/bigwolfdark
name = "Dark Big Wolf"
icon_state = "bigwolfdark"
icon = 'modular_citadel/icons/mob/mam_ears.dmi'
color_src = MATRIXED
/datum/sprite_accessory/ears/human/bigwolfinnerdark
name = "Dark Big Wolf (ALT)"
icon_state = "bigwolfinnerdark"
hasinner = 1
icon = 'modular_citadel/icons/mob/mam_ears.dmi'
color_src = MATRIXED
/datum/sprite_accessory/ears/human/cow
name = "Cow"
icon_state = "cow"
@@ -4,20 +4,24 @@
/mob/living/silicon/robot/Move(NewLoc, direct)
. = ..()
if(. && sprinting && !(movement_type & FLYING) && canmove && !resting)
if(istype(cell))
cell.charge -= 25
if(!(cell?.use(25)))
togglesprint(TRUE)
/mob/living/silicon/robot/movement_delay()
. = ..()
if(!resting && !sprinting)
. += 1
/mob/living/silicon/robot/proc/togglesprint() //Basically a copypaste of the proc from /mob/living/carbon/human
sprinting = !sprinting
/mob/living/silicon/robot/proc/togglesprint(shutdown = FALSE) //Basically a copypaste of the proc from /mob/living/carbon/human
if(!shutdown && (!cell || cell.charge < 25))
return FALSE
sprinting = shutdown ? FALSE : !sprinting
if(!resting && canmove)
if(sprinting)
playsound_local(src, 'modular_citadel/sound/misc/sprintactivate.ogg', 50, FALSE, pressure_affected = FALSE)
else
if(shutdown)
playsound_local(src, 'sound/effects/light_flicker.ogg', 50, FALSE, pressure_affected = FALSE)
playsound_local(src, 'modular_citadel/sound/misc/sprintdeactivate.ogg', 50, FALSE, pressure_affected = FALSE)
if(hud_used && hud_used.static_inventory)
for(var/obj/screen/sprintbutton/selector in hud_used.static_inventory)