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

Comparing deliantra/server/common/loader.C (file contents):
Revision 1.114 by root, Sat May 3 11:14:50 2008 UTC vs.
Revision 1.116 by root, Tue May 6 16:32:34 2008 UTC

405 if ((type == SPELLBOOK || type == RUNE) && slaying && !inv && !loading_arch) 405 if ((type == SPELLBOOK || type == RUNE) && slaying && !inv && !loading_arch)
406 { 406 {
407 LOG (llevError, "spellbook/rune found without inv but slaying: %s", debug_desc ()); 407 LOG (llevError, "spellbook/rune found without inv but slaying: %s", debug_desc ());
408 object *tmp = get_archetype_by_object_name (slaying); 408 object *tmp = get_archetype_by_object_name (slaying);
409 insert_ob_in_ob (tmp, this); 409 insert_ob_in_ob (tmp, this);
410 randomitems = NULL; /* So another spell isn't created for this object */ 410 randomitems = 0; /* So another spell isn't created for this object */
411 /* without this, value is all screwed up */ 411 /* without this, value is all screwed up */
412 value = arch->value * inv->value; 412 value = arch->value * inv->value;
413 } 413 }
414 414
415 if (QUERY_FLAG (this, FLAG_MONSTER)) 415 if (QUERY_FLAG (this, FLAG_MONSTER))
607 CLEAR_FLAG (this, FLAG_ANIMATE); 607 CLEAR_FLAG (this, FLAG_ANIMATE);
608 animation_id = 0; 608 animation_id = 0;
609 609
610 const char *str = f.get_str (); 610 const char *str = f.get_str ();
611 if (str && (animation_id = find_animation (str))) 611 if (str && (animation_id = find_animation (str)))
612 SET_FLAG (this, FLAG_ANIMATE); 612 SET_FLAG (this, FLAG_ANIMATE); //TODO: should not be forced to true here
613 } 613 }
614 break; 614 break;
615 615
616 case KW_last_heal: f.get (last_heal); break; 616 case KW_last_heal: f.get (last_heal); break;
617 case KW_last_sp: f.get (last_sp); break; 617 case KW_last_sp: f.get (last_sp); break;
1298 if (op->sound != tmp->sound ) f.put (KW_sound , op->sound ? &faces [op->sound ] : 0); 1298 if (op->sound != tmp->sound ) f.put (KW_sound , op->sound ? &faces [op->sound ] : 0);
1299 if (op->sound_destroy != tmp->sound_destroy) f.put (KW_sound_destroy, op->sound_destroy ? &faces [op->sound_destroy] : 0); 1299 if (op->sound_destroy != tmp->sound_destroy) f.put (KW_sound_destroy, op->sound_destroy ? &faces [op->sound_destroy] : 0);
1300 1300
1301 if (op->animation_id != tmp->animation_id) 1301 if (op->animation_id != tmp->animation_id)
1302 if (op->animation_id) 1302 if (op->animation_id)
1303 f.put (KW_animation, animations[GET_ANIM_ID (op)].name);
1304 else
1303 { 1305 {
1304 f.put (KW_animation, animations[GET_ANIM_ID (op)].name); 1306 f.put (KW_animation, (const char *)0);
1305 1307 op->flag [FLAG_ANIMATE] = false; // TODO: why force to false here?
1306 if (!QUERY_FLAG (op, FLAG_ANIMATE))
1307 f.put (KW_is_animated, (sint32)0);
1308 } 1308 }
1309 else
1310 f.put (KW_animation, (const char *)0);
1311 1309
1312 CMP_OUT2 (str, stats.Str); 1310 CMP_OUT2 (str, stats.Str);
1313 CMP_OUT2 (dex, stats.Dex); 1311 CMP_OUT2 (dex, stats.Dex);
1314 CMP_OUT2 (con, stats.Con); 1312 CMP_OUT2 (con, stats.Con);
1315 CMP_OUT2 (wis, stats.Wis); 1313 CMP_OUT2 (wis, stats.Wis);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines