This commit is contained in:
Chloe Carver-Brown
2021-05-20 10:34:18 +01:00
parent d978adc7d2
commit 8872b20c42
19 changed files with 1063 additions and 29 deletions
@@ -144,3 +144,154 @@
user.size_multiplier = H.size_multiplier
user.visible_message("<span class='warning'>[user]'s appearance shifts into [H]'s!</span>", \
"<span class='boldannounce'>[H.p_they(TRUE)] think[H.p_s()] [H.p_theyre()] <i>sooo</i> much better than you. Not anymore, [H.p_they()] won't.</span>")
/obj/item/reagent_containers/chalice
name = "Curse of Lust"
desc = "You shouldn't see this! If you do, tell the gods something is wrong."
icon = 'icons/obj/drinks.dmi'
icon_state = "cumchalice"
/obj/item/reagent_containers/chalice/lust
name = "Golden Chalice of Lust"
desc = "A beautiful golden chalice, centered with a gleaming pink jewel of unknown origin. It is still slightly damp with aphrodisiac. It smells faintly of strawberries and roofies."
icon = 'icons/obj/drinks.dmi'
icon_state = "cumchalice"
w_class = WEIGHT_CLASS_SMALL
force = 1
throwforce = 1
amount_per_transfer_from_this = 5
volume = 15
flags_1 = CONDUCT_1
spillable = TRUE
resistance_flags = INDESTRUCTIBLE
reagent_flags = AMOUNT_VISIBLE
/obj/item/reagent_containers/chalice/lust/Initialize() //just in case
beaker_weakness_bitflag &= ~PH_WEAK
. = ..()
/obj/item/reagent_containers/chalice/lust/attack_self(mob/living/carbon/human/user)
var/thecostofhorny = 0
var/truecostofhorny = 0
var/choicechem = /datum/reagent/water
var/choice = "Water"
var/free = src.reagents.maximum_volume - src.reagents.total_volume
if(free <= 0)
return
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
choice = input(user, "Go ahead, pick your poison~", "Boon of Lust") as null|anything in list("Crocin", "Hexacrocin","Succubus Milk", "Incubus Draft", "Prospacillin", "Diminicillin", "Semen", "Femcum", "Milk", "Alien Honey")
switch(choice)
if("Crocin")
choicechem = /datum/reagent/drug/aphrodisiac
thecostofhorny = 5
if("Hexacrocin")
choicechem = /datum/reagent/drug/aphrodisiacplus
thecostofhorny = 5
if("Succubus Milk")
choicechem = /datum/reagent/fermi/breast_enlarger
thecostofhorny = 5
if("Incubus Draft")
choicechem = /datum/reagent/fermi/penis_enlarger
thecostofhorny = 5
if("Prospacillin")
choicechem = /datum/reagent/growthchem
thecostofhorny = 40 //Rare chem, should be very expensive
if("Diminicillin")
choicechem = /datum/reagent/shrinkchem
thecostofhorny = 40 //Rare chem, should be very expensive
if("Semen")
choicechem = /datum/reagent/consumable/semen
thecostofhorny = 1
if("Femcum")
choicechem = /datum/reagent/consumable/femcum
thecostofhorny = 1
if("Milk")
choicechem = /datum/reagent/consumable/milk
thecostofhorny = 3 //fuck you chef
if("Alien Honey")
choicechem = /datum/reagent/consumable/alienhoney
thecostofhorny = 1
var/makechems = alert(user, "Are you sure you want to make [choice]?", "Boon of Lust", "Yes", "No")
switch(makechems)
if("Yes")
src.reagents.add_reagent(choicechem, 5)
truecostofhorny = (thecostofhorny*user.size_multiplier)
user.adjustCloneLoss(truecostofhorny, 1)
user.adjustArousalLoss(100, 1)
to_chat(user, "<span class='userdanger'>You feel part of your body ripped from you violently, before the beaker fills itself with [choice].</span>")
if("No")
return
/obj/item/reagent_containers/chalice/lust/attack(mob/M, mob/user, obj/target)
if(!canconsume(M, user))
return
if(!spillable)
return
if(!reagents || !reagents.total_volume)
to_chat(user, "<span class='warning'>[src] is empty!</span>")
return
if(istype(M))
if(user.a_intent == INTENT_HARM)
M.visible_message("<span class='danger'>[user] splashes the contents of [src] onto [M]!</span>", \
"<span class='userdanger'>[user] splashes the contents of [src] onto [M]!</span>")
var/R = reagents?.log_list()
if(isturf(target) && reagents.reagent_list.len && thrownby)
log_combat(thrownby, target, "splashed (thrown) [english_list(reagents.reagent_list)]")
message_admins("[ADMIN_LOOKUPFLW(thrownby)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] at [ADMIN_VERBOSEJMP(target)].")
reagents.reaction(M, TOUCH)
log_combat(user, M, "splashed", R)
reagents.clear_reagents()
else
if(M != user)
M.visible_message("<span class='danger'>[user] attemped to feed something to [M], but failed!</span>")
return
else
to_chat(user, "<span class='notice'>You swallow a gulp of [src].</span>")
var/fraction = min(5/reagents.total_volume, 1)
reagents.reaction(M, INGEST, fraction)
addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5), 5)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
/obj/structure/lewdfountain
name = "Lewd Fountain"
desc = "You shouldn't see this!"
icon = 'icons/obj/hand_of_god_structures.dmi'
icon_state = "fountain"
anchored = TRUE
density = TRUE
/obj/structure/lewdfountain/lust
name = "fountain of lust"
desc = "A beautiful hand carved fountain, with a carved golden cup atop it. The cup seems to be constantly overflowing with a pink fluid that smells like liquid desire. Just looking at it makes you turned on."
icon = 'icons/obj/hand_of_god_structures.dmi'
icon_state = "fountain"
anchored = TRUE
density = TRUE
var/chalice_taken = 0
/obj/structure/lewdfountain/lust/attack_hand(mob/living/user)
. = ..()
if(.)
return
if(chalice_taken == 1)
to_chat(user, "<i>You hear a voice in your head... <b>\"My chalice has already been taken, dear. I cannot give you another...\"</i></b>")
return
if(user.getArousalLoss() < 100)
to_chat(user, "<i>You hear a voice in your head... <b>\"You are not horny enough to receive my blessing, dear~\"</i></b>")
return
if (ishuman(user) && user.has_dna())
user.mob_climax(forced_climax=TRUE)
to_chat(user, "<i>You hear a voice in your head... <b>\"You are worth of my blessing dear~\"</i></b>")
to_chat(user, "<span class='userdanger'>You feel overpowering pleasure surge through your entire body.</span>")
var/A = new /obj/item/reagent_containers/chalice/lust
user.put_in_hands(A)
chalice_taken = 1