[QUESTION] How to update from per 2.0 to 2.3?

I think that one of my favourite mod " [Soban’s Rebalanced MOD for Multiplayer v1.29" (http://steamcommunity.com/sharedfiles/filedetails/?id=646326619) needs to be updated to 2.3. How can I update these ships HOD files to 2.3 from per Homeworld 2.0 patch.

It does work on 2.3 player patch however only the Hiigaran’s work and no other race.
Here is an example of the Ship files in this mod: Kushan assualtfrigate.
NewShipType = StartShipConfig()
NewShipType.displayedName="$10024"
NewShipType.sobDescription="$10025"
NewShipType.maxhealth=17000
NewShipType.regentime=1500
NewShipType.minRegenTime=300
NewShipType.sideArmourDamage=1.2
NewShipType.rearArmourDamage=1.2
NewShipType.isTransferable=1
NewShipType.useEngagementRanges=1
NewShipType.unitCapsNumber=2
NewShipType.SquadronSize=1
NewShipType.formationSpacing=250
NewShipType.passiveFormation=“dockline”
NewShipType.defensiveFormation=“broad”
NewShipType.aggressiveFormation=“delta”
NewShipType.mass=100
NewShipType.collisionMultiplier=1
NewShipType.thrusterMaxSpeed=160
NewShipType.mainEngineMaxSpeed=160
NewShipType.rotationMaxSpeed=30
NewShipType.thrusterAccelTime=7
NewShipType.thrusterBrakeTime=2
NewShipType.mainEngineAccelTime=8
NewShipType.mainEngineBrakeTime=2
NewShipType.rotationAccelTime=0.75
NewShipType.rotationBrakeTime=0.4
NewShipType.thrusterUsage=0.5
NewShipType.accelerationAngle=40
NewShipType.mirrorAngle=0
NewShipType.secondaryTurnAngle=0
NewShipType.maxBankingAmount=20
NewShipType.descendPitch=20
NewShipType.goalReachEpsilon=30
NewShipType.slideMoveRange=100
NewShipType.controllerType=“Ship”
NewShipType.tumbleStaticX=10
NewShipType.tumbleStaticY=20
NewShipType.tumbleStaticZ=5
NewShipType.tumbleDynamicX=2
NewShipType.tumbleDynamicY=10
NewShipType.tumbleDynamicZ=5
NewShipType.tumbleSpecialDynamicX=2
NewShipType.tumbleSpecialDynamicY=10
NewShipType.tumbleSpecialDynamicZ=5
NewShipType.relativeMoveFactor=3
NewShipType.swayUpdateTime=4
NewShipType.swayOffsetRandomX=10
NewShipType.swayOffsetRandomY=10
NewShipType.swayOffsetRandomZ=10
NewShipType.swayBobbingFactor=0.15
NewShipType.swayRotateFactor=0
NewShipType.useTargetRandom=1
NewShipType.targetRandomPointXMin=-0.33
NewShipType.targetRandomPointXMax=0.33
NewShipType.targetRandomPointYMin=-0.3
NewShipType.targetRandomPointYMax=-0.3
NewShipType.targetRandomPointZMin=-0.4
NewShipType.targetRandomPointZMax=0.55
NewShipType.dustCloudDamageTime=160
NewShipType.nebulaDamageTime=200
NewShipType.MinimalFamilyToFindPathAround=“MotherShip”
NewShipType.BuildFamily=“Frigate_Kus”
NewShipType.AttackFamily=“Frigate”
NewShipType.DockFamily=“Frigate”
NewShipType.AvoidanceFamily=“Frigate”
NewShipType.DisplayFamily=“Frigate”
NewShipType.AutoFormationFamily=“Frigate”
NewShipType.CollisionFamily=“Big”
NewShipType.ArmourFamily=“MediumArmour”
NewShipType.UnitCapsFamily=“Frigate”
NewShipType.fighterValue=0
NewShipType.corvetteValue=0
NewShipType.frigateValue=12
NewShipType.neutralValue=0
NewShipType.antiFighterValue=8
NewShipType.antiCorvetteValue=4
NewShipType.antiFrigateValue=4
NewShipType.totalValue=12
NewShipType.buildCost=700
NewShipType.buildTime=55
NewShipType.buildPriorityOrder=10
NewShipType.retaliationRange=5500
NewShipType.retaliationDistanceFromGoal=160
NewShipType.visualRange=1000
NewShipType.prmSensorRange=5000
NewShipType.secSensorRange=6000
NewShipType.detectionStrength=1
NewShipType.TOIcon=“Diamond”
NewShipType.TOScale=1
NewShipType.TODistanceFade0=9000
NewShipType.TODistanceDisappear0=7000
NewShipType.TODistanceFade1=4500
NewShipType.TODistanceDisappear1=3500
NewShipType.TODistanceFade2=12000
NewShipType.TODistanceDisappear2=35000
NewShipType.TOGroupScale=1
NewShipType.TOGroupMergeSize=0
NewShipType.mouseOverMinFadeSize=0.045
NewShipType.mouseOverMaxFadeSize=0.1
NewShipType.healthBarStyle=1
NewShipType.nlips=0.00015
NewShipType.nlipsRange=6000
NewShipType.nlipsFar=0.00015
NewShipType.nlipsFarRange=10000
NewShipType.SMRepresentation=“HardDot”
NewShipType.meshRenderLimit=14000
NewShipType.dotRenderLimit=10
NewShipType.visibleInSecondary=1
NewShipType.minLOD=0.25
NewShipType.goblinsStartFade=1550
NewShipType.goblinsOff=1550
NewShipType.minimumZoomFactor=0.63
NewShipType.selectionLimit=150000
NewShipType.preciseATILimit=0
NewShipType.selectionPriority=75
NewShipType.militaryUnit=1
addAbility(NewShipType,“MoveCommand”,1,0);
addAbility(NewShipType,“CanDock”,1,0);
NewShipType.dockTimeBetweenTwoFormations=1
NewShipType.dockTimeBeforeStart=2
NewShipType.dockNrOfShipsInDockFormation=1
NewShipType.dockFormation=“delta”
NewShipType.queueFormation=“dockline”
NewShipType.dontDockWithOtherRaceShips=1
NewShipType.ignoreRaceWhenDocking=0
addAbility(NewShipType,“CanLaunch”);
NewShipType.launchTimeBetweenTwoFormations=1
NewShipType.launchTimeBeforeStart=2
NewShipType.launchNrOfShipsInDockFormation=1
NewShipType.launchFormation=“delta”
addAbility(NewShipType,“ParadeCommand”,1);
addAbility(NewShipType,“WaypointMove”);
addAbility(NewShipType,“HyperSpaceCommand”,0,1.1,200,700,0,3);
addAbility(NewShipType,“CanAttack”,1,1,0,0,0.35,1.5,“Capturer, Frigate, SmallCapitalShip, BigCapitalShip, Mothership, Utility, Corvette, Fighter”,“Frontal”,{Fighter=“MoveToTargetAndShoot”},{Corvette=“MoveToTargetAndShoot”},{Munition=“MoveToTargetAndShoot”},{SubSystem=“FrontalVsSubSystem”});
addAbility(NewShipType,“GuardCommand”,1,3000,600);
addAbility(NewShipType,“HyperspaceViaGateCommand”,1,3,1,0.3);
addAbility(NewShipType,“CanBeCaptured”,45,0.1,“CapCap”);
addAbility(NewShipType,“CanBeSalvageCaptured”,0,1,0,0,1,“SalCap”);
addAbility(NewShipType,“CanBeRepaired”,“RepCap”);
addAbility(NewShipType,“RetireAbility”,1,1);
LoadModel(NewShipType,1);
StartShipWeaponConfig(NewShipType,“Kus_AssaultGun”,“Weapon_Gun0”,“Weapon_Gun0”);
StartShipWeaponConfig(NewShipType,“Kus_AssaultGun”,“Weapon_Gun1”,“Weapon_Gun1”);
StartShipWeaponConfig(NewShipType,“Kus_AssaultGun”,“Weapon_Gun2”,“Weapon_Gun2”);
StartShipWeaponConfig(NewShipType,“Kus_AssaultGun”,“Weapon_Gun5”,“Weapon_Gun5”);
StartShipWeaponConfig(NewShipType,“Kus_AssaultBomb”,“Weapon_Gun6”,“Weapon_Gun6”);
StartShipWeaponConfig(NewShipType,“Kus_AssaultBomb”,“Weapon_Gun7”,“Weapon_Gun7”);
StartShipWeaponConfig(NewShipType,“Kus_BombGun”,“Weapon_Gun0”,“Weapon_Gun0b”);
StartShipWeaponConfig(NewShipType,“Kus_BombGun”,“Weapon_Gun1”,“Weapon_Gun1b”);
StartShipWeaponConfig(NewShipType,“Kus_BombGun”,“Weapon_Gun2”,“Weapon_Gun2b”);
StartShipWeaponConfig(NewShipType,“Kus_BombGun”,“Weapon_Gun5”,“Weapon_Gun5b”);
StartShipWeaponConfig(NewShipType,“Kus_BombCannon”,“Weapon_Gun3”,“Weapon_Gun3b”);
–StartShipWeaponConfig(NewShipType,“Kus_AssaultBombimp”,“Weapon_Gun3”,“Weapon_Gun3”);
–StartShipWeaponConfig(NewShipType,“Kus_AssaultBombimp”,“Weapon_Gun4”,“Weapon_Gun4”);
addShield(NewShipType,“EMP”,310,20);
NewShipType.battleScarCoverage=2
NewShipType.battleScarBudgetLow = 400
NewShipType.battleScarBudgetNext = 600
NewShipType.sobDieTime=1.9
NewShipType.sobSpecialDieTime=1
NewShipType.specialDeathSpeed=40
NewShipType.chanceOfSpecialDeath=0
NewShipType.deadSobFadeTime=1
NewShipType.trailLinger=4
setEngineBurn(NewShipType,6,1,1.5,60,1.1,0.1,0.25,120);
setEngineBurn(NewShipType,6,1,1.5,60,1.1,0.1,0.25,120);
setEngineGlow(NewShipType,1,1,1.02,20,300,50,1.5,{0.7, 0.55, .35, 0.25});
loadShipPatchList(NewShipType,“data:sound/sfx/ship/Hiigaran/Frigate/”
,0,“Engines/HFrigateEng”,""
,1,“Ambience/HFrigateAmb”,"");
loadLatchPointList(NewShipType,“SalCap”,“SalvagePoint1”,“SalvagePoint2”);
loadLatchPointList(NewShipType,“CapCap”,“CapturePoint1”);
loadLatchPointList(NewShipType,“RepCap”,“RepairPoint1”,“RepairPoint2”);
NewShipType.minFalloffDamageDist=0
NewShipType.maxFalloffDamageDist=400
NewShipType.maxFalloffDamage=400

And here is the 2. 3 version of the same ship.
NewShipType = StartShipConfig()
NewShipType.displayedName="$10024"
NewShipType.sobDescription="$10025"
NewShipType.maxhealth=getShipNum(NewShipType, “maxhealth”, 27500)
NewShipType.regentime=2500
NewShipType.minRegenTime=2500
NewShipType.sideArmourDamage = getShipNum(NewShipType, “sideArmourDamage”, 1.2)
NewShipType.rearArmourDamage = getShipNum(NewShipType, “rearArmourDamage”, 1.2)
setTacticsMults(NewShipType, “ENGINEACCEL”, 1.10, 0.90, 1.0)
setTacticsMults(NewShipType, “THRUSTERACCEL”, 1.10, 0.90, 1.0)
setTacticsMults(NewShipType, “ROTATION”, 0.95, 1.05, 1.0)
setTacticsMults(NewShipType, “ROTATIONACCEL”, 1.10, 0.90, 1.0)
setTacticsMults(NewShipType, “FIRERATE”, 0.98, 1.02, 1.0)
NewShipType.isTransferable=1
NewShipType.formationSpacing=250
NewShipType.defaultROE=“Defensive”
NewShipType.defaultStance=“Neutral”
NewShipType.mass=100
NewShipType.collisionMultiplier=1
NewShipType.thrusterMaxSpeed=206
NewShipType.mainEngineMaxSpeed=206
NewShipType.rotationMaxSpeed=40
NewShipType.thrusterAccelTime=7
NewShipType.thrusterBrakeTime=2
NewShipType.mainEngineAccelTime=8
NewShipType.mainEngineBrakeTime=2
NewShipType.rotationAccelTime=0.5
NewShipType.rotationBrakeTime=0.3
NewShipType.thrusterUsage=0.5
NewShipType.accelerationAngle=40
NewShipType.mirrorAngle=0
NewShipType.secondaryTurnAngle=0
NewShipType.maxBankingAmount=20
NewShipType.descendPitch=20
NewShipType.goalReachEpsilon=30
NewShipType.slideMoveRange=100
NewShipType.controllerType=“Ship”
NewShipType.tumbleStaticX=10
NewShipType.tumbleStaticY=20
NewShipType.tumbleStaticZ=5
NewShipType.tumbleDynamicX=2
NewShipType.tumbleDynamicY=10
NewShipType.tumbleDynamicZ=5
NewShipType.tumbleSpecialDynamicX=2
NewShipType.tumbleSpecialDynamicY=10
NewShipType.tumbleSpecialDynamicZ=5
NewShipType.relativeMoveFactor=3
setTargetBox(NewShipType, 0, -0.3,-0.3,-0.96, 0.3,0.43,0.4)
NewShipType.useLayoutBounds=1
NewShipType.layoutBoundX=60
NewShipType.layoutBoundY=55
NewShipType.layoutBoundZ=100
NewShipType.layoutCenterX=0
NewShipType.layoutCenterY=0
NewShipType.layoutCenterZ=10
NewShipType.dustCloudDamageTime=160
NewShipType.nebulaDamageTime=200
NewShipType.MinimalFamilyToFindPathAround=“MotherShip”
NewShipType.BuildFamily=“Frigate_Kus”
NewShipType.AttackFamily=“Frigate”
NewShipType.DockFamily=“Frigate”
NewShipType.AvoidanceFamily=“Frigate”
NewShipType.DisplayFamily=“Frigate”
NewShipType.AutoFormationFamily=“Frigate”
NewShipType.CollisionFamily=“Big”
NewShipType.ArmourFamily=getShipStr(NewShipType, “ArmourFamily”, “MediumArmour”)
setSupplyValue(NewShipType, “Frigate”, 1.0)
setSupplyValue(NewShipType, “LayoutFrigate”, 1.0)
NewShipType.fighterValue=0
NewShipType.corvetteValue=0
NewShipType.frigateValue=12
NewShipType.neutralValue=0
NewShipType.antiFighterValue=0
NewShipType.antiCorvetteValue=12
NewShipType.antiFrigateValue=15
NewShipType.totalValue=12
NewShipType.buildCost=700
NewShipType.buildTime=60
NewShipType.buildPriorityOrder=10
NewShipType.retaliationRange=5500
NewShipType.retaliationDistanceFromGoal=160
NewShipType.visualRange=1000
NewShipType.prmSensorRange=5000
NewShipType.secSensorRange=6000
NewShipType.detectionStrength=1
NewShipType.TOIcon=“Diamond”
NewShipType.TOScale=1
NewShipType.TODistanceFade0=9000
NewShipType.TODistanceDisappear0=7000
NewShipType.TODistanceFade1=4500
NewShipType.TODistanceDisappear1=3500
NewShipType.TODistanceFade2=12000
NewShipType.TODistanceDisappear2=35000
NewShipType.TOGroupScale=1
NewShipType.TOGroupMergeSize=0
NewShipType.mouseOverMinFadeSize=0.045
NewShipType.mouseOverMaxFadeSize=0.1
NewShipType.healthBarStyle=1
NewShipType.nlips=0.00015
NewShipType.nlipsRange=6000
NewShipType.nlipsFar=0.00015
NewShipType.nlipsFarRange=10000
NewShipType.SMRepresentation=“HardDot”
NewShipType.meshRenderLimit=14000
NewShipType.dotRenderLimit=10
NewShipType.visibleInSecondary=1
NewShipType.minLOD=0.25
NewShipType.goblinsStartFade=1550
NewShipType.goblinsOff=1550
NewShipType.minimumZoomFactor=0.63
NewShipType.selectionLimit=150000
NewShipType.preciseATILimit=0
NewShipType.selectionPriority=75
NewShipType.militaryUnit=1
addAbility(NewShipType,“MoveCommand”,1,0);
addAbility(NewShipType,“CanDock”,1,0);
NewShipType.dockTimeBetweenTwoFormations=1
NewShipType.dockTimeBeforeStart=2
NewShipType.dockNrOfShipsInDockFormation=1
NewShipType.dockFormation=“delta”
NewShipType.queueFormation=“dockline”
NewShipType.strikeGroupRadius=100
NewShipType.dontDockWithOtherRaceShips=1
NewShipType.ignoreRaceWhenDocking=0
addAbility(NewShipType,“CanLaunch”);
NewShipType.launchTimeBetweenTwoFormations=1
NewShipType.launchTimeBeforeStart=2
NewShipType.launchNrOfShipsInDockFormation=1
NewShipType.launchFormation=“delta”
addAbility(NewShipType,“ParadeCommand”,1);
addAbility(NewShipType,“WaypointMove”);
addAbility(NewShipType,“HyperSpaceCommand”,1,1.1,200,700,0,4);
addAbility(NewShipType,“CanAttack”,1,1,0,1,0.35,1.5,“Capturer, Corvette_hw1, Corvette, Frigate, SmallCapitalShip, BigCapitalShip, Mothership, Utility, Resource, Fighter_hw1, Fighter, Swarmer”,“frontal_frigate”,
{Fighter=“movetotargetandshoot_Frigate_vs_Fighters”},
{Fighter_hw1=“movetotargetandshoot_Frigate_vs_Fighters”},
{Swarmer=“movetotargetandshoot_Frigate_vs_Fighters”},
{Corvette=“frontal_frigate”},
{Corvette_hw1=“frontal_frigate”},
{Munition=“frontal_frigate”},
{SmallCapitalShip=“frontal_frigate”},
{BigCapitalShip=“frontal_frigate”},
{SubSystem=“FrontalVsSubSystem”});
addAbility(NewShipType,“GuardCommand”,1,3000,600);
addAbility(NewShipType,“HyperspaceViaGateCommand”,1,3,1,0.3);
addAbility(NewShipType,“CanBeCaptured”,45,0.1,“CapCap”);
addAbility(NewShipType,“CanBeSalvageCaptured”,0,1,0,0,1,“SalCap”);
addAbility(NewShipType,“CanBeRepaired”,“RepCap”);
addAbility(NewShipType,“RetireAbility”,1,1);
LoadModel(NewShipType,1);
StartShipHardPointConfig(NewShipType,“Weapon_Gun0”,“Hardpoint_Gun0”,“Weapon”,“Innate”,“Ship”,“Kus_AssaultGun”,"","","","","","","","");
StartShipHardPointConfig(NewShipType,“Weapon_Gun1”,“Hardpoint_Gun1”,“Weapon”,“Innate”,“Ship”,“Kus_AssaultGun”,"","","","","","","","");
StartShipHardPointConfig(NewShipType,“Weapon_Gun2”,“Hardpoint_Gun2”,“Weapon”,“Innate”,“Ship”,“Kus_AssaultGun”,"","","","","","","","");
StartShipHardPointConfig(NewShipType,“Weapon_Gun5”,“Hardpoint_Gun5”,“Weapon”,“Innate”,“Ship”,“Kus_AssaultGun”,"","","","","","","","");
StartShipWeaponConfig(NewShipType,“Kus_AssaultBomb”,“Weapon_Gun3”,“Weapon_Gun3”);
StartShipWeaponConfig(NewShipType,“Kus_AssaultBomb”,“Weapon_Gun4”,“Weapon_Gun4”);
addShield(NewShipType,“EMP”,310,20);
NewShipType.battleScarCoverage=2
NewShipType.battleScarBudgetLow = 400
NewShipType.battleScarBudgetNext = 600
NewShipType.sobDieTime=1.9
NewShipType.sobSpecialDieTime=1
NewShipType.specialDeathSpeed=40
NewShipType.chanceOfSpecialDeath=0
NewShipType.deadSobFadeTime=1
NewShipType.trailLinger=4
setEngineBurn(NewShipType,6,1,1.5,60,1.1,0.1,0.25,120);
setEngineBurn(NewShipType,6,1,1.5,60,1.1,0.1,0.25,120);
setEngineGlow(NewShipType,1,1,1.02,20,300,50,1.5,{0.7, 0.55, .35, 0.25});
loadShipPatchList(NewShipType,“data:sound/sfx/ship/Hiigaran/Frigate/”,0,“Engines/HFrigateEng”,"",1,“Ambience/HFrigateAmb”,"");
loadLatchPointList(NewShipType,“SalCap”,“SalvagePoint1”,“SalvagePoint2”);
loadLatchPointList(NewShipType,“CapCap”,“CapturePoint1”);
loadLatchPointList(NewShipType,“RepCap”,“RepairPoint1”,“RepairPoint2”);
NewShipType.minFalloffDamageDist=100
NewShipType.maxFalloffDamageDist=1002
NewShipType.maxFalloffScuttleDamageDist=100
4
NewShipType.explosiveScuttleDamageOnDeath=1125
NewShipType.maxFalloffForce=500*10
NewShipType.explosiveDamageOnDeath=225
NewShipType.radiusDamageEvadeMod=1.1
NewShipType.canSurround=1
Can @Cloaked and anyone in 2.3 player mod and anyone help me makes these ships in this mod playable again and up to speed in the new version? if not could you please give me guidance on where to start? Thanks!

With the permission of the authors of both mods, you could:

  1. extract the soban files
  2. extract the 2.3 files
  3. replace files from 1) with files from 2)
  4. upload the new mod
