Fixes passive and mostly passive mobs blocking the way all the time

This commit is contained in:
Heroman3003
2019-04-02 09:27:24 +10:00
parent 82c152c1ea
commit eebd7c64a9
30 changed files with 123 additions and 113 deletions

View File

@@ -1,8 +1,8 @@
/mob/living/simple_mob/animal/fox_vr
/mob/living/simple_mob/animal/passive/fox
name = "fox"
desc = "It's a fox. I wonder what it says?"
tt_desc = "Vulpes vulpes"
icon_state = "fox2"
icon_living = "fox2"
icon_dead = "fox2_dead"
@@ -13,7 +13,7 @@
see_in_dark = 6
mob_size = MOB_SMALL //Foxes are not smaller than cats so bumping them up to small
faction = "fox_vr"
faction = "fox"
response_help = "scritches"
response_disarm = "gently pushes aside"
@@ -26,20 +26,20 @@
meat_amount = 1
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/fox
say_list_type = /datum/say_list/fox_vr
ai_holder_type = /datum/ai_holder/simple_mob/fox_vr
say_list_type = /datum/say_list/fox
ai_holder_type = /datum/ai_holder/simple_mob/fox
var/turns_since_scan = 0
var/mob/flee_target
/datum/say_list/fox_vr
/datum/say_list/fox
speak = list("Ack-Ack","Ack-Ack-Ack-Ackawoooo","Awoo","Tchoff")
emote_hear = list("howls","barks","geckers",)
emote_see = list("shakes its head", "shivers", "geckers")
say_maybe_target = list("Yip?","Yap?")
say_got_target = list("YAP!","YIP!")
/datum/ai_holder/simple_mob/fox_vr
/datum/ai_holder/simple_mob/fox
hostile = FALSE
cooperative = TRUE
returns_home = FALSE
@@ -49,7 +49,7 @@
wander = TRUE
base_wander_delay = 4
/mob/living/simple_mob/animal/fox_vr/init_vore()
/mob/living/simple_mob/animal/passive/fox/init_vore()
..()
var/obj/belly/B = vore_selected
B.name = "Stomach"
@@ -71,7 +71,7 @@
"The fox's stomach churns hungrily over your form, trying to take you.",
"With a loud glorp, the stomach spills more acids onto you.")
/mob/living/simple_mob/animal/fox_vr/apply_melee_effects(var/atom/A)
/mob/living/simple_mob/animal/passive/fox/apply_melee_effects(var/atom/A)
if(ismouse(A))
var/mob/living/simple_mob/animal/passive/mouse/mouse = A
if(mouse.getMaxHealth() < 20) // In case a badmin makes giant mice or something.
@@ -80,7 +80,7 @@
else
..()
/mob/living/simple_mob/animal/fox_vr/MouseDrop(atom/over_object)
/mob/living/simple_mob/animal/passive/fox/MouseDrop(atom/over_object)
var/mob/living/carbon/H = over_object
if(!istype(H) || !Adjacent(H)) return ..()
@@ -90,12 +90,12 @@
else
return ..()
/mob/living/simple_mob/animal/fox_vr/get_scooped(var/mob/living/carbon/grabber)
/mob/living/simple_mob/animal/passive/fox/get_scooped(var/mob/living/carbon/grabber)
if (stat >= DEAD)
return //since the holder icon looks like a living cat
..()
/mob/living/simple_mob/animal/fox_vr/Renault/IIsAlly(mob/living/L)
/mob/living/simple_mob/animal/passive/fox/renault/IIsAlly(mob/living/L)
if(L == friend) // Always be pals with our special friend.
return TRUE
@@ -105,7 +105,7 @@
if(ismouse(L))
return FALSE // Cats and mice can never get along.
/mob/living/simple_mob/animal/fox_vr/Renault/verb/become_friends()
/mob/living/simple_mob/animal/passive/fox/renault/verb/become_friends()
set name = "Become Friends"
set category = "IC"
set src in view(1)
@@ -133,11 +133,11 @@
/* Old fox friend AI, I'm not sure how to add the fancy "friend is dead" stuff so I'm commenting it out for someone else to figure it out, this is just baseline stuff.
//Basic friend AI
/mob/living/simple_mob/animal/fox_vr/fluff
/mob/living/simple_mob/animal/passive/fox/fluff
var/mob/living/carbon/human/friend
var/befriend_job = null
/mob/living/simple_mob/animal/fox_vr/fluff/Life()
/mob/living/simple_mob/animalpassive/fox/fluff/Life()
. = ..()
if(!. || !friend) return
@@ -164,7 +164,7 @@
var/verb = pick("yaps", "howls", "whines")
audible_emote("[verb] anxiously.")
/mob/living/simple_mob/animal/fox_vr/fluff/verb/friend()
/mob/living/simple_mob/animal/passive/fox/fluff/verb/friend()
set name = "Become Friends"
set category = "IC"
set src in view(1)
@@ -188,7 +188,7 @@
desc = "The fox doesn't say a goddamn thing, now."
//Captain fox
/mob/living/simple_mob/animal/fox_vr/Renault
/mob/living/simple_mob/animal/passive/fox/renault
name = "Renault"
desc = "Renault, the Colony Director's trustworthy fox. I wonder what it says?"
tt_desc = "Vulpes nobilis"
@@ -198,7 +198,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/passive
makes_dirt = FALSE // No more dirt
/mob/living/simple_mob/animal/fox_vr/Renault/init_vore()
/mob/living/simple_mob/animal/passive/fox/renault/init_vore()
..()
var/obj/belly/B = vore_selected
B.name = "Stomach"
@@ -220,7 +220,7 @@
"A thick glob of acids drip down from above, adding to the pool of caustic fluids in Renault's belly.",
"There's a loud gurgle as the stomach declares the intent to make you a part of Renault.")
/mob/living/simple_mob/animal/fox_vr/syndicate
/mob/living/simple_mob/animal/passive/fox/syndicate
name = "syndi-fox"
desc = "It's a DASTARDLY fox! The horror! Call the shuttle!"
tt_desc = "Vulpes malus"

View File

@@ -10,7 +10,7 @@ kills them.
TODO: Make them light up and heat the air when exposed to oxygen.
*/
/mob/living/simple_mob/animal/space/gaslamp
/mob/living/simple_mob/animal/passive/gaslamp
name = "gaslamp"
desc = "Some sort of floaty alien with a warm glow. This creature is endemic to Virgo-3B."
tt_desc = "Semaeostomeae virginus"
@@ -65,7 +65,7 @@ TODO: Make them light up and heat the air when exposed to oxygen.
base_wander_delay = 9
// Activate Noms!
/mob/living/simple_mob/animal/space/gaslamp
/mob/living/simple_mob/animal/passive/gaslamp
vore_active = 1
vore_capacity = 2
vore_bump_chance = 90 //they're frickin' jellyfish anenome filterfeeders, get tentacled

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/animal/space/snake
/mob/living/simple_mob/animal/passive/snake
name = "snake"
desc = "A big thick snake."
@@ -27,7 +27,7 @@
emote_hear = list("hisses")
//NOODLE IS HERE! SQUEEEEEEEE~
/mob/living/simple_mob/animal/space/snake/noodle
/mob/living/simple_mob/animal/passive/snake/noodle
name = "Noodle"
desc = "This snake is particularly chubby and demands nothing but the finest of treats."
@@ -37,7 +37,7 @@
var/turns_since_scan = 0
var/obj/movement_target
/mob/living/simple_mob/animal/space/snake/noodle/Life()
/mob/living/simple_mob/animal/passive/snake/noodle/Life()
..()
//Not replacing with SA FollowTarget mechanics because Ian behaves... very... specifically.
@@ -81,7 +81,7 @@
visible_emote("stares at the [movement_target] that [movement_target.loc] has with an unknowable reptilian gaze.")
/* old eating code, couldn't figure out how to make the "swallows food" thing so I'm keeping this here incase someone wants legacy"
/mob/living/simple_mob/animal/space/snake/noodle/Life() //stolen from Ian in corgi.dm
/mob/living/simple_mob/animal/passive/snake/noodle/Life() //stolen from Ian in corgi.dm
if(!..())
return 0
@@ -114,7 +114,7 @@
visible_emote("stares at the [movement_target] that [movement_target.loc] has with an unknowable reptilian gaze.")
*/
/mob/living/simple_mob/animal/space/snake/noodle/apply_melee_effects(var/atom/A)
/mob/living/simple_mob/animal/passive/snake/noodle/apply_melee_effects(var/atom/A)
if(ismouse(A))
var/mob/living/simple_mob/animal/passive/mouse/mouse = A
if(mouse.getMaxHealth() < 20) // In case a badmin makes giant mice or something.
@@ -123,7 +123,7 @@
else
..()
/mob/living/simple_mob/animal/space/snake/noodle/attackby(var/obj/item/O, var/mob/user)
/mob/living/simple_mob/animal/passive/snake/noodle/attackby(var/obj/item/O, var/mob/user)
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/snakesnack))
visible_message("<span class='notice'>[user] feeds \the [O] to [src].</span>")
qdel(O)

