Initial commit
collar works with food and drinks
This commit is contained in:
@@ -30,9 +30,17 @@
|
||||
if (!is_drainable())
|
||||
to_chat(user, "<span class='warning'>[src]'s lid hasn't been opened!</span>")
|
||||
return FALSE
|
||||
|
||||
//GS13 - Bluespace collar addition
|
||||
var/obj/item/clothing/neck/petcollar/locked/bluespace_collar_transmitter/K = 0
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/human_eater = M
|
||||
K = human_eater.wear_neck
|
||||
if(M == user)
|
||||
user.visible_message("<span class='notice'>[user] swallows a gulp of [src].</span>", "<span class='notice'>You swallow a gulp of [src].</span>")
|
||||
if (istype(K, /obj/item/clothing/neck/petcollar/locked/bluespace_collar_transmitter))
|
||||
user.visible_message("<span class='notice'>[user] effortlessly swallows a gulp of [src].</span>", "<span class='notice'>You effortlessly swallow a gulp of [src].</span>")
|
||||
//GS13 - End
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] swallows a gulp of [src].</span>", "<span class='notice'>You swallow a gulp of [src].</span>")
|
||||
else
|
||||
M.visible_message("<span class='danger'>[user] attempts to feed the contents of [src] to [M].</span>", "<span class='userdanger'>[user] attempts to feed the contents of [src] to [M].</span>")
|
||||
if(!do_mob(user, M))
|
||||
@@ -41,19 +49,19 @@
|
||||
return // The drink might be empty after the delay, such as by spam-feeding
|
||||
M.visible_message("<span class='danger'>[user] feeds the contents of [src] to [M].</span>", "<span class='userdanger'>[user] feeds the contents of [src] to [M].</span>")
|
||||
log_combat(user, M, "fed", reagents.log_list())
|
||||
|
||||
var/fraction = min(gulp_size/reagents.total_volume, 1)
|
||||
checkLiked(fraction, M)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
reagents.trans_to(M, gulp_size, log = TRUE)
|
||||
//GS13 Port - Fullness
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/human/human_eater = M
|
||||
if(HAS_TRAIT(M, TRAIT_VORACIOUS))
|
||||
human_eater.fullness += min(gulp_size * 0.67, reagents.total_volume * 0.67)
|
||||
else
|
||||
human_eater.fullness += min(gulp_size, reagents.total_volume) // GS13 drinks will fill your stomach
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
if (!(istype(K, /obj/item/clothing/neck/petcollar/locked/bluespace_collar_transmitter) && K.transpose_drink(src, M, user))) //GS13 - Bluespace Collar
|
||||
var/fraction = min(gulp_size/reagents.total_volume, 1)
|
||||
checkLiked(fraction, M)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
reagents.trans_to(M, gulp_size, log = TRUE)
|
||||
//GS13 Port - Fullness
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/human/human_eater = M
|
||||
if(HAS_TRAIT(M, TRAIT_VORACIOUS))
|
||||
human_eater.fullness += min(gulp_size * 0.67, reagents.total_volume * 0.67)
|
||||
else
|
||||
human_eater.fullness += min(gulp_size, reagents.total_volume) // GS13 drinks will fill your stomach
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
return TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/CheckAttackCooldown(mob/user, atom/target)
|
||||
|
||||
@@ -122,9 +122,13 @@ All foods are distributed among various categories. Use common sense.
|
||||
var/mob/living/carbon/human/human_eater = M
|
||||
if(istype(human_eater))
|
||||
fullness = human_eater.fullness
|
||||
|
||||
var/obj/item/clothing/neck/petcollar/locked/bluespace_collar_transmitter/K = human_eater.wear_neck //GS13 - Bluespace collar
|
||||
if(M == user) //If you're eating it yourself.
|
||||
if(junkiness && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 )
|
||||
//GS13 - Bluespace collar addition
|
||||
if (istype(K, /obj/item/clothing/neck/petcollar/locked/bluespace_collar_transmitter))
|
||||
user.visible_message("<span class='notice'>[user] effortlessly [eatverb]s \the [src].</span>", "<span class='notice'>You effortlessly [eatverb] \the [src], feeling as if you haven't eaten anything at all.</span>")
|
||||
//GS13 - End
|
||||
else if(junkiness && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 )
|
||||
to_chat(M, "<span class='notice'>You don't feel like eating any more junk food at the moment.</span>")
|
||||
return FALSE
|
||||
else if(fullness <= 50)
|
||||
@@ -142,7 +146,12 @@ All foods are distributed among various categories. Use common sense.
|
||||
M.SetNextAction(CLICK_CD_MELEE * 0.5) //nom nom nom
|
||||
else
|
||||
if(!isbrain(M)) //If you're feeding it to someone else.
|
||||
if(fullness <= (FULLNESS_LEVEL_BEEG * (1 + M.overeatduration / 1000)))
|
||||
//GS13 - Bluespace collar addition
|
||||
if (istype(K, /obj/item/clothing/neck/petcollar/locked/bluespace_collar_transmitter))
|
||||
M.visible_message("<span class='danger'>[user] attempts to feed [M] [src].</span>", \
|
||||
"<span class='userdanger'>[user] attempts to feed you [src].</span>")
|
||||
//GS13 - End
|
||||
else if(fullness <= (FULLNESS_LEVEL_BEEG * (1 + M.overeatduration / 1000)))
|
||||
M.visible_message("<span class='danger'>[user] attempts to feed [M] [src].</span>", \
|
||||
"<span class='userdanger'>[user] attempts to feed [M] [src].</span>")
|
||||
else
|
||||
@@ -159,27 +168,26 @@ All foods are distributed among various categories. Use common sense.
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[M] doesn't seem to have a mouth!</span>")
|
||||
return
|
||||
if (!(istype(K, /obj/item/clothing/neck/petcollar/locked/bluespace_collar_transmitter) && K.transpose_food(src, M, user)))
|
||||
if(reagents) //Handle ingestion of the reagent.
|
||||
if(M.satiety > -200)
|
||||
M.satiety -= junkiness
|
||||
playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
|
||||
var/bitevolume = 1
|
||||
if(HAS_TRAIT(M, TRAIT_VORACIOUS))
|
||||
bitevolume = bitevolume * 0.67
|
||||
if(istype(human_eater))
|
||||
human_eater.fullness += bitevolume;
|
||||
|
||||
if(reagents) //Handle ingestion of the reagent.
|
||||
if(M.satiety > -200)
|
||||
M.satiety -= junkiness
|
||||
playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
|
||||
var/bitevolume = 1
|
||||
if(HAS_TRAIT(M, TRAIT_VORACIOUS))
|
||||
bitevolume = bitevolume * 0.67
|
||||
human_eater.fullness += bitevolume;
|
||||
if(istype(human_eater))
|
||||
human_eater.fullness += bitevolume;
|
||||
|
||||
if(reagents.total_volume)
|
||||
SEND_SIGNAL(src, COMSIG_FOOD_EATEN, M, user)
|
||||
var/fraction = min(bitesize / reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
reagents.trans_to(M, bitesize, log = TRUE)
|
||||
bitecount++
|
||||
On_Consume(M)
|
||||
checkLiked(fraction, M)
|
||||
return TRUE
|
||||
if(reagents.total_volume)
|
||||
SEND_SIGNAL(src, COMSIG_FOOD_EATEN, M, user)
|
||||
var/fraction = min(bitesize / reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
reagents.trans_to(M, bitesize, log = TRUE)
|
||||
bitecount++
|
||||
On_Consume(M)
|
||||
checkLiked(fraction, M)
|
||||
return TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user