Merge branch 'general-devel' into general-devel
This commit is contained in:
commit
519f94116c
13 changed files with 115 additions and 69 deletions
|
|
@ -424,7 +424,7 @@ namespace TShockAPI
|
|||
};
|
||||
PlayerAddBuffWhitelist[BuffID.BrainOfConfusionBuff] = new BuffLimit
|
||||
{
|
||||
MaxTicks = 240,
|
||||
MaxTicks = 60 * 4,
|
||||
CanBeAddedWithoutHostile = true,
|
||||
CanOnlyBeAppliedToSender = true
|
||||
};
|
||||
|
|
@ -434,6 +434,12 @@ namespace TShockAPI
|
|||
CanBeAddedWithoutHostile = true,
|
||||
CanOnlyBeAppliedToSender = true
|
||||
};
|
||||
PlayerAddBuffWhitelist[BuffID.ParryDamageBuff] = new BuffLimit
|
||||
{
|
||||
MaxTicks = 60 * 5,
|
||||
CanBeAddedWithoutHostile = true,
|
||||
CanOnlyBeAppliedToSender = true
|
||||
};
|
||||
|
||||
#endregion Whitelist
|
||||
}
|
||||
|
|
@ -1878,7 +1884,7 @@ namespace TShockAPI
|
|||
return;
|
||||
}
|
||||
|
||||
if (TShock.Players[id] == null)
|
||||
if (TShock.Players[id] == null || !TShock.Players[id].Active)
|
||||
{
|
||||
TShock.Log.ConsoleDebug(GetString(
|
||||
"Bouncer / OnPlayerBuff rejected {0} ({1}) applying buff {2} to {3} for {4} ticks: target is null", args.Player.Name,
|
||||
|
|
@ -2081,7 +2087,7 @@ namespace TShockAPI
|
|||
short amount = args.Amount;
|
||||
byte plr = args.TargetPlayerIndex;
|
||||
|
||||
if (amount <= 0 || Main.player[plr] == null || !Main.player[plr].active)
|
||||
if (amount <= 0 || TShock.Players[plr] == null || !TShock.Players[plr].Active)
|
||||
{
|
||||
TShock.Log.ConsoleDebug(GetString("Bouncer / OnHealOtherPlayer rejected null checks"));
|
||||
args.Handled = true;
|
||||
|
|
@ -2589,7 +2595,7 @@ namespace TShockAPI
|
|||
byte direction = args.Direction;
|
||||
PlayerDeathReason reason = args.PlayerDeathReason;
|
||||
|
||||
if (id >= Main.maxPlayers || TShock.Players[id] == null)
|
||||
if (id >= Main.maxPlayers || TShock.Players[id] == null || !TShock.Players[id].Active)
|
||||
{
|
||||
TShock.Log.ConsoleDebug(GetString("Bouncer / OnPlayerDamage rejected null check"));
|
||||
args.Handled = true;
|
||||
|
|
|
|||
|
|
@ -3070,12 +3070,12 @@ namespace TShockAPI
|
|||
args.Player.SendErrorMessage(GetString("You do not have permission to teleport all other players."));
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < Main.maxPlayers; i++)
|
||||
foreach (var player in TShock.Players)
|
||||
{
|
||||
if (Main.player[i].active && (Main.player[i] != args.TPlayer))
|
||||
if (player != null && player.Active && player.Index != args.Player.Index)
|
||||
{
|
||||
if (TShock.Players[i].Teleport(args.TPlayer.position.X, args.TPlayer.position.Y))
|
||||
TShock.Players[i].SendSuccessMessage(GetString("You were teleported to {0}.", args.Player.Name));
|
||||
if (player.Teleport(args.TPlayer.position.X, args.TPlayer.position.Y))
|
||||
player.SendSuccessMessage(GetString("You were teleported to {0}.", args.Player.Name));
|
||||
}
|
||||
}
|
||||
args.Player.SendSuccessMessage(GetString("Teleported everyone to yourself."));
|
||||
|
|
@ -4622,21 +4622,22 @@ namespace TShockAPI
|
|||
{
|
||||
if (args.Parameters.Count != 1)
|
||||
{
|
||||
args.Player.SendErrorMessage(GetString("Invalid syntax. Proper syntax: {0}wind <speed>.", Specifier));
|
||||
args.Player.SendErrorMessage(GetString("Invalid syntax. Proper syntax: {0}wind <speed in mph>.", Specifier));
|
||||
return;
|
||||
}
|
||||
|
||||
int speed;
|
||||
if (!int.TryParse(args.Parameters[0], out speed) || speed * 100 < 0)
|
||||
float mph;
|
||||
if (!float.TryParse(args.Parameters[0], out mph) || mph is < -40f or > 40f)
|
||||
{
|
||||
args.Player.SendErrorMessage(GetString("Invalid wind speed."));
|
||||
args.Player.SendErrorMessage(GetString("Invalid wind speed (must be between -40 and 40)."));
|
||||
return;
|
||||
}
|
||||
|
||||
float speed = mph / 50f; // -40 to 40 mph -> -0.8 to 0.8
|
||||
Main.windSpeedCurrent = speed;
|
||||
Main.windSpeedTarget = speed;
|
||||
TSPlayer.All.SendData(PacketTypes.WorldInfo);
|
||||
TSPlayer.All.SendInfoMessage(GetString("{0} changed the wind speed to {1}.", args.Player.Name, speed));
|
||||
TSPlayer.All.SendInfoMessage(GetString("{0} changed the wind speed to {1}mph.", args.Player.Name, mph));
|
||||
}
|
||||
|
||||
#endregion Time/PvpFun Commands
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
|
@ -155,13 +155,39 @@ namespace TShockAPI
|
|||
/// <param name="netId">The net ID.</param>
|
||||
/// <param name="stack">The stack.</param>
|
||||
/// <param name="prefixId">The prefix ID.</param>
|
||||
public NetItem(int netId, int stack, byte prefixId)
|
||||
public NetItem(int netId, int stack = 1, byte prefixId = 0)
|
||||
{
|
||||
_netId = netId;
|
||||
_stack = stack;
|
||||
_prefixId = prefixId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new <see cref="NetItem"/>.
|
||||
/// </summary>
|
||||
/// <param name="item">Item in the game.</param>
|
||||
public NetItem(Item item)
|
||||
{
|
||||
_netId = item.netID;
|
||||
_stack = item.stack;
|
||||
_prefixId = item.prefix;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates <see cref="Terraria.Item"/> based on data from this structure.
|
||||
/// </summary>
|
||||
/// <returns>A copy of the item.</returns>
|
||||
public Item ToItem()
|
||||
{
|
||||
Item item = new Item();
|
||||
|
||||
item.netDefaults(_netId);
|
||||
item.stack = _stack;
|
||||
item.prefix = _prefixId;
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the <see cref="NetItem"/> to a string.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -351,7 +351,6 @@ namespace Rests
|
|||
{
|
||||
str = string.Format("{0}({1});", jsonp, str);
|
||||
}
|
||||
e.Response.Connection.Type = ConnectionType.Close;
|
||||
e.Response.ContentType = new ContentTypeHeader("application/json; charset=utf-8");
|
||||
e.Response.Add(serverHeader);
|
||||
var bytes = Encoding.UTF8.GetBytes(str);
|
||||
|
|
|
|||
|
|
@ -402,7 +402,7 @@ namespace TShockAPI
|
|||
{"serverversion", Main.versionNumber},
|
||||
{"tshockversion", TShock.VersionNum},
|
||||
{"port", TShock.Config.Settings.ServerPort},
|
||||
{"playercount", Main.player.Where(p => null != p && p.active).Count()},
|
||||
{"playercount", TShock.Utils.GetActivePlayerCount()},
|
||||
{"maxplayers", TShock.Config.Settings.MaxSlots},
|
||||
{"world", (TShock.Config.Settings.UseServerName ? TShock.Config.Settings.ServerName : Main.worldName)},
|
||||
{"uptime", (DateTime.Now - System.Diagnostics.Process.GetCurrentProcess().StartTime).ToString(@"d'.'hh':'mm':'ss")},
|
||||
|
|
@ -944,8 +944,8 @@ namespace TShockAPI
|
|||
[Token]
|
||||
private object PlayerList(RestRequestArgs args)
|
||||
{
|
||||
var activeplayers = Main.player.Where(p => null != p && p.active).ToList();
|
||||
return new RestObject() { { "players", string.Join(", ", activeplayers.Select(p => p.name)) } };
|
||||
var activeplayers = TShock.Players.Where(p => null != p && p.Active).Select(p => p.Name);
|
||||
return new RestObject() { { "players", string.Join(", ", activeplayers) } };
|
||||
}
|
||||
|
||||
[Description("Fetches detailed user information on all connected users, and can be filtered by specifying a key value pair filter users where the key is a field and the value is a users field value.")]
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
<ItemGroup>
|
||||
<PackageReference Include="BCrypt.Net-Next" Version="4.0.3" />
|
||||
<PackageReference Include="GetText.NET" Version="1.7.14" />
|
||||
<PackageReference Include="MySql.Data" Version="8.0.31" />
|
||||
<PackageReference Include="MySql.Data" Version="8.4.0" />
|
||||
<PackageReference Include="Microsoft.Data.Sqlite" Version="6.0.11" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ namespace TShockAPI
|
|||
foreach (TSPlayer player in TShock.Players)
|
||||
{
|
||||
if (player != null && player != excludedPlayer && player.Active && player.HasPermission(Permissions.logs) &&
|
||||
player.DisplayLogs && TShock.Config.Settings.DisableSpewLogs == false)
|
||||
player.DisplayLogs && !TShock.Config.Settings.DisableSpewLogs)
|
||||
player.SendMessage(log, color);
|
||||
}
|
||||
}
|
||||
|
|
@ -183,7 +183,7 @@ namespace TShockAPI
|
|||
/// <returns>The number of active players on the server.</returns>
|
||||
public int GetActivePlayerCount()
|
||||
{
|
||||
return Main.player.Where(p => null != p && p.active).Count();
|
||||
return TShock.Players.Count(p => null != p && p.Active);
|
||||
}
|
||||
|
||||
//Random should not be generated in a method
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue