This commit is contained in:
Metis
2024-09-13 16:53:30 -04:00
parent f9bfd0d3f0
commit 172a2be27d
11 changed files with 91 additions and 36 deletions
@@ -30,27 +30,27 @@
catchphrase = null
icon = 'icons/mob/actions/bloodsucker.dmi'
icon_state = "power_feed"
var/starttime = 0
/obj/item/melee/touch_attack/fatfang/afterattack(atom/target, mob/living/carbon/user, proximity)
if(!proximity || !iscarbon(target))
return FALSE
if(!target || !user.dna.get_mutation(FATFANG).chem_to_add || !user.dna.get_mutation(FATFANG).chem_amount)
var/datum/mutation/human/fatfang/fang = user.dna.get_mutation(FATFANG)
if(!target || !istype(fang) || !fang.chem_to_add || !fang.chem_amount)
return FALSE
target.visible_message("<span class='danger'>[user] nibbles [target]!</span>","<span class='userdanger'>[user] nibbles you!</span>")
if(target == user.pulling && ishuman(user.pulling))
starttime = world.time
user.dna.get_mutation(FATFANG).power.charge_max = 600 * GET_MUTATION_ENERGY(user.dna.get_mutation(FATFANG))
fang.power.charge_max = 600 * GET_MUTATION_ENERGY(fang)
while(starttime + 300 > world.time && in_range(user, target))
if(do_mob(user, target, 10, 0, 1))
target.reagents.add_reagent(user.dna.get_mutation(FATFANG).chem_to_add, (user.dna.get_mutation(FATFANG).chem_amount * GET_MUTATION_POWER(user.dna.get_mutation(FATFANG))/2))
target.reagents.add_reagent(fang.chem_to_add, (fang.chem_amount * GET_MUTATION_POWER(fang)/2))
target.visible_message("<span class='danger'>[user] pumps some venom in [target]!</span>","<span class='userdanger'>[user] pumps some venom in you!</span>")
else
user.dna.get_mutation(FATFANG).power.charge_max = 50 * GET_MUTATION_ENERGY(user.dna.get_mutation(FATFANG))
target.reagents.add_reagent(user.dna.get_mutation(FATFANG).chem_to_add, user.dna.get_mutation(FATFANG).chem_amount * GET_MUTATION_POWER(user.dna.get_mutation(FATFANG)))
user.changeNext_move(50)
fang.power.charge_max = 50 * GET_MUTATION_ENERGY(fang)
target.reagents.add_reagent(fang.chem_to_add, fang.chem_amount * GET_MUTATION_POWER(fang))
//user.changeNext_move(50)
/obj/item/dnainjector/antifang
name = "\improper DNA injector (Anti-The Nibble)"
+4 -4
View File
@@ -9,7 +9,7 @@
return
//allocate a channel if necessary now so its the same for everyone
channel = channel || open_sound_channel()
channel = channel //|| open_sound_channel()
// Looping through the player list has the added bonus of working for mobs inside containers
var/sound/S = sound(get_sfx(soundin))
@@ -18,12 +18,12 @@
var/list/listeners = SSmobs.clients_by_zlevel[z]
if(!ignore_walls) //these sounds don't carry through walls
listeners = listeners & hearers(maxdistance,turf_source)
for(var/P in listeners)
var/mob/M = P
if(!M.client)
continue
if((!M.client?.prefs.cit_toggles & pref))
if(!(M.client?.prefs.cit_toggles & pref))
continue
if(get_dist(M, turf_source) <= maxdistance)
M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff, channel, pressure_affected, S, soundenvwet, soundenvdry)
@@ -31,7 +31,7 @@
var/mob/M = P
if(!M.client)
continue
if((!M.client?.prefs.cit_toggles & pref))
if(!(M.client?.prefs.cit_toggles & pref))
continue
if(get_dist(M, turf_source) <= maxdistance)
M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff, channel, pressure_affected, S, soundenvwet, soundenvdry)
@@ -20,6 +20,7 @@
if(iscarbon(quirk_holder))
var/mob/living/carbon/C = quirk_holder
return C.getArousalLoss()*35
return FALSE
///mob/living/adjust_arousal(amount, updating_arousal=1)
@@ -34,7 +34,7 @@
. += mutable_appearance('GainStation13/icons/mob/modclothes/chefmodular.dmi', "belly_[G.size]_d", GENITALS_UNDER_LAYER)
else
. += mutable_appearance('GainStation13/icons/mob/modclothes/chefmodular.dmi', "belly_9_d", GENITALS_UNDER_LAYER)
if(istype(O, /obj/item/organ/genital/anus))
if(istype(O, /obj/item/organ/genital/butt))
G = O
if(suit_style == DIGITIGRADE_SUIT_STYLE)
if(G.size <= 10)
@@ -68,7 +68,7 @@
/obj/item/clothing/under/color/grey/modular
name = "grey modular jumpsuit" //change name from base clothes to distinguish them
desc = "A tasteful grey jumpsuit that reminds you of the good old days. Now adjusts to the match the wearer's size!" //description same as above
var/icon_location = 'GainStation13/icons/mob/modclothes/graymodular.dmi' //specify the file path where the modular overlays for those clothes are located
var/mob/living/carbon/U //instance a variable for keeping track of the user
@@ -148,7 +148,7 @@
/obj/item/clothing/under/color/grey/modular/bra
name = "grey modular bra"
name = "grey modular bra"
desc = "A tasteful grey bra that reminds you of the good old days. Now adjusts to the match the wearer's size!"
icon_location = 'GainStation13/icons/mob/modclothes/graymodular_bra.dmi'
icon_state = "grey"
@@ -139,3 +139,13 @@
tastes = list("eggs", "breakfast" = 1)
foodtype = GRAIN | SUGAR
/obj/item/reagent_containers/food/snacks/soup/lavaland_stew
name = "lavaland stew"
desc = "A mixture of various lavaland mushrooms, turned into a bland but medicinal stew."
icon = 'GainStation13/icons/obj/food/ported_meals.dmi'
icon_state = "lavalandsoup"
trash = /obj/item/reagent_containers/glass/bowl/mushroom_bowl
list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/vitfro = 15) //Primarily here to let ashwalkers make medicine. Low nutrient content, high medicine content.
tastes = list("fresh pickings","extreme blandness" = 1)
foodtype = MEAT
@@ -0,0 +1,39 @@
/obj/item/organ/genital/belly //I know, I know a belly aint a genital. but it is in the sake of code.
name = "belly"
desc = "You see a belly on their midsection."
icon_state = "belly"
icon = 'hyperstation/icons/obj/genitals/belly.dmi'
zone = "chest"
slot = "belly"
w_class = 3
size = 0
var/statuscheck = FALSE
shape = "Pair"
masturbation_verb = "massage"
var/sent_full_message = TRUE //defaults to 1 since they're full to start
var/inflatable = FALSE //For inflation connoisseurs
/obj/item/organ/genital/belly/on_life()
if(QDELETED(src))
return
if(!owner)
return
/obj/item/organ/genital/belly/update_appearance()
var/string
if(owner)
if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"])
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
color = "#[SKINTONE2HEX(H.skin_tone)]"
else
color = "#[owner.dna.features["belly_color"]]"
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
icon_state = sanitize_text(string)
H.update_genitals()
icon_state = sanitize_text(string)
@@ -17,7 +17,9 @@
possible_transfer_amounts = list(0)
volume = 500
spillable = FALSE
splashable = FALSE
/datum/action/item_action/toggle_tube //GS13
name = "Toggle Tube"
/obj/item/reagent_containers/barrel_tank/ui_action_click(mob/user)
toggle_tube(user)
@@ -51,7 +51,6 @@
filling_color = "#001aff"
tastes = list("blueberry gum" = 1)
foodtype = FRUIT
price = 5
//blueberry gum trash