Project: War dance is a combat and gameplay mechanic mod that changes the way you fight and adds new mechanics and other systems to support it.
Thanks to Darkmega for continued support! He made this page shiny and new, for the record.
This mod includes out-of-the-box combat values for the following mods:
- vanilla
- Advanced Hook Launchers
- Akashic Tome (yes, weaponized books)
- Alex's Mobs
- Aquaculture
- Ars Nouveau
- Arsenal Core
- Artifacts
- Miner Arcana: Astral
- Atum
- Better End Reforged
- Better Nether Reforged
- Big Brain
- Biomancy
- Blood Magic
- Blue Skies
- Bountiful Baubles
- Biomes You'll Go
- Cold's Claws
- Comfortable Nether
- Consecration
- Create
- Cyclic
- Druidcraft
- Dungeons Gear
- Eidolon
- End Remastered
- Enigmatic Legacy
- Epic Fight Mod
- Epic Knight
- Evilcraft
- Farmer's Delight
- Fins and Tails
- Greek Fantasy
- Guns Without Roses
- Ice and Fire
- Immersive Engineering
- Kobolds
- Mahou Tsukai
- Majrusz's Difficulty Mod
- Meet Your Fight
- Mowzie's Mobs
- Mutant Beasts
- Mutant More
- Mystical World
- Pam's Harvestcraft
- Pandora's Creatures
- Pyromancer
- Rats (Ratlantis)
- Rising Uppercut
- Roots Classic
- Savage and Ravage
- Silent Gear *
- Spartan Shields
- Spartan Weaponry
- Switch-bow
- Twilight Forest
- Vampirism
- Vanilla Food Pantry
- Wyrmroost
- Reliquary
* - Items have stats etc but those stats will not change depending on the actual strength of the materials used in the creation of tools, weapons or armors. This is due to the nbt used in their full formation and config limitations within this mod.
All of these thanks to the gracious contributions of others who follow the mod and my own testing. Feedback and other contributions is greatly appreciated.
For upcoming milestones or issues, consult GitHub.
Want to join my discord? It's located here.
Mechanics:
Spotlight videos, in case you don't want to read a giant wall of text. They've omitted some details for the sake of brevity, so reading is still recommended:
Posture and Staggering: posture is a separate bar determined by how big the mob is and how much armor it's wearing. When it's emptied, the mob gets staggered, taking more damage. It goes down when getting attacked depending on how heavy the attacking item is, and regenerates quickly if you stop getting hit.
Shown as a meter ingame like these:
- Max posture is calculated by (width*height*10+(armor/2)), and players gain an extra 50%, so players start with 30 posture and have 45 in diamond, while a skeleton has 20.
- Being attacked consumes posture. The different amounts of posture dealt by each weapon can be tweaked in the server config. If any weapon is not registered (such as, say, unarmed combatants), the mod makes a guess on how much posture it should deal based on the mob's max posture. Registered weapons deal flat posture damage every strike, unaffected by how much actual damage you're dealing.
- Posture consumption is hard capped at 40% of your max each time. Overflow posture damage will be converted into knockback. This can be configured.
- Modders can use the ICombatItemCapability capability to fine-tune how much damage their weapon should deal. This overrides the config.
- Posture recovers quickly when not attacking or attacked, but has a 1s cooldown after being consumed. You restore your entire posture bar in 2.5 seconds.
- Armor will slightly increase posture cooldown and decrease regeneration speed, capping at 2 seconds cooldown and 5 seconds to regenerate in full diamond and above.
- Regeneration also is multiplied by your current health percentage, down to 25% at 0 health. At 0 health you're dead, so it'll always be somewhere above that value.
- Posture regeneration rate is slowed proportionally by your attack cooldown. Say your offhand is at 0.35 strength from a swing and your main hand is at 0.6 strength from a swing slightly before, then your posture regeneration speed will be multiplied by 0.35.
- At 0 posture the entity is knocked back and staggered, taking 1.5x damage and losing 7(+half the remaining amount) armor. The entity cannot perform any action during this time except a safety roll that creates some distance. The stagger ends after 2s(+%missing hp*3) or after taking physical damage thrice. Posture returns to full after the stagger, so the entity doesn’t get stun-locked. The max time and max number of strikes when staggered are configurable.
Parrying: keep your weapon or shield in front of you to guard yourself against melee attacks. Shields also protect you from projectiles and give you some extra posture.
- By holding a “weapon” or "shield" and orienting yourself towards an attack, you can parry it.
- Weapons and shields are defined via the server config.
- Vanilla blocking will still mitigate damage, but will also reset the posture cooldown without refreshing the combo cooldown, making it less desirable.
- Parries will put the parrying hand into 5*(1+final posture damage) ticks of cooldown. In practice this means that a good defensive weapon parrying a low posture damage weapon will be back up in no time, while a smaller weapon parrying a massive hit will be out of commission for quite a while.
- Idle parrying negates damage, but not posture consumption nor attack effects (note, damage effects are blocked! It'll stop most mod weapons, fire aspect, etc).
- Notably, items have a parry multiplier that is multiplied with the posture damage (so if it has 0.5 you only take 50% of the posture damage if you parried). This multiplier will additionally multiply the knockback applied to both parties after a parry. More posture damage leads to more knockback, better defense leads to less knockback, and the defender receives more knockback in general.
- Shields also parry projectiles, but run off a different "barrier" stat. Barrier is essentially absorption for posture, obeying the same rules for regeneration. Running out of barrier binds your shields, preventing them from being used until barrier regenerates back to full again.
- Projectiles can be configured to consume different amounts of barrier, still trigger their non-damage effects on impact (e.g. a grenade will explode), or be deleted outright (e.g. shulker bullets).
- By popular demand, there is now a config option to restrict parry to a small frame of time after pressing a keybind, because it's more "tactical" or "fun" or something. I hate the idea, but people keep asking for it, so it's there now.
An example of stats displayed on weapons which govern parrying, posture damage dealt and shield parry bonuses when applicable.
Dual Wielding and Combat Mode: attack with weapons in both hands; shift+R to enter a special state that displays more relevant information.
- Pressing shift+R by default enters combat mode.
- In combat mode, normal key function is overridden with PWD key functions where applicable. (so if middle click was set to use skills, it would use skills instead of pick block or whatever else it's set to!)
- relevant HUDs and your offhand (if it is empty) also only show up in combat mode. The one exception is posture, since it's rather essential to not dying.
Might
- Might is gained at a rate every attack which corresponds to your weapon's swing speed. The slower the weapon, the more might per strike.
- Rank will increase its generation multiplier by 0.1 per rank, up to 1.7x.
- Might is primarily utilized through skills. Powerful active skills often cost some might to execute, and certain passives help generate might or allow you to retain might for benefits.
Spirit
- Spirit is capped at 10, but some skills can manipulate that cap.
- Spirit regeneration is relatively fast, but expending spirit or taking damage will put spirit in cooldown for 3 seconds.
- Spirit is a mix between mana, stamina, and qi from combat games. It's often used to limit the number of skills castable in a given duration or evoke magical effects.
Rank
- Rank is gained by attacking, with 0.1 flat rank added per attack. In addition, 10% of might gains are also added to rank, so slow weapons are also competent at ranking up.
- Rank increases from any attack, whether they were parried or not.
- Rank begins to slowly fall once your might reaches 0.
- You will gain 2% attack speed, move speed, and healing per rank. Above S rank, you also gain some looting on kill. These are referred to as "subtle rank bonuses", and are halved for 5 seconds (by default) after taking damage.
- Physical skills can increase rank, encouraging their use; some skills depend on high rank before they become castable.
Dual Wielding
- Possible even out of combat mode.
- Only "weapons" as defined by the config can be swung, so shields and buckets will function as normal.
- The exception to the "weapon" rule is fists: they can only be swung in the offhand in combat mode.
Wounding, Fatigue, and Burnout: taking damage to various resources will temporarily lower their caps.
- These negative stats are increased by consuming their respective resources: health, posture, and spirit.
- They decrease the caps of their respective resources, and can be cleared by sleeping.
- Due to a conspicuous lack of dev time, they will also slowly decrease once you hit D rank again. This is a placeholder for a future "meditate" feature, so don't rely on it too much.
- The intent is to prevent players with absurd regen face-tanking everything.
- Some skills reduce fatigue, wounding, and burnout, encouraging their use.
- There is an option to turn this off, or crank it up higher if you want.
Dodging: double tap movement keys to temporarily avoid damage, sprint+sneak to slide forward. Compatibility with Elenai Dodge 2.
- Double tapping any movement key except forward has you dodge in that direction.
- You can also sidestep by key+sprint. Both are only available in combat mode.
- The player performs a small jump with large horizontal velocity, ending about 5 blocks from where they begin. The cooldown is configurable, but defaults to 0.75 seconds (15 ticks).
- It is intended as a quick way to adjust one’s position around a target or dodge a hit.
- While dodging you are immune to all melee and projectile attacks for 10 ticks.
- Pressing both sprint and sneak will perform a slide forward with the same effect as dodge, but compresses your model down to swimming size. Useful for getting through crawl-holes and whatnot.
- I-frame times can be adjusted in the configs.
- Dodges are suppressed with Elenai Dodge 2 installed, though slides are not.
- Might bonus from rank will also apply to Elenai feather regeneration, but regeneration will be halted by posture cooldown. These features can be individually disabled.
Absorption, Deflection and Shatter: armor items have more unique ways to reduce damage taken.
- I highly recommend installing my other mod, Armor Curve, to nerf vanilla damage reduction in order to prevent these from becoming overpowered.
- Absorption reduces damage (after armor calculations) by a fixed amount.
- This makes it excellent for defending against small, rapid strikes, and basically useless for big hits.
- Seen often on light/soft armor.
- Deflection automatically parries arrows and weapon strikes that fall just outside of your actual parry range, up to 60 degrees on each side.
- It costs the default amount of posture to parry like this.
- Skilled fighters can angle themselves towards strikes in order to quickly riposte. Plate wearers rejoice!
- Shatter will block all incoming damage for some number of ticks after failing to parry an attack.
- The time left on shatter can be viewed as a gold overlay on the posture bar. After the time elapses, shatter will become inactive.
- Shatter returns to full after 10 seconds of not taking shatter damage.
- Generally found in large amounts on crystalline and ceramic armor.
Stats as they appear in the gui on compatible or configured armor sets.
Stealth: manipulate light and vision to remain undetected in light armor, and deal debilitating backstabs.
- Mobs are unaware if they are not in combat and haven't noticed you, distracted if they are attacking something else, and alert otherwise.
- Distracted enemies take more damage, and unaware enemies additionally cannot parry, deflect, absorb, or shatter an incoming attack.
- Weapons have a stabbing multiplier that increases stabbing damage. Attacking an enemy dispels your invisibility, if applicable and enabled in the config.
- Mobs become unaware if sleeping, paralyzed, or petrified. Sleep is dispelled on attack, and petrify adds 7 armor.
- Mobs are also distracted if entangled by cobwebs, drowning, or rendered incapable of seeing you by invisibility. The status effects "confusion" and "distraction" also render a target distracted unless overridden by paralysis, petrifaction, or sleep. Distraction is dispelled on attack.
- Mob detection range is full in their 120 degree frontal sector and 0.3x elsewhere. The vision range is 60 degrees vertically, because living things are adapted to survey a flat area, and to encourage using vertical space. This bonus is not applied to all-seeing entities.
- Being in dark areas will reduce detection range by up to 80%. The eyes of monsters are adjusted to their current light level, so they can perceive you better if you remain in a bright area, whereas if they're in a bright area and you're in the dark, they would have a harder time seeing you. Mobs with night vision do not receive a bonus or malus either way.
- Being blinded reduces detection area by 84%.
- Moving at great speeds will make you more obvious, while you are less perceptible while standing still. This bonus is not applied for perceptive enemies.
- Breaking LoS with the target will reduce detection radius by 60%. Heat-seeking entities ignore this bonus.
- Mobs may choose to investigate player and mob sounds when unaware. Making sounds such as taking damage from fall and causing explosions will draw enemies in an area to you, but you can also shoot arrows to distract mobs for stealth missions. The sounds which generate sound cues, and how far they spread, can be configured.
- Mobs will not cry for help when silenced.
- If you are about to be discovered from out of LoS, the luck of you and your opponent will be compared to give you a chance of negating discovery. If you pass, the mob will first turn towards you in order to pass a further vision check. This is absolutely terrifying in game, and gives you one last chance to get the jump on it. Lazy mobs will not perform the vision check when you pass the luck roll, and skeptical mobs will always turn around to verify before attacking you.
- All bonuses above are increased by a positive stealth attribute and reduced by a negative stealth attribute. Negative stealth reduces the effectiveness of each modifier by 5%, so -20 stealth negates all modifiers.
- Positive stealth, on the other hand, multiplies the difference with optimal multipliers by 0.93. For instance, if your movement speed earns you a 80% detection multiplier, but you have 2 stealth, your effective detection multiplier is (50%)+(80%-50%)*0.93^2, or 76%.
- All mobs start with 10 stealth, and armor roughly reduces stealth according to their armor values, so leather and chain armor do not greatly influence sneaking around.
- Invisibility is modified so it no longer scales with the number of armor pieces you are wearing. Instead, you are treated as fully invisible above 0 stealth, and detection distance slowly increases as your stealth becomes negative, such that -10 stealth (diamond) increases the detection distance multiplier to the vanilla 70%.
- Config options exist to change nearly all parts of this system. Additional configs exist to mark mobs as all-seeing (ignores FoV checks), cheliceric (not distracted by cobwebs), deaf (ignores sound cues), eyeless (cannot be blinded), heat-seeking (ignores LoS), lazy (doesn't turn around on passing a luck check), mindful (not distracted while attacking others), nocturnal (ignores light), observant (not distracted by invisibility), perceptive (ignores motion multipliers), quiet (does not broadcast sound cues even if not silenced), skeptical (turns around first if you fail stealth), vigilant (not unaware when not in combat), or wary (ignores luck), in case you want certain mobs to not follow the same rules.
A lucky thief and his pet chicken out in the night
Skills: special actions that may be performed in combat mode to gain an edge in the fight.
- Use the "open skill selection screen" key (default v) to open the screen. On the far left are skills, down the middle is its description, and at the bottom are variations you pick to build upon the base effect. Left click slots on the far right diamond to add them, and right click the slots to clear them. The diamond is for active skills, while the five below are for passives. You can only equip one variation of a skill at a time, and skills that share a parent in this manner will show up as red on the skill octagon. Some skills cannot be cast simultaneously; these will appear as orange.
- When you are done, hold r (by default) in combat mode to bring up the skill casting screen, and cast a skill by moving your mouse over the slice and letting go of the cast key. Some skills, called bound skills, must be manually cast after binding with middle click (by default).
- Currently implemented skill categories include heavy blow, iron guard, grapple, kick, shield bash, coup de grace, war cry, feint, prowess, judgment, memento mori, hex, and morale. Skills to be added include potshot, caltrops, weapon throw, and some others.
- Visit the readme on Github to read them all, as there are well over a hundred variations in total. Descriptions are also available in-game.
- All skill icons are taken royalty-free from Lorc's site game-icons.net.
Miscellaneous changes/bonus features: useful luck stat, sweeping edge buff, block reach adds attack reach.
- When attacking, a number is rolled between 0 and (attacker luck-target luck), with damage increased or decreased accordingly. The luck bonus can be adjusted or disabled in the config.
- Sweep attacks cannot be executed without sweeping edge, but will hit everything in an area for full damage and all enchantment or on-hit effects.
- The default angle increment for each extra level of sweeping edge is 40 degrees.
- Block reach is factored into attack reach and sweep reach.