Permalink
Browse files

3/22/2009 - Xuri (0.98-4.0c)

	Fixed travelling by recall spell or magic gate between worlds
	Fixed Jailing and Releasing players in worlds other than world 0
	Fixed issue with the 'ADD command that would put items in your backpack instead of target's backpack
	Removed a TriggerEvent from go.js that should not have been there
	Corrected scripttrigger for newly created bankchecks in banker.js
	Fixed teleport entries from Serpent's Hold to Fire dungeon (Ghostwolf)
	Added new midilist section (23) for dungeon music (Ghostwolf)
	Added MIDILIST=23 entry in region 29 (dungeons)
  • Loading branch information...
1 parent 98b193c commit a81a2819bcbf27ddd95ae81071d59dc4ffceddc8 xuridabur committed Mar 22, 2009
View
@@ -666,6 +666,7 @@ MAGICDAMAGE=1
MARK=1
GATE=1
RECALL=1
+MIDILIST=23
DUNGEON=1
X1=5380
Y1=0
@@ -819,6 +820,12 @@ MIDI=05
MIDI=34
}
+[MIDILIST 23]
+{
+MIDI=25
+MIDI=26
+}
+
[MIDILIST COMBAT]
{
MIDI=37
View
@@ -53,6 +53,7 @@ function command_GO( socket, cmdString )
var worldnum = mChar.worldnumber;
if( splitString[3] )
worldnum = parseInt( splitString[3] );
+
if( splitString[2] )
{
x = parseInt( splitString[0] );
@@ -61,7 +62,6 @@ function command_GO( socket, cmdString )
}
else
return;
-
mChar.SetLocation( x, y, z, worldnum );
break;
}
@@ -92,7 +92,7 @@ function onCallback1( socket, ourObj )
{ //If target is a character, add item to backpack
var backpack = ourObj.FindItemLayer(21);
if( backpack != null )
- var newItem = CreateBlankItem( socket, mChar, 1, "#", itemID, 0, "ITEM", true );
+ var newItem = CreateBlankItem( socket, ourObj, 1, "#", itemID, 0, "ITEM", true );
else
mChar.SysMessage( "That character has no backpack, no item added" );
}
@@ -127,7 +127,7 @@ function onCallback2( socket, ourObj )
{ //If target is a character, add item to backpack
var backpack = ourObj.FindItemLayer(21);
if( backpack != null )
- var newItem = CreateDFNItem( socket, mChar, iSection, 1, "ITEM", true );
+ var newItem = CreateDFNItem( socket, ourObj, iSection, 1, "ITEM", true );
else
mChar.SysMessage( "That character has no backpack, no item added" );
}
View
@@ -5,7 +5,7 @@
//The maximum amount of items depositable in a bank box
// - unfortunately only used when depositing items using the DEPOSIT command
var maxBankItemAmt = 125;
-var bankCheckTrigger = 5014;
+var bankCheckTrigger = 5015;
function onSpeech( strSaid, pTalking, pTalkingTo )
{
View
@@ -74,10 +74,8 @@ ENTRY=2676, 2241, -15, 2673, 2242, 3 // [buc_den_tavern_ext1]
ENTRY=2676, 2242, -15, 2673, 2242, 3 // [buc_den_tavern_ext2]
ENTRY=2701, 692, All, 4468, 1284, 5 // [vesper_mg_x]
ENTRY=2776, 894, -22, 5685, 386, 1 // [vesper_gy_to_cave]
-ENTRY=2776, 895, -22, 5685, 387, 2 // [vesper_gy_to_cave]
-ENTRY=2922, 3405, 7, 5827, 1501, 0 // [serp_hold_to_des_dung]
-ENTRY=2923, 3405, 6, 5828, 1501, 0 // [serp_hold_to_des_dung]
-ENTRY=2924, 3405, 7, 5829, 1501, 1 // [serp_hold_to_des_dung]
+ENTRY=2776, 895, -22, 5685, 387, 2 // [vesper_gy_to_cave]
+ENTRY=2923, 3405, All, 5687, 1423, 41 // [serp_hold_to_fire_dung]
ENTRY=3563, 2139, All, 644, 2068, 5 // [magicina_mg_x]
ENTRY=4110, 430, All, 5188, 638, 1 // [deceit_out_x]
ENTRY=4111, 430, All, 5188, 638, 1 // [deceit_out_x]
View
@@ -1,3 +1,13 @@
+3/22/2009 - Xuri (0.98-4.0c)
+ Fixed travelling by recall spell or magic gate between worlds
+ Fixed Jailing and Releasing players in worlds other than world 0
+ Fixed issue with the 'ADD command that would put items in your backpack instead of target's backpack
+ Removed a TriggerEvent from go.js that should not have been there
+ Corrected scripttrigger for newly created bankchecks in banker.js
+ Fixed teleport entries from Serpent's Hold to Fire dungeon (Ghostwolf)
+ Added new midilist section (23) for dungeon music (Ghostwolf)
+ Added MIDILIST=23 entry in region 29 (dungeons)
+
2/01/2009 - Xuri
Updated trainingdummy.js and pickpocketdip.js with code that will auto-fix them should their timers ever break
Pets are removed from petlist when their stabled flag is set to true, and added again when set to false
View
@@ -21,7 +21,7 @@ namespace UOX
// product info
//o---------------------------------------------------------------------------o
const std::string VER = "0.98-4";
-const std::string BUILD = "0b";
+const std::string BUILD = "0c";
const std::string REALBUILD = "0";
const std::string SVER = "2.0";
const std::string CVER = "2.0";
View
@@ -38,6 +38,10 @@ SI08 JailCell::Z( void ) const
{
return z;
}
+UI08 JailCell::World( void ) const
+{
+ return world;
+}
void JailCell::X( SI16 nVal )
{
x = nVal;
@@ -50,6 +54,10 @@ void JailCell::Z( SI08 nVal )
{
z = nVal;
}
+void JailCell::World( UI08 nVal )
+{
+ world = nVal;
+}
void JailCell::AddOccupant( CChar *pAdd, SI32 secsFromNow )
{
if( !ValidateObject( pAdd ) )
@@ -61,7 +69,9 @@ void JailCell::AddOccupant( CChar *pAdd, SI32 secsFromNow )
toAdd->x = pAdd->GetX();
toAdd->y = pAdd->GetY();
toAdd->z = pAdd->GetZ();
- pAdd->SetLocation( x, y, z );
+ toAdd->world = pAdd->WorldNumber();
+ pAdd->SetLocation( x, y, z, world );
+ SendMapChange( pAdd->WorldNumber(), pAdd->GetSocket(), false );
playersInJail.push_back( toAdd );
}
@@ -96,7 +106,7 @@ void JailCell::PeriodicCheck( void )
EraseOccupant( i );
else
{
- toRelease->SetLocation( playersInJail[i]->x, playersInJail[i]->y, playersInJail[i]->z );
+ toRelease->SetLocation( playersInJail[i]->x, playersInJail[i]->y, playersInJail[i]->z, playersInJail[i]->world );
toRelease->SetCell( -1 );
EraseOccupant( i );
}
@@ -118,6 +128,7 @@ void JailCell::WriteData( std::ofstream &outStream, size_t cellNumber )
outStream << "OLDX=" << std::dec << mOccupant->x << std::endl;
outStream << "OLDY=" << mOccupant->y << std::endl;
outStream << "OLDZ=" << (SI16)mOccupant->z << std::endl;
+ outStream << "WORLD=" << (UI08)mOccupant->world << std::endl;
outStream << "RELEASE=" << mOccupant->releaseTime << std::endl;
outStream << "}" << std::endl << std::endl;
}
@@ -210,6 +221,8 @@ void JailSystem::ReadData( void )
toPush.y = data.toShort();
else if( UTag == "OLDZ" )
toPush.z = data.toByte();
+ else if( UTag == "WORLD" )
+ toPush.world = data.toByte();
break;
case 'R':
if( UTag == "RELEASE" )
@@ -265,7 +278,8 @@ void JailSystem::ReleasePlayer( CChar *toRelease )
continue;
if( mOccupant->pSerial == toRelease->GetSerial() )
{
- toRelease->SetLocation( mOccupant->x, mOccupant->y, mOccupant->z );
+ toRelease->SetLocation( mOccupant->x, mOccupant->y, mOccupant->z, mOccupant->world );
+ SendMapChange( mOccupant->world, toRelease->GetSocket(), false );
toRelease->SetCell( -1 );
jails[cellNum].EraseOccupant( iCounter );
return;
View
@@ -11,8 +11,9 @@ struct JailOccupant
SI16 x;
SI16 y;
SI08 z;
+ UI08 world;
time_t releaseTime;
- JailOccupant() : pSerial( INVALIDSERIAL ), x( 0 ), y( 0 ), z( 0 ), releaseTime( 0 )
+ JailOccupant() : pSerial( INVALIDSERIAL ), x( 0 ), y( 0 ), z( 0 ), world( 0 ), releaseTime( 0 )
{
}
};
@@ -23,9 +24,10 @@ class JailCell
SI16 x;
SI16 y;
SI08 z;
+ UI08 world;
std::vector< JailOccupant * > playersInJail;
public:
- JailCell() : x( 0 ), y( 0 ), z( 0 )
+ JailCell() : x( 0 ), y( 0 ), z( 0 ), world( 0 )
{
}
~JailCell();
@@ -34,9 +36,11 @@ class JailCell
SI16 X( void ) const;
SI16 Y( void ) const;
SI08 Z( void ) const;
+ UI08 World( void ) const;
void X( SI16 nVal );
void Y( SI16 nVal );
void Z( SI08 nVal );
+ void World( UI08 nVal );
void AddOccupant( CChar *pAdd, SI32 secsFromNow ) ;
void EraseOccupant( size_t occupantID );
JailOccupant *Occupant( size_t occupantID );
View
@@ -521,7 +521,13 @@ bool splRecall( CSocket *sock, CChar *caster, CItem *i )
UI08 worldNum = static_cast<UI08>(i->GetTempVar( CITV_MORE ));
if( !Map->MapExists( worldNum ) )
worldNum = caster->WorldNumber();
- caster->SetLocation( static_cast<SI16>(i->GetTempVar( CITV_MOREX )), static_cast<SI16>(i->GetTempVar( CITV_MOREY )), static_cast<SI08>(i->GetTempVar( CITV_MOREZ )), worldNum );
+ if( worldNum != caster->WorldNumber() )
+ {
+ caster->SetLocation( static_cast<SI16>(i->GetTempVar( CITV_MOREX )), static_cast<SI16>(i->GetTempVar( CITV_MOREY )), static_cast<SI08>(i->GetTempVar( CITV_MOREZ )), worldNum );
+ SendMapChange( caster->WorldNumber(), sock, false );
+ }
+ else
+ caster->SetLocation( static_cast<SI16>(i->GetTempVar( CITV_MOREX )), static_cast<SI16>(i->GetTempVar( CITV_MOREY )), static_cast<SI08>(i->GetTempVar( CITV_MOREZ )), worldNum );
sock->sysmessage( 682 );
return true;
}
@@ -1461,7 +1467,13 @@ void cMagic::GateCollision( CSocket *mSock, CChar *mChar, CItem *itemCheck, Item
dirOffset = 1;
else
dirOffset = -1;
- mChar->SetLocation( otherGate->GetX() + dirOffset, otherGate->GetY(), otherGate->GetZ() );
+ if( otherGate->WorldNumber() != mChar->WorldNumber() )
+ {
+ mChar->SetLocation( otherGate->GetX() + dirOffset, otherGate->GetY(), otherGate->GetZ(), otherGate->WorldNumber() );
+ SendMapChange( mChar->WorldNumber(), mSock, false );
+ }
+ else
+ mChar->SetLocation( otherGate->GetX() + dirOffset, otherGate->GetY(), otherGate->GetZ(), otherGate->WorldNumber() );
if( !mChar->IsNpc() )
{
CDataList< CChar * > *myPets = mChar->GetPetList();

0 comments on commit a81a281

Please sign in to comment.