- Jan 26, 2016
-
-
DarkGod authored
- Jan 23, 2016
-
-
stuntofthelitter authored
Make Displacement Shield have priority over other shielding so that it can actually be usefully used in conjunction with them.
-
- Jan 17, 2016
-
-
DarkGod authored
-
- Jan 10, 2016
-
-
DarkGod authored
-
- Jan 07, 2016
-
-
DarkGod authored
-
- Jan 04, 2016
-
-
DarkGod authored
-
- Jan 03, 2016
-
-
DarkGod authored
-
- Jan 02, 2016
- Jan 01, 2016
-
-
DarkGod authored
-
- Dec 24, 2015
-
-
DarkGod authored
New option to make a small flyer with talent icon&name upon talent use, for both player and NPCs; disabled by default
-
- Dec 21, 2015
-
-
DarkGod authored
-
- Dec 14, 2015
-
-
DarkGod authored
-
- Dec 10, 2015
-
-
DarkGod authored
undeads cant use infusions instead of only being able to use runes (doesnt change anything for vanilla)
-
- Dec 01, 2015
-
-
DarkGod authored
-
- Nov 24, 2015
-
-
DarkGod authored
-
- Oct 20, 2015
-
-
DarkGod authored
-
- Oct 19, 2015
-
-
DarkGod authored
-
- Oct 10, 2015
-
-
Samuel Wegner authored
Previously, if the "can_see_cache" property is not initialized when Actor.canSee() is called, it will be set to a strong table. This seems bad because this table can hold references to other actors and possibly prevent garbage collection. Actor.resetCanSeeCache() sets "can_see_cache" to a weak table, so I think the same should be done for initializing the property in Actor.canSee(). Now, Actor.canSee() will initialize "can_see_cache" with a weak table if it doesn't already exist. I stumbled across this while investigating the Warden's Call memory leak and found references to the clones in game.player.can_see_cache. Unfortunately, this change doesn't seem to fix that problem.
-
- Oct 09, 2015
-
-
DarkGod authored
-
- Oct 04, 2015
-
-
Alex Ksandra authored
-
- Sep 30, 2015
-
-
Hachem_Muche authored
-
- Sep 29, 2015
-
-
Hachem_Muche authored
This can now handle mainhand/offhand/psionic focus simultaneously. (So, a gunslinger/mindslayer randboss can theoretically triple shoot.) Includes updates to hasArcheryWeapon(type, quickset), archeryAcquireTargets(tg, params), archery_projectile(tx, ty, tg, self, tmp) and archeryShoot(targets, talent, tg, params). These are still compatible with existing talents but some of the new orcs talents need tweaking (separate MR forthcoming). Double weapons are supported for both archery and melee combat. Weapon resource costs are standardized with a new general function Actor:useResources(costs, check). This is used to check for a weapon.combat.use_resources list of resources to be deducted to perform the attack. (checks all regularly defined resources, not paradox). This can be easily adapted to other actions (resources to use (or regen) with movement, or to use an object, for example. Resource costs to attack are correctly supported for each attack performed: Archery (shooters and ammo, per shot, including bomardment), melee weapons (including shields), and unarmed combat. Insufficient resources causes ranged attack(s) to be canceled (message to player) and melee attacks to attempt an unarmed attack or cancel the attack completely (if the unarmed attack also needs unavailable resources). Archery will use the correct archery training talents (based on the shooter), to determine combat damage. Mixed shooter/ammo combos are now fully supported: Each shot will have the correct speed and range for its shooter/ammo combination, and, by default, archeryAcquireTargets will not assign shots for shooters that cannot reach the target. (i.e. range 10 steamgun + range 6 sling, with swift ammo will be properly resolved to have different travel speeds and maximum ranges, and only the steamgun will fire at a range 8 target.) The archery_range(t, type) function returns the maximum range of eligible weapons instead of the minimum. and archeryAcquireTargets will cancel if the target is out of range of all shooters. Archery targeting for the player with mixed range shooters now highlights the ranges (blue/yellow/red for all/some/none within range) to warn the player if some of the shooters are out of range. All weapons can be forced to fire by holding ctrl while targeting. (ctrl_SPACE, ctrl_RETURN, and ctrl_KP_ENTER bound to accept in game targeting.) Archery messages for the player are updated to be more clear and distinct. ("Your steel steamgun CANNOT SHOOT (Resource: Steam)"). Combat log messages for archery damage are more clear "player's SHOOT misses target." rather than "player misses target." Added a new hook to archeryShoot to apply transient actor effects to the projectiles at the point of creation. Added more code comments to make this relatively opaque part to the code more comprehensible for addon-developers. Beyond the flesh now works with all archery weapons, which will attempt to fire at the appropriate target when an archery talent is used (not autonomously). This is an interesting new ranged option for Mindslayers, though not terribly effective without additional archery skills. A new attribute "psi_focus_combat" enables combat with the psionic focus separate from "use_psi_combat" which affects all combat stats. This is followed through for quick sets, including Warden switching checks. Updated the character sheet (shows accurate damage and more complete info, including weapon type by skill and ammo range and speed). Actor tooltips now show each weapon equipped (short name), instead of a combined list of keywords. (i.e. Main: <weapon icon> iron, ego Off : <shield icon> thick coral plate ) Projectile tooltips now display speed and direction, and more than one will show up within a tile. Object descriptions and tooltips have been updated to show resource costs.
-
- Sep 25, 2015
-
-
DarkGod authored
-
- Sep 23, 2015
- Sep 22, 2015
-
-
DarkGod authored
-
- Sep 21, 2015
-
-
DarkGod authored
-
- Sep 20, 2015
-
-
DarkGod authored
-
- Sep 18, 2015
-
-
Samuel Wegner authored
-
DarkGod authored
-
DarkGod authored
-
- Sep 16, 2015
-
-
Samuel Wegner authored
-Will replace an existing damage shield entirely if both the shield value and duration would be greater on the new shield. -Will update the current shield value (but not max value) of an existing shield if the new value would be greater. We keep the old max value because the player may want to buff their shield with Aegis. -If we updated an existing shield, we will refresh the duration to 3 turns unless the duration has already been refresh 20 times. This checks the same property used by Weapon of Light and Bathe in Light, which is why I allowed refreshing 20 times instead of a smaller amount. -It's unlikely that an existing shield would be refreshed many times by Arcane Shield, but I implemented this limitation to avoid refreshing the same shield indefinitely. T think Aegis is the only talent that benefits from refreshing an existing shield versus creating a new one, so there shouldn't be any real abuse potential here. -Note that this will never update or replace an existing shield if the current duration is greater than Arcane Shield's default duration. We can't know whether the player values shield value or duration more, and updating the shield value of an existing damage shield with greater duration would introduce power creep.
-
- Sep 10, 2015
-
-
Hachem_Muche authored
-
- Sep 09, 2015
-
-
Hachem_Muche authored
This works exactly the same as the old code, except than any sustain with .remove_on_zero set can be cancelled regardless of resource properties. Only stamina and mana based sustains will be canceled by default.
-
- Sep 08, 2015
-
-
Hachem_Muche authored
Revert "When defined, Talent.remove_on_zero (true/false/function(self, t)) will override ActorResource.depleted_unsustain when determining if sustained talents are turned off due to resource depletion." This reverts commit 5b2fa31ceb958de6bc660cfee2eed2c8f21cdda2. Oops...
-
- Sep 07, 2015
-
-
Hachem_Muche authored
Added support for depleted resources canceling sustained talents (resources_def.depleted_unsustain and talents_def.remove_on_zero flags). Removed obsolete code from Actor:learnPool, and test resource/talent/pool
-
Hachem_Muche authored
-
Hachem_Muche authored
This revises the way Actor resources are handled to allow them to be defined in one place (at tome.load), simplifying their definition, eliminating the need for most hooks to handle them, and making them easier for the AI to manage properly. Engine: ActorResource:defineResource can now take a parameters field that merges additional information into the definition. An extra check is added to prevent redefining an existing resource. Defining a new resource now defines the string fields getFunction, getMinFunction, getMaxFunction, incFunction, incMinFunction, incMaxFunction to allow indirect reverence to the correct resource functions from the definition. Added support for an invert_values flag (resource increases when used), and sustain_prop and drain_prop fields for sustained talents. This allows the module code to loop through all the defined fields/functions when checking for the corresponding properties in actor and talent tables. ToME: Hard coded resource references have been replaced with a loop checking all defined sustains for: Actor:act (canceling sustains) Actor:resetToFull (will replenish all defined resources by default) Actor:checkPool, Actor:learnPool, Actor:learnTalent, Actor:unlearnTalent, Actor:preUseTalent, Actor:postUseTalent, Actor:getTalentFullDescription This eliminates the need to use the hooks/callbacks in these functions for (almost) all defined resources. Added comments in tome:load explain for addon developers how to create resource definitions to take advantage of these changes. Resource definitions can set .hidden_resource = true to prevent display in various player interfaces. Resource definitions have a .color ("#COLOR#") field set to display resources with a consistent color in various places. Updated the Classic and Minimalist uisets and the CharacterSheet to look through the list of all defined resources for resource values to display. Classic uiset: Fixed some formatting problems that were causing some resource values not to display properly. Added some variables to make resizing the player panel easier in the future. Added the log_lines parameter to the Game Options menu. Minimalist uiset: Reformatted resource graphics/text to be more clear and to avoid unreadable text. The ui will go through a series of default checks to search for appropriate graphics for each resource. The general tab of the CharacterSheet has been adjusted to provide room for more resources and will now display their regeneration values. Added/updated tooltips for several ui elements.
-