kainazzzo [Tue, 2 Dec 2003 13:20:54 +0000 (13:20 +0000)]
* Added a Reset command to GameServ that functions the same was as the
refresh command, except it completely resets a player to the beginning
of the game.
* Fixed a bug that would cause monsters to have extremely high HP after
loading the monster database.
* Tweaked the forest events percentages. They happened too frequently.
* New player database format:
- Alive/Dead is no longer saved as a word in the database. It is
saved as a flag.
- 3 new integer values were added to the end of every player string
representing their inventory (healing, strength, and defense
potions).
* Changed the Player structure to use 2 new flags which eliminated 2
boolean values (alive & yourturn) to save a little memory.
kainazzzo [Wed, 19 Nov 2003 18:37:13 +0000 (18:37 +0000)]
Made some changes in the config file and added a new directive updateperiod. Gameserv now saves periodically based on this number of seconds. Also added another level of monsters.
kainazzzo [Wed, 19 Nov 2003 06:17:28 +0000 (06:17 +0000)]
New functionality. Loading monsters from a file is finished. Monsters still need to be added. Updated the Changes file and TODO file to reflect changes.
kainazzzo [Fri, 7 Nov 2003 06:21:49 +0000 (06:21 +0000)]
Added a lot of functionality. Added player flags and save/load them in the players db. Added is_alive and implemented it throughout the game to stop people from playing after they die.
kainazzzo [Sat, 1 Nov 2003 22:47:28 +0000 (22:47 +0000)]
Updated the Makefile to include the configscript. Also changed the join message to be sent in one sentence in case other services are being run on the network.
kainazzzo [Thu, 30 Oct 2003 17:58:17 +0000 (17:58 +0000)]
Fixed the config.cpp so that it was more lenient with blank lines in the gameserv.conf. Took out all cerr references and changed them to cout. When nohup was used, cerr was still printing to the stdout.
kainazzzo [Thu, 30 Oct 2003 06:44:52 +0000 (06:44 +0000)]
* Added some admin features.
- Refresh
* Added help menu functionality for all commands.
* Fixed the register command so it notified the client that registration was successful.
* Changed the master command so that you didn't have to fight your master if you
had enough experience. There is now a question/fight subcommand set for the master
command.
* Tweaked the masters a bit. Basically, they were too tough. Once a player had enough
experience, they had no chance against their master until they got the next two
weapons up. This made the next level too easy. Past level 1 still needs tweaking.
* Added functionality for bahamut IRCD
kainazzzo [Tue, 28 Oct 2003 12:18:50 +0000 (12:18 +0000)]
Fixed a bug that was deleting the aClient from the player list when they quit. Not really a bug... a logic error. We want the state of lists to be exactly the same as what happens when the loadg_gs_dbase() function is called: a player with a NULL name but with stats. Once they identify, they use the old data.
kainazzzo [Thu, 23 Oct 2003 21:27:19 +0000 (21:27 +0000)]
Added the do_master function so you can gain levels. Fixed it so you can't attack yourself. Also, did some work on the do_register function. It was giving you a random nick when you registered. I don't think i really need the random nick thing anymore.
uid138034 [Thu, 23 Oct 2003 19:16:29 +0000 (19:16 +0000)]
Added a bunch of empty monster structures to add stability in case for some reason someone
gains a level past where the game is written so far. Can't gain levels yet without the
do_master() function tho, so I doubt this would happen. However, the empty structs will be useful when i think of more monster names :)
kainazzzo [Wed, 22 Oct 2003 03:45:16 +0000 (03:45 +0000)]
Updated the way monsters were stored. Previously, they were held in a static array, and a pointer in the Player class was set to the monster's existing data. This would have become a problem when two people were fighting the same monster, because the real data was being modified. (ie. Two people would be fighting the same physical monster, instead of the same type of monster with new memory assigned to it)
kainazzzo [Tue, 21 Oct 2003 16:22:13 +0000 (16:22 +0000)]
Added the do_store and do_bank functions with full functionality. do_bank does not allow for transferred funds because I'm not sure if i want that in the game or not. A unworking commented out source for that part is included in the gameserv.cpp file.
gameserv [Mon, 20 Oct 2003 23:16:50 +0000 (23:16 +0000)]
Added the do_store command, and some store functionality. Also added an init_masters() function and inputted values for masters. Committing because I'm going to be uploading to sourceforge now :)
gameserv [Mon, 20 Oct 2003 14:32:18 +0000 (14:32 +0000)]
do_identify is now fixed (i hope). All previous do_identify commits were buggy and segfaulted a lot. I think this was due to the crypt() function changing something in the string, so I simply made a new string, copied the real string contents, encrypted, compared, and deleted the new string. Dynamic memory allocation is fun :)
gameserv [Sat, 18 Oct 2003 06:20:08 +0000 (06:20 +0000)]
Made significant advances in the do_identify function. A new function:
void setPtr( T *value ) was added to the ListNode class. This enables the
user to change the address that the T *data variable points to, while deleting
the old one. This enabled the do_identify function to work properly, whereas
I simply have a NULLL aClient pointer on the players list, and when a
aClient on the clients list identifies, it sets the player data to the real
aClient, and points the player's aClient from a fake one to the real one,
then deletes the old fake aClient :)
gameserv [Thu, 16 Oct 2003 21:39:31 +0000 (21:39 +0000)]
Attempting to write the do_identify function with little success. I'm somewhat at a loss here, and i'm thinking about redoing it all, but i wanted to commit anyway.
gameserv [Thu, 16 Oct 2003 18:01:30 +0000 (18:01 +0000)]
Fixed the bug that would cause a segfault when load_gs_dbase() was called. I was using delete
this in the Player::reset() function, which was causing the pointer to the player to be deleted.
In reality all I wanted was to delete the name and password IF they had memory. I did not
realize that delete did more than simply calling the deconstructor.
gameserv [Wed, 15 Oct 2003 22:00:34 +0000 (22:00 +0000)]
Working on doing the identify/register scheme. Right now, there are problems with the player
deconstructor which is causing a segfault on load_gs_dbase(); Committing anyway because a lot
of changes were made :) - Kain