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

Comparing deliantra/server/common/treasure.C (file contents):
Revision 1.79 by root, Tue Jul 29 02:00:55 2008 UTC vs.
Revision 1.82 by root, Mon Sep 29 10:32:50 2008 UTC

441 441
442 if (ob->inv) 442 if (ob->inv)
443 LOG (llevError, "In generate treasure, created multiple objects.\n"); 443 LOG (llevError, "In generate treasure, created multiple objects.\n");
444 444
445 ob->destroy (); 445 ob->destroy ();
446
446 return tmp; 447 return tmp;
447} 448}
448 449
449/* 450/*
450 * This is a new way of calculating the chance for an item to have 451 * This is a new way of calculating the chance for an item to have
965 case AMULET: 966 case AMULET:
966 if (IS_ARCH (op->arch, amulet)) 967 if (IS_ARCH (op->arch, amulet))
967 op->value *= 5; /* Since it's not just decoration */ 968 op->value *= 5; /* Since it's not just decoration */
968 969
969 case RING: 970 case RING:
970 if (!op->arch) // wtf? schmorp
971 {
972 op->destroy ();
973 op = 0;
974 break;
975 }
976
977 if (!IS_ARCH (op->arch, ring) && !IS_ARCH (op->arch, amulet)) /* It's a special artifact! */ 971 if (!IS_ARCH (op->arch, ring) && !IS_ARCH (op->arch, amulet)) /* It's a special artifact! */
978 break; 972 break;
979 973
980 if (!(flags & GT_ONLY_GOOD) && !(rndm (3))) 974 if (!(flags & GT_ONLY_GOOD) && !(rndm (3)))
981 SET_FLAG (op, FLAG_CURSED); 975 SET_FLAG (op, FLAG_CURSED);
1353 * to cast. So convert that to into a spell and put it into 1347 * to cast. So convert that to into a spell and put it into
1354 * this object. 1348 * this object.
1355 */ 1349 */
1356 if (op->type == HORN || op->type == POTION) 1350 if (op->type == HORN || op->type == POTION)
1357 { 1351 {
1358 object *tmp_obj;
1359
1360 /* Remove any spells this object currently has in it */ 1352 /* Remove any spells this object currently has in it */
1361 while (op->inv)
1362 op->inv->destroy (); 1353 op->destroy_inv (false);
1363 1354
1364 tmp_obj = arch_to_object (change->other_arch); 1355 object *tmp = arch_to_object (change->other_arch);
1365 insert_ob_in_ob (tmp_obj, op); 1356 insert_ob_in_ob (tmp, op);
1366 } 1357 }
1367 /* No harm setting this for potions/horns */ 1358 /* No harm setting this for potions/horns */
1368 op->other_arch = change->other_arch; 1359 op->other_arch = change->other_arch;
1369 } 1360 }
1370 1361
1686free_artifact (artifact *at) 1677free_artifact (artifact *at)
1687{ 1678{
1688 if (at->next) free_artifact (at->next); 1679 if (at->next) free_artifact (at->next);
1689 if (at->allowed) free_charlinks (at->allowed); 1680 if (at->allowed) free_charlinks (at->allowed);
1690 1681
1691 at->item->destroy (1); 1682 at->item->destroy ();
1692 1683
1693 sfree (at); 1684 sfree (at);
1694} 1685}
1695 1686
1696void 1687void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines