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
+1
View File
@@ -93,6 +93,7 @@
#define FIRE_PRIORITY_SERVER_MAINT 10
#define FIRE_PRIORITY_RESEARCH 10
#define FIRE_PRIORITY_VIS 10
#define FIRE_PRIORITY_VORE 10
#define FIRE_PRIORITY_GARBAGE 15
#define FIRE_PRIORITY_WET_FLOORS 20
#define FIRE_PRIORITY_AIR 20
+1 -1
View File
@@ -7,7 +7,7 @@
SUBSYSTEM_DEF(bellies)
name = "Bellies"
priority = 5
priority = FIRE_PRIORITY_VORE
wait = 1 SECONDS
flags = SS_KEEP_TIMING|SS_NO_INIT
runlevels = RUNLEVEL_GAME|RUNLEVEL_POSTGAME
+3 -2
View File
@@ -137,7 +137,7 @@ GLOBAL_VAR(restart_counter)
// but those are both private, so let's put the commit info in the runtime
// log which is ultimately public.
log_runtime(GLOB.revdata.get_log_message())
/world/Topic(T, addr, master, key)
TGS_TOPIC //redirect to server tools if necessary
@@ -270,7 +270,8 @@ GLOBAL_VAR(restart_counter)
if (M.client)
n++
features += "[SSmapping.config.map_name]" //CIT CHANGE - makes the hub entry display the current map
if(SSmapping.config) // this just stops the runtime, honk.
features += "[SSmapping.config.map_name]" //CIT CHANGE - makes the hub entry display the current map
if(get_security_level())//CIT CHANGE - makes the hub entry show the security level
features += "[get_security_level()] alert"
+5 -5
View File
@@ -87,10 +87,10 @@
/obj/effect/holodeck_effect/mobspawner/pet
mobtype = list(
/mob/living/simple_animal/butterfly, /mob/living/simple_animal/chick/holo,
/mob/living/simple_animal/pet/cat, /mob/living/simple_animal/pet/cat/kitten,
/mob/living/simple_animal/pet/dog/corgi, /mob/living/simple_animal/pet/dog/corgi/puppy,
/mob/living/simple_animal/pet/dog/pug, /mob/living/simple_animal/pet/fox)
/mob/living/simple_animal/butterfly/holo, /mob/living/simple_animal/chick/holo,
/mob/living/simple_animal/pet/cat/holo, /mob/living/simple_animal/pet/cat/kitten/holo,
/mob/living/simple_animal/pet/dog/corgi/holo, /mob/living/simple_animal/pet/dog/corgi/puppy/holo,
/mob/living/simple_animal/pet/dog/pug/holo, /mob/living/simple_animal/pet/fox/holo)
/obj/effect/holodeck_effect/mobspawner/bee
mobtype = /mob/living/simple_animal/hostile/poison/bees/toxin
@@ -100,7 +100,7 @@
/obj/effect/holodeck_effect/mobspawner/penguin
mobtype = /mob/living/simple_animal/pet/penguin/emperor
/obj/effect/holodeck_effect/mobspawner/penguin/Initialize()
if(prob(1))
mobtype = /mob/living/simple_animal/pet/penguin/emperor/shamebrero
@@ -9,6 +9,7 @@
var/list/prey_excludes = list() //For excluding people from being eaten.
var/voracious_chance = VORACIOUS_CHANCE //Mob AI Engagement probability when rolling between regular melee strike and a vore attempt, default 40%
var/holodeck = FALSE
// Vore belly interactions
// Most mobs are only going to have the one gut. Multi-gut set ups should refer to Ash Drake's dragon_vore.dm for set up.
@@ -49,6 +50,8 @@
// Simple animals have only one belly. This creates it (if it isn't already set up)
/mob/living/simple_animal/init_vore()
vore_init = TRUE
if(holodeck) //hacky dumbshit, but I can't get it to work right anyway
return
if(vore_organs.len)
return
if(no_vore) //If it can't vore, let's not give it a stomach.
+2 -1
View File
@@ -354,7 +354,8 @@
if("mam_body_markings" in S.default_features)
var/datum/sprite_accessory/Smark
Smark = GLOB.mam_body_markings_list[H.dna.features["mam_body_markings"]]
body_markings_icon = Smark.icon
if(Smark)
body_markings_icon = Smark.icon
if(H.dna.features.["mam_body_markings"] != "None")
body_markings = lowertext(H.dna.features.["mam_body_markings"])
auxmarking = lowertext(H.dna.features.["mam_body_markings"])
@@ -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