Merge remote-tracking branch 'sgk/bombfix' into general-devel
This commit is contained in:
commit
10268bb196
2 changed files with 12 additions and 11 deletions
|
|
@ -686,12 +686,10 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (action == EditAction.KillTile && !Main.tileCut[tile.type] && !breakableTiles.Contains(tile.type))
|
if (action == EditAction.KillTile && !Main.tileCut[tile.type] && !breakableTiles.Contains(tile.type) && args.Player.RecentFuse == 0)
|
||||||
{
|
{
|
||||||
// TPlayer.mount.Type 8 => Drill Containment Unit.
|
|
||||||
|
|
||||||
// If the tile is an axe tile and they aren't selecting an axe, they're hacking.
|
// If the tile is an axe tile and they aren't selecting an axe, they're hacking.
|
||||||
if (Main.tileAxe[tile.type] && ((args.Player.TPlayer.mount.Type != 8 && selectedItem.axe == 0) && !ItemID.Sets.Explosives[selectedItem.netID] && args.Player.RecentFuse == 0))
|
if (Main.tileAxe[tile.type] && ((args.Player.TPlayer.mount.Type != MountID.Drill && selectedItem.axe == 0) && !ItemID.Sets.Explosives[selectedItem.netID]))
|
||||||
{
|
{
|
||||||
TShock.Log.ConsoleDebug(GetString("Bouncer / OnTileEdit rejected from (axe) {0} {1} {2}", args.Player.Name, action, editData));
|
TShock.Log.ConsoleDebug(GetString("Bouncer / OnTileEdit rejected from (axe) {0} {1} {2}", args.Player.Name, action, editData));
|
||||||
args.Player.SendTileSquareCentered(tileX, tileY, 4);
|
args.Player.SendTileSquareCentered(tileX, tileY, 4);
|
||||||
|
|
@ -699,7 +697,7 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// If the tile is a hammer tile and they aren't selecting a hammer, they're hacking.
|
// If the tile is a hammer tile and they aren't selecting a hammer, they're hacking.
|
||||||
else if (Main.tileHammer[tile.type] && ((args.Player.TPlayer.mount.Type != 8 && selectedItem.hammer == 0) && !ItemID.Sets.Explosives[selectedItem.netID] && args.Player.RecentFuse == 0))
|
else if (Main.tileHammer[tile.type] && ((args.Player.TPlayer.mount.Type != MountID.Drill && selectedItem.hammer == 0) && !ItemID.Sets.Explosives[selectedItem.netID]))
|
||||||
{
|
{
|
||||||
TShock.Log.ConsoleDebug(GetString("Bouncer / OnTileEdit rejected from (hammer) {0} {1} {2}", args.Player.Name, action, editData));
|
TShock.Log.ConsoleDebug(GetString("Bouncer / OnTileEdit rejected from (hammer) {0} {1} {2}", args.Player.Name, action, editData));
|
||||||
args.Player.SendTileSquareCentered(tileX, tileY, 4);
|
args.Player.SendTileSquareCentered(tileX, tileY, 4);
|
||||||
|
|
@ -711,11 +709,12 @@ namespace TShockAPI
|
||||||
// also add an exception for snake coils, they can be removed when the player places a new one or after x amount of time
|
// also add an exception for snake coils, they can be removed when the player places a new one or after x amount of time
|
||||||
// If the tile is part of the breakable when placing set, it might be getting broken by a placement.
|
// If the tile is part of the breakable when placing set, it might be getting broken by a placement.
|
||||||
else if (tile.type != TileID.ItemFrame && tile.type != TileID.MysticSnakeRope
|
else if (tile.type != TileID.ItemFrame && tile.type != TileID.MysticSnakeRope
|
||||||
&& !Main.tileAxe[tile.type] && !Main.tileHammer[tile.type] && tile.wall == 0 &&
|
&& !ItemID.Sets.Explosives[selectedItem.netID]
|
||||||
args.Player.TPlayer.mount.Type != MountID.Drill && selectedItem.pick == 0 &&
|
&& !TileID.Sets.BreakableWhenPlacing[tile.type]
|
||||||
selectedItem.type != ItemID.GravediggerShovel &&
|
&& !Main.tileAxe[tile.type] && !Main.tileHammer[tile.type] && tile.wall == 0
|
||||||
!ItemID.Sets.Explosives[selectedItem.netID] && args.Player.RecentFuse == 0
|
&& selectedItem.pick == 0 && selectedItem.type != ItemID.GravediggerShovel
|
||||||
&& !TileID.Sets.BreakableWhenPlacing[tile.type])
|
&& args.Player.TPlayer.mount.Type != MountID.Drill
|
||||||
|
&& args.Player.TPlayer.mount.Type != MountID.DiggingMoleMinecart)
|
||||||
{
|
{
|
||||||
TShock.Log.ConsoleDebug(GetString("Bouncer / OnTileEdit rejected from (pick) {0} {1} {2}", args.Player.Name, action,
|
TShock.Log.ConsoleDebug(GetString("Bouncer / OnTileEdit rejected from (pick) {0} {1} {2}", args.Player.Name, action,
|
||||||
editData));
|
editData));
|
||||||
|
|
@ -776,7 +775,7 @@ namespace TShockAPI
|
||||||
if ((action == EditAction.PlaceTile || action == EditAction.ReplaceTile) && editData != selectedItem.createTile)
|
if ((action == EditAction.PlaceTile || action == EditAction.ReplaceTile) && editData != selectedItem.createTile)
|
||||||
{
|
{
|
||||||
/// These would get caught up in the below check because Terraria does not set their createTile field.
|
/// These would get caught up in the below check because Terraria does not set their createTile field.
|
||||||
if (selectedItem.netID != ItemID.IceRod && selectedItem.netID != ItemID.DirtBomb && selectedItem.netID != ItemID.StickyBomb)
|
if (selectedItem.netID != ItemID.IceRod && selectedItem.netID != ItemID.DirtBomb && selectedItem.netID != ItemID.StickyBomb && (args.Player.TPlayer.mount.Type != MountID.DiggingMoleMinecart || editData != TileID.MinecartTrack))
|
||||||
{
|
{
|
||||||
TShock.Log.ConsoleDebug(GetString("Bouncer / OnTileEdit rejected from tile placement not matching selected item createTile {0} {1} {2} selectedItemID:{3} createTile:{4}", args.Player.Name, action, editData, selectedItem.netID, selectedItem.createTile));
|
TShock.Log.ConsoleDebug(GetString("Bouncer / OnTileEdit rejected from tile placement not matching selected item createTile {0} {1} {2} selectedItemID:{3} createTile:{4}", args.Player.Name, action, editData, selectedItem.netID, selectedItem.createTile));
|
||||||
args.Player.SendTileSquareCentered(tileX, tileY, 4);
|
args.Player.SendTileSquareCentered(tileX, tileY, 4);
|
||||||
|
|
@ -1345,6 +1344,7 @@ namespace TShockAPI
|
||||||
|| type == ProjectileID.Dynamite
|
|| type == ProjectileID.Dynamite
|
||||||
|| type == ProjectileID.StickyBomb
|
|| type == ProjectileID.StickyBomb
|
||||||
|| type == ProjectileID.StickyDynamite
|
|| type == ProjectileID.StickyDynamite
|
||||||
|
|| type == ProjectileID.BombFish
|
||||||
|| type == ProjectileID.ScarabBomb
|
|| type == ProjectileID.ScarabBomb
|
||||||
|| type == ProjectileID.DirtBomb))
|
|| type == ProjectileID.DirtBomb))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,7 @@ Use past tense when adding new entries; sign your name off when you add or chang
|
||||||
|
|
||||||
## TShock 5.1.3
|
## TShock 5.1.3
|
||||||
* Added support for Terraria 1.4.4.9 via OTAPI 3.1.20. (@SignatureBeef)
|
* Added support for Terraria 1.4.4.9 via OTAPI 3.1.20. (@SignatureBeef)
|
||||||
|
* Allowed Digging Molecart and bomb fish to break tiles and place tracks (@sgkoishi)
|
||||||
|
|
||||||
## TShock 5.1.2
|
## TShock 5.1.2
|
||||||
* Added support for Terraria 1.4.4.8.1 via OTAPI 3.1.19. (@SignatureBeef)
|
* Added support for Terraria 1.4.4.8.1 via OTAPI 3.1.19. (@SignatureBeef)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue