• DarkGod authored
     
    Browse Files »
  • DarkGod authored
     
    Browse Files »
  • DarkGod authored
     
    Browse Files »
  • Necromancer bug fixes and description adjustments
    
    Adjusts several talents for Necromancers:
    * The `bone_explosion` graphic for Shattered Remains now becomes more transparent as radius increases. A radius 6 graphic with full alpha is incredibly obnoxious, especially when it happens whenever a minion dies.
    * Shattered Remains now doesn't affect the minion that's dying. Reduces log spam and unintuitive behavior with Boneyard.
    * Shattered Remains now properly respects `cut` immunity.
    * The Shattered Remains temporary effect now bounds the actor's HP on falling off or merging, to prevent (temporary) unusual behavior of creatures being at negative/zero HP without dying.
    * Assemble will now attempt to find a free grid if the space occupied by the first skeleton is taken, usually by the skeleton reviving due to the effect of Boneyard. If it can't find one, it will re-kill the skeleton.
    * The End of All Hope now displays the modified Dire Plague soul rip chance in its tooltip.
    * Boneyard description now matches its behavior: it always resurrects regardless of talent level.
    * Boneyard now resurrects minions at full HP. Resurrecting them at 0 HP is largely pointless and they'll die again immediately. The `getResurrect` getter is used to provide an entry point for scaling this value, perhaps with talent level.
    * Necrotic minions decay by 15% of their max life each turn if they don't have a summoner or their summoner is dead. This is primarily to reduce the annoyance of facing Necromancer rares.
    
    **This MR is save safe, although some behaviors may not appear on currently existing minions.**
    
    See merge request !800
    DarkGod authored
     
    Browse Files »
  • DarkGod authored
     
    Browse Files »
  • DarkGod authored
     
    Browse Files »
  • Resource-ification project for Life, Feedback, etc.
    
    Expands the resource system and streamlines some edge cases into the main resource paradigm.
    
    **Resource definitions are rather finicky, and the Feedback change deprecates the `psionic_feedback` actor parameter, so this will break saves.**
    
    # Changelog
    * Life and Feedback are now actual resources, as opposed to pseudo-resources. Among other effects, this means that they easily appear in talent descriptions, along with new talent descriptors `sustain_life`, `drain_life`, and `drain_feedback`.
    * Resource system expansions:
     * New `no_reset` flag for a resource definition. Resources flagged as such don't reset to full on level up or actor birth (as part of `Actor:resetToFull()`).
     * All resources automatically generate an `Actor:regenFoo(fake, force)` function. By default, this increases the resource (or decreases for decrementing resources) based on the `regen_prop` supplied in the definition. `fake=true` prevents the actual regeneration, `force=true` prevents the result from being bounded by the resource limits (i.e. `force=false` returns the actual delta, `force=true` returns the ideal delta).
     * All resources automatically generate a `foo_rating` parameter (subject to overwrite in `params`). They also automatically an `Actor:levelupIncFoo` function. This is part of levelup and is expected to interpret the `foo_rating` parameter. The default function increases `max_foo` by `foo_rating`, but can be over/superloaded.
     * The individual `levelupIncFoo` functions are moved collectively to `Actor:resolveResourceRatings()`, called during levelup.
     * New `function_overrides` table can be passed as part of `defineResource`. This is a fancy way of overloading functions in this framework rather than overloading them elsewhere (e.g. when defining Life, passing `{regenFunction = function(self, fake, force) ... end}` rather than defining elsewhere `_M:regenLife`)
     * ~~The `regenResourcesFast` framework is deprecated, due to the loss of the assumption that resource regeneration is a simple process. Tinkering with returning it to life.~~
    * UI Changes
     * On the life bar and character sheets, the life regen and psi regen displayed now appropriately account for `T_SOLIPSISM`; if life regen is being reduced to regenerate psi instead, the displayed life regen will be appropriately smaller. Thus, the delta on a given turn (outside of combat, obviously) now matches the numbers displayed.
     * In character sheets, Feedback now is its proper yellow color instead of the odd light-green-blue. This makes it consistent across the resource bars, character sheets, and talent descriptions.
    * AI Changes
     * New `no_want` flag for a resource definition. Resources flagged as such don't generate `want` entries in `improved_tactical` AI. This is done to prevent double-checking shenanigans for Life, in particular.
     * The AI will probably continue to not amazingly handle the resource changes, because the `regen_prop` can now easily lie (e.g. `feedback_regen` isn't used to handle feedback degeneration).
    * Various tweaks here and there to support Feedback no longer being a pseudo-resource.
    
    # Update 12/21/2020
    * Major changes to how Life is interpreted. The life gained from Constitution is now computed in `Actor:getMaxLife` which means the `max_life` parameter now lies *a lot*. As such, you should *always* use the getter.
    * Similar changes to Mana, Stamina, and Psi to reflect their attribute dependence.
    * Multipliers to max life from sustains (Last Stand, Icy Skin, Chant of Fortress) are moved into `Actor:getMaxLife` to alleviate snapshotting bugs. For cleanliness, multipliers to resources from temporary effects weren't changed.
     * Debating the introduction of a `foo_mult_add` property to make this a bit more general, but I've added about a dozen new parameters with this MR alone.
    * `Actor.die_at` is now respected by `Actor:getMinLife`. This means that `Actor:getMinLife` should be used in place of accessing the raw `Actor.die_at` for life calculations.
    * Sweeping changes to a million talents, effects, UI, and AI to make them properly use getters and setters instead of accessing raw parameters.
     * The Air meter now shows your real degeneration if you're standing on a tile you can't breathe on. 
    * Consistency pass on "execution" mechanics like Blade Shear and Coup de Grace to make them respect the changes to `Actor:getMinLife`. They're all worded the same, they should all operate the same with regards to enemies at negative life. Previously, they had inconsistent behavior about executing these enemies.
    
    See merge request !692
    DarkGod authored
     
    Browse Files »
  • update the power vs save desc
    
    
    
    See merge request !812
    DarkGod authored
     
    Browse Files »
  • update the description of brainfreeze that brainlocked no longer stops cooldown
    
    
    
    See merge request !811
    DarkGod authored
     
    Browse Files »
  • fix Technomancer wearing antimagic steamsaw lua error
    
    when Metaphasic Spin is auto disabled by spell failure rate, you may lose the spell_failure attribute.
    fix: cache the spell failure rate before checking all spell sustains
    
    See merge request !810
    DarkGod authored
     
    Browse Files »
  • fix wrong arguments type
    
    Original
    ```python
    	info = function(self, t)
    		return ([[Hits the target doing %d%% damage. If the attack hits, the target is constricted for %d turns %d.]]):
    		tformat(100 * self:combatTalentWeaponDamage(t, 0.5, 1), t.getDuration(self, t), Desc.vs"pp")
    	end,
    ```    
    __Desc.vs"pp"__ is not __%d__
    
    See merge request !809
    DarkGod authored
     
    Browse Files »
  • never_anger works with neutral mobs
    
    
    
    See merge request !808
    DarkGod authored
     
    Browse Files »
  • Tooltip fix
    
    Fixed Collapse description
    
    See merge request !804
    DarkGod authored
     
    Browse Files »
  • Stalker and Predator now provides raw accuracy instead of effective accuracy
    
    Predator can provide up to 60 effective accuracy @lv 5, which is just insane that a single talent effectively provides hundreds of raw accuracy at full power.
    Besides, slightly increases the raw accuracy bonus.
    
    See merge request !806
    DarkGod authored
     
    Browse Files »
  • DarkGod authored
     
    Browse Files »