441a935bd91f00e1874542588b24ec694fb3d64d
Resists.getArmorResists and NPCManager.applyEquipmentResists now read cacheTemplate.getCombatAttackResist() with DamageType keys instead of the legacy String-keyed map, and default a missing key to 0 instead of an unboxing NPE. Offline parity (scripts/p15a.py, all 7586 static_item_templates rows vs the template CObjectIndex.lookup picks): 0 differences in the full combat_attack_resist map. Every ITEM/DEED/RUNE template carries all 16 keys, so no value changes. No comparator added or removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Magicbane Open-Source MMO Project
The Community written Shadowbane emulator
Magicbane
Public Repository
magicbot@magicbane.com
Magicbane is an emulator for the long dead but much beloved Ubisoft MMO, Shadowbane. The project was founded in 2013 with the concept of free availability of gameplay; players unencumbered by any factor other than a desire to again play a game they once loved. A game where the developers do not play is guaranteed to be the fairest game.
The Magicbane Team has wanted to open source Shadowbane for half a decade. We are excited to now finally have the opportunity, along with some new technology, to truly democratize Shadowbane.
- Written in some 80k lines of Java 8 and bash.
- Project with real infrastructure; Production and development servers supporting multiple containerized apps.
- MagicBox container technology enables instant deployment and trouble free development on modest hardware.
- MagicBox plugin capability allows for new and interesting player experiences.
Contributing
- Project is released under an MIT license. Please see the LICENSE file.
- Inbound == Outbound.
- IntelliJ is the supported IDE.
- Write code today see it running on the Magicbane production server tomorrow.
Support
Documentation is available through the Magicbane Wiki and Discord server.
Languages
Java
100%
