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

Comparing deliantra/server/common/living.C (file contents):
Revision 1.27 by root, Mon Jan 8 20:39:48 2007 UTC vs.
Revision 1.30 by pippijn, Mon Jan 15 21:06:18 2007 UTC

1/* 1/*
2 CrossFire, A Multiplayer game for X-windows 2 * CrossFire, A Multiplayer game for X-windows
3 3 *
4 Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team 4 * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team
5 Copyright (C) 2002 Mark Wedel & Crossfire Development Team 5 * Copyright (C) 2002 Mark Wedel & Crossfire Development Team
6 Copyright (C) 1992 Frank Tore Johansen 6 * Copyright (C) 1992 Frank Tore Johansen
7 7 *
8 This program is free software; you can redistribute it and/or modify 8 * This program 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 2 of the License, or 10 * the Free Software Foundation; either version 2 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,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
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, write to the Free Software 19 * along with this program; if not, write to the Free Software
20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 21 *
22 The authors can be reached via e-mail at <crossfire@schmorp.de> 22 * The authors can be reached via e-mail at <crossfire@schmorp.de>
23*/ 23 */
24 24
25#include <global.h> 25#include <global.h>
26#include <funcpoint.h> 26#include <funcpoint.h>
27 27
28/* Handy little macro that adds exp and keeps it within bounds. Since 28/* Handy little macro that adds exp and keeps it within bounds. Since
193 "Oh no! You are weakened!", 193 "Oh no! You are weakened!",
194 "You're feeling clumsy!", 194 "You're feeling clumsy!",
195 "You feel less healthy", 195 "You feel less healthy",
196 "You suddenly begin to lose your memory!", 196 "You suddenly begin to lose your memory!",
197 "Watch out, your mind is going!", 197 "Watch out, your mind is going!",
198 "Your spirit feels drained!" 198 "Your spirit feels drained!",
199 "Your face gets distorted!", 199 "Your face gets distorted!",
200}; 200};
201const char *const restore_msg[NUM_STATS] = { 201const char *const restore_msg[NUM_STATS] = {
202 "You feel your strength return.", 202 "You feel your strength return.",
203 "You feel your agility return.", 203 "You feel your agility return.",
204 "You feel your health return.", 204 "You feel your health return.",
205 "You feel your memory return.", 205 "You feel your memory return.",
206 "You feel your wisdom return.", 206 "You feel your wisdom return.",
207 "You feel your spirits return." 207 "You feel your spirits return.",
208 "You feel your charisma return.", 208 "You feel your charisma return.",
209}; 209};
210const char *const gain_msg[NUM_STATS] = { 210const char *const gain_msg[NUM_STATS] = {
211 "You feel stronger.", 211 "You feel stronger.",
212 "You feel more agile.", 212 "You feel more agile.",
213 "You feel healthy.", 213 "You feel healthy.",
214 "You feel smarter.", 214 "You feel smarter.",
215 "You feel wiser.", 215 "You feel wiser.",
216 "You feel more potent." 216 "You feel more potent.",
217 "You seem to look better.", 217 "You seem to look better.",
218}; 218};
219const char *const lose_msg[NUM_STATS] = { 219const char *const lose_msg[NUM_STATS] = {
220 "You feel weaker!", 220 "You feel weaker!",
221 "You feel clumsy!", 221 "You feel clumsy!",
222 "You feel less healthy!", 222 "You feel less healthy!",
223 "You feel stupid!", 223 "You feel stupid!",
224 "You lose some of your memory!", 224 "You lose some of your memory!",
225 "You feel less potent!" 225 "You feel less potent!",
226 "You look ugly!", 226 "You look ugly!",
227}; 227};
228 228
229const char *const statname[NUM_STATS] = { 229const char *const statname[NUM_STATS] = {
230 "strength", "dexterity", "constitution", "intelligence", "wisdom", "power", "charisma" 230 "strength", "dexterity", "constitution", "intelligence", "wisdom", "power", "charisma"
1609 object *skin = NULL; /* pointer to dragon skin force */ 1609 object *skin = NULL; /* pointer to dragon skin force */
1610 object *tmp = NULL; /* tmp. object */ 1610 object *tmp = NULL; /* tmp. object */
1611 char buf[MAX_BUF]; /* tmp. string buffer */ 1611 char buf[MAX_BUF]; /* tmp. string buffer */
1612 1612
1613 /* now grab the 'dragon_ability'-forces from the player's inventory */ 1613 /* now grab the 'dragon_ability'-forces from the player's inventory */
1614 shstr_cmp dragon_ability_force ("dragon_ability_force");
1615 shstr_cmp dragon_skin_force ("dragon_skin_force");
1616
1614 for (tmp = who->inv; tmp != NULL; tmp = tmp->below) 1617 for (tmp = who->inv; tmp; tmp = tmp->below)
1615 {
1616 if (tmp->type == FORCE) 1618 if (tmp->type == FORCE)
1617 {
1618 if (strcmp (tmp->arch->name, "dragon_ability_force") == 0) 1619 if (tmp->arch->name == dragon_ability_force)
1619 abil = tmp; 1620 abil = tmp;
1620 if (strcmp (tmp->arch->name, "dragon_skin_force") == 0) 1621 else if (tmp->arch->name == dragon_skin_force)
1621 skin = tmp; 1622 skin = tmp;
1622 } 1623
1623 }
1624 /* if the force is missing -> bail out */ 1624 /* if the force is missing -> bail out */
1625 if (abil == NULL) 1625 if (abil == NULL)
1626 return; 1626 return;
1627 1627
1628 /* The ability_force keeps track of maximum level ever achieved. 1628 /* The ability_force keeps track of maximum level ever achieved.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines