Skill Types Entity
Skill Types Entity
The skills_skill_type entity defines the classification system for skills, determining their execution behavior and capabilities.
Key Properties
- id: Type ID
- key: Type identifier string
Skill Type Constants
- SKILL.TYPE.BASE (1): Base skill with generic logic
- SKILL.TYPE.ATTACK (2): Damage-based attack skill
- SKILL.TYPE.EFFECT (3): Buff/debuff modifier skill
- SKILL.TYPE.PHYSICAL_ATTACK (4): Physics-enabled attack
- SKILL.TYPE.PHYSICAL_EFFECT (5): Physics-enabled effect
Type Differences
Base Skill (1)
Generic skill logic with validation, execution, range checking, and owner/target relationship management. Foundation for all skill types.
Attack Skill (2)
Damage-based skills with:
- Damage calculation using attack vs defense properties
- Dodge system with aim vs dodge properties
- Critical hits affected by aim/dodge ratio
- Configurable damage formulas
Effect Skill (3)
Modifier-based skills for buffs and debuffs:
- Applies modifiers to target
- Critical chance affects modifier potency
- Temporary or permanent effects
Physical Attack (4)
Projectile-based attack with:
- Physics collision detection
- Magnitude and object dimensions
- Collision validation
- Inherits all Attack features
Physical Effect (5)
Projectile-based effect with:
- Physics collision detection
- Area-of-effect capabilities
- Collision-triggered effects
- Inherits all Effect features
Type Selection Guide
- Use Base: Custom skill logic without combat
- Use Attack: Direct damage skills (melee, instant ranged)
- Use Effect: Buffs, debuffs, healing, status effects
- Use Physical Attack: Projectile attacks (arrows, fireballs)
- Use Physical Effect: Projectile effects (healing orbs, buff projectiles)
Database Relations
- skills_skill: Skills of this type
Implementation
Skill types are predefined system constants. When creating skills in the admin panel, select the appropriate type based on desired behavior.
Package
Implemented in @reldens/skills package with type-specific classes in lib/types/.
reldens