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

Crossfire BUGGGGGS




Hi all..

It was a long time since I followed the discussions here, but I had some
bugs to report. I have no time to correct them by myself but I hope
somebody could make the patches for me...

On our school we run Solaris 2.4, and there seem to be some different
difference on the XKeysymToString function here... I've noticed
that some server in norway had the same problem. Unfortunatly the
keypad has some keys without any names. XKeysymToString converts
the key symbol to a NULL string, and a later function tries to
make a strcpy or sprintf on this string... pufff and the server goes down..
I had to exchange all function calls to XKeysymToString to
Xkeytostr (or anything else) and make a define like this:

#define Xkeytostr(keysym)  ((XKeysymToString(keysym)==0) ? "KP_Unknown" : XKeysymToString(keysym))

or the function...

char *Xkeytostr(KeySym keysym)
{
  char *tmp;
  if(!(tmp = XKeysymToString(keysym))) return tmp;
  return "KP_Unknown";
}

Every calls to XKeysymToString are made from commands.c, and I think
there are 5 or 6 of them...  Perhaps it's better to make the NULL string
check on every place where it is used, but I hope you understand where
the problem is.

One other MAJOR bug is that it's possible to have unlimited spellpoints.
If you wield a heavy rod, and after that invoke a spell like destruction
or heal, the spellpoints will turn negativ and then you can continue
to invoke spells forever...  That is called cheating... So I hope that
could be patched as soon as possible...

One other cheat could be made with all unpaid things...  If you die
in a shop with all unpaid things, you could easy polymorph them and
make them sell- and useable.... A tips for all who wants to try that:
Create a character with CON 1-3 and walk into a poison cloud. Enter the
shop and pick up everything. Wait until you die and polymorph it...
It's also possible to create many dragon mails and attack the smith.

So the big problem is that polymorph is changing the (unpaid) flag.
Please correct this someone.....

BTW. I haven't patched my source code lately, so I wondered when
there will be a new version released... After what I've seen, there
are lots of new things now...

Mag

-- 
|  Christian 'Mag' Magnusson		Computer Science and Engineering
|  Internet: d1mag@dtek.chalmers.se	Chalmers University of Technology
|  Amiga Programmer:	VoiXEL, HP28S-Com