promotional bannermobile promotional banner

Orbis & Dungeons (RPG class mod)

The Evolution Update introduces a modular Race and Class system, allowing players to combine unique biological traits and combat specializations for permanent stats, weapon bonuses, and elemental resistances.

File Details

Orbis_and_Dungeons-2026.1.25-70888.jar

  • R
  • Jan 25, 2026
  • 95.98 KB
  • 1.2K
  • Early Access

File Name

Orbis_and_Dungeons-2026.1.25-70888.jar

Supported Versions

  • Early Access

📦 Orbis & Dungeons: The Evolution Update (v2026.1.27)

This is our biggest update yet. We have completely overhauled the character creation system, introduced damage resistances, added a new race, rebalanced combat, and fixed critical persistence bugs.


🌟 Major System Overhauls

1. Two-Step Selection System (Race + Class)

We have separated biology from combat training. You now customize your character in two distinct steps:

  • Step 1: Choose Your Race (Innate Traits)
    • Elf: Agile and energetic (+15 Stamina).
    • Orc: Powerful and robust (+75 Health).
    • Human: Balanced and versatile (+35 Health, +5 Stamina).
    • Tiefling: New! (See below).
  • Step 2: Choose Your Class (Combat Specialization)
    • Berserker: Axe specialist (+30% Dmg).
    • Assassin: Dagger specialist (+22% Dmg).
    • Archer: Bow specialist (+40% Dmg).
    • (And more...)

How it works: The system combines stats. An Orc Assassin gets the Orc's high health minus the Assassin's health penalty, creating unique hybrid builds.

2. Damage Resistance System

Inspired by OrbisOrigins, races and classes now interact with the world elementally.

  • Logic: The system takes the best (lowest) resistance available between your Race and Class.
  • Values:
    • 0.0 = Immune (100% reduction)
    • 0.5 = 50% Resistance
    • 1.0 = Normal Damage
    • 1.5 = Weakness (50% extra damage)
  • Damage Types: Fire, Lava, Physical, Magic, Poison, Lightning, Cold, Nature, Fall, Drowning, Void.

😈 New Content: Tiefling Race

"Demon-touched bloodline, born of fire."

  • Stats: -15 Health | +8 Stamina
  • Effective HP: 85
  • Resistances:
    • 🛡️ Immune: Fire & Lava (0.0)
    • ⚠️ Weakness: Magic (1.5)
  • Playstyle: High mobility, high risk. Dominate lava zones but avoid magic users.

⚖️ Balance Changes

The Golden Ratio

All classes now follow a strict mathematical balance formula:

1 Stamina Point = 5 Health Points

Assassin Rework

The community reported the Assassin was overpowered when combined with the Elf race (205 EHP). We have rebalanced it to be a true "Glass Cannon."

Stat Old Value New Value Reason
Health -20 -35 Matches Archer fragility
Damage +35% +22% Daggers are safer than axes
Stamina +10 +10 Preserves "Hit n' Run" style

💻 New Commands

Manage your character without navigating UI menus.

/tradeclass <class> [player]

Change your combat specialization instantly.

  • Usage: /tradeclass berserker
  • Restriction: Must have a race selected first.

/resetclass [player]

Resets your class to NONE, removing weapon bonuses but keeping your Race traits.

/raceinfo

Now displays: Race: Orc - Class: Berserker (Selected: [Date])


🐛 Critical Bug Fixes

Persistence Fixed

The Issue: Classes selected in the UI were not saving after the player logged out. The Fix: Migrated from Holder.putComponent() (which returns null in the current API) to the OrbisOrigins pattern using Store.putComponent().

Result:

  • ✅ Class selection persists across sessions.
  • ✅ Weapon damage bonuses apply immediately.
  • ✅ Data is saved to both the Component System and a local JSON file cache.

🛠️ Technical Details (For Server Admins)

Configuration Files

The config has been split into two files for better management:

  1. races_config.json: Base traits and innate resistances.
  2. classes_config.json: Weapon modifiers and stat trade-offs.

API Changes

  • New Method: RaceManager.getDamageResistance(Player, String) returns the combined multiplier.
  • New Method: RaceManager.applyRaceAndClass(Ref, Store, raceId, classId) for safe saving.
  • Command Structure: Moved from subcommands (which were failing) to top-level commands (AbstractPlayerCommand).

How to Update

  1. Delete your old classes_config.json and races_config.json (essential for generating resistance values).
  2. Replace the JAR file.
  3. Restart the server.
  4. (Optional) Run /racereload to verify configs.