I noticed in the refactored PullTrigger() the AController* OwnerController is set with a call to the function GetOwnerController() and then used in TakeDamage().
The new function GetOwnerController() can return nullptr but this is not checked and could be passed into TakeDamage().
Question: Does this matter and how does TakeDamage() behave when the EventInstigator could be null. I looked at the online docs but couldn’t find any information.
I assume that damage can be done to a Pawn by an Actor that doesn’t have a Controller e.g. a trap, or falling rocks, etc.