Hostile Waters: Antaeus Rising

Hostile Waters: Antaeus Rising

Not enough ratings
Method for adding new units to be built by Cabal factories
By Jonyx2
In this guide, I will tell you how to make cabal factories,and not only them to build additional units.
This also applies to alien factories, but some factories do not have the ability to build some units.
And a couple of other interesting manipulations in the script file of the level, that i know.
Over time, the guide will be updated, and if I find new features I will definitely update this.
2
   
Award
Favorite
Favorited
Unfavorite
Preparation
First, you need to make sure that the game files are unpacked, this can be easily done using the program GameExtractor.
Using it, you need to unpack the files that are stored in the file Game.mng
After that, in the main directory of the game, there will be level files like
Level1,Level5, etc.
Everything related to the level is located in these folders.
File editing methods
Using level 17 as an example, this is the convoy level.
We can do several things:
1. You can make the AI be hostile or friendly with us/enemies.
2. Adding a new trigger for the construction of units by AI factories.
3. Changes or deletions of victory/defeat conditions.
And other different interesting things.
If you understand coding, it will be easier for you, I'm not very good at it
but I managed to find a couple of interesting things.

Let's start with alliances first.
In different level .ars files, there is a line with an alliance, it looks like this:

Trigger: "allies" : AIS_ANYPLAYER : BOOL_AND
{
Condition: AIScript_Always
Action: AIScript_SetAlliance
"1"
"2"
1
}

This is the starting line from level 17
It must end with this symbol }.
This shows that there is an alliance between AI teams 1 and 2
Finding out which AI is difficult without changes.
I advise you to experiment and make an alliance with the AI you are interested in.
for example:

Trigger: "allies" : AIS_ANYPLAYER : BOOL_AND
{
Condition: AIScript_Always
Action: AIScript_SetAlliance
"1"
"0"
1
Action: AIScript_SetAlliance
"0"
"1"
1
}

This will make the AI of 1 team friendly to the player and the player to be friendly to him.

Be sure to follow this order, otherwise your units will attack the AI and he will not be able to attack in response, or vice versa.

Adding a new trigger for the construction of units by AI factories.

Here I will tell you how to make additional units produced by the cabal at the level.
I wrote a small trigger, an example of which I took from the rest of the script files.
It looks lite this:

Trigger: "StartProduction" : AIS_SPECIFICPLAYER : 4: BOOL_OR
{
Condition: AIScript_ElapsedTime
AIS_EQUALTO
14
Action: AIScript_BuildUnitAtLocation
AIS_UNITTYPE_SPECIFIC : hybridmamtank
AIS_LOCATION_SPECIFIC : convoy_start
AIS_SPECIFICPLAYER : 4
Action: AIScript_BuildUnitAtLocation
AIS_UNITTYPE_SPECIFIC : M1_hybrid
AIS_LOCATION_SPECIFIC : convoy_start
AIS_SPECIFICPLAYER : 4
Action: AIScript_BuildUnitAtLocation
AIS_UNITTYPE_SPECIFIC : hybridmamtank
AIS_LOCATION_SPECIFIC : convoy_start
AIS_SPECIFICPLAYER : 4
Action: AIScript_BuildUnitAtLocation
AIS_UNITTYPE_SPECIFIC : M1_hybrid
AIS_LOCATION_SPECIFIC : convoy_start
AIS_SPECIFICPLAYER : 4
}

I will explain what is written, After 14 real seconds, the hybrid factory in the 4th team (the convoy team) will begin production of 4 tanks, 2 mammoths and 2 abrams.
By default, this command has no resources, but by editing the file values.txt
you can change cost of units in entire game and not only this.
The important thing is that the AI of the convoy team has no behavior, so it will need to be done manually
Like this:

Trigger: "Set AI" : AIS_SPECIFICPLAYER : 4: BOOL_AND
{
Condition: AIScript_Always
Action: AIScript_RunAIScript
AIS_REPLACE_VEHICLES
Action: AIScript_RunAIScript
AIS_RESPOND_TO_ATTACK
Action: AIScript_RunAIScript
AIS_RESPOND_TO_THREATS
}

Now, the AI is almost complete and will replace the lost units

In game, after 14 real second, if you do all correct, factory can built 4 tanks, and replace them.

Changes or deletions of victory/defeat conditions.

On the example of level 17, this is how the defeat conditions look like
I don't really understand them much, but removing this trigger completely will force the game to continue further, even after the destruction of some units

Trigger: "lose" : AIS_SPECIFICPLAYER : 0: BOOL_AND
{
Condition: AIScript_SwitchIsSet
1
Condition: AIScript_Deaths
AIS_SPECIFICPLAYER : 4
2
AIS_UNITTYPE_SPECIFIC : All_terrain
AIS_GREATEREQUAL
Action: AIScript_DisplayTextMessage
"Mission Failed"
Action: AIScript_Defeat
AIS_SPECIFICPLAYER : 0
Action: AIScript_SetCountdownTimer
6
5
Action: AIScript_TriggerCameraChange
6
}

Trigger: "lose2" : AIS_SPECIFICPLAYER : 0: BOOL_AND
{
Condition: AIScript_SwitchIsSet
1
Condition: AIScript_Deaths
AIS_SPECIFICPLAYER : 4
2
AIS_UNITTYPE_SPECIFIC : 10ton
AIS_GREATEREQUAL
Action: AIScript_DisplayTextMessage
"Mission Failed"
Action: AIScript_Defeat
AIS_SPECIFICPLAYER : 0
Action: AIScript_SetCountdownTimer
6
5
Action: AIScript_TriggerCameraChange
6
}

Trigger: "lose3" : AIS_SPECIFICPLAYER : 0: BOOL_AND
{
Condition: AIScript_Deaths
AIS_SPECIFICPLAYER : 4
1
AIS_UNITTYPE_SPECIFIC : All_terrain
AIS_EQUALTO
Condition: AIScript_Deaths
AIS_SPECIFICPLAYER : 4
1
AIS_UNITTYPE_SPECIFIC : 10ton
AIS_EQUALTO
Condition: AIScript_SwitchIsSet
1
Action: AIScript_Defeat
AIS_SPECIFICPLAYER : 0
Action: AIScript_SetCountdownTimer
6
5
Action: AIScript_TriggerCameraChange
6
}

It is described here that after the destruction of 2 types of trucks 2 times, the trigger will work and mission will be failed.

Trigger: "lose - transport sunk" : AIS_SPECIFICPLAYER : 0: BOOL_AND
{
Condition: AIScript_SpecificUnitDeath
1244
Action: AIScript_Defeat
AIS_SPECIFICPLAYER : 0
Action: AIScript_SetCountdownTimer
6
12
Action: AIScript_TriggerObjectCameraChange
7
1244
}

Here, is described that when the transport ship is destroyed, the mission will be failed.

Trigger: "Buildings destroyed" : AIS_SPECIFICPLAYER : 0: BOOL_AND
{
Condition: AIScript_SpecificUnitDeath
1500
Condition: AIScript_SpecificUnitDeath
1501
Condition: AIScript_SpecificUnitDeath
1502
Condition: AIScript_SpecificUnitDeath
1503
Condition: AIScript_SpecificUnitDeath
1504
Condition: AIScript_SpecificUnitDeath
1505
Condition: AIScript_SpecificUnitDeath
1506
Condition: AIScript_SpecificUnitDeath
1507
Condition: AIScript_SpecificUnitDeath
1508
Condition: AIScript_SpecificUnitDeath
1509
Condition: AIScript_SpecificUnitDeath
1510
Condition: AIScript_SpecificUnitDeath
1511
Condition: AIScript_SpecificUnitDeath
1512
Condition: AIScript_SwitchIsClear
2
Action: AIScript_PlaySound
"1704"
Action: AIScript_Defeat
AIS_SPECIFICPLAYER : 0
Action: AIScript_SetCountdownTimer
6
5
Action: AIScript_TriggerCameraChange
6
}