1 Like

I mean the Hiigarans in this mod were already on Homeworld 2.0 patch. I guess they forgot to upload the rest of the races to 2.0?

Just a PSA here, but when posting large chunks of text, could you all please use the Details tag? That would be greatly appreciated. Instructions here: NEW FORUM BASICS.

2 Likes

I already have the files for both mods extracted on my desktop. But now am just waiting form the developers to see if I am allowed to update both their mods!

The soban mod appears to be an old unsupported mod that no longer works. Any mod that hasn’t been updated since the huge 2.0 Patch in June 2016 will most likely crash, and would require a ton of effort to get working again. If your looking to play Turanic Raiders, Kadeshi, etc, check out other active mods like the FX mod.

To fix the soban mod, with permission from the author you need to update it from the HWR 1.3 patch to 2.0/2.1. This will be a huge undertaking. There are other existing threads to help, do some searches. The biggest challenge will likely be any custom .hods models the mod may have had. Theres a reason why theres so many dead mods on the workshop. :confused:

Once that is done (like 6-12+ months from now, lol) you can then apply the 2.3 changes. See the bottom of the 2.3 Players Patch ReadMe for details.

1 Like

I think that’s pessimistic… If he can get hold of the original dae files it’s just a case of running them through the new HODOR, adjusting the race scripts and maybe tweaking a few ship parameters.

1 Like

I know the makers of Soban mode.
This mod said that the manufacturer no longer updates.
In my opinion, some modifications to the HOD file and data will probably work.

So do you think I should update it to 2.3? Yes or no?

I think it would be good if it was updated.