HWR Bugs & Solutions

That’s correct, same as it looked in v1.3.

Trebic actually fixed that 2 days ago. :slight_smile: Just updated the OP.

1 Like

Ah, beaten to it! Nice one @shadowwinterknig

Does anyone have a fix for the battlecruiser splash damage or the vaygr infiltrator pods? I have ideas for both…

2 Likes

Is this another bug?

2 Likes

I’ve heard the player colors can get messed up after capturing a ship in the campaign. Pretty sure its a campaign only bug, so not sure which missions it affects etc.

Got one for the campaign, mission 4.

Those Turanic Raider Ion Array Frigates that warp in around the Mothership are poorly coded. If they kill something like one of your frigates, the group that killed your unit will stop doing anything, not even defending themselves from your units. They’ll just stand around and let you do whatever you wish to them.

I’ve looked in the Mission04.LUA file and tried tweaking it to fix it, but I haven’t gotten it working. Does anyone think they might be willing to take a look at it?

2 Likes

@NoOne fixed a similar issue with the Kadeshi swarmers. Try this:
tur_ionarrayfrigate.ship
NewShipType.defaultROE=“Offensive”
Change to Aggressive

Gearbox didn’t rename Aggressive to Offensive everywhere in the engine after they renamed it in the 2.0 patch. In this instance, Offensive is unrecognized and gets treated as Passive… The following ships start in Offensive ROE, and are also affected by the same bug:

tur_standardcorvette.ship
tur_missilecorvette.ship
tur_ionarrayfrigate.ship
tur_fighter.ship
kad_swarmer.ship
kad_multibeamfrigate.ship
kad_advancedswarmer.ship
junk_autoguns.ship
junk_autogunl.ship
kpr_destroyerm10.ship
kpr_destroyer.ship
kpr_attackdroid.ship

I also added two more campaign bugs to the OP. Both involve destroying the AI carrier/mothership, causing the missions to not progress.

4 Likes

Wow, fixed. Thanks a bunch.

1 Like

Repair targeting bug: sometimes HW1 repair corvettes and support frigates, when ordered to repair a bunch of units simultaneously via band-box, start switching their repair targets very rapidly; when they do this, they don’t move nor repair any friendly units.

Here is a short video: https://vimeo.com/276512078

Before I started recording:

  1. Frigates where doing their business regularly
  2. A corvette that was targetted to be repaired by a frigate died
  3. That frigate started freaking out
  4. I selected all frigates, hit S (hotkey for Stop), then Y-band-boxed again a lot of units; this made all frigates freak out
  5. Started recording; after a very short while they got back to normal

I don’t have definite proof that the bug is actually caused by a friendly ship death. I don’t know what caused the bug to stop in that video. Also I don’t know if HW2 collectors are affected too.

Added some new bugs and solutions to the OP:

  • Simultaneous Dock Repair
  • Dock Repair Rate
  • Miss-Aligned Guns (Taiidan Assault Frigate) (solved)
  • Kushan Ion Cannon Sounds (solved)

Thanks @sastrei for pointing the last one out!

Also added a bunch of campaign bugs to the OP a couple months back.

5 Likes

Added a few more to the OP:

  • Salvage Formations (update: will be fixed soon)
  • Movement Disc Glitch
  • Taiidan Missing Build Sounds (solved)

Edit: 9/3/2019

The following bugs have been solved! Solutions by Fear, QuadS, and myself are in the OP:

  • Hyperspace in Gravity Well Exploit (from 2003, 16 years later!)
  • Salvage Scuttle Exploit
  • Kamikaze Exploit
  • Double Pumping Research Ships
  • Docking Under Attack Glitch
  • Gravity Well Effect Area (I just fixed some problems in Trebic’s existing script)
  • No Cruisers Option Locale
  • Private Message Sound
  • Vaygr Missing Build Sounds
2 Likes

Something I feel isn’t right since pre 1.3 is with .ship files:

NewShipType.fighterValue=8
NewShipType.corvetteValue=0
NewShipType.frigateValue=0
NewShipType.neutralValue=0
NewShipType.antiFighterValue=8
NewShipType.antiCorvetteValue=0
NewShipType.antiFrigateValue=0
NewShipType.totalValue=8

Those values are used in AI scripts, they help AI determine the situation. They are identical in both 2.0+ and pre 1.3, but the meaning of them has changed since 2.0. In pre 1.3, they’re the value of a squadron, and in 2.0+, they’re the value of a single ship.

These values also have no significant differences between HW1 races and HW2 races, which means HW1 races’ airforce are considered too powerful by pre 1.3 AI, and after 2.0 patch, both HW1 races’ and HW2 races’ airforce are over considered. This mistake could have potential affects to AI.

2 Likes

I have a solution for support frigates can’t make ships docking with it to stay docked and carry them through hyperspace.

Here’s the CustomCode for it:

function Create_LatchDock(CustomGroup, playerIndex, shipID)
	SobGroup_Create("LatchDockTempGroup"..shipID)
	Volume_AddSphere("LatchDockTempVolume", {0,100000,0}, 0)
end

function Update_LatchDock(CustomGroup, playerIndex, shipID)
	if (SobGroup_AreAllInRealSpace(CustomGroup)==1) then
		if (SobGroup_Empty("LatchDockTempGroup"..shipID)==0) then
			SobGroup_Spawn("LatchDockTempGroup"..shipID, "LatchDockTempVolume")
			SobGroup_DockSobGroupInstant("LatchDockTempGroup"..shipID, CustomGroup)
			SobGroup_SetHidden( "LatchDockTempGroup"..shipID, 0)
			SobGroup_Clear("LatchDockTempGroup"..shipID)
		elseif(SobGroup_GetROE(CustomGroup)==0)then
			SobGroup_GetSobGroupDockedWithGroup(CustomGroup, "LatchDockTempGroup"..shipID)
			SobGroup_Launch("LatchDockTempGroup"..shipID, CustomGroup)
			SobGroup_Clear("LatchDockTempGroup"..shipID)
		elseif(SobGroup_GetROE(CustomGroup)==2)then
			SobGroup_GetSobGroupDockedWithGroup(CustomGroup, "LatchDockTempGroup"..shipID)
			SobGroup_ForceStayDockedIfDocking("LatchDockTempGroup"..shipID)
			SobGroup_Clear("LatchDockTempGroup"..shipID)
		end
	else
		SobGroup_GetSobGroupDockedWithGroup(CustomGroup, "LatchDockTempGroup"..shipID)
		SobGroup_SetHidden( "LatchDockTempGroup"..shipID, 1)
		SobGroup_Despawn("LatchDockTempGroup"..shipID)
	end
end

And here’s the result:

This script still has some visual glitches but it basically did what it intended to do.

4 Likes

OK, forget above, I made a better one, and it’s here:

function Create_LatchDock(CustomGroup, playerIndex, shipID)
	SobGroup_Create("LatchDockTempGroup"..shipID)
	SobGroup_CreateIfNotExist("LatchDockTempGroup")
end

