Merge branch 'general-devel' into otapi3
This commit is contained in:
commit
dfaad68106
3 changed files with 22 additions and 2 deletions
|
|
@ -12,6 +12,9 @@ This is the rolling changelog for TShock for Terraria. Use past tense when addin
|
||||||
* Do not forget to sign every line you change with your name. (@hakusaro)
|
* Do not forget to sign every line you change with your name. (@hakusaro)
|
||||||
* If there is no section called "Upcoming changes" below this line, please add one with `## Upcoming changes` as the first line, and then a bulleted item directly after with the first change.
|
* If there is no section called "Upcoming changes" below this line, please add one with `## Upcoming changes` as the first line, and then a bulleted item directly after with the first change.
|
||||||
|
|
||||||
|
## Upcoming changes
|
||||||
|
* Fixed rejection check inside of `HandlePaintTile` to account for the Paint Sprayer (or Architect Gizmo Pack) being inside your inventory, rather than on an accessory slot. (@drunderscore)
|
||||||
|
|
||||||
## TShock 4.5.12
|
## TShock 4.5.12
|
||||||
* Fixed the ability to spawn Zenith projectile with non-original items. (@AgaSpace)
|
* Fixed the ability to spawn Zenith projectile with non-original items. (@AgaSpace)
|
||||||
* Added hook `GetDataHandlers.OnNpcTalk` for NpcTalk and a handler for it that stops unregistered and logged out players from interacting with NPCs, preventing them from smuggling or duplicating items via NPC item slots. (@tru321)
|
* Added hook `GetDataHandlers.OnNpcTalk` for NpcTalk and a handler for it that stops unregistered and logged out players from interacting with NPCs, preventing them from smuggling or duplicating items via NPC item slots. (@tru321)
|
||||||
|
|
|
||||||
|
|
@ -3548,6 +3548,11 @@ namespace TShockAPI
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool hasPaintSprayerAbilities(Item item) =>
|
||||||
|
item != null
|
||||||
|
&& item.stack > 0
|
||||||
|
&& (item.type == ItemID.PaintSprayer || item.type == ItemID.ArchitectGizmoPack);
|
||||||
|
|
||||||
// Not selecting paintbrush or paint scraper or the spectre versions? Hacking.
|
// Not selecting paintbrush or paint scraper or the spectre versions? Hacking.
|
||||||
if (args.Player.SelectedItem.type != ItemID.PaintRoller &&
|
if (args.Player.SelectedItem.type != ItemID.PaintRoller &&
|
||||||
args.Player.SelectedItem.type != ItemID.PaintScraper &&
|
args.Player.SelectedItem.type != ItemID.PaintScraper &&
|
||||||
|
|
@ -3555,8 +3560,8 @@ namespace TShockAPI
|
||||||
args.Player.SelectedItem.type != ItemID.SpectrePaintRoller &&
|
args.Player.SelectedItem.type != ItemID.SpectrePaintRoller &&
|
||||||
args.Player.SelectedItem.type != ItemID.SpectrePaintScraper &&
|
args.Player.SelectedItem.type != ItemID.SpectrePaintScraper &&
|
||||||
args.Player.SelectedItem.type != ItemID.SpectrePaintbrush &&
|
args.Player.SelectedItem.type != ItemID.SpectrePaintbrush &&
|
||||||
!args.Player.Accessories.Any(i => i != null && i.stack > 0 &&
|
!args.Player.Accessories.Any(hasPaintSprayerAbilities) &&
|
||||||
(i.type == ItemID.PaintSprayer || i.type == ItemID.ArchitectGizmoPack)))
|
!args.Player.Inventory.Any(hasPaintSprayerAbilities))
|
||||||
{
|
{
|
||||||
TShock.Log.ConsoleDebug("GetDataHandlers / HandlePaintTile rejected select consistency {0}", args.Player.Name);
|
TShock.Log.ConsoleDebug("GetDataHandlers / HandlePaintTile rejected select consistency {0}", args.Player.Name);
|
||||||
args.Player.SendData(PacketTypes.PaintTile, "", x, y, Main.tile[x, y].color());
|
args.Player.SendData(PacketTypes.PaintTile, "", x, y, Main.tile[x, y].color());
|
||||||
|
|
|
||||||
|
|
@ -897,6 +897,18 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the player's inventory (first 5 rows)
|
||||||
|
/// </summary>
|
||||||
|
public IEnumerable<Item> Inventory
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 50; i++)
|
||||||
|
yield return TPlayer.inventory[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the player's accessories.
|
/// Gets the player's accessories.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue