You are viewing a potentially older version of this package. View all versions.
ZenDragon-ZenCombat-0.2.1 icon

ZenCombat

Enhanced combat mechanics, dedicated dodge button, auto equip shield, melee on a slope, arrow aim improvements, etc.

Date uploaded 2 weeks ago
Version 0.2.1
Download link ZenDragon-ZenCombat-0.2.1.zip
Downloads 512
Dependency string ZenDragon-ZenCombat-0.2.1

This mod requires the following mods to function

ZenDragon-Zen_ModLib-1.0.5 icon
ZenDragon-Zen_ModLib

Shared code library used in all ZenMods.

Preferred version: 1.0.5

README

ZenCombat

Adjustments to bring more fun and balance to the combat system.

NOTE: Pair with the ZenTargeting mod for target lock!

  • Dedicated dodge button for keyboard and gamepad.
  • Game Setting: "Attack towards look dir" now also works with block.
  • Equip last used shield automatically when drawing 1h weapon.
  • Auto equip your lantern or torch and keep your weapon drawn.
  • Bows aim directly at the crosshair.
  • No wooden arrows, overpowered, too cheap.
  • Restrict movement when drawing a bow.
  • Melee correctly on slopes.
  • Red screen flash is reduced when taking damage so that it is less blinding.
  • Do not show 0 when doing no damage.
  • Reduce the range that damage numbers appear for other players.

Client / Server Requirements

NOTE: Technically it is not required on the server. However, if it is installed on the server then it will force all clients to have it installed as well. This is to enable two modes of usage:

  1. Dedicated server admins can put the mod on the server to enforce all clients to have the mod installed and sync admin configs.
  2. Trusted friends can agree to run the same mods and connect through a vanilla dedicated server with no enforcement but with locked admin configs.

Client Only

This mod operates entirely client side. That means you can connect to any vanilla server with this mod installed. Other players do not need to have the mod installed.

NOTE: If you host a game session with this mod installed then it will be considered to be installed on the server since your session is the server. Therefor, all clients will be required to have it. If you don't want to require all players to have this mod then you will need to host your game in a dedicated server. You can easily download and run the Valheim Dedicated Server from Steam or host one in the cloud.

Extend Functionality with Additional ZenMods

  • ZenTargeting: Target lock is awesome! :)
  • ZenRedecorate: Move chests around without destroying them.
  • ZenItemStand: Item Stands and Armor Stands behave like containers. Quickly swap your gear.

Improve Your Experience

CORE MODS

The full collection of all Zen MODS:

  • Radically improved QoL
  • Incredible performance
  • Pre-configured
  • 100% Gamepad support
  • Spectacularly immersive

Enjoy!

Sample Config File

## Settings file was created by plugin ZenCombat v0.1.19
## Plugin GUID: ZenDragon.ZenCombat

[AutoShield]

## Automatically equip the recent shield when equipping main 1h weapon.
## Plus extra logic to make the torch behave nicely with auto shield.
## Intuitivly toggle weapons and shields and torches without needing to think about it to much.
# Setting type: Boolean
# Default value: true
Autoequip Recent Shield = true

[Bows]

## [Admin] Allow wood arrows?  They are a bit OP because they are so cheap and lethal.
## When enabled it does not make firing an arrow a risky proposition and they 
## undermine any reason to invest in more expensive ammunition.
# Setting type: Boolean
# Default value: false
Enable WoodArrow = false

## [Admin] How much damage should wood arrows do if they are enabled?
## They are very OP by default for being a basic crude arrow. (Vanilla: 22)
# Setting type: Single
# Default value: 1
# Acceptable value range: From 0.1 to 22
WoodArrow Damage = 1

## [Admin] Angle that the projectile is launched at.  To offset the default undershot in Vanilla. (Vanilla: 0)
# Setting type: Single
# Default value: -2
Projectile Launch Angle = -2

## [Admin] Percent of normal movement speed when bow is drawn, 0.5 = 50%, move half speed when drawing bow. (Vanilla: 1)
## NOTE: If CombatOverhaulRewrite is installed it is recommended to set this to 1 otherwise the two mods will compound this value.
# Setting type: Single
# Default value: 0.5
# Acceptable value range: From 0 to 1
Movement Speed = 0.5

[Input]

