Crossfire Server, Branches 1.12
R18729
|
Go to the source code of this file.
void common_ob_describe | ( | const ob_methods * | context, |
const object * | op, | ||
const object * | observer, | ||
char * | buf, | ||
size_t | size | ||
) |
Describes an object, seen by a given observer.
context | The method context |
op | The object to describe |
observer | The object to make the description to |
buf | Buffer that will contain the description |
size | buf's size. |
Definition at line 39 of file describe.c.
References describe_item(), query_name(), and VERY_BIG_BUF.
Referenced by init_type_power_crystal(), and legacy_ob_describe().
method_ret common_ob_move_on | ( | ob_methods * | context, |
object * | trap, | ||
object * | victim, | ||
object * | originator | ||
) |
'victim' moves onto 'trap' 'victim' leaves 'trap' effect is determined by move_on/move_off of trap and move_type of victim.
originator: Player, monster or other object that caused 'victim' to move onto 'trap'. Will receive messages caused by this action. May be NULL. However, some types of traps require an originator to function.
Definition at line 41 of file common_apply.c.
References obj::arch, common_post_ob_move_on(), common_pre_ob_move_on(), llevDebug, LOG(), METHOD_ERROR, METHOD_OK, obj::name, archt::name, and obj::type.
Definition at line 88 of file common_apply.c.
References ob_move_on_recursion_depth.
Referenced by altar_type_move_on(), button_type_move_on(), check_inv_type_move_on(), common_ob_move_on(), common_projectile_move_on(), common_trap_type_move_on(), container_type_move_on(), converter_type_move_on(), deep_swamp_type_move_on(), director_type_move_on(), exit_type_move_on(), hole_type_move_on(), identify_altar_type_move_on(), pedestal_type_move_on(), player_mover_type_move_on(), shop_mat_type_move_on(), sign_type_move_on(), spell_effect_type_move_on(), spinner_type_move_on(), trapdoor_type_move_on(), trigger_altar_type_move_on(), trigger_button_type_move_on(), and trigger_pedestal_type_move_on().
method_ret common_pre_ob_move_on | ( | object * | trap, |
object * | victim, | ||
object * | originator | ||
) |
Definition at line 51 of file common_apply.c.
References obj::arch, CONTAINER, EVENT_TRIGGER, execute_event(), EXIT, FLAG_APPLIED, FLAG_WIZPASS, obj::head, llevDebug, LOG(), METHOD_ERROR, METHOD_OK, obj::name, archt::name, ob_move_on_recursion_depth, QUERY_FLAG, SCRIPT_FIX_ALL, SIGN, and obj::type.
Referenced by altar_type_move_on(), button_type_move_on(), check_inv_type_move_on(), common_ob_move_on(), common_projectile_move_on(), common_trap_type_move_on(), container_type_move_on(), converter_type_move_on(), deep_swamp_type_move_on(), director_type_move_on(), exit_type_move_on(), hole_type_move_on(), identify_altar_type_move_on(), pedestal_type_move_on(), player_mover_type_move_on(), shop_mat_type_move_on(), sign_type_move_on(), spell_effect_type_move_on(), spinner_type_move_on(), trapdoor_type_move_on(), trigger_altar_type_move_on(), trigger_button_type_move_on(), and trigger_pedestal_type_move_on().
method_ret common_process_projectile | ( | ob_methods * | context, |
object * | op | ||
) |
Move an arrow or thrown object along its course.
context | The method context |
op | The arrow or thrown object being moved. |
Definition at line 62 of file projectile.c.
References obj::above, absdir(), obj::direction, DIRX, DIRY, obj::face, FLAG_ALIVE, FLAG_REFL_MISSILE, FLAG_REFLECTING, free_object(), freearr_x, freearr_y, GET_ANIM_ID, GET_ANIMATION, get_map_flags(), GET_MAP_MOVE_BLOCK, GET_MAP_OB, hit_with_arrow(), insert_ob_in_map(), obj::level, llevError, LOG(), obj::map, METHOD_ERROR, METHOD_OK, new_faces, new_face_struct::number, OB_TYPE_MOVE_BLOCK, obj::owner, P_IS_ALIVE, P_OUT_OF_MAP, QUERY_FLAG, remove_ob(), rndm(), SET_ANIMATION, obj::speed, obj::state, stop_projectile(), obj::x, and obj::y.
Referenced by arrow_type_process(), and thrown_object_type_process().
method_ret common_projectile_move_on | ( | ob_methods * | context, |
object * | trap, | ||
object * | victim, | ||
object * | originator | ||
) |
Move on this Thrown Object object.
context | The method context |
trap | The thrown object or arrow we're moving on |
victim | The object moving over this one |
originator | The object that caused the move_on event |
Definition at line 219 of file projectile.c.
References common_post_ob_move_on(), common_pre_ob_move_on(), FLAG_ALIVE, hit_with_arrow(), obj::inv, METHOD_ERROR, METHOD_OK, obj::owner, QUERY_FLAG, and obj::speed.
Referenced by init_type_arrow(), and init_type_thrown_object().
method_ret common_trap_type_move_on | ( | ob_methods * | context, |
object * | trap, | ||
object * | victim, | ||
object * | originator | ||
) |
Move on this Rune or Trap object.
context | The method context |
trap | The rune or trap we're moving on |
victim | The object moving over this one |
originator | The object that caused the move_on event |
Definition at line 41 of file common_trap.c.
References common_post_ob_move_on(), common_pre_ob_move_on(), FLAG_ALIVE, obj::level, METHOD_ERROR, METHOD_OK, QUERY_FLAG, and spring_trap().
Referenced by init_type_rune(), and init_type_trap().
method_ret common_trap_type_process | ( | ob_methods * | context, |
object * | op | ||
) |
Processes a Rune or Trap. Comments on runes (and traps): rune->level : level at which rune will cast its spell. rune->hp : number of detonations before rune goes away rune->msg : message the rune displays when it goes off rune->direction : direction it will cast a spell in rune->dam : damage the rune will do if it doesn't cast spells rune->attacktype: type of damage it does, if not casting spells rune->other_arch: spell in the rune rune->Cha : how hidden the rune is rune->maxhp : number of spells the rune casts
context | The method context |
op | The rune or trap to process |
Definition at line 66 of file common_trap.c.
References liv::Cha, obj::invisible, obj::level, MAX, METHOD_OK, rndm(), obj::speed_left, obj::stats, UP_OBJ_FACE, and update_object().
Referenced by init_type_rune(), and init_type_trap().
void init_type_altar | ( | void | ) |
Initializer for the ALTAR object type.
Definition at line 38 of file altar.c.
References ALTAR, altar_type_move_on(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_armour_improver | ( | void | ) |
Initializer for the ARMOUR_IMPROVER object type.
Definition at line 38 of file armour_improver.c.
References ARMOUR_IMPROVER, armour_improver_type_apply(), and register_apply().
Referenced by register_all_ob_types().
void init_type_arrow | ( | void | ) |
Initializer for the ARROW object type.
Definition at line 38 of file arrow.c.
References ARROW, arrow_type_process(), common_projectile_move_on(), register_move_on(), and register_process().
Referenced by register_all_ob_types().
void init_type_blindness | ( | void | ) |
Initializer for the blindness object type.
Definition at line 39 of file blindness.c.
References BLINDNESS, blindness_type_process(), and register_process().
Referenced by register_all_ob_types().
void init_type_book | ( | void | ) |
Initializer for the BOOK object type.
Definition at line 38 of file book.c.
References BOOK, book_type_apply(), and register_apply().
Referenced by register_all_ob_types().
void init_type_button | ( | void | ) |
Initializer for the BUTTON object type.
Definition at line 38 of file button.c.
References BUTTON, button_type_move_on(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_cf_handle | ( | void | ) |
Initializer for the CF_HANDLE object type.
Definition at line 38 of file cf_handle.c.
References CF_HANDLE, cf_handle_type_apply(), and register_apply().
Referenced by register_all_ob_types().
void init_type_check_inv | ( | void | ) |
Initializer for the CHECK_INV object type.
Definition at line 38 of file check_inv.c.
References CHECK_INV, check_inv_type_move_on(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_clock | ( | void | ) |
Initializer for the CLOCK object type.
Definition at line 37 of file clock.c.
References CLOCK, clock_type_apply(), and register_apply().
Referenced by register_all_ob_types().
void init_type_container | ( | void | ) |
Initializer for the CONTAINER object type.
Definition at line 38 of file container.c.
References CONTAINER, container_type_move_on(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_converter | ( | void | ) |
Initializer for the CONVERTER object type.
Definition at line 49 of file converter.c.
References CONVERTER, converter_type_move_on(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_creator | ( | void | ) |
Initializer for the creator object type.
Definition at line 40 of file creator.c.
References CREATOR, creator_type_process(), creator_type_trigger(), register_process(), and register_trigger().
Referenced by register_all_ob_types().
void init_type_deep_swamp | ( | void | ) |
Initializer for the DEEP_SWAMP object type.
Definition at line 39 of file deep_swamp.c.
References DEEP_SWAMP, deep_swamp_type_move_on(), deep_swamp_type_process(), register_move_on(), and register_process().
Referenced by register_all_ob_types().
void init_type_detector | ( | void | ) |
Initializer for the detector object type.
Definition at line 39 of file detector.c.
References DETECTOR, detector_type_process(), and register_process().
Referenced by register_all_ob_types().
void init_type_director | ( | void | ) |
Initializer for the DIRECTOR object type.
Definition at line 38 of file director.c.
References DIRECTOR, director_type_move_on(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_duplicator | ( | void | ) |
Initializer for the duplicator object type.
Definition at line 39 of file duplicator.c.
References DUPLICATOR, duplicator_type_trigger(), and register_trigger().
Referenced by register_all_ob_types().
void init_type_exit | ( | void | ) |
Initializer for the EXIT object type.
Definition at line 39 of file exit.c.
References EXIT, exit_type_apply(), exit_type_move_on(), register_apply(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_food | ( | void | ) |
Initializer for the food object type.
Definition at line 40 of file food.c.
References DRINK, FLESH, FOOD, food_type_apply(), and register_apply().
Referenced by register_all_ob_types().
void init_type_gate | ( | void | ) |
Initializer for the gate object type.
Definition at line 40 of file gate.c.
References GATE, gate_type_process(), register_process(), TIMED_GATE, and timed_gate_type_process().
Referenced by register_all_ob_types().
void init_type_hole | ( | void | ) |
Initializer for the HOLE object type.
Definition at line 38 of file hole.c.
References HOLE, hole_type_move_on(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_identify_altar | ( | void | ) |
Initializer for the IDENTIFY_ALTAR object type.
Definition at line 38 of file identify_altar.c.
References IDENTIFY_ALTAR, identify_altar_type_move_on(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_lamp | ( | void | ) |
Initializer for the LAMP object type.
Definition at line 39 of file lamp.c.
References LAMP, lamp_type_apply(), and register_apply().
Referenced by register_all_ob_types().
void init_type_lighter | ( | void | ) |
Initializer for the LIGHTER object type.
Definition at line 38 of file lighter.c.
References LIGHTER, lighter_type_apply(), and register_apply().
Referenced by register_all_ob_types().
void init_type_marker | ( | void | ) |
Initializer for the marker object type.
Definition at line 40 of file marker.c.
References MARKER, marker_type_process(), marker_type_trigger(), register_process(), register_trigger(), and TRIGGER_MARKER.
Referenced by register_all_ob_types().
void init_type_mood_floor | ( | void | ) |
Initializer for the mood floor object type.
Definition at line 40 of file mood_floor.c.
References MOOD_FLOOR, mood_floor_type_process(), mood_floor_type_trigger(), register_process(), and register_trigger().
Referenced by register_all_ob_types().
void init_type_peacemaker | ( | void | ) |
Initializer for the peacemaker object type.
Definition at line 39 of file peacemaker.c.
References PEACEMAKER, peacemaker_type_process(), and register_process().
Referenced by register_all_ob_types().
void init_type_pedestal | ( | void | ) |
Initializer for the PEDESTAL object type.
Definition at line 38 of file pedestal.c.
References PEDESTAL, pedestal_type_move_on(), and register_move_on().
Referenced by register_all_ob_types().
void init_type_player_changer | ( | void | ) |
Initializer for the player changer object type.
Definition at line 39 of file player_changer.c.
References PLAYER_CHANGER, player_changer_type_process(), and register_process().
Referenced by register_all_ob_types().
void init_type_player_mover | ( | void | ) |
Initializer for the PLAYERMOVER object type.
Definition at line 38 of file player_mover.c.
References player_mover_type_move_on(), PLAYERMOVER, and register_move_on().
Referenced by register_all_ob_types().
void init_type_poison | ( | void | ) |
Initializer for the POISON object type.
Definition at line 38 of file poison.c.
References POISON, poison_type_apply(), and register_apply().
Referenced by register_all_ob_types().
void init_type_poisoning | ( | void | ) |
Initializer for the poisoning object type.
Definition at line 38 of file poisoning.c.
References POISONING, poisoning_type_process(), and register_process().
Referenced by register_all_ob_types().
void init_type_potion | ( | void | ) |
Initializer for the potion object type.
Definition at line 38 of file potion.c.
References POTION, potion_type_apply(), and register_apply().
Referenced by register_all_ob_types().
void init_type_power_crystal | ( | void | ) |
Initializer for the POWER_CRYSTAL object type.
Definition at line 37 of file power_crystal.c.
References common_ob_describe(), POWER_CRYSTAL, power_crystal_type_apply(), register_apply(), and register_describe().
Referenced by register_all_ob_types().
void init_type_rune | ( | void | ) |
Initializer for the RUNE object type.
Definition at line 36 of file rune.c.
References common_trap_type_move_on(), common_trap_type_process(), register_move_on(), register_process(), and RUNE.
Referenced by register_all_ob_types().
void init_type_savebed | ( | void | ) |
Initializer for the SAVEBED object type.
Definition at line 39 of file savebed.c.
References register_apply(), SAVEBED, and savebed_type_apply().
Referenced by register_all_ob_types().
void init_type_scroll | ( | void | ) |
Initializer for the scroll object type.
Definition at line 37 of file scroll.c.
References register_apply(), SCROLL, and scroll_type_apply().
Referenced by register_all_ob_types().
void init_type_shop_inventory | ( | void | ) |
Initializer for the SHOP_INVENTORY object type.
Definition at line 38 of file shop_inventory.c.
References register_apply(), SHOP_INVENTORY, and shop_inventory_type_apply().
Referenced by register_all_ob_types().
void init_type_shop_mat | ( | void | ) |
Initializer for the SHOP_MAT object type.
Definition at line 38 of file shop_mat.c.
References register_move_on(), SHOP_MAT, and shop_mat_type_move_on().
Referenced by register_all_ob_types().
void init_type_sign | ( | void | ) |
Initializer for the SIGN object type.
Definition at line 40 of file sign.c.
References register_apply(), register_move_on(), SIGN, sign_type_apply(), and sign_type_move_on().
Referenced by register_all_ob_types().
void init_type_skillscroll | ( | void | ) |
Initializer for the SKILLSCROLL object type.
Definition at line 39 of file skillscroll.c.
References register_apply(), SKILLSCROLL, and skillscroll_type_apply().
Referenced by register_all_ob_types().
void init_type_spell_effect | ( | void | ) |
Initializer for the SPELL_EFFECT object type.
Definition at line 54 of file spell_effect.c.
References register_move_on(), register_process(), SPELL_EFFECT, spell_effect_type_move_on(), and spell_effect_type_process().
Referenced by register_all_ob_types().
void init_type_spellbook | ( | void | ) |
Initializer for the SPELLBOOK object type.
Definition at line 39 of file spellbook.c.
References register_apply(), SPELLBOOK, and spellbook_type_apply().
Referenced by register_all_ob_types().
void init_type_spinner | ( | void | ) |
Initializer for the SPINNER object type.
Definition at line 38 of file spinner.c.
References register_move_on(), SPINNER, and spinner_type_move_on().
Referenced by register_all_ob_types().
void init_type_teleporter | ( | void | ) |
Initializer for the teleporter object type.
Definition at line 40 of file teleporter.c.
References register_process(), register_trigger(), TELEPORTER, teleporter_type_process(), and teleporter_type_trigger().
Referenced by register_all_ob_types().
void init_type_thrown_object | ( | void | ) |
Initializer for the THROWN_OBJ object type.
Definition at line 38 of file thrown_object.c.
References common_projectile_move_on(), register_move_on(), register_process(), THROWN_OBJ, and thrown_object_type_process().
Referenced by register_all_ob_types().
void init_type_transport | ( | void | ) |
Initializer for the TRANSPORT object type.
Definition at line 41 of file transport.c.
References register_apply(), register_process(), TRANSPORT, transport_type_apply(), and transport_type_process().
Referenced by register_all_ob_types().
void init_type_trap | ( | void | ) |
Initializer for the TRAP object type.
Definition at line 36 of file trap.c.
References common_trap_type_move_on(), common_trap_type_process(), register_move_on(), register_process(), and TRAP.
Referenced by register_all_ob_types().
void init_type_trapdoor | ( | void | ) |
Initializer for the TRAPDOOR object type.
Definition at line 38 of file trapdoor.c.
References register_move_on(), TRAPDOOR, and trapdoor_type_move_on().
Referenced by register_all_ob_types().
void init_type_treasure | ( | void | ) |
Initializer for the TREASURE object type.
Definition at line 38 of file treasure.c.
References register_apply(), TREASURE, and treasure_type_apply().
Referenced by register_all_ob_types().
void init_type_trigger | ( | void | ) |
Initializer for the TRIGGER object type.
Definition at line 40 of file trigger.c.
References register_apply(), register_process(), TRIGGER, trigger_type_apply(), and trigger_type_process().
Referenced by register_all_ob_types().
void init_type_trigger_altar | ( | void | ) |
Initializer for the TRIGGER_ALTAR object type.
Definition at line 38 of file trigger_altar.c.
References register_move_on(), TRIGGER_ALTAR, and trigger_altar_type_move_on().
Referenced by register_all_ob_types().
void init_type_trigger_button | ( | void | ) |
Initializer for the TRIGGER_BUTTON object type.
Definition at line 38 of file trigger_button.c.
References register_move_on(), TRIGGER_BUTTON, and trigger_button_type_move_on().
Referenced by register_all_ob_types().
void init_type_trigger_pedestal | ( | void | ) |
Initializer for the TRIGGER_PEDESTAL object type.
Definition at line 38 of file trigger_pedestal.c.
References register_move_on(), TRIGGER_PEDESTAL, and trigger_pedestal_type_move_on().
Referenced by register_all_ob_types().
void init_type_weapon_improver | ( | void | ) |
Initializer for the WEAPON_IMPROVER object type.
Definition at line 44 of file weapon_improver.c.
References register_apply(), WEAPON_IMPROVER, and weapon_improver_type_apply().
Referenced by register_all_ob_types().
method_ret legacy_ob_apply | ( | ob_methods * | context, |
object * | op, | ||
object * | applier, | ||
int | aflags | ||
) |
Main apply handler.
Checks for unpaid items before applying.
Return value: 0: player or monster can't apply objects of that type 1: has been applied, or there was an error applying the object 2: objects of that type can't be applied if not in inventory
op is the object that is causing object to be applied, tmp is the object being applied.
aflag is special (always apply/unapply) flags. Nothing is done with them in this function - they are passed to apply_special
Definition at line 49 of file apply.c.
References AMULET, apply_special(), ARMOUR, BOOTS, BOW, BRACERS, BUILDER, CLOAK, CLOSE_CON, CONTAINER, obj::env, GIRDLE, GLOVES, HELMET, HORN, legacy_apply_container(), METHOD_ERROR, METHOD_OK, METHOD_UNHANDLED, PLAYER, RING, ROD, SHIELD, SKILL, SKILL_TOOL, obj::type, WAND, and WEAPON.
Referenced by init_ob_methods().
void legacy_ob_describe | ( | const ob_methods * | context, |
const object * | op, | ||
const object * | observer, | ||
char * | buf, | ||
size_t | size | ||
) |
Describes an object, seen by a given observer.
context | The method context |
op | The object to describe |
observer | The object to make the description to |
buf | Buffer that will contain the description |
size | buf's size. |
Definition at line 38 of file legacy_describe.c.
References AMULET, ARMOUR, ARROW, BOOTS, BOW, BRACERS, CLOAK, common_ob_describe(), DRINK, FLESH, FOOD, GIRDLE, GLOVES, HELMET, LAMP, query_name(), RING, SHIELD, SKILL, SKILL_TOOL, obj::type, and WEAPON.
Referenced by init_ob_methods().
method_ret legacy_ob_process | ( | ob_methods * | context, |
object * | op | ||
) |
Definition at line 31 of file process.c.
References animate_turning(), AT_PHYSICAL, DIRECTOR, DISEASE, DOOR, EARTHWALL, FIREWALL, FORCE, GOLEM, hit_player(), HOLE, HORN, legacy_animate_trigger(), legacy_move_hole(), legacy_remove_force(), LOCKED_DOOR, liv::maxsp, METHOD_OK, METHOD_UNHANDLED, move_disease(), move_firewall(), move_golem(), move_player_mover(), move_symptom(), PLAYERMOVER, POTION_EFFECT, regenerate_rod(), remove_door(), remove_locked_door(), ROD, obj::stats, SYMPTOM, TRIGGER_ALTAR, TRIGGER_BUTTON, TRIGGER_PEDESTAL, and obj::type.
Referenced by init_ob_methods().
void move_duplicator | ( | object * | op | ) |
Trigger for duplicator.
Will duplicate a specified object placed on top of it.
op | duplicator. |
Definition at line 54 of file duplicator.c.
References obj::above, obj::arch, free_object(), obj::level, llevInfo, LOG(), obj::map, archt::name, obj::nrof, obj::other_arch, mapdef::path, remove_ob(), obj::x, and obj::y.
Referenced by duplicator_type_trigger().
void move_marker | ( | object * | op | ) |
Move function for marker objects.
When moved, a marker will search for a player sitting above it, and insert an invisible, weightless force into him with a specific code as the slaying field.
At that time, it writes the contents of its own message field to the player. The marker will decrement hp to 0 and then delete itself every time it grants a mark. unless hp was zero to start with, in which case it is infinite.
op | marker to move. Can be removed if it reached its marking limit. |
Definition at line 61 of file marker.c.
References obj::above, add_string(), obj::below, create_archetype(), draw_ext_info(), liv::food, FORCE, FORCE_NAME, free_object(), GET_MAP_OB, liv::hp, insert_ob_in_ob(), obj::inv, obj::lore, obj::map, obj::msg, MSG_SUBTYPE_NONE, MSG_TYPE_MISC, NDI_NAVY, NDI_UNIQUE, PLAYER, remove_ob(), obj::slaying, obj::speed, obj::speed_left, obj::stats, obj::type, update_ob_speed(), obj::x, and obj::y.
Referenced by marker_type_process(), and marker_type_trigger().
void stop_projectile | ( | object * | op | ) |
Handle an arrow or thrown object stopping.
op | The arrow or thrown object that is stopping. |
Definition at line 36 of file projectile.c.
References clear_owner(), EVENT_STOP, execute_event(), fix_stopped_arrow(), free_object(), insert_ob_in_map(), obj::inv, obj::map, merge_ob(), remove_ob(), and SCRIPT_FIX_NOTHING.
Referenced by arrow_type_process(), common_process_projectile(), and thrown_object_type_process().