- Jul 04, 2021
-
-
K'van authored
Correct Vim tooltip. (Vim gain is 1 + 50% Wil times creature rank, not 1 + 30% Wil times half creature rank)
-
- Jun 19, 2021
-
-
K'van authored
Fix typo in action speed tooltip (performa -> perform) and update block tooltip to reflect current behavior.
-
- Feb 15, 2020
-
-
Otowa Kotori authored
-
- Jan 09, 2020
-
-
Otowa Kotori authored
-
- Dec 21, 2019
-
-
DarkGod authored
-
- Oct 18, 2019
-
-
DarkGod authored
-
- Sep 19, 2019
-
-
DarkGod authored
-
- Jun 04, 2019
-
-
Chris Davidson authored
On 1.5 only the staff accuracy bonus matters much, and the amount of accuracy to reach the cap is unlisted and varies from type to type. This standardizes all accuracy bonuses to be capped at a 100 accuracy difference. A side goal of this is making lower values of defense useful since it'll always at least reduce something. Old: Axe: +10% crit at 50 accuracy Sword: +25% crit power at 62.5 accuracy Mace: +10% base power at 100 accuracy Staff: +200% proc damage at 80 accuracy New: Axe: +25% crit at 100 accuracy Sword: +50% crit power at 100 accuracy Mace: +20% base power at 100 accuracy, now happen before armor Staff: +200% proc damage at 100 accuracy
-
- Apr 20, 2019
-
-
Chris Davidson authored
- No more ability refund. This often failed due to projection sources being messy (especially for melee) and punished you for letting things like disease get the kill. - Vim regeneration on any kill scales faster with Willpower and now also scales with target rank. - Bloodcasting is now baselined in the resource allowing you to pay Vim costs with 200% of the cost as life. This does not let you use die_at. - Vim value is now shown on Actor tooltips
-
- Dec 04, 2018
-
-
Chris Davidson authored
-
- Oct 24, 2018
-
-
Chris Davidson authored
There aren't any problem cases with this stat that I am aware of, but it hits some core defenses and prodigies pretty hard. More generally this type of DR is mostly used on opposing powers and probably shouldn't be attached to things at random. Also, most stacking problems with flat defenses come from multiple sources, which this won't effect anyway.
-
- Aug 04, 2018
-
-
orange authored
-
- Mar 21, 2018
-
-
DarkGod authored
-
- Jul 09, 2017
-
-
Hachem_Muche authored
Character sheet: only status immunities with the appropriate attribute are displayed (sorted, general immunities first).
-
- Jun 26, 2017
-
-
Hachem_Muche authored
A) Upgrading AI primitives (“infrastructure”) in the engine to make designing new and more capable AIs easier. B) Rewriting the Talented and Tactical AIs, plus adding some supporting AIs, so that NPCs in ToME using them behave more intelligently. C) Correcting and updating tactical tables and associated code for a number of (but not all) talents that are currently not being used effectively by NPCs. HIGHLIGHTS: Major rewrite of many AI definitions and functions, including new functions to make writing new AIs simpler. Completely new talented and tactical AIs (for ToME) that allow NPCs to act without contact with the player, actively manage all standard resources, and more consistently comply with their AI specifications. This includes provisions for all NPCs to avoid drowning/grid damage, better coordinate movement and talent use, and invoke other AIs. NPCs can both activate and deactivate all sustain talents intelligently (particularly for the tactical AI) with or without player contact, according to the tactical situation. The new AIs are designed to work concurrently with their existing counterparts to allow for them to be phased in. Main Game Play Effects (for NPCs using the new AIs): NPCs do not require contact with the player to act. NPCs will actively manage all standard resources, including their health. NPCs can both activate and deactivate sustained talents as appropriate. NPCs will move away from harmful (damaging, suffocating) terrain, and will do a better job at maintaining appropriate distance from the player while in combat (new tactical AI). If using a talent fails, the NPC will immediately attempt to use another (next best for the tactical AI) talent. GAME LOG DETAIL CONTROL: The amount of detail printed in the game log by most engine/ToME ai functions can be controlled by setting the variable: config.settings.log_level_ai = X Where X is a number from 0 (no extra output) to 4 (very verbose output) specifiying how much detail to output to the game log. NEW/UPDATED AI’s included: “dumb_talented” (engine) – updated to add support for t.onAIGetTarget. “improved_talented” (engine) - Simplified version of “dumb_talented” using the new talent filter system. Designed as a drop-in replacement for the dumb_talented AI using the new AI functions. “improved_talented_simple” (ToME) – designed as an overload for the dumb_talented_simple AI “improved_tactical” (ToME) – designed as a drop-in replacement for the tactical AI (details below) “maintenance” (ToME) – manages health and resources, triggering other appropriate talents and AIs, (mostly for simple AIs out of combat) “move_safe_grid” (ToME) – moves from harmful to safe terrain “flee_dmap_keep_los” (ToME) – migrated from ai.tactical.lua, flees from current target while maintaining LOS to it “target_simple” (engine) – will only maintain targeting on hostiles "target_simple" (ToME) – has an increased chance to clear friendly targets, always clears self “tactical” --The existing tactical AI has been partially updated to be compatible with most of the new tactical table functionality, with minimal changes. (It lacks most of the additional features of the new tactical AI in order to work as before as much as possible.) Better log file output. NEW TACTICAL AI: This is an almost complete rewrite of the current tactical AI that is compatible with existing NPC specifications and data. Interprets existing tactical tables as before, but supports additional information allowed in the new tactical table format. The tactical AI weighs all tactical table parameters (not just the best one) when evaluating talents, making it much better at picking the correct talent at the correct time. Full support for both positive and negative tactical values – this allows the AI to intelligently turn on and off sustained talents, including those with sustain_slots or that drain resources. (For example, an NPC can switch between hymns or vile poison enhancements as the tactical situation develops.) Automatically manages all standard resources, with support for resource-specific wants. Does a better job at maintaining an advantageous distance to the target. (Un-tested) The tactical AI should run significantly faster than before for most NPCs. The new AI is more efficient when evaluating and performing actions, but does more. Extensive documentation for the changes, including detailed instructions/tutorial for how to construct tactical tables. Defined key parameters for supported TACTICs in mod.class.interface.ActorAI. This allows new TACTICs to be added easily, including by addons. EXTENDED TACTICAL TABLE functionality: Added detailed documentation on how to construct tactical tables and how they are interpreted by the (new) tactical AI. No changes are required to current tactical tables for them to be interpreted by the new AI functions the same way they were interpreted before. Note, however, that many of the existing tactical tables have significant errors that prevent NPCs from using talents appropriately. (A number of these have been corrected as part of this development.) Changes: Tactical functions take the actor affected rather than the NPC's ai target as an argument in order to be consistent with the way DamageType and status resistances are interpreted. There is an additional (lowest) level of table parsing for status immunities to allow both DamageType resistance and status effects to be accounted for. For example, Apply Poison’s NATURE-based damage is added to the tactical table as: tactical = { ATTACK = {NATURE = {poison = 2}}} which takes both the target’s poison immunity and NATURE resistance into account. A sub-table SELF = {…} can be specified for tactics that apply only to the talent user. This helps specify tactics for talents that have different effects on the user and on their target(s). For example, the updated tactical table for lightning runes is now: tactical = { ATTACK = { LIGHTNING = 1 }, SELF = {defend = 1} } reflecting the fact that it provides defense to the user (but not the target). When applying DamageTypes, source damage bonuses and target affinity are accounted for in addition to resistances and penetration. Alternate tactical tables (t.tactical_imp) are included for some talents during the transitional period.) AI talent use changes: Completed support (This was only partially supported before.) for the talent field t.onAIGetTarget for all engine AIs and support functions. ActorAI:getTarget(typ). Separated ai pre-use talent checks from actor:preUseTalent into new function (ActorAI:aiPreUseTalent) at the engine level. This is needed to allow sustains to be turned on and off properly (to allow ActorTalents:forceUseTalent to turn off sustains (with buff removal effects, for example), when the AI would otherwise NOT turn them off. For ToME, this permits the function talent.on_pre_use_ai to control both activating and deactivating sustained talents. SUMMARY of FUNCTIONS: New Engine Functions: ActorTalents:filterTalent(t, filter) - checks a talent against a filter ActorAI:aiTalentTargets(t, aitarget, tg, all_targets, ax, ay) - Generate a list of target entities (Actors) a talent MAY affect if used (This provides engine support for the dummy projection performed in the current tactical AI.) ActorAI:aiGetAvailableTalents(aitarget, t_filter, t_list) – generates a list of talents available for use aiPreUseTalent(t, silent, fake) – (stub) determines if the AI should use a talent (separated from preUseTalent to allow sustains to be correctly turned on and off) ActorAI:getTarget(typ) – supports talent.onAIGetTarget, talents automatically self-targeted, and supports the grid_params argument to locate grids if the targeting table requires it. ActorAI:getTargetGrid(tg, params) – acquires grids via projection, choosing one to move to based on parameters in the targeting table -making targeting of movement talents for NPCs much simpler. Updated Engine Functions: ActorAI:setTarget will automatically check on_acquire_target and on_targeted functions when a new target is set. ActorAI:runAI will return nil, generating a log message, rather than crashing with an undefined ai New ToME functions: ActorAI.aiParseTalent(t) – parses a talent definition, setting some variables for AI use – making talent analysis faster for the AI ActorAI.AI_InitializeData() – parses all talent definitions, initializes resource tactics, and logs a summary of all tactics detected in talent definitions ActorAI:aiPreUseTalent(t, silent, fake) – Determines if the AI should use the talent. Checks t.on_pre_use_ai (applies to both activation and deactivation of sustained talents) and caches its results in the self.turn_procs table. ActorAI:aiCheckSustainedTalent(t) – determines if a sustained talent should be toggled (Allows simple AIs to turn on and off sustained talents correctly. This is primarily concerned with resource drains.) ActorAI:aiGetResourceTalent(res_def, t_filter, t_list) – finds a talent to replenish a resource ActorAI:aiResourceAction(res_def, t_filter, t_list) – finds an action (talent or AI) to replenish a resource ActorAI:aiHealingAction(aitarget, filter, t_list) – finds an action (talent or AI) to heal self ActorAI:aiGetGridDamage(gx, gy) – computes expected grid damage and air loss for the actor. Updated some grid definitions to allow this function to detect the damage. ActorAI:aiGridHazard(gx, gy, dam_wt, air_wt) – rates the overall hazard level for grid. May be overloaded for some Actors to allow for special map navigation. ActorAI:aiFindSafeGrid(radius, want, dist_weight, ignore_los, grid_val) – finds the a nearby grid to escape grid damage and suffocation. ActorAI:aiCanFleeDmapKeepLos() – moved from tactical ai for general use ActorAI:aiTacticEffectValues(targets, effect_type, effect_wt, talent, selffire, friendlyfire) – computes the tactical value of specific tactic weight argument vs a list of actors – for concurrent compatibility with the existing tactical AI ActorAI:aiTalentTactics(t, aitarget, targets, tactic, tg, wt_mod) – fully resolves the tactical table for a talent (including finding targets as needed) – used by the new tactical AI to evaluate talents and by some simple AIs to use tactical tables when choosing talents Combat:combatGetAffinity(type) – returns damage affinity Talents.aiLowerTacticals(tactical) – function to convert TACTIC labels to lower case in tactical tables Updated ToME Functions: NPC:act() – NPCs will perform resting activity if they take no other action during a turn NPC:getTarget(typ) – simplified to reflect the changes to ActorAI:getTarget NPC:seen_by(who) – NPCs will not pass friendly targets to each other unless ai_state._pass_friendly_target is set NPC:aiCanPass(x, y) – removed (uses engine version), shove pressure folded into ActorAI:moveDirection MISC RELATED CHANGES: The level of log file detail output by various AI functions can be specified by setting config.settings.log_detail_ai to a value from 0 (minimal output) to 4 (very verbose output). Engine: ActorAI:aiSeeTargetPos(target) – added extra checks to the estimated location to exclude it if another actor is seen there and that the target can actually move there – this significantly reduces the chance to target friends or self ActorLife:takeHit(value, src, death_note) – death message is not displayed if src is undefined utils: table.to_strings = function(src, fmt) – converts a table to table of formatted strings, very useful for various debugging outputs utils: table.equivalence(t1, t2, recurse) – checks if two tables are equivalent, i.e. they are identical or contain the same values assigned to the same keys, can recursively track all of the keys to the first difference found ToME: ActorAI:moveDirection(x, y, force) – moved from NPC.lua, incorporates shove algorithm code, fixing a bug that causes shove pressure to almost always fail Actor:preUseTalent(ab, silent, fake) – updates any missed AI parsing of talents as needed when tested Resource definitions updated with new AI parameters (equilibrium, paradox, psi, air) Actor:regenLife(fake) --- returns the life, psi regenerated, updated to take a fake parameter to calculate the amount of life and psi that will be regenerated without applying the values. Eliminated the resting hack for Solipsism: life regeneration is only reduced by the amount of psi regeneration that can be used, none is diverted once psi is replenished. Updated Actor status immunity functions: Actor:canBe(what, eid) -- Rewritten to reference a table of status type labels that makes defining new status types (addons) much simpler. Can take an argument for the effect id being applied, which forces checking of general status immunities (negative_status_immune is always checked), and can be used to force checking of status types contained in the effect subtype table. (i. e. self:canBe(nil, “EFF_DAZED”) will check stun_immune.) Now returns the random result, percent chance to be affected. AIs have been updated to use the chance rather than an individual result, so that tactical weights are consistent across multiple calls. Actor.newStatusType(what, method) – used to define a new status type. e.g. Actor.newStatusType(“annoy”, true) causes self:canBe(“annoy”) to check the self.annoy_immune field. Actor:canSeeNoCache(actor, def, def_pct) – updated to always return the correct chance to see the target (regardless of success). Actor:getTalentSpeed(t) – looks for a t.getEnergy function that returns the amount of game energy needed to use the talent (on the basis of 1 = 100% of normal, stacks with talent type speed). Combat:combatGetResist(type) -- results are properly bounded between -100% and + 100%. resolvers.talented_ai_tactic updated to better balance ai_tactic for more tactical flexibility. Fixed an upvalue(!) bug that could cause failure when placing randbosses generated from an earlier save file. Some ToME TALENT CHANGES: Note many talent defintions have incorrect tactical tables. A number of the most complex (for the AI) talents have been updates with new tactical information so that NPCs can use them. Talents can have .ai_level field to specify the (raw) talent level to use for AI purposes (For prodigies and other 1 point talents). Summoning Talents – Defined new functions in talents.lua (available to all talent definitions) supporting significant tactical changes which allow NPCs to better pick appropriate summoning talents and place summons. Poisons – use the updated AI changes to allow NPCs to switch between poison effects in combat. Psionic Projection talents – tactical tables for discharging the talent now take into account the loss of the aura effect Meditation – enabled for NPCs who will actively toggle this talent to manage their equilibrium. Spacetime Tuning – NPCs can learn the talent, but only benefit from the passive effects. Suncloak – enabled for NPCs (requires LOS to target) True Grit – enabled for NPCs (since they can now manage their resources) Nature Touch – NPCs will search for a target (favoring self) that needs healing Some ToDo Items: Update the way the Actor.ai_tactics table is used to allow for sustains/status effects to modify tactical priorities in the tactical AI. So wild speed could reduce but not eliminate talent use, Unstoppable would prevent running away while active, etc... Finish enabling summoning talents for NPCs : Detonate, Rage, Phase Summon Wards: NPCs must match wards to target attack types Add a method in data.damage_types.lua to translate compound DamageTypes into the base types (that have resistances)
-
- Jan 30, 2017
-
-
Hachem_Muche authored
Clarified/fix descriptions of several talents. Updated Tactical tables for some inscription talents: Infusion: Healing, Infusion: Wild, Infusion: Primal, Infusion: Movement, Infusion: Sun, Infusion: Heroism, Infusion: Insidious Poison, Infusion: Wild Growth, Taint: Devourer Relentless Pursuit: Minimum detrimental effect duration reduction 2 turns. Cooldown scales to a limit. Works for all save_for_effects types. Summon: Fails gracefully if no summons are possible. (Prevents NPC's from wasting turns.) Rotting Disease: Rescaled damage. Decrepitute Disease: Rescaled damage. Weakness Disease: Rescaled damage. Void Blast: Fix tactical table Lay Web: Updated scaling for detect/disarm power. Web weakens over time. Crush: Fix tactical table Sever Lifeline: Correct tactical table, description. Gift of Amakthel: Fails gracefully if no summons are possible. (Prevents NPC's from wasting turns.) keepsake Blindside: updated tactical table Frost Grap: Updated tactical table Cripple: Nerfed speed penalty (< 50%) Mobile Defense: Bonus defense limited < +100%
-
- Jan 14, 2017
-
-
Hachem_Muche authored
Detect traps ability split between Heightened Senses and Danger Sense, and rescaled. Rework Danger Sense: provides detect traps ability, protection from crits and unseen attackers, and 2nd chance to save vs effects.
-
- Jan 04, 2017
-
-
DarkGod authored
-
- Jan 03, 2017
-
-
Hachem_Muche authored
Lacerating Strikes: Targets will not bleed if they are missed. Scoundrel's Strategies: Target must be hit to suffer special effects. Energy loss can occur only once per turn (per target). Talent cooldown disruption gets slower scaling. Snap: Talent tier scales with raw talent level. Device Mastery: Learn Disarm Trap from level 1 - can actively search for traps at level 1, but still need level 3 to disarm. The Disarm Trap talent does not break stealth. Toxic Death: Spreading chance (nerfed) correctly applied to check spreading and checks poison immunity of splash victims. Cannot spread to source or through intervening actors. Updated several poison effect definitions to handle temp values properly. Vulnerability Poison: Damage rescaled (slight nerf) Bladestorm Trap: Adjusted scaling of construct's defensive stats Gravitic Trap: General Nerf: Damage scales consistently with other trap damage scaling, pull allows target a power check to resist, cooldown and stamina increased, anomaly duration limited < 1/2 cooldown, does not refund stamina if triggered Freezing Trap: Slightly reduced persistent area effect damage, increased cooldown. Fan of Knives: Range scaling matches that of Throwing Knives. Stealth: Combat:attackTarget calls breakStealth() for stealthed attackers. This fixes a bug causing stealth to be cancelled inappropriately by talents that call attackTarget directly. Stealth will not break from activating instant use objects. Soothing Darkness: Flat armour bonus removed, reduces minimum/check range to enemies for Stealth/Shadow Dance when standing in an unlit grid (instead of being automatic), life regeneration depends on both talent level and Cunning. Shadow Dance: Fixed a bug causing a crash if Stealth is cancelled with Shadow Dance active. Can be activated with Stealth active. Dual Weapon Mastery: Nerfed offhand multiple slightly, Number of parries increase (slowly) with Cunning, and chance scales with Dexterity. Tempo: Energy gain limited < 25% of a turn. Restores stamina on offhand crits. Stamina recovery rescaled (< 15). Duelist's Focus: nerfed crit power reduction to be a consistent offset to Lethality. Evasion: Moved to tier 1. Still usable while pinned. Stamina cost penalized by Exhaustion as appropriate. Disengage: Moved to tier 2. Cannot be used with heavy armour. Base range increased to 2, max range limited to 10 or less. Reduced scaling of movement speed bonus (slight nerf). When used, triggers 1 turn Evasion (rather than Avoidance) and performs a standard ammo reload (rather than a specific number of shots). Tumble: Moved to tier 3. Cannot be used with heavy armour or when pinned. Slightly increased range and reduced base stamina cost. Exhaustion debuff stacks more slowly (50% per use), fades gradually, but increases stamina cost of all Mobility talents (armour fatigue applied correctly). Trained Reactions: Moved to tier 4. General rewrite to use stamina more like a life buffer. Sustain is instant and has no cooldown. Grants permanent pinning immunity (< 100%). Damage reduction proc applies to melee and archery damage only and cannot be activated with heavy armour (half effective while pinned). Triggering damage (as a % of current life) based on both talent level and % of remaining stamina consumed (Typically ranges from 16-65% @ TL 1.3, 9-36% @ TL 6.5. Stamina cost of proc increases with talent level (talent always becomes more efficient), correctly applies combatFatigue, applied up to once per melee attack. Device Mastery: Reduced talent tier and Cunning requirement. Danger Sense: Nerfed for non Dexterity/Cunning classes to prevent it from being too useful for Mages, Oozemancers, Berserkers, etc. Cooldown scales down (40 to 25, min 10). Damage reduction % scales with Cunning and Dexterity (10% to 55%, max 75%). Triggers on a hit doing %(50% to 30%, min 15%) of current life or that would reduce life below 25% of max life. (These changes may still not be enough to balance this.) Light Armour Training: Must wear light armour to gain benefit. Improves armour fatigue (with light armour only). Removed situational stamina regeneration. New Dualweapon talents: (To replace the Precision and Momentum talents (moved to misc/npcs.lua) made redundant by the new duelist tree. These are niche talents that are useful to all dual wielders. To be used for NPC's or as an alternative for the Duelist tree for certain classes, like EoR's sawbutchers.) Close Combat Management (tier 3): Gives flat damage armour against on hit melee damage when hitting with mainhand and offhand weapons. May be sustained to reflect some of the resisted damage back to defender. Provides for generally useful defense for fast attacking dual wielders with some interesting possibilities for turning the target's abilities against itself. Offhand Jab (tier 3): Low cooldown attack that attacks with the mainhand weapon plus an unarmed strike, possibly confusing the target. Roughly as effective as Dual Strike. Provides another status effect option for dual wielders and a means to take advantage of gloves combat without being disarmed. Reflex Defense: nerfed crit power reduction to be a consistent offset to crit power talents Misc: Fixed a bug in melee and archery damageType conversions that prevented all damage from being converted properly. (Affects Trained Reactions) The Reduced Vision debuff will not cause NPC's to lose target.
-
- Nov 24, 2016
-
-
DarkGod authored
-
- Feb 28, 2016
-
-
DarkGod authored
Flat damage resistance is now subject to disminishing returns, usign the same formula as foo-powers and saves; except on base of 40 (so up to 40 there is no disminishing at all)
-
- Feb 05, 2016
-
-
Hachem_Muche authored
-
Hachem_Muche authored
-
- Jan 18, 2016
-
-
stuntofthelitter authored
-
- Jan 07, 2016
-
-
DarkGod 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 07, 2015
-
-
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.
-
- Jul 27, 2015
-
-
Hachem_Muche authored
The default frame size is based on the size of the font (200*font_w, 36*font_h) to maintain readability at different screen resolutions (tested from 800x600 to 1920x1200). Added an Equipment tab (with character doll) that allows you to inspect equipment (including offsets) of actors while inspecting them. Added a button to open the equipinven dialog (for the player only) which triggers the display updates, making equipment/stat management much easier and faster. Added hotkeys to allow direct select of each tab, and the initially displayed tab can be specified when the dialog is called. Redefined the default key binding for shift-c to open the character sheet for the actor under the mouse or within the targetting reticle if possible. This allows targeted enemies to be inspected during the targeting process. Added/enhanced tooltips for several items to provide more explanation of game mechanics. Fixed the display to always show comparison changes to resists/cap (including actor-specific), damage affinities, status immunities, damage/damage penetration bonuses (including actor-specific). Fixed a formatting issue that was causing some talents to be cut off on the talent tab. Fixed a bug that can cause ShowEquipInven to crash for actors with no defined main inventory (which is defined as required with default parameters). EquipDoll: Added support for a new scaling option that will resize the doll frame, graphics, and fonts (fonts are assumed to all be truetype). A specific/custom frame definition can be specified during instanciation for on-the-fly EquipDoll generation. The exact fonts used can be specified (which allows/requires manual scaling). The title can be specified or disabled during instaciation. The size of the doll graphic can be specified and the frame will be correctly sized for it if it is enabled. Added a new "abovetop" text position option to EquipDollFrames to allow for staggering text on a line. Objects: Updated getTextualDesc to provide more information for unidentified objects including the presence of special damage types inflicted and special effects, and the presence of activated abilities. Revised getShortName to note ego level instead of the list of keywords for unidentified objects.
-
- Jul 03, 2015
-
-
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.
-
- Jan 01, 2015
-
-
DarkGod authored
-
- Sep 05, 2014
-
-
Eric Wykoff authored
-
- Jul 15, 2014
-
-
Hachem_Muche authored
-
- Jul 13, 2014
-
-
Eric Wykoff authored
new warp mine tiles, thanks rexorcorum :)
-
- Jul 09, 2014
-
-
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.
-
- Jan 16, 2014
-
-
DarkGod authored
yay
-
- Jan 02, 2014
-
-
DarkGod authored
-
- Sep 23, 2013
-
-
DarkGod authored
-
- Sep 17, 2013
-
-
DarkGod authored
-
- Jul 03, 2013
-
-
DarkGod authored
-