67 lines
2.2 KiB
Markdown
67 lines
2.2 KiB
Markdown
# dbMobBaseHandler Documentation
|
|||
|
|
|
||
|
|
## Overview
|
||
|
|
This document describes the database relationships and interactions for the `dbMobBaseHandler` class. This handler manages static data about mob (monster) base properties in Magicbane, including their characteristics, stats, and behaviors.
|
||
|
|
|
||
|
|
## Handler Class
|
||
|
|
**File:** `src/engine/db/handlers/dbMobBaseHandler.java`
|
||
|
|
**Class:** `dbMobBaseHandler`
|
||
|
|
**Extends:** `dbHandlerBase`
|
||
|
|
|
||
|
|
## Database Tables
|
||
|
|
|
||
|
|
### Main Mob Base Table
|
||
|
|
- **Table Name:** `static_mob_base`
|
||
|
|
- **Description:** Core table storing base properties of mobs, including names, descriptions, and basic characteristics
|
||
|
|
- **Columns:**
|
||
|
|
- UID (Primary Key)
|
||
|
|
- name
|
||
|
|
- description
|
||
|
|
- mobType
|
||
|
|
- level
|
||
|
|
- health
|
||
|
|
|
||
|
|
### Related Tables
|
||
|
|
|
||
|
|
| Table Name | Description | Relationship |
|
||
|
|
|------------|-------------|--------------|
|
||
|
|
| `static_mob_stats` | Stores stat information for mobs | MobBaseID → static_mob_base.UID |
|
||
|
|
| `static_mob_loot` | Stores loot information for mobs | MobBaseID → static_mob_base.UID |
|
||
|
|
|
||
|
|
## Key Queries
|
||
|
|
|
||
|
|
### Get Mob Base by UID
|
||
|
|
```sql
|
||
|
|
SELECT * FROM static_mob_base WHERE `UID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbMobBaseHandler.java`, Line ~25
|
||
|
|
|
||
|
|
### Get Mob Stats
|
||
|
|
```sql
|
||
|
|
SELECT * FROM static_mob_stats WHERE `mobBaseID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbMobBaseHandler.java`, Line ~40
|
||
|
|
|
||
|
|
### Get Mob Loot
|
||
|
|
```sql
|
||
|
|
SELECT * FROM static_mob_loot WHERE `mobBaseID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbMobBaseHandler.java`, Line ~55
|
||
|
|
|
||
|
|
## Relationships
|
||
|
|
|
||
|
|
1. **Mob Base to Stats:** One-to-many relationship via mobBaseID field in static_mob_stats referencing static_mob_base.UID
|
||
|
|
2. **Mob Base to Loot:** One-to-many relationship via mobBaseID field in static_mob_loot referencing static_mob_base.UID
|
||
|
|
|
||
|
|
## Java Field to Database Column Mappings
|
||
|
|
|
||
|
|
| Java Field | Database Column | Notes |
|
||
|
|
|------------|-----------------|-------|
|
||
|
|
| `UID` | `static_mob_base.UID` | Unique identifier for the mob |
|
||
|
|
| `name` | `static_mob_base.name` | Name of the mob |
|
||
|
|
| `description` | `static_mob_base.description` | Description of the mob |
|
||
|
|
| `mobType` | `static_mob_base.mobType` | Type of mob |
|
||
|
|
| `level` | `static_mob_base.level` | Level of the mob |
|
||
|
|
| `health` | `static_mob_base.health` | Base health of the mob |
|
||
|
|
| `other fields...` | Various columns | Other properties related to mob base data |
|