Kam halt grad zufällig vorbei Rusty

Was du beachten musst sind die "type-conversions" (glaube das es so heißt).
Ein skill und eine var kann alles mögliche speichern, letztlich sind das aber nur zahlen.
Ein pointer ist ja nichts anderes als eine nummer die auf eine bestimmte speicheradresse zeigt.
Diese zahl kannst du überall speichern aber du kannst über die skill oder var keine objekt eigenschaften ansprechen.
Dafür musst du sie wieder in einen pointer schreiben.

Du könntest z.b. nen "temp-pointer" erstellen
entity* temp_ptr;

Und diesen nun für verschiedene sachen benutzen.
Gleichzeitig hat aber jeder function (und damit auch jede action) zwei pointer die ihr lokal zur verfügung stehen. (my und you)

Der my pointer einer function zeigt entweder auf die entity die diese function aufgerufen hat oder auf nichts.
Letzteres ist z.b. der fall wenn du die function mittels tastendruck aufrufst.

Der you pointer wird von verschiedenen funktionen gesetzt, z.b. von trace oder event functions.
Du kannst ihn aber auch selbst so einsetzten wie du es brauchst.