… | |
… | |
333 | else if (tmp->type == DISEASE && !strcmp (tmp->name, disease->name)) |
333 | else if (tmp->type == DISEASE && !strcmp (tmp->name, disease->name)) |
334 | return 0; /* already diseased */ |
334 | return 0; /* already diseased */ |
335 | } |
335 | } |
336 | |
336 | |
337 | /* If we've gotten this far, go ahead and infect the victim. */ |
337 | /* If we've gotten this far, go ahead and infect the victim. */ |
338 | new_disease = object::create (); |
338 | new_disease = disease->clone (); |
339 | disease->copy_to (new_disease); |
|
|
340 | new_disease->stats.food = disease->stats.maxgrace; |
339 | new_disease->stats.food = disease->stats.maxgrace; |
341 | new_disease->value = disease->stats.maxhp; |
340 | new_disease->value = disease->stats.maxhp; |
342 | new_disease->stats.wc -= disease->last_grace; /* self-limiting factor */ |
341 | new_disease->stats.wc -= disease->last_grace; /* self-limiting factor */ |
343 | |
342 | |
344 | /* Unfortunately, set_owner does the wrong thing to the skills pointers |
343 | /* Unfortunately, set_owner does the wrong thing to the skills pointers |