From 4bd1b6a07ae13d215dd3be5db0b70bc00c4923f1 Mon Sep 17 00:00:00 2001 From: Tyler Watson Date: Sat, 29 Aug 2015 16:19:14 +1000 Subject: [PATCH] Refactored StartInvasions to use Main.startInvasion method It appears that there is a whole lot of display logic in the official Terraria StartInvasion method, which is why martian invasion wasn't working properly. TSAPI now contains a slighly modified startInvasion method which takes an optional invasion size, so TShock's StartInvasion method has now been refactored to use TSAPI's invasion, restoring martian invasion functionality. Fixes #1087 --- TShockAPI/TShock.cs | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index a881c208..3f73cf7b 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -1551,25 +1551,18 @@ namespace TShockAPI //TODO: Why is this in TShock's main class? public static void StartInvasion(int type) { - Main.invasionType = type; + int invasionSize = 0; + if (Config.InfiniteInvasion) { - Main.invasionSize = 20000000; + invasionSize = 20000000; } else { - Main.invasionSize = 100 + (Config.InvasionMultiplier * Utils.ActivePlayers()); + invasionSize = 100 + (Config.InvasionMultiplier * Utils.ActivePlayers()); } - Main.invasionWarn = 0; - if (new Random().Next(2) == 0) - { - Main.invasionX = 0.0; - } - else - { - Main.invasionX = Main.maxTilesX; - } + Main.StartInvasion(type, invasionSize); } /// CheckProjectilePermission - Checks if a projectile is banned.