--- deliantra/server/common/player.C 2007/07/01 05:00:17 1.33 +++ deliantra/server/common/player.C 2008/04/30 06:40:28 1.37 @@ -1,11 +1,11 @@ /* - * This file is part of Crossfire TRT, the Roguelike Realtime MORPG. + * This file is part of Deliantra, the Roguelike Realtime MMORPG. * - * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team + * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team * Copyright (©) 1992,2007 Frank Tore Johansen * - * Crossfire TRT is free software: you can redistribute it and/or modify + * Deliantra is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. @@ -18,11 +18,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . * - * The authors can be reached via e-mail to + * The authors can be reached via e-mail to */ #include -#include /* Determine if the attacktype represented by the * specified attack-number is enabled for dragon players. @@ -268,16 +267,22 @@ return 0; } -player * -player::load_pl (const char *path) +const char * +player::killer_name () const { - object_thawer f (path); - - if (!f) - return 0; + static char buf [2048]; - f.next (); + if (!killer) + return "a dungeon collapse"; + else if (killer->contr) + snprintf (buf, sizeof (buf), "%s the %s", &killer->name, &killer->title); + else if (killer->type == DEEP_SWAMP) + snprintf (buf, sizeof (buf), "drowning in a %s", &killer->name); + else if (killer->owner) + snprintf (buf, sizeof (buf), "%s's %s", &killer->owner->name, &killer->name); + else + return &killer->name; - return load_pl (f); + return buf; }