[CF-Devel] CVS update: crossfire/server

Crossfire CVS devel mwedel at scruznet.com
Fri Aug 25 01:23:28 CDT 2000


Date:	Thursday August 24, 2000 @ 23:23
Author:	cvs

Update of /home/cvs/CVS/crossfire/server
In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv13404/server

Modified Files:
	skill_util.c 
Log Message:
common/living.c, server/skill_util.c:  Patches by Garth Denley:
Fixes divide by zero crash, sets up perm exp when a new player is loaded,
seperates permanent exp code/calculations into another function.
checked in by MSW, 8/24/2000



****************************************

Index: crossfire/server/skill_util.c
diff -u crossfire/server/skill_util.c:1.7 crossfire/server/skill_util.c:1.8
--- crossfire/server/skill_util.c:1.7	Tue Aug  1 23:04:50 2000
+++ crossfire/server/skill_util.c	Thu Aug 24 23:23:28 2000
@@ -1,6 +1,6 @@
 /*
  * static char *rcsid_skill_util_c =
- *   "$Id: skill_util.c,v 1.7 2000/08/02 06:04:50 cvs Exp $";
+ *   "$Id: skill_util.c,v 1.8 2000/08/25 06:23:28 cvs Exp $";
  */
 /*
     CrossFire, A Multiplayer game for X-windows
@@ -753,6 +753,9 @@
    for(i=0;i<exp_index;i++) { 
 	if(!QUERY_FLAG(exp_ob[i],FLAG_APPLIED)) 
   	     SET_FLAG(exp_ob[i],FLAG_APPLIED); 
+        /* GD: Update perm exp when loading player. */
+        if (settings.use_permanent_experience)
+            calc_perm_exp(exp_ob[i]);
 	pl->stats.exp += exp_ob[i]->stats.exp;
 	player_lvl_adj(NULL, exp_ob[i]);
    } 
@@ -1006,8 +1009,11 @@
 {
   int rv;
 
-  rv = (a*100)/b;
+  if (b <= 0)
+    return 0;
 
+  rv = (int)((100.0f * ((float)a) / ((float)b) ) + 0.5f);
+  
   if (rv < 0)
     return 0;
   else if (rv > 100)

    
    


More information about the crossfire mailing list