… | |
… | |
217 | default: |
217 | default: |
218 | if (op->env != NULL) |
218 | if (op->env != NULL) |
219 | { |
219 | { |
220 | CLEAR_FLAG (op, FLAG_APPLIED); |
220 | CLEAR_FLAG (op, FLAG_APPLIED); |
221 | change_abil (op->env, op); |
221 | change_abil (op->env, op); |
222 | fix_player (op->env); |
222 | op->env->update_stats (); |
223 | } |
223 | } |
224 | } |
224 | } |
225 | |
225 | |
226 | op->destroy (); |
226 | op->destroy (); |
227 | } |
227 | } |
… | |
… | |
235 | CLEAR_FLAG (op, FLAG_APPLIED); |
235 | CLEAR_FLAG (op, FLAG_APPLIED); |
236 | |
236 | |
237 | if (op->env != NULL) |
237 | if (op->env != NULL) |
238 | { |
238 | { |
239 | change_abil (op->env, op); |
239 | change_abil (op->env, op); |
240 | fix_player (op->env); |
240 | op->env->update_stats (); |
241 | } |
241 | } |
242 | |
242 | |
243 | op->destroy (); |
243 | op->destroy (); |
244 | } |
244 | } |
245 | |
245 | |
… | |
… | |
258 | * will not do anything. |
258 | * will not do anything. |
259 | */ |
259 | */ |
260 | if (op->env->type == PLAYER) |
260 | if (op->env->type == PLAYER) |
261 | { |
261 | { |
262 | CLEAR_FLAG (op, FLAG_APPLIED); |
262 | CLEAR_FLAG (op, FLAG_APPLIED); |
263 | fix_player (op->env); |
263 | op->env->update_stats (); |
264 | new_draw_info (NDI_UNIQUE, 0, op->env, "You feel much better now."); |
264 | new_draw_info (NDI_UNIQUE, 0, op->env, "You feel much better now."); |
265 | } |
265 | } |
266 | |
266 | |
267 | op->destroy (); |
267 | op->destroy (); |
268 | return; |
268 | return; |
… | |
… | |
1059 | player = op->above; |
1059 | player = op->above; |
1060 | |
1060 | |
1061 | for (walk = op->inv; walk != NULL; walk = walk->below) |
1061 | for (walk = op->inv; walk != NULL; walk = walk->below) |
1062 | apply_changes_to_player (player, walk); |
1062 | apply_changes_to_player (player, walk); |
1063 | |
1063 | |
1064 | fix_player (player); |
1064 | player->update_stats (); |
1065 | |
1065 | |
1066 | esrv_send_inventory (op->above, op->above); |
1066 | esrv_send_inventory (op->above, op->above); |
1067 | esrv_update_item (UPD_FACE, op->above, op->above); |
1067 | esrv_update_item (UPD_FACE, op->above, op->above); |
1068 | |
1068 | |
1069 | /* update players death & WoR home-position */ |
1069 | /* update players death & WoR home-position */ |
… | |
… | |
1076 | } |
1076 | } |
1077 | else |
1077 | else |
1078 | LOG (llevDebug, "WARNING: destination '%s' in player_changer must be an absolute path!\n", &EXIT_PATH (op)); |
1078 | LOG (llevDebug, "WARNING: destination '%s' in player_changer must be an absolute path!\n", &EXIT_PATH (op)); |
1079 | |
1079 | |
1080 | enter_exit (op->above, op); |
1080 | enter_exit (op->above, op); |
1081 | save_player (player, 1); |
1081 | player->contr->save (); |
1082 | } |
1082 | } |
1083 | } |
1083 | } |
1084 | |
1084 | |
1085 | /* firewalls fire other spells. |
1085 | /* firewalls fire other spells. |
1086 | * The direction of the wall is stored in op->stats.sp. |
1086 | * The direction of the wall is stored in op->stats.sp. |