diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm index 454e4fc8bd3..baa9dd42bbe 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm @@ -61,7 +61,7 @@ if(autorest_cooldown) autorest_cooldown -- - else if(prob(5) && ai_holder.stance == STANCE_IDLE) + else if(prob(5) && (resting || ai_holder.stance == STANCE_IDLE)) autorest_cooldown = rand(50,200) lay_down() @@ -126,7 +126,7 @@ return FALSE /mob/living/simple_mob/vore/pakkun/on_throw_vore_special(var/pred, var/mob/living/target) - if(pred && !extra_posessive) + if(pred && !extra_posessive && !(LAZYFIND(prey_excludes, target))) LAZYSET(prey_excludes, target, world.time) addtimer(CALLBACK(src, .proc/removeMobFromPreyExcludes, weakref(target)), 5 MINUTES) if(ai_holder) @@ -184,6 +184,8 @@ icon_living = "snappy" icon_state = "snappy" icon_rest = "snappy-rest" + digestable = 0 // pet mob, do not eat + devourable = 0 ai_holder_type = /datum/ai_holder/simple_mob/ranged/pakkun/snappy vore_default_mode = DM_HOLD @@ -211,6 +213,11 @@ petters += M //YOU HAVE OFFERED YOURSELF TO THE LIZARD return ..() +/mob/living/simple_mob/vore/pakkun/snapdragon/snappy/lay_down() + if(LAZYLEN(petters) && prob(50) && !resting) //50% chance she'll forgive a random person when she takes a nap + petters -= pick(petters) + ..() + /mob/living/simple_mob/vore/pakkun/snapdragon/snappy/init_vore() ..() var/obj/belly/B = vore_selected diff --git a/icons/mob/vore.dmi b/icons/mob/vore.dmi index 884e241c184..4265bd359f3 100644 Binary files a/icons/mob/vore.dmi and b/icons/mob/vore.dmi differ