mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2026-08-29 15:50:10 +01:00
new tails!!!!!!
don't look into the rest of the code please haha
This commit is contained in:
@@ -144,6 +144,7 @@ GLOBAL_LIST_INIT(pred_release_sounds, list(
|
||||
"Fart 5" = 'modular_splurt/sound/voice/farts/fart5.ogg',
|
||||
"Fart 6" = 'modular_splurt/sound/voice/farts/fart6.ogg',
|
||||
"Fart 7" = 'modular_splurt/sound/voice/farts/fart7.ogg',
|
||||
"Fart 8" = 'modular_splurt/sound/voice/farts/fart8.ogg',
|
||||
"Burp 1" = 'modular_splurt/sound/voice/burps/belch1.ogg',
|
||||
"Burp 2" = 'modular_splurt/sound/voice/burps/belch2.ogg',
|
||||
"Burp 3" = 'modular_splurt/sound/voice/burps/belch3.ogg',
|
||||
@@ -180,6 +181,7 @@ GLOBAL_LIST_INIT(prey_release_sounds, list(
|
||||
"Fart 5" = 'modular_splurt/sound/voice/farts/fart5.ogg',
|
||||
"Fart 6" = 'modular_splurt/sound/voice/farts/fart6.ogg',
|
||||
"Fart 7" = 'modular_splurt/sound/voice/farts/fart7.ogg',
|
||||
"Fart 8" = 'modular_splurt/sound/voice/farts/fart8.ogg',
|
||||
"Burp 1" = 'modular_splurt/sound/voice/burps/belch1.ogg',
|
||||
"Burp 2" = 'modular_splurt/sound/voice/burps/belch2.ogg',
|
||||
"Burp 3" = 'modular_splurt/sound/voice/burps/belch3.ogg',
|
||||
|
||||
@@ -6,5 +6,6 @@ GLOBAL_LIST_INIT(brap_noises, list(
|
||||
'modular_splurt/sound/voice/farts/fart4.ogg',
|
||||
'modular_splurt/sound/voice/farts/fart5.ogg',
|
||||
'modular_splurt/sound/voice/farts/fart6.ogg',
|
||||
'modular_splurt/sound/voice/farts/fart7.ogg'
|
||||
'modular_splurt/sound/voice/farts/fart7.ogg',
|
||||
'modular_splurt/sound/voice/farts/fart8.ogg'
|
||||
))
|
||||
|
||||
@@ -1,3 +1,65 @@
|
||||
/mob/living/proc/do_breastsmother(mob/living/target)
|
||||
var/message
|
||||
var/u_His = p_their()
|
||||
var/titties = list("breasts", "boobs", "milkers", "milktanks", "boobers", "titties", "tits", "tatas", "mammaries")
|
||||
var/list/lines = list(
|
||||
"squishes <b>[target]</b>'s face [pick(list("in between", "with"))] [u_His] [pick(titties)]",
|
||||
"presses [u_His] [pick(titties)] into \the <b>[target]</b>'s face",
|
||||
"shoves \the <b>[target]</b>'s whole head into [u_His] cleavage"
|
||||
)
|
||||
|
||||
message = "<span class='lewd'>\The <b>[src]</b> [pick(lines)]</span>"
|
||||
visible_message(message, ignored_mobs = get_unconsenting())
|
||||
playlewdinteractionsound(loc, pick('modular_sand/sound/interactions/bang1.ogg',
|
||||
'modular_sand/sound/interactions/bang2.ogg',
|
||||
'modular_sand/sound/interactions/bang3.ogg'), 70, 1, -1)
|
||||
|
||||
/mob/living/proc/lick_sweat(mob/living/target)
|
||||
var/message
|
||||
var/t_His = target.p_their()
|
||||
var/list/lines = list("licks \the <b>[target]</b>'s sweat off [t_His] body",
|
||||
"slurps the salty sweat running through <b>[target]</b>'s skin",
|
||||
"has a nice taste of \the <b>[target]</b>'s drenched body",
|
||||
"takes a whiff of \the <b>[target]</b>'s musk and drinks [t_His] warm sweat")
|
||||
|
||||
message = "<span class='lewd'>\The <b>[src]</b> [pick(lines)]"
|
||||
visible_message(message, ignored_mobs = get_unconsenting())
|
||||
playlewdinteractionsound(loc, 'modular_sand/sound/interactions/champ_fingering.ogg', 50, 1, -1)
|
||||
|
||||
/mob/living/proc/smother_armpit(mob/living/target)
|
||||
var/message
|
||||
var/u_His = p_their()
|
||||
var/list/musk = list("musky ", "sweaty ", "damp ", "smelly ", "")
|
||||
var/list/lines = list(
|
||||
"shoves \the <b>[target]</b>'s face in [u_His] [pick(musk)] armpit",
|
||||
"squeezes \the <b>[target]</b>'s nose under [u_His] [pick(musk)] pit",
|
||||
"makes sure to squeeze \the <b>[target]</b>'s face well under [u_His] [pick(musk)] armpit and let them take a whiff"
|
||||
)
|
||||
|
||||
message = "<span class='lewd'>\The <b>[src]</b> [pick(lines)]"
|
||||
visible_message(message, ignored_mobs = get_unconsenting())
|
||||
playlewdinteractionsound(loc, pick(
|
||||
'modular_sand/sound/interactions/squelch1.ogg',
|
||||
'modular_sand/sound/interactions/squelch2.ogg',
|
||||
'modular_sand/sound/interactions/squelch3.ogg'), 50, 1, -1)
|
||||
|
||||
/mob/living/proc/lick_armpit(mob/living/target)
|
||||
var/message
|
||||
var/u_His = p_their()
|
||||
var/list/musk = list("musky ", "sweaty ", "damp ", "smelly ", "")
|
||||
var/list/lines = list(
|
||||
"shoves [u_His] nose deep into \the <b>[target]</b>'s armpit, giving it a big [pick(list("whiff", "lick", "nuzzle"))].",
|
||||
"presses [u_His] face under \the <b>[target]</b>'s [pick(musk)] pit, [pick(list("tasting and lapping it all over", "sniffing its scent"))]",
|
||||
"goes face deep into \the <b>[target]</b> [pick(musk)] armpit, worshipping it with [u_His] tongue and nose"
|
||||
)
|
||||
|
||||
message = "<span class='lewd'>\The <b>[src]</b> [pick(lines)]</span>"
|
||||
visible_message(message, ignored_mobs = get_unconsenting())
|
||||
playlewdinteractionsound(loc, pick(
|
||||
'modular_sand/sound/interactions/squelch1.ogg',
|
||||
'modular_sand/sound/interactions/squelch2.ogg',
|
||||
'modular_sand/sound/interactions/squelch3.ogg'), 50, 1, -1)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
///////// U N H O L Y /////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -180,6 +242,43 @@
|
||||
|
||||
message = "<span class='lewd'>\The <b>[src]</b> [pick(hell)]"
|
||||
visible_message(message, ignored_mobs = get_unconsenting(unholy = TRUE))
|
||||
playlewdinteractionsound(loc, pick(GLOB.brap_noises), 50, 1, -1)
|
||||
playlewdinteractionsound(loc, pick(GLOB.brap_noises), 70, 1, -1)
|
||||
playlewdinteractionsound(loc, pick('modular_sand/sound/interactions/bang1.ogg',
|
||||
'modular_sand/sound/interactions/bang2.ogg',
|
||||
'modular_sand/sound/interactions/bang3.ogg',
|
||||
'modular_sand/sound/interactions/bang4.ogg',
|
||||
'modular_sand/sound/interactions/bang5.ogg',
|
||||
'modular_sand/sound/interactions/bang6.ogg'), 70, 1, -1)
|
||||
handle_post_sex(NORMAL_LUST, CUM_TARGET_ANUS, target)
|
||||
target.handle_post_sex(NORMAL_LUST, null, src)
|
||||
|
||||
/mob/living/proc/piss_over(mob/living/target)
|
||||
var/message
|
||||
var/u_His = p_their()
|
||||
var/list/hell = list(
|
||||
"relieves [u_His] bladder all over \the <b>[target]</b>[pick(list("", "'s body"))]",
|
||||
"starts coating all of \the <b>[target]</b>'s body in warm piss",
|
||||
"lets out a moan of relief as yellow rain starts pouring over \the <b>[target]</b>"
|
||||
)
|
||||
|
||||
message = "<span class='lewd'>\The <b>[src]</b> [pick(hell)]</span>"
|
||||
visible_message(message, ignored_mobs = get_unconsenting(unholy = TRUE))
|
||||
if(get_lust() < 10)
|
||||
add_lust(10)
|
||||
|
||||
/mob/living/carbon/proc/piss_mouth(mob/living/target)
|
||||
var/message
|
||||
var/pee_pee = (has_penis(REQUIRE_EXPOSED) ? getorganslot(ORGAN_SLOT_PENIS) : (has_vagina(REQUIRE_EXPOSED) ? getorganslot(ORGAN_SLOT_VAGINA) : null))
|
||||
var/u_His = p_their()
|
||||
var/t_Him = target.p_them()
|
||||
var/list/hell = list(
|
||||
"relieves [u_His] bladder inside \the <b>[target]</b>'s mouth [pick(list("filling it with [pick(list("warm", "salty"))] yellow goodness", "making [t_Him] taste all of that piss"))]",
|
||||
"coats the back of \the <b>[target]</b>'s throat with [u_His] golden treat",
|
||||
"lets out a moan of relief as yellow rain starts pouring in between \the <b>[target]</b>'s lips"
|
||||
)
|
||||
|
||||
message = "<span class='lewd'>\The <b>[src]</b> [pick(hell)]</span>"
|
||||
visible_message(message, ignored_mobs = get_unconsenting(unholy = TRUE))
|
||||
if(!is_fucking(target, CUM_TARGET_MOUTH))
|
||||
set_is_fucking(target, CUM_TARGET_MOUTH, pee_pee)
|
||||
handle_post_sex(NORMAL_LUST, CUM_TARGET_MOUTH, target)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* TODO: Finish these tomorrow
|
||||
/datum/interaction/lewd/do_breastsmother
|
||||
command = "do_breastsmother"
|
||||
description = "Smother them in your breasts"
|
||||
@@ -8,6 +7,9 @@
|
||||
write_log_target = "got breast smothered by"
|
||||
write_log_user = null
|
||||
|
||||
/datum/interaction/lewd/do_breastsmother/display_interaction(mob/living/user, mob/living/target)
|
||||
user.do_breastsmother(target)
|
||||
|
||||
/datum/interaction/lewd/lick_sweat
|
||||
command = "lick_sweat"
|
||||
description = "Lick their sweat"
|
||||
@@ -17,14 +19,19 @@
|
||||
write_log_target = "got their sweat licked by"
|
||||
write_log_user = "licked sweat"
|
||||
|
||||
/datum/interaction/lewd/lick_sweat/display_interaction(mob/living/user, mob/living/target)
|
||||
user.lick_sweat(target)
|
||||
|
||||
/datum/interaction/lewd/smother_armpit
|
||||
command = "smother_armpit"
|
||||
description = "Press your armpit against their face"
|
||||
require_target_mouth = TRUE
|
||||
max_distance = 1
|
||||
interaction_sound = null
|
||||
write_log_target = "Got armpit smothered by"
|
||||
wtrite_log_user = "Smothered someone in their armpit"
|
||||
write_log_user = "Smothered someone in their armpit"
|
||||
|
||||
/datum/interaction/lewd/smother_armpit/display_interaction(mob/living/user, mob/living/target)
|
||||
user.smother_armpit(target)
|
||||
|
||||
/datum/interaction/lewd/lick_armpit
|
||||
command = "lick_armpit"
|
||||
@@ -32,9 +39,11 @@
|
||||
require_user_mouth = TRUE
|
||||
max_distance = 1
|
||||
interaction_sound = null
|
||||
write_log_target = "Got their armpit licked by"
|
||||
write_log_target = "Got dem armpit ate by"
|
||||
write_log_user = "ate some armpit"
|
||||
*/
|
||||
|
||||
/datum/interaction/lewd/lick_armpit/display_interaction(mob/living/user, mob/living/target)
|
||||
user.lick_armpit(target)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
///////// U N H O L Y /////////
|
||||
@@ -115,3 +124,30 @@
|
||||
|
||||
/datum/interaction/lewd/unholy/do_shitfuck/display_interaction(mob/living/user, mob/living/target)
|
||||
user.do_shitfuck(target)
|
||||
|
||||
/datum/interaction/lewd/unholy/piss_over
|
||||
command = "piss_over"
|
||||
description = "Piss all over them"
|
||||
require_user_bottomless = TRUE
|
||||
max_distance = 1
|
||||
interaction_sound = null
|
||||
write_log_target = "got pissed all over by"
|
||||
|
||||
/datum/interaction/lewd/unholy/piss_over/display_interaction(mob/living/user, mob/living/target)
|
||||
user.piss_over(target)
|
||||
|
||||
/datum/interaction/lewd/unholy/piss_mouth
|
||||
command = "piss_mouth"
|
||||
description = "Piss inside their mouth"
|
||||
max_distance = 1
|
||||
interaction_sound = null
|
||||
require_user_bottomless = TRUE
|
||||
require_target_mouth = TRUE
|
||||
write_log_user = "pissed in someone's mouth"
|
||||
write_log_target = "got their mouth filled with piss by"
|
||||
|
||||
/datum/interaction/lewd/unholy/piss_mouth/display_interaction(mob/living/carbon/user, mob/living/target)
|
||||
if(!istype(user))
|
||||
to_chat(user, "<span class='warning'>Erm, you may wanna be a carbon entity fo dat</span>")
|
||||
return
|
||||
user.piss_mouth(target)
|
||||
|
||||
@@ -1,4 +1,134 @@
|
||||
//Hyper tails
|
||||
|
||||
//Mam tails
|
||||
/datum/sprite_accessory/tails/mam_tails/deer
|
||||
name = "Deer"
|
||||
icon_state = "deer"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails_animated/mam_tails_animated/deer
|
||||
name = "Deer"
|
||||
icon_state = "deer"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails/mam_tails/spade
|
||||
name = "Demon spade"
|
||||
icon_state = "spade"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails_animated/mam_tails_animated/spade
|
||||
name = "Demon spade"
|
||||
icon_state = "spade"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails/mam_tails/tailmaw
|
||||
name = "Tailmaw"
|
||||
icon_state = "tailmaw"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails_animated/mam_tails_animated/tailmaw
|
||||
name = "Tailmaw"
|
||||
icon_state = "tailmaw"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails/mam_tails/snaketail
|
||||
name = "Snake tail"
|
||||
icon_state = "snaketail"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails_animated/mam_tails_animated/snaketail
|
||||
name = "Snake tail"
|
||||
icon_state = "snaketail"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails/mam_tails/chemlight
|
||||
name = "Chemlight"
|
||||
icon_state = "chemlight"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_ALL
|
||||
|
||||
/datum/sprite_accessory/tails_animated/mam_tails_animated/chemlight
|
||||
name = "Chemlight"
|
||||
icon_state = "chemlight"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_ALL
|
||||
|
||||
/datum/sprite_accessory/tails/mam_tails/gecko
|
||||
name = "Gecko"
|
||||
icon_state = "gecko"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_ALL
|
||||
|
||||
/datum/sprite_accessory/tails_animated/mam_tails_animated/gecko
|
||||
name = "Gecko"
|
||||
icon_state = "gecko"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_ALL
|
||||
|
||||
//Lizard tails
|
||||
/datum/sprite_accessory/tails/lizard/tailmaw
|
||||
name = "Tailmaw"
|
||||
icon_state = "tailmaw"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails_animated/lizard/tailmaw
|
||||
name = "Tailmaw"
|
||||
icon_state = "tailmaw"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails/lizard/snaketail
|
||||
name = "Snake tail"
|
||||
icon_state = "snaketail"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails_animated/lizard/snaketail
|
||||
name = "Snake tail"
|
||||
icon_state = "snaketail"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails/lizard/gecko
|
||||
name = "Gecko"
|
||||
icon_state = "gecko"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_ALL
|
||||
|
||||
/datum/sprite_accessory/tails_animated/lizard/gecko
|
||||
name = "Gecko"
|
||||
icon_state = "gecko"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_ALL
|
||||
|
||||
//Human tails
|
||||
/datum/sprite_accessory/tails/human/deer
|
||||
name = "Deer"
|
||||
icon_state = "deer"
|
||||
@@ -13,16 +143,30 @@
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails/mam_tails/deer
|
||||
name = "Deer"
|
||||
icon_state = "deer"
|
||||
/datum/sprite_accessory/tails/human/tailmaw
|
||||
name = "Tailmaw"
|
||||
icon_state = "tailmaw"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails_animated/mam_tails_animated/deer
|
||||
name = "Deer"
|
||||
icon_state = "deer"
|
||||
/datum/sprite_accessory/tails_animated/human/tailmaw
|
||||
name = "Tailmaw"
|
||||
icon_state = "tailmaw"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails/human/snaketail
|
||||
name = "Snake tail"
|
||||
icon_state = "snaketail"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
/datum/sprite_accessory/tails_animated/human/snaketail
|
||||
name = "Snake tail"
|
||||
icon_state = "snaketail"
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_splurt/icons/mob/mam_tails.dmi'
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 4.9 KiB |
Binary file not shown.
Reference in New Issue
Block a user