2.7 KiB
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
Related Tables
| 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
- Shrine to Effects: Many-to-many through
obj_shrine_effecttable - Shrine to Usage History: One-to-many (via
dyn_shrine_usage.ShrineID) - 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