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".
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() ...In the StartTurn(), you can see the area being setup.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 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 ...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
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) { }It's pretty cool and I can make a demo template if anyone wants to try out the functionality.Code: Select all
if( ( IsDeploying() == 1 ) || ( GetTurn() == GetCurrentSide() ) )
Merr