function Update_LatchDock(CustomGroup, playerIndex, shipID)
	if (SobGroup_AreAllInRealSpace(CustomGroup)==1) then
		if (SobGroup_Empty("LatchDockTempGroup"..shipID)==0) then --Exited Hyperspace with ships docked
			if (SobGroup_IsDoingAbility("LatchDockTempGroup"..shipID, AB_Dock)==0) then
				SobGroup_DockSobGroupAndStayDocked("LatchDockTempGroup"..shipID, CustomGroup)
			end
			SobGroup_Clear("LatchDockTempGroup")
			SobGroup_GetSobGroupDockedWithGroup(CustomGroup, "LatchDockTempGroup")
			if (SobGroup_Count("LatchDockTempGroup")>=SobGroup_Count("LatchDockTempGroup"..shipID)) then --All ships docked
				Destroy_LatchDock(CustomGroup, playerIndex, shipID)
			end
		elseif(SobGroup_GetStance(CustomGroup)==0)then --At offensive Stance, launch all ships
			SobGroup_Clear("LatchDockTempGroup")
			SobGroup_GetSobGroupDockedWithGroup(CustomGroup, "LatchDockTempGroup")
			SobGroup_Launch("LatchDockTempGroup", CustomGroup)
		elseif(SobGroup_GetStance(CustomGroup)==1)then --At evasive ROE, all ships stay docked
			SobGroup_Clear("LatchDockTempGroup")
			SobGroup_GetSobGroupDockedWithGroup(CustomGroup, "LatchDockTempGroup")
			SobGroup_ForceStayDockedIfDocking("LatchDockTempGroup")
		end
	elseif (SobGroup_Empty("LatchDockTempGroup"..shipID)==1) then --Hyperspacing, get all ships docked with
		SobGroup_GetSobGroupDockedWithGroup(CustomGroup, "LatchDockTempGroup"..shipID)
		SobGroup_AbilityActivate(CustomGroup, AB_Lights, 0)
		SobGroup_SetHidden( "LatchDockTempGroup"..shipID, 1)
		SobGroup_MakeSelectable("LatchDockTempGroup"..shipID,0)
		SobGroup_AbilityActivate("LatchDockTempGroup"..shipID, AB_Attack, 0)
	else --Hyperspacing with ships docked
		if (SobGroup_AreAllInHyperspace("LatchDockTempGroup"..shipID)==0)and(SobGroup_CanDoAbility(CustomGroup,AB_Lights)==0) then --Entering Hyperspace
			SobGroup_Despawn("LatchDockTempGroup"..shipID)
		elseif (SobGroup_AreAllInHyperspace("LatchDockTempGroup"..shipID)==1)and(SobGroup_AreAllInHyperspace(CustomGroup)==1) then --All In Hyperspace
			SobGroup_AbilityActivate(CustomGroup, AB_Lights, 1)
		elseif (SobGroup_AreAllInHyperspace(CustomGroup)==0)and(SobGroup_CanDoAbility(CustomGroup,AB_Lights)==1) then --Exiting Hyperspace
			Volume_AddSphere("LatchDockTempVolume", SobGroup_GetPosition(CustomGroup), 0)
			SobGroup_Spawn("LatchDockTempGroup"..shipID, "LatchDockTempVolume")
			Volume_Delete("LatchDockTempVolume")
		end
	end
end

function Destroy_LatchDock(CustomGroup, playerIndex, shipID)
	if (SobGroup_Empty("LatchDockTempGroup"..shipID)==0) then
		SobGroup_MakeSelectable("LatchDockTempGroup"..shipID,1)
		SobGroup_SetHidden( "LatchDockTempGroup"..shipID, 0)
		SobGroup_AbilityActivate("LatchDockTempGroup"..shipID, AB_Attack, 1)
		SobGroup_Clear("LatchDockTempGroup"..shipID)
	end
end

How it looks:

7 Likes

Great work @HW_Lover!

Someone just pointed this one out yesterday: The Kushan Destroyer Turrets are not using team colors like they should. They just display the default Kushan colors:


@Dom2 - Any chance you could fix this like you fixed the kushan heavy cruiser turrets?

3 Likes

I can look into it, yes.

1 Like

Are you now thinking its not campaign only?

Great, the destroyer turret is a .hod issue.

Separately, the salvaged ship team color bug you quoted is campaign only afaik. I recently identified a potential solution here.

2 Likes

First attempt, not so great!

EDIT: I now understand the problem better. It is not that they are showing Kushan default paint, it is that the team and stripe are reversed from what they should be:

2 Likes

Left/top: original, right/bottom: corrected version.

I made the turret mostly team paint, with no stripe. Everyone happy with this?

1 Like

Looks great @Dom2! Can you send/upload the corrected file?

Edit:
I’ve updated the OP to include the bugs/solutions identified through September 28, 2019 but I no longer plan to actively maintain it. The Players Patch team has been making progress on GitHub, and thats where you can find the latest list of bugs and solutions.

2 Likes