Jump to content

[LE] Help making a follower turn hostile toward the player? Trying to create a duel-your-follower mod.


Robbie922004

Recommended Posts

Hey everyone. Been looking into a mod that lets you spar with your followers. Currently in proof-of-concept phase, except I've hit a roadblock. My script only works before you've recruited a follower. Once you've recruited them once, it doesn't work, even if they're dismissed. Right now I'm testing with Jenassa specifically rather than using the Follower Alias just to make sure my scripts are working.

Function Duel()
	HirelingJenassa.GetActorReference().EvaluatePackage()
	HirelingJenassa.GetActorReference().AddToFaction(DuelFaction)
	HirlingJenassa.GetActorRef().StartCombat(Game.GetPlayer())
EndFunction

^It works... but only before they've been a follower. Once I've recruited them, even if I dismiss them, it doesn't work. I've also tried dismissing them via script before firing it, and it still doesn't work. It DOES work with random NPCs who are NOT followers.

Event OnEnterBleedout()
	HirelingJanassa.GetActorRef().StopCombat()
	HirelingJanassa.GetActorReference().RemoveFromFaction(DuelFaction)
	HirelingJanassa.GetActorReference().ResetHealthAndLimbs()
	HirelingJanassa.GetActorReference().EvaluatePackage()
EndEvent

^Stop script.

 

I picked up this method from Sparring Mod (which has open permissions) and rewrote it. I'm not certain EvaluatePackage() is necessary but it was in so I left it in just to test. I've also tried adding RemoveFromFaction() functions for the current follower faction, and that doesn't work ether.

 

What can I do to fix this? Could it be a relationship thing? A faction thing? Are followers hard-coded to not become hostile to the player unless attacked?

 

 


Link to comment
Share on other sites

It is likely you need to set the relationship rank of the ex-follower with the player lower. Also you may not need to create your own faction, there may be other existing factions that will work or you may not need a faction at all.

 

https://www.creationkit.com/index.php?title=SetRelationshipRank_-_Actor

 

Also unless your follower is essential when you are dueling them it is very likely OnEnterBleedout() will not fire. As a mater of fact I have never been able to get it to fire unless the Actor is Essential or Protected (and not fighting the player)

Function Duel()
Actor PlayerRef = Game.GetPlayer()
Actor Hireling =  HirelingJenassa.GetReference() As Actor
  Hireling.EvaluatePackage()
  Hireling.SetRelationshipRank(PlayerRef, -1)
  Hireling.StartCombat(PlayerRef)
EndFunction



Event OnEnterBleedout()
Actor Hireling = HirelingJenassa.GetReference() As Actor
  Hireling.SetRelationshipRank(Game.GetPlayer(), 1)
  Hireling.StopCombat()
  Hireling.ResetHealthAndLimbs()
  Hireling.EvaluatePackage()
EndEvent

Edited by Masterofnet
Link to comment
Share on other sites

It is likely you need to set the relationship rank of the ex-follower with the player lower. Also you may not need to create your own faction, there may be other existing factions that will work or you may not need a faction at all.

 

https://www.creationkit.com/index.php?title=SetRelationshipRank_-_Actor

 

https://www.creationkit.com/index.php?title=StartCombat_-_Actor

Sparring mod uses the companions training faction (when you need to duel Vilkas) so that's currently what I have the property assigned to, and it works. I'll try the relationship, but StarCombat() and putting them in a hostile faction to the player, to my knowledge, is supposed to be enough on its own, which is why I'm stumped.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...