Date: Thursday October 5, 2000 @ 16:25 Author: peterm Update of /home/cvs/CVS/crossfire/server In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv6065 Modified Files: disease.c spell_effect.c Log Message: PeterM: 1) Diseases moderated in power by ~1/2 and randomized. Now monsters can have a mild/moderate/serious/fatal case of a particular disease. 2) cause disease spells modified to NOT go through objects spells ordinarily couldn't go through. **************************************** Index: crossfire/server/disease.c diff -u crossfire/server/disease.c:1.8 crossfire/server/disease.c:1.9 --- crossfire/server/disease.c:1.8 Thu Jun 8 17:17:22 2000 +++ crossfire/server/disease.c Thu Oct 5 16:25:52 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_disease_c = - * "$Id: disease.c,v 1.8 2000/06/09 00:17:22 cvs Exp $"; + * "$Id: disease.c,v 1.9 2000/10/05 23:25:52 peterm Exp $"; */ /* CrossFire, A Multiplayer game for X-windows @@ -322,7 +322,20 @@ if(!is_susceptible_to_disease(victim, disease)) return 0; new_symptom = get_archetype("symptom"); - new_symptom->stats.dam = disease->stats.dam; + + /* Something special done with dam. We want diseases to be more + random in what they'll kill, so we'll make the damage they + do random, note, this has a weird effect with progressive diseases.*/ + if(disease->stats.dam != 0) { + int dam = disease->stats.dam; + /* reduce the damage, on average, 50%, and making things random. */ + dam = RANDOM() % dam +1; + if(disease->stats.dam < 0) dam = -dam; + new_symptom->stats.dam = dam; + } + + + new_symptom->stats.maxsp = disease->stats.maxsp; new_symptom->stats.food = new_symptom->stats.maxgrace; @@ -337,7 +350,6 @@ new_symptom->stats.Int = disease->stats.Int; new_symptom->stats.Pow = disease->stats.Pow; new_symptom->stats.Cha = disease->stats.Cha; - new_symptom->stats.dam = disease->stats.dam; new_symptom->stats.sp = disease->stats.sp; new_symptom->stats.food =disease->last_eat; new_symptom->stats.maxsp = disease->stats.maxsp; Index: crossfire/server/spell_effect.c diff -u crossfire/server/spell_effect.c:1.22 crossfire/server/spell_effect.c:1.23 --- crossfire/server/spell_effect.c:1.22 Fri Jun 9 05:01:47 2000 +++ crossfire/server/spell_effect.c Thu Oct 5 16:25:52 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_spell_effect_c = - * "$Id: spell_effect.c,v 1.22 2000/06/09 12:01:47 jec Exp $"; + * "$Id: spell_effect.c,v 1.23 2000/10/05 23:25:52 peterm Exp $"; */ @@ -3433,6 +3433,8 @@ } free_object(disease); } + /* no more infecting through walls. */ + if(blocked(op->map,x,y)) return 0; } new_draw_info(NDI_UNIQUE,0,op,"No one caught anything!"); return 0;