/** * Common functionality for an npc that is owned (ie summoned/controlled * by someone else). * @author Aquilo */ /* Store player owners as string name as it means they remain owner over su's. */ private mixed _owner; /** * Set who owns us. * @param owner either player name, player ob, or other living ob */ object set_owner( mixed owner ){ if( stringp(owner) ) _owner = owner; if( objectp(owner) && living(owner) ){ if( userp(owner) ) _owner = owner->query_name(); else _owner = owner; } return _owner; } /** * @return the ob pointing to the thing that owns/controls us */ object query_owner() { if( stringp(_owner) ) return find_player(_owner); else return _owner; } /** * Checked by pk checking code * @ignore yes */ object query_owner_pk_check() { return query_owner(); } mixed *stats(){ return ({ ({ "owner", _owner }), }); }