Dragon Age: Origins

File information

Last updated

Original upload

Created by

bratrahen

Uploaded by

bratrahen

Virus scan

Safe to use

About this mod

This add-in introduces improvements to Tactics system. New Conditions, new Target Types, new Commands and completely new features are added. It is based on Advanced Tactics by anakin55. Last version 1.0.0

Permissions and credits
Changelogs
#####################CHANGELOG#####################
---------------------------------------
version: 1.0.0 [07.10.2014]
---- ATTACK
- Sneaky Bastard feature is removed.
- Attack Command no longer prevents your archers from moving toward Enemy

---- CONDITIONS    
- CreaturesList for friendly *TargetTypes* (eg. [TeamMembers]) is sorted by proximity
to [Self] (the same as it is for TargetType [Enemy])
    
- Disabled experimental conditions in [CombatStatus] (aka [GameMode]): "OnCombatStart"
and "Strategies" (they should be hidden long ago)

---- BEHAVIORS
There are two version of each Behavior: Standard that moves toward Main Controlled Character and Stationary that does not move.

- Default
    > Avoid AOE: YES
    > Switch to Melee Weapon: NO
    > Switch to Ranged Weapon: NO
    > Ranged Attack: Enemy in Line of Sight (prefer current)
    > Melee Attack: Enemy within Medium range of any TeamMember (prefer current)

- Passive
    Passive neither switches weapon nor attacks enemies. It is intended for
    characters that are fully controlled by TacticTable.
    > Avoid AOE: YES
    > Switch to Melee Weapon: NO
    > Switch to Ranged Weapon: NO
    > Ranged Attack: not at all
    > Melee Attack: not at all

- Aggresive
    Aggresive is intended for characters that charge toward enemies.
    Aggresive attacks and looks for enemies on much greater area than Default.
    > Avoid AOE: YES
    > Switch to Melee Weapon: NO
    > Switch to Ranged Weapon: NO
    > Ranged Attack: Enemy in Line of Sight (prefer current)
    > Melee Attack: Enemy within 2xMedium range of any TeamMember (prefer current)

- Ranged
    Ranged is intended for archers. It strongly prefers ranged weapon,
    tries to avoid Nearby Enemies and doesn't attack in melee.
    > Avoid Nearby Enemies: YES
    > Avoid AOE: YES
    > Switch to Melee Weapon: NO
    > Switch to Ranged Weapon: when no Enemies within Short range of Self
    > Ranged Attack: Enemy in Line of Sight (prefer current)
    > Melee Attack: not at all

- Cautious
    Cautious is intended for support characters. Attack on current target is
    continued but it doesn't choose a new one. Cautious doesn't want to draw
    opponents attention.
    > Avoid AOE: YES
    > Switch to Melee Weapon: NO
    > Switch to Ranged Weapon: NO
    > Ranged Attack: Current Attack Target if in Line of Sight
    > Melee Attack: Current Attack Target if within 2xShort range of Self

- Defensive
    Defensive prefers to attack from distance but he doesn't escape from
    enemies. Defensive switches to melee and engages opponents if they are close enough.
    > Avoid AOE: YES
    > Switch to Melee Weapon: when an Enemy within 2xShort range of Self
    > Switch to Ranged Weapon: when no Enemies within Medium range of Self
    > Ranged Attack: Enemy in Line of Sight (prefer current)
    > Melee Attack: Enemy within Medium range of Self (prefer current)
    
- Protective
    Protective is intended for fighters that use bow but melee weapon is their
    primary weapon of choice. This behavior switches to bow when there is no enemies
    in proximity so fighter can weaken opponents before clashing in melee.
    Fighter immediately switches to melee and attacks any enemy if he come too close
    to any TeamMember. This way Protective can efficiently protect Support characters.
    > Avoid AOE: YES
    > Switch to Melee Weapon: when an Enemy within 2xShort range of any TeamMember
    > Switch to Ranged Weapon: when no Enemies within Medium range of all TeamMembers
    > Ranged Attack: Enemy in Line of Sight (prefer current)
    > Melee Attack: Enemy within Medium range of any TeamMember (prefer current)

- Templar
    Templar is like Default behavior but has Avoid AoE feature disabled. It is
    intended for characters with high magic/elemental resistance and/or using
    Indomitable/ShieldWall.
    > Avoid AOE: NO
    > Switch to Melee Weapon: NO
    > Switch to Ranged Weapon: NO
    > Ranged Attack: Enemy in Line of Sight (prefer current)
    > Melee Attack: Enemy within Medium range of any TeamMember (prefer current)
   
