version 1.33 | | version 1.34 |
---|
| | |
/* | | /* |
* static char *rcsid_disease_c = | | * static char *rcsid_disease_c = |
* "$Id: disease.c,v 1.33 2005/10/09 07:34:16 ryo_saeba Exp $"; | | * "$Id: disease.c,v 1.34 2005/11/16 08:16:08 mwedel Exp $"; |
*/ | | */ |
/* | | /* |
CrossFire, A Multiplayer game for X-windows | | CrossFire, A Multiplayer game for X-windows |
| | |
} | | } |
| | |
insert_ob_in_ob(new_disease,victim); | | insert_ob_in_ob(new_disease,victim); |
CLEAR_FLAG(new_disease,FLAG_NO_PASS); | | /* This appears to be a horrible case of overloading 'NO_PASS' |
| | * for meaning in the diseases. |
| | */ |
| | new_disease->move_block = 0; |
if(new_disease->owner && new_disease->owner->type==PLAYER) { | | if(new_disease->owner && new_disease->owner->type==PLAYER) { |
char buf[128]; | | char buf[128]; |
/* if the disease has a title, it has a special infection message | | /* if the disease has a title, it has a special infection message |
| | |
if (new_symptom->skill) free_string(new_symptom->skill); | | if (new_symptom->skill) free_string(new_symptom->skill); |
if (disease->skill) new_symptom->skill = add_refcount(disease->skill); | | if (disease->skill) new_symptom->skill = add_refcount(disease->skill); |
} | | } |
CLEAR_FLAG(new_symptom,FLAG_NO_PASS); | | new_symptom->move_block=0; |
insert_ob_in_ob(new_symptom,victim); | | insert_ob_in_ob(new_symptom,victim); |
return 1; | | return 1; |
} | | } |
| | |
immunity = get_archetype("immunity"); | | immunity = get_archetype("immunity"); |
immunity->name = add_string(disease->name); | | immunity->name = add_string(disease->name); |
immunity->level = disease->level; | | immunity->level = disease->level; |
CLEAR_FLAG(immunity,FLAG_NO_PASS); | | immunity->move_block = 0; |
insert_ob_in_ob(immunity,disease->env); | | insert_ob_in_ob(immunity,disease->env); |
return 1; | | return 1; |
| | |