Fixes some runtimes and removes a holodeck exploit

and a cleanup >.>;
This commit is contained in:
Poojawa
2019-08-08 21:33:42 -05:00
parent ce064522fe
commit f76bb27127
10 changed files with 82 additions and 30 deletions
@@ -3,9 +3,7 @@
// box of hugs
/obj/item/storage/box/hug/attack_self(mob/user)
. = ..()
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("hugbox", /datum/mood_event/hugbox)
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"hugbox", /datum/mood_event/hugbox)
//Removed headpats here, duplicate code?
@@ -13,25 +11,17 @@
/obj/item/toy/plush/attack_self(mob/user)
. = ..()
if(stuffed || grenade)
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("plushpet", /datum/mood_event/plushpet)
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"plushpet", /datum/mood_event/plushpet)
else
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("plush_nostuffing", /datum/mood_event/plush_nostuffing)
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"plush_nostuffing", /datum/mood_event/plush_nostuffing)
// Jack the Ripper starring plush
/obj/item/toy/plush/attackby(obj/item/I, mob/living/user, params)
. = ..()
if(I.is_sharp())
if(!grenade)
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("plushjack", /datum/mood_event/plushjack)
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"plushjack", /datum/mood_event/plushjack)
// plush playing (plush-on-plush action)
if(istype(I, /obj/item/toy/plush))
GET_COMPONENT_FROM(mood, /datum/component/mood, user)
if(mood)
mood.add_event("plushplay", /datum/mood_event/plushplay)
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"plushplay", /datum/mood_event/plushplay)
@@ -133,3 +133,51 @@
vore_active = TRUE
isPredator = TRUE
vore_default_mode = DM_DIGEST
/mob/living/simple_animal/butterfly/holo
holodeck = TRUE
feeding = FALSE
devourable = FALSE
digestable = FALSE
/mob/living/simple_animal/chick/holo
holodeck = TRUE
feeding = FALSE
devourable = FALSE
digestable = FALSE
/mob/living/simple_animal/pet/cat/holo
holodeck = TRUE
feeding = FALSE
devourable = FALSE
digestable = FALSE
/mob/living/simple_animal/pet/cat/kitten/holo
holodeck = TRUE
feeding = FALSE
devourable = FALSE
digestable = FALSE
/mob/living/simple_animal/pet/dog/corgi/holo
holodeck = TRUE
feeding = FALSE
devourable = FALSE
digestable = FALSE
/mob/living/simple_animal/pet/dog/corgi/puppy/holo
holodeck = TRUE
feeding = FALSE
devourable = FALSE
digestable = FALSE
/mob/living/simple_animal/pet/dog/pug/holo
holodeck = TRUE
feeding = FALSE
devourable = FALSE
digestable = FALSE
/mob/living/simple_animal/pet/fox/holo
holodeck = TRUE
feeding = FALSE
devourable = FALSE
digestable = FALSE
@@ -152,11 +152,13 @@
SSbellies.belly_list += src
/obj/belly/Destroy()
SSbellies.belly_list -= src
if(owner)
owner.vore_organs -= src
owner = null
. = ..()
Remove(owner)
return ..()
/obj/belly/proc/Remove(mob/living/owner)
owner.vore_organs -= src
owner = null
// Called whenever an atom enters this belly
/obj/belly/Entered(var/atom/movable/thing,var/atom/OldLoc)
@@ -4,10 +4,16 @@
recent_sound = FALSE
return SSBELLIES_IGNORED
if(!owner)
qdel(src)
SSbellies.belly_list -= src
return SSBELLIES_PROCESSED
if(loc != owner)
if(istype(owner))
loc = owner
if(isliving(owner)) //we don't have machine based bellies. (yet :honk:)
forceMove(owner)
else
SSbellies.belly_list -= src
qdel(src)
return SSBELLIES_PROCESSED