Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CF0.91.8 skills




	HI, 
	   The version of the skills code in CF0.91.8 (#2) has a 
	fatal bug - please apply the following patch to server/input.c
	
	I have no idea how this bug arose - its pretty obvious that some
	thing is wrong with the game when it occurs, .. perhaps I have
	been cranking out too many versions for everyone to keep strait :)

	Again, I urge people interested in the skills code to grab version
	#5 - on ftp.astro.psu.edu. This version does work well and includes
	x2 number of skills and 2 new player classes.

						cheers, b.t.

*** input.c.orig	Thu May  4 23:45:04 1995
--- input.c	Thu May  4 23:37:44 1995
***************
*** 213,231 ****
    char buf[MAX_BUF];
    int i=0;
    object *tmp;
  
    for(tmp=pl->inv; tmp; tmp=tmp->below) {	/* does player possess the skill? */ 
!      if(tmp->type == SKILL)		/* player does have skills */ 
  	i++;
!      if(!strcmp(name, skills[tmp->stats.sp].name)) { /* player has named skill? */ 
  	    pl->contr->chosen_skill = tmp->stats.sp;
              sprintf(buf,"Readying skill: %s. ",skills[tmp->stats.sp].name);
              new_draw_info(NDI_UNIQUE, 0,pl,buf);
  	    pl->contr->shoottype = range_skill;
  	    draw_stats(pl);
  	    return;
       }
    }
    if(i<1)
      sprintf(buf,"You have no skills that you may ready!");
    else
--- 213,232 ----
    char buf[MAX_BUF];
    int i=0;
    object *tmp;
  
    for(tmp=pl->inv; tmp; tmp=tmp->below) {	/* does player possess the skill? */ 
!      if(tmp->type == SKILL) {		/* player does have skills */ 
  	i++;
!         if(!strcmp(name, skills[tmp->stats.sp].name)) { /* player has named skill? */ 
  	    pl->contr->chosen_skill = tmp->stats.sp;
              sprintf(buf,"Readying skill: %s. ",skills[tmp->stats.sp].name);
              new_draw_info(NDI_UNIQUE, 0,pl,buf);
  	    pl->contr->shoottype = range_skill;
  	    draw_stats(pl);
  	    return;
+         }
       }
    }
    if(i<1)
      sprintf(buf,"You have no skills that you may ready!");
    else