## Dodge becomes a separate button from jump, you no longer need to hold block to dodge.
## Gamepad: Interact (aka Use) is moved to X on classic controller layout to make room. [Restart Required]
## Keyboard: Define the custom key using the config option below.
# Setting type: Boolean
# Default value: true
Separate Jump/Dodge Buttons = true

## Keyboard: Dedicated dodge button for keyboard.
# Setting type: KeyCode
# Default value: LeftAlt
# Acceptable values: None, Backspace, Tab, Clear, Return, Pause, Escape, Space, Exclaim, DoubleQuote, Hash, Dollar, Percent, Ampersand, Quote, LeftParen, RightParen, Asterisk, Plus, Comma, Minus, Period, Slash, Alpha0, Alpha1, Alpha2, Alpha3, Alpha4, Alpha5, Alpha6, Alpha7, Alpha8, Alpha9, Colon, Semicolon, Less, Equals, Greater, Question, At, LeftBracket, Backslash, RightBracket, Caret, Underscore, BackQuote, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, LeftCurlyBracket, Pipe, RightCurlyBracket, Tilde, Delete, Keypad0, Keypad1, Keypad2, Keypad3, Keypad4, Keypad5, Keypad6, Keypad7, Keypad8, Keypad9, KeypadPeriod, KeypadDivide, KeypadMultiply, KeypadMinus, KeypadPlus, KeypadEnter, KeypadEquals, UpArrow, DownArrow, RightArrow, LeftArrow, Insert, Home, End, PageUp, PageDown, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, Numlock, CapsLock, ScrollLock, RightShift, LeftShift, RightControl, LeftControl, RightAlt, LeftAlt, RightMeta, RightCommand, RightApple, LeftMeta, LeftCommand, LeftApple, LeftWindows, RightWindows, AltGr, Help, Print, SysReq, Break, Menu, Mouse0, Mouse1, Mouse2, Mouse3, Mouse4, Mouse5, Mouse6, JoystickButton0, JoystickButton1, JoystickButton2, JoystickButton3, JoystickButton4, JoystickButton5, JoystickButton6, JoystickButton7, JoystickButton8, JoystickButton9, JoystickButton10, JoystickButton11, JoystickButton12, JoystickButton13, JoystickButton14, JoystickButton15, JoystickButton16, JoystickButton17, JoystickButton18, JoystickButton19, Joystick1Button0, Joystick1Button1, Joystick1Button2, Joystick1Button3, Joystick1Button4, Joystick1Button5, Joystick1Button6, Joystick1Button7, Joystick1Button8, Joystick1Button9, Joystick1Button10, Joystick1Button11, Joystick1Button12, Joystick1Button13, Joystick1Button14, Joystick1Button15, Joystick1Button16, Joystick1Button17, Joystick1Button18, Joystick1Button19, Joystick2Button0, Joystick2Button1, Joystick2Button2, Joystick2Button3, Joystick2Button4, Joystick2Button5, Joystick2Button6, Joystick2Button7, Joystick2Button8, Joystick2Button9, Joystick2Button10, Joystick2Button11, Joystick2Button12, Joystick2Button13, Joystick2Button14, Joystick2Button15, Joystick2Button16, Joystick2Button17, Joystick2Button18, Joystick2Button19, Joystick3Button0, Joystick3Button1, Joystick3Button2, Joystick3Button3, Joystick3Button4, Joystick3Button5, Joystick3Button6, Joystick3Button7, Joystick3Button8, Joystick3Button9, Joystick3Button10, Joystick3Button11, Joystick3Button12, Joystick3Button13, Joystick3Button14, Joystick3Button15, Joystick3Button16, Joystick3Button17, Joystick3Button18, Joystick3Button19, Joystick4Button0, Joystick4Button1, Joystick4Button2, Joystick4Button3, Joystick4Button4, Joystick4Button5, Joystick4Button6, Joystick4Button7, Joystick4Button8, Joystick4Button9, Joystick4Button10, Joystick4Button11, Joystick4Button12, Joystick4Button13, Joystick4Button14, Joystick4Button15, Joystick4Button16, Joystick4Button17, Joystick4Button18, Joystick4Button19, Joystick5Button0, Joystick5Button1, Joystick5Button2, Joystick5Button3, Joystick5Button4, Joystick5Button5, Joystick5Button6, Joystick5Button7, Joystick5Button8, Joystick5Button9, Joystick5Button10, Joystick5Button11, Joystick5Button12, Joystick5Button13, Joystick5Button14, Joystick5Button15, Joystick5Button16, Joystick5Button17, Joystick5Button18, Joystick5Button19, Joystick6Button0, Joystick6Button1, Joystick6Button2, Joystick6Button3, Joystick6Button4, Joystick6Button5, Joystick6Button6, Joystick6Button7, Joystick6Button8, Joystick6Button9, Joystick6Button10, Joystick6Button11, Joystick6Button12, Joystick6Button13, Joystick6Button14, Joystick6Button15, Joystick6Button16, Joystick6Button17, Joystick6Button18, Joystick6Button19, Joystick7Button0, Joystick7Button1, Joystick7Button2, Joystick7Button3, Joystick7Button4, Joystick7Button5, Joystick7Button6, Joystick7Button7, Joystick7Button8, Joystick7Button9, Joystick7Button10, Joystick7Button11, Joystick7Button12, Joystick7Button13, Joystick7Button14, Joystick7Button15, Joystick7Button16, Joystick7Button17, Joystick7Button18, Joystick7Button19, Joystick8Button0, Joystick8Button1, Joystick8Button2, Joystick8Button3, Joystick8Button4, Joystick8Button5, Joystick8Button6, Joystick8Button7, Joystick8Button8, Joystick8Button9, Joystick8Button10, Joystick8Button11, Joystick8Button12, Joystick8Button13, Joystick8Button14, Joystick8Button15, Joystick8Button16, Joystick8Button17, Joystick8Button18, Joystick8Button19
Keyboard Dodge Button = LeftAlt

