-
Notifications
You must be signed in to change notification settings - Fork 22
/
anv_mapfixes.nut
5020 lines (3823 loc) · 216 KB
/
anv_mapfixes.nut
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
printl( "VSCRIPT: Running anv_mapfixes.nut" );
/*****************************************************************************
** This file is RunScriptFile'd on "worldspawn" by mapspawn.nut and its function
** for spawning in the map-specific fixes exists forever in its scope. Fixes
** add or modify entities once per round, unlike mapspawn.nut which only runs
** once per load session. This will be the most-updated file.
**
** Originally a func_orator hack was required to get mapname from the Response
** System with a new "GetQueryData" -- Kerry's C++ updates made all this easy.
*****************************************************************************/
// Deleted super hacky code. Thank you Kerry for making our lives so much better!
/*****************************************************************************
** Game Event "player_connect_full" fires when a player has sent final message
** in connection sequence. Infected ladder VSSM's exist narrowly before this
** so in most cases InfectedLadders_Spawn() will complete instantly, but it's
** still there as backup. Required because some maps like Dead Center 1 fire
** the much-earlier "round_start" before this file has even loaded (and that
** was regardless of mapspawn.nut run order and file sizes)!
**
** A 3-state Boolean ensures only the first "player_connect_full" will spawn
** in that round's entities, which then hands off all subsequent round entity
** spawns to "round_start" -- Infected ladder VSSM's exist forever, as well.
** While possible to spawn in new clips/props instantly, that's incompatible
** with EntFire() on BSP-spawned entities -- of which delays ensure existence.
** Hand-off was tested with spammy events like "player_entered_start_area".
**
** There's minor SourceMod rumors that "player_connect_full" isn't 100% stable
** given various bugged connection states, but it'll always fire for somebody.
** Functions like patch_nav_obscured() rely on "g_UpdateRanOnce == false" to
** only apply NAV changes once (which exist for all rounds) -- it's set "true"
** at the end of this file with a one second delay for RunScriptFile cushion.
** Last line needed as we're not already running as a Mutation in Scripted Mode.
*****************************************************************************/
function OnGameEvent_player_connect_full( params )
{
if ( g_UpdateRanOnce == null )
{
g_UpdateRanOnce = false;
Apply_Quadmode_Map_Specific_Fixes();
}
}
function OnGameEvent_round_start( params )
{
if ( g_UpdateRanOnce == true )
{
Apply_Quadmode_Map_Specific_Fixes();
}
}
__CollectEventCallbacks( this, "OnGameEvent_", "GameEventCallbacks", RegisterScriptGameEventListener );
/*****************************************************************************
** Function that spawns in the map-specific fixes for any Mutation/Base mode.
**
** If highly specific Mutation fixes are to be applied, caution using "break;"
** to ensure we're only patching that Mutation (i.e. VS Survival is "mutation15").
**
** This is run on every "round_start" GameEvent which guarantees map entities
** will have already loaded in allowing for direct AddOutputs to modify logic.
** Elaborate fixes are put in separate files and RunScriptFile'd here.
**
** Note that basemode "coop" does not include "realism", but if base "realism"
** the player experience will always be equivalent to that of Coop -- so check
** for both, and don't worry about "VS Realism" because that's base "versus".
** Resolves issue with Versus-only fixes undesirably existing for Realism Coop.
**
** Speedy code goes in, speedy fix comes out.
*****************************************************************************/
::Apply_Quadmode_Map_Specific_Fixes <- function()
{
// Add reliably-named Survivor and Infected team filters to every map.
// These are deleted if it's a "COMMUNITY" (unknown) map.
SpawnGlobalFilters();
// Fixes requiring new trigger_multiple and trigger_once entity spawns
// are pooled separately. While anv_mapfixes.nut is designed for high
// density with "make_" functions or modifying logic by piggybacking on
// existing I/O, anv_maptrigs.nut houses all lengthy one-off fixes in
// a standalone switch-case. Only console logs if it's a matching map.
EntFire( "worldspawn", "RunScriptFile", "anv_maptrigs" );
// Versus-specific content which only spawns if HasPlayerControlledZombies()
// is true. Includes new Infected ladders and any supporting props i.e. pipes.
// Exclude VS Survival (mutation15) from only overtly obvious new props.
if ( HasPlayerControlledZombies() )
{
EntFire( "worldspawn", "RunScriptFile", "anv_versus" );
// If it's VS Survival (mutation15), delete new props that obstruct
// Survivor movement since their play space is already limited. This
// includes c2m5's hittable dumpsters, c3m3's hittable log, & c10m5's
// LOS blocker props/clips/navblocks and its log/rock hittables.
if ( g_MutaMode == "mutation15" )
{
EntFire( g_UpdateName + "_hittable_dump*", "Kill", null, 0.1 );
EntFire( g_UpdateName + "_hittable_fallentree", "Kill", null, 0.1 );
EntFire( g_UpdateName + "_rock*", "Kill", null, 0.1 );
EntFire( g_UpdateName + "_hittable_log", "Kill", null, 0.1 );
EntFire( g_UpdateName + "_hittable_rock", "Kill", null, 0.1 );
}
}
// Map fixes for Valve.
// Dev Thread: https://steamcommunity.com/app/550/discussions/1/1651043320659915818/
// Fix forklifts so they can start obstructed but still be destroyed.
local forklift = null;
while ( forklift = Entities.FindByModel( forklift, "models/props/cs_assault/forklift.mdl" ) )
{
if ( forklift.IsValid() )
{
NetProps.SetPropInt( forklift, "m_iMinHealthDmg", 400 );
NetProps.SetPropInt( forklift, "m_takedamage", 3 );
}
}
switch( g_MapName )
{
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*==============================
|| ||
|| DEAD CENTER ||
|| ||
==============================*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c1m1_hotel":
{
g_Chapter = "DEAD CENTER - HOTEL";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_cliphang_window", "Survivors", 1, "-72 -123 -12", "127 14 44", "2335 6420 2804" );
make_clip( "_cliphang_ledge", "Survivors", 1, "-450 -8 0", "1130 8 216", "1222 6232 2912" );
make_clip( "_barricadefire_bypass", "Survivors", 1, "-17 -96 -64", "17 96 64", "1326 5624 2528" );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c1m2_streets":
{
g_Chapter = "DEAD CENTER - STREETS";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_mindthegap_lolvalve", "SI Players", 1, "-32 -4 -64", "32 4 64", "-2472 137 64" );
make_clip( "_stuckwarpassist_walltovoid", "SI Players", 1, "-1536 -476 -5", "0 500 0", "-5056 1500 1344" );
make_clip( "_nav_cedaramp_in", "SI Players and AI", 1, "0 -18 -14", "10 21 51", "-4268 2566 75", "-50 -35 0" );
make_clip( "_nav_cedaramp_out", "SI Players and AI", 1, "-95 -20 4", "38 17 11", "-4322 2567 102", "-8 0 0" );
make_clip( "_colastore_clipgap", "Survivors", 1, "-8 -97 0", "8 75 856", "-6792 -3215 616" );
make_clip( "_colastore_clipawn", "Survivors", 1, "-23 -541 1", "41 547 17", "-7017 -1699 599" );
make_clip( "_ladderqol_railing", "SI Players", 1, "-138 -1 -12", "758 4 36", "-2614 2319 300" );
make_clip( "_save4lesscurb_smoother1", "Everyone", 1, "-7 -110 0", "14 113 5", "-6515 -2681 384" );
make_clip( "_save4lesscurb_smoother2", "Everyone", 1, "-7 -127 0", "14 129 5", "-6515 -2302 384" );
make_clip( "_save4lesscurb_smoother3", "Everyone", 1, "-7 -432 0", "9 435 5", "-6899 -1601 384" );
make_clip("_ladderqol_smootherl", "Everyone", 1, "-7 -190 0", "7 190 2", "-6059 -2238 430", "-45 0 0" );
make_clip("_ladderqol_smootherm", "Everyone", 1, "-7 -255 0", "7 118 2", "-6060 -2586 427", "-45 0 0" );
make_clip("_ladderqol_smootherr", "Everyone", 1, "-7 -36 0", "7 77 2", "-6056 -2960 412", "-45 0 0" );
make_clip( "_whitakercurb_smoother1", "Everyone", 1, "-9 -315 0", "15 294 6", "-5525 -2349 448" );
make_clip( "_whitakercurb_smoother2", "Everyone", 1, "-9 -208 0", "15 160 6", "-5525 -1719 448" );
make_clip( "_booster_bridgestairsa", "Survivors", 1, "-4 -84 0", "4 84 700", "-5572 932 768" );
make_clip( "_booster_bridgestairsb", "Survivors", 1, "-56 -8 0", "56 8 700", "-5512 1016 832" );
make_clip( "_booster_building", "Survivors", 1, "-8 -384 0", "8 384 128", "-5064 1408 1344" );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
make_clip( "_booster_mallroof", "Survivors", 1, "0 -130 -377", "2150 136 448", "-9218 -4415 1024" );
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
make_clip( "_tanker_blowfish", "Survivors", 1, "-85 -435 -6", "33 331 791", "-6740 -758 681", "0 328 0" );
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c1m3_mall":
{
g_Chapter = "DEAD CENTER - MALL";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_commonhop_maproom", "Survivors", 1, "-24 -17 0", "100 17 112", "3673 -2517 424" );
make_clip( "_cliprework_skylighta", "Survivors", 1, "-192 -193 -23", "192 191 57", "6464 -2591 559" );
make_clip( "_cliprework_skylightb", "Survivors", 1, "-541 -189 -1", "547 195 32", "4173 -2627 793" );
make_clip( "_cliprework_skylightc", "Survivors", 1, "-194 -544 -1", "190 544 32", "2274 -672 793" );
make_clip( "_cliprework_skylightd", "Survivors", 1, "-1017 -167 0", "1018 149 32", "1465 -3418 794", "0 45 0" );
make_clip( "_permstuck_colddrinks", "Everyone", 1, "-1 -1 -1", "1 1 1", "736 -548 363" );
make_trigduck( "_duckqol_shopliftscanners", "-2 -88 0", "2 64 77", "5247 -2685 280" );
con_comment( "FIX:\tMoved an exposed stairwell hurt trigger down inside a vending machine." );
local hndHurtStairwell = Entities.FindByName( null, "hurt_stairwell" );
if ( SafelyExists( hndHurtStairwell ) )
{
hndHurtStairwell.SetOrigin( Vector( 683.5, -583, 307 ) );
}
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c1m4_atrium":
{
g_Chapter = "DEAD CENTER - ATRIUM";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_booster_storefrontleft", "Survivors", 1, "-900 -16 0", "900 82 36", "-4256 -4464 196" );
make_clip( "_booster_storefrontright", "Survivors", 1, "-169 -32 0", "785 16 36", "-3344 -3280 196" );
make_clip( "_booster_pillarclip", "Survivors", 1, "-18 -32 0", "38 8 362", "-3434 -3533 472", "0 45 0" );
make_clip( "_booster_cedaplastic", "Survivors", 1, "-125 -2 -22", "130 1 186", "-2787 -4193 302" );
make_clip( "_booster_thicklongledge", "Survivors", 1, "-3856 0 -72", "0 81 256", "-2368 -4224 1080" );
make_clip( "_booster_nodrawcorner", "Survivors", 1, "-555 -400 0", "0 400 256", "-5770 -3926 1024", "0 45 0" );
make_clip( "_booster_libertymall", "Survivors", 1, "-18 -257 0", "18 257 500", "-2386 -3840 824" );
make_clip( "_booster_fallbanner", "Survivors", 1, "-1 -81 0", "1 81 256", "-2929 -3889.5 991" );
make_clip( "_booster_bridgeroof", "Survivors", 1, "-345 -110 0", "345 18 512", "-3339 -3857 864", "0 -70.5 0" );
make_clip( "_booster_hardhatsa", "Survivors", 1, "-128 -14 0", "128 14 512", "-3070 -4206 536" );
make_clip( "_booster_hardhatsb", "Survivors", 1, "-42 -14 0", "42 14 512", "-3370 -4206 536" );
make_clip( "_booster_highbalcony", "Survivors", 1, "-260 -162 0", "260 162 520", "-4695 -4336 792" );
make_clip( "_booster_glassbalcony", "Survivors", 1, "-128 -82 0", "128 0 1", "-3688 -4334 791" );
make_clip( "_nav_ladyshoes", "Survivors", 1, "-103 -3 0", "70 3 56", "-4971 -4461 432" );
make_clip( "_collision_atrium", "All and Physics", 1, "-2400 -3200 -2", "2400 3200 0", "-4452 -3208 0" );
make_clip( "_kiosk_qol_1", "Everyone", 1, "-44 -44 -1", "44 44 0", "-3208 -3864 94" );
make_clip( "_kiosk_qol_2a", "Everyone", 1, "-44 -44 -1", "44 44 0", "-4080 -4005 94" );
make_clip( "_kiosk_qol_2b", "Everyone", 1, "-100 -1 -1", "100 1 0", "-4081 -3949 94" );
make_clip( "_kiosk_qol_3a", "Everyone", 1, "-44 -44 -1", "44 44 0", "-4848 -3935 94" );
make_clip( "_kiosk_qol_3b", "Everyone", 1, "-1 -100 -1", "1 100 0", "-4796 -3936 94" );
make_trigduck( "_duckqol_informationbooth", "-96 -8 0", "96 8 64", "-4448 -3865 44" );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*==============================
|| ||
|| DARK CARNIVAL ||
|| ||
==============================*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c2m1_highway":
{
g_Chapter = "DARK CARNIVAL - HIGHWAY";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_permstuck_tanktreea", "Everyone", 1, "-24 -24 -64", "24 24 17", "4096 5123 -938" );
make_clip( "_permstuck_tanktreeb", "Everyone", 1, "-24 -24 -64", "24 24 17", "4067 4930 -913" );
make_clip( "_permstuck_tanktreec", "Everyone", 1, "-24 -24 -64", "24 24 17", "3911 3914 -941" );
make_clip( "_cargocontainer_oob_01", "SI Players", 1, "-32 -464 -376", "32 464 376", "3616 2512 -632" );
make_clip( "_cargocontainer_oob_02", "SI Players", 1, "-32 -192 -48", "32 192 48", "3616 1328 -1744" );
make_clip( "_cargocontainer_oob_03", "SI Players", 1, "-64 -96 -200", "64 96 200", "3136 2595 -1243", "0 0 -42" );
make_clip( "_cargocontainer_dispcrouch", "SI Players", 1, "-388 -16 0", "388 32 484", "3203 1572 -1822", "0 -5 -12" );
make_clip( "_dispcrouch_rocka", "Everyone", 1, "-8 -161 -320", "8 110 240", "1280 2115 -1615", "0 135 0" );
make_clip( "_dispcrouch_rockb", "Everyone", 1, "-140 -8 -320", "160 8 380", "1046 2025 -1615", "0 10 0" );
make_clip( "_dispcrouch_rockc", "Everyone", 1, "-80 -8 -320", "80 8 230", "820 2010 -1611", "0 -14 0" );
make_clip( "_dispcrouch_rockd", "Everyone", 1, "-80 -8 -320", "90 8 216", "686 2100 -1585", "0 -51 0" );
make_clip( "_dispcrouch_rocke", "Everyone", 1, "-99 -8 -320", "84 8 106", "618 2260 -1464", "0 90 0" );
make_clip( "_dispcrouch_swampa", "Everyone", 1, "-132 -8 0", "150 8 101", "2523 1855 -1805", "0 90 0" );
make_clip( "_dispcrouch_swampb", "Everyone", 1, "-100 -8 0", "80 8 101", "2595 1654 -1807", "0 142 0" );
make_clip( "_cliprework_fence", "Survivors", 1, "-70 -480 0", "8 480 640", "-193 -1932 -900" );
make_clip( "_commonhop_barrier", "Survivors", 1, "-210 -2 0", "210 2 690", "365 -1098 -950" );
make_clip( "_commonhop_tree", "Survivors", 1, "-150 -200 0", "200 150 640", "-46 -1242 -900" );
make_clip( "_shoppingcart_roof", "Survivors", 1, "-290 -320 0", "256 264 1024", "-517 -2678 -940" );
make_clip( "_shoppingcart_tarpa", "Survivors", 1, "-51 -222 0", "50 256 711", "-1718 -2783 -967", "0 38 0" );
make_clip( "_shoppingcart_tarpb", "Survivors", 1, "-51 -232 0", "48 258 711", "-1800 -2319 -967", "0 -21 0" );
make_clip( "_shoppingcart_tarpc", "Survivors", 1, "-78 -506 0", "8 518 711", "-1838 -1583 -952", "0 16 0" );
make_clip( "_booster_clipgap", "Survivors", 1, "-20 -20 24", "365 120 700", "3632 5712 -880" );
make_clip( "_shortcut_start_trucka", "Survivors", 1, "-5 -174 0", "96 188 514", "4493 7285 -756", "0 16 0" );
make_clip( "_shortcut_start_truckb", "Survivors", 1, "36 -157 0", "96 76 514", "4388 7285 -756", "0 16 0" );
make_clip( "_shortcut_start_busblu", "Survivors", 1, "-236 -47 0", "251 66 500", "4379 7676 -756", "0 -45 0" );
make_clip( "_shortcut_start_shruba", "Survivors", 1, "-8 -114.5 -17", "8 67 514", "4779 7377 -756", "0 11 0" );
make_clip( "_shortcut_start_shrubb", "Survivors", 1, "-8 -105 -17", "8 71 514", "4669 7457 -756", "0 79 0" );
make_clip( "_shortcut_start_shrubc", "Survivors", 1, "-8 -91 -17", "8 59 514", "4626 7363 -756", "0 193 0" );
make_clip( "_shortcut_start_shrubd", "Survivors", 1, "-8 -105 -17", "8 47 514", "4736 7283 -756", "0 255 0" );
make_clip( "_booster_motelsign", "Survivors", 1, "-105 -13 -71", "132 17 252", "2932 4894 -507" );
make_clip( "_permstuck_startfence", "Everyone", 1, "-147 -34 0", "45 39 1206", "11140 7179 -566", "0 21 0" );
make_clip( "_longbush_booster", "Survivors", 1, "-205 -770 0", "379 1585 111", "4092 3921 -369", "0 -4 0" );
make_clip( "_longbush_undermapa", "SI Players", 1, "-42 -1313 -145", "3 1555 552", "4625 4099 -805" );
make_clip( "_longbush_undermapb", "SI Players", 1, "-174 -5 0", "475 5 822", "4142 2981 -983" );
make_clip( "_clipextend_poolwalla", "Survivors", 1, "-517 -10 0", "517 10 360", "2561 3843 -640" );
make_clip( "_clipextend_poolwallb", "Survivors", 1, "-6 -350 0", "6 350 360", "3067 4200 -640" );
make_clip( "_permstuck_endfence", "Everyone", 1, "-93 -28 0", "53 38 143", "547 -635 -1087", "0 -33 0" );
make_clip( "_clipextend_umbrella1", "Survivors", 1, "-48 -50 0", "50 48 522", "2683 4055 -773" );
make_clip( "_clipextend_umbrella2", "Survivors", 1, "-48 -50 0", "50 48 522", "2483 3989 -773" );
make_clip( "_clipextend_umbrella3", "Survivors", 1, "-48 -52 0", "50 50 522", "2243 4047 -773" );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
con_comment( "KILL:\tShrubwall shortcut unpatched for Coop (popular request)." );
EntFire( g_UpdateName + "_shortcut_start*", "Kill" );
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
make_clip( "_overpass_trucknuke", "Survivors", 1, "-126 -45 0", "-33 45 156", "3467 7102 -704", "0 -14 0" );
make_clip( "_tank_busleft", "Survivors", 1, "-258 -56 0", "271 52 430", "1731 6723 -574", "0 -28 0" );
make_clip( "_tank_busright", "Survivors", 1, "-284 -48 -200", "284 48 200", "1688 7008 -344", "0 22 0" );
make_clip( "_tank_fence", "Survivors", 1, "-780 -14 -130", "780 14 156", "2588 7168 -412" );
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
make_clip( "_survival_midnightride", "Survivors", 1, "-839 -4 0", "448 15 422", "2618 6269 -679" );
make_clip( "_survival_midnightsign", "Survivors", 1, "-190 -155 -37", "190 145 162", "2338 6131 -415" );
make_clip( "_survival_boostshrub", "Survivors", 1, "-24 -208 0", "27 280 112", "3079 6479 -343" );
make_clip( "_survival_fence_extend", "Survivors", 1, "0 -234 0", "77 0 360", "2042 3837 -640" );
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
make_clip( "_scavenge_fence_painthop", "Survivors", 1, "0 -234 -145", "77 0 360", "2042 3837 -640" );
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c2m2_fairgrounds":
{
g_Chapter = "DARK CARNIVAL - FAIRGROUND";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_bunnyhop_roundtable", "Survivors", 1, "-45 -256 0", "100 256 502", "2360 -244 266" );
make_clip( "_booster_unattackable", "Survivors", 1, "-100 -17 0", "700 17 512", "4000 -2304 268" );
make_clip( "_forklift_roof", "Survivors", 1, "-7 -128 0", "10 128 575", "1750 -1660 193" );
make_clip( "_commonhop_whitefence", "Survivors", 1, "-77 -5 0", "77 5 777", "-3903 -1141 -15" );
make_clip( "_commonhop_carouselroofs", "Survivors", 1, "-230 -5 0", "302 1142 666", "-990 -5501 192" );
make_clip( "_void_filler", "Everyone", 1, "-222 0 -125", "222 16 55", "-1792 -7311 250" );
make_clip( "_charger_smoother", "Everyone", 1, "-56 -256 -6", "56 256 6", "-3119 -896 152", "-40 0 0" );
make_clip( "_cliprework_unattackable", "Survivors", 1, "-8 -1009 0", "8 1007 128", "-504 -1535 128" );
make_clip( "_cliprework_beanbinninga", "Survivors", 1, "-8 -961 0", "8 959 128", "-888 -1535 128" );
make_clip( "_cliprework_beanbinningb", "Survivors", 1, "-178 -11 0", "190 5 128", "-702 -2549 128" );
make_clip( "_cliprework_unattackablea", "Survivors", 1, "-23 -1191 0", "29 177 597", "-3405 -6489 204" );
make_clip( "_cliprework_unattackableb", "Survivors", 1, "-178 -24 0", "82 24 597", "-3510 -6336 204" );
make_clip( "_cliprework_unattackablec", "Survivors", 1, "-24 -236 0", "24 304 597", "-3664 -6076 204" );
make_clip( "_cliprework_unattackabled", "Survivors", 1, "-1108 -23 0", "324 21 597", "-4012 -5793 204" );
make_clip( "_cliprework_unattackablee", "Survivors", 1, "-4 -303 0", "4 865 492", "-4352 -5473 272" );
make_clip( "_cliprework_wrongwaya", "Survivors", 1, "-207 -7 0", "218 1 578", "-481 -5505 192" );
make_clip( "_cliprework_wrongwayb", "Survivors", 1, "-8 -866 0", "8 799 578", "-258 -6303 192" );
make_clip( "_cliprework_wrongwayc", "Survivors", 1, "-2113 -10 0", "1219 5 578", "-1471 -7166 192" );
make_clip( "_nav_exitsign", "Survivors", 1, "-8 -11 0", "11 12 120", "1048 -1269 128" );
make_clip( "_cliprework_blockergap", "Survivors", 1, "-121 -8 0", "123 8 384", "-4235 -3968 384" );
make_clip( "_unattackable_traintunnel", "Survivors", 1, "-324 -1040 -171", "220 1040 342", "-604 -1536 428" );
make_clip( "_dispcollision_fairgrounds", "All and Physics", 1, "-1400 -1700 -2", "1400 1700 0", "-1903 -142 -128" );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
make_clip( "_booster_uppertrackb", "Survivors", 1, "-64 -448 -320", "64 448 320", "-1536 -2368 448" );
make_clip( "_booster_uppertracka", "Survivors", 1, "-57 -313 -208.5", "57 313 208.5", "-2721 -825 337" );
make_clip( "_clipextend_carouselboost", "Survivors", 1, "-234 -4 0", "234 4 666", "-1446 -5248 192" );
// Piggyback on Survivor-filtered trigger just beyond the carousel off switch.
con_comment( "LOGIC:\tAnti-boost ToL clips will be deleted by existing trigger after carousel switch." );
make_clip( "_tol_clip_brush_a", "Survivors", 1, "-818 -16 0", "82 599 572", "-3530 -5162 192" );
make_clip( "_tol_clip_brush_b", "Survivors", 1, "-9 -263 0", "488 -1 572", "-3439 -5178 192" );
DoEntFire( "!self", "AddOutput", "OnTrigger anv_mapfixes_tol_clip_brush*:Kill::-1", 0.0, null, Entities.FindByClassnameNearest( "trigger_once", Vector( -2496, -6544, 4 ), 1 ) );
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c2m3_coaster":
{
g_Chapter = "DARK CARNIVAL - COASTER";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_smokerinfamya", "SI Players", 1, "-4000 -80 -1337", "0 1600 0", "-4450 2525 309" );
make_clip( "_smokerinfamyb", "SI Players", 1, "-4000 0 0", "160 1111 1337", "-4450 3005 309" );
make_clip( "_smokerinfamyc", "SI Players", 1, "-4000 -289 0", "0 271 1337", "-5119 2734 309" );
make_clip( "_shortcut_commonhopa", "Survivors", 1, "-10 -10 -64", "10 10 216", "-3720 1144 96" );
make_clip( "_shortcut_commonhopb", "Survivors", 1, "-10 -10 -56", "10 10 232", "-3720 1352 72" );
make_clip( "_shortcut_commonhopc", "Survivors", 1, "-10 -10 -52", "10 10 227", "-3720 1768 77" );
make_clip( "_stuckwarp_gatearm", "Everyone", 1, "-31 -36 -54", "31 36 54", "-3799 1100 82" );
make_clip( "_cliprework_tunnelb", "Survivors", 1, "-777 -110 -108", "82 360 1100", "-3418 3460 652" );
make_clip( "_cliprework_tunnela", "Survivors", 1, "-300 -80 -108", "82 360 1100", "-3902 3021 655" );
make_clip( "_nav_extinguisher", "Survivors", 1, "-16 -4 0", "16 4 44", "-325 4116 244" );
make_clip( "_commonhop_curvedrail", "Survivors", 1, "-5 -120 0", "17 260 25", "-3498 2060 250" );
make_clip( "_cliprework_fourvents", "Survivors", 1, "-223 -1 0", "225 4 64", "239 3676 272" );
make_clip( "_cliprework_semipermstuck", "Everyone", 1, "-20 -50 0", "19 22 32", "-3254 2792 0", "0 -15 0" );
make_clip( "_cliprework_culdesaca", "Survivors", 1, "-95 -4 0", "98 4 206", "-3917 2979 152", "0 25 0" );
make_clip( "_cliprework_culdesacb", "Survivors", 1, "-176 -4 0", "142 4 1603", "-3659 3066 152", "0 15 0" );
make_clip( "_cliprework_culdesacc", "Survivors", 1, "-175 -4 0", "178 4 206", "-3351 3058 152", "0 -15 0" );
make_clip( "_cliprework_culdesacd", "Survivors", 1, "-4 -280 0", "4 106 1387", "-3493 3256 368" );
make_clip( "_shortcut_commonhopd", "Survivors", 1, "-10 -10 -56", "10 10 227", "-3512 1352 77" );
make_clip( "_shortcut_commonhope", "Survivors", 1, "-10 -10 -56", "10 10 227", "-3512 1768 77" );
make_clip( "_shortcut_commonhopf", "Survivors", 1, "-10 -10 -56", "10 10 263", "-3720 1976 57" );
make_clip( "_cliprework_shrubgap", "Survivors", 1, "-112 -80 0", "112 80 286", "-3072 128 152" );
make_clip( "_onewaybreakwall_elecbox", "Everyone", 1, "-64 -4 0", "64 4 236", "-64 3524 100" );
make_clip( "_endbridge_shiftsmoother1", "Everyone", 1, "-1 -42 0", "1 38 2", "-4183 2320 272" );
make_clip( "_endbridge_shiftsmoother2", "Everyone", 1, "-42 -1 0", "38 1 2", "-4729 2277 164" );
make_clip( "_permstuck_irredeemable", "SI Players", 1, "-48 -42 0", "16 94 152", "-2064 -174 0" );
make_clip( "_permstuck_swanroom_rest", "Everyone", 1, "-54 -20 0", "58 29 108", "510 4084 -7" );
make_clip( "_semiperm_coastergate", "Survivors", 1, "-64 -664 0", "64 16 140", "-2784 1688 0" );
make_clip( "_recompilepls_pillar1", "Survivors", 1, "-10 -10 0", "10 10 272", "-3760 2360 0" );
make_clip( "_recompilepls_pillar2", "Survivors", 1, "-10 -10 0", "10 10 272", "-3760 2280 0" );
make_clip( "_recompilepls_pillar3", "Survivors", 1, "-10 -10 0", "10 10 272", "-4032 2280 0" );
make_clip( "_recompilepls_pillar4", "Survivors", 1, "-10 -10 0", "10 10 272", "-4032 2360 0" );
make_clip( "_recompilepls_pillar5", "Survivors", 1, "-10 -10 0", "10 10 272", "-4176 2360 0" );
make_clip( "_recompilepls_pillar6", "Survivors", 1, "-10 -10 0", "10 10 272", "-4176 2280 0" );
make_clip( "_cliprework_permstuck", "Survivors", 1, "-93 -81 -55", "108 47 88", "-3266 3057 413" );
make_clip( "_stuckwarp_swanstairs", "Everyone", 1, "-52 0 0", "143 3 37", "298 4192 43", "-34.5 0 0" );
make_brush( "_permstuck_swanroom_dead", "-54 -20 0", "58 29 108", "510 4084 -7" );
make_trigduck( "_duckqol_swanhole", "-5 -32 -32", "5 32 32", "1348 4096 32" );
make_clip( "_onewayhole_blockclip", "Everyone", 1, "-64 -13 -20", "64 13 28", "336 3777 180", "0 160 0" );
make_prop( "dynamic", "_onewayhole_blockpipe", "models/props_pipes/pipeset08d_128_001a.mdl", "336 3777 180", "0 160 90", "shadow_no" );
//con_comment( "LOGIC:\tBeta Coaster Rubble restored for Campaign and Survival relays." );
//make_prop( "dynamic", "_dynamic_coaster_rubble", "models/rollercoaster/coaster_debris.mdl", "0 0 -8", "0 0 0", "shadow_no", "solid_no" );
//EntFire( "relay_start_onslaught", "AddOutput", "OnTrigger anv_mapfixes_dynamic_coaster_rubble:SetAnimation:debris:6.33:-1" );
//EntFire( "relay_panicevent", "AddOutput", "OnTrigger anv_mapfixes_dynamic_coaster_rubble:SetAnimation:debris:6.33:-1" );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
make_clip( "_shortcut_longjump", "Survivors", 1, "-17 -216 0", "17 216 1580", "-4240 2616 171" );
make_clip( "_shortcut_supports", "Survivors", 1, "-86 -10 -137", "86 10 32", "-3904 2062 96" );
make_clip( "_cliprework_scaffnuke_skipa", "Survivors", 1, "-120 -111 -48", "150 88 310", "-3044 3000 177" );
make_clip( "_cliprework_scaffnuke_skipb", "Survivors", 1, "-90 -211 -48", "82 0 310", "-2788 2760 177" );
make_clip( "_cliprework_scaffnuke_skipc", "Survivors", 1, "-120 -111 -48", "20 -73 1545", "-3044 3000 177" );
make_clip( "_cliprework_scaffnuke_skipd", "Survivors", 1, "-90 -211 -48", "-61 0 1545", "-2788 2760 177" );
make_clip( "_cliprework_roofa", "Survivors", 1, "-108 -224 -320", "108 224 1100", "-3596 1560 640" );
make_clip( "_cliprework_roofb", "Survivors", 1, "-295 -444 -280", "295 444 1100", "-3970 1558 640" );
make_clip( "_cliprework_sign", "Survivors", 1, "-307 -70 0", "307 70 1320", "-3902 2321 431" );
make_clip( "_chargerassist_container", "Survivors", 1, "-207 -62 0", "182 66 832", "-718 590 128" );
make_clip( "_shortcut_commonhopg", "Survivors", 1, "-10 -10 -56", "10 10 103", "-3848 1976 57" );
make_clip( "_shortcut_supportdropa", "Survivors", 1, "-28 -55 0", "35 35 1150", "-3260 2854 576" );
make_clip( "_shortcut_supportdropb", "Survivors", 1, "-28 -216 0", "35 35 1150", "-3300 2810 576" );
make_clip( "_shortcut_finally_done", "Survivors", 1, "-8 -146 0", "0 146 255", "-2894 2609 253", "9 0 0" );
make_clip( "_booster_eventskip1", "Survivors", 1, "-253 -16 -459", "332 23 32", "-3106 3081 960" );
make_clip( "_booster_eventskip2", "Survivors", 1, "-253 -72 -459", "-246 23 32", "-3106 3081 960" );
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c2m4_barns":
{
g_Chapter = "DARK CARNIVAL - BARNS";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_outhouse_saferoof", "Survivors", 1, "-94 -32 0", "94 32 1111", "2608 3920 -88" );
make_clip( "_booster_barnbeam1", "Survivors", 1, "-145 -3 0", "158 5 65", "-2022 -129 32" );
make_clip( "_booster_barnbeam2", "Survivors", 1, "-145 -3 0", "158 5 65", "-2022 -321 32" );
make_clip( "_booster_barnbeam3", "Survivors", 1, "-145 -3 0", "158 5 65", "-1318 63 32" );
make_clip( "_booster_barnbeam4", "Survivors", 1, "-145 -3 0", "158 5 65", "-1318 -129 32" );
make_clip( "_booster_barnbeam5", "Survivors", 1, "-145 -3 0", "158 5 65", "-1318 -321 32" );
make_clip( "_booster_barnbeam6", "Survivors", 1, "-125 -11 0", "138 5 82", "-614 63 32" );
make_clip( "_booster_barnbeam7", "Survivors", 1, "-145 -3 0", "158 5 65", "-614 -129 32" );
make_clip( "_booster_barnbeam8", "Survivors", 1, "-145 -3 0", "158 5 65", "-614 -321 32" );
make_clip( "_nav_eventfenceback", "Survivors", 1, "-8 -159 0", "25 164 1036", "-2266 807 -12", "0 72 0" );
make_clip( "_booster_clipextend", "Survivors", 1, "-38 -67 0", "10 61 668", "646 1995 356" );
make_clip( "_cliprework_finalfence", "Survivors", 1, "-96 -6 0", "120 11 704", "-120 2446 320" );
make_clip( "_booster_lightpole1", "Survivors", 1, "-59 -20 0", "64 18 637", "280 2077 387" );
make_clip( "_booster_lightpole2", "Survivors", 1, "-20 -59 0", "18 64 637", "1 1508 387" );
make_clip( "_booster_lightpole3", "Survivors", 1, "-20 -59 0", "18 64 637", "-226 846 387" );
make_clip( "_booster_lightpole4", "Survivors", 1, "-20 -59 0", "18 64 637", "-483 1508 387" );
make_clip( "_booster_lightpole5", "Survivors", 1, "-20 -59 0", "18 64 637", "-985 1508 387" );
make_clip( "_booster_lightpole6", "Survivors", 1, "-20 -59 0", "18 64 637", "-1765 1508 387" );
make_clip( "_booster_lightpole7", "Survivors", 1, "-20 -59 0", "18 64 637", "-2162 901 387" );
make_clip( "_booster_lightpole8", "Survivors", 1, "-20 -59 0", "18 64 637", "-1198 902 387" );
make_clip( "_booster_dualtents", "Survivors", 1, "-80 -221 0", "59 232 607", "-2993 1146 417" );
make_clip( "_booster_awning", "Survivors", 1, "-17 -16 -34", "274 13 134", "-3119 528 5" );
make_clip( "_booster_elecroof", "Survivors", 1, "-170 -28 0", "182 21 967", "426 2316 57" );
make_clip( "_ladder_askewhedgeshared_base", "Everyone", 1, "-2 -336 0", "4 195 128", "609 1233 -192" );
patch_spawninfront( "-596 2312 -256", "-76 -8 0", "76 8 160" );
patch_spawninfront( "-508 2503 -256", "-8 -51 0", "8 51 160" );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
con_comment( "KILL:\tSafe roof exploit unpatched for Coop (popular request)." );
EntFire( g_UpdateName + "_outhouse_saferoof", "Kill" );
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
make_clip( "_commonhop_generator1", "Survivors", 1, "-35 -16 0", "35 16 50", "-1716 273 -81", "0 0 20" );
make_clip( "_commonhop_generator2", "Everyone", 1, "8 0 0", "58 8 164", "-1660 275 -192", "0 -19 0" );
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
make_clip( "_eventskip_fencehang", "Survivors", 1, "-6 -50 0", "6 50 1072", "398 1990 -48" );
make_clip( "_nav_eventfencea", "Survivors", 1, "-49 -3 0", "48 14 1045", "-2751 749 -21" );
make_clip( "_nav_eventfenceb", "Survivors", 1, "-49 -3 0", "48 14 1045", "-2499 749 -21" );
make_clip( "_ladder_askewhedgeshared_clip", "SI Players and AI", 1, "-3 -279 -7", "3 245 79", "593 1177 -63" );
make_ladder( "_ladder_askewhedgebotr1_cloned_askewhedgebotl", "610 1209.88 -123.984", "0 26 0" );
make_ladder( "_ladder_askewhedgebotr2_cloned_askewhedgebotl", "610 1209.88 -123.984", "0 52 0" );
make_ladder( "_ladder_askewhedgetopl1_cloned_askewhedgetopr", "594 1262 -24", "0 -26 0" );
make_ladder( "_ladder_askewhedgetopl2_cloned_askewhedgetopr", "594 1262 -24", "0 -52 0" );
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c2m5_concert":
{
g_Chapter = "DARK CARNIVAL - CONCERT";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_nav_lightingtrussa", "Survivors", 1, "-11 -506 0", "11 506 65", "-1275 2261 368" );
make_clip( "_nav_lightingtrussd", "Survivors", 1, "-11 -506 0", "11 506 65", "-2060 2261 368" );
make_clip( "_nav_lightingtrussf", "Survivors", 1, "-11 -506 0", "11 506 65", "-2549 2261 368" );
make_clip( "_nav_lightingtrussh", "Survivors", 1, "-11 -506 0", "11.5 506 65", "-3065 2261 368" );
make_clip( "_nav_lightingtrussi", "Survivors", 1, "-11 -506 0", "11.5 506 65", "-3318 2261 368" );
make_clip( "_nav_lightingtrussg", "Survivors", 1, "-11 -506 0", "11.5 506 65", "-2822.5 2261 367.7" );
make_clip( "_nav_lightingtrusse", "Survivors", 1, "-11 -506 0", "11 506 65", "-2296 2261 368" );
make_clip( "_nav_lightingtrussb", "Survivors", 1, "-11 -506 0", "11 506 65", "-1544 2261 368" );
make_clip( "_nav_lightingtrussc", "Survivors", 1, "-11 -506 0", "11 506 65", "-1800 2261 368" );
make_clip( "_permstuck_fence", "Survivors", 1, "-1 -102 0", "4 102 128", "-1110 2274 -112", "0 44 0" );
make_clip( "_cliprework_lastwindow", "Survivors", 1, "-9 -36 -8", "11 35 747", "-3853 2279 280", "0 45 0" );
make_clip( "_nav_duediligence", "Survivors", 1, "-3 -49 0", "5 48 1152", "-997 3049 -128" );
make_clip( "_cliprework_concertlights", "Survivors", 1, "-324 -74 0", "318 73 162", "-2305 3277 140" );
make_clip( "_cliprework_concertposter", "Survivors", 1, "-338 -16 -200", "338 17 98", "-2304 3687 204" );
make_clip( "_cliprework_concertroofio", "Survivors", 1, "-656 -32 -98", "616 515 652", "-2302 3197 352" );
make_clip( "_smoother_windows", "SI Players and AI", 1, "-250 -32 0", "298 32 8", "-609 2387 329", "0 45 30" );
make_clip( "_missing_staircase_clip", "Everyone", 1, "-40 -40 -1", "40 40 40", "-922 1933 173", "0 315 0" );
make_clip( "_booster_lightleft", "Survivors", 1, "-8 -104 0", "8 29 725", "-2472 3148 278" );
make_clip( "_booster_lightright", "Survivors", 1, "-8 -104 0", "8 29 725", "-2152 3148 278" );
//make_clip( "_commentary_replace_01", "Survivors", 1, "-40 -84 -256", "40 84 944", "-1248 3316 80" );
make_clip( "_backstairs_left", "Survivors", 1, "-8 -160 0", "8 160 760", "-4086 2688 264" );
make_clip( "_backstairs_right", "Survivors", 1, "-8 -158 0", "8 197 760", "-951 2073 264", "0 -45 0" );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
make_prop( "dynamic", "_helistuck_caseunique", "models/props_fairgrounds/bass_case.mdl", "-3466 2899 -106", "-15 1 89.73", "shadow_yes" );
make_prop( "dynamic", "_helistuck_casecaster", "models/props_fairgrounds/anvil_case_casters_64.mdl", "-3488 2870 -128", "0 180 0", "shadow_yes" );
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
make_prop( "dynamic", "_helistuck_caseunique", "models/props_fairgrounds/bass_case.mdl", "-3466 2899 -106", "-15 1 89.73", "shadow_yes" );
make_prop( "dynamic", "_helistuck_casecaster", "models/props_fairgrounds/anvil_case_casters_64.mdl", "-3488 2870 -128", "0 180 0", "shadow_yes" );
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*==============================
|| ||
|| SWAMP FEVER ||
|| ||
==============================*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c3m1_plankcountry":
{
g_Chapter = "SWAMP FEVER - PLANK COUNTRY";
devchap( "ALL MODES" );
// FIXES_ALL
make_clip( "_hedge_behindtrains", "Survivors", 1, "-532 -120 0", "800 58 701", "-11078 8237 320" );
make_clip( "_commonhop_crossing", "Survivors", 1, "-99 -260 0", "99 426 691", "-1025 4859 332" );
make_clip( "_clipgap_fence", "Survivors", 1, "-4 -124 -155", "4 124 155", "-11084 7220 428" );
make_clip( "_permstuck_coolingtank", "Everyone", 1, "-62 -58 -56", "21 21 56", "-10754 8610 216" );
make_clip( "_commonhop_coolingtank", "Survivors", 1, "-74 -236 0", "70 156 880", "-6806 7572 144" );
make_clip( "_booster_treetop", "Survivors", 1, "-108 -186 0", "108 174 717", "-5696 7348 247" );
make_clip( "_chargerassist_trainwheel", "Survivors", 1, "-133 -444 -130", "28 131 765", "-12379 8416 259", "0 -19 0" );
make_clip( "_chargerassist_fenceladdy", "Survivors", 1, "-94 0 -41", "88 11 952", "-6248 5650 72" );
make_clip( "_cliprework_garage", "Survivors", 1, "-558 -274 0", "483 270 536", "-11106 10498 488" );
make_clip( "_cliprework_house", "Survivors", 1, "-259 -526 0", "257 530 704", "-11343 7758 320" );
make_clip( "_fallenlog_shrub_survivor", "Survivors", 1, "-182 -383 -99", "27 142 941", "560 9614 83", "0 19 0" );
make_clip( "_fallenlog_shrub_infected", "SI Players and AI", 1, "-182 -383 -99", "27 142 61", "560 9614 83", "0 19 0" );
make_clip( "_chargerassist_commonhop1", "Survivors", 1, "-155 -16 0", "117 5 864", "-7093 6280 160" );
make_clip( "_chargerassist_commonhop2", "Survivors", 1, "-49 -170 0", "63 134 864", "-7093 6452 160", "0 -3 0" );
make_clip( "_booster_powerpole", "Survivors", 1, "-9 -8 0", "9 10 582", "-7630 6718 444" );
patch_ladder( "-6084.5 6272 90", "6 0 0" );
// Tsuey's note: Special thanks to the person who originally complained
// on the Steam Forums that there weren't any gators -- I'm unable to
// re-find your thread. Special thanks to Rise for naming him Fred; we
// can't spell Friend without it. Left4Facts Discord btw. :fred:
make_prop( "dynamic", "_fred", "models/props_fairgrounds/alligator.mdl", "-5274 7386 -19", "0 150 0", "shadow_no", "solid_no" );
// Allow only SI Players to stand on it while maintaining its non-solidity
// because it'd be inhumane for Survivors to put bullet holes on him. Also
// prevents Fred from becoming a godspot.
make_clip( "_fred_collision", "SI Players", 1, "-3.6 -17 0", "3.6 16 3", "-5274 7386 -17", "0 150 0" );
// Incrementally "bites" both Spawned and Ghost SI. Doesn't damage Survivors
// but it's difficult to even reach it without hanging and we dare not move
// him. Does 120 DPS, 60 per hit, or something. It's a trigger_hurt_ghost.
make_trighurt( "_fred_pain_cuddles", "Ghost", "-4 -4 -4", "4 4 4", "-5280 7375 -12" );
EntFire( g_UpdateName + "_fred_pain_cuddles", "SetDamage", 120 );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );
// FIXES
make_clip( "_cliprework_jonesroof", "Survivors", 1, "-276 -296 -396", "276 296 396", "-8304 7216 628" );
break;
}
if ( g_BaseMode == "survival" )
{
devchap( "BASE SURVIVAL" );
// FIXES
make_clip( "_survivalcrit_bayouboost", "Survivors", 1, "-64 -351 0", "-2 321 1045", "-4358 6079 -21" );
make_clip( "_survival_brushextenda", "Survivors", 1, "-674 -60 0", "400 160 717", "-7967 7806 308" );
make_clip( "_survival_brushextendb", "Survivors", 1, "-224 4 0", "236 594 717", "-8832 7232 336" );
make_clip( "_survival_brushextendc", "Survivors", 1, "-289 -16 0", "439 20 717", "-9471 7496 384" );
make_clip( "_nav_pubsign", "Survivors", 1, "-4 -34 0", "4 31 822", "-7264 7167 202" );
make_clip( "_nav_trailertree", "Survivors", 1, "-48 -26 0", "78 36 742", "-7742 7721 287" );
break;
}
if ( g_BaseMode == "scavenge" )
{
devchap( "BASE SCAVENGE" );
// FIXES
break;
}
break;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "c3m2_swamp":
{
g_Chapter = "SWAMP FEVER - SWAMP";
devchap( "ALL MODES" );
// FIXES_ALL
// This map is clipped like a tunnel. No known gamebreaking exploits.
make_clip( "_boat_smoother", "Everyone", 1, "-16 -24 0", "16 24 30", "-7863 5391 -8", "-10 -30 0" );
if ( g_BaseMode == "coop" || g_BaseMode == "realism" )
{
devchap( "BASE COOP" );
// FIXES
break;
}
if ( g_BaseMode == "versus" )
{
devchap( "BASE VERSUS" );