etqw-sdk/base/script/maps/misctestmaps.script

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");
}
}