Possessing enemy soldier and shooting his rifle at another enemy soldier is now working! This is pretty fun. Maybe a bit too easy, but I’ll balance that later. Also, I added a shrine maiden that can see the player ghost and alert soldiers.
For both possession and adding another character, I was afraid that I’d have to write a lot of new code or rewrite old code, but I figured out ways to a lot of the current code, so I was able to do these quicker than anticipated. For controlling enemy characters, basically I turn off the inputs from the AI director, and then feed it player input. This allowed me to basically make no changes to how the enemy AI works right now while giving me all of the control over the enemy. Similar thing for the shrine maiden behaviour, I turn off some methods while running some new methods, but most of the AI is similar to the current soldier AI. Adding more characters should be a breeze since my code is more flexible now.