forked from MagicBane/Server
71 lines
2.2 KiB
Markdown
71 lines
2.2 KiB
Markdown
# Character Power Handler Documentation
|
|||
|
|
|
||
|
|
## Overview
|
||
|
|
This document describes the database relationships and interactions for the `dbCharacterPowerHandler` class. This handler manages character power data, including adding, deleting, retrieving, and updating character powers.
|
||
|
|
|
||
|
|
## Handler Class
|
||
|
|
**File:** `src/engine/db/handlers/dbCharacterPowerHandler.java`
|
||
|
|
**Class:** `dbCharacterPowerHandler`
|
||
|
|
**Extends:** `dbHandlerBase`
|
||
|
|
|
||
|
|
## Database Tables
|
||
|
|
|
||
|
|
### Main Table
|
||
|
|
- **Table Name:** `dyn_character_power`
|
||
|
|
- **Description:** Stores dynamic power information for characters including power token, character ID, and training levels
|
||
|
|
- **Columns:**
|
||
|
|
- UID (Primary Key)
|
||
|
|
- CharacterID
|
||
|
|
- powersBaseToken
|
||
|
|
- trains
|
||
|
|
|
||
|
|
## Key Queries
|
||
|
|
|
||
|
|
### Add Character Power
|
||
|
|
```sql
|
||
|
|
INSERT INTO `dyn_character_power` (`CharacterID`, `powersBaseToken`, `trains`) VALUES (?, ?, ?);
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterPowerHandler.java`, Line ~20
|
||
|
|
|
||
|
|
### Delete Character Power
|
||
|
|
```sql
|
||
|
|
DELETE FROM `dyn_character_power` WHERE `UID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterPowerHandler.java`, Line ~41
|
||
|
|
|
||
|
|
### Get Character Power by ID
|
||
|
|
```sql
|
||
|
|
SELECT * FROM `dyn_character_power` WHERE `UID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterPowerHandler.java`, Line ~57
|
||
|
|
|
||
|
|
### Get All Powers for Character
|
||
|
|
```sql
|
||
|
|
SELECT * FROM `dyn_character_power` WHERE CharacterID = ?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterPowerHandler.java`, Line ~76
|
||
|
|
|
||
|
|
### Update Trains
|
||
|
|
```sql
|
||
|
|
UPDATE `dyn_character_power` SET `trains`=? WHERE `UID`=?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterPowerHandler.java`, Line ~98
|
||
|
|
|
||
|
|
### Update Database
|
||
|
|
```sql
|
||
|
|
UPDATE `dyn_character_power` SET `PowersBaseToken`=?, `CharacterID`=?, `trains`=? WHERE `UID`=?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterPowerHandler.java`, Line ~115
|
||
|
|
|
||
|
|
## Relationships
|
||
|
|
|
||
|
|
1. **Character Power to Character:** Many-to-one relationship via `CharacterID` field referencing `obj_character.UID`
|
||
|
|
2. **Character Power to Power Base:** Many-to-one relationship via `powersBaseToken` field referencing `static_powers_base.token`
|
||
|
|
|
||
|
|
## Java Field to Database Column Mappings
|
||
|
|
|
||
|
|
| Java Field | Database Column | Notes |
|
||
|
|
|------------|-----------------|-------|
|
||
|
|
| `characterID` | `dyn_character_power.CharacterID` | Reference to character |
|
||
|
|
| `powerToken` | `dyn_character_power.powersBaseToken` | Reference to power base |
|
||
|
|
| `trains` | `dyn_character_power.trains` | Training level |
|