Block Design - UQdeco2800/2022-studio-2 GitHub Wiki
Block Design
The design of the block was aimed for as a core defensive skill for the player. Taking inspiration from games which use parry techniques for combat such as Sekiro, or fighting games (eg. Street fighter, brawlhalla, etc. etc.), we aimed to have the block be a short damage mitigation skill for the player, which when damage was mitigated during blocking reduces the cooldowns of the player's other skills. The design aim of including this cooldown reduction functionality is to encourage players to time the block skill with enemy attacks, and rewarding them for this with being able to increase the rate at which they can cast their skills.
Block Code
Block Invulnerability
The design of the block uses the skill invulnerability check, which can be checked if active with isInvulnerable(). However for the cooldown reduction to trigger during the dash the function skillDamageTrigger() should be called. This function is explained in the main page Back to Skills.
Block length
As mentioned above the length of the block was designed to be short, to require more precise timing from the player. The block is currently 400ms long, with each frame of the animation lasting 100ms.
Starting the block
To start the block from the code startBlock() should be called, as this is the functional start of the block from the skillManager subcomponent.