Use at your own risk. Everything here is shared by the community and is not tested or security-checked by rA Vault. Always try it on a sandbox / test server first.Not security-checked. Test on a sandbox server first. Read the disclaimer

[Guide] Add new Hateffect (Aura Style)

1. rathena/src/map/script.hpp Search: HAT_EF_MAX Replace: /* Custom Hateffects */ HAT_EF_arcane_aura_A, HAT_EF_arcane_aura_B, HAT_EF_gluttony_aura_A, HAT_EF_gluttony_aura_B, HAT_EF_MAX = 9999 2.…

by khyle650 · listed Oct 29, 2026

Screenshot of [Guide] Add new Hateffect (Aura Style)

1. rathena/src/map/script.hpp

Search:

	HAT_EF_MAX

Replace:

	/* Custom Hateffects */
	HAT_EF_arcane_aura_A,
	HAT_EF_arcane_aura_B,
	HAT_EF_gluttony_aura_A,
	HAT_EF_gluttony_aura_B,

	HAT_EF_MAX = 9999

2. rathena/src/map/script_constants.hpp

Search:

	export_constant(HAT_EF_EFST_C_20TH_ANNIVERSARY_HAT);

Replace:

	export_constant(HAT_EF_EFST_C_20TH_ANNIVERSARY_HAT);
	/* Custom Hateffects */
	export_constant(HAT_EF_arcane_aura_A);
	export_constant(HAT_EF_arcane_aura_B);
	export_constant(HAT_EF_gluttony_aura_A);
	export_constant(HAT_EF_gluttony_aura_B);

3. Compile you Server.

4. Copy in you Data/texture/effect/(arcane_aura) and (gluttony_aura) Data(Example_Auras).zip (https://www.mediafire.com/file/7ot75j4rr2w5ae2/Data(Example_Auras).zip/file)

5. Data/luafiles514/lua files/hateffectinfo/hateffectinfo.lub

Search:

	HAT_EF_efst_C_20th_Anniversary_Hat = 176
}

Replace:

	HAT_EF_efst_C_20th_Anniversary_Hat = 176,
	HAT_EF_arcane_aura_A = 177,
	HAT_EF_arcane_aura_B = 178,
	HAT_EF_gluttony_aura_A = 179,
	HAT_EF_gluttony_aura_B = 180
}

resourceFileName: route effect(Data/effect/name you effect folder/name you str file.str)
IsIgnoreRiding: if true when mounting a mount or asking for hateffect will not go up, it will ignore this action
isRenderBeforeCharacter: If true when using hateffect it will be over the character.
hatEffectPos: Position the Y anchor (up and down) of the hateffect
hatEffectPosX: Positions hateffect X anchor (left right)
isAdjustPositionWhenShrinkState: always true
isAdjustSizeWhenShrinkState: always true

Search:

	[HatEFID.HAT_EF_efst_C_20th_Anniversary_Hat] = {
		resourceFileName = "efst_C_20th_Anniversary_Hat\\20th_f.str",
		hatEffectPos = -6,
		hatEffectPosX = 0,
		isIgnoreRiding = true,
		isAdjustPositionWhenShrinkState = true,
		isAdjustSizeWhenShrinkState = true
	}
}

