Files
Server/src/engine/documentation/Handler Specific Documentation/dbShrineHandler_Documentation.md
T

2.7 KiB

Shrine Handler Documentation

Overview

This document describes the database relationships and interactions for the dbShrineHandler class. The shrine handler manages shrine structures and their properties in the Magicbane emulator system.

Handler Class

File: src/engine/db/handlers/dbShrineHandler.java Class: dbShrineHandler Extends: dbHandlerBase

Database Tables

Main Table(s)

  • Table Name: obj_shrine
  • Description: Core shrine information including location, properties, and effects
  • Columns:
    • UID (Primary Key)
    • name
    • description
    • locationX
    • locationY
    • locationZ
    • shrineType
    • isActive
    • effectDuration
    • effectPower
Table Name Description Relationship
obj_shrine_effect Defines effects provided by shrines ShrineID → obj_shrine.UID, EffectID → obj_shrineeffect.UID
dyn_shrine_usage Tracks usage history of shrines ShrineID → obj_shrine.UID, CharacterID → obj_character.UID

Key Queries

Get Shrine by ID

SELECT * FROM `obj_shrine` WHERE `UID`=?

File: dbShrineHandler.java, Line ~60

Get Active Shrines

SELECT * FROM `obj_shrine` WHERE `isActive`=1

File: dbShrineHandler.java, Line ~85

Get Shrine by Location

SELECT * FROM `obj_shrine` WHERE `locationX`=? AND `locationY`=? AND `locationZ`=?

File: dbShrineHandler.java, Line ~120

Relationships

  1. Shrine to Effects: Many-to-many through obj_shrine_effect table
  2. Shrine to Usage History: One-to-many (via dyn_shrine_usage.ShrineID)
  3. Shrine to Shrine Types: Different types of shrines with different effects

Java Field to Database Column Mappings

Java Field Database Column Notes
name obj_shrine.name Shrine name
description obj_shrine.description Description of the shrine
locationX obj_shrine.locationX X coordinate of shrine location
locationY obj_shrine.locationY Y coordinate of shrine location
locationZ obj_shrine.locationZ Z coordinate of shrine location
shrineType obj_shrine.shrineType Type of shrine (healing, buff, etc.)
isActive obj_shrine.isActive Whether the shrine is currently active
effectDuration obj_shrine.effectDuration Duration of shrine effects
effectPower obj_shrine.effectPower Power level of shrine effects

Notes

  • Shrines provide various beneficial effects to players who interact with them
  • They can be healing shrines, buff shrines, or other special effect shrines
  • The system tracks usage history for balance and maintenance purposes