tModLoader

tModLoader

122 ratings
Blocking (Guarding, Parrying and Reworked Shields)
2
2
   
Award
Favorite
Favorited
Unfavorite
Mod Features: Gameplay Tweaks
Mod Side: Both
File Size
Posted
Updated
578.344 KB
8 Jan, 2022 @ 12:48pm
17 Oct, 2022 @ 1:06am
25 Change Notes ( view )

Subscribe to download
Blocking (Guarding, Parrying and Reworked Shields)

Description
I'm not satisfied with the way Shields have been implemented in Terraria. Their main use is extra Defense and added resistance to certain Debuffs. Items like the Brand of The Inferno were a step in the right direction, but their mechanics are solely attached to those weapons alone.

So I made this. The main purpose is to not only provide a little more variety to Combat, but to also expand upon the usage of Shields.

**Below are the features (EVERYTHING IS CONFIGURABLE):**

__Guarding__
-Hold the Keybind to Guard. During this action, the Player gains a boost in Endurance, but items cannot be used, and they are slowed down.
-Wearing Boots reduces the Movement Penalty of Guarding.
-Wearing Gloves slightly increases the Endurance boost while Guarding.
-Press the respective Keybind while Guarding to perform a Guard Bash. Doing so will knock enemies back and deal Thorns damage to them.
-NPCs can also have a chance of Guarding if added to the Whitelist provided in the Config.

__Parrying__
-Press the respective Keybind to Parry. Upon doing so, there is a small time frame to successfully avoid an attack.
-Damage received while Parrying will completely nullify it.
-Additionally, the Player is granted the Striking Moment buff for a brief time, allowing their next Melee strike to deal +400% damage.
-NPCs can also have a chance of Parrying if added to the Whitelist provided in the Config.

__Shield Rework__
-For every 1 Defense a shield grants, the Player is bestowed extra Max Life.
-Potent Guarding can be toggled. When it is active, damage is absorbed at the cost of consuming Mana. This scales with the Player's Defense, so increasing it proves beneficial.
-NPCs can also have a chance of Shield Guarding if added to the Whitelist provided in the Config.


-Credits-
-Basiq, mod and KireL of the TML Discord: Helping me realize that I made a simple mistake in the Parry code which prevented the Timer from ever going down, effectively granting a permanent Parry effect to the player.
-Exterminator and direwolf420 from the TML Discord: Showed me a more optimized method of detecting when the Player has Shields, Gloves and Boots equipped.
-ID Software: Guarding Raise, Lower, Block, Parry and Guard Bash sounds.
-Mojang Studios: Shield Block sound.
-GabeHasWon, Creedus, Aang, direwolf420 and screen shdaers: Showed me how to detect whether or not a Shield is equipped. What a lengthy process that was..
-Re-Logic: New Mod Icon.
-Nakano15: Helped me with the new features of v1.5.
-Alceris: Showed me how to properly change the Player's Movement Speed.
-Chaos Insurgent 49: When I was making Parrying its own Keybind, I had trouble getting it to work properly, and that was because it was all in PostUpdateMiscEffects, not ProcessTriggers. CI49 showed me that.


-Changelog-

-v1.6-
-Added Guard Bashing. (Experimental. Does nothing at the moment.)
-Changed all of the internal names of "Block" to "Guard".
-Removed the "blockingTimer" and "blockingPotency" integers, as they have been unused.
-Added a Config. Nearly everything can now be changed.
-Glove Benefits no longer grant extended Parry Time.
-Optimized the code a bit.

-v1.6.1-
-Edited some of the Config options for better clarification.
-Decreased the default Parry Counter Time from 60 to 40.
-Increased the default Blocking Potency from 0.5 to 0.6.

-v1.6.2-
__Gameplay__
-Glove Benefits now increase Parry Time. (configurable.)
-Added Shield Weight. If enabled, equipped shields slow the Player down. Disabled by default. (EXPERIMENTAL. USE AT OWN RISK.)
__Miscellaneous__
-Edited some of the Global Tooltips.
__Config Changes__
-Parrying, Glove Benefits, Boot Benefits and Shield Benefits can now be toggled on/off in the config.
-Increased the default value of Guard Bashing Cooldown from 30 to 35.
-Decreased the default value of Glove Benefits Blocking Potency from 0.10 to 0.05.
-Decreased the default value of Boot Benefits Movement Boost from 0.75 to 0.35.

