|
Crossfire Server, Trunk
|
#include "global.h"#include <errno.h>#include <stdlib.h>#include <string.h>#include "output_file.h"#include "sproto.h"#include "spells.h"
Include dependency graph for resurrection.c:Go to the source code of this file.
Functions | |
| int | cast_raise_dead_spell (object *op, object *caster, object *spell, int dir, const char *arg) |
| void | dead_player (object *op) |
| static int | resurrect_player (object *op, char *playername, object *spell, char *accountname) |
| static int | resurrection_fails (int levelcaster, int leveldead) |
Resurrection / raise dead related code. This is used on servers with permanent death on.
Definition in file resurrection.c.
| int cast_raise_dead_spell | ( | object * | op, |
| object * | caster, | ||
| object * | spell, | ||
| int | dir, | ||
| const char * | arg | ||
| ) |
This handles the raise dead / resurrection spells. So try to revive a player.
| op | who is doing the resurrecting. |
| caster | what is casting the spell (op or a scroll/rod). |
| spell | spell object. |
| dir | direction the spell is cast. |
| arg | name of the player to revive. |
| 0 | spell had no effect, or player couldn't revive. |
| 1 | player revived, or some nasty things happened. |
Definition at line 181 of file resurrection.c.
References archininventory::arch, arch_to_object(), CALLOC, caster_level(), CORPSE, draw_ext_info(), draw_ext_info_format(), find_archetype(), FOR_MAP_FINISH, FOR_MAP_PREPARE, freearr_x, freearr_y, get_map_flags(), treasureliststruct::items, obj::last_heal, m, MAX_BUF, MSG_TYPE_SPELL, MSG_TYPE_SPELL_FAILURE, obj::name, NDI_UNIQUE, commongive::newob, object_free_drop_inventory(), object_insert_in_map_at(), object_remove(), give::op, P_OUT_OF_MAP, obj::randomitems, resurrect_player(), resurrection_fails(), safe_strncpy, summon_hostile_monsters(), Floor::t, guildbuy::temp, and Ice::tmp.
Referenced by cast_spell().
Here is the call graph for this function:
Here is the caller graph for this function:| void dead_player | ( | object * | op | ) |
Kill a player on a permanent death server with resurrection.
| op | player to kill. |
Definition at line 297 of file resurrection.c.
References npc_dialog::filename, llevError, Settings::localdir, LOG(), make_perma_dead(), MAX_BUF, give::op, python_init::path, Settings::playerdir, and settings.
Referenced by kill_player_permadeath().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Resurrect a player. This may change the player's race, or reduce experience.
| op | who is resurrecting. |
| playername | the name of the player to resurrect. |
| spell | spell that was used to resurrect. |
| accountname | the account the resurrected player belongs to |
| 0 | resurrection failed. |
| 1 | playername is living again. |
Definition at line 52 of file resurrection.c.
References buf, liv::Con, sword_of_souls::Con, draw_ext_info_format(), liv::exp, find_treasurelist(), FMT64, treasureliststruct::items, llevError, Settings::localdir, LOG(), MAX_BUF, MSG_TYPE_SPELL, MSG_TYPE_SPELL_FAILURE, MSG_TYPE_SPELL_SUCCESS, NDI_UNIQUE, of_close(), of_open(), give::op, python_init::path, Settings::playerdir, obj::race, RANDOM, settings, obj::stats, Floor::t, treasureliststruct::total_chance, unmake_perma_dead(), and autojail::value.
Referenced by cast_raise_dead_spell().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Will the resurrection succeed?
Rules:
| levelcaster | level at which the spell is cast. |
| leveldead | dead player's level. |
Definition at line 280 of file resurrection.c.
References rndm().
Referenced by cast_raise_dead_spell().
Here is the call graph for this function:
Here is the caller graph for this function: