Crossfire Server, Trunk
|
#include <global.h>
#include <ob_methods.h>
#include <ob_types.h>
#include <sounds.h>
#include <sproto.h>
Go to the source code of this file.
Functions | |
static method_ret | creator_type_process (object *op) |
static method_ret | creator_type_trigger (object *op, object *cause, int state) |
void | init_type_creator (void) |
static void | move_creator (object *creator) |
The implementation of creator objects.
Definition in file creator.cpp.
|
static |
Processes a creator.
op | The teleporter to process |
METHOD_OK |
Definition at line 129 of file creator.cpp.
References METHOD_OK, move_creator(), and give::op.
Referenced by init_type_creator().
|
static |
A creator is triggered.
op | The object being triggered |
cause | Ignored. |
state | Ignored. |
METHOD_OK |
Definition at line 141 of file creator.cpp.
References METHOD_OK, move_creator(), give::op, dragon::state, and nlohmann::detail::void().
Referenced by init_type_creator().
void init_type_creator | ( | void | ) |
Initializer for the creator object type.
Definition at line 40 of file creator.cpp.
References CREATOR, creator_type_process(), creator_type_trigger(), register_process(), and register_trigger().
Referenced by register_all_ob_types().
|
static |
Move function for creator objects.
It has the creator object create it's other_arch right on top of it. connected: what will trigger it
Note this can create large objects, however, in that case, it has to make sure that there is in fact space for the object. It should really do this for small objects also, but there is more concern with large objects, most notably a part being placed outside of the map which would cause the server to crash
creator | creator to move. |
Definition at line 64 of file creator.cpp.
References object::arch, CLEAR_FLAG, fix_generated_item(), FLAG_FREED, FLAG_IS_A_TEMPLATE, FLAG_IS_FLOOR, FLAG_LIFESAVE, flags, FOR_BELOW_FINISH, FOR_BELOW_PREPARE, FREE_AND_CLEAR_STR, FREE_AND_COPY, GT_MINIMAL, living::hp, INS_BELOW_ORIGINATOR, object::inv, object::level, llevError, LOG(), object::map, archetype::more, object::name, guildjoin::ob, ob_blocked(), object_create_arch(), object_create_clone(), object_free_drop_inventory(), object_insert_in_map_at(), object_unset_flag_inv(), object::other_arch, mapstruct::path, QUERY_FLAG, rndm(), object::slaying, object::stats, object::title, object::x, and object::y.
Referenced by creator_type_process(), and creator_type_trigger().