Skip to content
Snippets Groups Projects
  1. Jul 06, 2015
    • Hachem_Muche's avatar
      Command Staff talent available to NPCs, which will spawn with the most... · 7629a622
      Hachem_Muche authored
      Command Staff talent available to NPCs, which will spawn with the most appropriate aspect selected.  (Significant buff to staff wielders)
      Updated artifact staves to use the new flavor system.
      
      tactical AI will take duration of detrimental effects into consideration when evaluating cures.
      
      clean up debugging code
      7629a622
  2. Jul 04, 2015
  3. Jul 03, 2015
    • Hachem_Muche's avatar
      Updated remaining World Artifacts, Quest Artifacts, and Special Artifacts to use the new interface. · 4285b05f
      Hachem_Muche authored
      Artifact changes:
      Terrasca (which works the same) uses a new "absolute" resistance that is updated as needed by callbacks.
      Added new callbacks: callbackOnTemporaryEffectRemove and callbackOnTemporaryEffectAdd to supplement callbackOnTemporaryEffect
      Buffed Exiler to have a chance to affect non-summons.
      Modified Spellhunt remnants: They gain a maximum of 1 material level per artifact crushed, but can spawn at any level in the game (adjusting
      
      their material level to the zone).  Made more rare to compensate.
      Cuirass of the Dark Lord slightly buffed bleed damage based on Physical Power.
      Awakened staff of absorption, slightly buffed to bypass most defenses.
      
      Object use tactical tables can be an explicit function in the object definition.  This makes complex AI tactical tables simpler to code and
      
      more efficient to run.
      Objects that have an instant talent as their activatable ability use no energy by default.
      
      NPCs:
      
      Will try to equip their drops if possible (cannot replace normal equipment unless the replacement is the same type and is unique).
      Updated GameState:checkPowers with an "antimagic_only" mode that is used for test actor-equipment compatibility.
      Updated some boss definitions to be able to equip their unique drops.
      
      Moved after object use checks for breakStepUp, breakStealth, breakLightningSpeed, breakReloading, and breakSpacetimeTuning() from mod.Player to
      
      mod.Object.
      
      Added the Staff Mastery talent to many casters (including bosses) that primarily equip staves.
      
      Adjusted talents for some bosses to compensate for the abilities of the equipment they can use.
      
      AI:
      Updated the tactical tables of several talents (that were used by various activatable items).
      Updated tactical and talented AI's to allow NPC's to act again immediately after using an instant talent.
      flee_dmap_keep_los AI will allow the ai to run farther if it has sufficient moves.
      The tactical AI writes the selected tactic to the ai_state table as a parameter for talent.action functions.  This fixes a bug where NPCs that
      
      were activating tageted abilities to flee were moving closer to their target instead.  So an NPC using phase door, for example, will try to
      
      teleport closer when the "closein" tactic is active and farther from its target when the "escape" tactic is active.
      4285b05f
  4. Jun 23, 2015
  5. Jun 22, 2015
  6. Jun 21, 2015
    • DarkGod's avatar
    • DarkGod's avatar
      Cavern map generator can now accomodate rooms · e0e39d9c
      DarkGod authored
      e0e39d9c
    • DarkGod's avatar
      Merge branch 'NPCObjectUse' into 'master' · 0b92ec8c
      DarkGod authored
      NPC Object Use
      
      This change allows NPCs to use activatable objects.  This is a fairly large commit with some (minor) engine changes.
      
      Basically, when a usable object is added to an Actor inventory (and can be activated -- generally worn in the appropriate slot, .no_inventory_access not true), the Actor may get a (hidden) talent that can be activated to use the power.
      
      These are a new class of talents (.is_object_use) with a new flag (.never_fail) that prevents them from being interfered with by most actor effects.  They are available to the player via the UseTalent dialog in a new section, and the usual automatic use, confirmation and ai_tactical weights are supported. (The parameters follow the object if they are moved within the party, as appropriate.)
      
      Objects that use a talent for their power generally don't need any changes, but use_power and use_simple generally must include extra data/functions (range, radius, target, tactical) with the power definition for the ai to use them properly, similar to the structure for talent definitions.  Generic powers with no tactical info will generally not be used by the tactical ai due to low weights, while dumb ai types may use them randomly.
      
      (See the header section of mod.class.interface.ActorObjectUse.)
      
      In summary:
      
      Objects with a .use_power field are usable unless .no_npc_use (which may be a function(obj, who)) is true.
      
      For these items:
      
               use_power = {
      		name = constant or function(object, who), description of the power for the user
      
      		power = number, power points used when activated
      
      		use = function(object, who), called when the object is used, should include all effects and special log messages
      
      		target = table or function(object, who), targeting parameters (interpreted by engine.Target:getType and used by the AI when targeting the power)
      
      		requires_target<optional> = boolean or function(object, who), if true, the ai will not use the power if it's target is out of range, should generally be false for powers that target the user
      
      		tactical = {TACTIC1 = constant or function(who, t, aitarget),
      				TACTIC2 = constant or function(who, t, aitarget), ...} tactics table for interpretation by by the tactical AI (mod.ai.tactical.lua), uses the same format as talents, t is the talent defined here
      
      		range<optional> = number or function(object, who), should be defined here to allow the AI to determine the range of the power for targeting other Actors with the power, defaults to 1
      
      		radius<optional> = number or function(object, who), as range, defaults to 0
      
      		on_pre_use<optional> = function(object, who), optional function (similar to talent.on_pre_use, to test if the power is usable via the talents defined here (return true to allow use)
      
      		on_pre_use_ai<optional> = function(object, who), like on_pre_use, but only called by the AI, generally used to make the ai smarter by telling it when not to use the power
      
      	}
      
      	The raw talent level of the activation talent(defined here) equals the material level of the object.
      
      Objects with a .use_simple field (uniquely defined, mostly for consumables), are not usable unless .allow_npc_use (which can be a function(object, who) is true or the .tactical field is defined.
      They otherwise use the same format as .use_power.
      
      Objects with a .use_talent field use a defined talent as their power.  They are usable if .allow_npc_use (which can be a function(object, who)) is true or talent.no_npc_use is not true and use_talent.no_npc_use (may be a function(object, who)) is not true.
      
      For these items:
      
      	use_talent = {
      
      		id = string, talent_id to use (i.e. Talents.T_ILLUMINATE)
      
      		level = number, raw talent level for the power (uses the user's mastery levels)
      
      		power = number, power points used when activated
      
      		on_pre_use<optional> = function(who, t), override talent.on_pre_use function, t matches talent_id
      
      		on_pre_use_ai<optional> = function(who, t), override talent.on_pre_use_ai function, t matches talent_id
      
      		message<optional> = function(who, t), override talent use message if any, t matches talent_id
      
      	}
      	The raw talent level of the activation talent equals the talent level specified in use_talent.
      
      This commit updates charms(amulet, belt, boots, cloak, light-armor, mindstars, ranged, staves, torques, totems, wands, weapons), some fixed arts and most of the boss artifacts with the required fields to use the items.  This includes fixing the ai tactical tables for several related talents. Randombosses and several types of NPC's (with tactical AI) get a usable charm (in the tool slot).
      
      Most of the general fixed-arts (those without use_talent) still need to be updated.
      0b92ec8c
  7. Jun 20, 2015
  8. Jun 18, 2015
  9. Jun 17, 2015
  10. Jun 16, 2015
    • DarkGod's avatar
      Added acheivement image for Best Album Ever · 866b7d4d
      DarkGod authored
      866b7d4d
    • DarkGod's avatar
      plopo · 84fff693
      DarkGod authored
      84fff693
    • DarkGod's avatar
      moar tiles · 0526a347
      DarkGod authored
      0526a347
    • DarkGod's avatar
      tiles, and skeleton assasin is elite, not boss · a66a367a
      DarkGod authored
      a66a367a
    • DarkGod's avatar
      Merge branch 'undeads' into 'master' · 02ce0613
      DarkGod authored
      Undeads
      
      Alters a variety of Undead enemies and the Blighted Ruins enemies.
      Should reduce the frequency of level < 5 characters being squished by a standard undead, by adding in a couple extra critters and bumping the levels up on the rest. This will make the Ruins of Kor'Pul and the Blighted Ruins a little easier.
      The Bone Giant base has had its dex reduced by 30, but its movement speed increased by 50%. This is done to stop the Half Finished Bone Giant having 40ish dex which made it rather annoying if it rolls a shield rune. It doesn't get the movement speed bonus though.
      Vampire and Wight minimum levels were also altered. They had a tendency to introduce themselves to the player on the same dungeon floor, rather than in a tiered progression. Wight talents were also tweaked so they aren't all the same.
      All the Skeletons have been given descriptions by Hogulus.
      Added an elite Skeleton Ninja for FUN.
      
      Could do with some focus group testing and a few new tiles for the skeletons.
      02ce0613
  11. Jun 12, 2015
  12. Jun 11, 2015
  13. Jun 10, 2015
  14. Jun 08, 2015
  15. Jun 05, 2015
  16. Jun 04, 2015
  17. Jun 02, 2015
  18. May 30, 2015
  19. May 28, 2015
  20. May 27, 2015
Loading