Cataclysm-dda: Animal Empathy trait not working as advertized

Created on 5 Apr 2018  路  7Comments  路  Source: CleverRaven/Cataclysm-DDA

Game version: 0.C-26854-g8d6cdbf

Operating system: Win 7

Tiles or curses: Tiles

Mods active: Default (novitamins, filthy_morale)

Expected behavior

Small woodland animals (like turkeys and rabbits) not running away from me when I have Animal Empathy trait.
Alternatively: Animal Empathy trait not advertising "Peaceful animals not running away from me"

Actual behavior

Turkeys run away from me when I have Animal Empathy trait

Steps to reproduce the behavior

Start a new character with Animal Empathy trait.
Read the description of the trait: "Peaceful animals will not run away from you <...>"
Try to get near small woodland animals.
Observe them "Fleeing!"

(S2 - Confirmed) <Suggestion / Discussion> Mutations / Traits / Professions

Most helpful comment

I can suggest buff morale gain from 5 to 55 cover even the largest negative base morale.

All 7 comments

That's not a bug IMO. Turkeys are scared too much by everything, even Animal Empathy can't cope with their fear - their morale by default is -8, and Animal Empathy reduces it only to -3.

The formula is

if( effective_morale < 0 ) {
        if( effective_morale + effective_anger > 0 && get_hp() > get_hp_max() / 3 ) {
            return MATT_FOLLOW;
        }
        return MATT_FLEE;

So after applying Animal Empathy their effective morale is -3, effective morale + effective anger = -3 + -70 = -73 which of course is lesser than zero, so turkeys WILL flee.

Here are all the wildlife monsters with negative base morale from monsters.json:
-5: deer, jackrabbit
-7: rabbit
-8: chicken, crow, duck, squirrel, turkey
-20: groundhog
-50: lemming, muskrat
-55: chipmunk

Since the trait only raises morale by 5, it should only ever work against deer and jackrabbits, but the description implies its much wider applicability. I don't know how the numbers were chosen.

I took the trait expecting to be able to specifically hunt those small animals in peace, and not use a bike/car to catch up to them. But given how it's only useful against deer (and I don't think I've seen those ever), that doesn't sound very exciting.

@moxian: I wouldn't be surprised if the person writing the description saw only rabbits and deer...

I can suggest buff morale gain from 5 to 55 cover even the largest negative base morale.

Could also have animal empathy override animal fear altogether so that future, lower values wouldn't suffer the same issue. Probably around here?

https://github.com/CleverRaven/Cataclysm-DDA/blob/4a2dad3fb01b9eebbd06632977d4c8825c536ca8/src/monmove.cpp#L214-L222

Increasing the number seems fine, as long as it doesn't make them stick
around while being shot at.

At the very least the description should be fixed because as of now it is obviously wrong.

Was this page helpful?
0 / 5 - 0 ratings