- Dec 15, 2014
-
-
DarkGod authored
removeEffectsFilter tweaks There's a great function, Actor:removeEffectsFilter, which doesn't get used that often. Partly because of the fact that it never was quite powerful enough to be used. This commit adds a couple of extra checks for it, and makes staple "strip sustains" and "strip effects and sustains" functions, too. I only converted Wild and Primal infusions because I don't feel like testing about 10 talent trees that currently contain interactions with random effects. The original contributors of that trees may decide to switch to use the new interface, though, and addon developers are welcome as well.
-
DarkGod authored
Removable egos Recently there was a talk on IRC how sweet would it be to be able to strip egos from an object. This achieves just that, keeping a list of egos at each object, too! As a nice bonus, it showcases its capabilities by converting Imbue Item and Reshape Weapon/Armor to slap egos onto objects (and in the second case, to strip them from objects, too). Randarts now have egos, too, and even randart stat powers are hoarded together by the name and converted into egos. Overall it's pretty sweet. Of course, this is not limited to objects in its applications. Imagine: SHAPESHIFTING ACTORS.
-
DarkGod authored
Callback improvements Some touches on the callback system: - callback adding/removing is factored out so that the same loop isn't just written everywhere; - priorities can now be specified for callbacks (default 0), callbacks with lower priorities get called first. (By a popular IRC request.) Of course this involves sorting but measures are taken to do actual sorting as rarely as possible. (As a side-effect, callback-order is now well-defined, being sorted by type ("effect", "object", "talent") and implementing object (taking its .name or tostring()).) - sustained talents can now be made to behave like passive ones in terms of callbacks, by specifying passive_callbacks=true in talent definition.
-
DarkGod authored
-
DarkGod authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
- Dec 14, 2014
-
-
DarkGod authored
-
DarkGod authored
Fix UI left, right, etc. calculations While working on statusbox, I've discovered that: - absolutely everything dependent adds self.ix, self.iy twice. or thrice. this was masking top= bug, for example. - right=ui sets right to ui.x, which usually sets an object flying to the opposite side of the dialog, - top=ui sets top edge to be equal to the top edge of the ui, which is probably not what's desired (see left=) - bottom=ui has similar problem to right, - hcenter=ui sends a ui element flying half a dialog width to the right, - vcenter=ui, likewise, - and hcenter_left=ui I didn't understand what it's supposed to do. This commit fixes all of the above, sans the last, and also adds 3 pixels of padding between everything to compensate for buggy yet sometimes desired previous results.
-
DarkGod authored
Redisplay fix Calling redisplay() multiple times per turn is notorious for causing lag. The worst offender is probably Smoke Bomb, and it just got stripped from Creeping Dark. This commit introduces a new scheduleRedisplay method, which uses little-known feature of game:onTickEnd to ensure that a redisplay would only get called once per this tick, not causing any frame drops.
-
DarkGod authored
-
DarkGod authored
LevelupDialog status box Many users have expressed their frustration that appears when clicking too fast on a talent or stat to level it up pops up a message, forcing them to click "Ok". This commit adds a simple status line on top of the window, always clearly visible, that communicates these short messages in aesthetically pleasing colours. For important messages (e.g. the player somehow created an impossible talent loadout), the modal dialog usage was retained.
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
The status box displays short error messages instead of popups, to avoid modal changes and user frustration.
-
Alex Ksandra authored
-
DarkGod authored
Absorption cleanup Currently, absorption shields are partially generalized, but there was still a wealth of absolutely identical code copy/pasted 3 times. This unifies on_damage and adjust_gfx into file-level functions to be consistent with the rest of the code there. Code relevant to spiked shields is also removed, because spiked shields are long gone. This is the part of refactoring damage-connected code to be more consistent and modular.
-
DarkGod authored
-
DarkGod authored
actBase callbacks Currently it's just a list of talent callbacks not being called callbackONActBase for some reason, This commit fixes it!
-
DarkGod authored
More callbacks This one is extremely trivial: it adds a couple of callbacks that were requested over the course of developing "Callbacks engage". This one is not vital in any sense, but bears some use for addons, particularly ones that do strange stuff with levelups.
-
- Dec 13, 2014
-
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
-
Alex Ksandra authored
Removal is done by rewinding an object and replaying all other egos on top of it. Not too fancy, but surefire.
-
Alex Ksandra authored
A lot of it involved renaming a single method in a talent definition. Shrug. Also talents now cool down after sustains are broken.
-
Alex Ksandra authored
This one's to you, grayswandir76!
-
Alex Ksandra authored
-
Alex Ksandra authored
To do so, add a line: callbackPriorities = {callbackOnStuff=99} alongside your callback definition. By default, the priority is zero. All measures were taken to assure only a marginal slowdown compared to previous behaviour.
-
Alex Ksandra authored
Cleaned up Absorption (removed tons of duplicate code) and removed spiked code, as they no longer exist.
-
Alex Ksandra authored
-