mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-05-20 08:26:59 -04:00
Finished Treasures of the Main and Legends Adrift. Fixed quests appearing in private areas (echos). Fixed other bugs. Implemented NPC Linkshells. Added more options to nudge command. Added nudgenpc command. Added testbnpckill command.
This commit is contained in:
@@ -144,9 +144,8 @@ namespace Meteor.Map
|
||||
privateAreaName,
|
||||
privateAreaType,
|
||||
className,
|
||||
dayMusic,
|
||||
nightMusic,
|
||||
battleMusic
|
||||
canExitArea,
|
||||
music
|
||||
FROM server_zones_privateareas
|
||||
WHERE privateAreaName IS NOT NULL";
|
||||
|
||||
@@ -161,7 +160,7 @@ namespace Meteor.Map
|
||||
if (zoneList.ContainsKey(parentZoneId))
|
||||
{
|
||||
Zone parent = zoneList[parentZoneId];
|
||||
PrivateArea privArea = new PrivateArea(parent, reader.GetString("className"), reader.GetString("privateAreaName"), reader.GetInt32("privateAreaType"), reader.GetUInt16("dayMusic"), reader.GetUInt16("nightMusic"), reader.GetUInt16("battleMusic"));
|
||||
PrivateArea privArea = new PrivateArea(parent, reader.GetString("className"), reader.GetString("privateAreaName"), reader.GetInt32("privateAreaType"), reader.GetBoolean("canExitArea"), reader.GetUInt16("music"));
|
||||
parent.AddPrivateArea(privArea);
|
||||
}
|
||||
else
|
||||
@@ -939,7 +938,7 @@ namespace Meteor.Map
|
||||
DoZoneChange(player, player.CurrentArea.ZoneId, null, 0, 15, x, y, z, rotation);
|
||||
}
|
||||
|
||||
public void WarpToPosition(Player player, float x, float y, float z, float rotation)
|
||||
public void WarpToPosition(Player player, float x, float y, float z, float rotation, bool debugInstant = false)
|
||||
{
|
||||
//Remove player from currentZone if transfer else it's login
|
||||
if (player.CurrentArea != null)
|
||||
@@ -956,13 +955,18 @@ namespace Meteor.Map
|
||||
|
||||
//Send packets
|
||||
player.playerSession.QueuePacket(_0xE2Packet.BuildPacket(player.Id, 0x10));
|
||||
player.playerSession.QueuePacket(player.CreateSpawnTeleportPacket(0));
|
||||
player.playerSession.QueuePacket(player.CreateSpawnTeleportPacket(debugInstant ? (ushort) 0x0 : (ushort) 0xF));
|
||||
|
||||
player.playerSession.LockUpdates(false);
|
||||
player.SendInstanceUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void WarpToCharaPosition(Player player, Character target)
|
||||
{
|
||||
WarpToPosition(player, target.positionX, target.positionY, target.positionZ, target.rotation);
|
||||
}
|
||||
|
||||
//Moves actor to new zone, and sends packets to spawn at the given coords.
|
||||
public void DoZoneChangeContent(Player player, PrivateAreaContent contentArea, float spawnX, float spawnY, float spawnZ, float spawnRotation, ushort spawnType = SetActorPositionPacket.SPAWNTYPE_WARP_DUTY)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user