Back to legacygamers.net
WARPGATE
WARP for 2025-07-16

Enable Druid Classes Guide

Teaches the 2025-07-16 client Gravity's Druid line (Druid, Karnos, Alitea, their riding forms and the Werewolf / Wereraptor forms) the way the 2026 kRO clients know it, straight from data.grf, with no Lua job files.

Patch Enable Druid classes (2026)Client 2025-07-16 · 175220998Author CrazyBebopUpdated 2026-10-30
Requirements
A server with the Druid line (job ids 4351 to 4364); on rAthena, our server patch: one for plain master, one for datawulf's branch
You supply
A data.grf that carries the Druid line art
Scope
One tick in WARP; no Lua files

What it does

Gravity shipped the Druid, Karnos and Alitea art in data.grf by 2025-07-16 but taught the client about them later. On a stock 07-16 client an Alitea logs in as a Novice body named "Poring". This patch ports what the kRO 2026-10-07 client does, measured on that client rather than invented:

  • Jobs: body and weapon sprite names, display names, the job family, Alitea counted as a 4th job and Karnos with the 3rd jobs, the baby Druid and Karnos drawn at the baby size, and every other job lookup the 2026 client extends to the line.
  • Skill window: the line's own tabs (Druid, Karnos, Alitea), filled from the GRF's skill tree.
  • Adventure Guide: the job groups the guide lists equipment by, the line's own and the newer ones the 2026 client adds.
  • Riding: Boarding Halter's riding forms, treated as their base job by the skill window, the mount and the motions.
  • Skill effect height: the 2026 client's own rule for every character: scaled by the character's size, and a rider's from the 2026 table (which also moves some older jobs' riding effects, as kRO does).
  • Motions: the skill motions 60 to 81, every Druid-line skill action, and the second attack the 2026 client plays for the line's motion 7.
  • Animal forms: Werewolf and Wereraptor bodies and palettes for each job, drawn without the human head, kept across maps, copied to clones, Nature Protection's tree pose, the claw combo.
  • Effects: every Druid-line skill and status effect the 2026 client plays, including the facing, timing, random and skill-level rules each one follows, and the size and tilt the 2026 client gives some of them.
  • Messages: the line's 53 message ids, read from msgstringtable like the stock ones.
Note: It does not share a byte with Enable Custom Jobs (Reforged). Ticking both is safe, and both draw the baby Druid and Karnos at the same size; a PCPaths row for one of these ids wins, because Custom Jobs writes its Lua rows afterwards.

1 Server

The server must know the Druid line: the jobs, their skills and the Werewolf / Wereraptor statuses. Every transformation is drawn by the client from those statuses; the server only sends them.

rAthena master does not have the Druid line yet. It lives in datawulf's druid branch, open upstream as rathena#9765. Alitea's Plume Piercer and Nature Rage are on a separate datawulf branch, codex/kro-alitea, not yet merged into druid; without it the server has neither skill.

So there are two server patches, one for each kind of server. Both are in the WARP0716 repository under examples/EnableDruidClasses/, a WARPGATE install already has them on disk because the WARP tab installs the whole repository, and the WARP patch offers the one you need when you apply it (step 3).

Your server runsApply
Plain rAthena masterEnableDruidClasses.master.patch
The whole Druid line, from datawulf's codex/kro-alitea with every skill, plus our two changes below
datawulf's druid or codex/kro-aliteaEnableDruidClasses.server.patch
Our two changes only

From the root of your rAthena tree, then rebuild the servers (no git: patch -p1 < EnableDruidClasses.master.patch does the same):

git apply --check /path/to/EnableDruidClasses.master.patch
git apply         /path/to/EnableDruidClasses.master.patch

The master file is made from rAthena master d4b8e7b (2026-10-06) and codex/kro-alitea at bce67cc07 (2026-10-16): they merge with no conflicts, the file applies to clean master, and every server builds from the result. It is remade before every WARP0716 release, because master and the branch both move. 109 of its 138 files are new; the other 29 are rAthena's own (among them battle.cpp, pc.cpp, skill.cpp, status.cpp, clif.cpp and the job and skill databases), so a server that has edited those may meet a hunk that does not apply. On a git clone, git apply --3way merges around your edits and marks what it cannot. The Druid line's server code is datawulf's, with commits by Atemo, Lemongrass3110, Muh and munkrej; WARP0716 only packages it.

git apply prints a warning about trailing whitespace on three lines; they are in datawulf's code, and the patch still applies whole.

