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

Comparing deliantra/server/common/item.C (file contents):
Revision 1.86 by root, Fri Apr 30 20:43:17 2010 UTC vs.
Revision 1.88 by root, Wed May 12 20:40:50 2010 UTC

353 if (op->flag [FLAG_MAKE_INVIS ]) enc += 1; 353 if (op->flag [FLAG_MAKE_INVIS ]) enc += 1;
354 354
355 return get_power_from_ench (enc); 355 return get_power_from_ench (enc);
356} 356}
357 357
358static const struct get_typedata
359{
360 const typedata *data [NUM_TYPES];
361
362 get_typedata ()
363 {
364 for (int i = 0; i < item_types_size; i++)
365 data [item_types[i].number] = &item_types [i];
366 }
367
368 const typedata *operator ()(int itemtype) const
369 {
370 return data [itemtype];
371 }
372} get_typedata_;
373
358/* returns the typedata that has a number equal to itemtype, if there 374/* returns the typedata that has a number equal to itemtype, if there
359 * isn't one, returns NULL */ 375 * isn't one, returns NULL */
360const typedata * 376const typedata *
361get_typedata (int itemtype) 377get_typedata (int itemtype)
362{ 378{
363 for (int i = 0; i < item_types_size; i++) 379 return get_typedata_ (itemtype);
364 if (item_types[i].number == itemtype)
365 return &item_types[i];
366
367 return NULL;
368} 380}
369 381
370/* returns the typedata that has a name equal to itemtype, if there 382/* returns the typedata that has a name equal to itemtype, if there
371 * isn't one, return the plural name that matches, if there still isn't 383 * isn't one, return the plural name that matches, if there still isn't
372 * one return NULL */ 384 * one return NULL */
483 { 495 {
484 for (attr = 0; attr < NUM_STATS; attr++) 496 for (attr = 0; attr < NUM_STATS; attr++)
485 if ((val = op->stats.stat (attr))) 497 if ((val = op->stats.stat (attr)))
486 buf.printf ("(%s%+d)", short_stat_name[attr], val); 498 buf.printf ("(%s%+d)", short_stat_name[attr], val);
487 499
488 if (op->stats.exp) buf.printf ("(speed %+lld)", (long long)op->stats.exp); 500 if (op->stats.exp) buf.printf ("(speed %+d)", (int)op->stats.exp);
489 if (op->stats.wc) buf.printf ("(wc%+d)", op->stats.wc); 501 if (op->stats.wc) buf.printf ("(wc%+d)", op->stats.wc);
490 if (op->stats.dam) buf.printf ("(dam%+d)", op->stats.dam); 502 if (op->stats.dam) buf.printf ("(dam%+d)", op->stats.dam);
491 if (op->stats.ac) buf.printf ("(ac%+d)", op->stats.ac); 503 if (op->stats.ac) buf.printf ("(ac%+d)", op->stats.ac);
492 504
493 buf << describe_resistance (op, 0); 505 buf << describe_resistance (op, 0);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines