It seems that wingmen (Jenna specifically) do not dock to repair their armor at any station (Commonwealth, Corporate, Fortress, CSC, none). I have bought them Centurion and Centurion/X, not sure if it happens with their original ships.
Is their armor more than 10% damaged? If so, maybe changing ships breaks their behavior. Are they sending you "I need to repair my armor" messages occasionally?
Yes, the armor was at 11% or 13%, but they sent no messages at all.
Had a quick look. Original Volkov repairs his armor and complains until he does so. Change him to a Cent/X and he says nothing and doesn't repair even at 2% armor. Something broken somewhere. 1.8b5.2
OK, seems to be confirmed that buying a new ship for a wingman doesn't transfer the necessary code from baStdWingmanBase. Did this ever work? It should probably be in an event handler rather than a base class to make it simpler.
It should work. The wingman code is in an event handler. Check Jenna.xml, for example, but maybe the event handler is not being properly set after buying a ship? I'll take a look.
Ah, their event handlers inherit from baStdWingmanBase. The problem is that the recurring behavior event is started in the OnCreate event, but the ship broker transfers the character and event handler to an existing ship, so it doesn't get called. It needs to be in OnEventHandlerInit.
https://github.com/kronosaur/TranscendenceDev/pull/10
Also, for anyone who has this problem in an unregistered game, run the game in debug mode, target each wingman that you've bought a new ship for, and enter (sysAddObjRecurringTimerEvent 60 (objGetTarget gPlayerShip) 'OnBehavior)
in the console.
Thanks nms for the workaround, I'll do that :)
Merged PR into 1.8.1. Thank you!
NMS, the workaround doesn't work. I ran the command and the wingman still doesn't dock to repair the armor.
That's odd. Could you target Jenna and run (objGetEventHandler (objGetTarget gPlayerShip))
?
If it's Nil for some reason, run (objSetEventHandler (objGetTarget gPlayerShip) (unvEntity 'chJenna))
, then run the sysAddObjRecurringTimerEvent command again. (Replace chJenna with chRama or chVolkov as needed.)
Thanks, I'll try that and get back to you.
I never had the chance to test the workaround since George released 1.8.1 with the fix :)
Thank you!