Skip to content
Snippets Groups Projects
  1. Oct 24, 2015
    • Samuel Wegner's avatar
      Fix comment wording · 59367ea6
      Samuel Wegner authored
      59367ea6
    • Samuel Wegner's avatar
      Set minimum duration · 8fcfd0a1
      Samuel Wegner authored
      8fcfd0a1
    • Samuel Wegner's avatar
      Remove debugging code · dd24e023
      Samuel Wegner authored
      dd24e023
    • Samuel Wegner's avatar
      Restructure cloning code and more · 878cd840
      Samuel Wegner authored
      1. Since the customizable table cloning function may be useful for
      other purposes than just making Chronomancy clones, I moved it to
      engine/class.lua and renamed it cloneCustom(). It works like
      cloneFull(), but allows specifying a table of keys/values to skip or
      replace in the clone table.
      
      If desired, I could instead just modify cloneFull() to have an optional
      parameter for the "alt_nodes" table, but I didn't want to mess with it
      without permission. There could be a conditional statement to pick
      between two different recursive functions so the optional param doesn't
      impact performance, if that's a concern.
      
      2. Updated comments for cloneFull() and related functions for clarity.
      The comment originally said it returns the clone and the number of
      objects cloned, but it actually only returns the clone. I think the
      comment may have been copied from somewhere else and not updated.
      
      3. Renamed the "t" param from cloneFull() to "post_copy" to be more
      descriptive and to be consistent with cloneCustom(). This has no
      functional impact.
      
      4. Significantly expanded the number of properties which are skipped
      when making Chronomancy clones of an actor. Hopefully this will improve
      performance and maybe even help with the memory leak. I didn't see any
      errors during brief testing, but it probably merits more testing.
      878cd840
  2. Oct 22, 2015
    • Samuel Wegner's avatar
      Undo last commit · 1246511c
      Samuel Wegner authored
      I just remembered why I originally designed it this way: We only want
      to skip if neither 'k' nor 'v' is specified in alt_nodes since we want
      to allow substituting user-specified values for either.
      1246511c
  3. Oct 21, 2015
    • Samuel Wegner's avatar
      Improve efficiency · 33f94dd8
      Samuel Wegner authored
      33f94dd8
    • Samuel Wegner's avatar
      Fix coding style · e66fe05c
      Samuel Wegner authored
      e66fe05c
    • Samuel Wegner's avatar
      Fix comment formatting · a5d7126d
      Samuel Wegner authored
      a5d7126d
    • Samuel Wegner's avatar
      Fix some issues with Warden's Call · e42cbd0a
      Samuel Wegner authored
      Fix 1: Improve cloning function
      
      Previously, makeParadoxClone() temporarily cleared the actor's
      particles and main inventory so that they wouldn't be copied by
      cloneFull() when making Warden's Call clones. However, this resulted
      in some players losing their inventory, probably due to some race
      condition during lag caused by the Warden's Call memory leak.
      
      Now, makeParadoxClone() has its own recursive table cloning function
      with options for skipping specific nodes or assigning them a different
      value from the source table. This way, we can clone an actor without
      modifying that actor's table.
      
      Fix 2: Create cleanup function for Warden's Call
      
      Added a basic cleanup function for Warden's Call clones. Currently, it
      just makes sure they're dead and replaces references in timed effects
      with references to the player, so the clones can be freed by the
      garbage collector. More features will likely be added as I find other
      causes of the memory leak.
      
      NOTE: These changes don't fix the memory leak. It may help a little,
      but that issue needs more investigation.
      
      It's probably worth pushing these changes back to v1.3.X in a minor
      update to fix the issue with missing player inventory. Completely
      fixing the memory leak may take a while.
      e42cbd0a
  4. Sep 29, 2015
    • Hachem_Muche's avatar
      Reworked interface Archery to properly handle multiple missile launchers. · caacb202
      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.
      caacb202
  5. Apr 28, 2015
  6. Mar 29, 2015
  7. Mar 24, 2015
  8. Mar 23, 2015
  9. Mar 08, 2015
  10. Mar 04, 2015
  11. Mar 03, 2015
  12. Feb 27, 2015
  13. Jan 18, 2015
  14. Jan 10, 2015
  15. Jan 08, 2015
  16. Jan 01, 2015
  17. Sep 05, 2014
  18. Jul 09, 2014
    • Eric Wykoff's avatar
      Temporal Warden revision · eeb8f409
      Eric Wykoff authored
      Paradox now adjusts spellpower and spell costs for chronomancy by plus or minus 50 percent
      Paradox will modifier on many items reduced to keep them in line with natural willpower progression
      Actor Paradox now starts at 300
      Paradox Mage and Temporal Warden life ratings improved
      Chronomancy can no longer fail or backfire
      Anomalies rewritten and rebalanced
      Many new anomalies added
      Paradox over 600 now generates major anomalies
      Temporal Wardens revised.  Now a pure caster class much like Reavers (no stamina).  New trees added and all old ones rebalanced and retooled.
      eeb8f409
  19. Jan 16, 2014
  20. Feb 20, 2013
  21. Dec 21, 2012
  22. Aug 28, 2012
  23. Mar 06, 2012
  24. Feb 19, 2012
  25. Sep 27, 2011
  26. Sep 12, 2011
  27. Sep 05, 2011
    • dg's avatar
      Paradox fail, anomaly, and backfire calculations now take into the account the... · 2998a58f
      dg authored
      Paradox fail, anomaly, and backfire calculations now take into the account the cost of the talent being used
      Fatigue penalties for paradox spells doubled
      See the Threads is now instant cast and costs less paradox
      Precognition duration extended
      Mutually exclusive paradox talents now say they can't be used at the same time
      Targeted chronomancy teleportation effects can now backfire (leaving the caster standing one tile away)
      
      
      git-svn-id: http://svn.net-core.org/repos/t-engine4@4332 51575b47-30f0-44d4-a5cc-537603b46e54
      2998a58f
  28. Aug 10, 2011
  29. Jun 01, 2011
    • dg's avatar
      Carbon Spikes will now regenerate over time · 86c7d401
      dg authored
      Anomaly chance is now reduced by willpower like failure and backfire
      Switched anomaly and backfire chances
      Elite horrors will be more dangerous and have more hit points (but generally rarer)
      Carrion Worms are more dangerous
      Dredge Frenzy no longer costs paradox (preventing offscreen anomalies)
      Fixed precognition
      Fixed borrowed time timed effect tooltip
      Few typos corrected
      
      
      git-svn-id: http://svn.net-core.org/repos/t-engine4@3534 51575b47-30f0-44d4-a5cc-537603b46e54
      86c7d401
  30. May 10, 2011
  31. Mar 30, 2011
Loading