mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-07-14 00:22:34 +01:00
Adding two new Abilities for Succubus characters and the posibility of sitting on someones face (#40)
* Add files via upload * Delete station_special_abilities_vr.dm * Update neutral.dm * Update station_special_abilities_vr.dm * Delete neutral.dm
This commit is contained in:
@@ -796,3 +796,138 @@
|
||||
set category = "Abilities"
|
||||
pass_flags ^= PASSTABLE //I dunno what this fancy ^= is but Aronai gave it to me.
|
||||
to_chat(src, "You [pass_flags&PASSTABLE ? "will" : "will NOT"] move over tables/railings/trays!")
|
||||
|
||||
/mob/living/carbon/human/proc/succubus_bite()
|
||||
set name = "Inject Prey"
|
||||
set desc = "Bite prey and inject them with various toxins."
|
||||
set category = "Abilities"
|
||||
|
||||
if(last_special > world.time)
|
||||
return
|
||||
|
||||
if(!ishuman(src))
|
||||
return //If you're not a human you don't have permission to do this.
|
||||
|
||||
var/mob/living/carbon/human/C = src
|
||||
|
||||
var/obj/item/weapon/grab/G = src.get_active_hand()
|
||||
|
||||
if(!istype(G))
|
||||
to_chat(C, "<span class='warning'>You must be grabbing a creature in your active hand to bite them.</span>")
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/T = G.affecting
|
||||
|
||||
if(!istype(T) || T.isSynthetic())
|
||||
to_chat(src, "<span class='warning'>\The [T] is not able to be bitten.</span>")
|
||||
return
|
||||
|
||||
if(G.state != GRAB_NECK)
|
||||
to_chat(C, "<span class='warning'>You must have a tighter grip to bite this creature.</span>")
|
||||
return
|
||||
|
||||
var/choice = input(src, "What do you wish to inject?") as null|anything in list("Aphrodisiac", "Numbing", "Paralyzing")
|
||||
|
||||
last_special = world.time + 600
|
||||
|
||||
if(!choice)
|
||||
return
|
||||
|
||||
src.visible_message("<font color='red'><b>[src] moves their head next to [T]'s neck, seemingly looking for something!</b></font>")
|
||||
|
||||
if(do_after(src, 300, T)) //Thrirty seconds.
|
||||
if(choice == "Aphrodisiac")
|
||||
src.show_message("<span class='warning'>You sink your fangs into [T] and inject your aphrodisiac!</span>")
|
||||
src.visible_message("<font color='red'>[src] sinks their fangs into [T]!</font>")
|
||||
T.bloodstr.add_reagent("succubi_aphrodisiac",5)
|
||||
return 0
|
||||
else if(choice == "Numbing")
|
||||
src.show_message("<span class='warning'>You sink your fangs into [T] and inject your poison!</span>")
|
||||
src.visible_message("<font color='red'>[src] sinks their fangs into [T]!</font>")
|
||||
T.bloodstr.add_reagent("numbing_enzyme",5)
|
||||
else if(choice == "Paralyzing")
|
||||
src.show_message("<span class='warning'>You sink your fangs into [T] and inject your poison!</span>")
|
||||
src.visible_message("<font color='red'>[src] sinks their fangs into [T]!</font>")
|
||||
T.bloodstr.add_reagent("succubi_paralize",5)
|
||||
else
|
||||
return //Should never happen
|
||||
|
||||
/*
|
||||
mob/living/carbon/proc/charmed() //TODO
|
||||
charmed = 1
|
||||
|
||||
spawn(0)
|
||||
for(var/i = 1,i > 0, i--)
|
||||
src << "<font color='blue'><i>... [pick(charmed)] ...</i></font>"
|
||||
charmed = 0
|
||||
|
||||
*/
|
||||
|
||||
/datum/reagent/succubi_aphrodisiac
|
||||
name = "Aphrodisiac"
|
||||
id = "succubi_aphrodisiac"
|
||||
description = "A unknown liquid, it smells sweet"
|
||||
color = "#8A0829"
|
||||
scannable = 0
|
||||
|
||||
/datum/reagent/succubi_aphrodisiac/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(prob(7))
|
||||
M.show_message("<span class='warning'>You feel funny, and fall in love with the person in front of you</span>")
|
||||
M.emote(pick("blush", "moans", "giggles", "turns visibly red"))
|
||||
//M.charmed() //TODO
|
||||
return
|
||||
/*
|
||||
/datum/reagent/succubi_numbing //Using numbing_enzyme instead.
|
||||
name = "Numbing Fluid"
|
||||
id = "succubi_numbing"
|
||||
description = "A unknown liquid, it doesn't smell"
|
||||
color = "#41029B"
|
||||
scannable = 0
|
||||
|
||||
/datum/reagent/succubi_numbing/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
*/
|
||||
|
||||
/datum/reagent/succubi_paralize
|
||||
name = "Paralyzing Fluid"
|
||||
id = "succubi_numbing"
|
||||
description = "A unknown liquid, it doesn't smell"
|
||||
color = "#41029B"
|
||||
scannable = 0
|
||||
|
||||
/datum/reagent/succubi_paralize/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(prob(7))
|
||||
M.show_message("<span class='warning'>You lose sensation of your body.</span>")
|
||||
M.Weaken(10)
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/proc/face_sit()
|
||||
set name = "Face Sit"
|
||||
set desc = "Sit on your Preys Face"
|
||||
set category = "Abilities"
|
||||
|
||||
if(last_special > world.time)
|
||||
return
|
||||
|
||||
if(!ishuman(src))
|
||||
return //If you're not a human you don't have permission to do this.
|
||||
|
||||
var/mob/living/carbon/human/C = src
|
||||
|
||||
var/obj/item/weapon/grab/G = src.get_active_hand()
|
||||
|
||||
if(!istype(G))
|
||||
to_chat(C, "<span class='warning'>You must be grabbing a creature in your active hand to sit on them.</span>")
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/T = G.affecting
|
||||
|
||||
if(!istype(T) || T.isSynthetic())
|
||||
to_chat(src, "<span class='warning'>\The [T] is not able to be sit on.</span>")
|
||||
return
|
||||
|
||||
if(G.state != GRAB_AGGRESSIVE)
|
||||
to_chat(C, "<span class='warning'>You must have the creature pinned on the ground to sit on them </span>")
|
||||
return
|
||||
|
||||
src.visible_message("<font color='red'><b>[src] moves their ass to [T]'s head, sitting down on them, making them unable to see anything else than [src]'s butt </b></font>")
|
||||
return
|
||||
|
||||
@@ -113,3 +113,21 @@
|
||||
..(S,H)
|
||||
H.verbs |= /mob/living/proc/glow_toggle
|
||||
H.verbs |= /mob/living/proc/glow_color
|
||||
|
||||
/datum/trait/face_sit
|
||||
name = "Face_Sitting"
|
||||
desc = "Makes you able to sit on your prey"
|
||||
cost = 0
|
||||
|
||||
/datum/trait/face_sit/apply(var/datum/species/S,var/mob/living/carbon/human/H)
|
||||
..(S,H)
|
||||
H.verbs |= /mob/living/carbon/human/proc/face_sit
|
||||
|
||||
/datum/trait/succubus_bite
|
||||
name = "Succubus Bite"
|
||||
desc = "Makes you able to bite prey in your grasp and subject them to a variety of chemicals.."
|
||||
cost = 0
|
||||
|
||||
/datum/trait/succubus_drain/apply(var/datum/species/S,var/mob/living/carbon/human/H)
|
||||
..(S,H)
|
||||
H.verbs |= /mob/living/carbon/human/proc/succubus_bite
|
||||
|
||||
Reference in New Issue
Block a user