Replace:

	[HatEFID.HAT_EF_efst_C_20th_Anniversary_Hat] = {
		resourceFileName = "efst_C_20th_Anniversary_Hat\\20th_f.str",
		hatEffectPos = -6,
		hatEffectPosX = 0,
		isIgnoreRiding = true,
		isAdjustPositionWhenShrinkState = true,
		isAdjustSizeWhenShrinkState = true
	},
	[HatEFID.HAT_EF_arcane_aura_A] = {
		resourceFileName = "arcane_aura\\arcane_aura_particle.str",
		hatEffectPos = -1,
		hatEffectPosX = 0,
		isRenderBeforeCharacter = false,
		isIgnoreRiding = false,
		isAdjustPositionWhenShrinkState = true,
		isAdjustSizeWhenShrinkState = true
	},
	[HatEFID.HAT_EF_arcane_aura_B] = {
		resourceFileName = "arcane_aura\\arcane_aura.str",
		hatEffectPos = -2,
		hatEffectPosX = 0.2,
		isRenderBeforeCharacter = true,
		isIgnoreRiding = true,
		isAdjustPositionWhenShrinkState = true,
		isAdjustSizeWhenShrinkState = true
	},
	[HatEFID.HAT_EF_gluttony_aura_A] = {
		resourceFileName = "gluttony_aura\\gluttony_aura_particle.str",
		hatEffectPos = -1,
		hatEffectPosX = 0,
		isRenderBeforeCharacter = false,
		isIgnoreRiding = false,
		isAdjustPositionWhenShrinkState = true,
		isAdjustSizeWhenShrinkState = true
	},
	[HatEFID.HAT_EF_gluttony_aura_B] = {
		resourceFileName = "gluttony_aura\\gluttony_aura.str",
		hatEffectPos = -2,
		hatEffectPosX = 0.2,
		isRenderBeforeCharacter = true,
		isIgnoreRiding = true,
		isAdjustPositionWhenShrinkState = true,
		isAdjustSizeWhenShrinkState = true
	}
}

6. Add Script NPC: rathena\npc\custom\hateffect.txt (Use command @efc in game)

-	script	HATEFFECT	-1,{

OnHatEffect:
	if(getgmlevel()>= 80){
	input .@number;
	if (.@number < 1) end;
	if (.@number >= 301) end;
	for(.@i = 1; .@i < 300; ++.@i)
		hateffect .@i,false;
	hateffect .@number,true;
	end;
	}

	
OnInit:
	bindatcmd "efc",strnpcinfo(3)+"::OnHatEffect";
	end;
}

7. Add npc in rathena\npc\scripts_custom.conf

npc: npc/custom/hateffect.txt

8. (OPTIONAL) Add Hateffect in item:
Example:

  - Id: 2301
    AegisName: Cotton_Shirt
    Name: Cotton Shirt
    Type: Armor
    Buy: 10
    Weight: 100
    Defense: 1
    Locations:
      Armor: true
    ArmorLevel: 1
    Refineable: true
    Script: |
      hateffect HAT_EF_arcane_aura_A,true;
      hateffect HAT_EF_arcane_aura_B,true;
    UnEquipScript: |
      hateffect HAT_EF_arcane_aura_A,false;
      hateffect HAT_EF_arcane_aura_B,false;

Update: My project all Auras. (09/27/2023)

- Pack Auras: My Project All Auras (https://www.mediafire.com/file/89cdcv63zctjucl/Auras.7z/file)

Too my project Ragnarok Online Pre-Renewal(Offline) and guide for easy update.

- Data Folder + Server: MediaFire (https://www.mediafire.com/file/i1iy59jooa9nl0r/rathenaPre-Renewal_23.03.2023.zip/file)

- Client RO: MediaFire (https://www.mediafire.com/file/8280t7al51gmz9d/ROClientFull-27-11-2022.7z/file)

Guide for start server and Play:

0. Dowloand Client RO and Update.
1. Download Data Folder + Server
2. Copy all files C:/MyServer/Client (In folder Ragnarok Onmline).
3. Run C:/MyServer/UwAmp/UwAmp.exe
4. Start Server C:/MyServer/rathena/runserver.exe

Enjoy!!!

Gluttony Aura:

Arcane Aura:

Spoiler

rathena-orb-refine.mp4 (https://rathena.org/board/applications/core/interface/file/attachment.php?id=37204)

Credits:
LCDTheOG (https://rathena.org/board/files/file/3446-custom-aura-compilation/)
Fros (https://frost.ragdev.com/installing-and-fixing-hateffect/)

Known issues

No known issues yet.

Having trouble with [Guide] Add new Hateffect (Aura Style)? Ask about it →