Dragon Age: Origins
0 of 0

File information

Last updated

Original upload

Created by

peddroelm

Uploaded by

peddroelm

Virus scan

Safe to use

Tags for this mod

About this mod

Adds combat log functionality to the game file log DragonAge_1.log:
(Chance To Hit roll, Chance to crit roll, flanking bonus, target's difficulty scaled resistances and defense, weapon damage roll, attribute roll, armor roll, resistance rolls, elemental resistance calc

PLEASE READ THE DISCLAIMER IN DETAILED DESCRIPTION

Permissions and credits
WHOM IS IT FOR:

- players and modders seeking to gain better understanding of the combat mechanics in general and overwhelmingly better feedback during combat.  

DISCLAIMER: THE LOG OUTPUT DOESN'T HAPPEN IN GAME - IT HAPPENS IN THE GAME'S LOG FILE LOCATED  c:\Users\[username]\Documents\BioWare\Dragon Age\Logs\DragonAge_1.log
(you'll have to switch between windows to read it during (paused) gameplay, ideally using two separate monitors one for the game window and one for the file editor/reader displaying the .log file )

Notepad++ is great alternative to Notepad and one of the best free text editors around with a lot of powerful and very useful features. Although the program is not setup to monitor file changes in real time by default, with just a few setting changes it can be made to behave that way. When you normally open a file in Notepad++ and its content is changed by an external source, a window will popup with the prompt “This file has been modified by another program. Do you want to reload it?”.Every time the file is updated you will be shown the popup. If this prompt is turned off the file will automatically be reloaded silently every time it gets updated. In Notepad++ go to Settings > Preferences > MISC. and check the Update silently and Scroll to the last line after update boxes. The second box is optional and scrolls to the end of the file every time it’s updated and reloaded.

WHAT IT DOES: 

- enables a ton of debugging messages in the ..\Logs\DragonAge_1.log file. (so much that you'll need to manually purge the file after each playing/testing session to prevent it from growing out of control)
- displays step by step Weapon damage calculation   
- target stats : LVL, MaxHitpoints,  Defense, Armor and difficulty scaled Resitances (physcal, mental, magical and elemental)  
- displacement dice *ROLL*
- chance to crit dice *ROLL*
- chance to hit dice *ROLL*
- staff spellpower dice *ROLL*
- armor dice *ROLL*
- exploit weakness dice *ROLL*
- stealing dice *ROLL* 
- physical and mental resistance *ROLL* (or lack of) 
- magical resistance dice *ROLL* (or lack of) 
- elemental damage bonus calculation
- elemental damage resistance calculation
- apply poison effect *ROLL* 
- and tons more debug info..

HOW TO INSTALL:


- unzip combatlog.zip to the override folder  ("c:\Users\[username]\Documents\BioWare\Dragon Age\packages\core\override" )
- unzip the ECLog.ini file in the game install folder (  "..\steamapps\common\Dragon Age Ultimate Edition\bin_ship" )

output examples:


Scriptcombat_h.GetAttackResult Attacker's Crit Chance: 10.742096 = ( Attacker's melee or ranged crit stat 3.000000 + on weapon CTC 2.200000 + CTC from Bravery  0  ) * flanking CTC mul 2.065788. Attacker: gen00fl_alistair. Target: lot120cr_soldier2_cut_2
Scriptcombat_h.GetAttackResult Attacker's Attack: 136.828934 = (54 + Attacker's Attack stat: 77.500000 + onWeaponAttack: 0.000000 + fBonus(script): 0.000000 + fFlanking: 5.328939 (- range penalty:0.000000)). Attacker: gen00fl_alistair. Target: lot120cr_soldier2_cut_2
Scriptcombat_h.GetAttackResult Target's Defense: 58.500000 = target's Defense stat 58.500000 + target's bonus vs missiles [ONLY vs ranged]1.500000 + low difficulty bonus0.000000. Attacker: gen00fl_alistair. Target: lot120cr_soldier2_cut_2
Scriptcombat_h.GetAttackResult  ToCrit ToHit DICE ROLLS:   ToCritRoll *ROLL* : 86.886200 vs chance to crit = : 10.742096 ToHitRoll *ROLL* : 9.213538 vs chance to hit = (Attack - Defense) = : 78.328934. Attacker: gen00fl_alistair. Target: lot120cr_soldier2_cut_2
Scriptcombat_h.GetAttackResult  Target's Stats:   LVL: 5.000000 MaxHealth: 191.600006 Damage Scale Vul: 1.000000 MenR: 8.000000 PhysR: 21.000000 FireR: 5.000000 ColdR: 5.000000 ElecR: 5.000000 NatuR: 5.000000 SpirR: 5.000000 MagicR: 5.000000. Attacker: gen00fl_alistair. Target: lot120cr_soldier2_cut_2
Script[combat_damage]  Weapon Damage Interval gen_im_wep_mel_lsw_war: material scaled base: 7.700000 to (material scaled base) * DamageRange: 11.550000 abilityForceMaxDamage:0
Script[combat_damage]  Weapon Damage *ROLL* gen_im_wep_mel_lsw_war: = 7.700000 + Rand(3.850000) = 10.516855
Script[combat_damage]  scaledWeaponRoll = Weapon rolled damage Or Human Unarmed(NO RNG !) = 10.516855
Script[combat_damage]  Attribute(s) Bonus = fDmg : 16.000000
Script[combat_damage] MH noDW *ROLL* SRand(fDmg * 50%, fDmg * 75%) : 9.076815
Script[combat_damage]  Attribute Modifier : 1.000000
Script[combat_damage]  scaledAttributeRoll = Rolled Attribute Bonus * Attribute Modifier: 9.076815
Script[combat_damage]  difficulty bonus: 0.000000
Script[combat_damage] DAMAGE before crit/backstab  = scaledWeaponRoll + scaledAttributeRoll + DiffBonus  19.593670
Script[combat_damage] ARMOR 0.7 + 0.3 *ROLL* = 5.880000 + Rand(2.520000) = 7.481350
Script[combat_damage]  Attacker's Armor Piercing: 2.442857
Script[combat_damage] DAMAGE past armor DR fDamage - MaxF(0.0f,fAr - fAp) = 14.555177
Script[combat_damage] DAMAGE += add char stat damage bonus: 2.400000 = 16.955177
Script[combat_damage] DAMAGE += add conditional damage bonus (shattering blows and blood frenzy) 0.000000 = 16.955177
Script[combat_damage]  fRankScale: 1.000000
Script[combat_damage] DAMAGE *= fDamageScale ; Scale Damage > 16 on nightmare :  1.000000 = 16.955177
Scriptcombat_h.GetAttackDamage  Targets's Stats:   LVL: 5.000000 MaxHealth: 191.600006 Damage Scale Vul: 1.000000 MenR: 8.000000 PhysR: 21.000000 FireR: 5.000000 ColdR: 5.000000 ElecR: 5.000000 NatuR: 5.000000 SpirR: 5.000000 MagicR: 5.000000. Attacker: gen00fl_alistair. Target: lot120cr_soldier2_cut_2
Script[combat_performattack] weapon base speed :2.000000 mod:-0.100000 effects: 1.000000
Scriptcombat_h.Combat_PerformAttack  Attack Result: 1 = COMMAND_RESULT_HIT. Attacker: gen00fl_alistair. Target: lot120cr_soldier2_cut_2
Script[combat_h.HandleCommandAttack] Melee Attack Duration set to        1.899999976




Script[gen00fl_morrigan::rules_core.EVENT_TYPE_COMMAND_PENDING] Controlled follower attacking - clearing party to attack
Scriptcombat_h.HandleCommandAttack  starting . Attacker: gen00fl_morrigan. Target: lot120cr_soldier2_cut_2
Script[combat_damage]  Weapon Damage Interval gen_im_wep_mag_sta_mgc: material scaled base: 4.800000 to (material scaled base) * DamageRange: 4.800000 abilityForceMaxDamage:0
Script[combat_damage]  Weapon Damage *ROLL* gen_im_wep_mag_sta_mgc: = 4.800000 + Rand(0.000000) = 4.800000
Script[combat_damage]  scaledWeaponRoll = Weapon rolled damage  4.800000
Script[combat_damage]  StaffDamageBonus  1.000000
Script[combat_damage]  ArcaneFocus  1.000000
Script[combat_damage]  SpellPower * 0.25  5.000000
Script[combat_damage]  SpellPowerComponent = SpellPower * 0.25 * StaffDamageBonus * ArcaneFocus =   5.000000
Script[combat_damage]  SpellPowerComponent * 0.75 + Rand(SpellPowerComponent * 0.25) *ROLL* =   4.386044
Script[combat_damage]  staff DAMAGE Weapon Roll + SpellPowerComponent Roll =   9.186045
Script[core_h.GetCreatureRangedDrawSpeed] DrawSpeed on gen00fl_morrigan is 0.100000 modifier is: 0.000000 Weapon (gen_im_wep_mag_sta_mgc):0.100000
Scriptcombat_h.Combat_PerformAttack  Attack Result: 1 = COMMAND_RESULT_HIT. Attacker: gen00fl_morrigan. Target: lot120cr_soldier2_cut_2
Script[combat_h.HandleCommandAttack] RangedAim Loop Duration set to        0.100000001




Script[sys_itemprop_h.ItemProp_DoEffect]  ONHIT processing nType = 1013
Script[effect_damage_h.Effects_ApplyInstantEffectDamage] damage:       2.000000000 flags: 0x00000400 abi: 0, current health: 183
Script[effect_damage_h.IsDamageAllowed] Result:1
Script[effect_damage_h] Apply Elemental Damage Bonus 2.000000 * 1.000000 = 2.000000
Script[sys_resistances_h.ResistDamage] lot120cr_soldier2_cut_2 resisting 2.000000 dmg by player type 3 Resistance score:0.050000: 1.900000
Script[effect_damage_h.Effects_ApplyInstantEffectDamage] damage:       1.899999976 flags: 0x00000400 setting health to:      181.791732788
Script>> STATS V0.017 << player | total damage dealt = 11109.152344
Script[effect_damage_h.ApplyInstantEffectDamage] Damage:        1.899999976



Script[ability_h.DoRunSpellScript] running spellscript for ability: 100021 type=3
Script[ability_h.DoRunSpellScript] spell script = skill_stealing.ncs
Script[skill_stealing.EVENT_TYPE_SPELLSCRIPT_IMPACT] STEALING (100021)
Script[skill_stealing] Stealing skill used.
Script[skill_stealing] Target is creature. den200cr_ignacio
Script[skill_stealing] bStolenFrom = 0
Script[skill_stealing] nStealingRank = 4
Script[skill_stealing] bCasterCombat = 0
Script[skill_stealing] bTargetCombat = 0
Script[skill_stealing] Thief Intelligence Modifier = 46.000000
Script[skill_stealing] Thief With Stealing = 66.000000
Script[skill_stealing] Thief With Stealth = 66.000000
ScriptGetLevel: 17.000000
ScriptGetLevel: 16.000000
Script[skill_stealing] Target Mental Resistance = 34.000000
Script[skill_stealing] Target With Rank = 54.000000
Script[skill_stealing] Target With Level ( 16 vs 17 ) = 56.000000
Script[skill_stealing] Target With Combat = 56.000000
Script[skill_stealing] Thief Steal *ROLL* fThiefScore *= (0.8 + RnG(0.4)) 52.830620
Script[UI_DisplayMessage 3503 0x00ffffff] Stealing failed!
Script>> STATS V0.017 << Number of stealing failures = 12.000000
Script[core_h.GetCreatureFlag] Flag: 0x00000008 Value: 0x00000000 Result: 0
ScriptGetPlot [gen00pt_stealing] [STEALING_DEN_INFAMY] = [0]
ScriptSetPlot [gen00pt_stealing] [STEALING_DEN_INFAMY] -> [1]
ScriptGetPlot [gen00pt_stealing] [STEALING_DEN_KYLON_GUARD_SPOKE] = [0]