-v1.6.3-
__Bug Fixes__
-Fixed a critical bug with Shield Weight. It doesn't work, so it is now completely disabled. It may be re-instated in a future version.
__Config__
-Increased the default value of Shield Life from 10 to 25.

-v1.6.4-
-When receiving damage, the Player Hurt sound no longer plays while Guarding or Shield Guarding.
-Guarding and Guard Bashing can now be turned off in the config.
-Guard Bashing is now a functional mechanic.
-Increased the default value of Guard Bashing Cooldown from 35 to 40.

-v1.6.4.1-
-Fixed a critical bug: Whenever Guarding from damage, the Player's Life would be reduced and they wouldn't die, even if it went past 0.

-v1.6.5-
-Cleaned up the code.
-Added a Keybind to toggle Potent Guarding on/off.
-Re-structured the config.
-Changed Mod Title from "Blocking (Guarding, Parrying and Improved Shields)" to "Blocking (Guarding, Parrying and Reworked Shields)".

-v1.6.5.1-
-Implemented a more proper form of modifying the Player's Movement Speed. (Thanks, Alceris.)
-Made Guard Bashing off by default, as the mechanic needs fleshed out more.

-v1.6.5.2-
-Movement Speed Hotfix: Movement-based items like the Hermes Boots or the Speedbooster from Metroid Mod can no longer activate when the Player has a low Guard Movement Speed. This bug occurred in the former update because Player Velocity on the X Axis had no change applied when Guarding.

-v1.6.5.3-
-Added Guard, Parry and Parry Counter cooldowns. These timers will be expanded upon in the future.
-Updated the Mod Icon.

-v1.6.5.4-
-Updated the mod for the June update of tModLoader.

-v1.6.6-
[] Organized the BlockingPlayer class into multiple ``partial`` files.
[] Fixed the "Parrying doesn't nullify damage" bug.
[+] Added Chat Tags to the Config.
[] Changed the Guarding and Parrying booleans to integers.
[+] Made Parrying its own action and keybind.
[+] Parrying now has its respective animation. (Thanks for the fix, CI49.)
[+] Added some Lists to the Config that will have a use in the next update. (Parry Accessory Whitelist, Parry Projectile Blacklist.)
[+] Added the (NPC Guard, NPC Parry, NPC Shield Guard) Lists to the Config. These allow Whitelisted NPCs to Guard, Parry and Shield Guard against damage. The chance of each happening can be individually configured.
[] Increased the default Parry Cooldown from 40 ticks to 80.
[+] Added Screenshake to the various actions of this mod.
[+] Added the option to disable Parry Counters.
[+] Added Audio and Visual Clientside Configuration.

-v1.6.7-
[] Fixed the Screenshake effects.
[] Fixed the "continuous damage from Lava when Guarding" bug.
[] The Player Hurt sound no longer plays when receiving damage while Guarding.
[] Increased the maximum Parry Counter option from 120 to 360.
[+] Added the "Toggle Parry Counter" keybind.
[+] Added a few Terraria NPCs to the Parry and Shield-Guard lists in the Config to act as examples.
144 Comments
CaseyK420 16 Jun @ 10:07pm 
NOOOO COME BACK I NEED IT!
MythoRyzer 6 Jun @ 9:02pm 
damn :steamsad:
Yokisan 4 Jun @ 10:38am 
I dont think this mod will get updated, the author seems to be inactive for 3 years straight. I think its time to let go guys.
a bucket. 17 May @ 2:04pm 
update, this seems really well made
ManemaJeff 15 Apr @ 7:32pm 
Any news for update in this mod?
FrossD 16 Nov, 2024 @ 9:40am 
Any chance of an update for 1.4.4? Literally no alternative mods out there that just work.
ClayWarTheOne 2 Oct, 2024 @ 3:59pm 
Plz update :steamhappy:
papopepo69 13 Aug, 2024 @ 11:08pm 
pls update :GDDemon:
hazlej63 11 Aug, 2024 @ 4:46pm 
gg
hazlej63 11 Aug, 2024 @ 4:46pm 
let me know when this mod get updated i need my mod pack to "run"