Merge remote-tracking branch 'citadel/master' into mobility_flags

This commit is contained in:
kevinz000
2020-02-18 18:16:34 -07:00
469 changed files with 5773 additions and 2579 deletions
@@ -14,6 +14,13 @@
saltresult += "[saltprimarysubject] [saltsecondarysubject]"
return "[saltresult]!"
/datum/tgs_chat_command/valentine
name = "valentine"
help_text = "Get a random flirt line."
/datum/tgs_chat_command/valentine/Run(datum/tgs_chat_user/sender, params)
return "[pick(GLOB.flirts)]"
/datum/tgs_chat_command/despacito
name = "despacito" //someone please high effort this sometime and make it a full on ytdl search
help_text = "This is so sad."
@@ -20,16 +20,13 @@
var/linked_organ_slot //used for linking an apparatus' organ to its other half on update_link().
var/layer_index = GENITAL_LAYER_INDEX //Order should be very important. FIRST vagina, THEN testicles, THEN penis, as this affects the order they are rendered in.
/obj/item/organ/genital/Initialize(mapload, mob/living/carbon/human/H)
/obj/item/organ/genital/Initialize(mapload, do_update = TRUE)
. = ..()
if(fluid_id)
create_reagents(fluid_max_volume)
create_reagents(fluid_max_volume, NONE, NO_REAGENTS_VALUE)
if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION))
reagents.add_reagent(fluid_id, fluid_max_volume)
if(H)
get_features(H)
Insert(H)
else
if(do_update)
update()
/obj/item/organ/genital/proc/set_aroused_state(new_state)
@@ -221,7 +218,9 @@
/mob/living/carbon/human/proc/give_genital(obj/item/organ/genital/G)
if(!dna || (NOGENITALS in dna.species.species_traits) || getorganslot(initial(G.slot)))
return FALSE
G = new G(null, src)
G = new G(null, FALSE)
G.get_features(src)
G.Insert(src)
return G
/obj/item/organ/genital/proc/get_features(mob/living/carbon/human/H)
@@ -247,13 +246,13 @@
/mob/living/carbon/human/proc/update_genitals()
if(QDELETED(src))
return
var/static/list/relevant_layers
if(!relevant_layers)
relevant_layers = list()
relevant_layers[GENITALS_BEHIND_LAYER] = "BEHIND"
relevant_layers[GENITALS_FRONT_LAYER] = "FRONT"
var/static/list/relevant_layers = list("[GENITALS_BEHIND_LAYER]" = "BEHIND", "[GENITALS_FRONT_LAYER]" = "FRONT")
var/static/list/layers_num
if(!layers_num)
for(var/L in relevant_layers)
LAZYSET(layers_num, L, text2num(L))
for(var/L in relevant_layers) //Less hardcode
remove_overlay(L)
remove_overlay(layers_num[L])
remove_overlay(GENITALS_EXPOSED_LAYER)
if(!LAZYLEN(internal_organs) || ((NOGENITALS in dna.species.species_traits) && !genital_override) || HAS_TRAIT(src, TRAIT_HUSK))
return
@@ -317,17 +316,18 @@
genital_overlay.layer = -GENITALS_EXPOSED_LAYER
LAZYADD(fully_exposed, genital_overlay) // to be added to a layer with higher priority than clothes, hence the name of the bitflag.
else
genital_overlay.layer = -layers_num[layer]
standing += genital_overlay
if(LAZYLEN(standing))
overlays_standing[layer] = standing
overlays_standing[layers_num[layer]] = standing
if(LAZYLEN(fully_exposed))
overlays_standing[GENITALS_EXPOSED_LAYER] = fully_exposed
apply_overlay(GENITALS_EXPOSED_LAYER)
for(var/L in relevant_layers)
apply_overlay(L)
apply_overlay(layers_num[L])
//Checks to see if organs are new on the mob, and changes their colours so that they don't get crazy colours.
@@ -22,8 +22,8 @@
var/cached_size //these two vars pertain size modifications and so should be expressed in NUMBERS.
var/prev_size //former cached_size value, to allow update_size() to early return should be there no significant changes.
/obj/item/organ/genital/breasts/Initialize(mapload, mob/living/carbon/human/H)
if(!H)
/obj/item/organ/genital/breasts/Initialize(mapload, do_update = TRUE)
if(do_update)
cached_size = breast_values[size]
prev_size = cached_size
return ..()
@@ -14,13 +14,10 @@
emote_type = EMOTE_AUDIBLE
/datum/emote/living/insult/run_emote(mob/living/user, params)
var/insult_message = ""
var/miming = user.mind ? user.mind.miming : 0
if(!user.is_muzzled())
insult_message += pick_list_replacements(INSULTS_FILE, "insult_gen")
message = insult_message
else if(miming)
if(user.mind?.miming)
message = "creatively gesticulates."
else if(!user.is_muzzled())
message = pick_list_replacements(INSULTS_FILE, "insult_gen")
else
message = "muffles something."
. = ..()
@@ -36,7 +33,7 @@
sound = 'modular_citadel/sound/voice/scream_silicon.ogg'
if(iscyborg(user))
var/mob/living/silicon/robot/S = user
if(S.cell.charge < 20)
if(S.cell?.charge < 20)
to_chat(S, "<span class='warning'>Scream module deactivated. Please recharge.</span>")
return
S.cell.use(200)
@@ -1,7 +1,3 @@
/obj/item/gun/energy/e_gun
name = "blaster carbine"
desc = "A high powered particle blaster carbine with varitable setting for stunning or lethal applications."
/*/////////////////////////////////////////////////////////////////////////////////////////////
The Recolourable Energy Gun
*//////////////////////////////////////////////////////////////////////////////////////////////
@@ -1,11 +0,0 @@
/obj/item/gun/energy/laser
name = "blaster rifle"
desc = "a high energy particle blaster, efficient and deadly."
/obj/item/gun/energy/laser/practice
icon = 'modular_citadel/icons/obj/guns/energy.dmi'
icon_state = "laser-p"
lefthand_file = 'modular_citadel/icons/mob/inhands/OVERRIDE_guns_lefthand.dmi'
righthand_file = 'modular_citadel/icons/mob/inhands/OVERRIDE_guns_righthand.dmi'
ammo_x_offset = 1
shaded_charge = 1