Skip to content

Commit 8f80cf1

Browse files
committed
refactor: use function
1 parent 2061450 commit 8f80cf1

File tree

1 file changed

+40
-108
lines changed

1 file changed

+40
-108
lines changed

scripts/vscripts/speedrunmod_coop.nut

Lines changed: 40 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,14 @@ local SpeedUpGel = function()
193193
}
194194
}
195195

196+
local OpenEndDoor = function() {
197+
EntFire("team_door-relay_orange_out", "kill");
198+
EntFire("team_door-relay_blue_out", "kill");
199+
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
200+
EntFire("@exit_door", "open");
201+
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)");
202+
}
203+
196204
//-----------------------------------------------------------------------------
197205
// Purpose: Attempt to filter out the correct map-specific code.
198206
//-----------------------------------------------------------------------------
@@ -462,20 +470,12 @@ else if ( pszMapName == "mp_coop_lobby_2" || pszMapName == "mp_coop_lobby_3" )
462470
else if (pszMapName == "mp_coop_doors")
463471
{
464472
// Start ending door open
465-
EntFire("team_door-relay_orange_out", "Kill")
466-
EntFire("team_door-relay_blue_out", "Kill")
467-
EntFire("team_door-exit_door-trigger_glados_exit_door", "Kill");
468-
EntFire("@exit_door", "Open")
469-
EntFire("team_door-coopman_airlock_success", "AddOutput", "OnChangeToAllTrue @glados:RunScriptCode:GladosCoopOpenExitDoor(1)")
473+
OpenEndDoor();
470474
}
471475
else if (pszMapName == "mp_coop_laser_2")
472476
{
473477
// Start ending door open
474-
EntFire("team_door-relay_orange_out", "Kill")
475-
EntFire("team_door-relay_blue_out", "Kill")
476-
EntFire("team_door-exit_door-trigger_glados_exit_door", "Kill");
477-
EntFire("@exit_door", "Open")
478-
EntFire("team_door-coopman_airlock_success", "AddOutput", "OnChangeToAllTrue @glados:RunScriptCode:GladosCoopOpenExitDoor(1)")
478+
OpenEndDoor();
479479
}
480480
else if ( pszMapName == "mp_coop_laser_crusher" )
481481
{
@@ -497,11 +497,7 @@ else if ( pszMapName == "mp_coop_laser_crusher" )
497497
EntFireByHandle( pLaserCatcher, "AddOutput", "OnUnPowered crasher2:SetSpeed:30", 0, null, null );
498498
}
499499
// Start ending door open
500-
EntFire("team_door-relay_orange_out", "Kill")
501-
EntFire("team_door-relay_blue_out", "Kill")
502-
EntFire("team_door-exit_door-trigger_glados_exit_door", "Kill");
503-
EntFire("@exit_door", "Open")
504-
EntFire("team_door-coopman_airlock_success", "AddOutput", "OnChangeToAllTrue @glados:RunScriptCode:GladosCoopOpenExitDoor(1)")
500+
OpenEndDoor();
505501
EntFire("team_door-exit_door-trigger_glados_exit_door", "Kill");
506502
}
507503
else if ( pszMapName == "mp_coop_rat_maze" )
@@ -528,12 +524,8 @@ else if ( pszMapName == "mp_coop_infinifling_train" )
528524
local buttonTrigger = Entities.FindByClassnameNearest("trigger_once", Vector(896, -1856, 576), 10)
529525
EntFireByHandle(buttonTrigger, "Kill", "", 2, null, null)
530526

