Page 1 of 1

Pacify Foe rather than Restrain Foe

Posted: Fri Mar 08, 2019 12:25 am
by Kamer
Is there way to keep enemies from attacking the play? Pacifying enemies with speech skills will keep the enemies active in dungeons. If you run into a few too many enemies and run back for help, a pacified bandit will attack back. I read someone that by pacifying enemies it will put the on the players "Team". I can't remember where I read that though. Restraining enemies though only keeps them none active instead of interacting with other monsters. Is restraining an enemy the only way still to keep them from attacking the player? I'm asking because I'd like to create allies during a quest.

Re: Pacify Foe rather than Restrain Foe

Posted: Tue Mar 12, 2019 10:11 pm
by Interkarma
Pacify (spell effect) and "restrain foe" (quest action) both operate the same way in back-end by setting enemyMotor.IsHostile=false. This just prevents them from attacking player, it doesn't place them on player's "team" as far as the enemy infighting system works.

It's definitely possible to create a custom quest action for spawning allies, but the problem right now is that enemy infighting is an optional setting. This means quest would not function as expected for users that have enemy infighting disabled.

It's probably best to create an overarching "player ally" flag exposed to quest system and respected by base AI that cannot be accidentally toggled off.

Re: Pacify Foe rather than Restrain Foe

Posted: Wed Mar 13, 2019 12:09 am
by Kamer
Interkarma wrote:
Tue Mar 12, 2019 10:11 pm
Pacify (spell effect) and "restrain foe" (quest action) both operate the same way in back-end by setting enemyMotor.IsHostile=false. This just prevents them from attacking player, it doesn't place them on player's "team" as far as the enemy infighting system works.

It's definitely possible to create a custom quest action for spawning allies, but the problem right now is that enemy infighting is an optional setting. This means quest would not function as expected for users that have enemy infighting disabled.

It's probably best to create an overarching "player ally" flag exposed to quest system and respected by base AI that cannot be accidentally toggled off.
So that would be on your end then? What' I'm trying to do with Warm Ashes is just a mob spawn. It's a bit immersion breaking when you have friendly knights sit around and not help the player if they were attacked by an enemy. I'm also sure it would open up many possibilities with quests and their variety.

Re: Pacify Foe rather than Restrain Foe

Posted: Wed Mar 13, 2019 1:54 am
by Interkarma
Agreed, it would be awesome. All the raw ingredients are there right now, they just have to be remixed into core and made available to quest system.

It's probably also necessary to roll some of enemy infighting back into core so they can still fight for player if allied to them. Right now enemy infighting is tied to an option users can disable.