Thiaz-AutomaticPvPSwitch icon

AutomaticPvPSwitch

Automatically switches player ability builds when entering PvP combat.

Last updated 2 hours ago
Total downloads 3
Total rating 0 
Categories Server Mods Oakveil Update
Dependency string Thiaz-AutomaticPvPSwitch-1.1.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack_V_Rising-1.733.2 icon
BepInEx-BepInExPack_V_Rising

BepInEx pack for V Rising. Preconfigured and includes Unity Base DLLs.

Preferred version: 1.733.2
cheesasaurus-HookDOTS_API-1.1.1 icon
cheesasaurus-HookDOTS_API

Provides an API for mods to hook Unity DOTS systems.

Preferred version: 1.1.1
deca-VampireCommandFramework-0.11.0 icon
deca-VampireCommandFramework

Command framework for developers to easily create universal commands for their plugins.

Preferred version: 0.11.0

README

AutomaticPvPSwitch

Server mod for V Rising. Automatically switches player ability builds when entering PvP combat.

How it works

Players save separate PvP and PvE ability builds. When a player enters PvP combat (detected via Buff_InCombat_PvPVampire), their abilities are automatically swapped to their saved PvP build. Players can manually switch back to PvE with .pve when Vampire PvP Combat debuff expires (Also has a 10s cooldown between manual switches).

Ability swaps use the VBloodAbilityUtilities.TryApplyVBloodAbility - this updates the ability bar, "spellbook" UI, network sync, and preserves cooldowns.

The switch back to PvE is not automatic - players must use .pve manually when they're ready. This avoids unwanted swaps mid-fight if the PvP buff briefly drops.

Saved slots

  • Spell 1 (bar slot 5)
  • Spell 2 (bar slot 6)
  • Ultimate (bar slot 7)
  • Travel/Veil (bar slot 2)

Commands

Player commands

Command Description
.pvp save Save current abilities as PvP build
.pve save Save current abilities as PvE build
.pvp Switch to PvP build (blocked during PvP debuff, 10s cooldown)
.pve Switch to PvE build (blocked during PvP debuff, 10s cooldown)
.pvp enable Enable auto-switch for yourself (default)
.pvp disable Disable auto-switch for yourself

Admin commands

Command Description
.pvpswitch Show global status
.pvpswitch enable Enable the automatic switch to the PvP build, globally
.pvpswitch disable Disable the automatic switch to the PvP build, globally (manual .pvp/.pve still work)
.pvpswitch reset Clear all saved builds for all players (use after a wipe)
.pvpswitch resetplayer <name> Clear a specific player's builds and remove their VBlood abilities

Saved configs

  • Player builds: BepInEx/config/AutomaticPvPSwitch/builds.json
  • Global toggle: BepInEx/config/AutomaticPvPSwitch/global_enabled - if the file is absent, the automatic switch is enabled; a file containing 1 also means enabled; a file containing 0 means no automatic PvP switch.

Performance

  • Event-driven: a HookDOTS prefix on BuffSystem_Spawn_Server reacts only to buffs spawned that tick, resolving the carrier via EntityOwner.Owner. No per-tick polling of players.
  • Zero cost when no player has a PvP build saved (early-out).
  • Zero allocation on ticks where no buff spawns.
  • The only heavy work (applying a build) runs on the combat-entry event, not every tick.

Dependencies & credits

License

AGPL-3.0.