From 50337a1d2f1ce1b15ea5df5920b77bd540282fc2 Mon Sep 17 00:00:00 2001 From: Olink Date: Fri, 29 May 2020 17:03:48 -0400 Subject: [PATCH] Add support for all rope coil types. --- TShockAPI/Bouncer.cs | 11 ++++++----- TShockAPI/GetDataHandlers.cs | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/TShockAPI/Bouncer.cs b/TShockAPI/Bouncer.cs index 0ea594e7..cc8feef8 100644 --- a/TShockAPI/Bouncer.cs +++ b/TShockAPI/Bouncer.cs @@ -295,14 +295,15 @@ namespace TShockAPI { args.Player.LastKilledProjectile = 0; } - else if (editData == TileID.MysticSnakeRope) + else if (CoilTileIds.Contains(editData)) { //projectile should be the same X coordinate as all tile places - if (!args.Player.RecentlyCreatedProjectiles.Any(p => Main.projectile[p.Index].type == ProjectileID.MysticSnakeCoil && - Math.Abs((int)(Main.projectile[p.Index].position.X / 16f) - tileX) <= Math.Abs(Main.projectile[p.Index].velocity.X))) + if (!args.Player.RecentlyCreatedProjectiles.Any(p => GetDataHandlers.projectileCreatesTile.ContainsKey(Main.projectile[p.Index].type) && + Math.Abs((int)(Main.projectile[p.Index].position.X / 16f) - tileX) <= Math.Abs(Main.projectile[p.Index].velocity.X) && + GetDataHandlers.projectileCreatesTile[Main.projectile[p.Index].type] == editData)) { - TShock.Log.ConsoleDebug("Bouncer / OnTileEdit rejected from (inconceivable mystic snake rope) {0} {1} {2}", args.Player.Name, action, editData); - Console.WriteLine("Bouncer / OnTileEdit rejected from (inconceivable mystic snake rope) {0} {1} {2}", args.Player.Name, action, editData); + TShock.Log.ConsoleDebug("Bouncer / OnTileEdit rejected from (inconceivable rope coil) {0} {1} {2}", args.Player.Name, action, editData); + Console.WriteLine("Bouncer / OnTileEdit rejected from (inconceivable rope coil) {0} {1} {2}", args.Player.Name, action, editData); args.Player.SendTileSquare(tileX, tileY, 1); args.Handled = true; return; diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 09667f33..3c94dedb 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -3630,7 +3630,20 @@ namespace TShockAPI { ProjectileID.EbonsandBallGun, TileID.Ebonsand }, { ProjectileID.PearlSandBallGun, TileID.Pearlsand }, { ProjectileID.CrimsandBallGun, TileID.Crimsand }, - { ProjectileID.MysticSnakeCoil, TileID.MysticSnakeRope } + { ProjectileID.MysticSnakeCoil, TileID.MysticSnakeRope }, + { ProjectileID.RopeCoil, TileID.Rope }, + { ProjectileID.SilkRopeCoil, TileID.SilkRope }, + { ProjectileID.VineRopeCoil, TileID.VineRope }, + { ProjectileID.WebRopeCoil, TileID.WebRope } + }; + + internal static List CoilTileIds = new List() + { + TileID.MysticSnakeRope, + TileID.Rope, + TileID.SilkRope, + TileID.VineRope, + TileID.WebRope }; internal static Dictionary projectileCreatesLiquid = new Dictionary