And there described that if a some of administrative buildings are destroyed, the mission will fail.
How to spawn unit that you want
First, open the level.ars file again
For example we editing Level 19 (Island with cabal city)
I took this trigger from level 1, where I also learned about this method

Trigger: "Place Marker On Map" : AIS_SPECIFICPLAYER : 0: BOOL_OR
{
Condition: AIScript_ElapsedTime
AIS_GREATEREQUAL
1
Action: AIScript_CreateUnit
AIS_SPECIFICPLAYER : 0
AIS_LOCATION_SPECIFIC : town
AIS_UNITTYPE_SPECIFIC : hybrid_apache
}

As you can see, by this command, the game will kindly provide us with Hybrid Apache under our control, after 1 second has pass.
Also, you can spawn Antaeus units with weapons and for ai too, you just need that trigger.

Trigger: "BuildApache" : AIS_SPECIFICPLAYER : 0: BOOL_AND
{
Condition: AIScript_ElapsedTime
AIS_GREATEREQUAL
1
Action: AIScript_CreateUnitWithProperties
AIS_SPECIFICPLAYER : 1
AIS_LOCATION_SPECIFIC : Town
Hovertank
Missile
0, 0, 1
}
That would spawn Salamander, with rockets to ai team 1.

But at this level there is no Hybrid Apache and the game will not be able to spawn it, in order for everything to work, we need to write the following lines in 1 file
Name of the file is Level19.S0U.
There are all the objects that takes part on the map with a description of their location, so that the game can see where to get that object, In that file you need to write the following lines:

[hybrid_apache]
NBASE "Objects\enemy\hybrid\Apache\hybrid apache.S01" (COG 0, 0, 0.0)
NANIM "Objects\enemy\hybrid\Apache\hybrid apache.M01"
NSIMP "Objects\enemy\hybrid\Apache\hybrid apache simp.S01"
NCOLL "Objects\enemy\hybrid\Apache\hybrid apache coll.S01"
NVALU "RES ACTIVE 150 MEAT(hybridparts)"
BBASE "Objects\enemy\hybrid\Apache\hybrid apache bits.s01"
CBASE "Objects\enemy\hybrid\Apache\hybrid apache scav.S01"
CSIMP "Objects\enemy\hybrid\Apache\hybrid apache scav simp.S01"
CCOLL "Objects\enemy\hybrid\Apache\hybrid apache scav coll.S01"
CVALU "RES SCAV 150"

I took them from a file GameObjects.s0l, that located in the folder with name ObjectList.
In that file, there is a list of all objects in the game, you can look into this file for the unit or building you are interested in.
At the end, this unit should spawn in the game itself.








In the same way, you can spawn buildings and add units to the list so that factories in this Level can produce the rest of the units.
I managed to make it so that the cabal could produce Mobile Howitzers, Vtol Bombers and Recon Choppers.
but I couldn't do it so that he could produce mammoths

Thank you for reading this guide.
if something is unclear to you or you want to criticize, feel free to express yourself in the Comments below.
Here is a link to the HW discord channel: https://discord.gg/SQM6PvF
Where a remake of this wonderful game is being actively developed.
And you can easily discuss about the game on this discord server.
4 Comments
Big Van Man 29 Jul, 2022 @ 7:48pm 
Amazing, keep this going
fnoigy 7 Jul, 2021 @ 5:36pm 
I must try this sorcery!!!
Jonyx2  [author] 2 Jan, 2021 @ 9:02am 
You need .ars file, not .cfg
Fatal_Pancake 2 Jan, 2021 @ 5:03am 
So... after I extract the files and go to level 17. Which exact file do I edit and what app should I be using? I can't find anything related to alliances in the .cfg file :(