76 lines
2.7 KiB
Markdown
76 lines
2.7 KiB
Markdown
# Rune Base Handler Documentation
|
|||
|
|
|
||
|
|
## Overview
|
||
|
|
This document describes the database relationships and interactions for the `dbRuneBaseHandler` class. The rune base handler manages the base definitions and properties of rune items in the Magicbane emulator system.
|
||
|
|
|
||
|
|
## Handler Class
|
||
|
|
**File:** `src/engine/db/handlers/dbRuneBaseHandler.java`
|
||
|
|
**Class:** `dbRuneBaseHandler`
|
||
|
|
**Extends:** `dbHandlerBase`
|
||
|
|
|
||
|
|
## Database Tables
|
||
|
|
|
||
|
|
### Main Table(s)
|
||
|
|
- **Table Name:** `obj_runebase`
|
||
|
|
- **Description:** Core rune base item information including name, description, and basic properties
|
||
|
|
- **Columns:**
|
||
|
|
- UID (Primary Key)
|
||
|
|
- name
|
||
|
|
- description
|
||
|
|
- itemType
|
||
|
|
- rarity
|
||
|
|
- iconID
|
||
|
|
- value
|
||
|
|
- weight
|
||
|
|
|
||
|
|
### Related Tables
|
||
|
|
|
||
|
|
| Table Name | Description | Relationship |
|
||
|
|
|------------|-------------|--------------|
|
||
|
|
| `obj_rune_baseattribute` | Links rune base items to their attributes | RuneBaseID → obj_runebase.UID, AttributeID → obj_runebaseattribute.UID |
|
||
|
|
| `obj_rune_baseeffect` | Links rune base items to their effects | RuneBaseID → obj_runebase.UID, EffectID → obj_runebaseeffect.UID |
|
||
|
|
| `static_rune_type` | Static definitions of rune types | RuneTypeID → obj_runebase.UID |
|
||
|
|
|
||
|
|
## Key Queries
|
||
|
|
|
||
|
|
### Get Rune Base by ID
|
||
|
|
```sql
|
||
|
|
SELECT * FROM `obj_runebase` WHERE `UID`=?
|
||
|
|
```
|
||
|
|
**File:** `dbRuneBaseHandler.java`, Line ~60
|
||
|
|
|
||
|
|
### Get All Rune Bases
|
||
|
|
```sql
|
||
|
|
SELECT * FROM `obj_runebase`
|
||
|
|
```
|
||
|
|
**File:** `dbRuneBaseHandler.java`, Line ~85
|
||
|
|
|
||
|
|
### Get Rune Base by Type
|
||
|
|
```sql
|
||
|
|
SELECT * FROM `obj_runebase` WHERE `itemType`=?
|
||
|
|
```
|
||
|
|
**File:** `dbRuneBaseHandler.java`, Line ~120
|
||
|
|
|
||
|
|
## Relationships
|
||
|
|
|
||
|
|
1. **Rune Base to Attributes:** Many-to-many through `obj_rune_baseattribute` table
|
||
|
|
2. **Rune Base to Effects:** Many-to-many through `obj_rune_baseeffect` table
|
||
|
|
3. **Rune Base to Static Types:** One-to-many (via `static_rune_type.RuneTypeID`)
|
||
|
|
4. **Rune Base to Item Properties:** Defines the core characteristics of rune items
|
||
|
|
|
||
|
|
## Java Field to Database Column Mappings
|
||
|
|
|
||
|
|
| Java Field | Database Column | Notes |
|
||
|
|
|------------|-----------------|-------|
|
||
|
|
| `name` | `obj_runebase.name` | Rune base name |
|
||
|
|
| `description` | `obj_runebase.description` | Description of the rune |
|
||
|
|
| `itemType` | `obj_runebase.itemType` | Type of rune (weapon, armor, etc.) |
|
||
|
|
| `rarity` | `obj_runebase.rarity` | Rarity level of the rune |
|
||
|
|
| `iconID` | `obj_runebase.iconID` | Icon identifier for UI display |
|
||
|
|
| `value` | `obj_runebase.value` | Value or worth of the rune |
|
||
|
|
| `weight` | `obj_runebase.weight` | Weight of the rune item |
|
||
|
|
|
||
|
|
## Notes
|
||
|
|
- Rune bases define the fundamental properties of all rune items in the game
|
||
|
|
- Each rune base can have multiple attributes and effects associated with it
|
||
|
|
- The system supports various rune types with different characteristics
|