Merge remote-tracking branch 'drunderscore/fix/bottomless-honey-bucket-is-real' into general-devel

This commit is contained in:
Lucas Nicodemus 2022-10-14 23:27:07 -07:00
commit 882ecef013
No known key found for this signature in database
3 changed files with 36 additions and 1 deletions

View file

@ -42,6 +42,11 @@ This is the rolling changelog for TShock for Terraria. Use past tense when addin
* Fixed Inferno Fork causing kick from rejected abnormal buff. (@Stealownz)
* Prevented Server Broadcast from executing without a message. (@PackmanDude, @punchready)
* Update Github CI to not tarball files for Windows only (@PotatoCider)
* Allow Blood Butcherer and Shimmer buffs to be applied to NPCs by players (@drunderscore)
* Add `LiquidType.Shimmer` (@drunderscore)
* Make Bouncer allow Bottomless Honey Bucket usage (@drunderscore)
* Make Bouncer reject Shimmer placement without bucket or whilst banned (@drunderscore)
## TShock 4.5.18
* Fixed `TSPlayer.GiveItem` not working if the player is in lava. (@PotatoCider)

View file

@ -1544,6 +1544,14 @@ namespace TShockAPI
{
bucket = 6;
}
else if (selectedItemType == ItemID.BottomlessHoneyBucket)
{
bucket = 7;
}
else if (selectedItemType == ItemID.BottomlessShimmerBucket)
{
bucket = 8;
}
if (!wasThereABombNearby && type == LiquidType.Lava && !(bucket == 2 || bucket == 0 || bucket == 5 || bucket == 6))
{
@ -1585,7 +1593,7 @@ namespace TShockAPI
return;
}
if (!wasThereABombNearby && type == LiquidType.Honey && !(bucket == 3 || bucket == 0))
if (!wasThereABombNearby && type == LiquidType.Honey && !(bucket == 3 || bucket == 0 || bucket == 7))
{
TShock.Log.ConsoleDebug("Bouncer / OnLiquidSet rejected bucket check 4 from {0}", args.Player.Name);
args.Player.SendErrorMessage("You do not have permission to perform this action.");
@ -1604,6 +1612,27 @@ namespace TShockAPI
args.Handled = true;
return;
}
if (!wasThereABombNearby && type == LiquidType.Shimmer && bucket != 8)
{
TShock.Log.ConsoleDebug("Bouncer / OnLiquidSet rejected bucket check 6 from {0}", args.Player.Name);
args.Player.SendErrorMessage("You do not have permission to perform this action.");
args.Player.Disable("Spreading shimmer without holding a honey bucket", DisableFlags.WriteToLogAndConsole);
args.Player.SendTileSquareCentered(tileX, tileY, 1);
args.Handled = true;
return;
}
if (!wasThereABombNearby && type == LiquidType.Shimmer &&
TShock.ItemBans.DataModel.ItemIsBanned("Bottomless Shimmer Bucket", args.Player))
{
TShock.Log.ConsoleDebug("Bouncer / OnLiquidSet rejected bucket check 7 from {0}", args.Player.Name);
args.Player.SendErrorMessage("You do not have permission to perform this action.");
args.Player.Disable("Using banned bottomless shimmer bucket without permissions", DisableFlags.WriteToLogAndConsole);
args.Player.SendTileSquareCentered(tileX, tileY, 1);
args.Handled = true;
return;
}
}
if (!args.Player.HasBuildPermission(tileX, tileY))

View file

@ -1296,6 +1296,7 @@ namespace TShockAPI
Water = 0,
Lava = 1,
Honey = 2,
Shimmer = 3,
Removal = 255 //@Olink: lets hope they never invent 255 fluids or decide to also use this :(
}