Merge pull request #15202 from Very-Soft/stardog

A few star dog tweaks
This commit is contained in:
Casey
2023-08-04 20:24:40 -04:00
committed by GitHub
@@ -969,9 +969,7 @@
valid_mobs = list( //Dog map spawns the dogs. It's not hard to understand!
list(
/mob/living/simple_mob/vore/woof,
/mob/living/simple_mob/vore/woof/hostile/ranged,
/mob/living/simple_mob/vore/woof/hostile/terrible
/mob/living/simple_mob/vore/woof
) = 100,
list(
/mob/living/simple_mob/vore/wolf,
@@ -1205,6 +1203,8 @@
for(var/thing in t.contents)
if(istype(thing, /obj/effect/dog_eye)) //We can have eyes in our eyes, it's fine
continue
if(isobserver(thing)) //Ghosts aren't real
continue
if(isobj(thing) || ismob(thing))
close = TRUE //AAAAAAAAAAAAAAAUUUUUUUUGHHHHHHHHH ITS IN MY EYES HELP
@@ -1266,6 +1266,7 @@
var/teleport_sound = 'sound/vore/schlorp.ogg' //The sound that plays when we use the teleporter. Respects vore sound preferences.
var/teleport_message = ""
var/check_keys = FALSE
var/check_prefs = TRUE
/obj/effect/dog_teleporter/Initialize()
. = ..()
@@ -1310,7 +1311,7 @@
var/mob/living/L = null
if(isliving(AM))
L = AM
if(!L.devourable || !L.allowmobvore)
if(check_prefs && (!L.devourable || !L.allowmobvore))
return
if(check_keys && !L.ckey)
return
@@ -1318,19 +1319,20 @@
L.Weaken(3)
if(target.reciever) //We don't have to worry
AM.unbuckle_all_mobs(TRUE)
playsound(src, teleport_sound, vol = 100, vary = 1, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE)
AM.forceMove(get_turf(target))
extra(AM)
return
var/turf/place = locate(target.x, (target.y - 1), target.z) //If the target is also a teleporter, let's pick a place to set them down next to the target.
L.Weaken(3) //Setting them ON the target will probably make an infinite loop, and that seems lame.
//Setting them ON the target will probably make an infinite loop, and that seems lame.
AM.unbuckle_all_mobs(TRUE)
playsound(src, teleport_sound, vol = 100, vary = 1, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE)
AM.forceMove(place)
extra(AM)
/obj/effect/dog_teleporter/proc/extra(atom/movable/AM as mob|obj)
var/go = FALSE
if(isobserver(AM))
return
playsound(src, teleport_sound, vol = 100, vary = 1, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE)
if(isliving(AM))
var/mob/living/L = AM
if(teleport_message && L.client)
@@ -1399,6 +1401,7 @@
pixel_x = -16
pixel_y = -16
check_keys = TRUE
check_prefs = FALSE //We don't have to worry about it on the way out
/obj/effect/dog_teleporter/mouth_return
name = "light"
@@ -1408,6 +1411,7 @@
pixel_x = -16
pixel_y = -16
check_keys = TRUE
check_prefs = FALSE //We don't have to worry about it on the way out
/obj/effect/dog_teleporter/reciever/exit //tee hee
name = "exit"