[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