mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-18 19:39:53 +01:00
Merge branch 'master' into Kristopher-Uniform-Patreon
This commit is contained in:
@@ -321,7 +321,7 @@
|
||||
setArousalLoss(min_arousal)
|
||||
|
||||
|
||||
/mob/living/carbon/human/proc/mob_climax_partner(obj/item/organ/genital/G, mob/living/L, spillage = TRUE, impreg = FALSE,cover = FALSE, mb_time = 30) //Used for climaxing with any living thing
|
||||
/mob/living/carbon/human/proc/mob_climax_partner(obj/item/organ/genital/G, mob/living/L, spillage = TRUE, impreg = FALSE,cover = FALSE,remote = FALSE, mb_time = 30) //Used for climaxing with any living thing
|
||||
var/total_fluids = 0
|
||||
var/datum/reagents/fluid_source = null
|
||||
|
||||
@@ -334,10 +334,14 @@
|
||||
fluid_source = G.linked_organ.reagents
|
||||
total_fluids = fluid_source.total_volume
|
||||
|
||||
if(mb_time) //Skip warning if this is an instant climax.
|
||||
if(mb_time && !remote) //Skip warning if this is an instant climax.
|
||||
src.visible_message("<span class='love'>[src] is about to climax with [L]!</span>", \
|
||||
"<span class='userlove'>You're about to climax with [L]!</span>", \
|
||||
"<span class='userlove'>You're preparing to climax with something!</span>")
|
||||
if(remote)
|
||||
src.visible_message("<span class='love'>[src] is about to climax with someone!</span>", \
|
||||
"<span class='userlove'>You're about to climax with someone!</span>", \
|
||||
"<span class='userlove'>You're preparing to climax with something!</span>")
|
||||
|
||||
if(cover)//covering the partner in cum, this overrides other options.
|
||||
if(do_after(src, mb_time, target = src) && in_range(src, L))
|
||||
@@ -369,7 +373,9 @@
|
||||
setArousalLoss(min_arousal)
|
||||
|
||||
if(spillage && !cover)
|
||||
if(do_after(src, mb_time, target = src) && in_range(src, L))
|
||||
if(do_after(src, mb_time, target = src))
|
||||
if(!in_range(src, L) && !remote)
|
||||
return
|
||||
fluid_source.trans_to(L, total_fluids*G.fluid_transfer_factor)
|
||||
total_fluids -= total_fluids*G.fluid_transfer_factor
|
||||
if(total_fluids > 5)
|
||||
@@ -411,19 +417,21 @@
|
||||
|
||||
if(impreg)
|
||||
//Role them odds, only people with the dicks can send the chance to the person with the settings enabled at the momment.
|
||||
var/obj/item/organ/genital/womb/W = L.getorganslot("womb")
|
||||
if (L.breedable == 1 && W.pregnant == 0) //Dont get pregnant again, if you are pregnant.
|
||||
log_game("Debug: [L] has been impregnated by [src]")
|
||||
to_chat(L, "<span class='userlove'>You feel your hormones change, and a motherly instinct take over.</span>") //leting them know magic has happened.
|
||||
W.pregnant = 1
|
||||
if (HAS_TRAIT(L, TRAIT_HEAT))
|
||||
SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "heat", /datum/mood_event/heat) //well done you perv.
|
||||
REMOVE_TRAIT(L, TRAIT_HEAT, type) //take the heat away, you satisfied it!
|
||||
if(prob(L.impregchance))
|
||||
var/obj/item/organ/genital/womb/W = L.getorganslot("womb")
|
||||
if(W) //check if they have a womb.
|
||||
if (L.breedable == 1 && W.pregnant == 0) //Dont get pregnant again, if you are pregnant.
|
||||
log_game("Debug: [L] has been impregnated by [src]")
|
||||
to_chat(L, "<span class='userlove'>You feel your hormones change, and a motherly instinct take over.</span>") //leting them know magic has happened.
|
||||
W.pregnant = 1
|
||||
if (HAS_TRAIT(L, TRAIT_HEAT))
|
||||
SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "heat", /datum/mood_event/heat) //well done you perv.
|
||||
REMOVE_TRAIT(L, TRAIT_HEAT, type) //take the heat away, you satisfied it!
|
||||
|
||||
//Make breasts produce quicker.
|
||||
var/obj/item/organ/genital/breasts/B = L.getorganslot("breasts")
|
||||
if (B.fluid_mult < 0.5 && B)
|
||||
B.fluid_mult = 0.5
|
||||
//Make breasts produce quicker.
|
||||
var/obj/item/organ/genital/breasts/B = L.getorganslot("breasts")
|
||||
if (B.fluid_mult < 0.5 && B)
|
||||
B.fluid_mult = 0.5
|
||||
|
||||
|
||||
/mob/living/carbon/human/proc/mob_fill_container(obj/item/organ/genital/G, obj/item/reagent_containers/container, mb_time = 30) //For beaker-filling, beware the bartender
|
||||
@@ -458,9 +466,10 @@
|
||||
if(do_after(src, mb_time, target = src) && in_range(src, container))
|
||||
fluid_source.trans_to(container, total_fluids)
|
||||
src.visible_message("<span class='love'>[src] uses [p_their()] [G.name] to fill [container]!</span>", \
|
||||
"<span class='userlove'>You used your [G.name] to fill [container].</span>", \
|
||||
"<span class='userlove'>You used your [G.name] and fill [container] with a total of [total_fluids]u's.</span>", \
|
||||
"<span class='userlove'>You have relieved some pressure.</span>")
|
||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
|
||||
container.add_cum_overlay() //your aim is bad...
|
||||
if(G.can_climax)
|
||||
setArousalLoss(min_arousal)
|
||||
|
||||
@@ -491,7 +500,7 @@
|
||||
if(!G.dontlist)
|
||||
genitals_list += G
|
||||
if(genitals_list.len)
|
||||
ret_organ = input(src, "", "Gentials", null) as null|obj in genitals_list
|
||||
ret_organ = input(src, "", "Genitals", null) as null|obj in genitals_list
|
||||
return ret_organ
|
||||
return null //error stuff
|
||||
|
||||
|
||||
@@ -430,12 +430,12 @@
|
||||
//otherwise, appear under clothing
|
||||
if(G.slot == "penis" || G.slot == "testicles")
|
||||
if(G.size < 3) //is actually "less than 11 inches"
|
||||
genital_overlay.layer = -GENITALS_UNDER_LAYER
|
||||
genital_overlay.layer = -GENITALS_UNDER_LAYER
|
||||
if(G.slot == "breasts")
|
||||
var/obj/item/organ/genital/breasts/B = G
|
||||
if(B.cached_size < 8) //anything smaller than a g-cup
|
||||
genital_overlay.layer = -GENITALS_UNDER_LAYER
|
||||
|
||||
|
||||
//Get the icon
|
||||
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[aroused_state]_[layertext]"
|
||||
colourcode = S.color_src
|
||||
|
||||
@@ -99,16 +99,23 @@
|
||||
path = /obj/item/clothing/head/crystalline
|
||||
ckeywhitelist = list("dragontrance")
|
||||
|
||||
/datum/gear/lyricalpawsplush
|
||||
name = "Winter Dawn Plushie"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/toy/plush/mammal/lyricalpaws
|
||||
ckeywhitelist = list("lyricalpaws")
|
||||
|
||||
/datum/gear/lyricalpawssuit
|
||||
name = "Fleet Commander's Overcoat"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/chloe
|
||||
path = /obj/item/clothing/suit/chloe
|
||||
ckeywhitelist = list("lyricalpaws")
|
||||
|
||||
/datum/gear/lyricalpawshat
|
||||
name = "Fleet Commander's Beret"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/clothing/head/chloe
|
||||
cost = 0
|
||||
ckeywhitelist = list("lyricalpaws")
|
||||
|
||||
datum/gear/darksabresheath
|
||||
name = "Dark Sabre Sheath"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/storage/belt/sabre/chloesabre
|
||||
ckeywhitelist = list("lyricalpaws")
|
||||
|
||||
/datum/gear/cherostavikmask
|
||||
|
||||
@@ -175,12 +175,12 @@
|
||||
name = "Teal Lipstick"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/lipstick/teal
|
||||
|
||||
|
||||
/datum/gear/lipstick_fuchsia
|
||||
name = "Fuchsia Lipstick"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/lipstick/fuchsia
|
||||
|
||||
|
||||
/datum/gear/lipstick_navy
|
||||
name = "Navy Blue Lipstick"
|
||||
category = SLOT_IN_BACKPACK
|
||||
@@ -196,6 +196,46 @@
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/lipstick/white
|
||||
|
||||
/datum/gear/nailpolish_red
|
||||
name = "Red Nail Polish"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/nailpolish/red
|
||||
|
||||
/datum/gear/nailpolish_blue
|
||||
name = "Blue Nail Polish"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/nailpolish/blue
|
||||
|
||||
/datum/gear/nailpolish_aqua
|
||||
name = "Cyan Nail Polish"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/nailpolish/aqua
|
||||
|
||||
/datum/gear/nailpolish_black
|
||||
name = "Black Nail Polish"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/nailpolish/black
|
||||
|
||||
/datum/gear/nailpolish_white
|
||||
name = "White Nail Polish"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/nailpolish/white
|
||||
|
||||
/datum/gear/nailpolish_navy
|
||||
name = "Navy Nail Polish"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/nailpolish/navy
|
||||
|
||||
/datum/gear/nailpolish_yellow
|
||||
name = "Yellow Nail Polish"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/nailpolish/yellow
|
||||
|
||||
/datum/gear/nailpolish_purple
|
||||
name = "Purple Nail Polish"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/nailpolish/purple
|
||||
|
||||
/datum/gear/condom
|
||||
name = "Condom"
|
||||
category = SLOT_IN_BACKPACK
|
||||
|
||||
@@ -50,8 +50,8 @@ GLOBAL_LIST_EMPTY(loadout_whitelist_ids)
|
||||
var/path //item-to-spawn path
|
||||
var/cost = 1 //normally, each loadout costs a single point.
|
||||
var/geargroupID //defines the ID that the gear inherits from the config
|
||||
var/list/restricted_roles
|
||||
var/list/ckeywhitelist
|
||||
var/list/restricted_roles = list()
|
||||
var/list/ckeywhitelist = list()
|
||||
var/restricted_desc
|
||||
var/blacklist_join_equip = FALSE //If we don't equip this when we join
|
||||
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
datum/preferences/copy_to(mob/living/carbon/human/character, icon_updates = 1)
|
||||
..()
|
||||
character.give_genitals(TRUE)
|
||||
character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially
|
||||
character.ooc_text = features["ooc_text"] //Let's update their flavor_text at least initially
|
||||
character.canbearoused = arousable
|
||||
character.client?.prefs.lewdchem = lewdchem
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
WRITE_FILE(S["feature_can_get_preg"], features["can_get_preg"])
|
||||
//flavor text
|
||||
WRITE_FILE(S["feature_flavor_text"], features["flavor_text"])
|
||||
WRITE_FILE(S["feature_silicon_flavor_text"], features["silicon_flavor_text"])
|
||||
WRITE_FILE(S["feature_ooc_text"], features["ooc_text"])
|
||||
//custom job titles
|
||||
WRITE_FILE(S["alt_titles_preferences"], alt_titles_preferences)
|
||||
|
||||
@@ -1558,6 +1558,14 @@ datum/sprite_accessory/mam_tails/insect
|
||||
name = "Wolf"
|
||||
icon_state = "wolf"
|
||||
|
||||
/datum/sprite_accessory/mam_tails/spade
|
||||
name = "Demon Spade"
|
||||
icon_state = "spade"
|
||||
|
||||
/datum/sprite_accessory/mam_tails_animated/spade
|
||||
name = "Demon Spade"
|
||||
icon_state = "spade"
|
||||
|
||||
/datum/sprite_accessory/mam_tails/synthliz
|
||||
recommended_species = list("synthliz")
|
||||
color_src = MUTCOLORS
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
glass_icon_state = "semen"
|
||||
glass_name = "chalice of semen"
|
||||
glass_desc = "In the Sumerian mythology, Enki - the God of water, was believed to have created the Tigris and Euphrates rivers by masturbating and ejaculating into their empty riverbeds."
|
||||
hydration = 2 * REAGENTS_METABOLISM //thats one way to stay hydrated...
|
||||
|
||||
/datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume)
|
||||
if(!istype(T))
|
||||
@@ -56,7 +55,6 @@
|
||||
color = "#AAAAAA77"
|
||||
can_synth = FALSE
|
||||
nutriment_factor = 0.5 * REAGENTS_METABOLISM
|
||||
hydration = 1 * REAGENTS_METABOLISM //thats one way to stay hydrated...
|
||||
|
||||
/obj/effect/decal/cleanable/femcum
|
||||
name = "female ejaculate"
|
||||
|
||||
Reference in New Issue
Block a user