Page 1 of 1

Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Fri May 26, 2017 7:12 pm
by GauravDas
Soulfire, Void Rift and Null Lance should do more damage with patch 1.3, especially with higher tier Psi Amps.
However, only Null Lance gets higher damage. The game still uses default damage values for Soulfire and Void Rift.

Version: Long War 2 v 1.4
Platform: Windows 10 Pro x64
DLC: Resistance Warrior Pack
Mods: None

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Fri May 26, 2017 7:14 pm
by GauravDas
For reference, default damage values present in "SteamApps\common\XCOM 2\XComGame\Config\DefaultGameData_WeaponData.ini" are:

Code: Select all

PsiAmpT1_AbilityDamage = (Damage=5, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "Soulfire", DamageType="Psi")
PsiAmpT1_AbilityDamage = (Damage=2, Spread = 0, PlusOne = 90, Crit = 0, Pierce = 0, Tag = "VoidRift", DamageType="Psi")
PsiAmpT1_AbilityDamage = (Damage=7, Spread = 1, PlusOne = 53, Crit = 0, Pierce = 0, Tag = "NullLance", DamageType="Psi")

PsiAmpT2_AbilityDamage = (Damage=6, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "Soulfire", DamageType="Psi")
PsiAmpT2_AbilityDamage = (Damage=4, Spread = 0, PlusOne = 25, Crit = 0, Pierce = 0, Tag = "VoidRift", DamageType="Psi")
PsiAmpT2_AbilityDamage = (Damage=9, Spread = 2, PlusOne = 51, Crit = 0, Pierce = 0, Tag = "NullLance", DamageType="Psi")

PsiAmpT3_AbilityDamage = (Damage=7, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "Soulfire", DamageType="Psi")
PsiAmpT3_AbilityDamage = (Damage=4, Spread = 1, PlusOne = 75, Crit = 0, Pierce = 0, Tag = "VoidRift", DamageType="Psi")
PsiAmpT3_AbilityDamage = (Damage=11, Spread = 2, PlusOne = 68, Crit = 0, Pierce = 0, Tag = "NullLance", DamageType="Psi")
Damage values in LW2 present in "SteamApps\workshop\content\268500\844674609\Config\XComGameData_WeaponData.ini" are:

Code: Select all

PsiAmpT1_AbilityDamage = (Damage=5, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "Soulfire", DamageType="Psi")
PsiAmpT1_AbilityDamage = (Damage=3, Spread = 0, PlusOne = 50, Crit = 0, Pierce = 0, Tag = "VoidRift", DamageType="Psi")
PsiAmpT1_AbilityDamage = (Damage=7, Spread = 1, PlusOne = 50, Crit = 0, Pierce = 0, Tag = "NullLance", DamageType="Psi")

PsiAmpT2_AbilityDamage = (Damage=7, Spread = 1, PlusOne = 50, Crit = 0, Pierce = 0, Tag = "Soulfire", DamageType="Psi")
PsiAmpT2_AbilityDamage = (Damage=5, Spread = 0, PlusOne = 75, Crit = 0, Pierce = 0, Tag = "VoidRift", DamageType="Psi")
PsiAmpT2_AbilityDamage = (Damage=10, Spread = 2, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "NullLance", DamageType="Psi")

PsiAmpT3_AbilityDamage = (Damage=10, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "Soulfire", DamageType="Psi")
PsiAmpT3_AbilityDamage = (Damage=8, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "VoidRift", DamageType="Psi")
PsiAmpT3_AbilityDamage = (Damage=12, Spread = 2, PlusOne = 50, Crit = 0, Pierce = 0, Tag = "NullLance", DamageType="Psi")
Damage values actually read by "X2Item_DefaultWeapons.uc" from configs are:

Code: Select all

PsiAmpT1_AbilityDamage = (Damage=5, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag="Soulfire", DamageType="Psi")
PsiAmpT1_AbilityDamage = (Damage=2, Spread = 0, PlusOne = 90, Crit = 0, Pierce = 0, Tag="VoidRift", DamageType="Psi")
PsiAmpT1_AbilityDamage = (Damage=7, Spread = 1, PlusOne = 50, Crit = 0, Pierce = 0, Tag="NullLance", DamageType="Psi")

PsiAmpT2_AbilityDamage = (Damage=6, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag="Soulfire", DamageType="Psi")
PsiAmpT2_AbilityDamage = (Damage=4, Spread = 0, PlusOne = 25, Crit = 0, Pierce = 0, Tag="VoidRift", DamageType="Psi")
PsiAmpT2_AbilityDamage = (Damage=10, Spread = 2, PlusOne = 0, Crit = 0, Pierce = 0, Tag="NullLance", DamageType="Psi")

PsiAmpT3_AbilityDamage = (Damage=7, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag="Soulfire", DamageType="Psi")
PsiAmpT3_AbilityDamage = (Damage=4, Spread = 1, PlusOne = 75, Crit = 0, Pierce = 0, Tag="VoidRift", DamageType="Psi")
PsiAmpT3_AbilityDamage = (Damage=12, Spread = 2, PlusOne = 50, Crit = 0, Pierce = 0, Tag="NullLance", DamageType="Psi")
The code used to print damage values:

Code: Select all

