From: kainazzzo Date: Tue, 6 Apr 2004 02:53:55 +0000 (+0000) Subject: Fixed some bugs X-Git-Url: https://jfr.im/git/irc/gameservirc.git/commitdiff_plain/f2072f1a322a388903ce463f9cb736d6576cce4f?hp=03e0a9d83003fd07ae25f946053ec10989bfd132 Fixed some bugs git-svn-id: https://svn.code.sf.net/p/gameservirc/code/trunk@150 bc333340-6410-0410-a689-9d09f3c113fa --- diff --git a/gameserv/Changes b/gameserv/Changes index 0cb5184..a1073f7 100644 --- a/gameserv/Changes +++ b/gameserv/Changes @@ -1,4 +1,8 @@ Version 1.2.0 +* Fixed a bug that was causing players not to be voiced on the forest + channel on P10 servers - kain +* Added a missing code segment to subtract 1 from the player fights per + day when you fight another player (reported by MaCbLiNd) - kain * Fixed a bug that allowed the same player name to be registered any number of times - kain * Fixed a problem in when players quit on a P10 server, the /msg diff --git a/gameserv/TODO b/gameserv/TODO index b7d4804..06329f6 100644 --- a/gameserv/TODO +++ b/gameserv/TODO @@ -2,6 +2,8 @@ - = Started X = Finsihed +* Fix bug that doesn't decrease player fights + * Deal with cheaters who create additional characters, fight with them a bit, then kill them to get their gold. Maybe add level restrictions to fighting other players? @@ -53,7 +55,7 @@ X = Finsihed * Make a logout command -* make it so you can't register two of the same player names +X make it so you can't register two of the same player names X Option for including a config file as a runtime parameter for running Multiple instances of GameServ on different networks. diff --git a/gameserv/gameserv.cpp b/gameserv/gameserv.cpp index 485937c..ea8d6ff 100644 --- a/gameserv/gameserv.cpp +++ b/gameserv/gameserv.cpp @@ -1050,6 +1050,8 @@ void do_fight(char *u) clearYourTurn(battle->stats); // Initiate Battle sequence! + battle->stats->player_fights -= 1; + notice(s_GameServ, u, "You challenge %s to an online duel!", battle->stats->name); notice(s_GameServ, battle->getNick(), "%s has challenged you to an online duel!", ni->stats->name); notice(s_GameServ, battle->getNick(), "%s gets to go first "\ diff --git a/gameserv/player.cpp b/gameserv/player.cpp index c9f2195..39f8146 100644 --- a/gameserv/player.cpp +++ b/gameserv/player.cpp @@ -58,7 +58,9 @@ Player::Player(char *n) strcpy(name, n); - log("New Player: %s", name); + #ifdef DEBUGMODE + log("New Player: %s", name); + #endif } Player::~Player() @@ -122,7 +124,9 @@ void Player::setData(Player *right) sprintf(name, "Player%d", num); } - log("Setting Player data for %s", name); + #ifdef DEBUGMODE + log("Setting Player data for %s", name); + #endif } monster_::~monster_() diff --git a/gameserv/tcpclient.cpp b/gameserv/tcpclient.cpp index 0e96bb1..69d5dd7 100644 --- a/gameserv/tcpclient.cpp +++ b/gameserv/tcpclient.cpp @@ -361,11 +361,39 @@ int main(int argc, char *argv[]) else if (stricmp(dest, c_Forest) == 0) forest(source, rest); #endif + #if defined(P10) + } else if (stricmp(cmd, "J") == 0) { + #else } else if (stricmp(cmd, "JOIN") == 0) { + #endif char *channel; + aClient *joiner; channel = strtok(NULL, " "); - if (stricmp(channel, c_Forest) == 0 && is_playing(source + 1)) - raw(":%S MODE %s +v %s", c_Forest, (source + 1)); + + char z = source[0]; + + if (z == ':') + source++; + + joiner = find(source); + + if (stricmp(channel, c_Forest) == 0 && is_playing(joiner)) + { + #ifdef DEBUGMODE + log("Player %s (IRC: %s) joined %s", + joiner->stats->name, + #ifdef P10 + joiner->getRealNick(), + #else + joiner->getNick(), + #endif + c_Forest); + #endif + raw(":%S MODE %s +v %s", c_Forest, (source)); + } + + if (z == ':') + source--; #if defined(BAHAMUT) } else if (stricmp(cmd, "SJOIN") == 0) {