HexesAndSanguineSteel
Server-side custom weapon framework for V Rising with custom abilities, stats, weapon type bonuses, and school on-hit effects.
| Last updated | a week ago |
| Total downloads | 48 |
| Total rating | 0 |
| Categories | Server Mods Oakveil Update |
| Dependency string | Ruy-HexesAndSanguineSteel-1.0.3 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_V_Rising
BepInEx pack for V Rising. Preconfigured and includes Unity Base DLLs.
Preferred version: 1.733.2deca-VampireCommandFramework
Command framework for developers to easily create universal commands for their plugins.
Preferred version: 0.11.0README
Hexes and Sanguine Steel
Server-side custom weapon and abilities mod for V Rising.
Create named weapons, replace weapon and spells ability slots, customize their cooldowns, add stat bonuses, and apply school on-hit effects.
This mod bases itself on admin commands, but the players can access to the weapon through the upgrade system.
If the weapon type bonuses are enabled, every weapon of that type will recieve the benefit of it. With this admins/server owners can change how some weapons behave regarding stats and balance them out in case a weapon is being overshadowed by the other-
Aside from the weapons, this mod allows to replace weapons/spells to the Q|E|Dash|R|C|T keys and manually set their cooldowns as the user pleases.
Credits
This mod is mainly inspired for its systems and ideas by the following amazing mods and people:
- Bloodcraft by zfolmt — inspiration/reference for the boss style weapons
- CustomAbilities by Fryke — inspiration/reference for custom spells and abilities workflow.
Table of Contents
- Feature Overview
- Install
- Configuration
- Creating Custom Weapons
- Using Commands
- Compatibility Notes
- Development
Feature Overview
Custom Weapons
- Define custom weapons in
weapons.json. - Override Attack, Q, E, Dash, R, C, and Ultimate-style slots.
- Set cooldowns per configured ability.
- Bind weapons to a specific item instance with
.csw wepgiveor.csw upgrade. - Upgrade held Shadow Matter weapons into configured custom weapons.
Stats and Weapon Type Bonuses
- Apply weapon stats through runtime stat carriers instead of global prefab mutation.
- Add per-weapon
Stats[]entries. - Add
WeaponTypeBuffsfor weapon-type-wide stat rules. - Supports stat aliases such as
AttackSpeed→PrimaryAttackSpeed.
School On-Hit Effects
- Add school effects through
OnHitEffects[]. - Supported proven school effects include Leech, Static, Chill, Ignite, Weaken, and Condemn.
- Effects can be restricted to players, non-players, or both.
Runtime Safety
- Suppresses custom ability injection during shapeshift forms.
- Suppresses custom ability injection during feed and V Blood extraction states.
- Guards replacement slots against temporary ability bars with fewer slots.
- Normal logging is quiet; detailed logs require
DebugLogging: true.
Install
- Install BepInEx IL2CPP for your V Rising dedicated server.
- Install VampireCommandFramework.
- Build or download
HexesAndSanguineSteel.dll. - Place the DLL in:
BepInEx/plugins/HexesAndSanguineSteel/
- Start the server once to generate config files.
Configuration
Generated config files live in:
BepInEx/config/HexesAndSanguineSteel/
Main files:
weapons.json Custom weapons, stats, weapon type buffs, and on-hit effects
player-spells.json Saved per-player weapon-scoped spell overrides
weapon-instances.json Saved item-instance custom weapon bindings
A minimal starter config is included at:
Resources/weapons.example.json
Legacy configs from BepInEx/config/CustomWeaponMod/ are copied into the new folder on first run when needed.
Creating Custom Weapons
Custom weapons are configured in weapons.json.
The safest workflow is:
1. Start the server once so the config folder is generated.
2. Open BepInEx/config/HexesAndSanguineSteel/weapons.json.
3. Copy an existing weapon entry in the Weapons array.
4. Change Name, ItemWeapon, abilities, cooldowns, stats, and optional on-hit effects.
5. Save the file.
6. Run .csw reload in-game.
7. Run .csw validate.
8. Give or bind the weapon with .csw wepgive or .csw upgrade.
Minimal weapon entry
{
"Enabled": true,
"Name": "Crimson Thorns",
"ItemWeapon": 1307774440,
"EquipBuff": 673013659,
"CarrierBuff": 0,
"StatCarrierBuff": 0,
"WeaponLevel": 100,
"PhysicalPower": 0,
"SpellPower": 0,
"Stats": [
{
"StatType": "PhysicalPower",
"ModificationType": "AddToBase",
"AttributeCapType": "SoftCapped",
"Value": 35
},
{
"StatType": "SpellPower",
"ModificationType": "AddToBase",
"AttributeCapType": "SoftCapped",
"Value": 10
}
],
"Attack": -208121356,
"AttackCooldown": 0,
"Primary": 1826128809,
"PrimaryCooldown": 8,
"Secondary": 1730729556,
"SecondaryCooldown": 10,
"Dash": -1940289109,
"DashCooldown": 6,
"Ultimate": -1730693034,
"UltimateCooldown": 60,
"Spell Slot 1": 841757706,
"Spell Slot 1 Cooldown": 8,
"Spell Slot 2": 1295370119,
"Spell Slot 2 Cooldown": 8,
"OnHitEffects": []
}
Weapon fields
| Field | Purpose |
|---|---|
Name |
The name used by .csw wepgive, .csw upgrade, and .csw list. |
ItemWeapon |
The base weapon item prefab GUID. This controls which weapon item is used. |
EquipBuff |
The weapon equip buff reference. Keep the matching vanilla equip buff for the base weapon. |
CarrierBuff |
Optional ability carrier override. Use 0 to use DefaultCustomWeaponCarrierBuff. |
StatCarrierBuff |
Optional stat carrier override. Use 0 to use DefaultCustomWeaponStatCarrierBuff. |
WeaponLevel |
Weapon level/power display value used by the custom weapon definition. |
Stats[] |
Runtime stat modifiers. This is the preferred stat system. |
Attack, Primary, Secondary, Dash, Ultimate, Spell Slot 1, Spell Slot 2 |
Ability group prefab GUIDs for each slot. Use 0 to leave a slot unchanged. |
*Cooldown |
Cooldown in seconds for the matching ability. |
OnHitEffects[] |
Optional school debuffs applied on hit. |
Keep PhysicalPower and SpellPower at 0 when using Stats[] to avoid double-stacking.
Ability slot mapping
Attack Basic attack
Primary Q
Secondary E
Dash Dash
Ultimate T
Spell Slot 1 R-style slot
Spell Slot 2 C-style slot
Use *_AbilityGroup prefab GUIDs for ability slots. Do not use cast, projectile, hit buff, or spell mod GUIDs for these fields.
Stats
Stats are added through Stats[].
{
"StatType": "AttackSpeed",
"ModificationType": "AddToBase",
"AttributeCapType": "SoftCapped",
"Value": 0.10
}
Useful commands:
.csw stattypes speed
.csw stattypes power
.csw modtypes
AttackSpeed is accepted as an alias for PrimaryAttackSpeed.
School on-hit effects
Use OnHitEffects[] to apply school debuffs on valid hits.
"OnHitEffects": [
{
"Enabled": true,
"Chance": 0.15,
"TargetBuff": -1576512627,
"AffectPlayers": false,
"AffectNonPlayers": true
}
]
Known school effect buff GUIDs:
Blood Leech -1246704569
Storm Static -1576512627
Frost Chill 27300215
Chaos Ignite 348724578
Illusion Weaken 1723455773
Unholy Condemn -325758519
Weapon type buffs
WeaponTypeBuffs add stat rules by weapon type.
"WeaponTypeBuffs": [
{
"Enabled": true,
"WeaponType": "Mace",
"ApplyToCustomWeapons": true,
"Stats": [
{
"StatType": "AttackSpeed",
"ModificationType": "AddToBase",
"AttributeCapType": "SoftCapped",
"Value": 0.10
}
]
}
]
Use these commands to inspect and apply weapon type rules:
.csw typebuffs
.csw typebuffscope
.csw applytypebuffs
Using Commands
All admin commands use one prefix:
.csw
Common setup flow
.csw reload
.csw validate
.csw list
.csw wepgive "Crimson Thorns"
.csw identify
Create and test a custom weapon
.csw reload
.csw validate
.csw wepgive "Crimson Thorns"
.csw identify
.csw wepgive gives the sender a named custom weapon and binds that exact item instance.
Upgrade a Shadow Matter weapon
.csw options
.csw upgrade "Crimson Thorns"
.csw identify
Hold a matching Shadow Matter weapon first. .csw options shows compatible upgrade choices for the held weapon type.
Edit stats or weapon type buffs
.csw reload
.csw typebuffs
.csw typebuffscope
.csw applytypebuffs
Use .csw typebuffscope while holding the weapon you want to test. It shows the resolved weapon type and whether a matching rule exists.
Player spell overrides
Spell overrides are optional and are saved per player and weapon scope.
.csw spell "Player Name" q <abilityGroupGuid> 8
.csw spellscope "Player Name"
.csw spellshow "Player Name"
.csw spellclear "Player Name" q
.csw spellapply "Player Name"
Custom weapons have priority over player spell overrides while equipped.
See COMMANDS.md for the full command reference.
Compatibility Notes
- Server-side only.
- Designed for dedicated server use.
- School on-hit effects follow the same style of school debuffs used by Bloodcraft classes, but this mod keeps its own config and runtime logic.
- Custom weapon abilities are intentionally disabled during shapeshift and boss-feed/V Blood extraction states to avoid temporary ability-bar conflicts.