User:PowerfulBacon/SwingCombat
Prerequisites
Combat Mode - Left and Right click actions required.
Injures2 - Penetration and damage types required.
Overview
This design document assumes that combat mode has been implemented and that we have access to right click actions.
Swing combat is a push to get away from the tradition click-based combat, which rewards click-precision, and towards a swing based system which focuses more on positioning and attack type. There will be less emphasis on player-ping and melee weapons will generally become stronger and a more formidable force against ranged opponents.
Goals
- Create standardised attack patterns.
- Implement the ability for items to have primary and secondary attack styles.
- Attack styles attack turfs rather than individual targets.
- Different attack styles may have different effects on the damage it causes.
- Maintain the ability to attack structures such as computers, windows, doors and others.
Implementation
All items have a primary and secondary attack pattern.
These are datums which contain a function that gets called when the user performs that attack.
Attack Styles
All regions are given in terms of width x length. Width is perpendicular to the direction of the attack, while length is the distance that the attack can reach away from the player.
All effects such as penetration and damage are relative to the force of the weapon they belong to.
Large Swing
Swings in a 3x1 area, attacking everything in this region. Used by swords and other more powerful weapons. Low penetration. Long cooldown.
Slash
Secondary attack for knives and other small blades. Performs a slashing animation across the tile in the direction of the attack.
Medium damage, low penetration, short cooldown.
Stab
Primary attack for knives and other small blades. Performs a stabbing animation in the direction of the attack. Slower attack, high penetration.
Push
Heavy attack used by blunt weapons like stun batons. Pushes the target back and deals heavy damage.