promotional bannermobile promotional banner

RPG Companion

RPG Companion adds a fully-featured RPG companion to Hytale that fights, levels, and grows alongside you.

File Details

RPGCompanion-1.4.7.jar

  • R
  • Feb 6, 2026
  • 2.92 MB
  • 313
  • Early Access

File Name

RPGCompanion-1.4.7.jar

Supported Versions

  • Early Access

RPGCompanion v1.4.7 - Changelog Since v1.1.0

New Features

Companion Ability System

  • 3 Ability Slots that fire automatically during combat:
    • MINOR (90s cooldown)
    • MAJOR (180s cooldown)
    • SIGNATURE (320s cooldown)
  • Warrior Abilities: Sweeping Slash (12 dmg, 5 targets), Ground Slam (20 dmg, stun+knockback), Whirlwind (15 dmg ×3 hits)
  • Archer Abilities: Quick Shot (10 dmg), Evasive Volley (9 dmg ×3 arrows), Arrow Storm (11 dmg ×5 arrows)
  • Weapon-based class detection (bow/crossbow → ARCHER, else → WARRIOR)
  • Combat cooldown reset when entering combat
  • Hostile target scanning independent from follow system

Visual Effects

  • 20+ Attack AnimationSets in Dwarf_Game.json (Mace, Longsword, Battleaxe, Spear, Daggers, Bow)
  • Particle Effects: Impact flash+sparks (0.5s), Stun stars (2s)
  • Stun Visual Effect: Gold tint + orbiting star particles on head
  • Sound Effects per ability slot

Equipment System

  • OFFHAND Slot for shields and torches
  • Two-handed weapon restriction (bows/crossbows/battleaxes block offhand)
  • Auto-unequip offhand when equipping two-handed weapon
  • Visual display via InventoryHelper.setOffHandItem() API

Combat AI

  • Dual NPC Roles: Melee (close range) and Ranged (keeps distance)
  • Automatic role swapping based on weapon type
  • PetDefendOwnerSystem - Pet attacks mobs that damage owner
  • Multi-target AOE for warrior abilities

Backend

  • Talent System Foundation (CompanionTalents, TalentDefinition, TalentRegistry, TalentManager)
  • Role Migration System - Forces manual respawn when NPC roles change
  • Debug logs write to %APPDATA%\Hytale\UserData\Logs\

Technical Fixes

  • Animation threading: Uses World.execute() for scheduled animations
  • 5-param model AnimationSets (6-param item-based silently fails on NPCs)
  • NPC role uses OffHandSlots: 1 (NOT UtilitySize - that field doesn't exist)
  • Ability range check uses ability.getRange() + 1.0f
  • Damage properly calculated from stats (removed testing overrides)