preset health/armour
This commit is contained in:
parent
7b84857a1e
commit
f54d560244
@ -68,7 +68,8 @@ static const
|
|||||||
},
|
},
|
||||||
Float: BR_MIN_HEIGHT = 300.0,
|
Float: BR_MIN_HEIGHT = 300.0,
|
||||||
Float: BR_MIN_CAMERA_HEIGHT = 50.0,
|
Float: BR_MIN_CAMERA_HEIGHT = 50.0,
|
||||||
Float: BR_PLANE_RADIUS_FROM_BORDER = 25.0
|
Float: BR_PLANE_RADIUS_FROM_BORDER = 25.0,
|
||||||
|
Float: BR_UNITS_PER_SECOND_SHRINK = 1.0
|
||||||
;
|
;
|
||||||
|
|
||||||
/* ** Variables ** */
|
/* ** Variables ** */
|
||||||
@ -198,8 +199,11 @@ hook SetPlayerRandomSpawn( playerid )
|
|||||||
ResetPlayerWeapons( playerid );
|
ResetPlayerWeapons( playerid );
|
||||||
GivePlayerWeapon( playerid, 46, 1 ); // parachute
|
GivePlayerWeapon( playerid, 46, 1 ); // parachute
|
||||||
|
|
||||||
SetPlayerPos( playerid, X, Y, Z - 1.0 );
|
SetPlayerPos( playerid, X, Y, Z - 2.0 );
|
||||||
SetPlayerVirtualWorld( playerid, BR_GetWorld( lobbyid ) );
|
SetPlayerVirtualWorld( playerid, BR_GetWorld( lobbyid ) );
|
||||||
|
|
||||||
|
SetPlayerHealth( playerid, br_lobbyData[ lobbyid ] [ E_HEALTH ] );
|
||||||
|
SetPlayerArmour( playerid, br_lobbyData[ lobbyid ] [ E_ARMOUR ] );
|
||||||
return Y_HOOKS_BREAK_RETURN_1;
|
return Y_HOOKS_BREAK_RETURN_1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -282,6 +286,8 @@ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
|
|||||||
|
|
||||||
GivePlayerCash( playerid, -10000 );
|
GivePlayerCash( playerid, -10000 );
|
||||||
BattleRoyale_JoinLobby( playerid, lobbyid );
|
BattleRoyale_JoinLobby( playerid, lobbyid );
|
||||||
|
BattleRoyale_SendMessageAll( "%s(%d) has created a Battle Royale lobby!", ReturnPlayerName( playerid ), playerid );
|
||||||
|
|
||||||
return BattleRoyale_EditLobby( playerid, lobbyid );
|
return BattleRoyale_EditLobby( playerid, lobbyid );
|
||||||
}
|
}
|
||||||
else if ( dialogid == DIALOG_BR_LOBBY_EDIT )
|
else if ( dialogid == DIALOG_BR_LOBBY_EDIT )
|
||||||
@ -726,7 +732,10 @@ static stock BattleRoyale_StartGame( lobbyid )
|
|||||||
|
|
||||||
function BattleRoyale_GameUpdate( lobbyid )
|
function BattleRoyale_GameUpdate( lobbyid )
|
||||||
{
|
{
|
||||||
static const Float: UNITS_PER_SECOND_SHRINK = 1.0;
|
// prevent zone shrinking and bombing while the plane is rotating
|
||||||
|
if ( br_lobbyData[ lobbyid ] [ E_PLANE ] != -1 ) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
// decrease zone size
|
// decrease zone size
|
||||||
new Float: radius_x = ( VectorSize( br_lobbyData[ lobbyid ] [ E_B_MIN_X ] - br_lobbyData[ lobbyid ] [ E_B_MAX_X ], 0.0, 0.0 ) ) / 2.0;
|
new Float: radius_x = ( VectorSize( br_lobbyData[ lobbyid ] [ E_B_MIN_X ] - br_lobbyData[ lobbyid ] [ E_B_MAX_X ], 0.0, 0.0 ) ) / 2.0;
|
||||||
@ -736,25 +745,25 @@ function BattleRoyale_GameUpdate( lobbyid )
|
|||||||
{
|
{
|
||||||
new Float: rate_of_change = 1.0 / ( radius_y / radius_x );
|
new Float: rate_of_change = 1.0 / ( radius_y / radius_x );
|
||||||
|
|
||||||
br_lobbyData[ lobbyid ] [ E_B_MIN_X ] += rate_of_change * UNITS_PER_SECOND_SHRINK;
|
br_lobbyData[ lobbyid ] [ E_B_MIN_X ] += rate_of_change * BR_UNITS_PER_SECOND_SHRINK;
|
||||||
br_lobbyData[ lobbyid ] [ E_B_MAX_X ] -= rate_of_change * UNITS_PER_SECOND_SHRINK;
|
br_lobbyData[ lobbyid ] [ E_B_MAX_X ] -= rate_of_change * BR_UNITS_PER_SECOND_SHRINK;
|
||||||
|
|
||||||
br_lobbyData[ lobbyid ] [ E_B_MIN_Y ] += UNITS_PER_SECOND_SHRINK;
|
br_lobbyData[ lobbyid ] [ E_B_MIN_Y ] += BR_UNITS_PER_SECOND_SHRINK;
|
||||||
br_lobbyData[ lobbyid ] [ E_B_MAX_Y ] -= UNITS_PER_SECOND_SHRINK;
|
br_lobbyData[ lobbyid ] [ E_B_MAX_Y ] -= BR_UNITS_PER_SECOND_SHRINK;
|
||||||
|
|
||||||
BattleRoyale_RedrawBorder( lobbyid, rate_of_change * UNITS_PER_SECOND_SHRINK, UNITS_PER_SECOND_SHRINK );
|
BattleRoyale_RedrawBorder( lobbyid, rate_of_change * BR_UNITS_PER_SECOND_SHRINK, BR_UNITS_PER_SECOND_SHRINK );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
new Float: rate_of_change = 1.0 / ( radius_x / radius_y );
|
new Float: rate_of_change = 1.0 / ( radius_x / radius_y );
|
||||||
|
|
||||||
br_lobbyData[ lobbyid ] [ E_B_MIN_X ] += UNITS_PER_SECOND_SHRINK;
|
br_lobbyData[ lobbyid ] [ E_B_MIN_X ] += BR_UNITS_PER_SECOND_SHRINK;
|
||||||
br_lobbyData[ lobbyid ] [ E_B_MAX_X ] -= UNITS_PER_SECOND_SHRINK;
|
br_lobbyData[ lobbyid ] [ E_B_MAX_X ] -= BR_UNITS_PER_SECOND_SHRINK;
|
||||||
|
|
||||||
br_lobbyData[ lobbyid ] [ E_B_MIN_Y ] += rate_of_change * UNITS_PER_SECOND_SHRINK;
|
br_lobbyData[ lobbyid ] [ E_B_MIN_Y ] += rate_of_change * BR_UNITS_PER_SECOND_SHRINK;
|
||||||
br_lobbyData[ lobbyid ] [ E_B_MAX_Y ] -= rate_of_change * UNITS_PER_SECOND_SHRINK;
|
br_lobbyData[ lobbyid ] [ E_B_MAX_Y ] -= rate_of_change * BR_UNITS_PER_SECOND_SHRINK;
|
||||||
|
|
||||||
BattleRoyale_RedrawBorder( lobbyid, UNITS_PER_SECOND_SHRINK, rate_of_change * UNITS_PER_SECOND_SHRINK );
|
BattleRoyale_RedrawBorder( lobbyid, BR_UNITS_PER_SECOND_SHRINK, rate_of_change * BR_UNITS_PER_SECOND_SHRINK );
|
||||||
}
|
}
|
||||||
|
|
||||||
// ensure a minimum zone area
|
// ensure a minimum zone area
|
||||||
@ -909,10 +918,9 @@ static stock BattleRoyale_RedrawBorder( lobbyid, Float: sides_rate = 1.0, Float:
|
|||||||
// delete old gangzone, set the new
|
// delete old gangzone, set the new
|
||||||
for ( new g = 0; g < 4; g ++ ) {
|
for ( new g = 0; g < 4; g ++ ) {
|
||||||
GangZoneDestroy( br_lobbyData[ lobbyid ] [ E_BORDER_ZONE ] [ g ] );
|
GangZoneDestroy( br_lobbyData[ lobbyid ] [ E_BORDER_ZONE ] [ g ] );
|
||||||
|
br_lobbyData[ lobbyid ] [ E_BORDER_ZONE ] [ g ] = temporary_gangzone[ g ];
|
||||||
}
|
}
|
||||||
|
|
||||||
br_lobbyData[ lobbyid ] [ E_BORDER_ZONE ] = temporary_gangzone;
|
|
||||||
|
|
||||||
// move objects
|
// move objects
|
||||||
for ( new i = 0; i < sizeof( br_wallBorderObjectUp[ ] ); i ++ )
|
for ( new i = 0; i < sizeof( br_wallBorderObjectUp[ ] ); i ++ )
|
||||||
{
|
{
|
||||||
@ -1034,4 +1042,8 @@ stock BattleRoyale_SMF( lobbyid, colour, const format[ ], va_args<> )
|
|||||||
SendClientMessage( i, colour, out );
|
SendClientMessage( i, colour, out );
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
stock IsPlayerInBattleRoyale( playerid ) {
|
||||||
|
return BR_IsValidLobby( p_battleRoyaleLobby[ playerid ] );
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user