version 1.5 | | version 1.6 |
---|
| | |
/* | | /* |
* static char *rcsid_disease_c = | | * static char *rcsid_disease_c = |
* "$Id: disease.c,v 1.5 2000/06/04 21:18:31 cvs Exp $"; | | * "$Id: disease.c,v 1.6 2000/06/04 22:26:08 cvs Exp $"; |
*/ | | */ |
/* | | /* |
CrossFire, A Multiplayer game for X-windows | | CrossFire, A Multiplayer game for X-windows |
| | |
msg message What the plague says when it strikes. | | msg message What the plague says when it strikes. |
race those affected races the plague strikes (* means everything) | | race those affected races the plague strikes (* means everything) |
level Plague Level General description of the plague's deadliness | | level Plague Level General description of the plague's deadliness |
| | armour Attenuation reduction in wc per generation of disease. |
| | This builds in a self-limiting factor. |
| | |
| | |
Explanations: | | Explanations: |
| | |
| | |
wc/127 is the chance of someone in range catching it. | | wc/127 is the chance of someone in range catching it. |
| | |
magic is the range at which infection may occur. | | magic is the range at which infection may occur. If negative, the range is |
| | NOT level dependent. |
| | |
Stats are stat modifications. These should typically be negative. | | Stats are stat modifications. These should typically be negative. |
| | |
| | |
struct mapdef *map; | | struct mapdef *map; |
object *tmp; | | object *tmp; |
| | |
range = disease->magic; | | range = abs(disease->magic); |
if(disease->env) { x = disease->env->x; y = disease->env->y;map=disease->env->map;} | | if(disease->env) { x = disease->env->x; y = disease->env->y;map=disease->env->map;} |
else { x = disease->x; y = disease->y; map = disease->map; }; | | else { x = disease->x; y = disease->y; map = disease->map; }; |
| | |
| | |
copy_object(disease,new_disease); | | copy_object(disease,new_disease); |
new_disease->stats.food=disease->stats.maxgrace; | | new_disease->stats.food=disease->stats.maxgrace; |
new_disease->value=disease->stats.maxhp; | | new_disease->value=disease->stats.maxhp; |
| | new_disease->stats.wc -= disease->armour; /* self-limiting factor */ |
set_owner(new_disease,disease->owner); | | set_owner(new_disease,disease->owner); |
/* Unfortunately, set_owner does the wrong thing to the skills pointers | | /* Unfortunately, set_owner does the wrong thing to the skills pointers |
resulting in exp going into the owners *current* chosen skill. */ | | resulting in exp going into the owners *current* chosen skill. */ |