Template:PatchDiff/October 4, 2011 Patch/portal2 dlc1/scripts/vscripts/credits/credits coop.nut
Jump to navigation
Jump to search
N/A1// this checks the "developer" level, will have no effct if changed manually
N/A2DBG <- 0
N/A3
N/A4DO_CREDITS <- 0
N/A5
N/A6// blanks are not sent to the server and aren't printed in the screen. They just produce blank conveyor belt and act as a PAUSE
N/A7BLANK <- " "
N/A8// SPACES are sent to the server to be printed on the screen
N/A9SPACE <- " "
N/A10
N/A11// "Flavor" items. These won't print anything to the screen
N/A12TURRET <- "(.)"
N/A13TURRET_S <- ":.:"
N/A14CUBE <- "[=]"
N/A15MONSTER <- "[(.)]"
N/A16BLUE <- "( o )"
N/A17ORANGE <- "|o|"
N/A18BIRD <- "**B**"
N/A20PERSPEHERE <- "*@OOOO@*"
N/A21TURRETBACK <- "((BACK))"
N/A22TURRETWIFE <- "((WIFE))"
N/A24
N/A25// these items have a special conveyor item associated with them
N/A26VOICESTITLE <- "[_____________________Voices ___________________]"
N/A27GLADOS <- "[ GlaDOS / Turrets ] : Ellen McLain"
N/A28WHEATLEY <- "[ Wheatley ] : Stephen Merchant"
N/A29CAVE <- "[ Cave Johnson ] : J.K. Simmons"
N/A30ANNOUNCER <- "[ Announcer ] : Joe Michaels"
N/A31CCORESTUR <- "[ Cores / Defective Turrets ] : Nolan North"
N/A32BOTSHUG <- "[ Atlas / P-Body ] : Dee Bradley Baker"
N/A33//////////
N/A34CHELL <- "[ Face model for Chell ] : Alesia Glidewell"
N/A35STILLALIVE <- "[ 'Still Alive' by ] : Jonathan Coulton"
N/A36GONE <- "[ 'Want You Gone' by ] : Jonathan Coulton"
N/A37VILIFY <- "[ 'Exile Vilify' by ] : The National"
N/A38VOICERECORD <- "[ Voice Recording ] : Pure Audio, Seattle, WA"
N/A39TRANSLATIONS <- "[ Translations ] : SDL"
N/A40/////////////////////
N/A41SPECIALTHANKS <- "[ Special thanks to ]"
N/A42
N/A43// when we hit this, credits will end
N/A44ENDING <- "<CREDITS END>"
N/A45// when we hit this, this is the end of the humans
N/A46ENDOFHUMANS <- "<ENDOFHUMANS>"
N/A47
N/A48// when we hit this, don't play anymore glados lines to clear her for final line
N/A49ENDOFHUMANSPREP <- "<ENDOFHUMANSPREP>"
N/A50
N/A51
N/A52// this is the state of the credits that we start in, it brings the name from the left and scrolls it down
N/A53STATE_NAMES <- "----NAMES"
N/A54
N/A55// this specifies to stop doing the "scanning" name stuff and just do a block of text
N/A56// we have a total of 10 lines to show on screen at once
N/A57STATE_TEXTBLOCK <- "----TEXT"
N/A58
N/A59//0=blank
N/A60//1=female
N/A61//2=male
N/A62//3=bluebot
N/A63//4=orangebot
N/A64//5=turretnormal
N/A65//6=terminatorturret
N/A66//7=cube
N/A67//8=monstercube
N/A68//9=bird on cube
N/A69//10=companion cube
N/A70//11= 3 corrupt cores
N/A71//12= turret backwards
N/A72//13= turret wife
N/A73//14= turret boxes
N/A74
N/A75//16= SPACE
N/A76//17= (VOICE) Wheatley
N/A77//18= RADIO SONG (still alive)
N/A78//19= computer
N/A79//20= computer2
N/A80//21= chell
N/A81//22= (VOICE) Cave portrait
N/A82//23= (VOICE) corrupt cores and defective turret
N/A83//24= (VOICE) glados
N/A84//25= (VOICE) Bots hugging
N/A85//26= RADIO SONG2 (gone)
N/A86//27= RADIO SONG3 (vilify)
N/A87
N/A88// glados talking stuff
N/A89GladosRndStart <-0
N/A90GladosRndStart = RandomInt(1,5)
N/A91GladosTempCounter <-0
N/A92GladosInterval <- 0
N/A93GladosCounter <-0
N/A94CreditTimer <- 0
N/A95
N/A96NAME_TIME_INTERVAL <- 0.85
N/A97BLOCKTEXT_TIME_INTERVAL <- 1.65
N/A98// how often the conveyor spawns a new item
N/A99TIME_INTERVAL <- NAME_TIME_INTERVAL
N/A100
N/A101m_nLastNameTime <- 0.0
N/A102m_nNameIndex <- -1
N/A103m_nVGUIIndex <- -1
N/A104m_nTotalNameCount <- -1
N/A105m_bCreditsFinished <- false
N/A106
N/A107m_nCreditsState <- 0
N/A108m_nStateChangeIn <- 0
N/A109m_nStateChangeTo <- 0
N/A110EndofEmployees <- 0
N/A111
N/A112CreditsList<- [
N/A113 BLANK,
N/A114 BLANK,
N/A115 BLANK,
N/A116/////////////////////////////
N/A117// TESTING AREA BELOW
N/A118////////////////////////////
N/A119//
N/A120/////////////////////////////
N/A121// TESTING AREA ABOVE
N/A122////////////////////////////
N/A123 "Aaron Barber",
N/A124 "Aaron Halifax",
N/A125 "Aaron Kearly",
N/A126 "Aaron Nicholls",
N/A127 "Aaron Seeler",
N/A128 "Adam Foster",
N/A129 "Adrian Finol",
N/A130 "Adrian Johnston",
N/A131 TURRET,
N/A132 "Al Farnsworth",
N/A133 "Alden Kroll",
N/A134 "Alex Vlachos",
N/A135 "Alexander Mark",
N/A136 "Alfred Reynolds",
N/A137 "Alireza Razmpoosh",
N/A138 "Amanda Beste",
N/A139 "Andrea Wicklund",
N/A140 "Andrew Burke",
N/A141 "Andrew Kim",
N/A142 CUBE,
N/A143 "Andrew Loomer",
N/A144 "Andrew Wolf",
N/A145 "Andy Nisbet",
N/A146 "Anna Sweet",
N/A147 "Antoine Bourdon",
N/A148 "Antonello Maddalena",
N/A149 "Ariel Diaz",
N/A150 "Arsenio N. Navarro II",
N/A151 "Augusta Butlin",
N/A152 "Bay Raitt",
N/A153 ORANGE,
N/A154 "Bill Fletcher",
N/A155 "Bill Van Buren",
N/A156 "Brandon Idol",
N/A157 "Brandon Reinhart",
N/A158 "Brett English",
N/A159 "Brian Jacobson",
N/A160 "Bronwen Grimes",
N/A161 "Bruce Dawson",
N/A162 "Burton Johnsey",
N/A163 "Caleb Benefiel",
N/A164 "Caroline Mller",
N/A165 TURRET_S,
N/A166 "Cayle George",
N/A167 "Chad Weaver",
N/A168 "Chandler Murch",
N/A169 "Charlie Brown",
N/A170 "Charlie Burgin",
N/A171 "Chet Faliszek",
N/A172 "Chris Carollo",
N/A173 "Chris Chin",
N/A174 "Chris Douglass",
N/A175 "Chris Green",
N/A176 "Chris Grinstead",
N/A177 "Chris Shambaugh",
N/A178 "Chris Welch",
N/A179 "Christen Coomer",
N/A180 "Christian Rivers",
N/A181 "Christopher Boyd",
N/A182 "Christine Phelan",
N/A183 "Connor Malone",
N/A184 "Corey Peters",
N/A185 "Dan Berger",
N/A186 CUBE,
N/A187 "Danika Wright",
N/A188 "Dario Casali",
N/A189 "Dave Feise",
N/A190 "Dave Riller",
N/A191 "Dave Saunders",
N/A192 "David Kircher",
N/A193 "David Sawyer",
N/A194 "David Speyrer",
N/A195 "Derek Zumsteg",
N/A196 "Derrick Birum",
N/A197 "Derrick Gennrich",
N/A198 "Dhabih Eng",
N/A199 "Dina Nelson",
N/A200 "DJ Powers",
N/A201 "Don Holden",
N/A202 BLUE,
N/A203 "Doug Church",
N/A204 "Doug Lombardi",
N/A205 "Doug Valente",
N/A206 "Doug Wood",
N/A207 "Elan Ruskin",
N/A208 "Elizabeth Andrade",
N/A209 "Emily Kent",
N/A210 "Eric Hope",
N/A211 "Eric Kirchmer",
N/A212 "Eric Smith",
N/A213 "Eric Strand",
N/A214 "Eric Tams",
N/A215 "Eric Wanless",
N/A216 "Erik Johnson",
N/A217 "Erik Robson",
N/A218 "Erik Wolpaw",
N/A219 "Fletcher Dunn",
N/A220 "Florent Schiffer",
N/A221 PERSPEHERE,
N/A222 "Gabe Newell",
N/A223 "Gabe Van Engel",
N/A224 "Garret Rickey",
N/A225 "Gary McTaggart",
N/A226 "Gautam Babbar",
N/A227 "Gray Horsfield",
N/A228 "Greg Coomer",
N/A229 "Greg Towner",
N/A230 "Gregory Sedgwick",
N/A231 "Grgoire Cherlin",
N/A232 "Hamish McKenzie",
N/A233 "Heather Campbell",
N/A234 "Henry Goffin",
N/A235 "Ido Magal",
N/A236 TURRETBACK,
N/A237 "Iestyn Bleasdale-Shepherd",
N/A238 "Iikka Kernen",
N/A239 "Isabelle Lemay",
N/A240 "Ivan Simoncini",
N/A241 "Jacob J. Smith",
N/A242 "Jakob Jungels",
N/A243 "James Shin",
N/A244 "Jane Lo",
N/A245 "Jared Christen",
N/A246 "Jason Brashill",
N/A247 "Jason Holtman",
N/A248 "Jason Mitchell",
N/A249 "Jason Ruymen",
N/A250 "Jay Pinkerton",
N/A251 "Jay Stelly",
N/A252 "Jeep Barnett",
N/A253 "Jeff Ballinger",
N/A254 "Jeff Brown",
N/A255 "Jeff Hameluck",
N/A256 "Jeff Lane",
N/A257 "Jeff Lind",
N/A258 "Jeff Sorensen",
N/A259 "Jeff Unay",
N/A260 "Jenny Stendahl",
N/A261 "Jeremy Bennett",
N/A262 "Jess Cliffe",
N/A263 TURRET_S,
N/A264 "Jim Hughes",
N/A265 "Jim Murray",
N/A266 "Jinwoo Lee",
N/A267 "Joe Demers",
N/A268 "Joe Han",
N/A269 "Joe Ludwig",
N/A270 "Joe Rohde",
N/A271 "Joel Shoop",
N/A272 "John Bartkiw",
N/A273 "John Cook",
N/A274 COMPCUBE,
N/A275 "John Guthrie",
N/A276 "John McCaskey",
N/A277 "John Morello II",
N/A278 "Jon Lippincott",
N/A279 "Jonathan Sutton",
N/A280 "Joshua Weier",
N/A281 "Justin Lesamiz",
N/A282 "Justin Skinner",
N/A283 "Karen Prell",
N/A284 "Karl Whinnie",
N/A285 "Keith Huggins",
N/A286 "Keith Lango",
N/A287 "Kelly Thornton",
N/A288 "Ken Banks",
N/A289 "Ken Birdwell",
N/A290 "Kerry Davis",
N/A291 ORANGE,
N/A292 "Kristopher Katz",
N/A293 "Kurtis Chinn",
N/A294 "Kutta Srinivasan",
N/A295 "Kyle Davis",
N/A296 "Kyle Monroe",
N/A297 "Lars Jensvold",
N/A298 "Laura Dubuk",
N/A299 "Laure Lacascade",
N/A300 "Liam Lavery",
N/A301 "Lindsay Randall",
N/A302 "Liz Cambridge",
N/A303 "Marc Laidlaw",
N/A304 "Marc Nagel",
N/A305 "Marc Scaparro",
N/A306 "Marcus Egan",
N/A307 "Mark Behm",
N/A308 "Mark Richardson",
N/A309 "Martin Otten",
N/A310 "Matt Boone",
N/A311 "Matt Campbell",
N/A312 "Matt Charlesworth",
N/A313 "Matt Logue",
N/A314 "Matt Nickerson",
N/A315 "Matt Pritchard",
N/A316 "Matt Rhoten",
N/A317 "Matt T. Wood",
N/A318 "Matt Wright",
N/A319 "Matthew An",
N/A320 "Matthew Russell",
N/A321 TURRETWIFE,
N/A322 "Matthew Scott",
N/A323 "Max Aristov",
N/A324 "Mellissa Stanfield",
N/A325 "Michael Abrash",
N/A326 "Michael Avon Oeming",
N/A327 "Michael Booth",
N/A328 "Michael Coupland",
N/A329 "Michael Marcus",
N/A330 "Michael Sartain",
N/A331 "Mike Ambinder",
N/A332 "Mike Belzer",
N/A333 "Mike Blaszczak",
N/A334 "Mike Dunkle",
N/A335 "Mike Durand",
N/A336 "Mike Morasky",
N/A337 "Mike Stevens",
N/A338 "Miles Estes",
N/A339 "Milton Ngan",
N/A340 MONSTER,
N/A341 "Nate Heller",
N/A342 "Neil Kaethler",
N/A343 "Nick Maggiore",
N/A344 "Noel McGinn",
N/A345 "Olivier Nallet",
N/A346 "Patrick McClard",
N/A347 "Paul Graham",
N/A348 "Paul G. Thuriot",
N/A349 "Peter Konig",
N/A350 "Phil Co",
N/A351 "Phillip Saltzman",
N/A352 "Pieter Wycoff",
N/A353 BLUE,
N/A354 "Pongthep Bank Charnchaichujit",
N/A355 "Quintin Doroquez",
N/A356 "Randy Lundeen",
N/A357 "Ray Ueno",
N/A358 "Realm Lovejoy",
N/A359 "Reuben Fries",
N/A360 "Ricardo Ariza",
N/A361 "Rich Geldreich",
N/A362 "Rich Kaethler",
N/A363 "Richard Lord",
N/A364 "Rick Johnson",
N/A365 "Robin Walker",
N/A366 "Roger Lundeen",
N/A367 "Romy Hatfield",
N/A368 "Ryan Thorlakson",
N/A369 "Scott Dalton",
N/A370 "Scott Ludwig",
N/A371 TURRETBOX,
N/A372 "Scott Lynch",
N/A373 "Sergiy Migdalskiy",
N/A374 "Shanon Drone",
N/A375 "Shawn Zabecki",
N/A376 "Stefan Landvogt",
N/A377 "Stephane Gaudette",
N/A378 "Steve Bond",
N/A379 "Steve Kalning",
N/A380 "Taylor Sherman",
N/A381 "Ted Backman",
N/A382 "Ted Kosmatka",
N/A383 "Ted Rivera",
N/A384 "Tejeev Kohli",
N/A385 PERSPEHERE,
N/A386 "Thad Wharton",
N/A387 "Thorsten Scheuermann",
N/A388 "Tim Larkin",
N/A389 "Tobin Buttram",
N/A390 "Tom Bui",
N/A391 "Tom Leonard",
N/A392 "Torsten Zabka",
N/A393 "Tristan Reidford",
N/A394 ENDOFHUMANSPREP,
N/A395 "Viktoria Dillon",
N/A396 "Vitaliy Genkin",
N/A397 "Wade Schin",
N/A398 "William Bacon",
N/A399 TURRET,
N/A400 "Yahn Bernier",
N/A401 "Yasser Malaika",
N/A402 "Zach Eller",
N/A403 "Zachary Franks",
N/A404 "Zoid Kirsch",
N/A405 ENDOFHUMANS,
N/A406 BLANK,
N/A407 //////////////////////////////////////////////////
N/A408 BLANK,
N/A409 BIRD,
N/A410 STATE_TEXTBLOCK, // this switches modes to use a block of text from top to botom
N/A411 VOICESTITLE,
N/A412 GLADOS,
N/A413 WHEATLEY,
N/A414 CAVE,
N/A415 ANNOUNCER,
N/A416 CCORESTUR,
N/A417 BOTSHUG,
N/A418 BLANK,
N/A419 BLANK,
N/A420 BLANK,
N/A421 STATE_TEXTBLOCK, // this switches modes to use a block of text from top to botom
N/A422 MONSTER,
N/A423 SPACE,
N/A424 CHELL,
N/A425 VILIFY,
N/A426 STILLALIVE,
N/A427 GONE,
N/A428 VOICERECORD,
N/A429 TRANSLATIONS,
N/A430 BLANK,
N/A431 BLANK,
N/A432 BLANK,
N/A433 STATE_TEXTBLOCK,
N/A434 SPECIALTHANKS,
N/A435 "Alienware" ,
N/A436 "ATI" ,
N/A437 "Dell" ,
N/A438 "Falcon Northwest" ,
N/A439 "Havok",
N/A440 "Sam Gray",
N/A441 "Jamie Hunsdale",
N/A442 "Photo credit of Earth: NASA",
N/A443 BLANK,
N/A444 BLANK,
N/A445 BLANK,
N/A446 STATE_TEXTBLOCK,
N/A447 SPACE,
N/A448 "[ THANK YOU ]",
N/A449 "[ FOR PARTICIPATING ]",
N/A450 "[ IN THIS ]",
N/A451 "[ ENRICHMENT CENTER ]",
N/A452 "[ ACTIVITY!! ]",
N/A453 BLANK,
N/A454 ENDING,
N/A455]
N/A456
N/A457function CreditsThink()
N/A458{
N/A459 DBG = GetDeveloperLevel()
N/A460
N/A461 if ( DO_CREDITS == 0 || m_bCreditsFinished == true )
N/A462 {
N/A463 return
N/A464 }
N/A465
N/A466 if ( m_nNameIndex >= m_nTotalNameCount )
N/A467 {
N/A468 // the credits are over!!
N/A469 EndCredits()
N/A470 return
N/A471 }
N/A472
N/A473 if ( m_nLastNameTime == 0 || m_nLastNameTime+TIME_INTERVAL < Time() )
N/A474 {
N/A475 m_nNameIndex++
N/A476 m_nLastNameTime = Time()
N/A477
N/A478 local nType = 0
N/A479 if ( m_nNameIndex <= m_nTotalNameCount )
N/A480 {
N/A481 if ( CreditsList[m_nNameIndex] == ENDING )
N/A482 {
N/A483 // the credits are over!!
N/A484 EndCredits()
N/A485 return
N/A486 }
N/A487 else if ( CreditsList[m_nNameIndex] == STATE_NAMES )
N/A488 {
N/A489 m_nStateChangeTo = 0
N/A490 UpdateVGUICreditsStateCommit()
N/A491 }
N/A492 else if ( CreditsList[m_nNameIndex] == STATE_TEXTBLOCK )
N/A493 {
N/A494 m_nStateChangeTo = 1
N/A495 UpdateVGUICreditsStateCommit()
N/A496 }
N/A497 else if ( CreditsList[m_nNameIndex] == BLANK || CreditsList[m_nNameIndex] == ENDING )
N/A498 {
N/A499 // spawn a blank
N/A500 }
N/A501 else if ( CreditsList[m_nNameIndex] == ENDOFHUMANS )
N/A502 {
N/A503 // spawn a blank
N/A504 EntFireByHandle( GladosCredit[92], "Start", "", 0.00, null, null )
N/A505 }
N/A506 else if ( CreditsList[m_nNameIndex] == ENDOFHUMANSPREP )
N/A507 {
N/A508 EndofEmployees = 1
N/A509 nType = 10
N/A510 }
N/A511 else if ( CreditsList[m_nNameIndex] == BLUE )
N/A512 {
N/A513 EntFire( "relay_monsterbox_walk", "Trigger", nType, 0)
N/A514 nType = 3
N/A515 }
N/A516 else if ( CreditsList[m_nNameIndex] == ORANGE )
N/A517 {
N/A518 nType = 4
N/A519 }
N/A520 else if ( CreditsList[m_nNameIndex] == TURRET )
N/A521 {
N/A522 nType = 5
N/A523 }
N/A524 else if ( CreditsList[m_nNameIndex] == TURRET_S )
N/A525 {
N/A526 nType = 6
N/A527 }
N/A528 else if ( CreditsList[m_nNameIndex] == CUBE )
N/A529 {
N/A530 nType = 7
N/A531 }
N/A532 else if ( CreditsList[m_nNameIndex] == MONSTER )
N/A533 {
N/A534 nType = 8
N/A535 }
N/A536 else if ( CreditsList[m_nNameIndex] == BIRD )
N/A537 {
N/A538 nType = 9
N/A539 }
N/A540 else if ( CreditsList[m_nNameIndex] == COMPCUBE )
N/A541 {
N/A542 nType = 10
N/A543 }
N/A544 else if ( CreditsList[m_nNameIndex] == PERSPEHERE )
N/A545 {
N/A546 nType = 11
N/A547 }
N/A548 else if ( CreditsList[m_nNameIndex] == TURRETBACK )
N/A549 {
N/A550 EntFire( "relay_orange_peek", "Trigger", "", 5)
N/A551 nType = 12
N/A552 }
N/A553 else if ( CreditsList[m_nNameIndex] == TURRETWIFE )
N/A554 {
N/A555 nType = 13
N/A556 }
N/A557 else if ( CreditsList[m_nNameIndex] == TURRETBOX )
N/A558 {
N/A559 nType = 14
N/A560 }
N/A561 else if ( CreditsList[m_nNameIndex] == SPACE )
N/A562 {
N/A563 nType = 16
N/A564 }
N/A565 else if ( CreditsList[m_nNameIndex] == WHEATLEY )
N/A566 {
N/A567 nType = 17
N/A568 }
N/A569 else if ( CreditsList[m_nNameIndex] == STILLALIVE )
N/A570 {
N/A571 nType = 18
N/A572 }
N/A573 else if ( CreditsList[m_nNameIndex] == VOICERECORD || CreditsList[m_nNameIndex] == SPECIALTHANKS )
N/A574 {
N/A575 nType = 19
N/A576 }
N/A577 else if ( CreditsList[m_nNameIndex] == ANNOUNCER || CreditsList[m_nNameIndex] == TRANSLATIONS || CreditsList[m_nNameIndex] == VOICESTITLE )
N/A578 {
N/A579 nType = 20
N/A580 }
N/A581 else if ( CreditsList[m_nNameIndex] == CHELL )
N/A582 {
N/A583 nType = 21
N/A584 }
N/A585 else if ( CreditsList[m_nNameIndex] == CAVE )
N/A586 {
N/A587 nType = 22
N/A588 }
N/A589 else if ( CreditsList[m_nNameIndex] == CCORESTUR )
N/A590 {
N/A591 nType = 23
N/A592 }
N/A593 else if ( CreditsList[m_nNameIndex] == GLADOS )
N/A594 {
N/A595 nType = 24
N/A596 }
N/A597 else if ( CreditsList[m_nNameIndex] == BOTSHUG )
N/A598 {
N/A599 nType = 25
N/A600 }
N/A601 else if ( CreditsList[m_nNameIndex] == GONE )
N/A602 {
N/A603 nType = 26
N/A604 }
N/A605 else if ( CreditsList[m_nNameIndex] == VILIFY )
N/A606 {
N/A607 nType = 27
N/A608 }
N/A609 else
N/A610 {
N/A611 //if ( CreditsList[m_nNameIndex].find( ">" ) )
N/A612
N/A613 nType = RandomInt( 1, 2 )
N/A614
N/A615 if ( EndofEmployees == 0 )
N/A616 {
N/A617 // spawn a human
N/A618 local curTime = Time()
N/A619 if ( CreditTimer == 0 )
N/A620 {
N/A621 CreditTimer = Time() //tracks overall time in case we want a time limit and then fire the last one
N/A622 GladosRndStart = RandomInt( 0,5 ) //seed the first vo
N/A623 GladosInterval = Time()
N/A624 }
N/A625 if ( GladosRndStart < curTime-GladosInterval )
N/A626 {
N/A627 GladosCounter = GladosCounter + 1
N/A628 if ( GladosCounter <= GladosCredit.len() )
N/A629 {
N/A630 EntFireByHandle( GladosCredit[GladosCounter], "Start", "", 0.00, null, null )
N/A631 GladosInterval = Time()
N/A632 GladosRndStart = GladosLength[ GladosCounter ]+RandomFloat( 0, 7 ) //takes length of wav that already has .75 seconds added to it and randomally adds 0-7 seconds
N/A633 }
N/A634 }
N/A635 }
N/A636 }
N/A637
N/A638 // send off a random job title
N/A639 EntFire( "@command", "Command", "coop_set_credits_jobtitle " + "\"" + JobPrefix[RandomInt( 0, JobPrefix.len()-1 )] + " " + JobMiddle[RandomInt( 0, JobMiddle.len()-1 )] + " " + JobSuffix[RandomInt( 0, JobSuffix.len()-1 )] + " <<\"", 0)
N/A640 }
N/A641
N/A642 if ( nType >= 16 )
N/A643 {
N/A644 // need to convert these to a string because hammer expects it!!!
N/A645 nType = "" + nType
N/A646 EntFire( "counter_pick_next_spawn2", "SetValue", nType, 0)
N/A647 }
N/A648 else
N/A649 {
N/A650 // need to convert these to a string because hammer expects it!!!
N/A651 nType = "" + nType
N/A652 EntFire( "counter_pick_next_spawn", "SetValue", nType, 0)
N/A653 }
N/A654
N/A655 if ( DBG )
N/A656 {
N/A657 printl("[ spawning ] - " + CreditsList[m_nNameIndex])
N/A658 }
N/A659 }
N/A660}
N/A661
N/A662function CreditsGrantGameCompleteAchievement()
N/A663{
N/A664 local bGameCompleteB = true
N/A665 local bGameCompleteO = true
N/A666 for ( local i = 0; i < 5; i++ )
N/A667 {
N/A668 if ( IsPlayerBranchComplete( 0, i ) == false )
N/A669 {
N/A670 bGameCompleteB = false
N/A671 //printl("!!=== bGameCompleteB = false --- not completed branch " + i )
N/A672 }
N/A673 if ( IsPlayerBranchComplete( 1, i ) == false )
N/A674 {
N/A675 bGameCompleteO = false
N/A676 }
N/A677 }
N/A678
N/A679 if ( bGameCompleteB )
N/A680 {
N/A681 RecordAchievementEvent( "ACH.NEW_BLOOD", GetBluePlayerIndex() )
N/A682 RecordAchievementEvent( "AV_SHIRT1", GetBluePlayerIndex() )
N/A683 //printl("!!!!!!!!=== AWARDING END GAME ACHIEVEMENT!!!" )
N/A684 }
N/A685 if ( bGameCompleteO )
N/A686 {
N/A687 RecordAchievementEvent( "ACH.NEW_BLOOD", GetOrangePlayerIndex() )
N/A688 RecordAchievementEvent( "AV_SHIRT1", GetOrangePlayerIndex() )
N/A689 }
N/A690}
N/A691
N/A692function DoCredits()
N/A693{
N/A694 if ( DBG )
N/A695 {
N/A696 printl("================DUMPING CREDITS")
N/A697 }
N/A698
N/A699 // award the game complete achievmeent - this was moved from the last map because the toast caused the bink movie's sound to echo on the 360!
N/A700 CreditsGrantGameCompleteAchievement()
N/A701
N/A702 // this clears out the list of names and initializes it
N/A703 AddCoopCreditsName( "CLEAR ALL" )
N/A704
N/A705 local namecount = 0
N/A706
N/A707 foreach( index, name in CreditsList )
N/A708 {
N/A709 if ( DBG )
N/A710 {
N/A711 printl( index + " " + CreditsList[index] )
N/A712 }
N/A713
N/A714 // skip over objects which we don't display on the vgui screen and we dont want the server to know about
N/A715 if (CreditsList[index] != TURRET && CreditsList[index] != TURRET_S &&
N/A716 CreditsList[index] != CUBE && CreditsList[index] != MONSTER &&
N/A717 CreditsList[index] != BLUE && CreditsList[index] != ORANGE &&
N/A718 CreditsList[index] != BLANK && CreditsList[index] != BIRD &&
N/A719 CreditsList[index] != COMPCUBE && CreditsList[index] != PERSPEHERE &&
N/A720 CreditsList[index] != STATE_NAMES && CreditsList[index] != STATE_TEXTBLOCK &&
N/A721 CreditsList[index] != TURRETBACK && CreditsList[index] != TURRETWIFE &&
N/A722 CreditsList[index] != TURRETBOX && CreditsList[index] != ENDING && CreditsList[index] != ENDOFHUMANS && CreditsList[index] != ENDOFHUMANSPREP)
N/A723 {
N/A724 // send the string to the server to build the list of names
N/A725 AddCoopCreditsName( CreditsList[index] )
N/A726 namecount++
N/A727 }
N/A728
N/A729 m_nTotalNameCount++
N/A730 }
N/A731
N/A732 if ( DBG )
N/A733 {
N/A734 printl( namecount + " names total." )
N/A735
N/A736 printl("================END DUMP")
N/A737 }
N/A738
N/A739 DO_CREDITS = 1
N/A740
N/A741 if ( IsLocalSplitScreen() )
N/A742 {
N/A743 EntFire( "camera_O", "Disable", "", 1.0)
N/A744 }
N/A745}
N/A746
N/A747function EndCredits()
N/A748{
N/A749 EntFire( "relay_end_confetti", "Trigger", "", 0)
N/A750 // disable the camera so the splitscreen player isn't stuck on spawning into the hub
N/A751 EntFire( "camera*", "Disable", "", 9.0)
N/A752 if ( GetNumPlayersConnected() > 1 )
N/A753 {
N/A754 EntFire( "playmovie_level_transition_to_hub", "PlayLevelTransitionMovie", "", 6.5)
N/A755 EntFire( "@command", "command", "go_to_hub", 10 )
N/A756 }
N/A757 else
N/A758 {
N/A759 EntFire( "fade_end_ss", "Fade", "", 6.5)
N/A760 EntFire( "@command", "command", "disconnect", 10)
N/A761 }
N/A762 m_bCreditsFinished = true
N/A763}
N/A764
N/A765function AdvanceVGUIIndex( nType )
N/A766{
N/A767 // everything in the slot 16 and above are displayed on screen
N/A768 // slots 1 and 2 are humans
N/A769 if ( nType == 1 || nType == 2 || nType >= 16 )
N/A770 {
N/A771 // if we're human increment the index
N/A772 m_nVGUIIndex++
N/A773 if ( DBG )
N/A774 {
N/A775 printl( "[" + Time() + "] @@@@@@@@@ INCREMENTING INDEX TO: " + m_nVGUIIndex)
N/A776 }
N/A777 }
N/A778
N/A779 EntFire( "@command", "Command", "coop_set_credits_index " + m_nVGUIIndex + " " + nType, 0)
N/A780}
N/A781
N/A782function UpdateVGUICreditsStateNotify( nState )
N/A783{
N/A784 m_nStateChangeIn = 1
N/A785 m_nStateChangeTo = nState
N/A786}
N/A787
N/A788function UpdateVGUICreditsStateCommit()
N/A789{
N/A790 m_nCreditsState = m_nStateChangeTo
N/A791 if ( DBG )
N/A792 {
N/A793 printl( "[" + Time() + "] @@@@@@@@@ UPDATE STATE TO: " + m_nCreditsState + " : Index: " + m_nVGUIIndex)
N/A794 }
N/A795 EntFire( "@command", "Command", "coop_set_credits_state " + m_nCreditsState, 0)
N/A796 if ( m_nCreditsState == 1 )
N/A797 {
N/A798 // slow thigns down
N/A799 TIME_INTERVAL <- BLOCKTEXT_TIME_INTERVAL
N/A800 EntFire( "train_track_1", "EnableAlternatePath", "", 0)
N/A801 }
N/A802 else
N/A803 {
N/A804 // slow thigns down
N/A805 TIME_INTERVAL <- NAME_TIME_INTERVAL
N/A806 EntFire( "train_track_1", "DisableAlternatePath", "", 0)
N/A807 }
N/A808}
N/A809
N/A810function ScanItem( nType )
N/A811{
N/A812 AdvanceVGUIIndex( nType )
N/A813
N/A814 // dont scan for the big items like glados, cave portrait, etc
N/A815 // everything in the slot 16 and above should not be scanned
N/A816 if ( nType >= 16 )
N/A817 {
N/A818 return
N/A819 }
N/A820
N/A821 // need to convert these to a string because hammer expects it!!!
N/A822 nType = "" + nType
N/A823
N/A824 if ( m_nCreditsState == 1 )
N/A825 {
N/A826 EntFire( "relay_scan", "Trigger", "", 0)
N/A827 }
N/A828 else
N/A829 {
N/A830 EntFire( "relay_scan_fast", "Trigger", "", 0)
N/A831 }
N/A832}
N/A833
N/A834JobPrefix <- [
N/A835"Lead",
N/A836"Senior",
N/A837"Direct",
N/A838"Dynamic",
N/A839"Future",
N/A840"National",
N/A841"Regional",
N/A842"Central",
N/A843"Global",
N/A844"Dynamic",
N/A845"International",
N/A846"Legacy",
N/A847"Forward",
N/A848"Internal",
N/A849"Chief",
N/A850"Principal",
N/A851"Postdoctoral",
N/A852"Regulatory",
N/A853]
N/A854
N/A855JobMiddle <- [
N/A856"Human",
N/A857"Environmental",
N/A858"Aerospace",
N/A859"Space",
N/A860"Deep Sea",
N/A861"Atmospheric",
N/A862"Cardiovascular",
N/A863"Electrical",
N/A864"Computer",
N/A865"Emergency",
N/A866"Mining",
N/A867"Nuclear",
N/A868"Safety",
N/A869"Histology",
N/A870"Forensic",
N/A871]
N/A872
N/A873JobSuffix <- [
N/A874"Surgeon",
N/A875"Scientist",
N/A876"Engineer",
N/A877"Technologist",
N/A878"Neurosurgeon",
N/A879"Pilot",
N/A880"Astronaut",
N/A881"Archeologist",
N/A882"Aviator",
N/A883"Specialist",
N/A884"Psychologist",
N/A885"Composer",
N/A886"Fighter",
N/A887"Professional",
N/A888"Geographer",
N/A889"Architect",
N/A890"Astronomer",
N/A891"Cytogeneticist",
N/A892"Dentist",
N/A893"Interpreter",
N/A894"Phlebotomist",
N/A895"Physician",
N/A896"Meteorologist",
N/A897"Philosopher",
N/A898"Garbologist",
N/A899]
N/A900
N/A901GladosCredit <- {}
N/A902GladosCredit[1] <- CreateSceneEntity("scenes/npc/glados/mp_credits01.vcd")
N/A903GladosCredit[2] <- CreateSceneEntity("scenes/npc/glados/mp_credits03.vcd")
N/A904GladosCredit[3] <- CreateSceneEntity("scenes/npc/glados/mp_credits04.vcd")
N/A905GladosCredit[4] <- CreateSceneEntity("scenes/npc/glados/mp_credits05.vcd")
N/A906GladosCredit[5] <- CreateSceneEntity("scenes/npc/glados/mp_credits06.vcd")
N/A907GladosCredit[6] <- CreateSceneEntity("scenes/npc/glados/mp_credits07.vcd")
N/A908GladosCredit[7] <- CreateSceneEntity("scenes/npc/glados/mp_credits08.vcd")
N/A909GladosCredit[8] <- CreateSceneEntity("scenes/npc/glados/mp_credits09.vcd")
N/A910GladosCredit[9] <- CreateSceneEntity("scenes/npc/glados/mp_credits10.vcd")
N/A911GladosCredit[10] <- CreateSceneEntity("scenes/npc/glados/mp_credits11.vcd")
N/A912GladosCredit[11] <- CreateSceneEntity("scenes/npc/glados/mp_credits12.vcd")
N/A913GladosCredit[12] <- CreateSceneEntity("scenes/npc/glados/mp_credits13.vcd")
N/A914GladosCredit[13] <- CreateSceneEntity("scenes/npc/glados/mp_credits14.vcd")
N/A915GladosCredit[14] <- CreateSceneEntity("scenes/npc/glados/mp_credits15.vcd")
N/A916GladosCredit[15] <- CreateSceneEntity("scenes/npc/glados/mp_credits17.vcd")
N/A917GladosCredit[16] <- CreateSceneEntity("scenes/npc/glados/mp_credits16.vcd")
N/A918GladosCredit[17] <- CreateSceneEntity("scenes/npc/glados/mp_credits18.vcd")
N/A919GladosCredit[18] <- CreateSceneEntity("scenes/npc/glados/mp_credits19.vcd")
N/A920GladosCredit[19] <- CreateSceneEntity("scenes/npc/glados/mp_credits20.vcd")
N/A921GladosCredit[20] <- CreateSceneEntity("scenes/npc/glados/mp_credits21.vcd")
N/A922GladosCredit[21] <- CreateSceneEntity("scenes/npc/glados/mp_credits22.vcd")
N/A923GladosCredit[22] <- CreateSceneEntity("scenes/npc/glados/mp_credits23.vcd")
N/A924GladosCredit[23] <- CreateSceneEntity("scenes/npc/glados/mp_credits24.vcd")
N/A925GladosCredit[24] <- CreateSceneEntity("scenes/npc/glados/mp_credits26.vcd")
N/A926GladosCredit[25] <- CreateSceneEntity("scenes/npc/glados/mp_credits25.vcd")
N/A927GladosCredit[26] <- CreateSceneEntity("scenes/npc/glados/mp_credits27.vcd")
N/A928GladosCredit[27] <- CreateSceneEntity("scenes/npc/glados/mp_credits28.vcd")
N/A929GladosCredit[28] <- CreateSceneEntity("scenes/npc/glados/mp_credits29.vcd")
N/A930GladosCredit[29] <- CreateSceneEntity("scenes/npc/glados/mp_credits30.vcd")
N/A931GladosCredit[30] <- CreateSceneEntity("scenes/npc/glados/mp_credits31.vcd")
N/A932GladosCredit[31] <- CreateSceneEntity("scenes/npc/glados/mp_credits32.vcd")
N/A933GladosCredit[32] <- CreateSceneEntity("scenes/npc/glados/mp_credits33.vcd")
N/A934GladosCredit[33] <- CreateSceneEntity("scenes/npc/glados/mp_credits34.vcd")
N/A935GladosCredit[34] <- CreateSceneEntity("scenes/npc/glados/mp_credits35.vcd")
N/A936GladosCredit[35] <- CreateSceneEntity("scenes/npc/glados/mp_credits36.vcd")
N/A937GladosCredit[36] <- CreateSceneEntity("scenes/npc/glados/mp_credits37.vcd")
N/A938GladosCredit[37] <- CreateSceneEntity("scenes/npc/glados/mp_credits38.vcd")
N/A939GladosCredit[38] <- CreateSceneEntity("scenes/npc/glados/mp_credits39.vcd")
N/A940GladosCredit[39] <- CreateSceneEntity("scenes/npc/glados/mp_credits40.vcd")
N/A941GladosCredit[40] <- CreateSceneEntity("scenes/npc/glados/mp_credits41.vcd")
N/A942GladosCredit[41] <- CreateSceneEntity("scenes/npc/glados/mp_credits42.vcd")
N/A943GladosCredit[42] <- CreateSceneEntity("scenes/npc/glados/mp_credits43.vcd")
N/A944GladosCredit[43] <- CreateSceneEntity("scenes/npc/glados/mp_credits44.vcd")
N/A945GladosCredit[44] <- CreateSceneEntity("scenes/npc/glados/mp_credits45.vcd")
N/A946GladosCredit[45] <- CreateSceneEntity("scenes/npc/glados/mp_credits46.vcd")
N/A947GladosCredit[46] <- CreateSceneEntity("scenes/npc/glados/mp_credits47.vcd")
N/A948GladosCredit[47] <- CreateSceneEntity("scenes/npc/glados/mp_credits48.vcd")
N/A949GladosCredit[48] <- CreateSceneEntity("scenes/npc/glados/mp_credits49.vcd")
N/A950GladosCredit[49] <- CreateSceneEntity("scenes/npc/glados/mp_credits50.vcd")
N/A951GladosCredit[50] <- CreateSceneEntity("scenes/npc/glados/mp_credits51.vcd")
N/A952GladosCredit[51] <- CreateSceneEntity("scenes/npc/glados/mp_credits52.vcd")
N/A953GladosCredit[52] <- CreateSceneEntity("scenes/npc/glados/mp_credits53.vcd")
N/A954GladosCredit[53] <- CreateSceneEntity("scenes/npc/glados/mp_credits54.vcd")
N/A955GladosCredit[54] <- CreateSceneEntity("scenes/npc/glados/mp_credits55.vcd")
N/A956GladosCredit[55] <- CreateSceneEntity("scenes/npc/glados/mp_credits56.vcd")
N/A957GladosCredit[56] <- CreateSceneEntity("scenes/npc/glados/mp_credits57.vcd")
N/A958GladosCredit[57] <- CreateSceneEntity("scenes/npc/glados/mp_credits58.vcd")
N/A959GladosCredit[58] <- CreateSceneEntity("scenes/npc/glados/mp_credits59.vcd")
N/A960GladosCredit[59] <- CreateSceneEntity("scenes/npc/glados/mp_credits60.vcd")
N/A961GladosCredit[60] <- CreateSceneEntity("scenes/npc/glados/mp_credits61.vcd")
N/A962GladosCredit[61] <- CreateSceneEntity("scenes/npc/glados/mp_credits62.vcd")
N/A963GladosCredit[62] <- CreateSceneEntity("scenes/npc/glados/mp_credits63.vcd")
N/A964GladosCredit[63] <- CreateSceneEntity("scenes/npc/glados/mp_credits64.vcd")
N/A965GladosCredit[64] <- CreateSceneEntity("scenes/npc/glados/mp_credits65.vcd")
N/A966GladosCredit[65] <- CreateSceneEntity("scenes/npc/glados/mp_credits66.vcd")
N/A967GladosCredit[66] <- CreateSceneEntity("scenes/npc/glados/mp_credits67.vcd")
N/A968GladosCredit[67] <- CreateSceneEntity("scenes/npc/glados/mp_credits68.vcd")
N/A969GladosCredit[68] <- CreateSceneEntity("scenes/npc/glados/mp_credits69.vcd")
N/A970GladosCredit[69] <- CreateSceneEntity("scenes/npc/glados/mp_credits70.vcd")
N/A971GladosCredit[70] <- CreateSceneEntity("scenes/npc/glados/mp_credits71.vcd")
N/A972GladosCredit[71] <- CreateSceneEntity("scenes/npc/glados/mp_credits72.vcd")
N/A973GladosCredit[72] <- CreateSceneEntity("scenes/npc/glados/mp_credits73.vcd")
N/A974GladosCredit[73] <- CreateSceneEntity("scenes/npc/glados/mp_credits74.vcd")
N/A975GladosCredit[74] <- CreateSceneEntity("scenes/npc/glados/mp_credits75.vcd")
N/A976GladosCredit[75] <- CreateSceneEntity("scenes/npc/glados/mp_credits76.vcd")
N/A977GladosCredit[76] <- CreateSceneEntity("scenes/npc/glados/mp_credits77.vcd")
N/A978GladosCredit[77] <- CreateSceneEntity("scenes/npc/glados/mp_credits79.vcd")
N/A979GladosCredit[78] <- CreateSceneEntity("scenes/npc/glados/mp_credits80.vcd")
N/A980GladosCredit[79] <- CreateSceneEntity("scenes/npc/glados/mp_credits81.vcd")
N/A981GladosCredit[80] <- CreateSceneEntity("scenes/npc/glados/mp_credits82.vcd")
N/A982GladosCredit[81] <- CreateSceneEntity("scenes/npc/glados/mp_credits83.vcd")
N/A983GladosCredit[82] <- CreateSceneEntity("scenes/npc/glados/mp_credits84.vcd")
N/A984GladosCredit[83] <- CreateSceneEntity("scenes/npc/glados/mp_credits85.vcd")
N/A985GladosCredit[84] <- CreateSceneEntity("scenes/npc/glados/mp_credits86.vcd")
N/A986GladosCredit[85] <- CreateSceneEntity("scenes/npc/glados/mp_credits87.vcd")
N/A987GladosCredit[86] <- CreateSceneEntity("scenes/npc/glados/mp_credits88.vcd")
N/A988GladosCredit[87] <- CreateSceneEntity("scenes/npc/glados/mp_credits89.vcd")
N/A989GladosCredit[88] <- CreateSceneEntity("scenes/npc/glados/mp_credits90.vcd")
N/A990GladosCredit[89] <- CreateSceneEntity("scenes/npc/glados/mp_credits91.vcd")
N/A991GladosCredit[90] <- CreateSceneEntity("scenes/npc/glados/mp_credits92.vcd")
N/A992GladosCredit[91] <- CreateSceneEntity("scenes/npc/glados/mp_credits93.vcd")
N/A993GladosCredit[92] <- CreateSceneEntity("scenes/npc/glados/mp_credits94.vcd")
N/A994GladosLength <- {}
N/A995GladosLength[1] <- 2.238
N/A996GladosLength[2] <- 2.011
N/A997GladosLength[3] <- 2.546
N/A998GladosLength[4] <- 2.310
N/A999GladosLength[5] <- 2.112
N/A1000GladosLength[6] <- 2.191
N/A1001GladosLength[7] <- 2.083
N/A1002GladosLength[8] <- 2.350
N/A1003GladosLength[9] <- 2.774
N/A1004GladosLength[10] <- 2.132
N/A1005GladosLength[11] <- 3.697
N/A1006GladosLength[12] <- 1.850
N/A1007GladosLength[13] <- 2.743
N/A1008GladosLength[14] <- 2.528
N/A1009GladosLength[15] <- 1.550
N/A1010GladosLength[16] <- 2.182
N/A1011GladosLength[17] <- 2.364
N/A1012GladosLength[18] <- 1.642
N/A1013GladosLength[19] <- 1.442
N/A1014GladosLength[20] <- 2.404
N/A1015GladosLength[21] <- 2.421
N/A1016GladosLength[22] <- 1.814
N/A1017GladosLength[23] <- 3.402
N/A1018GladosLength[24] <- 1.374
N/A1019GladosLength[25] <- 2.602
N/A1020GladosLength[26] <- 2.330
N/A1021GladosLength[27] <- 4.095
N/A1022GladosLength[28] <- 2.436
N/A1023GladosLength[29] <- 1.678
N/A1024GladosLength[30] <- 2.200
N/A1025GladosLength[31] <- 1.534
N/A1026GladosLength[32] <- 3.850
N/A1027GladosLength[33] <- 3.357
N/A1028GladosLength[34] <- 1.930
N/A1029GladosLength[35] <- 1.876
N/A1030GladosLength[36] <- 2.566
N/A1031GladosLength[37] <- 6.999
N/A1032GladosLength[38] <- 2.428
N/A1033GladosLength[39] <- 2.355
N/A1034GladosLength[40] <- 3.151
N/A1035GladosLength[41] <- 1.776
N/A1036GladosLength[42] <- 2.647
N/A1037GladosLength[43] <- 1.813
N/A1038GladosLength[44] <- 2.496
N/A1039GladosLength[45] <- 6.536
N/A1040GladosLength[46] <- 5.198
N/A1041GladosLength[47] <- 4.806
N/A1042GladosLength[48] <- 4.462
N/A1043GladosLength[49] <- 1.453
N/A1044GladosLength[50] <- 2.433
N/A1045GladosLength[51] <- 1.625
N/A1046GladosLength[52] <- 4.666
N/A1047GladosLength[53] <- 1.918
N/A1048GladosLength[54] <- 8.409
N/A1049GladosLength[55] <- 4.853
N/A1050GladosLength[56] <- 2.266
N/A1051GladosLength[57] <- 2.915
N/A1052GladosLength[58] <- 2.296
N/A1053GladosLength[59] <- 1.561
N/A1054GladosLength[60] <- 3.807
N/A1055GladosLength[61] <- 2.570
N/A1056GladosLength[62] <- 6.204
N/A1057GladosLength[63] <- 3.022
N/A1058GladosLength[64] <- 2.707
N/A1059GladosLength[65] <- 2.452
N/A1060GladosLength[66] <- 2.673
N/A1061GladosLength[67] <- 2.105
N/A1062GladosLength[68] <- 3.021
N/A1063GladosLength[69] <- 3.291
N/A1064GladosLength[70] <- 4.186
N/A1065GladosLength[71] <- 2.292
N/A1066GladosLength[72] <- 2.081
N/A1067GladosLength[73] <- 2.326
N/A1068GladosLength[74] <- 2.696
N/A1069GladosLength[75] <- 1.462
N/A1070GladosLength[76] <- 1.892
N/A1071GladosLength[77] <- 1.724
N/A1072GladosLength[78] <- 2.634
N/A1073GladosLength[79] <- 2.163
N/A1074GladosLength[80] <- 2.238
N/A1075GladosLength[81] <- 1.918
N/A1076GladosLength[82] <- 1.861
N/A1077GladosLength[83] <- 1.938
N/A1078GladosLength[84] <- 2.025
N/A1079GladosLength[85] <- 2.223
N/A1080GladosLength[86] <- 2.311
N/A1081GladosLength[87] <- 3.865
N/A1082GladosLength[88] <- 2.348
N/A1083GladosLength[89] <- 2.597
N/A1084GladosLength[90] <- 5.989
N/A1085GladosLength[91] <- 2.921
N/A1086GladosLength[92] <- 5.939
01087 + true
11088 + true