diff --git a/code/datums/supplypacks/science_vr.dm b/code/datums/supplypacks/science_vr.dm index 0bc0b3f740d..08ed1b68944 100644 --- a/code/datums/supplypacks/science_vr.dm +++ b/code/datums/supplypacks/science_vr.dm @@ -26,7 +26,8 @@ /obj/item/weapon/disk/limb/dsi_sergal, /obj/item/weapon/disk/limb/dsi_nevrean, /obj/item/weapon/disk/limb/dsi_vulpkanin, - /obj/item/weapon/disk/limb/dsi_akula + /obj/item/weapon/disk/limb/dsi_akula, + /obj/item/weapon/disk/limb/eggnerdltd ) cost = 40 containertype = /obj/structure/closet/crate/secure @@ -55,4 +56,13 @@ containertype = /obj/structure/largecrate/animal/dangerous containername = "EXTREMELY Dangerous Predator crate" access = access_xenobiology - contraband = 1 \ No newline at end of file + contraband = 1 + +/datum/supply_packs/sci/guardbeast + name = "V.A.R.M.A.corp autoNOMous security solution" + cost = 199 + containertype = /obj/structure/largecrate/animal/guardbeast + containername = "V.A.R.M.A.corp autoNOMous security solution crate" + access = list( + access_security, + access_xenobiology) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/largecrate_vr.dm b/code/game/objects/structures/crates_lockers/largecrate_vr.dm index 0e073eb865d..82920df91b0 100644 --- a/code/game/objects/structures/crates_lockers/largecrate_vr.dm +++ b/code/game/objects/structures/crates_lockers/largecrate_vr.dm @@ -53,6 +53,8 @@ /mob/living/simple_animal/hostile/bear;0.5, /mob/living/simple_animal/hostile/bear/brown;0.5, /mob/living/simple_animal/hostile/carp, + /mob/living/simple_animal/otie/frond;0.5, + /mob/living/simple_animal/otie/frond/cotie;0.5, /mob/living/simple_animal/hostile/mimic) ..() @@ -70,4 +72,11 @@ /mob/living/simple_animal/hostile/alien/drone, /mob/living/simple_animal/hostile/alien/sentinel, /mob/living/simple_animal/hostile/alien/queen) - ..() \ No newline at end of file + ..() + +/obj/structure/largecrate/animal/guardbeast + name = "V.A.R.M.A.corp autoNOMous security solution" + desc = "The V.A.R.M.A.corp bioengineering division flagship product on trained optimal snowflake guard dogs." + icon = 'icons/obj/storage_vr.dmi' + icon_state = "sotiecrate" + held_type = /mob/living/simple_animal/otie/frond/security \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm index 4711b2dc07f..3702b778aa5 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm @@ -461,7 +461,7 @@ user << "Your [src.name] is full. Eject or process contents to continue." return - if(istype(target, /obj/item)) + if(istype(target, /obj/item) || istype(target, /obj/effect/decal/remains)) var/obj/target_obj = target if(target_obj.w_class > ITEMSIZE_LARGE) user << "\The [target] is too large to fit into your [src.name]" @@ -492,6 +492,8 @@ processing_objects.Add(src) user.visible_message("[hound.name]'s garbage processor groans lightly as [trashman] slips inside.", "Your garbage compactor groans lightly as [trashman] slips inside.") playsound(hound, 'sound/vore/gulp.ogg', 80, 1) + hound.sleeper_r = 1 + hound.updateicon() return return //Marking shit changed again because the random travis bug is having its shenanigans again \o/ \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/vore/otie.dm b/code/modules/mob/living/simple_animal/vore/otie.dm index 5b9cfe9c8d8..71a7fd5b33b 100644 --- a/code/modules/mob/living/simple_animal/vore/otie.dm +++ b/code/modules/mob/living/simple_animal/vore/otie.dm @@ -1,4 +1,4 @@ -/mob/living/simple_animal/otie //Spawn this one only if you're looking for a bad time. +/mob/living/simple_animal/otie //Spawn this one only if you're looking for a bad time. Not friendly. name = "otie" desc = "The classic bioengineered longdog." icon = 'icons/mob/vore64x32.dmi' @@ -8,8 +8,8 @@ icon_rest = "otie_rest" faction = "otie" recruitable = 1 - maxHealth = 120 - health = 120 + maxHealth = 100 + health = 100 minbodytemp = 200 move_to_delay = 4 hostile = 1 @@ -43,15 +43,12 @@ var/mob/living/carbon/human/friend var/tamed = 0 -/mob/living/simple_animal/otie/fluff +/mob/living/simple_animal/otie/frond //gets the pet2tame feature. starts out hostile tho so get gamblin' name = "otie" desc = "The classic bioengineered longdog. This one might even tolerate you!" - icon_state = "otie" - icon_living = "otie" - icon_rest = "otie_rest" faction = "neutral" -/mob/living/simple_animal/otie/fluff/cotie +/mob/living/simple_animal/otie/frond/cotie //same as above but has a little collar :v name = "tamed otie" desc = "The classic bioengineered longdog. This one has a nice little collar on its neck. However a proper domesticated otie is an oxymoron and the collar is likely just a decoration." icon_state = "cotie" @@ -59,7 +56,7 @@ icon_rest = "cotie_rest" faction = "neutral" -/mob/living/simple_animal/otie/fluff/security +/mob/living/simple_animal/otie/frond/security //tame by default unless you're a marked crimester. can be befriended to follow with pets tho. name = "guard otie" desc = "The V.A.R.M.A.corp bioengineering division flagship product on trained optimal snowflake guard dogs." icon_state = "sotie" @@ -68,7 +65,7 @@ icon_dead = "sotie-dead" faction = "neutral" tamed = 1 - maxHealth = 150 + maxHealth = 150 //armored or something health = 150 loot_list = list(/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/suit/armor/vest/alt) @@ -99,7 +96,7 @@ else return found_atom -/mob/living/simple_animal/otie/fluff/security/Found(var/atom/found_atom) +/mob/living/simple_animal/otie/frond/security/Found(var/atom/found_atom) if(!SA_attackable(found_atom)) return null if(istype(found_atom,/mob/living/simple_animal/mouse)) @@ -120,12 +117,12 @@ else return found_atom -/mob/living/simple_animal/otie/fluff/security/proc/check_threat(var/mob/living/M) +/mob/living/simple_animal/otie/frond/security/proc/check_threat(var/mob/living/M) if(!M || !ishuman(M) || M.stat == DEAD || src == M) return 0 return M.assess_perp(0, 0, 0, check_records, check_arrest) -/mob/living/simple_animal/otie/fluff/security/set_target(var/mob/M) +/mob/living/simple_animal/otie/frond/security/set_target(var/mob/M) ai_log("SetTarget([M])",2) if(!M || (world.time - last_target_time < 5 SECONDS) && target_mob) ai_log("SetTarget() can't set it again so soon",3) @@ -153,7 +150,7 @@ return 0 -/mob/living/simple_animal/otie/fluff/security/proc/target_name(mob/living/T) +/mob/living/simple_animal/otie/frond/security/proc/target_name(mob/living/T) if(ishuman(T)) var/mob/living/carbon/human/H = T return H.get_id_name("unidentified person") @@ -161,7 +158,7 @@ //Basic friend AI -/mob/living/simple_animal/otie/fluff/Life() +/mob/living/simple_animal/otie/frond/Life() . = ..() if(!. || ai_inactive || !friend) return @@ -222,4 +219,4 @@ vore_capacity = 1 vore_escape_chance = 8 vore_pounce_chance = 16 - vore_icons = SA_ICON_LIVING + vore_icons = SA_ICON_LIVING \ No newline at end of file diff --git a/icons/mob/widerobot_vr.dmi b/icons/mob/widerobot_vr.dmi index 5fddf295892..8896bd01eb2 100644 Binary files a/icons/mob/widerobot_vr.dmi and b/icons/mob/widerobot_vr.dmi differ diff --git a/icons/obj/storage_vr.dmi b/icons/obj/storage_vr.dmi index 35181387215..f337551005e 100644 Binary files a/icons/obj/storage_vr.dmi and b/icons/obj/storage_vr.dmi differ diff --git a/vorestation.dme b/vorestation.dme index 7a59331e5fb..919cc983fbf 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1934,6 +1934,7 @@ #include "code\modules\mob\living\simple_animal\vore\dragon.dm" #include "code\modules\mob\living\simple_animal\vore\frog.dm" #include "code\modules\mob\living\simple_animal\vore\horse.dm" +#include "code\modules\mob\living\simple_animal\vore\otie.dm" #include "code\modules\mob\living\simple_animal\vore\panther.dm" #include "code\modules\mob\living\simple_animal\vore\snake.dm" #include "code\modules\mob\living\simple_animal\vore\wah.dm"