GetMaster(object)
Determine who controls a creature.
object GetMaster( object oAssociate = OBJECT_SELF );
Parameters
oAssociate
Creature to get the master of. (Default: OBJECT_SELF)
Description
Returns the master PC of the specified creature (familiar) or the DM for DM controlled creatures.
Remarks
Returns OBJECT_INVALID if oAssociate doesn't have a master.
This can be used in a loop to find the PC who ultimately controls the associate (for instance, if there are multiple henchmen, or if the henchman has summoned a creature). In the code example below, for instance, the PC is granted XP OnDeath of a creature, even if the NPC was killed by an associate of the PC, or an associate of that associate, etc. etc.
Version
1.32
Example
void main() { //The actual killer object oKiller=GetLastKiller(); //Loop through until we find one that doesn't have a master while (GetIsObjectValid(GetMaster(oKiller))) { oKiller=GetMaster(oKiller); } //we're now at the top of the hierarchy. Let's check if it //is a PC if (!GetIsPC(oKiller)) return; //Give XP GiveXPToCreature(oKiller, 500); }
See Also
functions: | GetAssociate | GetAssociateState | GetIsDM | GetIsDMPossessed | GetIsPC | SetAssociateState | SetFormerMaster |
categories: | Get Data from Creature Functions | Henchmen/Familiars/Summoned Functions |
author: Charles Feduke, editor: Lilac Soul, additional contributor(s): Jochem van 't Hull, Lilac Soul