Skip to content
  • DarkGod's avatar
    Merge branch 'ShoveFix' into 'master' · d1fcef8f
    DarkGod authored
    NPC pathing update
    
    (NPC SHOVE BEHAVIOR):  Currently the AI is incredibly bad at moving towards a player if another NPC is in the way because it prioritizes attempting to shove them in the majority of cases even if a sidestep would work.  Additionally, the shove algorithm factors things like size.  This does not make sense.
    
    - Shove pressure no longer exists
    
    - Shoving now only compares ranks and always works if greater, else always fails
    
    - Shoving will now attempt to move the target aside but if it fails will swap positions with them instead.  This favors a "spreading out" by default but makes sure that the biggest threats can advance through lesser ones in tight quarters
    
    - Shoving no longer costs the shoved any turn energy
    
    - New move script "move_astar_advanced".  This always checks actor blocking but doesn't block if it could successfully swap or shove them.  This is autoassigned to randbosses
    
    - move_astar now calls ActorAI.moveDirection instead of Actor.move allowing it to potentially shove allies
    
    - Fixed ActorAI.aiSeeTargetPos not checking for invalid target location guesses the first turn it doesn't see the target directly
    
    - Randbosses can now open doors and move others
    
    
    See merge request !523
    d1fcef8f