Updating, and when rAthena merges the line: keep the file you applied. A newer master file does not go on top of an older one (its new files already exist), so undo the old one first, then apply the new one:
git apply -R /path/to/the-old/EnableDruidClasses.master.patch
git apply    /path/to/EnableDruidClasses.master.patch
Do the same undo before you pull an rAthena that has the Druid line itself (rathena#9765 merged), then use the small file if its two changes are still needed. Every copy we have shipped is also in the WARP0716 repository's history. On Windows, git may list src/map/script.cpp as changed after an undo: that is line endings only, and git checkout -- src/map/script.cpp clears it.

The small file is cut against druid at 92224e78e (2026-08-29) and proven there: it applies cleanly on druid and on codex/kro-alitea, and the map-server builds with it.

Our two changes, in both files:

  • The transformation effect plays when the form starts. Without the patch it plays when the form ends: the generic toggle sends the status change before the skill packet, while official servers send the skill packet first, and the client only plays the effect while the actor is not yet transformed. The patch gives DR_WEREWOLF / DR_WERERAPTOR a small handler (src/custom/druid_transform.hpp) that sends the skill packet and then starts or ends the status.
  • Skill costs and ranges as kRO 2026-10-07 has them (db/re/skill_db.yml, renewal): the SP cost of Primal Claw, Feral Claw, Alpha Claw and both Quill Spears, the AP cost of Aero Sync and Gravity Hole, and the range of Cruel Bite (7) and Savage Lunge (9), the numbers the 2026 client's own skill descriptions quote.

2 data.grf

Everything comes from the GRF: the body sprites (druid, karnos, alitea, the riding forms, werewolf / wereraptor 1 to 3), the form palettes, the effect files under texture\effect\druid\, effectdata\ez2streffect.bson, the skill tree and job name Lua.

The English skill tree, skill names, descriptions and job names are five loose Lua files (skillid, skillinfolist, skilldescript, skilltreeview, pcjobname). The patch offers to copy English ones for you (step 3): they are ROenglishRE's files (llchrisll's English translation, release 2026-10-07, built for a 2025-07-16 client) with the whole Druid line added. ROenglishRE's own current files already carry most of it, but not Plume Piercer, Nature Rage or the two baby job names, and its newest skill tree is only in the files for 2025-12-17 and later clients.

On WARPGATE, the LANG tab already has them. WARPGATE's English translation carries the whole Druid line in these five files itself, so a client that takes it from the LANG tab answers No when the patch offers its own copies. Copies laid over that translation count as your own edits, so WARPGATE would ask before giving you any later fix to them.

Trap: a loose data\ folder read first (Read data folder first) shadows the GRF, and the client reads loose files only with that patch. Older translated copies of those five files hide the line's names and skill tree. Let the patch copy its five (it keeps yours in EnableDruidClasses_backup), or merge the Druid rows into yours.

3 Patch the client

  1. Open WARP for 2025-07-16 with your clientinfo-injected Ragexe.
  2. Tick Enable Druid classes (2026) in the Special group.
  3. It asks whether to copy the English Druid skill files. If WARPGATE's LANG tab installs your English translation, answer No: it already carries them (step 2). Otherwise answer Yes, then pick your client folder: they go under data\luafiles514\lua files there, and any copy already in place is kept first in EnableDruidClasses_backup beside that data folder. Answer No as well to keep your own files.
  4. It then asks which rAthena your server runs: Plain rAthena master, datawulf's druid or codex/kro-alitea branch, or Skip. Pick one and a folder, and the matching file from step 1 is written there for you to carry to the server. Skip, the default, writes nothing.
  5. Apply, and check the .epi beside the output lists EnableDruidClasses. WARP can exit with success while a patch did nothing; the .epi is the proof.

4 Check in game

  • An Alitea shows its own body and the name "Alitea", and its skill window has three tabs.
  • Transformation Beast / Raptor: the effect plays as the form starts, the body becomes the wolf or the raptor with no human head, and the form stays after a map change.
  • Attack skills draw their effects on the target, facing the right way.
  • Thundering Orb throws an orb and Wind Bomb a small tornado from the caster to the target along a curved arc; Chop Chop scatters claw marks around the werewolf for a second while the werewolf spins twice and turns back.

Known limits

Everything the Druid line plays is drawn as the 2026 client draws it, including the four effects 2026 builds in code: Thundering Orb's orb, Wind Bomb's tornado, and Chop Chop's claw marks and whirlwind. Nothing the 2026 client does for these jobs is left out. Some skills also depend on the server: a transformation is refused while a Truth buff (Ice, Wind or Earth) is on, and Glacier Nova needs Glacier Monolith's shield first.

Troubleshooting

Symptom
Cause
Fix
The Druid shows as a Novice named "Poring"
The patch did not apply, or the GRF lacks the Druid art
Check the .epi lists EnableDruidClasses; check the GRF carries alitea and friends
A GM's Druid wears the GM costume and does not change form
The account is on clientinfo's <admin> list; the GM costume replaces every body
Expected; tick No GM Sprite if you do not want the costume
The transformation effect plays when the form ends
The server sends the status before the skill packet
Apply the server patch and rebuild the map-server (step 1)
git apply says the server patch does not apply, or names skill_factory_druid.cpp
The small EnableDruidClasses.server.patch on plain rAthena master, which has no Druid code for it to change
Use EnableDruidClasses.master.patch instead (step 1); it carries the small one too
git apply of a newer master file says files "already exist in working directory"
An older copy of the master file is already applied
Undo the old copy with git apply -R, then apply the new one (step 1, Updating)
No skill names or an empty skill window for the line
A loose translated Lua file shadows the GRF copy
On WARPGATE, update the LANG tab's English translation, which carries the line; otherwise let the patch copy its five files (step 3), or merge the Druid rows into yours (step 2). The client also needs Read data folder first
"CustomJobs Error" at start
Enable Custom Jobs is ticked but its JobInfo Lua files are missing
Untick it if you only need the Druid line; this patch needs no Lua