#endif
-// this will be hash.cpp start
-// thank you wcampbel
-unsigned long sHASH(const unsigned char *name);
-unsigned long iHASH(const unsigned char *name);
-List<aClient> players[U_TABLE_SIZE];
-// this will be hash.cpp end
-
Monster *monsters[LEVELS][MONSTERS]; // Monsters per level. Total = MONSTERS * LEVELS
Monster boss; // The boss monster
setPlaying(user); // set the playing flag
temp->setPtr(user);
- notice(s_GameServ, u, "Password Accepted. Identified.");
+ notice(s_GameServ, u, "Password Accepted. Identified.");
+ showNews(u, todaysnews);
}
}
if (hit >= fight->hp)
{
if (master_fight(ni))
+ {
notice(s_GameServ, u, "You have bested %s!", fight->name);
+ addNews(todaysnews, "%s has bested %s and moved "\
+ "to level %d", ni->stats->name, fight->name,
+ (ni->stats->level + 1));
+ }
else
notice(s_GameServ, u, "You have killed \ 2%s\ 2!", fight->name);
strbonus[ni->stats->level - 1], defbonus[ni->stats->level - 1]);
// Increase your level
- ni->stats->level++;
// Increase your maximum hit points
ni->stats->maxhp += hpbonus[ni->stats->level - 1];
// Add to your defensive power
ni->stats->defense += defbonus[ni->stats->level - 1];
+ ni->stats->level++;
+
// Clear the pointer for your master
ni->stats->master = NULL;
}
notice(s_GameServ, u, "You have been \ 2\1fkilled\1f\ 2 by %s!", fight->name);
notice(s_GameServ, u, "You lose all gold on hand and lose 10 percent "\
"of your experience!");
+ addNews(todaysnews, "%s has been killed by %s!",
+ ni->stats->name, fight->name);
ni->stats->gold = 0;
ni->stats->exp -= (long int)(ni->stats->exp * .10);
ni->stats->hp = 0;
{
notice(s_GameServ, u, "%s has bested you! You will have to wait "\
"until tomorrow to try again", ni->stats->master->name);
+ addNews(todaysnews, "%s tried to best %s and failed!",
+ ni->stats->name, fight->name);
ni->stats->fight = NULL;
ni->stats->master = NULL;
return;
notice(s_GameServ, battle->getNick(), "%s has hit you with their %s for "\
"\ 2%d\ 2 damage!", ni->stats->name,
weapons[ni->stats->weapon], hit);
- clearYourTurn(ni->stats);
- setYourTurn(battle->stats);
- display_players(battle);
}
else
{
notice(s_GameServ, u, "You miss \1f%s\1f completely!", battle->stats->name);
notice(s_GameServ, battle->getNick(), "%s misses you completely!", ni->stats->name);
- clearYourTurn(ni->stats);
- setYourTurn(battle->stats);
- display_players(battle);
}
+
if (hit >= battle->stats->hp)
{
notice(s_GameServ, u, "You have killed \ 2%s\ 2!", battle->stats->name);
ni->stats->gold = 2000000000;
}
+ clearYourTurn(ni->stats);
+ clearYourTurn(battle->stats);
battle->stats->battle = NULL;
ni->stats->battle = NULL;
return;
battle->stats->hp -= hit;
clearYourTurn(ni->stats);
setYourTurn(battle->stats);
+ display_players(battle);
notice(s_GameServ, u, "Please wait while %s decides what to do!",
battle->stats->name);
-
return;
}
}
aClient *user;
Player *p;
+
if (!(user = find(u)))
{
notice(s_GameServ, u, "Fatal Error. See a %S admin for help");
}
else if (stricmp(cmd, "LIST") == 0)
{
- notice(s_GameServ, u, "Here is a list of what we have to offer:");
- notice(s_GameServ, u, "1. Healing Potions for %ld Gold", 100 * p->level + (p->exp / 10));
- notice(s_GameServ, u, "2. Strength Potions for %ld Gold", 205 * p->level + (p->exp / 10));
- notice(s_GameServ, u, "3. Defense Potions for %ld Gold", 200 * p->level + (p->exp / 10));
- notice(s_GameServ, u, "4. HP Potions for %ld Gold", 230 * p->level + (p->exp / 10));
- notice(s_GameServ, u, "To buy a potion, type /msg %S TAVERN BUY #");
- notice(s_GameServ, u, "Example: /msg %S TAVERN BUY 1 buys a healing potion!");
- notice(s_GameServ, u, "By something will ya!");
+ notice(s_GameServ, u, "Here is a list of what we have to offer:");
+ notice(s_GameServ, u, "1. Healing Potions for %ld Gold",
+ 1000 * p->level * 4);
+ notice(s_GameServ, u, "2. Strength Potions for %ld Gold",
+ 2500 * p->level * 4);
+ notice(s_GameServ, u, "3. Defense Potions for %ld Gold",
+ 3000 * p->level * 4);
+ notice(s_GameServ, u, "4. HP Potions for %ld Gold",
+ 2000 * p->level * 4);
+ notice(s_GameServ, u, "To buy a potion, type /msg %S TAVERN BUY #");
+ notice(s_GameServ, u, "Example: /msg %S TAVERN BUY 1 buys a healing potion!");
}
else if (stricmp(cmd, "BUY") == 0)
{
{
notice(s_GameServ, u, "Invalid Choice!");
notice(s_GameServ, u, "Here is a list of what we have to offer:");
- notice(s_GameServ, u, "1. Healing Potions for %ld Gold", 100 * p->level + (p->exp / 10));
- notice(s_GameServ, u, "2. Strength Potions for %ld Gold", 205 * p->level + (p->exp / 10));
- notice(s_GameServ, u, "3. Defense Potions for %ld Gold", 200 * p->level + (p->exp / 10));
- notice(s_GameServ, u, "4. HP Potions for %ld Gold", 230 * p->level + (p->exp / 10));
+ notice(s_GameServ, u, "1. Healing Potions for %ld Gold",
+ 1000 * p->level * 4);
+ notice(s_GameServ, u, "2. Strength Potions for %ld Gold",
+ 2500 * p->level * 4);
+ notice(s_GameServ, u, "3. Defense Potions for %ld Gold",
+ 3000 * p->level * 4);
+ notice(s_GameServ, u, "4. HP Potions for %ld Gold",
+ 2000 * p->level * 4);
notice(s_GameServ, u, "To buy a potion, type /msg %S TAVERN BUY #");
notice(s_GameServ, u, "Example: /msg %S TAVERN BUY 1 buys a healing potion!");
return;
switch(num)
{
case 1:
- price = (100 * p->level) + (p->exp / 10);
+ price = (1000 * p->level * 4);
if (p->gold >= price)
{
notice(s_GameServ, u, "One healing potion coming right up!");
notice(s_GameServ, u, "You don't have enough gold!");
break;
case 2:
- price = (205 * p->level) + (p->exp / 10);
+ price = 2500 * p->level * 4;
if (p->gold >= price)
{
notice(s_GameServ, u, "One strength boost coming right up!");
notice(s_GameServ, u, "You don't have enough gold!");
break;
case 3:
- price = (200 * p->level) + (p->exp / 10);
+ price = 3000 * p->level * 4;
if (p->gold >= price)
{
notice(s_GameServ, u, "One defense boost coming right up!");
notice(s_GameServ, u, "You don't have enough gold!");
break;
case 4:
- price = (230 * p->level) + (p->exp / 10);
+ price = 3000 * p->level * 4;
if (p->gold >= price)
{
notice(s_GameServ, u, "One HP Potion coming right up!");
delete [] buf;
return true;
}
-
-// this will be hash.cpp start
-// thank you wcampbel
-unsigned long sHASH(const unsigned char *name)
-{
- unsigned long h = 0, g;
-
- while (*name)
- {
- h = (h << 4) + (*name++); // Case sensitive for numerics
- if ((g = (h & 0xF0000000)))
- h ^= g >> 24;
- h &= ~g;
- }
- return h % U_TABLE_SIZE;
-}
-
-unsigned long iHASH(const unsigned char *name)
-{
- unsigned long h = 0, g;
-
- while (*name)
- {
- h = (h << 4) + tolower(*name++);
- if ((g = (h & 0xF0000000)))
- h ^= g >> 24;
- h &= ~g;
- }
- return h % U_TABLE_SIZE;
-}
-
-// this will be hash.cpp end