[Melee]

## [Admin] Attack targets on slopes above or below you.
# Setting type: Boolean
# Default value: true
Enable Slope Combat = true

## When the vanilla setting 'Attack towards look direction' is enabled this makes it also apply those rules for blocking. (Vanilla : false)
# Setting type: Boolean
# Default value: true
Block Towards Look Direction = true

[UI]

## [Admin] Override the vanilla red screen damage flash with a softer less blinding style.
# Setting type: Boolean
# Default value: true
Softer Damage Screen Flash = true

## [Admin] Do not broadcast damage text 0
# Setting type: Boolean
# Default value: true
Disable Damage Text 0 = true

## [Admin] Max range that damage text is visible. Set to 0 to disable all damage text. (Vanilla: 30)
# Setting type: Single
# Default value: 8
Damage Text Max Range = 8


Like My Mods? Donations Welcome

Bitcoin

Donation QR

CHANGELOG

v0.2.8

  • fix: wood arrow config options were not syncing with servers in multiplayer.

v0.2.7

  • small fix: Change option PushbackForce to admin only so only server admins can set it when playing multiplayer.

v0.2.6

  • Add Config: PushbackForce: The percent of pushback to apply. Vanilla feels too weightless, default 40% of vanilla.
  • Add Config: DamageTextVisibility: Default self only: This means you will only see the damage texts that you generate, not other players.
  • Remove Config: DamageTextMaxRange: No longer needed because DamageTextVisibility solves the problem that this config was trying to solve.

v0.2.5

  • fix: do not unequip shield if you throw your spear.

v0.2.4

  • do not remap gamepad controls if the option: Separate Jump/Dodge Buttons is false.

v0.2.3

  • fix: disable remap dodge config option was not working for keyboard.

v0.2.2

  • fixed config sync
  • parrying a ranged attack does not stun the attacker.

v0.2.1

  • removed BepInEx from dependency, Zen.ModLib handles it.

v0.2.0

  • use Zen.ModLib

v0.1.20

  • update readme.

v0.1.19

  • add config option Block Towards Look Direction.
  • prevent dodge button from having any effect when sitting (Alt-Tab without standing)

v0.1.18

  • bugfix: Autoequip config value wasn't properly being checked in all areas. Now it can be fully turned off.

    v0.1.17

  • update configs and logging subsystem

v0.1.16

  • UPDATE FOR VALHEIM v0.220.3

v0.1.15

  • Bugfix: admin only config options can now be changed when connecting to vanilla server.

v0.1.14

  • Changed config option: bow draw movement speed default value to 0.5 from 1.

v0.1.13

  • Dedicated dodge button for keyboard and gamepad.