ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/player.C
(Generate patch)

Comparing deliantra/server/common/player.C (file contents):
Revision 1.34 by root, Tue Sep 4 05:43:21 2007 UTC vs.
Revision 1.40 by root, Fri Aug 29 02:07:09 2008 UTC

1/* 1/*
2 * This file is part of Crossfire TRT, the Roguelike Realtime MORPG. 2 * This file is part of Deliantra, the Roguelike Realtime MMORPG.
3 * 3 *
4 * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team 4 * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
5 * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team 5 * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team
6 * Copyright (©) 1992,2007 Frank Tore Johansen 6 * Copyright (©) 1992,2007 Frank Tore Johansen
7 * 7 *
8 * Crossfire TRT is free software: you can redistribute it and/or modify 8 * Deliantra is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by 9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or 10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version. 11 * (at your option) any later version.
12 * 12 *
13 * This program is distributed in the hope that it will be useful, 13 * This program is distributed in the hope that it will be useful,
16 * GNU General Public License for more details. 16 * GNU General Public License for more details.
17 * 17 *
18 * You should have received a copy of the GNU General Public License 18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 * 20 *
21 * The authors can be reached via e-mail to <crossfire@schmorp.de> 21 * The authors can be reached via e-mail to <support@deliantra.net>
22 */ 22 */
23 23
24#include <global.h> 24#include <global.h>
25#include <funcpoint.h>
26 25
27/* Determine if the attacktype represented by the 26/* Determine if the attacktype represented by the
28 * specified attack-number is enabled for dragon players. 27 * specified attack-number is enabled for dragon players.
29 * A dragon player (quetzal) can gain resistances for 28 * A dragon player (quetzal) can gain resistances for
30 * all enabled attacktypes. 29 * all enabled attacktypes.
80 PL_OUT2 (title, own_title); 79 PL_OUT2 (title, own_title);
81 PL_OUT (gender); 80 PL_OUT (gender);
82 PL_OUT (gen_hp); 81 PL_OUT (gen_hp);
83 PL_OUT (gen_sp); 82 PL_OUT (gen_sp);
84 PL_OUT (gen_grace); 83 PL_OUT (gen_grace);
85 PL_OUT (listening);
86 PL_OUT (bowtype); 84 PL_OUT (bowtype);
87 PL_OUT (petmode); 85 PL_OUT (petmode);
88 PL_OUT (peaceful); 86 PL_OUT (peaceful);
89 PL_OUT (digestion); 87 PL_OUT (digestion);
90 PL_OUT2 (pickup, mode); 88 PL_OUT2 (pickup, mode);
191 case KW_password: assign (pl->password , f.get_str ()); break; 189 case KW_password: assign (pl->password , f.get_str ()); break;
192 case KW_title: assign (pl->own_title, f.get_str ()); break; 190 case KW_title: assign (pl->own_title, f.get_str ()); break;
193 case KW_bowtype: pl->bowtype = (bowtype_t) f.get_sint32 (); break; 191 case KW_bowtype: pl->bowtype = (bowtype_t) f.get_sint32 (); break;
194 case KW_petmode: pl->petmode = (petmode_t) f.get_sint32 (); break; 192 case KW_petmode: pl->petmode = (petmode_t) f.get_sint32 (); break;
195 case KW_gender: f.get (pl->gender); break; 193 case KW_gender: f.get (pl->gender); break;
196 case KW_listening: f.get (pl->listening); break; 194 case KW_listening: /*TODO*/; break;
197 case KW_peaceful: f.get (pl->peaceful); break; 195 case KW_peaceful: f.get (pl->peaceful); break;
198 case KW_digestion: f.get (pl->digestion); break; 196 case KW_digestion: f.get (pl->digestion); break;
199 case KW_pickup: f.get (pl->mode); break; 197 case KW_pickup: f.get (pl->mode); break;
200 case KW_outputs_sync: f.get (pl->outputs_sync); break; 198 case KW_outputs_sync: f.get (pl->outputs_sync); break;
201 case KW_outputs_count: f.get (pl->outputs_count); break; 199 case KW_outputs_count: f.get (pl->outputs_count); break;
266 pl->destroy (); 264 pl->destroy ();
267 265
268 return 0; 266 return 0;
269} 267}
270 268
269const char *
270player::killer_name () const
271{
272 static char buf [2048];
273
274 if (!killer)
275 return "a dungeon collapse";
276 else if (killer->contr)
277 snprintf (buf, sizeof (buf), "%s the %s", &killer->name,
278 *killer->contr->own_title ? killer->contr->own_title : killer->contr->title);
279 else if (killer->type == DEEP_SWAMP)
280 snprintf (buf, sizeof (buf), "drowning in a %s", &killer->name);
281 else if (killer->owner)
282 snprintf (buf, sizeof (buf), "%s's %s", &killer->outer_owner ()->name, &killer->name);
283 else
284 return &killer->name;
285
286 return buf;
287}
288

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines