Autor: Martin Kvietok
Predmet: Database Systems
Fakulta: Fakulta informatiky a informačných technológií, STU Bratislava
Cieľom zadania bolo navrhnúť dátový model pre komplexný ťahový RPG súbojový systém. Model reflektuje herné mechaniky ako tvorba postavy, súboje, kúzla, inventár a logovanie akcií. Projekt simuluje správanie online RPG hier s dôrazom na modularitu, rozšíriteľnosť a konzistentnosť dát.
Projekt je rozdelený do logických balíkov podľa funkcionality:
- Definuje hráča a jeho atribúty: sila, obratnosť, odolnosť, inteligencia, zdravie.
- Triedy (
Class) ovplyvňujú výpočet:- Max AP = (DEX + INT) × ClassModifier
- Max Health = Health
- Armor = 10 + (DEX/2) + bonus
- Inventory Size = (STR + CON) × Modifier
- Status postavy:
InCombat,Resting,Idle. - Dynamické hodnoty:
CurrentHealth,CurrentAP,CurrentWeight.
- Kúzla majú vlastnosti:
BaseCost,BaseDamage,Accuracy. - Priradenie do kategórií (napr. oheň, ľad) s vlastnými modifikátormi.
- Používa
SpellAttributeEffectpre ovplyvnenie výsledných hodnôt na základe hráčových atribútov.
- Predmety majú:
Name,Weight,Type,ItemModifier. - Stavy:
InventoryItem(v inventári)BattlegroundItem(na bojisku)
isEquippedurčuje, či je predmet aktívne použitý.
- Boje prebiehajú v kolách (
Round), každé má začiatok a koniec. - Účasť postavy:
CombatParticipant(čas vstupu, stav). - Logovanie udalostí:
CombatLog(útoky, kúzla, získanie predmetu).
-
Zoslanie kúzla (útok, heal)
- Výpočet nákladov a poškodenia podľa atribútov, hod kockou, úspech/nehod.
-
Regenerácia a respawn postavy
- Postava sa lieči v režime
Resting. Po smrti sa resetujú hodnoty a začne znova.
- Postava sa lieči v režime
-
Pripojenie postavy do boja
- Dynamické zapojenie do súboja, triedenie podľa
JoinTime.
- Dynamické zapojenie do súboja, triedenie podľa
-
Záznam útoku a efektov
- Logovanie kúzla, cieľa, úspechu, výpočty
APCostaDamage.
- Logovanie kúzla, cieľa, úspechu, výpočty
-
Presun predmetov po smrti
- Predmety sa automaticky presunú na bojisko (
BattlegroundItem).
- Predmety sa automaticky presunú na bojisko (
-
Získanie predmetu z bojiska
- Overenie nosnosti, priradenie predmetu, záznam v
CombatLog.
- Overenie nosnosti, priradenie predmetu, záznam v