Fix SSC
This commit is contained in:
parent
03de0652e9
commit
a450bff22f
3 changed files with 131 additions and 128 deletions
|
|
@ -33,7 +33,8 @@ namespace TShockAPI.Net
|
||||||
DownedBoss3 = 8,
|
DownedBoss3 = 8,
|
||||||
HardMode = 16,
|
HardMode = 16,
|
||||||
DownedClown = 32,
|
DownedClown = 32,
|
||||||
ServerSideCharacter = 64
|
ServerSideCharacter = 64,
|
||||||
|
DownedPlantBoss = 128
|
||||||
}
|
}
|
||||||
|
|
||||||
[Flags]
|
[Flags]
|
||||||
|
|
@ -46,7 +47,8 @@ namespace TShockAPI.Net
|
||||||
DownedMechBossAny = 8,
|
DownedMechBossAny = 8,
|
||||||
CloudBg = 16,
|
CloudBg = 16,
|
||||||
Crimson = 32,
|
Crimson = 32,
|
||||||
Pumpkin = 64
|
PumpkinMoon = 64,
|
||||||
|
SnowMoon = 128
|
||||||
}
|
}
|
||||||
|
|
||||||
public class WorldInfoMsg : BaseMsg
|
public class WorldInfoMsg : BaseMsg
|
||||||
|
|
|
||||||
|
|
@ -520,65 +520,67 @@ namespace TShockAPI
|
||||||
using (var ms = new MemoryStream())
|
using (var ms = new MemoryStream())
|
||||||
{
|
{
|
||||||
var msg = new WorldInfoMsg
|
var msg = new WorldInfoMsg
|
||||||
{
|
{
|
||||||
Time = (int) Main.time,
|
Time = (int)Main.time,
|
||||||
DayTime = Main.dayTime,
|
DayTime = Main.dayTime,
|
||||||
MoonPhase = (byte) Main.moonPhase,
|
MoonPhase = (byte)Main.moonPhase,
|
||||||
BloodMoon = Main.bloodMoon,
|
BloodMoon = Main.bloodMoon,
|
||||||
MaxTilesX = Main.maxTilesX,
|
MaxTilesX = Main.maxTilesX,
|
||||||
MaxTilesY = Main.maxTilesY,
|
MaxTilesY = Main.maxTilesY,
|
||||||
SpawnX = tilex,
|
SpawnX = Main.spawnTileX,
|
||||||
SpawnY = tiley,
|
SpawnY = Main.spawnTileY,
|
||||||
WorldSurface = (int) Main.worldSurface,
|
WorldSurface = (int)Main.worldSurface,
|
||||||
RockLayer = (int) Main.rockLayer,
|
RockLayer = (int)Main.rockLayer,
|
||||||
//Sending a fake world id causes the client to not be able to find a stored spawnx/y.
|
//Sending a fake world id causes the client to not be able to find a stored spawnx/y.
|
||||||
//This fixes the bed spawn point bug. With a fake world id it wont be able to find the bed spawn.
|
//This fixes the bed spawn point bug. With a fake world id it wont be able to find the bed spawn.
|
||||||
WorldID = !fakeid ? Main.worldID : -1,
|
WorldID = Main.worldID,
|
||||||
MoonType = (byte)Main.moonType,
|
MoonType = (byte)Main.moonType,
|
||||||
TreeX0 = Main.treeX[0],
|
TreeX0 = Main.treeX[0],
|
||||||
TreeX1 = Main.treeX[1],
|
TreeX1 = Main.treeX[1],
|
||||||
TreeX2 = Main.treeX[2],
|
TreeX2 = Main.treeX[2],
|
||||||
TreeStyle0 = (byte)Main.treeStyle[0],
|
TreeStyle0 = (byte)Main.treeStyle[0],
|
||||||
TreeStyle1 = (byte)Main.treeStyle[1],
|
TreeStyle1 = (byte)Main.treeStyle[1],
|
||||||
TreeStyle2 = (byte)Main.treeStyle[2],
|
TreeStyle2 = (byte)Main.treeStyle[2],
|
||||||
TreeStyle3 = (byte)Main.treeStyle[3],
|
TreeStyle3 = (byte)Main.treeStyle[3],
|
||||||
CaveBackX0 = Main.caveBackX[0],
|
CaveBackX0 = Main.caveBackX[0],
|
||||||
CaveBackX1 = Main.caveBackX[1],
|
CaveBackX1 = Main.caveBackX[1],
|
||||||
CaveBackX2 = Main.caveBackX[2],
|
CaveBackX2 = Main.caveBackX[2],
|
||||||
CaveBackStyle0 = (byte)Main.caveBackStyle[0],
|
CaveBackStyle0 = (byte)Main.caveBackStyle[0],
|
||||||
CaveBackStyle1 = (byte)Main.caveBackStyle[1],
|
CaveBackStyle1 = (byte)Main.caveBackStyle[1],
|
||||||
CaveBackStyle2 = (byte)Main.caveBackStyle[2],
|
CaveBackStyle2 = (byte)Main.caveBackStyle[2],
|
||||||
CaveBackStyle3 = (byte)Main.caveBackStyle[3],
|
CaveBackStyle3 = (byte)Main.caveBackStyle[3],
|
||||||
SetBG0 = (byte)WorldGen.treeBG,
|
SetBG0 = (byte)WorldGen.treeBG,
|
||||||
SetBG1 = (byte)WorldGen.corruptBG,
|
SetBG1 = (byte)WorldGen.corruptBG,
|
||||||
SetBG2 = (byte)WorldGen.jungleBG,
|
SetBG2 = (byte)WorldGen.jungleBG,
|
||||||
SetBG3 = (byte)WorldGen.snowBG,
|
SetBG3 = (byte)WorldGen.snowBG,
|
||||||
SetBG4 = (byte)WorldGen.hallowBG,
|
SetBG4 = (byte)WorldGen.hallowBG,
|
||||||
SetBG5 = (byte)WorldGen.crimsonBG,
|
SetBG5 = (byte)WorldGen.crimsonBG,
|
||||||
SetBG6 = (byte)WorldGen.desertBG,
|
SetBG6 = (byte)WorldGen.desertBG,
|
||||||
SetBG7 = (byte)WorldGen.oceanBG,
|
SetBG7 = (byte)WorldGen.oceanBG,
|
||||||
IceBackStyle = (byte)Main.iceBackStyle,
|
IceBackStyle = (byte)Main.iceBackStyle,
|
||||||
JungleBackStyle = (byte)Main.jungleBackStyle,
|
JungleBackStyle = (byte)Main.jungleBackStyle,
|
||||||
HellBackStyle = (byte)Main.hellBackStyle,
|
HellBackStyle = (byte)Main.hellBackStyle,
|
||||||
WindSpeed = Main.windSpeed,
|
WindSpeed = Main.windSpeed,
|
||||||
NumberOfClouds = (byte)Main.numClouds,
|
NumberOfClouds = (byte)Main.numClouds,
|
||||||
BossFlags = (WorldGen.shadowOrbSmashed ? BossFlags.OrbSmashed : BossFlags.None) |
|
BossFlags = (WorldGen.shadowOrbSmashed ? BossFlags.OrbSmashed : BossFlags.None) |
|
||||||
(NPC.downedBoss1 ? BossFlags.DownedBoss1 : BossFlags.None) |
|
(NPC.downedBoss1 ? BossFlags.DownedBoss1 : BossFlags.None) |
|
||||||
(NPC.downedBoss2 ? BossFlags.DownedBoss2 : BossFlags.None) |
|
(NPC.downedBoss2 ? BossFlags.DownedBoss2 : BossFlags.None) |
|
||||||
(NPC.downedBoss3 ? BossFlags.DownedBoss3 : BossFlags.None) |
|
(NPC.downedBoss3 ? BossFlags.DownedBoss3 : BossFlags.None) |
|
||||||
(Main.hardMode ? BossFlags.HardMode : BossFlags.None) |
|
(Main.hardMode ? BossFlags.HardMode : BossFlags.None) |
|
||||||
(NPC.downedClown ? BossFlags.DownedClown : BossFlags.None) |
|
(NPC.downedClown ? BossFlags.DownedClown : BossFlags.None) |
|
||||||
(Main.ServerSideCharacter ? BossFlags.ServerSideCharacter : BossFlags.None),
|
(Main.ServerSideCharacter ? BossFlags.ServerSideCharacter : BossFlags.None) |
|
||||||
BossFlags2 = (NPC.downedMechBoss1 ? BossFlags2.DownedMechBoss1 : BossFlags2.None) |
|
(NPC.downedPlantBoss ? BossFlags.DownedPlantBoss : BossFlags.None),
|
||||||
(NPC.downedMechBoss2 ? BossFlags2.DownedMechBoss2 : BossFlags2.None) |
|
BossFlags2 = (NPC.downedMechBoss1 ? BossFlags2.DownedMechBoss1 : BossFlags2.None) |
|
||||||
(NPC.downedMechBoss3 ? BossFlags2.DownedMechBoss3 : BossFlags2.None) |
|
(NPC.downedMechBoss2 ? BossFlags2.DownedMechBoss2 : BossFlags2.None) |
|
||||||
(NPC.downedMechBossAny ? BossFlags2.DownedMechBossAny : BossFlags2.None) |
|
(NPC.downedMechBoss3 ? BossFlags2.DownedMechBoss3 : BossFlags2.None) |
|
||||||
(Main.cloudBGActive == 1f ? BossFlags2.CloudBg : BossFlags2.None) |
|
(NPC.downedMechBossAny ? BossFlags2.DownedMechBossAny : BossFlags2.None) |
|
||||||
(WorldGen.crimson ? BossFlags2.Crimson : BossFlags2.None) |
|
(Main.cloudBGActive == 1f ? BossFlags2.CloudBg : BossFlags2.None) |
|
||||||
(Main.pumpkinMoon ? BossFlags2.Pumpkin : BossFlags2.None),
|
(WorldGen.crimson ? BossFlags2.Crimson : BossFlags2.None) |
|
||||||
Rain = Main.maxRaining,
|
(Main.pumpkinMoon ? BossFlags2.PumpkinMoon : BossFlags2.None) |
|
||||||
WorldName = TShock.Config.UseServerName ? TShock.Config.ServerName : Main.worldName
|
(Main.snowMoon ? BossFlags2.SnowMoon : BossFlags2.None),
|
||||||
};
|
Rain = Main.maxRaining,
|
||||||
|
WorldName = TShock.Config.UseServerName ? TShock.Config.ServerName : Main.worldName
|
||||||
|
};
|
||||||
msg.PackFull(ms);
|
msg.PackFull(ms);
|
||||||
SendRawData(ms.ToArray());
|
SendRawData(ms.ToArray());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1359,76 +1359,75 @@ namespace TShockAPI
|
||||||
if (e.remoteClient == -1) return;
|
if (e.remoteClient == -1) return;
|
||||||
var player = Players[e.remoteClient];
|
var player = Players[e.remoteClient];
|
||||||
if (player == null) return;
|
if (player == null) return;
|
||||||
if (Config.UseServerName)
|
using (var ms = new MemoryStream())
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream())
|
var msg = new WorldInfoMsg
|
||||||
{
|
{
|
||||||
var msg = new WorldInfoMsg
|
Time = (int)Main.time,
|
||||||
{
|
DayTime = Main.dayTime,
|
||||||
Time = (int)Main.time,
|
MoonPhase = (byte)Main.moonPhase,
|
||||||
DayTime = Main.dayTime,
|
BloodMoon = Main.bloodMoon,
|
||||||
MoonPhase = (byte)Main.moonPhase,
|
MaxTilesX = Main.maxTilesX,
|
||||||
BloodMoon = Main.bloodMoon,
|
MaxTilesY = Main.maxTilesY,
|
||||||
MaxTilesX = Main.maxTilesX,
|
SpawnX = Main.spawnTileX,
|
||||||
MaxTilesY = Main.maxTilesY,
|
SpawnY = Main.spawnTileY,
|
||||||
SpawnX = Main.spawnTileX,
|
WorldSurface = (int)Main.worldSurface,
|
||||||
SpawnY = Main.spawnTileY,
|
RockLayer = (int)Main.rockLayer,
|
||||||
WorldSurface = (int)Main.worldSurface,
|
//Sending a fake world id causes the client to not be able to find a stored spawnx/y.
|
||||||
RockLayer = (int)Main.rockLayer,
|
//This fixes the bed spawn point bug. With a fake world id it wont be able to find the bed spawn.
|
||||||
//Sending a fake world id causes the client to not be able to find a stored spawnx/y.
|
WorldID = Main.worldID,
|
||||||
//This fixes the bed spawn point bug. With a fake world id it wont be able to find the bed spawn.
|
MoonType = (byte)Main.moonType,
|
||||||
WorldID = Main.worldID,
|
TreeX0 = Main.treeX[0],
|
||||||
MoonType = (byte)Main.moonType,
|
TreeX1 = Main.treeX[1],
|
||||||
TreeX0 = Main.treeX[0],
|
TreeX2 = Main.treeX[2],
|
||||||
TreeX1 = Main.treeX[1],
|
TreeStyle0 = (byte)Main.treeStyle[0],
|
||||||
TreeX2 = Main.treeX[2],
|
TreeStyle1 = (byte)Main.treeStyle[1],
|
||||||
TreeStyle0 = (byte)Main.treeStyle[0],
|
TreeStyle2 = (byte)Main.treeStyle[2],
|
||||||
TreeStyle1 = (byte)Main.treeStyle[1],
|
TreeStyle3 = (byte)Main.treeStyle[3],
|
||||||
TreeStyle2 = (byte)Main.treeStyle[2],
|
CaveBackX0 = Main.caveBackX[0],
|
||||||
TreeStyle3 = (byte)Main.treeStyle[3],
|
CaveBackX1 = Main.caveBackX[1],
|
||||||
CaveBackX0 = Main.caveBackX[0],
|
CaveBackX2 = Main.caveBackX[2],
|
||||||
CaveBackX1 = Main.caveBackX[1],
|
CaveBackStyle0 = (byte)Main.caveBackStyle[0],
|
||||||
CaveBackX2 = Main.caveBackX[2],
|
CaveBackStyle1 = (byte)Main.caveBackStyle[1],
|
||||||
CaveBackStyle0 = (byte)Main.caveBackStyle[0],
|
CaveBackStyle2 = (byte)Main.caveBackStyle[2],
|
||||||
CaveBackStyle1 = (byte)Main.caveBackStyle[1],
|
CaveBackStyle3 = (byte)Main.caveBackStyle[3],
|
||||||
CaveBackStyle2 = (byte)Main.caveBackStyle[2],
|
SetBG0 = (byte)WorldGen.treeBG,
|
||||||
CaveBackStyle3 = (byte)Main.caveBackStyle[3],
|
SetBG1 = (byte)WorldGen.corruptBG,
|
||||||
SetBG0 = (byte)WorldGen.treeBG,
|
SetBG2 = (byte)WorldGen.jungleBG,
|
||||||
SetBG1 = (byte)WorldGen.corruptBG,
|
SetBG3 = (byte)WorldGen.snowBG,
|
||||||
SetBG2 = (byte)WorldGen.jungleBG,
|
SetBG4 = (byte)WorldGen.hallowBG,
|
||||||
SetBG3 = (byte)WorldGen.snowBG,
|
SetBG5 = (byte)WorldGen.crimsonBG,
|
||||||
SetBG4 = (byte)WorldGen.hallowBG,
|
SetBG6 = (byte)WorldGen.desertBG,
|
||||||
SetBG5 = (byte)WorldGen.crimsonBG,
|
SetBG7 = (byte)WorldGen.oceanBG,
|
||||||
SetBG6 = (byte)WorldGen.desertBG,
|
IceBackStyle = (byte)Main.iceBackStyle,
|
||||||
SetBG7 = (byte)WorldGen.oceanBG,
|
JungleBackStyle = (byte)Main.jungleBackStyle,
|
||||||
IceBackStyle = (byte)Main.iceBackStyle,
|
HellBackStyle = (byte)Main.hellBackStyle,
|
||||||
JungleBackStyle = (byte)Main.jungleBackStyle,
|
WindSpeed = Main.windSpeed,
|
||||||
HellBackStyle = (byte)Main.hellBackStyle,
|
NumberOfClouds = (byte)Main.numClouds,
|
||||||
WindSpeed = Main.windSpeed,
|
BossFlags = (WorldGen.shadowOrbSmashed ? BossFlags.OrbSmashed : BossFlags.None) |
|
||||||
NumberOfClouds = (byte)Main.numClouds,
|
(NPC.downedBoss1 ? BossFlags.DownedBoss1 : BossFlags.None) |
|
||||||
BossFlags = (WorldGen.shadowOrbSmashed ? BossFlags.OrbSmashed : BossFlags.None) |
|
(NPC.downedBoss2 ? BossFlags.DownedBoss2 : BossFlags.None) |
|
||||||
(NPC.downedBoss1 ? BossFlags.DownedBoss1 : BossFlags.None) |
|
(NPC.downedBoss3 ? BossFlags.DownedBoss3 : BossFlags.None) |
|
||||||
(NPC.downedBoss2 ? BossFlags.DownedBoss2 : BossFlags.None) |
|
(Main.hardMode ? BossFlags.HardMode : BossFlags.None) |
|
||||||
(NPC.downedBoss3 ? BossFlags.DownedBoss3 : BossFlags.None) |
|
(NPC.downedClown ? BossFlags.DownedClown : BossFlags.None) |
|
||||||
(Main.hardMode ? BossFlags.HardMode : BossFlags.None) |
|
(Main.ServerSideCharacter ? BossFlags.ServerSideCharacter : BossFlags.None) |
|
||||||
(NPC.downedClown ? BossFlags.DownedClown : BossFlags.None) |
|
(NPC.downedPlantBoss ? BossFlags.DownedPlantBoss : BossFlags.None),
|
||||||
(Main.ServerSideCharacter ? BossFlags.ServerSideCharacter : BossFlags.None),
|
BossFlags2 = (NPC.downedMechBoss1 ? BossFlags2.DownedMechBoss1 : BossFlags2.None) |
|
||||||
BossFlags2 = (NPC.downedMechBoss1 ? BossFlags2.DownedMechBoss1 : BossFlags2.None) |
|
(NPC.downedMechBoss2 ? BossFlags2.DownedMechBoss2 : BossFlags2.None) |
|
||||||
(NPC.downedMechBoss2 ? BossFlags2.DownedMechBoss2 : BossFlags2.None) |
|
(NPC.downedMechBoss3 ? BossFlags2.DownedMechBoss3 : BossFlags2.None) |
|
||||||
(NPC.downedMechBoss3 ? BossFlags2.DownedMechBoss3 : BossFlags2.None) |
|
(NPC.downedMechBossAny ? BossFlags2.DownedMechBossAny : BossFlags2.None) |
|
||||||
(NPC.downedMechBossAny ? BossFlags2.DownedMechBossAny : BossFlags2.None) |
|
(Main.cloudBGActive == 1f ? BossFlags2.CloudBg : BossFlags2.None) |
|
||||||
(Main.cloudBGActive == 1f ? BossFlags2.CloudBg : BossFlags2.None) |
|
(WorldGen.crimson ? BossFlags2.Crimson : BossFlags2.None) |
|
||||||
(WorldGen.crimson ? BossFlags2.Crimson : BossFlags2.None) |
|
(Main.pumpkinMoon ? BossFlags2.PumpkinMoon : BossFlags2.None) |
|
||||||
(Main.pumpkinMoon ? BossFlags2.Pumpkin : BossFlags2.None),
|
(Main.snowMoon ? BossFlags2.SnowMoon : BossFlags2.None) ,
|
||||||
Rain = Main.maxRaining,
|
Rain = Main.maxRaining,
|
||||||
WorldName = TShock.Config.UseServerName ? TShock.Config.ServerName : Main.worldName
|
WorldName = TShock.Config.UseServerName ? TShock.Config.ServerName : Main.worldName
|
||||||
};
|
};
|
||||||
msg.PackFull(ms);
|
msg.PackFull(ms);
|
||||||
player.SendRawData(ms.ToArray());
|
player.SendRawData(ms.ToArray());
|
||||||
}
|
|
||||||
e.Handled = true;
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
e.Handled = true;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else if (e.MsgId == PacketTypes.PlayerHp)
|
else if (e.MsgId == PacketTypes.PlayerHp)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue