Fx4Fx released-- add visual effects to status effects
Moderator: Moderator
Fx4Fx released-- add visual effects to status effects
Released: fx4fx v1.3
Addon at http://te4.org/games/addons/tome/fx4fx
Allows you to attach visual effects to any timed effect or sustainable talent you'd like, so that you can see at a glance whether you've been Impending Doomed (amongst others)-- choose the status, choose the visual, and you'll know the instant you're affected.
Includes a small library of visual effects. By default, it attaches visuals to Stun and Impending Doom. Right click an icon (in effects tray) in Minimalist UI to edit attached effects, or hit escape and select fx4fx to bring up the full menu. None of the effects are shader based, so they should work for everyone.
Includes a small library of visual effects, which you can Preview before attachment. Previewing doesn't take advantage of the full abilities of the effects (like visual effect access to timed effect parameters, for instance), but it gives you a good general idea.
Jitter: Jerks things around a bit. I like to attach this to stun.
Outline: Draws an outline at the player position. Good to attach to blindness and invisibility. Ugly, though, if anybody wants to make a better version.
Spiral: This is built to take advantage of parameters used by Impending Doom-- but like any of the effects, attach it to any timed effect you'd like. Any DOT will have the same parameters as Impending Doom, and Spiral will take advantage of them. The loudest and most complicated of the visuals included. (Try attaching it to something without a source and moving your mouse around near it. Debug code that looked cool so I kept it.)
Pulse: A heartbeat effect, that changes with your character's life. This is my fave-- really gives a sense of urgency at low life.
Dialog: Hey, it's boring, but it works.
Seasick: I don't like to use this one myself.
Colorhaze: Tints the screen, similar to what the game does when you're at low health, except without shaders. You pick the color.
Attach them to any effects you'd like; attach multiple visuals to one effect; attach one effect to multiple effects. Whatever floats your boat. Attach inversely, and the visuals will come up when you DON'T have the status instead (useful for sustained talents, regens on auto-use). Remembers your settings between sessions. Compatible with Chronometer; let me know of any incompatibilities with other mods and I'll do my best to fix them. But I see no reason why it would be incompatible with any mod I can think of.
I built it to make it easy to create effects. You can write new effects directly into your settings folder (tome.customvisuals.fx4), without worrying about unpacking or losing validation. Check out superload/mod/gfx/fxlist.lua for all of the example visuals. Post them and I'll almost certainly include them. If you're into that sort of thing, it can be very fun (I spent forever just playing with spiral parameters). Or, just give me ideas for other visual effects-- I'm not much of an artist, but I can make templates like this for the real artists to go crazy with. If you're concerned about wasting time on an addon, know that it's very easy to convert any created visuals to any other add-on or default ToME, and I'd be happy to do it for you.
Give me feedback, I'll do my best to implement what you want. Thanks in advance for trying it out! (Why wouldn't you?)
Addon at http://te4.org/games/addons/tome/fx4fx
Allows you to attach visual effects to any timed effect or sustainable talent you'd like, so that you can see at a glance whether you've been Impending Doomed (amongst others)-- choose the status, choose the visual, and you'll know the instant you're affected.
Includes a small library of visual effects. By default, it attaches visuals to Stun and Impending Doom. Right click an icon (in effects tray) in Minimalist UI to edit attached effects, or hit escape and select fx4fx to bring up the full menu. None of the effects are shader based, so they should work for everyone.
Includes a small library of visual effects, which you can Preview before attachment. Previewing doesn't take advantage of the full abilities of the effects (like visual effect access to timed effect parameters, for instance), but it gives you a good general idea.
Jitter: Jerks things around a bit. I like to attach this to stun.
Outline: Draws an outline at the player position. Good to attach to blindness and invisibility. Ugly, though, if anybody wants to make a better version.
Spiral: This is built to take advantage of parameters used by Impending Doom-- but like any of the effects, attach it to any timed effect you'd like. Any DOT will have the same parameters as Impending Doom, and Spiral will take advantage of them. The loudest and most complicated of the visuals included. (Try attaching it to something without a source and moving your mouse around near it. Debug code that looked cool so I kept it.)
Pulse: A heartbeat effect, that changes with your character's life. This is my fave-- really gives a sense of urgency at low life.
Dialog: Hey, it's boring, but it works.
Seasick: I don't like to use this one myself.
Colorhaze: Tints the screen, similar to what the game does when you're at low health, except without shaders. You pick the color.
Attach them to any effects you'd like; attach multiple visuals to one effect; attach one effect to multiple effects. Whatever floats your boat. Attach inversely, and the visuals will come up when you DON'T have the status instead (useful for sustained talents, regens on auto-use). Remembers your settings between sessions. Compatible with Chronometer; let me know of any incompatibilities with other mods and I'll do my best to fix them. But I see no reason why it would be incompatible with any mod I can think of.
I built it to make it easy to create effects. You can write new effects directly into your settings folder (tome.customvisuals.fx4), without worrying about unpacking or losing validation. Check out superload/mod/gfx/fxlist.lua for all of the example visuals. Post them and I'll almost certainly include them. If you're into that sort of thing, it can be very fun (I spent forever just playing with spiral parameters). Or, just give me ideas for other visual effects-- I'm not much of an artist, but I can make templates like this for the real artists to go crazy with. If you're concerned about wasting time on an addon, know that it's very easy to convert any created visuals to any other add-on or default ToME, and I'd be happy to do it for you.
Give me feedback, I'll do my best to implement what you want. Thanks in advance for trying it out! (Why wouldn't you?)
Last edited by nate on Sat Mar 16, 2013 9:40 am, edited 11 times in total.
Re: Fx4Fx released-- add visual effects to status effects
[EDIT: original top post]
Allows you to attach visual effects to any status effect you'd like, so that you can see at a glance whether you've been Impending Doomed (amongst others)-- choose the status, choose the visual, and you'll know the instant you're affected.
Includes a small library of visual effects. If you don't tell the add-on to use them, it won't, so pick the effects that bother you, and make sure the game lets you know about them. (Just hit escape to bring up the main menu, choose fx4fx, and the rest should be obvious-- filter the effects list by any string you choose, preview visuals before attaching, the UI should be adequate.) None of the effects are shader based, so they should work for everyone.
Attach them to any effects you'd like; attach multiple visuals to one effect; attach one effect to multiple effects. Whatever floats your boat. Remembers your settings between sessions. Compatible with Chronometer, let me know of any incompatibilities with other mods and I'll do my best to fix them.
Todo:
Allow attachment to buffs
Allow inverse attachment (never worry if your regen has expired again)
Attach visuals to other things? (Like resources? What do y'all think?)
More effects-- specifically, built for Worm Rot, and flying text effect
Attachment via click on icon
Learn shaders so I can do some cooler effects (that sun prodigy is begging for additive color)
For the curious: I built it to make it easy to create effects. Unpack it and check out mod/gfx/fxlist.lua-- it shouldn't be hard to write your own. Post them and I'll probably include them. If you're into that sort of thing, it can be very fun (I spent forever just playing with spiral parameters).
For modders: includes a bell-shaped random function, amongst other crap that might be useful.
Allows you to attach visual effects to any status effect you'd like, so that you can see at a glance whether you've been Impending Doomed (amongst others)-- choose the status, choose the visual, and you'll know the instant you're affected.
Includes a small library of visual effects. If you don't tell the add-on to use them, it won't, so pick the effects that bother you, and make sure the game lets you know about them. (Just hit escape to bring up the main menu, choose fx4fx, and the rest should be obvious-- filter the effects list by any string you choose, preview visuals before attaching, the UI should be adequate.) None of the effects are shader based, so they should work for everyone.
Attach them to any effects you'd like; attach multiple visuals to one effect; attach one effect to multiple effects. Whatever floats your boat. Remembers your settings between sessions. Compatible with Chronometer, let me know of any incompatibilities with other mods and I'll do my best to fix them.
Todo:
Allow attachment to buffs
Allow inverse attachment (never worry if your regen has expired again)
Attach visuals to other things? (Like resources? What do y'all think?)
More effects-- specifically, built for Worm Rot, and flying text effect
Attachment via click on icon
Learn shaders so I can do some cooler effects (that sun prodigy is begging for additive color)
For the curious: I built it to make it easy to create effects. Unpack it and check out mod/gfx/fxlist.lua-- it shouldn't be hard to write your own. Post them and I'll probably include them. If you're into that sort of thing, it can be very fun (I spent forever just playing with spiral parameters).
For modders: includes a bell-shaped random function, amongst other crap that might be useful.
Last edited by nate on Wed Mar 13, 2013 8:27 pm, edited 1 time in total.
Re: Fx4Fx released-- add visual effects to status effects
Amazing!!!!!
Well, after I fixed it
"selectvisual" dialog has one too many "end" at the very end of it
Also you place your dialogs in superload, but they dont superload anything, this is bad form, place them in overload instead.
The Dialog fx produces an error too
Still, very very well done, fix it a little and I'll gladly recommend it to anybody !
Suggestions for improvments: List the effects by description instead of id; maybe also allow to search by subtype ?
Well, after I fixed it

"selectvisual" dialog has one too many "end" at the very end of it
Also you place your dialogs in superload, but they dont superload anything, this is bad form, place them in overload instead.
The Dialog fx produces an error too
Still, very very well done, fix it a little and I'll gladly recommend it to anybody !

Suggestions for improvments: List the effects by description instead of id; maybe also allow to search by subtype ?
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning

Re: Fx4Fx released-- add visual effects to status effects
Doh, that's what I get for making the release decision while drinking. I'll fix ASAP.
Thanks so much for looking at the code-- I put a lot of work into it, and a lot of that work isn't really apparent until one looks at the code. Hopefully now you can understand the reasoning behind all of my inane questions in the Development subforum!
Search by subtype's a good idea, I'll get that in (it'll give me an excuse to learn drop-down UI).
Thanks so much for looking at the code-- I put a lot of work into it, and a lot of that work isn't really apparent until one looks at the code. Hopefully now you can understand the reasoning behind all of my inane questions in the Development subforum!
Search by subtype's a good idea, I'll get that in (it'll give me an excuse to learn drop-down UI).
Re: Fx4Fx released-- add visual effects to status effects
Hehe 

[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning

Re: Fx4Fx released-- add visual effects to status effects
Version 1.01 out, fixes bugs, now checks filter against effect name, desc, or subtype (so for instance if you filter by "gloom", "dismayed" will show up on the list)
Re: Fx4Fx released-- add visual effects to status effects
I haven't looked at this much yet, but would it be easy to attach to attributes as well? for example, a single effect for pinned, bind, encuumbered, frozen/frozen feet, and dominate could search for "never_move"(IIRC)
Re: Fx4Fx released-- add visual effects to status effects
(Phone, forgive me terseness and typps)
Recommend against using Spiral for now-- some game states lead to intolerable framerates. Will address soon.
Lukep: From coding standpoint, can attach to any game state. From UI standpoint, more complicated.
End goal is attachment via click on icon, which is more newb-friendly than the current menu. No similar point of access for more general states.
Timed effects are also nice in that they have a standard programming interface-- newEffect-- which lets me easily populate a complete list, even for modules and add-ons that have not yet been created. Not sure if there is anything like that for the attributes you describe.
It seems largely about convenience, anyways. By attaching to enough statuses, the same thing can be achieved. I do want things to be convenient, but not at any cost to accessibility.
If you want to get that set up, it shouldn't be hard. Check for attribute in the UI onFrame, create a list of attributes in fxlib load and populate fxlib.statusList with that list. Basically talking about 4 changes in 3 files, assuming none of your attributes share a name with a timed effect. statusList is populated in engine actortemporaryeffects, if you want a template for it, but I don't think you need anything but a name and a desc.
Recommend against using Spiral for now-- some game states lead to intolerable framerates. Will address soon.
Lukep: From coding standpoint, can attach to any game state. From UI standpoint, more complicated.
End goal is attachment via click on icon, which is more newb-friendly than the current menu. No similar point of access for more general states.
Timed effects are also nice in that they have a standard programming interface-- newEffect-- which lets me easily populate a complete list, even for modules and add-ons that have not yet been created. Not sure if there is anything like that for the attributes you describe.
It seems largely about convenience, anyways. By attaching to enough statuses, the same thing can be achieved. I do want things to be convenient, but not at any cost to accessibility.
If you want to get that set up, it shouldn't be hard. Check for attribute in the UI onFrame, create a list of attributes in fxlib load and populate fxlib.statusList with that list. Basically talking about 4 changes in 3 files, assuming none of your attributes share a name with a timed effect. statusList is populated in engine actortemporaryeffects, if you want a template for it, but I don't think you need anything but a name and a desc.
Re: Fx4Fx released-- add visual effects to status effects
v1.1 released, major UI rewrite, lots of new functionality.
Attach to sustainable buffs. This should be handy for peeps. I use it (in conjunction with inverse attachment, below) to keep track of when my sustains have been dispelled.
Inverse attachments. When you attach inversely, the visual occurs when you're NOT suffering the status, and ends when you acquire the status. I want to extend a warning to folks that this is sort of advanced mode: I fear somebody's going to do a bazillion inverse attachments on all of the sutainables, start a character of a different class, and be so overwhelmed by visuals that they can't even figure out how to clear all their visuals. If this happens, you can always delete your settings by deleting "tome.fxsaved.fx4" from your home path/settings directory.
Click to attach. In minimalist UI, you can now right click on a timed effect or sustained talent icon to bring up an attachment dialog with the target of your click selected. Easy!
Spiral fix. This was working poorly before-- it's good now.
Hidden dialog while previewing. So you can see what the hell is going on.
Default settings. When running fx4fx for the first time (or after deleting tome.savedfx.fx4 from your settings), fx4fx will load with a small number of default attachments, so even peeps who don't touch anything should see what fx4fx does.
Major UI rewrite. Everything's on one page, everything's faster. Should be especially convenient for people who want to make a large number of attachments.
Todo:
--More visual effects, especially using shaders or particles, to act as templates
--Allow attachment via icon for Classic UI-- not likely to happen, doesn't seem very important and I couldn't figure it out on first pass
--Attachment to further game states (resources?) as requested by users
Special second reply to lukep: I think fx4fx can now do what you were asking about much more conveniently. Filter for a subtype (for instance, "pin"), and everything that matches shows up on the left, so you can just go through and attach everything very easily. You can't be totally brainless about it, because "pin" filter includes sPINe of the World and sPIN Fate as well as Grapple and Dominate (and doesn't include Aim-- sustained talents don't have nice subtypes like this). If you're uncertain about what to search for, notice that when you mouse-over a selection, it gives you subtype (or talent type) info at the bottom of the selection pane-- everything you see down there is considered by the filter.
Attach to sustainable buffs. This should be handy for peeps. I use it (in conjunction with inverse attachment, below) to keep track of when my sustains have been dispelled.
Inverse attachments. When you attach inversely, the visual occurs when you're NOT suffering the status, and ends when you acquire the status. I want to extend a warning to folks that this is sort of advanced mode: I fear somebody's going to do a bazillion inverse attachments on all of the sutainables, start a character of a different class, and be so overwhelmed by visuals that they can't even figure out how to clear all their visuals. If this happens, you can always delete your settings by deleting "tome.fxsaved.fx4" from your home path/settings directory.
Click to attach. In minimalist UI, you can now right click on a timed effect or sustained talent icon to bring up an attachment dialog with the target of your click selected. Easy!
Spiral fix. This was working poorly before-- it's good now.
Hidden dialog while previewing. So you can see what the hell is going on.
Default settings. When running fx4fx for the first time (or after deleting tome.savedfx.fx4 from your settings), fx4fx will load with a small number of default attachments, so even peeps who don't touch anything should see what fx4fx does.
Major UI rewrite. Everything's on one page, everything's faster. Should be especially convenient for people who want to make a large number of attachments.
Todo:
--More visual effects, especially using shaders or particles, to act as templates
--Allow attachment via icon for Classic UI-- not likely to happen, doesn't seem very important and I couldn't figure it out on first pass
--Attachment to further game states (resources?) as requested by users
Special second reply to lukep: I think fx4fx can now do what you were asking about much more conveniently. Filter for a subtype (for instance, "pin"), and everything that matches shows up on the left, so you can just go through and attach everything very easily. You can't be totally brainless about it, because "pin" filter includes sPINe of the World and sPIN Fate as well as Grapple and Dominate (and doesn't include Aim-- sustained talents don't have nice subtypes like this). If you're uncertain about what to search for, notice that when you mouse-over a selection, it gives you subtype (or talent type) info at the bottom of the selection pane-- everything you see down there is considered by the filter.
Re: Fx4Fx released-- add visual effects to status effects
v 1.2 released:
--Fixed bug that screwed up loading of inversely attached visuals
--Fixed bug associated with inverse attachment of jitter
--Updated for ToME v1.0.1 (fx4fx for ToME 1.0.0 will no longer be supported)
--Fixed bug that screwed up loading of inversely attached visuals
--Fixed bug associated with inverse attachment of jitter
--Updated for ToME v1.0.1 (fx4fx for ToME 1.0.0 will no longer be supported)
-
- Graphical God
- Posts: 482
- Joined: Wed Jan 05, 2011 8:05 am
- Location: There and Back again
Re: Fx4Fx released-- add visual effects to status effects
Another gem of an addon 
I was wondering if it is possible to add in the library screen colouring effects, similar to the freeze in 1.0.1 (or suffocating, or running low on hitpoints) - red for bleeding, orange for burning, etc. What do you think?

I was wondering if it is possible to add in the library screen colouring effects, similar to the freeze in 1.0.1 (or suffocating, or running low on hitpoints) - red for bleeding, orange for burning, etc. What do you think?
~ [ RexOrcorum, a.k.a "rexo": Official Visual Magus, Addon Beautifier, Achiever, Knight of the 561 Trees, Dark Interfacer ] ~
darkgod wrote:~ [ DarkGod whips rexorcorum with Suslik (& many others as well) ] ~
Re: Fx4Fx released-- add visual effects to status effects
Hmm-- if I'm not mistaken, those are done with shaders, which I haven't figured out yet, but have been meaning to...
Of course, it could probably be done without shaders, with a colored texture applied over the entire screen with alpha, but that's the kind of thing that used to make graphics cards choke, several years back...
Here, pop this into superload/mod/gfx/fxlist.lua:Does exactly that (although using the dot.png texture, since that's what I had handy). Graphics card doesn't even blink. Of course, I still need to figure out shaders anyways...
edit: and that's probably as good of an advertisement for how easy it is to create new effects with this add-on as is possible...
Of course, it could probably be done without shaders, with a colored texture applied over the entire screen with alpha, but that's the kind of thing that used to make graphics cards choke, several years back...
Here, pop this into superload/mod/gfx/fxlist.lua:
Code: Select all
fxlib:newVisual{
name = "Colortest",
desc = "Colortest",
onFrame = function()
if not dotshat then dotshat= {core.display.loadImage("/data/gfx/dot.png"):glTexture()} end
local R, G, B, A = 1, 0, 0, 0.5
dotshat[1]:toScreenPrecise(0, 0, game.w, game.h, 0, 1, 0, 1, R, G, B, A)
end,
}
edit: and that's probably as good of an advertisement for how easy it is to create new effects with this add-on as is possible...
-
- Sher'Tul Godslayer
- Posts: 2000
- Joined: Fri May 07, 2004 8:26 pm
- Location: Nahgharash
Re: Fx4Fx released-- add visual effects to status effects
If you go the shader route, please don't make it the ONLY option for our special effects. Leave the standard versions alongside them. Some of us have graphic card that don't even ALLOW shaders. (And I know I'm not the only one.) If every effect requires shaders, we won't be able to use the addon. Having effects that use them would be fine, so long as we can ignore those effects and use others. (Probably label the ones that use shaders somehow, so people know the difference.)
Currently playing under the name Aura of the Dawn 4 down, 227 to go!
Proud author of Orc Pit Restoration Project, Faction Allies, Dwarven Adventurer addons
Proud author of Orc Pit Restoration Project, Faction Allies, Dwarven Adventurer addons
SadistSquirrel wrote:DarkGod has two arms, one with an opened hand, one with a closed fist. You got the fist.
-
- Graphical God
- Posts: 482
- Joined: Wed Jan 05, 2011 8:05 am
- Location: There and Back again
Re: Fx4Fx released-- add visual effects to status effects
Having the following issue - using the fx4fx, chronometer and ZOmnibus (latest version with the online indicator), tried to unlock the GUI and the screen / game starts an infinite "hiccup" loop:
Disabled the fx4fx, started a new game (with chrono and ZOMn), made the changes on the UI, killed the character, enabled fx4fx again, loaded game (tried also a new game) and this time I received this:
Probably is addon's superloading messing with each other, but decided to let you know anyway 
Code: Select all
[LOG] #CRIMSON#Interface unlocked, mouse disabled on the map
Lua Error: /mod/addons/fx4fx/superload/mod/class/uiset/Minimalist.lua:150: attempt to index global 'move_handle' (a nil value)
At [C]:-1 __index
At /mod/addons/fx4fx/superload/mod/class/uiset/Minimalist.lua:150 displayBuffs
At /mod/class/uiset/Minimalist.lua:1971 base_display
At /mod/addons/fx4fx/superload/mod/class/uiset/Minimalist.lua:38 base_display
At /mod/addons/chrono/superload/mod/class/uiset/Minimalist.lua:55 display
At /mod/class/Game.lua:1209
Code: Select all
Lua Error: /mod/addons/fx4fx/superload/mod/gfx/fxlist.lua:63: attempt to perform arithmetic on local 'centerX' (a nil value)
At [C]:-1 __add
At /mod/addons/fx4fx/superload/mod/gfx/fxlist.lua:63 offFrame
At /mod/addons/fx4fx/superload/mod/class/uiset/Minimalist.lua:63 onFrame
At /mod/addons/fx4fx/superload/mod/class/uiset/Minimalist.lua:39 base_display
At /mod/addons/chrono/superload/mod/class/uiset/Minimalist.lua:55 display
At /mod/class/Game.lua:1209

~ [ RexOrcorum, a.k.a "rexo": Official Visual Magus, Addon Beautifier, Achiever, Knight of the 561 Trees, Dark Interfacer ] ~
darkgod wrote:~ [ DarkGod whips rexorcorum with Suslik (& many others as well) ] ~
Re: Fx4Fx released-- add visual effects to status effects
Thanks, I'll figure out what's going on.
If it's not too late (haven't changed fx4fx settings), could you also post the contents of tome.savedfx.fx4 in your settings folder? EDIT: Which you may need to delete to continue playing with fx4fx
If it's not too late (haven't changed fx4fx settings), could you also post the contents of tome.savedfx.fx4 in your settings folder? EDIT: Which you may need to delete to continue playing with fx4fx