531-
//End Door starts open without dialogue trigger + dialogue is triggered once the people have been at the ending trigger
532-
EntFire("team_door-relay_orange_out", "Kill")
533-
EntFire("team_door-relay_blue_out", "Kill")
534-
EntFire("team_door-exit_door-trigger_glados_exit_door", "Kill");
535-
EntFire("@exit_door", "Open")
536-
EntFire("team_door-coopman_airlock_success", "AddOutput", "OnChangeToAllTrue @glados:RunScriptCode:GladosCoopOpenExitDoor(1)")
527+
// Start ending door open
528+
OpenEndDoor();
537529
}
538530
else if ( pszMapName == "mp_coop_catapult_1" )
539531
{
@@ -544,12 +536,8 @@ else if ( pszMapName == "mp_coop_catapult_1" )
544536
EntFire( "@relay_exit_door_opened", "AddOutput", "OnTrigger @command:Command:mp_earn_taunt robotDance 1;" );
545537
EntFire( "@relay_exit_door_opened", "AddOutput", "OnTrigger @glados:RunScriptCode:RespondToTaunt(5)" );
546538

547-
//Start ending door open
548-
EntFire("team_door-relay_orange_out", "Kill")
549-
EntFire("team_door-relay_blue_out", "Kill")
550-
EntFire("team_door-exit_door-trigger_glados_exit_door", "Kill");
551-
EntFire("@exit_door", "Open")
552-
EntFire("team_door-coopman_airlock_success", "AddOutput", "OnChangeToAllTrue @glados:RunScriptCode:GladosCoopOpenExitDoor(1)")
539+
// Start ending door open
540+
OpenEndDoor();
553541
}
554542
else if ( pszMapName == "mp_coop_multifling_1" )
555543
{
@@ -564,11 +552,7 @@ else if ( pszMapName == "mp_coop_multifling_1" )
564552
else if ( pszMapName == "mp_coop_fling_crushers")
565553
{
566554
// Start ending door open
567-
EntFire("team_door-relay_orange_out", "Kill")
568-
EntFire("team_door-relay_blue_out", "Kill")
569-
EntFire("team_door-exit_door-trigger_glados_exit_door", "Kill");
570-
EntFire("@exit_door", "Open")
571-
EntFire("team_door-coopman_airlock_success", "AddOutput", "OnChangeToAllTrue @glados:RunScriptCode:GladosCoopOpenExitDoor(1)")
555+
OpenEndDoor();
572556
}
573557
else if ( pszMapName == "mp_coop_fan" )
574558
{
@@ -583,47 +567,27 @@ else if ( pszMapName == "mp_coop_fan" )
583567
else if (pszMapName == "mp_coop_wall_2")
584568
{
585569
// Start ending door open
586-
EntFire("team_door-relay_orange_out", "Kill")
587-
EntFire("team_door-relay_blue_out", "Kill")
588-
EntFire("team_door-exit_door-trigger_glados_exit_door", "Kill");
589-
EntFire("@exit_door", "Open")
590-
EntFire("team_door-coopman_airlock_success", "AddOutput", "OnChangeToAllTrue @glados:RunScriptCode:GladosCoopOpenExitDoor(1)")
570+
OpenEndDoor();
591571
}
592572
else if (pszMapName == "mp_coop_catapult_wall_intro")
593573
{
594574
// Start ending door open
595-
EntFire("team_door-relay_orange_out", "Kill")
596-
EntFire("team_door-relay_blue_out", "Kill")
597-
EntFire("team_door-exit_door-trigger_glados_exit_door", "Kill");
598-
EntFire("@exit_door", "Open")
599-
EntFire("team_door-coopman_airlock_success", "AddOutput", "OnChangeToAllTrue @glados:RunScriptCode:GladosCoopOpenExitDoor(1)")
575+
OpenEndDoor();
600576
}
601577
else if (pszMapName == "mp_coop_wall_block")
602578
{
603-
// start ending door open
604-
EntFire("team_door-relay_orange_out", "kill")
605-
EntFire("team_door-relay_blue_out", "kill")
606-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
607-
EntFire("@exit_door", "open")
608-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
579+
// Start ending door open
580+
OpenEndDoor();
609581
}
610582
else if (pszMapName == "mp_coop_catapult_2")
611583
{
612-
// start ending door open
613-
EntFire("team_door-relay_orange_out", "kill")
614-
EntFire("team_door-relay_blue_out", "kill")
615-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
616-
EntFire("@exit_door", "open")
617-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
584+
// Start ending door open
585+
OpenEndDoor();
618586
}
619587
else if (pszMapName == "mp_coop_turret_ball")
620588
{
621-
// start ending door open
622-
EntFire("team_door-relay_orange_out", "kill")
623-
EntFire("team_door-relay_blue_out", "kill")
624-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
625-
EntFire("@exit_door", "open")
626-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
589+
// Start ending door open
590+
OpenEndDoor();
627591
}
628592
else if ( pszMapName == "mp_coop_wall_5" )
629593
{
@@ -661,24 +625,16 @@ else if ( pszMapName == "mp_coop_tbeam_drill" )
661625
}
662626
else if ( pszMapName == "mp_coop_tbeam_catch_grind_1" )
663627
{
664-
// start ending door open
665-
EntFire("team_door-relay_orange_out", "kill")
666-
EntFire("team_door-relay_blue_out", "kill")
667-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
668-
EntFire("@exit_door", "open")
669-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
628+
// Start ending door open
629+
OpenEndDoor();
670630

671631
// Make tractor beam faster.
672632
EntFire( "tractorbeam_emitter", "SetLinearForce", "500" );
673633
}
674634
else if ( pszMapName == "mp_coop_tbeam_laser_1" )
675635
{
676-
// start ending door open
677-
EntFire("team_door-relay_orange_out", "kill")
678-
EntFire("team_door-relay_blue_out", "kill")
679-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
680-
EntFire("@exit_door", "open")
681-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
636+
// Start ending door open
637+
OpenEndDoor();
682638

683639
// Prevent taunt at start of map, but also trigger the dialogue at the right time and conditions.
684640
Entities.FindByName( null, "@relay_grant_taunt" ).Destroy();
@@ -688,12 +644,8 @@ else if ( pszMapName == "mp_coop_tbeam_laser_1" )
688644
}
689645
else if ( pszMapName == "mp_coop_tbeam_polarity" )
690646
{
691-
// start ending door open
692-
EntFire("team_door-relay_orange_out", "kill")
693-
EntFire("team_door-relay_blue_out", "kill")
694-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
695-
EntFire("@exit_door", "open")
696-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
647+
// Start ending door open
648+
OpenEndDoor();
697649

698650
// Make tractor beam faster.
699651
EntFire( "tbeam", "SetLinearForce", "600" );
@@ -706,21 +658,13 @@ else if ( pszMapName == "mp_coop_tbeam_polarity" )
706658
}
707659
else if (pszMapName == "mp_coop_tbeam_polarity2")
708660
{
709-
// start ending door open
710-
EntFire("team_door-relay_orange_out", "kill")
711-
EntFire("team_door-relay_blue_out", "kill")
712-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
713-
EntFire("@exit_door", "open")
714-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
661+
// Start ending door open
662+
OpenEndDoor();
715663
}
716664
else if ( pszMapName == "mp_coop_tbeam_polarity3" )
717665
{
718-
// start ending door open
719-
EntFire("team_door-relay_orange_out", "kill")
720-
EntFire("team_door-relay_blue_out", "kill")
721-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
722-
EntFire("@exit_door", "open")
723-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
666+
// Start ending door open
667+
OpenEndDoor();
724668

725669
// Make tractor beam faster.
726670
EntFire( "tbeam", "SetLinearForce", "600",1.3 );
@@ -897,12 +841,8 @@ else if ( pszMapName == "mp_coop_paint_longjump_intro" )
897841
}
898842
else if ( pszMapName == "mp_coop_tripleaxis" )
899843
{
900-
// start ending door open
901-
EntFire("team_door-relay_orange_out", "kill")
902-
EntFire("team_door-relay_blue_out", "kill")
903-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
904-
EntFire("@exit_door", "open")
905-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
844+
// Start ending door open
845+
OpenEndDoor();
906846

907847
// Make crusher trigger faster.
908848
Entities.FindByName( null, "crusher_sequence_start_rl" ).Destroy();
@@ -997,21 +937,13 @@ else if ( pszMapName == "mp_coop_paint_conversion" )
997937
}
998938
else if (pszMapName == "mp_coop_bridge_catch")
999939
{
1000-
// start ending door open
1001-
EntFire("team_door-relay_orange_out", "kill")
1002-
EntFire("team_door-relay_blue_out", "kill")
1003-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
1004-
EntFire("@exit_door", "open")
1005-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
940+
// Start ending door open
941+
OpenEndDoor();
1006942
}
1007943
else if ( pszMapName == "mp_coop_laser_tbeam" )
1008944
{
1009-
// start ending door open
1010-
EntFire("team_door-relay_orange_out", "kill")
1011-
EntFire("team_door-relay_blue_out", "kill")
1012-
EntFire("team_door-exit_door-trigger_glados_exit_door", "kill");
1013-
EntFire("@exit_door", "open")
1014-
EntFire("team_door-coopman_airlock_success", "addoutput", "onchangetoalltrue @glados:runscriptcode:gladoscoopopenexitdoor(1)")
945+
// Start ending door open
946+
OpenEndDoor();
1015947

1016948
// Make tractor beam faster. (Hack: There's no real good way to do it for this map...)
1017949
Entities.FindByName( null, "tbeam" ).__KeyValueFromString( "targetname", "tbeam_renamed" );

0 commit comments

Comments
 (0)