BattletechModders / CBTBehaviorsEnhanced

Applies Classic BattleTech behaviors to the HBS BattleTech Game
MIT License
5 stars 6 forks source link

DFA damage numbers do not match preview #121

Open IceRaptor opened 2 years ago

IceRaptor commented 2 years ago

Here are the logs and save. Attachment file type: archive BTALogs-20220106_201259.zip 9.38 MB Attachment file type: archive save.zip 4.79 MB DFA wrong damage applied. taintedloki — 01/06/2022 i will take a look, but it will be awhile...damage numbers are a pain to trace it logs Osul — 01/06/2022 No problem. I can kick in the meantime. 🙂 taintedloki — 01/06/2022 2022-01-06T19:56:34 CombatLog.Heat [LOG] Mech Charger (ec9d2280-ca9a-4d90-8a20-963d8a4c0a39.0) gains 0 heat from firing DFA 2022-01-06T19:56:34 CombatLog.Attacking [WARNING] OnAttackSequenceImpact is dealing <= 0 damage: base dmg: 25, total: 0 2022-01-06T19:56:34 CombatLog.Attacking [LOG] TakeWeaponDamage SEQ:79297799: WEAP:0 HITLOC: 2 Base Damage: 25 2022-01-06T19:56:34 CombatLog.Attacking [LOG] SEQ:79297799: WEAP:0 HITLOC: 2 Damage: 25 2022-01-06T19:56:34 CombatLog.Damage [LOG] WEAPON: DFA (ID 0) HITLOCATION: LeftArm // Damage: 25 2022-01-06T19:56:34 CombatLog.Damage [LOG] Ultraviolet takes 25 Damage to its LeftArm from DFA (ID 0) 2022-01-06T19:56:34 CombatLog.Attacking [LOG] SEQ:79297799: WEAP:0 HITLOC: 2 (LeftArm) Structure damage: 25 2022-01-06T19:56:34 CombatLog.Damage [LOG] ==== Structure Damage: 25 / 89 || Now: 64 2022-01-06T19:56:34 CombatLog.Attacking [LOG] SEQ:79297799: WEAP:0 HITLOC: 2 (LeftArm) Structure damage: 0 2022-01-06T19:56:34 CombatLog.Damage [LOG] ==== Structure Damage: 0 / 64 || Now: 64 2022-01-06T19:56:34 CombatLog.Attacking [WARNING] OnAttackSequenceImpact is dealing <= 0 damage: base dmg: 25, total: 0 2022-01-06T19:56:34 CombatLog.Attacking [LOG] TakeWeaponDamage SEQ:79297799: WEAP:0 HITLOC: 64 Base Damage: 25 2022-01-06T19:56:34 CombatLog.Attacking [LOG] SEQ:79297799: WEAP:0 HITLOC: 64 Damage: 25 2022-01-06T19:56:34 CombatLog.Damage [LOG] WEAPON: DFA (ID 0) HITLOCATION: LeftLeg // Damage: 25 2022-01-06T19:56:34 CombatLog.Damage [LOG] Ultraviolet takes 25 Damage to its LeftLeg from DFA (ID 0) 2022-01-06T19:56:34 CombatLog.Attacking [LOG] SEQ:79297799: WEAP:0 HITLOC: 64 (LeftLeg) Armor damage: 25 2022-01-06T19:56:34 CombatLog.Damage [LOG] ==== Armor Damage: 25 / 80 || Now: 55 2022-01-06T19:56:36 CombatLog.Attacking [LOG] TakeWeaponDamage SEQ:79297799: WEAP:0 HITLOC: 64 Base Damage: 0 2022-01-06T19:56:36 CombatLog.Attacking [LOG] SEQ:79297799: WEAP:0 HITLOC: 64 Damage: 0 2022-01-06T19:56:36 CombatLog.Damage [LOG] WEAPON: DFA (ID 0) HITLOCATION: LeftLeg // Damage: 0 2022-01-06T19:56:36 CombatLog.Damage [LOG] Charger takes 0 Damage to its LeftLeg from DFA (ID 0) 2022-01-06T19:56:36 CombatLog.Attacking [LOG] SEQ:79297799: WEAP:0 HITLOC: 64 (LeftLeg) Armor damage: 0 2022-01-06T19:56:36 CombatLog.Damage [LOG] ==== Armor Damage: 0 / 170 || Now: 170 2022-01-06T19:56:36 CombatLog.Attacking [LOG] TakeWeaponDamage SEQ:79297799: WEAP:0 HITLOC: 128 Base Damage: 0 2022-01-06T19:56:36 CombatLog.Attacking [LOG] SEQ:79297799: WEAP:0 HITLOC: 128 Damage: 0 2022-01-06T19:56:36 CombatLog.Damage [LOG] WEAPON: DFA (ID 0) HITLOCATION: RightLeg // Damage: 0 2022-01-06T19:56:36 CombatLog.Damage [LOG] Charger takes 0 Damage to its RightLeg from DFA (ID 0) 2022-01-06T19:56:36 CombatLog.Attacking [LOG] SEQ:79297799: WEAP:0 HITLOC: 128 (RightLeg) Armor damage: 0 2022-01-06T19:56:36 CombatLog.Damage [LOG] ==== Armor Damage: 0 / 170 || Now: 170 this is what the log the game gives you says on dfa damage but this 18:59:53.319 DFA Target baseDamage: 2 x mech tonnage: 80 = 160 18:59:53.319 - Target damage => final: 243 = (raw: 160 + mod: 0) x multi: 1.518 18:59:53.319 KICK baseDamage: 0.5 x mech tonnage: 80 = 80 18:59:53.319 - Left leg actuator damage multi is: 1 18:59:53.319 - Right leg actuator damage multi is: 1 18:59:53.319 - Using leg actuator damage multi of: 1 18:59:53.319 - Target damage per strike => final: 125 = (raw: 80 + mod: 0) x multi: 1.56 x actuatorMulti: 1 18:59:53.319 PUNCH damage => tonnageMulti: 0.5 x attacker tonnage: 80 = raw: 40 18:59:53.319 - Left arm actuator damage is: 1 18:59:53.319 - Right arm actuator damage is: 1 18:59:53.319 - Using arm actuator damage reduction of: 1 18:59:53.319 - Target damage per strike => final: 94 = (raw: 40 + mod: 0) x multi: 2.34 x reductionMulti: 1 18:59:53.319 DFA Target baseDamage: 2 x mech tonnage: 80 = 160 18:59:53.319 - Target damage => final: 243 = (raw: 160 + mod: 0) x multi: 1.518 is what cbtbe which is what controls melee says occurs Osul — 01/06/2022 So, what does that mean?

