Example #1
0
 void RegionHooks_RegionCreated(RegionHooks.RegionCreatedEventArgs args)
 {
     refreshTimer.Stop();
     refreshTimer_Elapsed(this, null);
 }
Example #2
0
        void RegionHooks_RegionDeleted(RegionHooks.RegionDeletedEventArgs args)
        {
            if (args.Region.WorldID != Main.worldID.ToString()) return;

            // If any players were viewing this region, clear its border.
            lock (players) {
                foreach (Player player in players) {
                    for (int i = 0; i < player.regions.Count; i++) {
                        Region region = player.regions[i];
                        if (region.name.Equals(args.Region.Name)) {
                            player.TSPlayer.SendMessage("Region " + region.name + " has been deleted.", textColour[region.colour - 13]);
                            region.refresh(player.TSPlayer);
                            player.regions.RemoveAt(i);

                            foreach (Region region2 in player.regions)
                                region2.setFakeTiles();
                            foreach (Region region2 in player.regions)
                                region2.refresh(player.TSPlayer);
                            foreach (Region region2 in player.regions.Reverse<Region>())
                                region2.unsetFakeTiles();

                            break;
                        }
                    }
                }
            }
        }
Example #3
0
 private void onRegionDelete(RegionHooks.RegionDeletedEventArgs args)
 {
     if (RegionList.Exists(p => p.TSRegion.Name == args.Region.Name))
     {
         RegionList.RemoveAll(p => p.TSRegion.Name == args.Region.Name);
         db.Query($"DELETE FROM DieMob WHERE Region='{args.Region.Name}' AND WorldID={Main.worldID.ToString()};");
     }
 }
Example #4
0
        public void OnRegionEnter(RegionHooks.RegionEnteredEventArgs args)
        {
            RegionBuff rb = Array.Find(config.regionbuffs, p => p.regionName == args.Region.Name && p.buffs.Count > 0);

            if (rb == null)
                return;

            if (hasAnnounced[args.Player.Index].Contains(args.Region.Name))
                return;

            args.Player.SendSuccessMessage("You have entered a region with the following buffs enabled: {0}", string.Join(", ", rb.buffs.Keys.Select(p => Main.buffName[p])));
            hasAnnounced[args.Player.Index].Add(args.Region.Name);

            //KeyValuePair<string, List<int>> regionkvp;

            //regionkvp = new KeyValuePair<string, List<int>>("null", new List<int>() { 0 });

            //foreach (RegionBuff rb in config.regionbuffs)
            //{
            //    if (rb.regionName == args.Region.Name && rb.buffIDs.Count > 0)
            //    {
            //        regionkvp = kvp;
            //    }
            //}

            //if (regionkvp.Key != "null" && !hasAnnounced[args.Player.Index].Contains(args.Region.Name))
            //{
            //    args.Player.SendSuccessMessage("You have entered a region with the following buffs enabled: {0}", string.Join(", ", regionkvp.Value.Select(p => Main.buffName[p])));
            //    hasAnnounced[args.Player.Index].Add(args.Region.Name);
            //}
        }
 private void OnRegionEnter(RegionHooks.RegionEnteredEventArgs args)
 {
     if (Killzones.Contains(args.Region) && !args.Player.Group.HasPermission("jp.killzones.bypass"))
     {
         args.Player.DamagePlayer(15000);
         args.Player.SendErrorMessage("You stumbled into a trap...");
         TSPlayer.All.SendErrorMessage("{0} entered the killzone.", args.Player.Name);
     }
 }
        private void OnRegionLeft(RegionHooks.RegionLeftEventArgs args)
        {
            foreach (TSPlayer tsplr in TShock.Players)
            {
                if (tsplr == null)
                    continue;

                if (Prisoners.Contains(tsplr.IP))
                {
                    var warp = TShock.Warps.Find(config.jailWarp);
                    if (warp != null)
                    {
                        tsplr.Teleport(warp.Position.X * 16, warp.Position.Y * 16);
                        tsplr.SendErrorMessage("You Are Stuck In Prison... An Admin Or Mod Will Need To Let You Out...");
                    }
                }
            }
        }
 private void OnRegionDeleted(RegionHooks.RegionDeletedEventArgs args)
 {
     deleteKillzone(args.Region.Name);
     TShock.Log.ConsoleInfo("Region '{0}' has been removed from the Killzones database.", args.Region.Name);
 }
Example #8
0
 private void OnRegionDeleted(RegionHooks.RegionDeletedEventArgs args)
 {
     if (Database.IsNoTpRegion(args.Region.Name))
     {
         Database.DeleteRegion(args.Region.Name);
     }
 }
Example #9
0
        private void OnRegionLeft(RegionHooks.RegionLeftEventArgs args)
        {
            if (regionStorage == null)
                return;
            if (regionStorage.ContainsKey(args.Region))
            {
                var playerInfo = args.Player.GetPlayerInfo();

                if (regionStorage[args.Region].flags.Contains("PVP") && !playerInfo.BypassFlag(args.Player)) //toggle back PVP
                {
                    args.Player.TPlayer.hostile = playerInfo.hostile;
                    NetMessage.SendData((int)PacketTypes.TogglePvp, -1, -1, "", args.Player.Index);

                }

                playerInfo.Reset();

                args.Player.SendInfoMessage("Left EventRegion {0}", args.Region.Name);
            }
        }
Example #10
0
 private void OnRegionEntered(RegionHooks.RegionEnteredEventArgs args)
 {
     if (regionStorage == null)
         return;
     if (args.Player == null)
         return;
     TSPlayer player = args.Player;
     if (regionStorage.ContainsKey(args.Region))
     {
         args.Player.GetPlayerInfo().inEventRegion = true;
         args.Player.GetPlayerInfo().regionStorage = regionStorage[args.Region];
         args.Player.SendInfoMessage("You are in EventRegion {0}", args.Region.Name);
     }
 }
Example #11
0
        private void OnRegionDeleted(RegionHooks.RegionDeletedEventArgs args)
        {
            if (regionStorage.ContainsKey(args.Region))
            {
                regionStorage.Remove(args.Region);

                int a = -1;
                string query = "DELETE FROM RegionEvent WHERE `Name`=@0";
                a = db.Query(query, args.Region.Name);
                if (a < 0)
                {
                    TShock.Log.ConsoleError("Failed to delete from DB!");
                    TShock.Log.Error("Failed to delete from DB!");
                    return;
                }
            }
        }