Hi..
I really do love this game, it is very fun to play, and would hate if it would go to waste so I ended up here and found the fantastic Carrier Tool!
One problem is the whimpy Carrier AI that run pasts you and doing nothing in most of the times.
Since I'm an old programmer and had some time over I scanned through the AI-code and I found and fixed one AI-problem
in uec_militaryadvisor.h in the class MilitaryAdvisor, function: AnalyzeNeeds
I found this code:
if ( AvoidEnemyCarrier )
WriteNeed( Logger, mem, this, GOTO_ISLAND, enCurr.GetArea(), 0, 9 );
else
{
if ( myCurr == enCurr && d < 320.0 ) // 1000m
WriteNeed( Logger, mem, this, ASSAULT_CARRIER, enemy.GetID(), 0, 9 );
else
WriteNeed( Logger, mem, this, GOTO_ISLAND, enCurr.GetArea(), 0, 9 );
}
and replaced it with:
if ( AvoidEnemyCarrier )
WriteNeed( Logger, mem, this, GOTO_ISLAND, enCurr.GetArea(), 0, 9 );
else
{
if ( d < 640.0 ) // 2000m ...
{
WriteNeed( Logger, mem, this, ASSAULT_CARRIER, enemy.GetID(), 0, 9 );
}
else
{
WriteNeed( Logger, mem, this, GOTO_ISLAND, enCurr.GetArea(), 0, 9 );
}
}
If you get too close to him he might get very personal and come after you with walruses and mantas! The Carrier -battles will be awesome! But he will still run if he is scared of you. :)
Happy Hunting
/J.
---------- Post added at 19:48 ---------- Previous post was at 19:39 ----------
Omg.. sorry for the previoius post.. The code looked terrible.. I try again with code-tags
Replace:
if ( AvoidEnemyCarrier )
WriteNeed( Logger, mem, this, GOTO_ISLAND, enCurr.GetArea(), 0, 9 );
else
{
if ( myCurr == enCurr && d < 320.0 ) // 1000m
{
WriteNeed( Logger, mem, this, ASSAULT_CARRIER, enemy.GetID(), 0, 9 );
else
WriteNeed( Logger, mem, this, GOTO_ISLAND, enCurr.GetArea(), 0, 9 );
}
With:
if ( AvoidEnemyCarrier )
WriteNeed( Logger, mem, this, GOTO_ISLAND, enCurr.GetArea(), 0, 9 );
else
{
if ( d < 640.0 ) // 2000m
{
WriteNeed( Logger, mem, this, ASSAULT_CARRIER, enemy.GetID(), 0, 9 );
}
else
{
WriteNeed( Logger, mem, this, GOTO_ISLAND, enCurr.GetArea(), 0, 9 );
}
}