What you can’t do (yet)
These things are not possible with the NPC actions today.
- You can’t damage or heal an NPC. The game has no damage or health that NPCs use, so a health change would do nothing and would only look like it worked.
Hitis the closest thing, and it does not change health. (NPCControllerhas no damage, health orIDamageReceivermember. The only health value is the public fieldNPCStats.Health, and no game code reads or writes it. ItsActivities_Healthtriggers have no callers.) - You can’t listen for when an NPC says a line. There is no event for it. It would need a change to the game’s bark code that would run on every bark of every NPC. The speaker would also be unknown for lines said by world logic, which have no NPC. (A
Barkedevent would need a Harmony postfix onSubtitleBarkUI.Bark, with its own install and turn-off path. A worldlogic_barkspeaker has no NPC, so itsNpcIdwould be 0.) - You can’t use the extra look calls the game has. The look calls here are the four listed above only. Looking at a named target, and turning off the look at the player, are not offered. (The game’s
LookAtNamedTargetandDisableLookAtPlayerare not offered by the framework.) - You can’t move an NPC that is not in the scene by a step at a time. Those NPCs move along the game’s own routes between scenes and have nothing to teleport.
ChangeLevelsets the scene directly and does not walk the NPC.