wpdev-commits Mailing List for Wolfpack Emu
Brought to you by:
rip,
thiagocorrea
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(14) |
Aug
(121) |
Sep
(256) |
Oct
(59) |
Nov
(73) |
Dec
(120) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(259) |
Feb
(381) |
Mar
(501) |
Apr
(355) |
May
(427) |
Jun
(270) |
Jul
(394) |
Aug
(412) |
Sep
(724) |
Oct
(578) |
Nov
(65) |
Dec
|
From: Sebastian H. <dar...@us...> - 2004-11-05 21:07:20
|
Update of /cvsroot/wpdev/xmlscripts/scripts/magic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32346/magic Modified Files: spell.py Log Message: Fixed a skillcheck for spells Index: spell.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/spell.py,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** spell.py 26 Oct 2004 03:25:40 -0000 1.33 --- spell.py 5 Nov 2004 21:07:07 -0000 1.34 *************** *** 331,337 **** if self.skill != None: if mode == MODE_BOOK: ! circle = self.circle else: ! circle = self.circle - 2 minskill = max(0, int((1000 / 7) * circle - 200)) maxskill = min(1200, int((1000 / 7) * circle + 200)) --- 331,337 ---- if self.skill != None: if mode == MODE_BOOK: ! circle = self.circle - 1 else: ! circle = self.circle - 3 minskill = max(0, int((1000 / 7) * circle - 200)) maxskill = min(1200, int((1000 / 7) * circle + 200)) |
From: Sebastian H. <dar...@us...> - 2004-11-05 16:28:45
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30240 Modified Files: ChangeLog player.cpp spawnregions.cpp spawnregions.h Log Message: Index: spawnregions.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/spawnregions.h,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** spawnregions.h 3 Nov 2004 02:09:27 -0000 1.35 --- spawnregions.h 5 Nov 2004 16:28:29 -0000 1.36 *************** *** 46,50 **** virtual Coord findSpot() = 0; ! virtual bool inBounds(const Coord &pos) = 0; }; --- 46,50 ---- virtual Coord findSpot() = 0; ! virtual bool inBounds(const Coord &pos) = 0; }; *************** *** 137,140 **** --- 137,141 ---- QPtrList<cSpawnPosition> positions_; // Spawn positions + QPtrList<cSpawnPosition> exceptions_; // Spawn positions (doesnt reduce point count (beware)) bool checkFreeSpot_; // The target spot has to be free. Index: player.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/player.cpp,v retrieving revision 1.144 retrieving revision 1.145 diff -C2 -d -r1.144 -r1.145 *** player.cpp 5 Nov 2004 07:26:52 -0000 1.144 --- player.cpp 5 Nov 2004 16:28:29 -0000 1.145 *************** *** 314,320 **** QString ghostSpeech; // Generate the ghost-speech *ONCE* ! if ( isDead() ) { for ( Q_UINT32 gI = 0; gI < message.length(); ++gI ) --- 314,321 ---- QString ghostSpeech; + bool gmSpiritSpeak = skillValue(SPIRITSPEAK) >= 1000; // Generate the ghost-speech *ONCE* ! if ( isDead() && !gmSpiritSpeak ) { for ( Q_UINT32 gI = 0; gI < message.length(); ++gI ) *************** *** 330,335 **** { // Take the dead-status into account ! if ( isDead() ) ! if ( !socket->player()->isDead() && !socket->player()->isGMorCounselor() ) textSpeech->setText( ghostSpeech ); else --- 331,336 ---- { // Take the dead-status into account ! if ( isDead() && !gmSpiritSpeak ) ! if ( !socket->player()->isDead() && !socket->player()->isGMorCounselor() && socket->player()->skillValue(SPIRITSPEAK) < 1000 ) textSpeech->setText( ghostSpeech ); else *************** *** 346,351 **** { // Take the dead-status into account ! if ( isDead() ) ! if ( !mSock->player()->isDead() && !mSock->player()->isGMorCounselor() ) textSpeech->setText( ghostSpeech ); else --- 347,352 ---- { // Take the dead-status into account ! if ( isDead() && !gmSpiritSpeak ) ! if ( !mSock->player()->isDead() && !mSock->player()->isGMorCounselor() && mSock->player()->skillValue(SPIRITSPEAK) < 1000 ) textSpeech->setText( ghostSpeech ); else Index: spawnregions.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/spawnregions.cpp,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** spawnregions.cpp 5 Nov 2004 00:52:55 -0000 1.86 --- spawnregions.cpp 5 Nov 2004 16:28:29 -0000 1.87 *************** *** 119,122 **** --- 119,123 ---- int x,y; int radius; + int radius2; bool fixedZ; signed char z; *************** *** 127,130 **** --- 128,132 ---- this->y = center.y; this->radius = radius; + this->radius2 = radius * radius; // Square of the radius for speeding up pythagoras this->map = map; this->fixedZ = fixedZ; *************** *** 137,149 **** } bool inBounds(const Coord &pos) { ! // Calculate the distance to the center and ! // check if it's smaller than the radius ! float xDiff = (float)abs(pos.x - x); ! float yDiff = (float)abs(pos.y - y); ! ! float distance = sqrt(xDiff * xDiff + yDiff * yDiff); ! ! return distance <= (float)radius; } --- 139,147 ---- } + // Calculate the distance to the center and check if it's smaller than the radius bool inBounds(const Coord &pos) { ! int xDiff = pos.x - x; ! int yDiff = pos.y - y; ! return (xDiff * xDiff + yDiff * yDiff) <= radius2; } *************** *** 185,188 **** --- 183,187 ---- id_ = tag->getAttribute("id"); positions_.setAutoDelete(true); + exceptions_.setAutoDelete(true); checkFreeSpot_ = false; npcNodesTotal_ = 0; *************** *** 369,373 **** } ! positions_.append(new cSpawnRectangle(from, to, map, fixedZ, z)); // Append to position } --- 368,376 ---- } ! if (tag->getAttribute("exception", "false").lower() == "true") { ! exceptions_.append(new cSpawnRectangle(from, to, map, fixedZ, z)); // Append to position ! } else { ! positions_.append(new cSpawnRectangle(from, to, map, fixedZ, z)); // Append to position ! } } *************** *** 380,384 **** } ! positions_.append(new cSpawnPoint(pos)); } --- 383,391 ---- } ! if (tag->getAttribute("exception", "false").lower() == "true") { ! exceptions_.append(new cSpawnPoint(pos)); ! } else { ! positions_.append(new cSpawnPoint(pos)); ! } } *************** *** 424,428 **** } ! positions_.append(new cSpawnCircle(center, radius, map, fixedZ, z)); // Append to position } --- 431,439 ---- } ! if (tag->getAttribute("exception", "false").lower() == "true") { ! exceptions_.append(new cSpawnCircle(center, radius, map, fixedZ, z)); // Append to position ! } else { ! positions_.append(new cSpawnCircle(center, radius, map, fixedZ, z)); // Append to position ! } } *************** *** 497,500 **** --- 508,518 ---- } + // This checks if the point is within one of the exempt areas + for (cSpawnPosition *exception = exceptions_.first(); exception; exception = exceptions_.next()) { + if (exception->inBounds(rndPos)) { + return findValidSpot(result, tries - 1); // Invalid spot, search for another one + } + } + result = rndPos; return true; Index: ChangeLog =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ChangeLog,v retrieving revision 1.137 retrieving revision 1.138 diff -C2 -d -r1.137 -r1.138 *** ChangeLog 5 Nov 2004 07:26:52 -0000 1.137 --- ChangeLog 5 Nov 2004 16:28:24 -0000 1.138 *************** *** 43,46 **** --- 43,50 ---- - It's no longer possible to login with a char if another char in the same account is still online. - Fixed a bug that would cause onLogout not to be called. + - A skill of 100% or more in Spirit Speaking now allows you to talk freely as a ghost and hear + everything dead players have to say. + - All geometrical bodies for spawnregions now support the except="true" tag that makes the rectangle, circle or + point not be included in finding a random position within the region. Wolfpack 12.9.12 Beta (18. October 2004) |
From: HellRaider <hel...@us...> - 2004-11-05 07:27:37
|
Update of /cvsroot/wpdev/xmlscripts/documentation/webroot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12394/documentation/webroot Modified Files: ChangeLog.wolfpack Log Message: - Changed the semantics of onLogin/onLogout. - Added onConnect/onDisconnect (exported to python). - It's no longer possible to login with a char if another char in the same account is still online. - Fixed a bug that would cause onLogout not to be called. Index: ChangeLog.wolfpack =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/documentation/webroot/ChangeLog.wolfpack,v retrieving revision 1.177 retrieving revision 1.178 diff -C2 -d -r1.177 -r1.178 *** ChangeLog.wolfpack 1 Nov 2004 17:16:02 -0000 1.177 --- ChangeLog.wolfpack 5 Nov 2004 07:27:25 -0000 1.178 *************** *** 29,32 **** --- 29,33 ---- - Implemented shrink command. - Implemented telem command. + - Added onConnect to system.players * Misc. Changes: - FAQ Updates. |
From: HellRaider <hel...@us...> - 2004-11-05 07:27:37
|
Update of /cvsroot/wpdev/xmlscripts/scripts/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12394/scripts/wolfpack Modified Files: consts.py Log Message: - Changed the semantics of onLogin/onLogout. - Added onConnect/onDisconnect (exported to python). - It's no longer possible to login with a char if another char in the same account is still online. - Fixed a bug that would cause onLogout not to be called. Index: consts.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/wolfpack/consts.py,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** consts.py 27 Oct 2004 14:06:34 -0000 1.91 --- consts.py 5 Nov 2004 07:27:26 -0000 1.92 *************** *** 420,424 **** EVENT_CHECKVICTIM = 49 EVENT_DODAMAGE = 50 ! EVENT_COUNT = 51 """ \end --- 420,426 ---- EVENT_CHECKVICTIM = 49 EVENT_DODAMAGE = 50 ! EVENT_CONNECT = 51 ! EVENT_DISCONNECT = 52 ! EVENT_COUNT = 53 """ \end |
From: HellRaider <hel...@us...> - 2004-11-05 07:27:36
|
Update of /cvsroot/wpdev/xmlscripts/scripts/system In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12394/scripts/system Modified Files: players.py Log Message: - Changed the semantics of onLogin/onLogout. - Added onConnect/onDisconnect (exported to python). - It's no longer possible to login with a char if another char in the same account is still online. - Fixed a bug that would cause onLogout not to be called. Index: players.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/system/players.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** players.py 27 Oct 2004 16:38:35 -0000 1.9 --- players.py 5 Nov 2004 07:27:25 -0000 1.10 *************** *** 8,14 **** socket.sysmessage( tr("Report Bugs: http://bugs.wpdev.org/") ) player.hidden = False player.update() socket.resendplayer() - return False def onLogout( player ): --- 8,19 ---- socket.sysmessage( tr("Report Bugs: http://bugs.wpdev.org/") ) player.hidden = False + return False + + def onConnect( player, reconnecting ): + socket = player.socket + if reconnecting: + socket.sysmessage( tr("Reconnecting.") ) player.update() socket.resendplayer() def onLogout( player ): *************** *** 20,27 **** def onDamage(char, type, amount, source): socket = char.socket ! if socket and amount > 25 and socket.hastag('bandage_slipped'): socket.settag('bandage_slipped', int(socket.gettag('bandage_slipped')) + 1) socket.clilocmessage(500961) ! return amount --- 25,32 ---- def onDamage(char, type, amount, source): socket = char.socket ! if socket and amount > 25 and socket.hastag('bandage_slipped'): socket.settag('bandage_slipped', int(socket.gettag('bandage_slipped')) + 1) socket.clilocmessage(500961) ! return amount |
From: HellRaider <hel...@us...> - 2004-11-05 07:27:04
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12189 Modified Files: ChangeLog player.cpp player.h pythonscript.cpp pythonscript.h timing.cpp Log Message: - Changed the semantics of onLogin/onLogout. - Added onConnect/onDisconnect (exported to python). - It's no longer possible to login with a char if another char in the same account is still online. - Fixed a bug that would cause onLogout not to be called. Index: player.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/player.h,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** player.h 3 Nov 2004 02:09:26 -0000 1.62 --- player.h 5 Nov 2004 07:26:52 -0000 1.63 *************** *** 130,135 **** // Wrapper events virtual bool onLogin(); // The character enters the world ! virtual bool onDisconnect(); // The socket has disconnected ! virtual bool onLogout(); // The character exits the world virtual bool onHelp(); // The character wants help virtual bool onChat(); // The character wants to chat --- 130,136 ---- // Wrapper events virtual bool onLogin(); // The character enters the world ! virtual bool onConnect( bool reconnecting ); // A socket attaches to a character ! virtual bool onDisconnect(); // A socket detaches from a character ! virtual bool onLogout(); // The character leaves the world virtual bool onHelp(); // The character wants help virtual bool onChat(); // The character wants to chat Index: ChangeLog =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ChangeLog,v retrieving revision 1.136 retrieving revision 1.137 diff -C2 -d -r1.136 -r1.137 *** ChangeLog 5 Nov 2004 00:57:07 -0000 1.136 --- ChangeLog 5 Nov 2004 07:26:52 -0000 1.137 *************** *** 25,29 **** - The deprecated RegionIterators have been removed. - The SectorIterators have also been replaced with a much faster iterator. ! - The new iterators don't allocate/copy memory anymore. - The "range" lookup now looks for items within a real circle. - Multis now have their own structure, and are now separate from items. --- 25,29 ---- - The deprecated RegionIterators have been removed. - The SectorIterators have also been replaced with a much faster iterator. ! - The new iterators don't allocate/copy memory anymore. - The "range" lookup now looks for items within a real circle. - Multis now have their own structure, and are now separate from items. *************** *** 39,42 **** --- 39,46 ---- - Fixed handling of a fixed z value for spawnregions. - Fixed an exploit (dropping without dragging first) + - Changed the semantics of onLogin/onLogout (character entering/leaving the world). + - Added onConnect/onDisconnect (socket attaching/detaching to/from a player). + - It's no longer possible to login with a char if another char in the same account is still online. + - Fixed a bug that would cause onLogout not to be called. Wolfpack 12.9.12 Beta (18. October 2004) Index: player.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/player.cpp,v retrieving revision 1.143 retrieving revision 1.144 diff -C2 -d -r1.143 -r1.144 *** player.cpp 4 Nov 2004 23:12:45 -0000 1.143 --- player.cpp 5 Nov 2004 07:26:52 -0000 1.144 *************** *** 934,942 **** bool cPlayer::onLogin() { MapObjects::instance()->updateOnlineStatus( this, true ); // trigger the script event bool result = false; ! if ( canHandleEvent( EVENT_LOGIN ) ) { PyObject* args = Py_BuildValue( "(O&)", PyGetCharObject, this ); --- 934,943 ---- bool cPlayer::onLogin() { + // move the char from the offline to the online chars structure MapObjects::instance()->updateOnlineStatus( this, true ); // trigger the script event bool result = false; ! if( canHandleEvent( EVENT_LOGIN ) ) { PyObject* args = Py_BuildValue( "(O&)", PyGetCharObject, this ); *************** *** 947,963 **** } bool cPlayer::onDisconnect() { ! // TODO: trigger a script event here ! return true; } bool cPlayer::onLogout() { MapObjects::instance()->updateOnlineStatus( this, false ); // trigger the script event bool result = false; ! if ( canHandleEvent( EVENT_LOGOUT ) ) { PyObject* args = Py_BuildValue( "(O&)", PyGetCharObject, this ); --- 948,983 ---- } + bool cPlayer::onConnect( bool reconnecting ) + { + bool result = false; + if( canHandleEvent( EVENT_CONNECT ) ) + { + PyObject* args = Py_BuildValue( "(O&i)", PyGetCharObject, this, reconnecting ); + result = callEventHandler( EVENT_CONNECT, args ); + Py_DECREF( args ); + } + return result; + } + bool cPlayer::onDisconnect() { ! bool result = false; ! if( canHandleEvent( EVENT_DISCONNECT ) ) ! { ! PyObject* args = Py_BuildValue( "(O&)", PyGetCharObject, this ); ! result = callEventHandler( EVENT_DISCONNECT, args ); ! Py_DECREF( args ); ! } ! return result; } bool cPlayer::onLogout() { + // move the char from the online to the offline chars structure MapObjects::instance()->updateOnlineStatus( this, false ); // trigger the script event bool result = false; ! if( canHandleEvent( EVENT_LOGOUT ) ) { PyObject* args = Py_BuildValue( "(O&)", PyGetCharObject, this ); Index: pythonscript.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/pythonscript.h,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** pythonscript.h 3 Nov 2004 02:09:26 -0000 1.47 --- pythonscript.h 5 Nov 2004 07:26:52 -0000 1.48 *************** *** 94,97 **** --- 94,99 ---- EVENT_SNOOPING, EVENT_REMOTEUSE, + EVENT_CONNECT, + EVENT_DISCONNECT, EVENT_COUNT, }; Index: timing.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/timing.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** timing.cpp 3 Nov 2004 02:09:28 -0000 1.22 --- timing.cpp 5 Nov 2004 07:26:52 -0000 1.23 *************** *** 278,285 **** P_PLAYER player = dynamic_cast<P_PLAYER>( character ); ! if( player && !player->socket() && player->logoutTime() && player->logoutTime() <= time ) { - player->removeFromView( false ); player->onLogout(); player->setLogoutTime( 0 ); player->resend( false ); --- 278,286 ---- P_PLAYER player = dynamic_cast<P_PLAYER>( character ); ! if( player && player->logoutTime() && player->logoutTime() <= time ) { player->onLogout(); + player->removeFromView( false ); + player->setSocket( 0 ); player->setLogoutTime( 0 ); player->resend( false ); Index: pythonscript.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/pythonscript.cpp,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** pythonscript.cpp 3 Nov 2004 13:51:08 -0000 1.60 --- pythonscript.cpp 5 Nov 2004 07:26:52 -0000 1.61 *************** *** 134,139 **** /* \event onLogin ! \param player The player who logged in. \condition Triggered when a player enters the world. */ "onLogin", --- 134,141 ---- /* \event onLogin ! \param player The player that is entering the world. \condition Triggered when a player enters the world. + \notes onLogin isn't called if the character was lingering (as the character didn't + really leave the world). See onConnect. */ "onLogin", *************** *** 141,146 **** /* \event onLogout ! \param player The player who disconnected. \condition Triggered when a player leaves the world. */ "onLogout", --- 143,149 ---- /* \event onLogout ! \param player The player that is leaving the world. \condition Triggered when a player leaves the world. + \notes onLogout takes the char timeout into consideration. See onDisconnect. */ "onLogout", *************** *** 601,604 **** --- 604,624 ---- "onRemoteUse", + /* + \event onConnect + \param player The player that connected. + \param reconnecting True if the player is reconnecting to an online character. + \condition Triggered when a player logs in with a character (even if the character was still online). + \notes If the character wasn't online, onLogin is called before onConnect. + */ + "onConnect", + + /* + \event onDisconnect + \param player The player that disconnected. + \condition Triggered when a player disconnects. + \notes If the character was in a safe-logout zone, onLogout is called immediately after onDisconnect. + */ + "onDisconnect", + 0 }; |
From: HellRaider <hel...@us...> - 2004-11-05 07:27:04
|
Update of /cvsroot/wpdev/wolfpack/network In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12189/network Modified Files: uosocket.cpp uosocket.h Log Message: - Changed the semantics of onLogin/onLogout. - Added onConnect/onDisconnect (exported to python). - It's no longer possible to login with a char if another char in the same account is still online. - Fixed a bug that would cause onLogout not to be called. Index: uosocket.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uosocket.cpp,v retrieving revision 1.439 retrieving revision 1.440 diff -C2 -d -r1.439 -r1.440 *** uosocket.cpp 3 Nov 2004 13:51:14 -0000 1.439 --- uosocket.cpp 5 Nov 2004 07:26:52 -0000 1.440 *************** *** 472,484 **** to this server. */ ! void cUOSocket::disconnect( void ) { ! if ( _account ) _account->setInUse( false ); ! if ( _player ) { _player->onDisconnect(); ! _player->setSocket( NULL ); // Remove the player from it's party --- 472,484 ---- to this server. */ ! void cUOSocket::disconnect() { ! if( _account ) _account->setInUse( false ); ! if( _player ) { _player->onDisconnect(); ! _player->setSocket( 0 ); // Remove the player from it's party *************** *** 496,504 **** _socket->close(); ! if ( _player ) { _player->removeFromView( true ); ! // is the player allowed to logout instantly? if( _player->isGMorCounselor() || ( _player->region() && _player->region()->isGuarded() ) ) { --- 496,504 ---- _socket->close(); ! if( _player ) { _player->removeFromView( true ); ! // is the player allowed to logoff instantly? if( _player->isGMorCounselor() || ( _player->region() && _player->region()->isGuarded() ) ) { *************** *** 642,646 **** QValueVector<P_PLAYER> characters = _account->caracterList(); ! if ( packet->slot() >= characters.size() ) { cUOTxDenyLogin denyLogin; --- 642,646 ---- QValueVector<P_PLAYER> characters = _account->caracterList(); ! if( packet->slot() >= characters.size() ) { cUOTxDenyLogin denyLogin; *************** *** 650,654 **** } ! if ( _account->inUse() ) { cUOTxDenyLogin denyLogin; --- 650,654 ---- } ! if( _account->inUse() ) { cUOTxDenyLogin denyLogin; *************** *** 658,673 **** } ! _account->setInUse( true ); ! ! P_PLAYER pChar = characters.at(packet->slot()); ! log(LOG_MESSAGE, tr("Selected character '%1' (0x%2).\n").arg(pChar->name()).arg(pChar->serial(), 0, 16)); playChar( pChar ); ! _player->onLogin(); } ! // Set up the neccesary stuff to play void cUOSocket::playChar( P_PLAYER pChar ) { ! if ( !pChar ) pChar = _player; --- 658,700 ---- } ! // the char we want to login with ! P_PLAYER pChar = characters.at( packet->slot() ); ! ! // check if any other account character is still online (lingering) ! for( QValueVector<P_PLAYER>::const_iterator it = characters.begin(); it != characters.end(); ++it ) ! { ! P_PLAYER otherChar = *it; ! if( pChar == otherChar ) ! continue; ! ! if( otherChar->isOnline() ) ! { ! cUOTxMessageWarning message; ! message.setReason( cUOTxMessageWarning::AlreadyInWorld ); ! send( &message ); ! return; ! } ! } ! ! log( LOG_MESSAGE, tr( "Selected character '%1' (0x%2).\n" ).arg( pChar->name() ).arg( pChar->serial(), 0, 16 ) ); playChar( pChar ); ! ! // if this char was lingering, cancel the auto-logoff and don't send the onLogin() event ! if( pChar->logoutTime() ) ! { ! pChar->onConnect( true ); ! pChar->setLogoutTime( 0 ); ! } ! else ! { ! pChar->onLogin(); ! pChar->onConnect( false ); ! } } ! // Set up the necessary stuff to play void cUOSocket::playChar( P_PLAYER pChar ) { ! if( !pChar ) pChar = _player; *************** *** 678,682 **** // d) Set the Game Time ! if (!Maps::instance()->hasMap(pChar->pos().map)) { Coord pos; pos.x = 0; --- 705,710 ---- // d) Set the Game Time ! if( !Maps::instance()->hasMap( pChar->pos().map ) ) ! { Coord pos; pos.x = 0; *************** *** 684,692 **** pos.z = 0; pos.map = 0; ! pChar->moveTo(pos); } ! // We're now playing this char ! pChar->setLogoutTime( 0 ); setPlayer( pChar ); pChar->account()->setInUse( true ); --- 712,719 ---- pos.z = 0; pos.map = 0; ! pChar->moveTo( pos ); } ! // We're now playing this char. setPlayer( pChar ); pChar->account()->setInUse( true ); *************** *** 891,894 **** --- 918,934 ---- } + // If another character in the account is still online (lingering) + for( QValueVector<P_PLAYER>::const_iterator it = characters.begin(); it != characters.end(); ++it ) + { + P_PLAYER otherChar = *it; + if( otherChar->isOnline() ) + { + cUOTxMessageWarning message; + message.setReason( cUOTxMessageWarning::AlreadyInWorld ); + send( &message ); + return; + } + } + // Check the stats Q_UINT16 statSum = ( packet->strength() + packet->dexterity() + packet->intelligence() ); *************** *** 975,979 **** pChar->setOrgBody( pChar->body() ); ! pChar->moveTo( startLocations[packet->startTown()].pos ); pChar->setDirection( 4 ); --- 1015,1019 ---- pChar->setOrgBody( pChar->body() ); ! pChar->moveTo( startLocations[packet->startTown()].pos, true ); pChar->setDirection( 4 ); *************** *** 1083,1088 **** // Start the game with the newly created char -- OR RELAY HIM !! playChar( pChar ); ! pChar->onCreate(pChar->baseid()); // Call onCreate before onLogin pChar->onLogin(); #undef cancelCreate } --- 1123,1129 ---- // Start the game with the newly created char -- OR RELAY HIM !! playChar( pChar ); ! pChar->onCreate( pChar->baseid() ); // Call onCreate before onLogin pChar->onLogin(); + pChar->onConnect( false ); #undef cancelCreate } *************** *** 1683,1701 **** void cUOSocket::setPlayer( P_PLAYER pChar ) { ! // If we're already playing a char and chaning reset the socket status of that ! // player ! if ( !pChar && !_player ) return; // If the player is changing ! if ( pChar && ( pChar != _player ) ) { ! if ( _player ) { _player->removeFromView( true ); _player->setSocket( 0 ); _player->setLogoutTime( 0 ); _player->resend( false ); - //MapObjects::instance()->remove( _player ); } --- 1724,1743 ---- void cUOSocket::setPlayer( P_PLAYER pChar ) { ! // If we're already playing a char and changing reset the socket status of that player ! if( !pChar && !_player ) return; // If the player is changing ! if( pChar && ( pChar != _player ) ) { ! if( _player ) { + // This should never happen, we should deny logins while there's a lingering + // char; but just in case, as this may avoid problems: + _player->onLogout(); _player->removeFromView( true ); _player->setSocket( 0 ); _player->setLogoutTime( 0 ); _player->resend( false ); } Index: uosocket.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uosocket.h,v retrieving revision 1.127 retrieving revision 1.128 diff -C2 -d -r1.127 -r1.128 *** uosocket.h 18 Oct 2004 12:09:53 -0000 1.127 --- uosocket.h 5 Nov 2004 07:26:53 -0000 1.128 *************** *** 67,70 **** --- 67,71 ---- { OBJECTDEF(cUOSocket) + public: enum eSocketState *************** *** 76,105 **** }; - private: - QValueVector<cUORxWalkRequest> packetQueue; - - QSocketDevice* _socket; - unsigned int _rxBytes, _txBytes, _uniqueId, _lastActivity; - cAccount* _account; - P_PLAYER _player; - eSocketState _state; - Q_UINT8 lastPacket, _viewRange, _walkSequence; - cTargetRequest* targetRequest; - QString _lang, _version; - cCustomTags tags_; - QString _ip; // IP used to connect - QBitArray* tooltipscache_; - QPtrList<cContextMenu> contextMenu_; - QMap<SERIAL, cGump*> gumps; - unsigned short _screenWidth, _screenHeight; - - bool authenticate( const QString& username, const QString& password ); - - /*! - \brief This array contains all registered packet handlers known - to all sockets. - */ - static PyObject* handlers[255]; - public: /*! --- 77,80 ---- *************** *** 173,180 **** --- 148,157 ---- P_PLAYER player( void ) const; P_ITEM dragging() const; + cAccount* account( void ) const { return _account; } + void setAccount( cAccount* data ) { *************** *** 182,186 **** } - unsigned int lastActivity() const; unsigned int rxBytes() const; --- 159,162 ---- *************** *** 254,263 **** void sendCharList(); void removeObject( cUObject* object ); ! void setPlayer( P_PLAYER pChar = NULL ); // Updates the current player ! void disconnect( void ); // Call this whenever the socket should disconnect ! bool isT2A() ! { ! return true; ! } // ??? void sendPaperdoll( P_CHAR pChar ); void playMusic( void ); --- 230,234 ---- void sendCharList(); void removeObject( cUObject* object ); ! void disconnect(); // Call this whenever the socket should disconnect void sendPaperdoll( P_CHAR pChar ); void playMusic( void ); *************** *** 299,305 **** void denyMove( Q_UINT8 sequence ); ! private: // Private methods void updateCharList(); ! void playChar( P_PLAYER player ); // Play a character }; --- 270,303 ---- void denyMove( Q_UINT8 sequence ); ! private: void updateCharList(); ! void setPlayer( P_PLAYER player ); ! void playChar( P_PLAYER player ); ! ! private: ! QValueVector<cUORxWalkRequest> packetQueue; ! ! QSocketDevice* _socket; ! unsigned int _rxBytes, _txBytes, _uniqueId, _lastActivity; ! cAccount* _account; ! P_PLAYER _player; ! eSocketState _state; ! Q_UINT8 lastPacket, _viewRange, _walkSequence; ! cTargetRequest* targetRequest; ! QString _lang, _version; ! cCustomTags tags_; ! QString _ip; // IP used to connect ! QBitArray* tooltipscache_; ! QPtrList<cContextMenu> contextMenu_; ! QMap<SERIAL, cGump*> gumps; ! unsigned short _screenWidth, _screenHeight; ! ! bool authenticate( const QString& username, const QString& password ); ! ! /*! ! \brief This array contains all registered packet handlers known ! to all sockets. ! */ ! static PyObject* handlers[255]; }; |
From: Sebastian H. <dar...@us...> - 2004-11-05 00:57:19
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31229 Modified Files: ChangeLog dragdrop.cpp Log Message: Index: dragdrop.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/dragdrop.cpp,v retrieving revision 1.251 retrieving revision 1.252 diff -C2 -d -r1.251 -r1.252 *** dragdrop.cpp 3 Nov 2004 13:51:08 -0000 1.251 --- dragdrop.cpp 5 Nov 2004 00:57:08 -0000 1.252 *************** *** 474,477 **** --- 474,483 ---- return; + // If the item is not dragged by us, dont even bother + if (pItem->container() != pChar) { + socket->bounceItem( pItem, BR_NO_REASON ); + return; + } + P_ITEM iCont = FindItemBySerial( packet->cont() ); P_CHAR cCont = FindCharBySerial( packet->cont() ); Index: ChangeLog =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ChangeLog,v retrieving revision 1.135 retrieving revision 1.136 diff -C2 -d -r1.135 -r1.136 *** ChangeLog 4 Nov 2004 18:55:34 -0000 1.135 --- ChangeLog 5 Nov 2004 00:57:07 -0000 1.136 *************** *** 38,41 **** --- 38,42 ---- - Added .reload muls and added a broadcast message to the reload commands. - Fixed handling of a fixed z value for spawnregions. + - Fixed an exploit (dropping without dragging first) Wolfpack 12.9.12 Beta (18. October 2004) |
From: Sebastian H. <dar...@us...> - 2004-11-05 00:53:05
|
Update of /cvsroot/wpdev/wolfpack/ai In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30290/ai Modified Files: ai_humans.cpp Log Message: Index: ai_humans.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ai/ai_humans.cpp,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** ai_humans.cpp 3 Nov 2004 02:09:30 -0000 1.29 --- ai_humans.cpp 5 Nov 2004 00:52:54 -0000 1.30 *************** *** 137,141 **** pPet->setStablemasterSerial( INVALID_SERIAL ); pPet->setOwner( pTalker ); // This is important... ! pPet->moveTo( m_npc->pos() ); pPet->resend(); } --- 137,141 ---- pPet->setStablemasterSerial( INVALID_SERIAL ); pPet->setOwner( pTalker ); // This is important... ! pPet->moveTo( m_npc->pos(), true ); pPet->resend(); } |
From: Sebastian H. <dar...@us...> - 2004-11-05 00:53:05
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30290 Modified Files: spawnregions.cpp Log Message: Index: spawnregions.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/spawnregions.cpp,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** spawnregions.cpp 4 Nov 2004 18:54:37 -0000 1.85 --- spawnregions.cpp 5 Nov 2004 00:52:55 -0000 1.86 *************** *** 559,563 **** pChar->setSpawnregion(this); pChar->setBaseid(id.latin1()); ! pChar->moveTo( pos ); pChar->applyDefinition( parent ); // Apply the definition from the id first --- 559,563 ---- pChar->setSpawnregion(this); pChar->setBaseid(id.latin1()); ! pChar->moveTo( pos, true ); pChar->applyDefinition( parent ); // Apply the definition from the id first |
From: Sebastian H. <dar...@us...> - 2004-11-05 00:53:05
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30268 Modified Files: basechar.cpp Log Message: Index: basechar.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/basechar.cpp,v retrieving revision 1.175 retrieving revision 1.176 diff -C2 -d -r1.175 -r1.176 *** basechar.cpp 3 Nov 2004 19:04:30 -0000 1.175 --- basechar.cpp 5 Nov 2004 00:52:43 -0000 1.176 *************** *** 2386,2390 **** blood->setColor(bloodColor); blood->setNoDecay( false ); // Override the nodecay tag in the definitions ! blood->moveTo( pos_ ); // Move it to the feet of the victim blood->update(); // Send it to all sockets in range } --- 2386,2390 ---- blood->setColor(bloodColor); blood->setNoDecay( false ); // Override the nodecay tag in the definitions ! blood->moveTo( pos_, true ); // Move it to the feet of the victim blood->update(); // Send it to all sockets in range } |
From: Sebastian H. <dar...@us...> - 2004-11-05 00:03:42
|
Update of /cvsroot/wpdev/xmlscripts/definitions/items/vegetation In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18758/items/vegetation Modified Files: crystals.xml Log Message: added some new items Index: crystals.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/items/vegetation/crystals.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** crystals.xml 7 May 2004 21:56:38 -0000 1.2 --- crystals.xml 5 Nov 2004 00:03:32 -0000 1.3 *************** *** 65,74 **** </item> - <item id="220f"> - <id>0x220f</id> - <nodecay /> - <category>Vegetation\Crystals\Giant Crystal 10</category> - </item> - <item id="2210"> <id>0x2210</id> --- 65,68 ---- *************** *** 125,134 **** </item> - <item id="2219"> - <id>0x2219</id> - <nodecay /> - <category>Vegetation\Crystals\Giant Crystal 20</category> - </item> - <item id="221a"> <id>0x221a</id> --- 119,122 ---- *************** *** 185,194 **** </item> - <item id="2223"> - <id>0x2223</id> - <nodecay /> - <category>Vegetation\Crystals\Giant Crystal 30</category> - </item> - <item id="2224"> <id>0x2224</id> --- 173,176 ---- *************** *** 244,247 **** --- 226,325 ---- <category>Vegetation\Crystals\Giant Crystal 39</category> </item> + + <item id="223a"> + <id>0x223a</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 1</category> + </item> + + <item id="223b"> + <id>0x223b</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 2</category> + </item> + + <item id="223c"> + <id>0x223c</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 3</category> + </item> + + <item id="223d"> + <id>0x223d</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 4</category> + </item> + + <item id="223e"> + <id>0x223e</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 5</category> + </item> + + <item id="223f"> + <id>0x223f</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 6</category> + </item> + + <item id="2240"> + <id>0x2240</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 7</category> + </item> + + <item id="2241"> + <id>0x2241</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 8</category> + </item> + + <item id="2242"> + <id>0x2242</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 9</category> + </item> + + <item id="2243"> + <id>0x2243</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 10</category> + </item> + + <item id="2244"> + <id>0x2244</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 11</category> + </item> + + <item id="2245"> + <id>0x2245</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 12</category> + </item> + + <item id="2246"> + <id>0x2246</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 13</category> + </item> + + <item id="2247"> + <id>0x2247</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 14</category> + </item> + + <item id="2248"> + <id>0x2248</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 15</category> + </item> + + <item id="2249"> + <id>0x2249</id> + <nodecay /> + <category>Vegetation\Crystals\Broken Crystals 16</category> + </item> </definitions> \ No newline at end of file |
From: Sebastian H. <dar...@us...> - 2004-11-04 23:12:57
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7123 Modified Files: player.cpp Log Message: Fix Index: player.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/player.cpp,v retrieving revision 1.142 retrieving revision 1.143 diff -C2 -d -r1.142 -r1.143 *** player.cpp 3 Nov 2004 14:45:47 -0000 1.142 --- player.cpp 4 Nov 2004 23:12:45 -0000 1.143 *************** *** 425,429 **** pMount->setWanderType( enHalt ); pMount->setStablemasterSerial( INVALID_SERIAL ); ! pMount->moveTo( pos() ); pMount->setDirection( direction_ ); pMount->resend( false ); --- 425,429 ---- pMount->setWanderType( enHalt ); pMount->setStablemasterSerial( INVALID_SERIAL ); ! pMount->moveTo( pos(), true ); pMount->setDirection( direction_ ); pMount->resend( false ); |
From: Sebastian H. <dar...@us...> - 2004-11-04 22:10:07
|
Update of /cvsroot/wpdev/xmlscripts/definitions/npcs/monsters/dragons In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25492/npcs/monsters/dragons Modified Files: ancient_wyrm.xml Log Message: Index: ancient_wyrm.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/npcs/monsters/dragons/ancient_wyrm.xml,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** ancient_wyrm.xml 26 Oct 2004 19:23:47 -0000 1.16 --- ancient_wyrm.xml 4 Nov 2004 22:09:52 -0000 1.17 *************** *** 49,52 **** --- 49,53 ---- <inherit id="speed_fast" /> <ai>Monster_Mage</ai> + <lootpacks>lootpack_filthy_rich;lootpack_filthy_rich;lootpack_filthy_rich</lootpacks> </npc> |
From: HellRaider <hel...@us...> - 2004-11-04 19:33:33
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19397 Modified Files: mapobjects.cpp Log Message: Added a check to the MapObjects::updateOnlineStatus() method. Index: mapobjects.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/mapobjects.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** mapobjects.cpp 4 Nov 2004 12:03:12 -0000 1.22 --- mapobjects.cpp 4 Nov 2004 19:33:21 -0000 1.23 *************** *** 28,31 **** --- 28,32 ---- // Wolfpack Includes #include "timing.h" + #include "console.h" #include "inlines.h" #include "uobject.h" *************** *** 311,319 **** } ! bool add( cUObject *object ) { const Coord &pos = object->pos(); cell( cellId( pos.x, pos.y ) ).add( object ); - return true; } --- 312,321 ---- } ! //! add() never fails, no need to return a bool. It doesn't validate the ! //! object's position, as that can be more effectively done by the caller. ! void add( cUObject *object ) { const Coord &pos = object->pos(); cell( cellId( pos.x, pos.y ) ).add( object ); } *************** *** 544,548 **** MapObjectsGrid *from = ( online ? &gridSet->offlineChars : &gridSet->chars ); MapObjectsGrid *to = ( online ? &gridSet->chars : &gridSet->offlineChars ); ! from->remove( player ); to->add( player ); } --- 546,557 ---- MapObjectsGrid *from = ( online ? &gridSet->offlineChars : &gridSet->chars ); MapObjectsGrid *to = ( online ? &gridSet->chars : &gridSet->offlineChars ); ! ! if( from->remove( player ) == false ) ! { ! Console::instance()->log( LOG_ERROR, tr( "updateOnlineStatus() failed to remove the player 0x%1 from the %2 characters structure." ) ! .arg( player->serial(), 0, 16 ).arg( online ? "offline" : "online" ) ); ! return; ! } ! to->add( player ); } |
From: Sebastian H. <dar...@us...> - 2004-11-04 18:55:48
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9730 Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ChangeLog,v retrieving revision 1.134 retrieving revision 1.135 diff -C2 -d -r1.134 -r1.135 *** ChangeLog 4 Nov 2004 18:54:36 -0000 1.134 --- ChangeLog 4 Nov 2004 18:55:34 -0000 1.135 *************** *** 37,40 **** --- 37,41 ---- - Fixed Multi Update range. - Added .reload muls and added a broadcast message to the reload commands. + - Fixed handling of a fixed z value for spawnregions. Wolfpack 12.9.12 Beta (18. October 2004) |
From: Sebastian H. <dar...@us...> - 2004-11-04 18:54:58
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9380 Modified Files: ChangeLog commands.cpp inlines.h spawnregions.cpp Log Message: Fixes for reloads and the makeascii function Index: ChangeLog =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ChangeLog,v retrieving revision 1.133 retrieving revision 1.134 diff -C2 -d -r1.133 -r1.134 *** ChangeLog 3 Nov 2004 18:23:58 -0000 1.133 --- ChangeLog 4 Nov 2004 18:54:36 -0000 1.134 *************** *** 36,39 **** --- 36,40 ---- - Fixed movement not correctly being sent to other characters. - Fixed Multi Update range. + - Added .reload muls and added a broadcast message to the reload commands. Wolfpack 12.9.12 Beta (18. October 2004) Index: commands.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/commands.cpp,v retrieving revision 1.271 retrieving revision 1.272 diff -C2 -d -r1.271 -r1.272 *** commands.cpp 3 Nov 2004 02:09:24 -0000 1.271 --- commands.cpp 4 Nov 2004 18:54:36 -0000 1.272 *************** *** 45,48 **** --- 45,49 ---- #include "pythonscript.h" #include "network/network.h" + #include "muls/multiscache.h" #include "walking.h" #include "dbdriver.h" *************** *** 530,543 **** else if ( subCommand == "python" ) { Server::instance()->reload( "scripts" ); } else if ( subCommand == "scripts" ) { Server::instance()->reload( "definitions" ); } ! ! if ( subCommand == "all" ) { Server::instance()->reload( "configuration" ); // This will reload nearly everything } } --- 531,557 ---- else if ( subCommand == "python" ) { + Network::instance()->broadcast(tr("Reloading python scripts.")); Server::instance()->reload( "scripts" ); + Network::instance()->broadcast(tr("Finished reloading python scripts.")); } else if ( subCommand == "scripts" ) { + Network::instance()->broadcast(tr("Reloading definitions.")); Server::instance()->reload( "definitions" ); + Network::instance()->broadcast(tr("Finished reloading definitions.")); } ! else if ( subCommand == "muls" ) ! { ! Network::instance()->broadcast(tr("Reloading mul files.")); ! Maps::instance()->reload(); ! TileCache::instance()->reload(); ! MultiCache::instance()->reload(); ! Network::instance()->broadcast(tr("Finished reloading mul files.")); ! } ! else if ( subCommand == "all" ) { + Network::instance()->broadcast(tr("Reloading server configuration.")); Server::instance()->reload( "configuration" ); // This will reload nearly everything + Network::instance()->broadcast(tr("Finished reloading server configuration.")); } } Index: spawnregions.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/spawnregions.cpp,v retrieving revision 1.84 retrieving revision 1.85 diff -C2 -d -r1.84 -r1.85 *** spawnregions.cpp 3 Nov 2004 14:45:47 -0000 1.84 --- spawnregions.cpp 4 Nov 2004 18:54:37 -0000 1.85 *************** *** 366,369 **** --- 366,370 ---- return; } + fixedZ = true; } Index: inlines.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/inlines.h,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** inlines.h 3 Nov 2004 03:41:35 -0000 1.36 --- inlines.h 4 Nov 2004 18:54:37 -0000 1.37 *************** *** 100,122 **** // German umlauts can be represented differently switch (c) { ! case 'ü': result.append("ue"); continue; ! case 'ä': result.append("ae"); continue; ! case 'ö': result.append("oe"); continue; ! case 'Ã': result.append("ss"); continue; ! case 'Ã': result.append("Ue"); continue; ! case 'Ã': result.append("Ae"); continue; ! case 'Ã': result.append("Oe"); continue; --- 100,122 ---- // German umlauts can be represented differently switch (c) { ! case 129: // ü result.append("ue"); continue; ! case 132: // ä result.append("ae"); continue; ! case 148: // ö result.append("oe"); continue; ! case 225: // à result.append("ss"); continue; ! case 154: // à result.append("Ue"); continue; ! case 142: // à result.append("Ae"); continue; ! case 153: // à result.append("Oe"); continue; |
From: Sebastian H. <dar...@us...> - 2004-11-04 18:54:58
|
Update of /cvsroot/wpdev/wolfpack/muls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9380/muls Modified Files: maps.cpp maps.h Log Message: Fixes for reloads and the makeascii function Index: maps.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/muls/maps.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** maps.cpp 3 Nov 2004 02:09:31 -0000 1.17 --- maps.cpp 4 Nov 2004 18:54:37 -0000 1.18 *************** *** 98,101 **** --- 98,102 ---- MapsPrivate( const QString& index, const QString& map, const QString& statics ) throw( wpFileNotFoundException ); map_st seekMap( ushort x, ushort y ); + void flushCache(); }; *************** *** 291,294 **** --- 292,307 ---- } + void MapsPrivate::flushCache() { + this->staticsCache.clear(); + this->mapCache.clear(); + } + + void cMaps::flushCache() { + for ( iterator it = d.begin(); it != d.end(); ++it ) + { + it.data()->flushCache(); + } + } + /*! Unregister known maps and clear the map caches. *************** *** 762,763 **** --- 775,777 ---- --pos; } + Index: maps.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/muls/maps.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** maps.h 3 Nov 2004 02:09:31 -0000 1.7 --- maps.h 4 Nov 2004 18:54:38 -0000 1.8 *************** *** 135,138 **** --- 135,139 ---- StaticsIterator staticsIterator( uint id, ushort x, ushort y, bool exact = true ) const throw( wpException ); StaticsIterator staticsIterator( const Coord&, bool exact = true ) const throw( wpException ); + void flushCache(); }; |
From: Sebastian H. <dar...@us...> - 2004-11-04 13:40:09
|
Update of /cvsroot/wpdev/xmlscripts/definitions/items/misc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30319/items/misc Modified Files: misc.xml Log Message: Fixes Index: misc.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/items/misc/misc.xml,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** misc.xml 26 Oct 2004 18:10:16 -0000 1.19 --- misc.xml 4 Nov 2004 13:39:59 -0000 1.20 *************** *** 912,915 **** --- 912,916 ---- <id>0x1646</id> <category>Misc\Light & Dark Source\Dark Source</category> + <lightsource>0x1d</lightsource> </item> *************** *** 918,921 **** --- 919,923 ---- <id>0x1647</id> <category>Misc\Light & Dark Source\Light Source</category> + <lightsource>0x1d</lightsource> </item> |
From: Sebastian H. <dar...@us...> - 2004-11-04 13:40:08
|
Update of /cvsroot/wpdev/xmlscripts/definitions/items/buildings In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30319/items/buildings Modified Files: lightsources.xml Log Message: Fixes Index: lightsources.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/items/buildings/lightsources.xml,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** lightsources.xml 3 Oct 2004 22:32:25 -0000 1.20 --- lightsources.xml 4 Nov 2004 13:39:58 -0000 1.21 *************** *** 386,390 **** <nodecay /> <category>Decoration\Lightsources\Brazier 1</category> ! <lightsource>0x2</lightsource> </item> --- 386,390 ---- <nodecay /> <category>Decoration\Lightsources\Brazier 1</category> ! <lightsource>1</lightsource> </item> |
From: Sebastian H. <dar...@us...> - 2004-11-04 12:47:53
|
Update of /cvsroot/wpdev/xmlscripts/definitions/menus/crafting In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18954/menus/crafting Modified Files: tinkering.xml Log Message: using a better potionkeg definition Index: tinkering.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/menus/crafting/tinkering.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** tinkering.xml 26 May 2004 13:45:36 -0000 1.9 --- tinkering.xml 4 Nov 2004 12:47:43 -0000 1.10 *************** *** 270,274 **** <material id="1059;105a" amount="1" name="Sextant Parts" /> <!-- Sextant Parts --> </tinker> ! <tinker definition="potionkeg" name="Potion Keg"> <tinkering min="750" max="1000" /> <material id="e7f" amount="1" name="Keg" /> <!-- Keg --> --- 270,274 ---- <material id="1059;105a" amount="1" name="Sextant Parts" /> <!-- Sextant Parts --> </tinker> ! <tinker definition="potion_keg_empty" name="Potion Keg"> <tinkering min="750" max="1000" /> <material id="e7f" amount="1" name="Keg" /> <!-- Keg --> |
From: Sebastian H. <dar...@us...> - 2004-11-04 12:03:27
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9700 Modified Files: mapobjects.cpp Log Message: Index: mapobjects.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/mapobjects.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** mapobjects.cpp 3 Nov 2004 16:48:23 -0000 1.21 --- mapobjects.cpp 4 Nov 2004 12:03:12 -0000 1.22 *************** *** 837,842 **** RectangleIteratorState &state = is->state.rect; ! state.cellX = ( state.x1 / map->cellSize() ); ! state.cellY = ( state.y1 / map->cellSize() ); state.lastCellX = wpMin<UI16>( map->gridWidth() - 1, state.x2 / map->cellSize() ); state.lastCellY = wpMin<UI16>( map->gridHeight() - 1, state.y2 / map->cellSize() ); --- 837,842 ---- RectangleIteratorState &state = is->state.rect; ! state.cellX = wpMax<int>(0, ( state.x1 / map->cellSize() )); ! state.cellY = wpMax<int>(0, ( state.y1 / map->cellSize() )); state.lastCellX = wpMin<UI16>( map->gridWidth() - 1, state.x2 / map->cellSize() ); state.lastCellY = wpMin<UI16>( map->gridHeight() - 1, state.y2 / map->cellSize() ); *************** *** 854,859 **** CircleIteratorState &state = is->state.circle; ! state.cellX = ( ( state.x - state.radius ) / map->cellSize() ); ! state.cellY = ( ( state.y - state.radius ) / map->cellSize() ); state.lastCellX = wpMin<UI16>( map->gridWidth() - 1, ( state.x + state.radius ) / map->cellSize() ); state.lastCellY = wpMin<UI16>( map->gridHeight() - 1, ( state.y + state.radius ) / map->cellSize() ); --- 854,859 ---- CircleIteratorState &state = is->state.circle; ! state.cellX = wpMax<int>(0, ( ( state.x - state.radius ) / map->cellSize() )); ! state.cellY = wpMax<int>(0, ( ( state.y - state.radius ) / map->cellSize() )); state.lastCellX = wpMin<UI16>( map->gridWidth() - 1, ( state.x + state.radius ) / map->cellSize() ); state.lastCellY = wpMin<UI16>( map->gridHeight() - 1, ( state.y + state.radius ) / map->cellSize() ); |
From: Sebastian H. <dar...@us...> - 2004-11-04 00:52:04
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26859 Modified Files: defines.h walking.cpp Log Message: fixes (hopefully) Index: defines.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/defines.h,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** defines.h 3 Nov 2004 18:23:58 -0000 1.59 --- defines.h 4 Nov 2004 00:51:44 -0000 1.60 *************** *** 46,50 **** #define VISRANGE 18 // Visibility for normal items ! #define BUILDRANGE 41 // Visibility for castles and keeps // Verdata Settings --- 46,50 ---- #define VISRANGE 18 // Visibility for normal items ! #define BUILDRANGE 21 // Visibility for castles and keeps // Verdata Settings Index: walking.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/walking.cpp,v retrieving revision 1.162 retrieving revision 1.163 diff -C2 -d -r1.162 -r1.163 *** walking.cpp 3 Nov 2004 19:04:32 -0000 1.162 --- walking.cpp 4 Nov 2004 00:51:44 -0000 1.163 *************** *** 639,644 **** continue; ! bool wasVisible = observer->pos().distance(oldpos) <= VISRANGE; // We were previously in range ! bool isVisible = pChar->dist(observer) <= VISRANGE; // We are now in range // If we are a player, send us new characters --- 639,644 ---- continue; ! bool wasVisible = observer->pos().distance(oldpos) < VISRANGE; // We were previously in range ! bool isVisible = pChar->dist(observer) < VISRANGE; // We are now in range // If we are a player, send us new characters |
From: Sebastian H. <dar...@us...> - 2004-11-03 19:04:46
|
Update of /cvsroot/wpdev/wolfpack/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14393/python Modified Files: pycontent.h Log Message: Fixes Index: pycontent.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/python/pycontent.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** pycontent.h 2 Nov 2004 20:45:47 -0000 1.1 --- pycontent.h 3 Nov 2004 19:04:33 -0000 1.2 *************** *** 90,93 **** --- 90,94 ---- ContainerIterator it(container); + it.seek(id); if (!it.atEnd()) |
From: Sebastian H. <dar...@us...> - 2004-11-03 19:04:46
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14393 Modified Files: basechar.cpp walking.cpp Log Message: Fixes Index: walking.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/walking.cpp,v retrieving revision 1.161 retrieving revision 1.162 diff -C2 -d -r1.161 -r1.162 *** walking.cpp 3 Nov 2004 17:23:10 -0000 1.161 --- walking.cpp 3 Nov 2004 19:04:32 -0000 1.162 *************** *** 640,644 **** bool wasVisible = observer->pos().distance(oldpos) <= VISRANGE; // We were previously in range ! bool isVisible = player->dist(observer) <= VISRANGE; // We are now in range // If we are a player, send us new characters --- 640,644 ---- bool wasVisible = observer->pos().distance(oldpos) <= VISRANGE; // We were previously in range ! bool isVisible = pChar->dist(observer) <= VISRANGE; // We are now in range // If we are a player, send us new characters Index: basechar.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/basechar.cpp,v retrieving revision 1.174 retrieving revision 1.175 diff -C2 -d -r1.174 -r1.175 *** basechar.cpp 3 Nov 2004 13:51:08 -0000 1.174 --- basechar.cpp 3 Nov 2004 19:04:30 -0000 1.175 *************** *** 826,830 **** // Move all items from the corpse to the backpack and then look for // previous equipment ! for (ContainerIterator it(corpse); !it.atEnd(); ++it) { backpack->addItem( *it, false ); --- 826,830 ---- // Move all items from the corpse to the backpack and then look for // previous equipment ! for (ContainerCopyIterator it(corpse); !it.atEnd(); ++it) { backpack->addItem( *it, false ); *************** *** 2871,2875 **** // Create Loot - Either on the corpse or on the ground ! for (ContainerIterator it(backpack); !it.atEnd(); ++it) { P_ITEM item = *it; --- 2871,2875 ---- // Create Loot - Either on the corpse or on the ground ! for (ContainerCopyIterator it(backpack); !it.atEnd(); ++it) { P_ITEM item = *it; |