Hello! After posting in Herc and rAthena to ask about the effect tool files in the various official GRFs, it seemed no one knew how to edit them for usage in custom maps, so I gave up until a few days ago when i started tinkering again and finally figured it out. Turns out I was just being a nub and it wasn't as annoying as it seemed, so I decided to write a guide in hopes that others can use these in their maps to make them even more fabulous, and so that hopefully, someone can figure out and post the proper usage for the other "effect tools" like Magic Floor, for the good of humankind! Also, If this is in the wrong section, etc., please let me know.
I should note that I'm only going by what worked for me, this is just the base minimum needed to get them working on your map. Feel free to tinker around to discover different and better uses, methods, etc., and please let me know if any information provided here is incorrect or if there's anything I missed, etc, so that I may fix it.
Browedit 586, 620
Lua Dec (optional)
What's an effect tool? They're used to add additional effects to maps. For every map that will use one, there is a .lub file in the GRF, under "data\luafiles514\lua files\effecttool" (Or may just be "LuaFiles" without the 514 depending on which one your game reads). The most commonly used effect tool function, which is the one I'll be talking about in this guide, uses the "EF_EMITTER" effect, #974. It is assumed you know how to work Browedit, at least enough to add a special effect and not crash yourself.
The file will look like this below.
Click below to see what some of these lines means.
To make whatever you want visible on your map:
1. Add effect #974, EF_EMITTER to it. If you don't see it on your effects list, edit your effects.txt file on browedit's data folder to add it. When placing the effect, loop time seems to not matter, though to be sure, you may set it to 9999999 (9,999,999) which is what official maps commonly use.
2. Once you added EF_EMITTER wherever you want, save it, generate quadtree and whatnot so you can properly see your map ingame.
3. Create a .lub file as seen above. You can also just copy it from what GRF editor shows as preview and edit from there, or use Lua Dec to decrypt from an official one.
4. Just change the numbers as you wish, pick effects, and add the file to your effecttool folder and check it out ingame.
- It is unknown how it picks which emitter effect is affected, but I assume it corresponds with the order of the effect list in browedit.
- Missing a comma, etc will cause you to receive an error message ingame and the effects won't show.
- As mentioned previously, this guide only details how to work with EF_EMITTER. "EffectToolUtil.lub" and "effectfunc.lub" indicates other effects can be worked with, such as 1025 (EF_MAGIC_FLOOR) and 1039 (EF_EVILS_PAW), and regular effects, but I couldn't get these to work.
- Z axis in this file works the same way as Browedit (and water heights), where negative numbers raises the height while negative numbers decreases them.
- Images are flipped vertically. It's not possible to flip them back via effecttool, so effects like "heart_1.bmp" must be flipped manually and saved to GRF that way (with a different name so as not to mess up other effects).
Screenshot isn't as compelling as a GIF, but here's an example of what you can do with the example in the hidden spoiler above.
Let me know if any information provided here is incorrect or if there's anything I missed, etc, so that I may fix it. And, if someone figures out how to use the other effects, a general guide to using them would be appreciated so that others may use them too!