

Server only mod for RPG systems, which also includes ChatCommands with bug fixes. Read the changelog for extra details. My Fork adds a number of config options to mastery and allows you to invert the dynamic faction system, making them stronger when killed.
Disable the VRising Gear Level system and replace it with a traditional RPG experience system,
complete with exp sharing between clan members or other players designated as allies.
Weapon Mastery
Mastering a weapon will now progressively give extra bonuses to the character's stats, all of which are configurable.
Weapon mastery will increase when the weapon is used to kill a creature, and while in combat to a maximum of 60 seconds. (0.001%/Sec)
Spell mastery can only increase and take effect when no weapon is equipped. Unless changed in the configuration options.
New Efficency Subsystem. Off by default, but turn it on to be able to reset your masteries to make them act like they are that % higher, reset a 100% mastery will give you 100% more effect out of it in the future.
New Growth Subsystem. Off by default, but turn it on with efficency, and when you reset a mastery it will be faster to level up, or slower, however you configure it.
Mastery Decay
When the vampire goes to sleep (offline), all their mastery will continuously decay per minute passed while offline.
This decay will keep on counting even while the server is offline.
A new system where every NPC you kill contributes to a heat system,
if you kill too many NPCs from that faction, eventually your heat level will rise higher and higher.\
The higher your heat level is, a more difficult squad of ambushers will be sent by that faction to kill you.
Heat level will eventually cooldown the longer you go without killing NPCs from that faction,
space your kills so you don't get hunted by an extremely elite group of assassins.\
Otherwise, if you are dead for any reason at all, your heat/wanted level will reset back to anonymous.\
Note:
- Ambush may only occur when the player is in combat.
- All mobs spawned by this system is assigned to Faction_VampireHunters
Configurable PvP kill serverwide announcement.
Kill/Death will also be recorded, and a ladder board for the Top 10 K/D on the server.
Toggle PvP Commnd
If enabled, players can toggle their pvp status on/off via the pvp command.
If their pvp status is off, they are excluded from all PvP damage.
Your server must be configured as a PvP server for the toggle to work,
players will otherwise never be able to do any pvp damage despite toggling pvp status to be on.
PvP toggle will be overridden by Hostility Mode if the honor system is active.
Punishment System
Additionally, there's a punishment system which can be used to punish players who kill lower level players,
which is configurable in the config.
The punishment system also has an anti-cheese built-in in case the server is not using the EXP system.
Purposefully unequiping gear to appear as lower level to cheese the punishment system will not work.
Punishment will apply a debuff that reduces player combat efficiency.
Honor System
All vampires start with Neutral honor rank.
Killing a vampire with a neutral or positive honor rank will deduct some honor points,
while killing a vampire with a negative honor rank will reward the player with some honor points.
Another way to gain honor is by grinding mobs. Each mob kill will give 1 honor point.
There's a hard limit of 250p/hours gain to prevent grind.
The honor title is added as a prefix to the player's name.
All chat commands which are included within RPGMods should still be used without the
honor title prefix if a player name is required.
Other stuff like whispering to other players does require the title prefix to be used.
Honor title prefix is not automatically updated for chat messages,
everything else like building ownership and hovering player names are automatically updated.
For all the mechanics to work correctly, please set your server settings to:
Game Mode: PvPCastle Damage Mode: AlwaysPlayer Damage Mode: Always[ON] Aggressive
Can damage any player.
No reputation loss will be given to the aggressor when killed.
[OFF] Passive
Cannot damage other players with a positive reputation.
[ON] Sieging
Player castle(s) are now vulnerable, and can damage other sieging player castle(s).
Aggressive state is enforced during siege time.
Siege mode cannot be exited until a 3 hour window has passed since activation.
Activating siege mode will also affect your allies.
[OFF] Defensive
Exit castle siege mode.
Castle(s) are now invulnerable.
Player is able to enter passive state again.
Global Siege
In global siege mode, all castles are vulnerable unless the player's honor bonus says otherwise.
Player aggressive state is not enforced during global siege.
| Title | Requirement | Reward/Kill | Bonus |
|---|---|---|---|
| Glorious | 10000 | -1000 | Castle(s) is permanently invulnerable. Bonus is negated if allied with Dreaded players. |
| Noble | 5000 | -500 | Castle(s) receive -50% reduced damage. Bonus is negated if allied with Dreaded players. |
| Virtuous | 1500 | -100 | +15% resource gathering. |
| Reputable | 500 | -50 | -25% durability loss. (Does not affect durability loss from combat.) |
| Neutral | 0 | -25 | No additional stats. |
| Suspicious | -1 | 0 | No additional stats. |
| Infamous | -1000 | 10 | Enforced aggressive state. |
| Villainous | -3000 | 50 | -20% damage taken from positive rep vampires. |
| Nefarious | -10000 | 100 | +20% damage dealt to positive rep vampires. |
| Dreaded | -20000 | 150 | Enforced castle siege participation |
Each factions in the world will continously gain strength for every in-game day cycle.
Vampires will need to regularly cull these factions mobs to prevent or weaken the faction.
For each mobs killed, the faction growth will be hampered, if enough are killed, the faction may even weaken.
Every faction strength gain and stat buff can be manually configured, by the server admin via config & json file.
Use Gaming.Tools to look up NPCs faction.
//-- DO NOT COPY PASTE - JUST EDIT THE FILE BUILD BY THE AUTOMATICALLY
//-- INFO:
//-- - Dynamic value: can and will change during gameplay.
//-- - Static value: will not change during game play.
//-- - FactionBonus: this section is all static.
"-413163549": {
"Name": "Faction_Bandits",
"Active": false, //-- Set to true to activate this faction
"Level": 0, //-- Dynamic value.
"MaxLevel": 0, //-- Static value. Faction will never go above this level.
"MinLevel": 0, //-- Static value. Faction will never go below this level.
"ActivePower": 0, //-- Dynamic value. Current active power that will get exported to stored power.
"StoredPower": 0, //-- Dynamic value. Once it reach required power, faction level up. If it reach < 0, faction level down.
"DailyPower": 0, //-- Static value. Active power will be set to this for every in-game day cycle.
"RequiredPower": 0, //-- Static value. Stored power need to reach this value for faction to level up.
"FactionBonus": {
"Level_Int": 0, //-- Stats bonus that will be given to the faction mobs. Formula: OriginalValue + (Value * Level)
"HP_Float": 0, //-- Leave at 0 to not give bonus. Negative to debuff when level up, buff when level down. Postitive to buff when level up, debuff when level down.
"PhysicalPower_Float": 0,
"PhysicalResistance_Float": 0, //-- Unit will be invulnerable to physical damage if this reach 1
"PhysicalCriticalStrikeChance_Float": 0,
"PhysicalCriticalStrikeDamage_Float": 0,
"SpellPower_Float": 0,
"SpellResistance_Float": 0, //-- Unit will be invulnerable to spell damage if this reach 1
"SpellCriticalStrikeChance_Float": 0,
"SpellCriticalStrikeDamage_Float": 0,
"DamageVsPlayerVampires_Float": 0,
"ResistVsPlayerVampires_Float": 0, //-- Unit will be invulnerable to player if this reach 1
"FireResistance_Int": 0
}
}
Use Gaming.Tools to look up NPCs GUID. You can add some monster to the ignored list with their Prefab Name.
[
"CHAR_Undead_Banshee",
"CHAR_Cultist_Pyromancer"
]
Commands are configured to require a minimum level of permission for the user to be able to use them.
When there's no minimum permission set in the command_permission.json, it will default to a minimum requirement of permission lv. 100.
VIP System, when enabled, will enable the user with permission level higher or equal to the minimum requirement set in the config,
to be able to bypass server capacity.
Permission levels range from 0 to 100.
With 0 as the default permission for users (lowest),
and 100 as the highest permission (admin).
You can now ban a player for the specified duration in days using the .ban/.unban command.
WARNING If you remove RPGMods, all the banned users via the command will no longer be banned!
Now allows all text from RPGMods to be customized to your language, a Language.Json file will be generated in the Bepinex/Config/RPGMods subfolder, to provide a translation, where it has something like {"" not found.", "" not found."} change it to something like {" not found.", "" 見つけありません"} to change the displayed text.
Prefix [default .]Command Delay [default 5]DisabledCommands [default empty]WayPoint Limits [default 3]Enable VIP System [default false]Enable VIP Whitelist [default false]Minimum VIP Permission [default 10]Durability Loss Multiplier [default 0.5]Garlic Resistance Multiplier [default -1.0]Silver Resistance Multiplier [default -1.0]Move Speed Multiplier [default -1.0]Resource Yield Multiplier [default 2.0]Durability Loss Multiplier [default 0.5]Garlic Resistance Multiplier [default 2.0]Silver Resistance Multiplier [default 2.0]Move Speed Multiplier [default 1.25]Resource Yield Multiplier [default 2.0]Announce PvP Kills [default true]Enable Honor System [default false]Enable Honor Title [default true]Max Honor Gain/Hour [default 250]Enable Honor Benefit & Penalties [default true]Custom Siege Duration [default 180]Enable Hostile Glow [default true]Enable Proximity Hostile Glow [default true]Enable the PvP Ladder [default true]Sort PvP Ladder by Honor [default true]Enable PvP Toggle [default true]Enable PvP Punishment [default true]Punish Level Difference [default -10]Offense Limit [default 3]Offense Cooldown [default 300]Debuff Duration [default 1800]Buff Siege Golem [default false]Physical Damage Reduction [default 0.5]Spell Damage Reduction [default 0.5]Enable [default true]Heat Cooldown Value [default 35]Bandit Heat Cooldown Value [default 35]Cooldown Interval [default 60]Ambush Interval [default 300]Ambush Chance [default 50]Ambush Despawn Timer [default 300]Enable [default true]Max Level [default 80]Multiplier [default 1]VBlood Multiplier [default 15]EXP Lost / Death [default 0.10]Constant [default 0.2]Group Modifier [default 0.75]Ally Max Distance [default 50]Enable Weapon Mastery [default true]Enable Mastery Decay [default true]Max Mastery Value [default 100000]Mastery Value/Combat Ticks [default 5]Max Combat Ticks [default 12]Mastery Multiplier [default 1]VBlood Mastery Multiplier [default 15]Decay Interval [default 60]Decay Value [default 1]X Stats
The stat IDs that the mastery of a given weapon should boost, as shown on the table below. the amount of entries here MUST match the amount in the paired X RatesX Rates
The amount of a stat per mastery percentage, except in the case of CDR where it is the amount of mastery percentage to be 50% cdrStat IDs copied from the code. PhysicalPower = 0, ResourcePower = 1, SiegePower = 2, ResourceYield = 3, MaxHealth = 4, MovementSpeed = 5, CooldownModifier = 7, PhysicalResistance = 8, FireResistance = 9, HolyResistance = 10, SilverResistance = 11, SunChargeTime = 12, EnergyGain = 17, MaxEnergy = 18, SunResistance = 19, GarlicResistance = 20, Vision = 22, SpellResistance = 23, Radial_SpellResistance = 24, SpellPower = 25, PassiveHealthRegen = 26, PhysicalLifeLeech = 27, SpellLifeLeech = 28, PhysicalCriticalStrikeChance = 29, PhysicalCriticalStrikeDamage = 30, SpellCriticalStrikeChance = 31, SpellCriticalStrikeDamage = 32, AttackSpeed = 33, DamageVsUndeads = 38, DamageVsHumans = 39, DamageVsDemons = 40, DamageVsMechanical = 41, DamageVsBeasts = 42, DamageVsCastleObjects = 43, DamageVsPlayerVampires = 44, ResistVsUndeads = 45, ResistVsHumans = 46, ResistVsDemons = 47, ResistVsMechanical = 48, ResistVsBeasts = 49, ResistVsCastleObjects = 50, ResistVsPlayerVampires = 51, DamageVsWood = 52, DamageVsMineral = 53, DamageVsVegetation = 54, DamageVsLightArmor = 55, DamageVsHeavyArmor = 56, DamageVsMagic = 57, ReducedResourceDurabilityLoss = 58, PrimaryAttackSpeed = 59, ImmuneToHazards = 60, PrimaryLifeLeech = 61, HealthRecovery = 62
Commands permission uses permission level which start from 0 to 100.
Permission level 0 means that it can be used by everyone.
User designated as SuperAdmin in your server admin list will always bypass the permission requirement.
Special commands params that require admin permission can also be adjusted here.
All abbreviation of the command are automatically included, you need only to put the primary command string.
The permissions are saved in BepInEx/config/RPGMods/command_permission.json
{
"help": 0,
"ping": 0,
"myinfo": 0,
"pvp": 0,
"pvp_args": 100,
"siege": 0,
"siege_args": 100,
"heat": 0,
"heat_args": 100,
"experience": 0,
"experience_args": 100,
"mastery": 0,
"mastery_args": 100,
"autorespawn": 100,
"autorespawn_args": 100,
"waypoint": 100,
"waypoint_args": 100,
"ban": 100,
"bloodpotion": 100,
"blood": 100,
"customspawn": 100,
"give": 100,
"godmode": 100,
"health": 100,
"kick": 100,
"kit": 100,
"nocooldown": 100,
"permission": 100,
"playerinfo": 100,
"punish": 100,
"rename": 100,
"adminrename": 100,
"resetcooldown": 100,
"save": 100,
"shutdown": 100,
"spawnnpc": 100,
"speed": 100,
"sunimmunity": 100,
"teleport": 100
}
Removing a command from the list will automatically set it's permission requirement value to 100.
help [<command>]
Shows a list of all commands.
Example: help experience
kit <name>
Gives you a previously specified set of items.
Example: kit starterset
You will get a new config file located in BepInEx/config/RPGMods/kits.json
[
{
"Name": "Kit1",
"PrefabGUIDs": {
"820932258": 50,
"2106123809": 20
}
},
{
"Name": "Kit2",
"PrefabGUIDs": {
"820932258": 50,
"2106123809": 20
}
}
]
blood <bloodtype> [<quality>] [<value>]
Sets your Blood type to the specified Type, Quality and Value.
Example: blood Scholar 100 100
bloodpotion <bloodtype> [<quality>]
Creates a Potion with specified Blood Type, Quality and Value.
Example: bloodpotion Scholar 100
waypoint <name|set|remove|list> [<name>]
Teleports you to previously created waypoints.
Example: waypoint set home <-- Creates a local waypoint just for you.
Example: waypoint home <-- Teleport you to your local waypoint.
Example: waypoint remove home <-- Remove your local waypoint.
Example: waypoint list <-- Shows a list of all to you accessible waypoints.
Special Params -> <name|set|remove|list> [<name>] [global] Creates a global waypoint usable by everyone.
Example: waypoint set arena global <-- Creates a global waypoint for everyone (Special Params).
Example: waypoint remove arena global <-- Remove a global waypoint for everyone (Special Params).
give <itemname> [<amount>]
Adds the specified Item to your Inventory.
Example: give Stone Brick 17
spawnnpc <prefabname> [<amount>] [<waypoint>]
Spawns a NPC. Optional: To a previously created waypoint.
Example: spawnnpc CHAR_Cursed_MountainBeast_VBlood 1 arena
customspawn <Prefab Name> [<BloodType> <BloodQuality> <BloodConsumeable("true/false")> <Duration>]
Spawns a modified NPC at your current position.
Example: customspawn CHAR_Bandit_Thug creature 100 true -1 -> Spawn Bandit Thug with unlimited lifespan.
Example: customspawn CHAR_Bandit_Thug creature 100 true 5 -> Spawn Bandit Thug with a lifespan of 5 seconds.
health <percentage> [<playername>]
Sets your health to the specified percentage (0 will kill the player).
Example: health 100
Example: health 0 LegendaryVampire
speed
Toggles speed buff.
sunimmunity
Toggles sun immunity.
nocooldown
Toggles all skills & abilities to have no cooldown.
resetcooldown [<playername>]
Reset all skills & abilities cooldown for you or the specified player.
Example: resetcooldown
Example: resetcooldown LegendaryVampire
teleport <playername>
Teleport to another online player within your clan.
Example: teleport LegendaryVampire
godmode
Toggles god mode for you.
autorespawn
Toggles auto respawn on same position on death.
Special Params -> [<all>|<playername>] Toggle the auto respawn for specified player or server wide.
Example: autorespawn all
Example: autorespawn LegendaryVampire
heat
Checks your heat/wanted level by the factions.
Special Params -> [<debug>|<value> <value> [<PlayerName>]] Display numeric heat or set your or the specified player heat.
Example: heat 500 500
Example: heat 500 500 LegendaryVampire
ping
Show you your latency to the server.
pvp [<on>|<off>|<top>]
Display your PvP statistics or toggle PvP state.
Example: pvp
Example: pvp top
Example: pvp on
Example: pvp off
Special Params -> <on>|<off> <playername> Toggles PvP state for the specified player.
Special Params -> <rep> <ammount> <playername> Set the specified player reputation points.
Example: pvp on LegendaryVampire
Example: pvp off LegendaryVampire
Example: pvp rep 1000 LegendaryVampire
siege [<on>|<off>]
Display all players currently in siege mode, or engage siege mode.
Example: siege
Example: siege on
Example: siege off
Special Params -> <global> Toggles server-wide siege mode on or off).
experience [<log> <on>|<off>]
Diplays your current exp and progression to the next level, or toggle the exp gain notification.
Example: experience
Example: experience log off
Special Params -> [<set> <value> [<PlayerName>]] Set your or the specified player experience value.
Example: experience set 1000
Example: experience set 2000 LegendaryVampire
mastery [<log> <on>|<off>]
Display your current mastery progression, or toggle the mastery gain notification.
Use .mastery reset all, or .mastery reset [weapon type] to reset it to 0 adding that amount to your efficency, and a configurable % of that to your mastery growth rate for that weapon. A negative number in growth means that it will decrease multiplicitavely based on that, formula of mastery/(mastery + negative growth rate) is multiplied in.
Example: mastery
Example: mastery log off
Special Params -> [<set> <type> <value> [<PlayerName>]] Set your or the specified player mastery value.
Example: mastery set sword 100000
Example: mastery set spear 2000 LegendaryVampire
save
Trigger the database saving manually.
punish <playername> [<remove>]
Manually punish someone or lift their debuff.
This command may still be used even when punishment system is disabled.
Example: punish LegendaryVampire
Example: punish LegendaryVampire remove
permission <list>|<save>|<reload>|<set> <0-100> <playername>|<steamid>
Manage commands and user permissions level.
Example: permission list -> List all users with special permission.
Example: permission save -> Save the most recent user permission list.
Example: permission reload -> Directly reload user permission and command permission from the JSON file.
Example: permission set 100 LegendaryVampire
Example: permission set 0 LegendaryVampire
ban <playername> [<days> <reason>]
Check the status of specified player, or ban them. 0 days will translate to permanently banned.
unban <playername>
Remove the specified player from the ban list.
kick <playername>
Kick the specified player from the server.
shutdown
Trigger the exit signal & shutdown the server.
rename <player name> <new name>
Rename the specified player.
adminrename <player name> <new name>
Rename the specified player. Careful, the new name isn't verified.
This means it's possible for names to use color tags or symbols.
Adding a color tag to the player name may make it hard for you and other user to /whisper or find the player with commands.
playerinfo <player name>
Display the player information details.
myinfo
Display your user info and location.
worlddynamics [<faction>] [<stats>|<save>|<load>|<ignore>|<unignore>] [<npc prefab name>]
List all faction stats. Save them, or load from the json file.
Example: wd faction stats -> List all active faction stats.
Example: wd faction ignore CHAR_Bandit_Thug -> Ignore bandit thug for faction buffs.
Example: wd faction unignore CHAR_Bandit_Thug -> Stop ignoring bandit thug for faction buffs.
powerup <player_name> <add>|<remove> <max hp> <p.atk> <s.atk> <p.def> <s.def>
Buff specified player with the specified value.
Example: pu LegendaryVampire add 1000 50 125 0.5 0.7 -> Buff the player for specified values.
Example: pu LegendaryVampire remove -> Remove the buff from the specified player.
Notes:
- Buffing PDef & SDef to 1 will make the player immune to those damage.
1.4.0
1.3.2
1.2.7a
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.2
1.0.1
1.0.0
小爛土#7151 - Also known as Shou (like the english word show)Kaltharos#0001Dimentox#1154Nopey#1337syllabicat#0692errox#7604