Adds nom-on-bump behaviour

This commit is contained in:
Screemonster
2017-09-23 08:25:17 +01:00
parent f81900c150
commit 2714ce73f7
5 changed files with 37 additions and 0 deletions

View File

@@ -98,7 +98,19 @@ default behaviour is:
// TODO - Check if we need to do something about the slime.UpdateFeed() we are skipping below.
// VOREStation Edit - End
//VOREstation Edit - Begin
if (istype(tmob, /mob/living/simple_animal)) //check bumpnom chance, if it's a simplemob that's bumped
tmob.Bumped(src)
else if(istype(src, /mob/living/simple_animal)) //otherwise, if it's a simplemob doing the bumping. Simplemob on simplemob doesn't seem to trigger but that's fine.
Bumped(tmob)
if (tmob.loc == src) //check if they got ate, and if so skip the forcemove
now_pushing = 0
return
//VOREstation Edit - End
tmob.forceMove(oldloc)
now_pushing = 0
return

View File

@@ -9,6 +9,8 @@
var/vore_capacity = 1 // The capacity (in people) this person can hold
var/vore_max_size = RESIZE_HUGE // The max size this mob will consider eating
var/vore_min_size = RESIZE_TINY // The min size this mob will consider eating
var/vore_bump_chance = 0 // Chance of trying to eat anyone that bumps into them, regardless of hostility
var/vore_bump_emote = "grabs hold of" // Allow messages for bumpnom mobs to have a flavorful bumpnom
var/vore_pounce_chance = 5 // Chance of this mob knocking down an opponent
var/vore_standing_too = 0 // Can also eat non-stunned mobs
var/vore_ignores_undigestable = 1 // Refuse to eat mobs who are undigestable by the prefs toggle.
@@ -171,3 +173,15 @@
src.vore_organs[B.name] = B
src.vore_selected = B.name
/mob/living/simple_animal/Bumped(var/atom/movable/AM, yes)
if(ismob(AM))
var/mob/tmob = AM
if(will_eat(tmob) && !istype(tmob, type) && prob(vore_bump_chance)) //check if they decide to eat. Includes sanity check to prevent cannibalism.
if(tmob.canmove && prob(vore_pounce_chance)) //if they'd pounce for other noms, pounce for these too, otherwise still try and eat them if they hold still
tmob.Weaken(5)
tmob.visible_message("<span class='danger'>\the [src] [vore_bump_emote] \the [tmob]!</span>!")
stop_automated_movement = 1
animal_nom(tmob)
update_icon()
stop_automated_movement = 0
..()

View File

@@ -48,6 +48,7 @@
// Activate Noms!
/mob/living/simple_animal/catgirl
vore_active = 1
vore_bump_chance = 5
vore_pounce_chance = 50
vore_standing_too = 1
vore_ignores_undigestable = 0 // Catgirls just want to eat yoouuu

View File

@@ -53,7 +53,10 @@ TODO: Make them light up and heat the air when exposed to oxygen.
/mob/living/simple_animal/retaliate/gaslamp
vore_active = 1
vore_capacity = 2
vore_bump_chance = 90 //they're frickin' jellyfish anenome filterfeeders, get tentacled
vore_bump_emote = "lazily wraps its tentacles around"
vore_standing_too = 1 // Defaults to trying to give you that big tentacle hug.
vore_ignores_undigestable = 0 // they absorb rather than digest, you're going in either way
vore_default_mode = DM_HOLD
vore_digest_chance = 0 // Chance to switch to digest mode if resisted
vore_absorb_chance = 20 // BECOME A PART OF ME.

View File

@@ -30,7 +30,10 @@
// Activate Noms!
/mob/living/simple_animal/wah
vore_active = 1
vore_bump_chance = 10
vore_bump_emote = "playfully lunges at"
vore_pounce_chance = 40
vore_default_mode = DM_HOLD // above will only matter if someone toggles it anyway
vore_icons = SA_ICON_LIVING
/mob/living/simple_animal/wah/fae
@@ -42,6 +45,10 @@
icon_dead = "wah_fae_dead"
icon_rest = "wah_fae_rest"
vore_ignores_undigestable = 0 // wah don't care you're edible or not, you still go in
vore_digest_chance = 0 // instead of digesting if you struggle...
vore_absorb_chance = 20 // you get to become adorable purple wahpudge.
vore_bump_chance = 75
maxHealth = 100
health = 100
melee_damage_lower = 10