IceRaptor commented 2 years ago

what cbtbe says is what should be happening i can see many instances of the ui being very unhappy NullReferenceException: Object reference not set to an instance of an object at (wrapper dynamic-method) BattleTech.Pathing.UpdateMeleePath_Patch2(object,bool) at BattleTech.Pathing.Update (UnityEngine.Vector3 mousePos, System.Boolean calledFromUI) [0x00008] in <029bfe22d2d74c8e8c8ded1619022103>:0 at BattleTech.UI.SelectionStateMove.UpdateMousePosUI (UnityEngine.Vector3 worldPos, System.Boolean updateEverything) [0x00082] in <029bfe22d2d74c8e8c8ded1619022103>:0 at (wrapper dynamic-method) BattleTech.UI.SelectionStateMove.ProcessMousePos_Patch3(object,UnityEngine.Vector3) at BattleTech.UI.CombatSelectionHandler.ProcessMousePos (UnityEngine.Vector3 worldPos) [0x0000e] in <029bfe22d2d74c8e8c8ded1619022103>:0 at (wrapper dynamic-method) BattleTech.UI.CombatSelectionHandler.ProcessInput_Patch1(object) at BattleTech.UI.CombatSelectionHandler.Update () [0x00014] in <029bfe22d2d74c8e8c8ded1619022103>:0

(Filename: <029bfe22d2d74c8e8c8ded1619022103> Line: 0)

Tried an invalid backout within Move

IceRaptor commented 2 years ago

Osul — 01/06/2022 There is something odd with DFA. I have a dedicated Charger 1A1, to the brink stuffed with equipment to improve DFA. When selecting him he shows DFA Damage of 243. But when I want to perform one, the Damage goes down significantly, and is changing. Had a Solo Duell with a Stalker when I noticed (after a couple DFA) that the Damage is shown as 2x 25. I noted the status of the Stalker, performed the DFA, and it really did only 2x 25 points of damage. To double check I did another Solo Duell against a Ultraviolet. First DFA showed as 2x 85 Damage, all following ones as 2x 25 Damage. Do you want logs and save, or do I miss something?

IceRaptor commented 2 years ago

taintedloki — 01/06/2022 other than bug fixes to the dll that affects melee, literally nothing regarding the numbers has changed the math is still the same, which is working as intended during the last check bloodydoves — 01/06/2022 @RushHourCS @FreezeManEXE Tanks are 1 "level" high compared to mechs being 2 "levels" high. The LOS predictor doesn't understand that very well and calculates LOS as though they were mechs when in fact they're shorter and see less well. It's a known funkiness of tanks. :shrugstar: FancyRaptor — 01/06/2022 @Osul the melee damage display is a hard to code UI. You have to select a target before I can calculate the DFA damage. I should probably show a 0 or - if no target is selected, but don't have that right now. Trust the latter numbers, once you've selected targets and are ready to hit 'Attack' UI patching is a PITA and hard to catch all the places it should show bloodydoves — 01/06/2022 For clarification, DFA does 2 damage per ton of the attacker to the target (so your Charger should do 160 damage, 80x2) and does it in a big cluster of hits each of which is ~25 damage. It's a big cluster of hits all at once. The x2 is I think the initial attacks. As Frost says, the UI is a little bit of a pain.

IceRaptor commented 2 years ago

Osul — 01/06/2022 When I have no target selected it shows 243 Damage (lots of gear to push DFA damage). But when I select a valid target it changes to 2x 85 or 2x 25 damage. And at least the 2x 25 damage I have confirmed is the actual damage the target got.

Edit: Ticket done.

IceRaptor commented 2 years ago

BTALogs-20220106_201259.zip