71 lines
2.2 KiB
Markdown
71 lines
2.2 KiB
Markdown
# Character Skill Handler Documentation
|
|||
|
|
|
||
|
|
## Overview
|
||
|
|
This document describes the database relationships and interactions for the `dbCharacterSkillHandler` class. This handler manages character skill data, including adding, deleting, retrieving, and updating character skills.
|
||
|
|
|
||
|
|
## Handler Class
|
||
|
|
**File:** `src/engine/db/handlers/dbCharacterSkillHandler.java`
|
||
|
|
**Class:** `dbCharacterSkillHandler`
|
||
|
|
**Extends:** `dbHandlerBase`
|
||
|
|
|
||
|
|
## Database Tables
|
||
|
|
|
||
|
|
### Main Table
|
||
|
|
- **Table Name:** `dyn_character_skill`
|
||
|
|
- **Description:** Stores dynamic skill information for characters including skill base ID, character ID, and training levels
|
||
|
|
- **Columns:**
|
||
|
|
- UID (Primary Key)
|
||
|
|
- CharacterID
|
||
|
|
- skillsBaseID
|
||
|
|
- trains
|
||
|
|
|
||
|
|
## Key Queries
|
||
|
|
|
||
|
|
### Add Skill
|
||
|
|
```sql
|
||
|
|
INSERT INTO `dyn_character_skill` (`CharacterID`, `skillsBaseID`, `trains`) VALUES (?, ?, ?);
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterSkillHandler.java`, Line ~20
|
||
|
|
|
||
|
|
### Delete Skill
|
||
|
|
```sql
|
||
|
|
DELETE FROM `dyn_character_skill` WHERE `UID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterSkillHandler.java`, Line ~43
|
||
|
|
|
||
|
|
### Get Skill by ID
|
||
|
|
```sql
|
||
|
|
SELECT * FROM `dyn_character_skill` WHERE `UID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterSkillHandler.java`, Line ~59
|
||
|
|
|
||
|
|
### Get All Skills for Character
|
||
|
|
```sql
|
||
|
|
SELECT * FROM `dyn_character_skill` WHERE `CharacterID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterSkillHandler.java`, Line ~80
|
||
|
|
|
||
|
|
### Update Trains
|
||
|
|
```sql
|
||
|
|
UPDATE `dyn_character_skill` SET `trains`=? WHERE `UID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterSkillHandler.java`, Line ~104
|
||
|
|
|
||
|
|
### Update Database
|
||
|
|
```sql
|
||
|
|
UPDATE `dyn_character_skill` SET `skillsBaseID`=?, `CharacterID`=?, `trains`=? WHERE `UID`=?
|
||
|
|
```
|
||
|
|
**File:** `dbCharacterSkillHandler.java`, Line ~123
|
||
|
|
|
||
|
|
## Relationships
|
||
|
|
|
||
|
|
1. **Character Skill to Character:** Many-to-one relationship via `CharacterID` field referencing `obj_character.UID`
|
||
|
|
2. **Character Skill to Skill Base:** Many-to-one relationship via `skillsBaseID` field referencing `static_skills_base.ID`
|
||
|
|
|
||
|
|
## Java Field to Database Column Mappings
|
||
|
|
|
||
|
|
| Java Field | Database Column | Notes |
|
||
|
|
|------------|-----------------|-------|
|
||
|
|
| `characterID` | `dyn_character_skill.CharacterID` | Reference to character |
|
||
|
|
| `skillBaseID` | `dyn_character_skill.skillsBaseID` | Reference to skill base |
|
||
|
|
| `trains` | `dyn_character_skill.trains` | Training level |
|