---------------------------------------
version: 0.913 [04.05.2014]
- bugfix: Invisible Wall Robust Fix - AT by anakin55 had safeguard against spawning Invisible Walls around but if char_stage was overwriten by other addin then some features didn't work properly. In AT they were secondary features so it was not noticable but EMAT requires Invisible Walls for some key features eg. Ability Mutex. Invisible Wall Robust Fix autodetects current char_stage thus it should be compatibile with all mods that add new companions. Tested with Karma's Companions addin.
- bugfix: All Invisible Walls spawned by previous versions of EMAT will be automatically removed once you give any order to your Hero.
- runscript mk_fix_invisible_wall: If your hero is unavailable (eg. your mage is alone in Fade during Arl Eamon quest) you may use console to remove Invisible Walls.
- runscript mk_test_storage: You can also perform compatibility check using console (it should be compatybile with everything but just in case).

---------------------------------------
version: 0.912 [13.04.2014]
- bugfix: AI Status:Dead was not working for friendly Target Types(Party Member, Team Member etc.)
- bugfix: Script Timeout error message was appearing when character died. Should now appear only when real Script Timeout occurs. EVENT_TYPE_DEATH is no longer listened for.
- Change: Abilities from Awakening and from DLCs are now visible for following Conditions: Is valid for ability, Is affected by spell, Is affected by talent

---------------------------------------
version: 0.911 [06.04.2014]
- bugfix (mobs and characters stand still and don't attack) : added missing dependency files for eventmanager
---------------------------------------
version: 0.91 [02.04.2014]
- initial release version

#####################DESCRIPTION#####################
====================
Please, report any bugs and problems.
====================

====================
I. Changes in Even More Advanced Tactics (EMAT)
====================
1) Improved Behaviors
2) New Conditions
3) New Commands
4) New Target Types
5) Ability Mutex
6) Improved Ranged Combat
7) MultiConditions
8) Boolean Variables

For detailed description of features introduced by this mod refer to EMAT Manual.

====================
II. Thanks and Remarks
====================
For people in Bioware, for creating this great game (by the way, could you add a Toolset in DA3?)
For anakin55, for creating his marvelous mod - Advanced Tactics.
For Talmud, for his Unlimited Variable Storage
For tinman, for his implementation of “Clustered with X enemies”. It saved me a lot of time.
For hfuet, for extensive tests of this mod and suggestions.
For HappyDog, for being happy.

====================
III. About (Even More) Advanced Tactics
====================
It all started with anakin55 and his marvelous mod - Advanced Tactics (AT). Before him, there was only darkness. Bioware had a great idea to allow players to create their own AI using Tactics. There was one problem- default AI was so stupid that you had to put all your effort to keep your characters from killing themselves. Advanced Tactics by anakin55 changed all this. It was amazing to play DAO with this mod. However, during my gameplay I have noticed that it lacks a lot of features that, from my point of view, seemed obvious for such a mod. Fortunately, anakin55 was so kind to publish his source code so I could add new features, one by one. Some time ago I realized that my bunch of modifications have grown up to the size of full mod. I started thinking: “It may be a good idea to share it with community…”. It turned out to be much more time consuming then I expected. It took me several months to optimize the code, rewrite it and test it, but here we are – Even More Advanced Tactics (EMAT) is released.
Have fun,
bratrahen (aka MkBot)

====================
IV. Installation
====================
1)Uninstall or disable Advanced Tactics by anakin55
2)Launch daupdater.exe (located at "…/Dragon Age/bin_ship/" folder) and install Even More Advanced Tactics
3)Optional: in order to increase number of tactics to 50 put exptable.gda and exptable_gxa.gda files in the following location: …/BioWare/Dragon Age/packages/core/override/ (Change is applied when: 1. you start new game 2. character levels up 3. character joins your party)

You can use different mods that change number of tactic. Keep in mind that recommended number of tactics is 50. EMAT removes hardcoded limit for number of tactics so you can even have 100 tactics but you need very, very fast processor do deal with it.

====================
V. Compatibility
====================
You must rewrite your Tactics after installing this mod. This applies also if Advanced Tactics by anakin55 was installed.

This add-in use the Event Manager.
Two events are overridden:
EVENT_TYPE_COMMAND_COMPLETE
EVENT_TYPE_PERCEPTION_APPEAR
Six events are listened:
EVENT_TYPE_COMMAND_PENDING
EVENT_TYPE_DYING
EVENT_TYPE_PARTY_MEMBER_HIRED
EVENT_TYPE_MODULE_PRESAVE
EVENT_TYPE_MODULE_LOAD
EVENT_TYPE_GAMEMODE_CHANGE
It will not be fully compatible with other mods overriding these events.
It uses string IDs from 8000000 to 8000132 (Advanced Tactics) and from 9000000 to 9000464 (Even More Advanced Tactics).
It creates a new event with the ID 500 (Advanced Tactics) and new events with IDs from 600 to 602 (Even More Advanced Tactics).

====================
VI. Sourcecode
====================
Sourcecode is published at SourceForge: https://sourceforge.net/p/dragonage-emat/code/ci/master/tree/