126 lines
3.5 KiB
Plaintext
126 lines
3.5 KiB
Plaintext
|
|
object mapObject_CarryableBoxMap : mapObject_Default {
|
|
void preinit();
|
|
void destroy();
|
|
|
|
void InitObjectives();
|
|
|
|
void CompleteObjective( float index, entity p );
|
|
void OnCarryableItemStolen( string actionName );
|
|
void OnCarryableItemReturned( string actionName );
|
|
|
|
void DeliverPodThread();
|
|
|
|
|
|
entity objective1Arrow1;
|
|
entity objective1Arrow2;
|
|
entity objective2Arrow1;
|
|
entity objective2Arrow2;
|
|
|
|
entity objective1Marker;
|
|
entity objective2Marker;
|
|
|
|
entity carryable1;
|
|
entity carryable2;
|
|
entity carryable3;
|
|
};
|
|
|
|
mapObject_Base Carryable_Box_MapScript() {
|
|
return new mapObject_CarryableBoxMap;
|
|
}
|
|
|
|
void mapObject_CarryableBoxMap::preinit() {
|
|
}
|
|
|
|
void mapObject_CarryableBoxMap::destroy() {
|
|
}
|
|
|
|
void mapObject_CarryableBoxMap::InitObjectives() {
|
|
entity territory = sys.getEntity( "strogg_base_deployzone" );
|
|
territory.setGameTeam( gdfTeam );
|
|
territory.setActive( true );
|
|
territory = sys.getEntity( "strogg_base_deployzone_2" );
|
|
territory.setGameTeam( stroggTeam );
|
|
territory.setActive( true );
|
|
|
|
objective1Marker = sys.getEntity( "info_objective_single" );
|
|
objective1Arrow1 = sys.getEntity( "info_objective_single_progress_1" );
|
|
objective1Arrow2 = sys.getEntity( "info_objective_single_progress_2" );
|
|
|
|
objective2Marker = sys.getEntity( "info_objective_multi" );
|
|
objective2Arrow1 = sys.getEntity( "info_objective_multi_progress_1" );
|
|
objective2Arrow2 = sys.getEntity( "info_objective_multi_progress_2" );
|
|
|
|
objective1Arrow1.vStartObjective();
|
|
objective1Arrow2.vStartObjective();
|
|
|
|
objective1Marker.vStartObjective();
|
|
objective2Marker.vStartObjective();
|
|
|
|
|
|
carryable1 = sys.getEntity( "carryable_item_caller_1" );
|
|
carryable2 = sys.getEntity( "carryable_item_caller_2" );
|
|
carryable3 = sys.getEntity( "carryable_item_caller_3" );
|
|
|
|
gdfTeam.SetRespawnWait( 1 );
|
|
stroggTeam.SetRespawnWait( 1 );
|
|
CreateRespawnTimeThread( gdfTeam );
|
|
|
|
objManager.setNextObjective( gdfTeam, 0 );
|
|
objManager.setNextObjective( stroggTeam, 0 );
|
|
|
|
CompleteObjective( 0, $null_entity );
|
|
}
|
|
|
|
void mapObject_CarryableBoxMap::CompleteObjective( float index, entity p ) {
|
|
sys.println( "mapObject_CarryableBoxMap::CompleteObjective: " + index );
|
|
|
|
if ( index == 0 ) {
|
|
objective1Arrow1.vFinishObjective();
|
|
objective1Arrow2.vFinishObjective();
|
|
objective1Marker.vFinishObjective();
|
|
|
|
objManager.setNextObjective( gdfTeam, 1 );
|
|
objManager.setNextObjective( stroggTeam, 1 );
|
|
|
|
objective2Arrow1.vStartObjective();
|
|
objective2Arrow2.vStartObjective();
|
|
|
|
thread DeliverPodThread();
|
|
}
|
|
|
|
if ( index == 1 ) {
|
|
objective2Arrow1.vFinishObjective();
|
|
objective2Arrow2.vFinishObjective();
|
|
objective2Marker.vFinishObjective();
|
|
|
|
gameRules.setWinningTeam( stroggTeam );
|
|
gameRules.endGame();
|
|
}
|
|
}
|
|
|
|
void mapObject_CarryableBoxMap::DeliverPodThread() {
|
|
sys.threadName( "mapObject_CarryableBoxMap::DeliverPodThread" );
|
|
|
|
// wait before triggering the carryables to come flying in (staggered to look cooler)
|
|
sys.wait( 5.0f );
|
|
carryable1.vOnDeploy();
|
|
sys.wait( 5.0f );
|
|
carryable2.vOnDeploy();
|
|
sys.wait( 5.0f );
|
|
carryable3.vOnDeploy();
|
|
}
|
|
|
|
void mapObject_CarryableBoxMap::OnCarryableItemStolen( string actionName ) {
|
|
|
|
if ( actionName == "maleficus_bot_action_1" ) {
|
|
sys.print("He Stole The Cone!\n");
|
|
}
|
|
}
|
|
|
|
void mapObject_CarryableBoxMap::OnCarryableItemReturned( string actionName ) {
|
|
if ( actionName == "maleficus_bot_action_1" ) {
|
|
sys.print("The Cone Was Returned!\n");
|
|
}
|
|
}
|