[CF-Devel] CVS update: crossfire/server
Crossfire CVS devel
mwedel at scruznet.com
Thu Oct 5 18:25:52 CDT 2000
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;
More information about the crossfire
mailing list