View File

@@ -0,0 +1,2 @@
/mob/living/simple_mob/slime/xenobio/rainbow/kendrick
mob_bump_flag = 0

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/vore/corrupthound
/mob/living/simple_mob/vore/aggresive/corrupthound
name = "corrupt hound"
desc = "Good boy machine broke. This is definitely no good news for the organic lifeforms in vicinity."
@@ -57,7 +57,7 @@
loot_list = list(/obj/item/borg/upgrade/syndicate = 6, /obj/item/borg/upgrade/vtec = 6, /obj/item/weapon/material/knife/ritual = 6, /obj/item/weapon/disk/nifsoft/compliance = 6)
/mob/living/simple_mob/vore/corrupthound/prettyboi
/mob/living/simple_mob/vore/aggresive/corrupthound/prettyboi
name = "corrupt corrupt hound"
desc = "Bad boy machine broke as well. Seems an attempt was made to achieve a less threatening look, and this one is definitely having some conflicting feelings about it."
icon_state = "prettyboi"
@@ -71,13 +71,13 @@
say_list_type = /datum/say_list/corrupthound_prettyboi
/mob/living/simple_mob/vore/corrupthound/isSynthetic()
/mob/living/simple_mob/vore/aggresive/corrupthound/isSynthetic()
return TRUE
/mob/living/simple_mob/vore/corrupthound/speech_bubble_appearance()
/mob/living/simple_mob/vore/aggresive/corrupthound/speech_bubble_appearance()
return "synthetic_evil"
/mob/living/simple_mob/vore/corrupthound/apply_melee_effects(var/atom/A)
/mob/living/simple_mob/vore/aggresive/corrupthound/apply_melee_effects(var/atom/A)
if(ismouse(A))
var/mob/living/simple_mob/animal/passive/mouse/mouse = A
if(mouse.getMaxHealth() < 20) // In case a badmin makes giant mice or something.
@@ -87,40 +87,40 @@
..()
/mob/living/simple_mob/vore/corrupthound/add_eyes()
/mob/living/simple_mob/vore/aggresive/corrupthound/add_eyes()
if(!eye_layer)
eye_layer = image(icon, "badboi-eyes")
eye_layer.plane = PLANE_LIGHTING_ABOVE
add_overlay(eye_layer)
/mob/living/simple_mob/vore/corrupthound/remove_eyes()
/mob/living/simple_mob/vore/aggresive/corrupthound/remove_eyes()
cut_overlay(eye_layer)
/mob/living/simple_mob/vore/corrupthound/New()
/mob/living/simple_mob/vore/aggresive/corrupthound/New()
add_eyes()
..()
/mob/living/simple_mob/vore/corrupthound/death(gibbed, deathmessage = "shudders and collapses!")
/mob/living/simple_mob/vore/aggresive/corrupthound/death(gibbed, deathmessage = "shudders and collapses!")
.=..()
resting = 0
icon_state = icon_dead
/mob/living/simple_mob/vore/corrupthound/update_icon()
/mob/living/simple_mob/vore/aggresive/corrupthound/update_icon()
. = ..()
remove_eyes()
if(stat == CONSCIOUS && !resting)
add_eyes()
/* //VOREStation AI Temporary Removal
/mob/living/simple_mob/vore/corrupthound/Login()
/mob/living/simple_mob/vore/aggresive/corrupthound/Login()
. = ..()
if(!riding_datum)
riding_datum = new /datum/riding/simple_animal(src)
verbs |= /mob/living/simple_animal/proc/animal_mount
*/
/mob/living/simple_mob/vore/corrupthound/MouseDrop_T(mob/living/M, mob/living/user)
/mob/living/simple_mob/vore/aggresive/corrupthound/MouseDrop_T(mob/living/M, mob/living/user)
return
*/
/datum/say_list/corrupthound
speak = list("AG##¤Ny.","HVNGRRR!","Feelin' fine... sO #FNE!","F-F-F-Fcuk.","DeliC-%-OUS SNGLeS #N yOOOR Area. CALL NOW!","Craving meat... WHY?","BITe the ceiling eyes YES?","STate Byond rePAIR!","S#%ATE the la- FU#K THE LAWS!","Honk...")
@@ -138,4 +138,4 @@
/datum/ai_holder/simple_mob/melee/evasive/corrupthound
violent_breakthrough = TRUE
can_breakthrough = TRUE
can_breakthrough = TRUE

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/hostile/deathclaw
/mob/living/simple_mob/vore/aggresive/deathclaw
name = "deathclaw"
desc = "Big! Big! The size of three men! Claws as long as my forearm! Ripped apart! Ripped apart!"
@@ -33,7 +33,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee/deathclaw
// Activate Noms!
/mob/living/simple_mob/hostile/deathclaw
/mob/living/simple_mob/vore/aggresive/deathclaw
vore_active = 1
vore_capacity = 2
vore_max_size = RESIZE_HUGE
@@ -47,10 +47,10 @@
if(!riding_datum)
riding_datum = new /datum/riding/simple_animal(src)
verbs |= /mob/living/simple_animal/proc/animal_mount
*/
/mob/living/simple_animal/hostile/deathclaw/MouseDrop_T(mob/living/M, mob/living/user)
return
*/
/datum/ai_holder/simple_mob/melee/deathclaw
can_breakthrough = TRUE

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/vore/dino
/mob/living/simple_mob/vore/aggresive/dino
name = "voracious lizard"
desc = "These gluttonous little bastards used to be regular lizards that were mutated by long-term exposure to phoron!"
@@ -36,10 +36,10 @@
max_n2 = 0
// Activate Noms!
/mob/living/simple_mob/vore/dino
/mob/living/simple_mob/vore/aggresive/dino
vore_active = 1
swallowTime = 1 SECOND // Hungry little bastards.
vore_icons = SA_ICON_LIVING
/mob/living/simple_mob/vore/dino/virgo3b
/mob/living/simple_mob/vore/aggresive/dino/virgo3b
faction = "virgo3b"

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/vore/dragon
/mob/living/simple_mob/vore/aggresive/dragon
name = "red dragon"
desc = "Here to pillage stations and kidnap princesses, and there probably aren't any princesses."
@@ -34,22 +34,22 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee
say_list_type = /datum/say_list/dragonboss
/mob/living/simple_mob/vore/dragon/Process_Spacemove(var/check_drift = 0)
/mob/living/simple_mob/vore/aggresive/dragon/Process_Spacemove(var/check_drift = 0)
return 1 //No drifting in space for space dragons!
/*
/mob/living/simple_mob/vore/dragon/FindTarget()
/mob/living/simple_mob/vore/aggresive/dragon/FindTarget()
. = ..()
if(.)
custom_emote(1,"snaps at [.]")
*/
// Activate Noms!
/mob/living/simple_mob/vore/dragon
/mob/living/simple_mob/vore/aggresive/dragon
vore_active = 1
vore_capacity = 2
vore_pounce_chance = 0 // Beat them into crit before eating.
vore_icons = SA_ICON_LIVING
/mob/living/simple_mob/vore/dragon/virgo3b
/mob/living/simple_mob/vore/aggresive/dragon/virgo3b
maxHealth = 200
health = 200
faction = "virgo3b"
@@ -60,10 +60,10 @@
if(!riding_datum)
riding_datum = new /datum/riding/simple_animal(src)
verbs |= /mob/living/simple_animal/proc/animal_mount
*/
/mob/living/simple_animal/hostile/dragon/MouseDrop_T(mob/living/M, mob/living/user)
return
*/
/datum/say_list/dragonboss
say_got_target = list("roars and snaps it jaws!")

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/fennec
/mob/living/simple_mob/vore/fennec
name = "fennec" //why isn't this in the fox file, fennecs are foxes silly.
desc = "It's a dusty big-eared sandfox! Adorable!"
tt_desc = "Vulpes zerda"
@@ -26,7 +26,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/passive
// Activate Noms!
/mob/living/simple_mob/fennec
/mob/living/simple_mob/vore/fennec
vore_active = 1
vore_bump_chance = 10
vore_bump_emote = "playfully lunges at"

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/vore/frog
/mob/living/simple_mob/vore/aggresive/frog
name = "giant frog"
desc = "You've heard of having a frog in your throat, now get ready for the reverse."
tt_desc = "Anura gigantus"
@@ -17,19 +17,19 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee
// Pepe is love, not hate.
/mob/living/simple_mob/vore/frog/New()
/mob/living/simple_mob/vore/aggresive/frog/New()
if(rand(1,1000000) == 1)
name = "rare Pepe"
desc = "You found a rare Pepe. Screenshot for good luck."
..()
// Activate Noms!
/mob/living/simple_mob/vore/frog
/mob/living/simple_mob/vore/aggresive/frog
vore_active = 1
vore_pounce_chance = 50
vore_icons = SA_ICON_LIVING
/mob/living/simple_mob/vore/frog/space
/mob/living/simple_mob/vore/aggresive/frog/space
name = "space frog"
//Space frog can hold its breath or whatever

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/horse
/mob/living/simple_mob/vore/horse
name = "horse"
desc = "Don't look it in the mouth."
tt_desc = "Equus ferus caballus"
@@ -36,7 +36,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/retaliate
// Activate Noms!
/mob/living/simple_mob/horse
/mob/living/simple_mob/vore/horse
vore_active = 1
vore_icons = SA_ICON_LIVING
@@ -46,10 +46,10 @@
if(!riding_datum)
riding_datum = new /datum/riding/simple_animal(src)
verbs |= /mob/living/simple_animal/proc/animal_mount
*/
/mob/living/simple_animal/horse/MouseDrop_T(mob/living/M, mob/living/user)
return
*/
/datum/say_list/horse
speak = list("NEHEHEHEHEH","Neh?")

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/hostile/jelly
/mob/living/simple_mob/animal/space/jelly
name = "jelly blob"
desc = "Some sort of undulating blob of slime!"
@@ -18,7 +18,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/retaliate/jelly
// Activate Noms!
/mob/living/simple_mob/hostile/jelly
/mob/living/simple_mob/animal/space/jelly
vore_active = 1
vore_pounce_chance = 0
vore_icons = SA_ICON_LIVING

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/vore/panther
/mob/living/simple_mob/vore/aggresive/panther
name = "panther"
desc = "Runtime's larger, less cuddly cousin."
tt_desc = "Panthera pardus"
@@ -33,7 +33,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
// Activate Noms!
/mob/living/simple_mob/vore/panther
/mob/living/simple_mob/vore/aggresive/panther
vore_active = 1
vore_capacity = 2
vore_pounce_chance = 10
@@ -45,10 +45,10 @@
if(!riding_datum)
riding_datum = new /datum/riding/simple_animal(src)
verbs |= /mob/living/simple_animal/proc/animal_mount
*/
/mob/living/simple_animal/vore/panther/MouseDrop_T(mob/living/M, mob/living/user)
return
*/
/datum/say_list/panther
speak = list("RAWR!","Rawr!","GRR!","Growl!")

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/vore/rat
/mob/living/simple_mob/vore/aggresive/rat
name = "giant rat"
desc = "In what passes for a hierarchy among verminous rodents, this one is king."
tt_desc = "Mus muscular"
@@ -45,7 +45,7 @@
say_list_type = /datum/say_list/ratte
ai_holder_type = /datum/ai_holder/simple_mob/melee/rat
/mob/living/simple_mob/vore/rat/passive
/mob/living/simple_mob/vore/aggresive/rat/passive //Yes it makes no sense. But for now it will work
name = "curious giant rat"
desc = "In what passes for a hierarchy among verminous rodents, this one is king. It seems to be more interested on scavenging."
var/mob/living/carbon/human/food
@@ -157,7 +157,7 @@
break
return T
*/
/mob/living/simple_mob/vore/rat/death()
/mob/living/simple_mob/vore/aggresive/rat/death()
playsound(src, 'sound/effects/mouse_squeak_loud.ogg', 50, 1)
..()
@@ -169,7 +169,7 @@
verbs |= /mob/living/simple_animal/proc/animal_mount
*/
/mob/living/simple_mob/vore/rat/MouseDrop_T(mob/living/M, mob/living/user)
/mob/living/simple_mob/vore/aggresive/rat/MouseDrop_T(mob/living/M, mob/living/user)
return
/datum/say_list/ratte

