Merge pull request #13 from AlManiak/feature/small-bits-and-bob

Feature/small bits and bob
This commit is contained in:
sheepishgoat
2024-10-29 14:58:51 -04:00
committed by GitHub
20 changed files with 199 additions and 28 deletions
+7
View File
@@ -289,6 +289,13 @@
#define TRAIT_WATER_SPONGE "water_sponge"
#define TRAIT_FATROUSAL "fatrousal"
//GS13 Port
#define TRAIT_HEADPAT_SLUT "headpat_slut"
#define TRAIT_NEVER_CLONE "donotclone"
#define TRAIT_HEAT "heat"
#define TRAIT_DISTANT "headpat_hater"
#define TRAIT_CUM_PLUS "cum_plus"
// mobility flag traits
// IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it)
// BUT FOR NOW, THESE ARE HOOKED TO DO update_mobility() VIA COMSIG IN living_mobility.dm
@@ -54,7 +54,7 @@
mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1)
mid_length = 2
end_sound = 'sound/machines/fryer/deep_fryer_emerge.ogg'
volume = 15
volume = 5
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -65,12 +65,12 @@
volume = 50
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
/datum/looping_sound/deep_fryer
mid_length = 2
mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1)
volume = 30
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/microwave
+1 -1
View File
@@ -190,7 +190,7 @@
// Get targets
var/obj/item/organ/eyes/old_eyes = quirk_holder.getorganslot(ORGAN_SLOT_EYES)
var/obj/item/organ/eyes/robotic/glow/new_eyes = new
// Replace eyes
qdel(old_eyes)
new_eyes.Insert(quirk_holder)
+1
View File
@@ -162,6 +162,7 @@
gain_text = "<span class='notice'>You feel like munching on a can of soda.</span>"
lose_text = "<span class='notice'>You no longer feel like you should be eating trash.</span>"
mob_trait = TRAIT_TRASHCAN
medical_record_text = "Patient has been observed eating inedible garbage."
// GS13 EDIT START
/datum/quirk/trashcan/add()
+6
View File
@@ -410,6 +410,12 @@
if(isbrain(mob_occupant))
dna = B.stored_dna
//GS13 Port - DNC
if(HAS_TRAIT(mob_occupant, TRAIT_NEVER_CLONE))
scantemp = "Subject has an active DNC record on file. Unable to clone."
playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0)
return
if(!can_scan(dna, mob_occupant, FALSE, has_bank_account))
return
+1
View File
@@ -6,6 +6,7 @@
zone = BODY_ZONE_PRECISE_GROIN
slot = ORGAN_SLOT_TESTICLES
size = BALLS_SIZE_MIN
fluid_max_volume = 10
arousal_verb = "Your balls ache a little"
unarousal_verb = "Your balls finally stop aching, again"
linked_organ_slot = ORGAN_SLOT_PENIS
+6
View File
@@ -3720,6 +3720,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(character.custom_body_size)
character.resize(character.custom_body_size)
//GS13 Port - Add back arousal
if(NOAROUSAL in pref_species.species_traits)
character.canbearoused = FALSE
else
character.canbearoused = arousable
//speech stuff
if(custom_tongue != "default")
var/new_tongue = GLOB.roundstart_tongues[custom_tongue]
@@ -131,4 +131,3 @@
reagents.reaction(target, TOUCH)
reagents.clear_reagents()
return
@@ -296,20 +296,40 @@
else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD)
var/datum/species/S
S = dna.species
if(ishuman(src))
S = dna.species
var/mob/living/carbon/human/H = src
//GS13 Port - Headpat slut stuff
if(HAS_TRAIT(H, TRAIT_DISTANT)) //No mood buff since you're not really liking it.
M.visible_message("<span class='notice'>[M] gives [H] a pat on the head to make [p_them()] feel better! They seem annoyed...</span>", \
"<span class='warning'>You give [H] a pat on the head to make [p_them()] feel better! They seem annoyed as they're now glaring towards you...</span>")
H.adjustArousal(-5) //Why are you touching me?
if(prob(5))
M.visible_message("<span class='warning'>[H] quickly twists [M]\'s arm!</span>", \
"<span class='boldwarning'>Your arm gets twisted in [H]\'s grasp. Maybe you should have taken the hint...</span>")
playsound(get_turf(H), 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
M.emote("scream")
M.dropItemToGround(M.get_active_held_item())
M.apply_damage(50, STAMINA, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM))
M.Knockdown(60)//STOP TOUCHING ME! For those spam head pat individuals
else if(HAS_TRAIT(H, TRAIT_HEADPAT_SLUT))
M.visible_message("<span class='notice'>[M] gives [H] a pat on the head to make [p_them()] feel better! They seem incredibly pleased!</span>", \
"<span class='notice'>You give [H] a pat on the head to make [p_them()] feel better! They seem to like it way too much</span>")
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "lewd_headpat", /datum/mood_event/lewd_headpat)
H.adjustArousal(5) //Headpats are hot af
else
M.visible_message("<span class='notice'>[M] gives [H] a pat on the head to make [p_them()] feel better!</span>", \
"<span class='notice'>You give [H] a pat on the head to make [p_them()] feel better!</span>")
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat)
M.visible_message("<span class='notice'>[M] gives [src] a pat on the head to make [p_them()] feel better!</span>", \
"<span class='notice'>You give [src] a pat on the head to make [p_them()] feel better!</span>", target = src,
target_message = "<span class='notice'>[M] gives you a pat on the head to make you feel better!</span>")
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat)
friendly_check = TRUE
if(!(client?.prefs.cit_toggles & NO_AUTO_WAG))
if(S?.can_wag_tail(src) && !dna.species.is_wagging_tail())
var/static/list/many_tails = list("tail_human", "tail_lizard", "mam_tail")
for(var/T in many_tails)
if(S.mutant_bodyparts[T] && dna.features[T] != "None")
emote("wag")
if(!(HAS_TRAIT(src, TRAIT_DISTANT)))
if(!(client?.prefs.cit_toggles & NO_AUTO_WAG))
if(S?.can_wag_tail(src) && !dna.species.is_wagging_tail())
var/static/list/many_tails = list("tail_human", "tail_lizard", "mam_tail")
for(var/T in many_tails)
if(S.mutant_bodyparts[T] && dna.features[T] != "None")
emote("wag")
else if(check_zone(M.zone_selected) == BODY_ZONE_R_ARM || check_zone(M.zone_selected) == BODY_ZONE_L_ARM)
if((pulling == M) && (grab_state == GRAB_PASSIVE))
@@ -107,6 +107,11 @@
if(wear_id)
. += "[t_He] [t_is] wearing [wear_id.get_examine_string(user)]."
//GS13 Port
//Heat Detection
//if(breedable)
if(HAS_TRAIT(src, TRAIT_HEAT))
. += "<span class='love'>[t_He] [t_is] currently in heat.</span>"
//Status effects
var/effects_exam = status_effect_examines()
if(!isnull(effects_exam))
@@ -546,13 +546,6 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species)
//GS13 Port - Add back arousal
if(NOAROUSAL in species_traits)
C.canbearoused = FALSE
else
if(C.client)
C.canbearoused = C.client?.prefs?.arousable
/datum/species/proc/update_species_slowdown(mob/living/carbon/human/H)
H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/species, TRUE, multiplicative_slowdown = speedmod)
+5 -1
View File
@@ -35,7 +35,11 @@
/obj/item/reagent_containers/food/drinks/soda_cans/sol_dry = 8,
/obj/item/reagent_containers/food/drinks/ice = 10,
/obj/item/reagent_containers/food/drinks/flask = 3,
/obj/item/reagent_containers/food/drinks/beer = 6)
/obj/item/reagent_containers/food/drinks/beer = 6,
/obj/item/reagent_containers/food/drinks/flask/paper_cup/small = 20,
/obj/item/reagent_containers/food/drinks/flask/paper_cup/medium = 20,
/obj/item/reagent_containers/food/drinks/flask/paper_cup/big = 20,
/obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big = 15)
contraband = list(/obj/item/reagent_containers/food/drinks/mug/tea = 12,
/obj/item/reagent_containers/food/drinks/bottle/fernet = 5)
premium = list(/obj/item/reagent_containers/glass/bottle/ethanol = 4,