1 | /* |
1 | /* |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
|
|
4 | * Copyright (©) 2017,2018 Marc Alexander Lehmann / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992 Frank Tore Johansen |
7 | * Copyright (©) 1992 Frank Tore Johansen |
7 | * |
8 | * |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * the terms of the Affero GNU General Public License as published by the |
10 | * the terms of the Affero GNU General Public License as published by the |
… | |
… | |
29 | #include <sproto.h> |
30 | #include <sproto.h> |
30 | #include <spells.h> |
31 | #include <spells.h> |
31 | #include <errno.h> |
32 | #include <errno.h> |
32 | |
33 | |
33 | /* name of the person to resurrect and which spell was used |
34 | /* name of the person to resurrect and which spell was used |
34 | * to resurrect |
35 | * to resurrect |
35 | */ |
36 | */ |
36 | static int |
37 | static int |
37 | resurrect_player (object *op, char *playername, object *spell) |
38 | resurrect_player (object *op, char *playername, object *spell) |
38 | { |
39 | { |
39 | FILE *deadplayer, *liveplayer; |
40 | FILE *deadplayer, *liveplayer; |
… | |
… | |
161 | } |
162 | } |
162 | |
163 | |
163 | |
164 | |
164 | /* raise_dead by peterm and mehlhaff@soda.berkeley.edu |
165 | /* raise_dead by peterm and mehlhaff@soda.berkeley.edu |
165 | * op -- who is doing the resurrecting |
166 | * op -- who is doing the resurrecting |
166 | * spell - spell object |
167 | * spell - spell object |
167 | * dir -- direction the spell is cast |
168 | * dir -- direction the spell is cast |
168 | * corpseobj - corpse to raise - can be null, in which case this function will find it |
169 | * corpseobj - corpse to raise - can be null, in which case this function will find it |
169 | */ |
170 | */ |
170 | int |
171 | int |
171 | cast_raise_dead_spell (object *op, object *caster, object *spell, int dir, const char *arg) |
172 | cast_raise_dead_spell (object *op, object *caster, object *spell, int dir, const char *arg) |
… | |
… | |
188 | strcpy (name_to_resurrect, arg); |
189 | strcpy (name_to_resurrect, arg); |
189 | temp = NULL; |
190 | temp = NULL; |
190 | } |
191 | } |
191 | else |
192 | else |
192 | { |
193 | { |
193 | sx = op->x + freearr_x[dir]; |
194 | sx = op->x + DIRX (dir); |
194 | sy = op->y + freearr_y[dir]; |
195 | sy = op->y + DIRY (dir); |
195 | m = op->map; |
196 | m = op->map; |
196 | mflags = get_map_flags (m, &m, sx, sy, &sx, &sy); |
197 | mflags = get_map_flags (m, &m, sx, sy, &sx, &sy); |
197 | if (mflags & P_OUT_OF_MAP) |
198 | if (mflags & P_OUT_OF_MAP) |
198 | temp = NULL; |
199 | temp = NULL; |
199 | else |
200 | else |