Merr's Multiplayer Deployment - Anyone got a copy?

PC : Battle Academy is a turn based tactical WWII game with almost limitless modding opportnuities.

Moderators: Slitherine Core, BA Moderators

Post Reply
GottaLove88s
Lieutenant-General - Do 217E
Lieutenant-General - Do 217E
Posts: 3151
Joined: Fri Apr 06, 2012 6:18 pm
Location: Palau

Merr's Multiplayer Deployment - Anyone got a copy?

Post by GottaLove88s »

ARGH! Did anybody download this?
The Gamefront server ist kaput!
I'd love to get a copy...
Merr wrote:I created an MP scenario that demonstrates the Merr Deployment ...

Version 1.1

Fixed ... Units can unload to hidden tiles after player's first turn.

- Large QuickBattle Scenario.
- US vs Germans (meeting engagement).

Can redeploy forces on first turn.

Includes "pop-up" text on first turn explaining "how-to".

:arrow: http://www.gamefront.com/files/20973179 ... y_v1.1.zip

Unzip MP version to ... \Documents\My Games\BBCBA\MULTIPLAYER

---------------------------

I recommend playing in HOTSEAT mode first.

Comments/Suggestions welcome.

- Rob

.....................................................
Pip,

I created a workaround to allow Multiplayer Deployment that uses their first turn as their deployment phase.

I'll start by explaining the scenario BSF with StartTurn() and StartTurnPost() ...

Code: Select all

include "functions.BSF"

FUNCTION StartTurn(side)
{
	// create deploy area ... 5 tiles from player edge.
	if ( GetTurn() == 0 )
	{		
		SetAreaLOS(16, 16, 47, 20, 0, 1) ;
	}
	if ( GetTurn() == 1 )
	{		
		SetAreaLOS(16, 43, 47, 47, 1, 1) ;
	}	
}

FUNCTION StartTurnPost(side)
{
int i ;
int j ;
int id ;

	if ( GetTurn() <= 1 )
	{
		for(i=0;i<2;i++)
		{
			for(j=0;j<GetUnitCount(i);j++)
			{
				id = GetUnitID(i,j) ;
				SetAttrib(id, "AP", 0) ;
				SetAttrib(id, "LOS", 0) ;
				SetAttrib(id, "CoverLOS", 0) ;
			}
		}
	}
	if ( GetTurn() == 2 )
	{				
		for(j=0;j<GetUnitCount(1);j++)
		{
			id = GetUnitID(1,j) ;
			SetAttrib(id, "AP", GetBaseAttrib(id, "AP")) ;
			SetAttrib(id, "LOS", GetBaseAttrib(id, "LOS")) ;
			SetAttrib(id, "CoverLOS", GetBaseAttrib(id, "CoverLOS")) ;			
		}
	}				
}
In the StartTurn(), you can see the area being setup.
In the StartTurnPost(), the units LOS,CoverLOS, and AP are all set to 0. By default, the unit's tile is also considered a deployment location because it naturally has an LOS to itself. Setting all the values to 0 prevents the units from being moved, and when the unit get's redeployed to another tile, it prevents the player from "walking" the LOS update logic. Also, you'll note that in turn #2, player(1) needs to have it's values reset to normal, and now everything is ready to go for the Allied player(0) to take the turn. Basically, the scenario doesn't really start until it's the Allied players second turn. The next step would be disabling any bonus' for the players first turn, but it's not mandatory.

Here's the new deployment Action ...

Code: Select all

FUNCTION ALL_DEPLOY(me, tilex, tiley)
{
	if ( Check_ALL_DEPLOY(me, tilex, tiley) == 0 )
	{
		UnitDeploy(me, tilex, tiley) ;
	}
}

FUNCTION CHECK_ALL_DEPLOY(me, tilex, tiley)
{
int ret ;

	ret = -2 ;
	
	if ( GetTurn() == GetCurrentSide() )
	{
		if( (GetTileLOS(tilex, tiley, GetCurrentSide()) == 1) && (GetTileCost(me, tilex, tiley) < GetBaseAttrib(me, "AP")) )
		{
			ret = -1 ;
		
			if (GetUnitOnTile(tilex, tiley) == -1)
			{
				ret = 0 ;
			}
		}
	}
	
	return ret ;
}

FUNCTION UISETUP_ALL_DEPLOY(me, tilex, tiley)
{
	StartString() ;
	
	if ( CHECK_ALL_DEPLOY(me, tilex, tiley) == 0 )
	{
		PrintString("IDS_TT_DEPLOYUNIT") ;
	}
	if ( CHECK_ALL_DEPLOY(me, tilex, tiley) == -1 )
	{
		PrintString("IDS_TT_NODEPLOYUNIT") ;
	}	
	
	SetUITooltip() ;
	
	SetUITexture("action_select", "ffffffff") ;
}

FUNCTION UIBUTTON_ALL_DEPLOY(me, x,y,width, height, tilex, tiley)
{
	
}
And finally, to allow the player to unload/load units without any restrictions, I added an "or" condition to the LOAD.BSF, under the Check_Unit_Load ...

Code: Select all

if( ( IsDeploying() == 1 ) || ( GetTurn() == GetCurrentSide() ) )
It's pretty cool and I can make a demo template if anyone wants to try out the functionality.

Merr
SCENARIO LINKS
Seelow'45 -> www.slitherine.com/forum/viewtopic.php?f=313&t=55132
Normandy'44 -> www.slitherine.com/forum/viewtopic.php?f=87&t=42094
Dieppe'42 -> www.slitherine.com/forum/viewtopic.php?f=87&t=42347
Richcat
Sergeant - 7.5 cm FK 16 nA
Sergeant - 7.5 cm FK 16 nA
Posts: 219
Joined: Sun Nov 07, 2010 10:09 pm

Re: Merr's Multiplayer Deployment - Anyone got a copy?

Post by Richcat »

Just PM'd you
Cheers
Richcat
Post Reply

Return to “Battle Academy”