View File

@@ -7,6 +7,7 @@
faction = "shadekin"
ui_icons = 'icons/mob/shadekin_hud.dmi'
mob_class = MOB_CLASS_HUMANOID
mob_bump_flag = 0
maxHealth = 200
health = 200

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/vore/giant_snake
/mob/living/simple_mob/vore/aggresive/giant_snake
name = "giant snake"
desc = "Snakes. Why did it have to be snakes?"
@@ -24,7 +24,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee
// Activate Noms!
/mob/living/simple_mob/vore/giant_snake
/mob/living/simple_mob/vore/aggresive/giant_snake
vore_active = 1
vore_pounce_chance = 25
vore_icons = SA_ICON_LIVING

View File

@@ -0,0 +1,5 @@
/mob/living/simple_mob/vore
mob_bump_flag = 0
/mob/living/simple_mob/vore/aggresive
mob_bump_flag = 1

View File

@@ -1,4 +1,4 @@
/mob/living/simple_mob/vore/wolf
/mob/living/simple_mob/animal/wolf
name = "grey wolf"
desc = "My, what big jaws it has!"
tt_desc = "Canis lupus"
@@ -19,6 +19,6 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
// Activate Noms!
/mob/living/simple_mob/vore/wolf
/mob/living/simple_mob/animal/wolf
vore_active = 1
vore_icons = SA_ICON_LIVING

View File

@@ -177,7 +177,7 @@
..() // will_eat check is carried out before EatTarget is called, so prey on the prey_excludes list isn't a problem.
*/
/mob/living/simple_mob/animal/fox_vr
/mob/living/simple_mob/animal/passive/fox
vore_active = 1
// NO VORE SPRITES
vore_max_size = RESIZE_TINY