V Rising
Install

Details

Last Updated
First Uploaded
Downloads
69
Likes
0
Size
71KB
Dependency string
Thiaz-AutomaticPvPSwitch-1.1.0
Dependants

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.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.