… | |
… | |
430 | /* This return true if object has still randomitems which |
430 | /* This return true if object has still randomitems which |
431 | * could be expanded. |
431 | * could be expanded. |
432 | */ |
432 | */ |
433 | MTH bool has_random_items () const { return randomitems && !flag [FLAG_IS_A_TEMPLATE]; } |
433 | MTH bool has_random_items () const { return randomitems && !flag [FLAG_IS_A_TEMPLATE]; } |
434 | |
434 | |
|
|
435 | // returns the outermost owner, never returns 0 |
|
|
436 | MTH object *outer_owner () |
|
|
437 | { |
|
|
438 | for (object *op = this; ; op = op->owner) |
|
|
439 | if (!op->owner) |
|
|
440 | return op; |
|
|
441 | } |
|
|
442 | |
435 | // returns the outermost environment, never returns 0 |
443 | // returns the outermost environment, never returns 0 |
436 | MTH object *outer_env () |
444 | MTH object *outer_env () |
437 | { |
445 | { |
438 | for (object *op = this; ; op = op->env) |
446 | for (object *op = this; ; op = op->env) |
439 | if (!op->env) |
447 | if (!op->env) |
… | |
… | |
630 | MTH static archetype *find (const_utf8_string name); |
638 | MTH static archetype *find (const_utf8_string name); |
631 | |
639 | |
632 | MTH void link (); |
640 | MTH void link (); |
633 | MTH void unlink (); |
641 | MTH void unlink (); |
634 | |
642 | |
|
|
643 | MTH static object *get (const char *name); // find()->instance() |
635 | MTH object *instance (); |
644 | MTH object *instance (); |
636 | |
645 | |
637 | object_vector_index ACC (RW, archid); // index in archvector |
646 | object_vector_index ACC (RW, archid); // index in archvector |
638 | shstr ACC (RW, archname); /* More definite name, like "generate_kobold" */ |
647 | shstr ACC (RW, archname); /* More definite name, like "generate_kobold" */ |
639 | |
648 | |