static event OnPostTemplatesCreated()
{
	local WeaponDamageValue Value;

	foreach class'X2Item_DefaultWeapons'.default.PsiAmpT1_AbilityDamage(Value)
	{
		`log("PsiAmpT1_AbilityDamage = (Damage=" $ Value.Damage $ ", Spread = " $ Value.Spread
			$ ", PlusOne = " $ Value.PlusOne $ ", Crit = " $ Value.Crit $ ", Pierce = " $ Value.Pierce
			$ ", Tag=\"" $ Value.Tag $ "\", DamageType=\"" $ Value.DamageType $ "\")");
	}

	foreach class'X2Item_DefaultWeapons'.default.PsiAmpT2_AbilityDamage(Value)
	{
		`log("PsiAmpT2_AbilityDamage = (Damage=" $ Value.Damage $ ", Spread = " $ Value.Spread
			$ ", PlusOne = " $ Value.PlusOne $ ", Crit = " $ Value.Crit $ ", Pierce = " $ Value.Pierce
			$ ", Tag=\"" $ Value.Tag $ "\", DamageType=\"" $ Value.DamageType $ "\")");
	}

	foreach class'X2Item_DefaultWeapons'.default.PsiAmpT3_AbilityDamage(Value)
	{
		`log("PsiAmpT3_AbilityDamage = (Damage=" $ Value.Damage $ ", Spread = " $ Value.Spread
			$ ", PlusOne = " $ Value.PlusOne $ ", Crit = " $ Value.Crit $ ", Pierce = " $ Value.Pierce
			$ ", Tag=\"" $ Value.Tag $ "\", DamageType=\"" $ Value.DamageType $ "\")");
	}
}

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Fri May 26, 2017 7:19 pm
by RealityMachina
I actually ran into something similar when I was making my Biotic class: the game would only use the last entry in the arrays I added for my biotic amps, until I bothered to put + in front of all the entries.

Maybe it's the same thing going on here, for whatever reason?

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Fri May 26, 2017 7:24 pm
by GauravDas
I started a new game with some INI edits and console commands to quickly get to a Psi Operative with T2 Psi Amp, and Soulfire, Void Rift and Null Lance.
Save game: https://drive.google.com/open?id=0B9qnp ... FlEV2tRWXc

Soulfire:
Image
Void Rift:
Image
Null Lance:
Image

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Fri May 26, 2017 7:31 pm
by GauravDas
RealityMachina wrote:I actually ran into something similar when I was making my Biotic class: the game would only use the last entry in the arrays I added for my biotic amps, until I bothered to put + in front of all the entries.

Maybe it's the same thing going on here, for whatever reason?
Yeah, it probably is. Probably because this is an array config.

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Tue Jun 27, 2017 2:25 pm
by nmkaplan
Apologies for resurrecting the thread, Tracktwo, but was this thread ever noticed? Seems like a pretty good report, but I don't see anything about it in the patch notes.

Is this something that is proving difficult to fix, or did it just slip through the cracks? Or is it actually fixed in 1.5 and not in the patch notes?

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Wed Jun 28, 2017 4:09 am
by tracktwo
Thanks for the bump, I missed this. JL is generally the keeper of the inis & damage values, so I'll point him here to take a look.

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Sun Jul 02, 2017 1:49 am
by tracktwo
Fixed for 1.5.

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Mon Jul 03, 2017 4:43 pm
by nmkaplan
Thanks!! Can your solution for this be implemented by a simple .ini edit or was it something more involved? Is there an easy workaround that we can use in the meantime?

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Tue Jul 04, 2017 5:29 am
by tracktwo
You can make an .ini edit to change the values. In XComGameData_WeaponData.ini replace the existing PsiAmpT[1/2/3] lines with the following:

Code: Select all

!PsiAmpT1_AbilityDamage=()
+PsiAmpT1_AbilityDamage = (Damage=5, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "Soulfire", DamageType="Psi")
+PsiAmpT1_AbilityDamage = (Damage=3, Spread = 0, PlusOne = 50, Crit = 0, Pierce = 0, Tag = "VoidRift", DamageType="Psi")
+PsiAmpT1_AbilityDamage = (Damage=7, Spread = 1, PlusOne = 50, Crit = 0, Pierce = 0, Tag = "NullLance", DamageType="Psi")

!PsiAmpT2_AbilityDamage=()
+PsiAmpT2_AbilityDamage = (Damage=7, Spread = 1, PlusOne = 50, Crit = 0, Pierce = 0, Tag = "Soulfire", DamageType="Psi")
+PsiAmpT2_AbilityDamage = (Damage=5, Spread = 0, PlusOne = 75, Crit = 0, Pierce = 0, Tag = "VoidRift", DamageType="Psi")
+PsiAmpT2_AbilityDamage = (Damage=10, Spread = 2, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "NullLance", DamageType="Psi")

!PsiAmpT3_AbilityDamage=()
+PsiAmpT3_AbilityDamage = (Damage=10, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "Soulfire", DamageType="Psi")
+PsiAmpT3_AbilityDamage = (Damage=8, Spread = 1, PlusOne = 0, Crit = 0, Pierce = 0, Tag = "VoidRift", DamageType="Psi")
+PsiAmpT3_AbilityDamage = (Damage=12, Spread = 2, PlusOne = 50, Crit = 0, Pierce = 0, Tag = "NullLance", DamageType="Psi")

Re: Incorrect damage for Soulfire and Void Rift (patch 1.3/1.4)

Posted: Wed Jul 05, 2017 12:49 pm
by nmkaplan
Thank you!