Skip to content
Snippets Groups Projects
  1. Apr 20, 2015
    • Hachem_Muche's avatar
      Added support for actor-specific checks for object usability and ai test. · 4338b347
      Hachem_Muche authored
      Object use talent IDs are remembered for previously equipped objects if possible. (facilitates hotkey settings)
      Added support for automatic use of object use talents via the Talent Use menu.
      Added support for ai_talents weights (remembered by reference to individual objects) via party-control interface.
      4338b347
  2. Apr 12, 2015
  3. Apr 11, 2015
    • Hachem_Muche's avatar
      Updated callObjectTalent function to be more flexible and ensure talent... · a87e5ca6
      Hachem_Muche authored
      Updated callObjectTalent function to be more flexible and ensure talent functions are called with appropriate scope.
      Updated tactical function for use_talent powers to ensure the tactical functions are called with the correct scope.
      
      Added .never_fail flag (and support to Actor:preUseTalent) to actor object use talents to prevent failure to use objects when confused, etc.
      Added support for on_pre_use_ai function
      
      Updated game:logVisible to correctly identify projectiles (which get a .__is_projectile flag)
      
      Enabled automatic use of object activation talents (more development needed)
      
      Tactical AI:
      Fixed a bug causing NPC's to sometimes not use cure/heal abilities effectively
      tactical table functions are called with (self, t, aitarget, tact)
      
      Updated charm tactical tables to account for possible resource recovery,
      Updated definitions for several boss artifacts for NPC use: Wintertide (also fixed bug causing permanent ice walls), Crystal Shard,
      Choker of Dread (fixed bug causing summon to not taunt foes), Rod of Annulment, Psionic Fury.
      
      Talents:
      Dark Tendrils: updated target table for AI use
      Illumination: updated target and tactical tables so that NPC's will use it above level 3.
      Fire Breath: added disable to tactical table.
      Chain Lightning: updated target table for AI use
      Disperse Magic: expanded tactical table to allow for both offensive and defensive use.
      Tidal Wave: updated target table to allow AI use
      Shattering Blow: corrected tactical table
      Inertial Shot: updated on_pre_use function to check for enough ammo (temporary pending more general fix of archery talents)
      ***Note unrelated AI error with archery talents being used without ammo
      
      Sunder Armor/Arms effects: added gain/lose messages
      a87e5ca6
  4. Apr 07, 2015
  5. Apr 06, 2015
  6. Apr 05, 2015
    • Hachem_Muche's avatar
      Clean up obsolete/debugging code. · e319e7c7
      Hachem_Muche authored
      e319e7c7
    • Hachem_Muche's avatar
      Allows NPC's to use activatable objects by giving them special talents that... · 687f983e
      Hachem_Muche authored
      Allows NPC's to use activatable objects by giving them special talents that serve as an interface for the AI.
      Adds mod.class.interface.ActorObjectUse class (in mod.class.Actor)
      
      When a usable object is added to an Actor inventory, the Actor may get a talent that can be activated to use the power.
      This talent is similar to normal talents, but translates the object definition as needed for NPC use.
      objects with a .use_power (most uniquely defined powers) are usable unless the .no_npc_use flag is set.
      objects with a .use_simple field (mostly consumables) are not usable unless the .allow_npc_use flag is set or the .tactical field is defined.
      objects with a .use_talent field (many charms and artifacts) are usable so long as the talent definition does not have the .no_npc_use flag set.
      Energy use matches the object (based on standard action speed)
      the new talent .on_pre_use function handles checking for object cooldowns, inventory access and a t.on_pre_use function (for talent-based powers)
      
      Important fields defined within object.use_simple or object.use_power:
      	.tactical = tactics table for interpretation by the tactical ai, subfields may be functions(who, t, aitarget) where who = object user, t = talent used (defined here), aitarget = who's (actor) target
      	This should be defined for NPC's to use the object intelligently
      	.on_pre_use = function(obj, who) that must return true for the object to be useable
      	.range = range of the ability (defaults to 1, may be a function(self, t))
       	.radius = radius of ability (defaults to 0, may be a function(self, t))
      	.target = targeting parameters (table, may be a function(self, t)), interpreted by engine.Target:getType
      	.requires_target, if true, don't use the object if the target is beyond radius + range
      
      Updated charms(amulet, belt, boots, cloak, light-armor, mindstars, ranged, staves, torques, totems, wands, weapons and some fixed arts) with the required fields to use the items.
      
      engine:
      
      updated ActorInventory functions to pass inventory and slot information as appropriate.
      
      tactical AI
      
      Updated the tactical AI and the talented_ai_tactic resolver to accept a function(self, t) for a talent tactical table.
      
      Adds a charm resolver to randombosses and several NPC's (with tactical AI)
      
      Equipping a useable item resets it's charges when it's equipped by any party member.
      Updated the UseTalents dialog to use getTalentDisplayName for its list
      687f983e
  7. Apr 03, 2015
  8. Apr 02, 2015
  9. Apr 01, 2015
  10. Mar 31, 2015
  11. Mar 30, 2015
Loading