1 | /* |
1 | /* |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992 Frank Tore Johansen |
6 | * Copyright (©) 1992 Frank Tore Johansen |
7 | * |
7 | * |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * the terms of the Affero GNU General Public License as published by the |
9 | * the terms of the Affero GNU General Public License as published by the |
… | |
… | |
919 | { |
919 | { |
920 | if (op->type == POTION) |
920 | if (op->type == POTION) |
921 | /* Handle healing and magic power potions */ |
921 | /* Handle healing and magic power potions */ |
922 | if (op->stats.sp && !op->randomitems) |
922 | if (op->stats.sp && !op->randomitems) |
923 | { |
923 | { |
924 | object *tmp = get_archetype (spell_mapping [op->stats.sp]); |
924 | object *tmp = archetype::get (spell_mapping [op->stats.sp]); |
925 | insert_ob_in_ob (tmp, op); |
925 | insert_ob_in_ob (tmp, op); |
926 | op->stats.sp = 0; |
926 | op->stats.sp = 0; |
927 | } |
927 | } |
928 | } |
928 | } |
929 | else if (!op->title) /* Only modify object if not special */ |
929 | else if (!op->title) /* Only modify object if not special */ |
… | |
… | |
952 | int too_many_tries = 0, is_special = 0; |
952 | int too_many_tries = 0, is_special = 0; |
953 | |
953 | |
954 | /* Handle healing and magic power potions */ |
954 | /* Handle healing and magic power potions */ |
955 | if (op->stats.sp && !op->randomitems) |
955 | if (op->stats.sp && !op->randomitems) |
956 | { |
956 | { |
957 | object *tmp = get_archetype (spell_mapping[op->stats.sp]); |
957 | object *tmp = archetype::get (spell_mapping[op->stats.sp]); |
958 | insert_ob_in_ob (tmp, op); |
958 | insert_ob_in_ob (tmp, op); |
959 | op->stats.sp = 0; |
959 | op->stats.sp = 0; |
960 | } |
960 | } |
961 | |
961 | |
962 | while (!(is_special = special_potion (op)) && !op->inv) |
962 | while (!(is_special = special_potion (op)) && !op->inv) |