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/.

Go Up