[{"data":1,"prerenderedAt":1398},["ShallowReactive",2],{"i-lucide:search":3,"i-lucide:sun":8,"i-lucide:github":10,"i-lucide:menu":13,"i-lucide:git-pull-request-arrow":15,"machine-williams-warlok-1982":17,"i-lucide:file-json-2":1366,"i-lucide:shield-check":1368,"i-lucide:toggle-left":1370,"i-lucide:zap":1372,"i-lucide:disc-3":1374,"i-lucide:library-big":1376,"i-lucide:plug-zap":1378,"i-lucide:arrow-up-right":1380,"i-lucide:info":1382,"i-lucide:archive":1384,"i-lucide:file-code-2":1386,"i-lucide:list":1388,"i-lucide:external-link":1390,"i-lucide:notebook-pen":1392,"i-lucide:message-square-warning":1394,"i-lucide:chevron-right":1396},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11,"hidden":12},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5c.08-1.25-.27-2.48-1-3.5c.28-1.15.28-2.35 0-3.5c0 0-1 0-3 1.5c-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 9c0 3.5 3 5.5 6 5.5c-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4\"\u002F>\u003Cpath d=\"M9 18c-4.51 2-5-2-7-2\"\u002F>\u003C\u002Fg>",true,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":14},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":16},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"5\" cy=\"6\" r=\"3\"\u002F>\u003Cpath d=\"M5 9v12\"\u002F>\u003Ccircle cx=\"19\" cy=\"18\" r=\"3\"\u002F>\u003Cpath d=\"m15 9l-3-3l3-3\"\u002F>\u003Cpath d=\"M12 6h5a2 2 0 0 1 2 2v7\"\u002F>\u003C\u002Fg>",{"detail":18,"summary":1365},{"conflicts":19,"controller":20,"coverage":22,"displays":42,"drivers":43,"format":49,"inputs":50,"knowledge":454,"machine":456,"mechanisms":460,"outputs":461,"relationships":1297,"schema_version":63,"sources":1298,"slug":1313,"sourcePath":1314,"knowledgePath":455,"knowledgeHtml":1315,"knowledgeHeadings":1316,"knowledgeSummary":1350,"catalogDrivers":1354,"related":1357,"family":1365},[],{"inversion_applied_by_emulator":12,"platform":21},"pinmame.s7",{"status":23,"missing":24,"dimensions":38},"partial",[25,26,27,28,29,30,31,32,33,34,35,36,37],"identity","controller_platform","input_enumeration","input_semantics","output_enumeration","output_semantics","display_inventory","mechanism_inventory","mechanism_behavior","polarity","variant_differences","recreation_notes","provenance",{"address_enumeration":39,"catalog_identity":40,"mechanisms":41,"physical_wiring":39,"recreation_knowledge":39,"semantic_naming":39,"variant_coverage":39},"candidate","observed","unknown",[],[44],{"description":45,"flags":4,"id":46,"manufacturer":47,"year":48},"Warlok (L-3)","wrlok_l3","Williams","1982","pinmame-machine-definition",[51,71,86,99,112,125,138,151,164,177,189,201,214,227,240,253,265,276,288,300,313,326,339,352,365,378,391,404,417,430,442],{"aliases":52,"binding":62,"id":65,"kind":66,"label":67,"normally_closed":12,"provenance":68},[53,56,58,60],{"namespace":54,"value":55},"pinmame.switch","1",{"namespace":57,"value":55},"vpe-legacy.switch",{"namespace":57,"value":59},"01",{"namespace":57,"value":61},"001",{"device":63,"group":64},1,"pinmame.input.switch","switch.tilt-plumb-bob","switch","Tilt (Plumb Bob)",{"source_refs":69,"status":39},[70],"legacy.game.warlok",{"aliases":72,"binding":80,"id":82,"kind":66,"label":83,"provenance":84},[73,75,76,78],{"namespace":54,"value":74},"9",{"namespace":57,"value":74},{"namespace":57,"value":77},"09",{"namespace":57,"value":79},"009",{"device":81,"group":64},9,"switch.drain","Drain",{"source_refs":85,"status":39},[70],{"aliases":87,"binding":93,"id":95,"kind":66,"label":96,"provenance":97},[88,90,91],{"namespace":54,"value":89},"10",{"namespace":57,"value":89},{"namespace":57,"value":92},"010",{"device":94,"group":64},10,"switch.spinner-1","Spinner 1",{"source_refs":98,"status":39},[70],{"aliases":100,"binding":106,"id":108,"kind":66,"label":109,"provenance":110},[101,103,104],{"namespace":54,"value":102},"11",{"namespace":57,"value":102},{"namespace":57,"value":105},"011",{"device":107,"group":64},11,"switch.spinner-2","Spinner 2",{"source_refs":111,"status":39},[70],{"aliases":113,"binding":119,"id":121,"kind":66,"label":122,"provenance":123},[114,116,117],{"namespace":54,"value":115},"12",{"namespace":57,"value":115},{"namespace":57,"value":118},"012",{"device":120,"group":64},12,"switch.spinner-3","Spinner 3",{"source_refs":124,"status":39},[70],{"aliases":126,"binding":132,"id":134,"kind":66,"label":135,"provenance":136},[127,129,130],{"namespace":54,"value":128},"13",{"namespace":57,"value":128},{"namespace":57,"value":131},"013",{"device":133,"group":64},13,"switch.bottom-bumper","Bottom Bumper",{"source_refs":137,"status":39},[70],{"aliases":139,"binding":145,"id":147,"kind":66,"label":148,"provenance":149},[140,142,143],{"namespace":54,"value":141},"14",{"namespace":57,"value":141},{"namespace":57,"value":144},"014",{"device":146,"group":64},14,"switch.middle-bumper","Middle Bumper",{"source_refs":150,"status":39},[70],{"aliases":152,"binding":158,"id":160,"kind":66,"label":161,"provenance":162},[153,155,156],{"namespace":54,"value":154},"15",{"namespace":57,"value":154},{"namespace":57,"value":157},"015",{"device":159,"group":64},15,"switch.top-bumper","Top Bumper",{"source_refs":163,"status":39},[70],{"aliases":165,"binding":171,"id":173,"kind":66,"label":174,"provenance":175},[166,168,169],{"namespace":54,"value":167},"16",{"namespace":57,"value":167},{"namespace":57,"value":170},"016",{"device":172,"group":64},16,"switch.wire-trigger-rollover","Wire Trigger (Rollover)",{"source_refs":176,"status":39},[70],{"aliases":178,"binding":184,"id":186,"kind":66,"label":174,"provenance":187},[179,181,182],{"namespace":54,"value":180},"17",{"namespace":57,"value":180},{"namespace":57,"value":183},"017",{"device":185,"group":64},17,"switch.wire-trigger-rollover.17",{"source_refs":188,"status":39},[70],{"aliases":190,"binding":196,"id":198,"kind":66,"label":174,"provenance":199},[191,193,194],{"namespace":54,"value":192},"18",{"namespace":57,"value":192},{"namespace":57,"value":195},"018",{"device":197,"group":64},18,"switch.wire-trigger-rollover.18",{"source_refs":200,"status":39},[70],{"aliases":202,"binding":208,"id":210,"kind":66,"label":211,"provenance":212},[203,205,206],{"namespace":54,"value":204},"19",{"namespace":57,"value":204},{"namespace":57,"value":207},"019",{"device":209,"group":64},19,"switch.standup-target","Standup Target",{"source_refs":213,"status":39},[70],{"aliases":215,"binding":221,"id":223,"kind":66,"label":224,"provenance":225},[216,218,219],{"namespace":54,"value":217},"20",{"namespace":57,"value":217},{"namespace":57,"value":220},"020",{"device":222,"group":64},20,"switch.left-slingshot","Left Slingshot",{"source_refs":226,"status":39},[70],{"aliases":228,"binding":234,"id":236,"kind":66,"label":237,"provenance":238},[229,231,232],{"namespace":54,"value":230},"21",{"namespace":57,"value":230},{"namespace":57,"value":233},"021",{"device":235,"group":64},21,"switch.right-slingshot","Right Slingshot",{"source_refs":239,"status":39},[70],{"aliases":241,"binding":247,"id":249,"kind":66,"label":250,"provenance":251},[242,244,245],{"namespace":54,"value":243},"22",{"namespace":57,"value":243},{"namespace":57,"value":246},"022",{"device":248,"group":64},22,"switch.rollunder-gate","Rollunder Gate",{"source_refs":252,"status":39},[70],{"aliases":254,"binding":260,"id":262,"kind":66,"label":174,"provenance":263},[255,257,258],{"namespace":54,"value":256},"23",{"namespace":57,"value":256},{"namespace":57,"value":259},"023",{"device":261,"group":64},23,"switch.wire-trigger-rollover.23",{"source_refs":264,"status":39},[70],{"aliases":266,"binding":272,"id":273,"kind":66,"label":174,"provenance":274},[267,269,270],{"namespace":54,"value":268},"24",{"namespace":57,"value":268},{"namespace":57,"value":271},"024",{"device":5,"group":64},"switch.wire-trigger-rollover.24",{"source_refs":275,"status":39},[70],{"aliases":277,"binding":283,"id":285,"kind":66,"label":174,"provenance":286},[278,280,281],{"namespace":54,"value":279},"25",{"namespace":57,"value":279},{"namespace":57,"value":282},"025",{"device":284,"group":64},25,"switch.wire-trigger-rollover.25",{"source_refs":287,"status":39},[70],{"aliases":289,"binding":295,"id":297,"kind":66,"label":174,"provenance":298},[290,292,293],{"namespace":54,"value":291},"26",{"namespace":57,"value":291},{"namespace":57,"value":294},"026",{"device":296,"group":64},26,"switch.wire-trigger-rollover.26",{"source_refs":299,"status":39},[70],{"aliases":301,"binding":307,"id":309,"kind":66,"label":310,"provenance":311},[302,304,305],{"namespace":54,"value":303},"27",{"namespace":57,"value":303},{"namespace":57,"value":306},"027",{"device":308,"group":64},27,"switch.drop-target-bank-1-target-1","Drop Target Bank 1 - Target 1",{"source_refs":312,"status":39},[70],{"aliases":314,"binding":320,"id":322,"kind":66,"label":323,"provenance":324},[315,317,318],{"namespace":54,"value":316},"28",{"namespace":57,"value":316},{"namespace":57,"value":319},"028",{"device":321,"group":64},28,"switch.drop-target-bank-1-target-2","Drop Target Bank 1 - Target 2",{"source_refs":325,"status":39},[70],{"aliases":327,"binding":333,"id":335,"kind":66,"label":336,"provenance":337},[328,330,331],{"namespace":54,"value":329},"29",{"namespace":57,"value":329},{"namespace":57,"value":332},"029",{"device":334,"group":64},29,"switch.drop-target-bank-1-target-3","Drop Target Bank 1 - Target 3",{"source_refs":338,"status":39},[70],{"aliases":340,"binding":346,"id":348,"kind":66,"label":349,"provenance":350},[341,343,344],{"namespace":54,"value":342},"30",{"namespace":57,"value":342},{"namespace":57,"value":345},"030",{"device":347,"group":64},30,"switch.drop-target-bank-2-target-1","Drop Target Bank 2 - Target 1",{"source_refs":351,"status":39},[70],{"aliases":353,"binding":359,"id":361,"kind":66,"label":362,"provenance":363},[354,356,357],{"namespace":54,"value":355},"31",{"namespace":57,"value":355},{"namespace":57,"value":358},"031",{"device":360,"group":64},31,"switch.drop-target-bank-2-target-2","Drop Target Bank 2 - Target 2",{"source_refs":364,"status":39},[70],{"aliases":366,"binding":372,"id":374,"kind":66,"label":375,"provenance":376},[367,369,370],{"namespace":54,"value":368},"32",{"namespace":57,"value":368},{"namespace":57,"value":371},"032",{"device":373,"group":64},32,"switch.drop-target-bank-2-target-3","Drop Target Bank 2 - Target 3",{"source_refs":377,"status":39},[70],{"aliases":379,"binding":385,"id":387,"kind":66,"label":388,"provenance":389},[380,382,383],{"namespace":54,"value":381},"33",{"namespace":57,"value":381},{"namespace":57,"value":384},"033",{"device":386,"group":64},33,"switch.drop-target-bank-3-target-1","Drop Target Bank 3 - Target 1",{"source_refs":390,"status":39},[70],{"aliases":392,"binding":398,"id":400,"kind":66,"label":401,"provenance":402},[393,395,396],{"namespace":54,"value":394},"34",{"namespace":57,"value":394},{"namespace":57,"value":397},"034",{"device":399,"group":64},34,"switch.drop-target-bank-3-target-2","Drop Target Bank 3 - Target 2",{"source_refs":403,"status":39},[70],{"aliases":405,"binding":411,"id":413,"kind":66,"label":414,"provenance":415},[406,408,409],{"namespace":54,"value":407},"35",{"namespace":57,"value":407},{"namespace":57,"value":410},"035",{"device":412,"group":64},35,"switch.drop-target-bank-3-target-3","Drop Target Bank 3 - Target 3",{"source_refs":416,"status":39},[70],{"aliases":418,"binding":424,"id":426,"kind":66,"label":427,"provenance":428},[419,421,422],{"namespace":54,"value":420},"36",{"namespace":57,"value":420},{"namespace":57,"value":423},"036",{"device":425,"group":64},36,"switch.right-flipper-button-cabinet","Right Flipper Button (Cabinet)",{"source_refs":429,"status":39},[70],{"aliases":431,"binding":437,"id":439,"kind":66,"label":250,"provenance":440},[432,434,435],{"namespace":54,"value":433},"37",{"namespace":57,"value":433},{"namespace":57,"value":436},"037",{"device":438,"group":64},37,"switch.rollunder-gate.37",{"source_refs":441,"status":39},[70],{"aliases":443,"binding":449,"id":451,"kind":66,"label":250,"provenance":452},[444,446,447],{"namespace":54,"value":445},"38",{"namespace":57,"value":445},{"namespace":57,"value":448},"038",{"device":450,"group":64},38,"switch.rollunder-gate.38",{"source_refs":453,"status":39},[70],{"path":455,"status":23},"knowledge\u002Fwilliams\u002Fwarlok-1982.md",{"id":457,"manufacturer":47,"name":458,"year":459},"williams.warlok.1982","Warlok",1982,[],[462,481,496,511,526,541,556,567,577,587,597,607,617,627,637,647,657,667,677,687,697,707,717,727,737,747,757,767,777,787,797,807,817,827,837,847,857,870,883,896,909,922,935,948,961,974,987,1000,1013,1026,1039,1052,1065,1078,1091,1104,1117,1130,1143,1156,1171,1182,1193,1204,1215,1226,1241,1253,1265,1275,1287],{"aliases":463,"binding":473,"id":476,"kind":477,"label":478,"provenance":479},[464,467,469,471],{"namespace":465,"value":466},"pinmame.lamp","2",{"namespace":468,"value":466},"vpe-legacy.lamp",{"namespace":468,"value":470},"02",{"namespace":468,"value":472},"002",{"device":474,"group":475},2,"pinmame.output.lamp","lamp.ball-in-play-backglass","lamp","Ball In Play (Backglass)",{"source_refs":480,"status":39},[70],{"aliases":482,"binding":490,"id":492,"kind":477,"label":493,"provenance":494},[483,485,486,488],{"namespace":465,"value":484},"3",{"namespace":468,"value":484},{"namespace":468,"value":487},"03",{"namespace":468,"value":489},"003",{"device":491,"group":475},3,"lamp.tilt-backglass","Tilt (Backglass)",{"source_refs":495,"status":39},[70],{"aliases":497,"binding":505,"id":507,"kind":477,"label":508,"provenance":509},[498,500,501,503],{"namespace":465,"value":499},"4",{"namespace":468,"value":499},{"namespace":468,"value":502},"04",{"namespace":468,"value":504},"004",{"device":506,"group":475},4,"lamp.game-over-backglass","Game Over (Backglass)",{"source_refs":510,"status":39},[70],{"aliases":512,"binding":520,"id":522,"kind":477,"label":523,"provenance":524},[513,515,516,518],{"namespace":465,"value":514},"5",{"namespace":468,"value":514},{"namespace":468,"value":517},"05",{"namespace":468,"value":519},"005",{"device":521,"group":475},5,"lamp.match-backglass","Match (Backglass)",{"source_refs":525,"status":39},[70],{"aliases":527,"binding":535,"id":537,"kind":477,"label":538,"provenance":539},[528,530,531,533],{"namespace":465,"value":529},"6",{"namespace":468,"value":529},{"namespace":468,"value":532},"06",{"namespace":468,"value":534},"006",{"device":536,"group":475},6,"lamp.high-score-to-date-backglass","High Score To Date (Backglass)",{"source_refs":540,"status":39},[70],{"aliases":542,"binding":550,"id":552,"kind":477,"label":553,"provenance":554},[543,545,546,548],{"namespace":465,"value":544},"8",{"namespace":468,"value":544},{"namespace":468,"value":547},"08",{"namespace":468,"value":549},"008",{"device":551,"group":475},8,"lamp.outputs-8","outputs 8",{"source_refs":555,"status":39},[70],{"aliases":557,"binding":562,"id":563,"kind":477,"label":564,"provenance":565},[558,559,560,561],{"namespace":465,"value":74},{"namespace":468,"value":74},{"namespace":468,"value":77},{"namespace":468,"value":79},{"device":81,"group":475},"lamp.outputs-9","outputs 9",{"source_refs":566,"status":39},[70],{"aliases":568,"binding":572,"id":573,"kind":477,"label":574,"provenance":575},[569,570,571],{"namespace":465,"value":89},{"namespace":468,"value":89},{"namespace":468,"value":92},{"device":94,"group":475},"lamp.outputs-10","outputs 10",{"source_refs":576,"status":39},[70],{"aliases":578,"binding":582,"id":583,"kind":477,"label":584,"provenance":585},[579,580,581],{"namespace":465,"value":102},{"namespace":468,"value":102},{"namespace":468,"value":105},{"device":107,"group":475},"lamp.outputs-11","outputs 11",{"source_refs":586,"status":39},[70],{"aliases":588,"binding":592,"id":593,"kind":477,"label":594,"provenance":595},[589,590,591],{"namespace":465,"value":115},{"namespace":468,"value":115},{"namespace":468,"value":118},{"device":120,"group":475},"lamp.outputs-12","outputs 12",{"source_refs":596,"status":39},[70],{"aliases":598,"binding":602,"id":603,"kind":477,"label":604,"provenance":605},[599,600,601],{"namespace":465,"value":128},{"namespace":468,"value":128},{"namespace":468,"value":131},{"device":133,"group":475},"lamp.outputs-13","outputs 13",{"source_refs":606,"status":39},[70],{"aliases":608,"binding":612,"id":613,"kind":477,"label":614,"provenance":615},[609,610,611],{"namespace":465,"value":141},{"namespace":468,"value":141},{"namespace":468,"value":144},{"device":146,"group":475},"lamp.outputs-14","outputs 14",{"source_refs":616,"status":39},[70],{"aliases":618,"binding":622,"id":623,"kind":477,"label":624,"provenance":625},[619,620,621],{"namespace":465,"value":154},{"namespace":468,"value":154},{"namespace":468,"value":157},{"device":159,"group":475},"lamp.shoot-again-backglass","Shoot Again (Backglass)",{"source_refs":626,"status":39},[70],{"aliases":628,"binding":632,"id":633,"kind":477,"label":634,"provenance":635},[629,630,631],{"namespace":465,"value":167},{"namespace":468,"value":167},{"namespace":468,"value":170},{"device":172,"group":475},"lamp.outputs-16","outputs 16",{"source_refs":636,"status":39},[70],{"aliases":638,"binding":642,"id":643,"kind":477,"label":644,"provenance":645},[639,640,641],{"namespace":465,"value":180},{"namespace":468,"value":180},{"namespace":468,"value":183},{"device":185,"group":475},"lamp.outputs-17","outputs 17",{"source_refs":646,"status":39},[70],{"aliases":648,"binding":652,"id":653,"kind":477,"label":654,"provenance":655},[649,650,651],{"namespace":465,"value":192},{"namespace":468,"value":192},{"namespace":468,"value":195},{"device":197,"group":475},"lamp.outputs-18","outputs 18",{"source_refs":656,"status":39},[70],{"aliases":658,"binding":662,"id":663,"kind":477,"label":664,"provenance":665},[659,660,661],{"namespace":465,"value":204},{"namespace":468,"value":204},{"namespace":468,"value":207},{"device":209,"group":475},"lamp.outputs-19","outputs 19",{"source_refs":666,"status":39},[70],{"aliases":668,"binding":672,"id":673,"kind":477,"label":674,"provenance":675},[669,670,671],{"namespace":465,"value":217},{"namespace":468,"value":217},{"namespace":468,"value":220},{"device":222,"group":475},"lamp.outputs-20","outputs 20",{"source_refs":676,"status":39},[70],{"aliases":678,"binding":682,"id":683,"kind":477,"label":684,"provenance":685},[679,680,681],{"namespace":465,"value":230},{"namespace":468,"value":230},{"namespace":468,"value":233},{"device":235,"group":475},"lamp.outputs-21","outputs 21",{"source_refs":686,"status":39},[70],{"aliases":688,"binding":692,"id":693,"kind":477,"label":694,"provenance":695},[689,690,691],{"namespace":465,"value":243},{"namespace":468,"value":243},{"namespace":468,"value":246},{"device":248,"group":475},"lamp.outputs-22","outputs 22",{"source_refs":696,"status":39},[70],{"aliases":698,"binding":702,"id":703,"kind":477,"label":704,"provenance":705},[699,700,701],{"namespace":465,"value":256},{"namespace":468,"value":256},{"namespace":468,"value":259},{"device":261,"group":475},"lamp.outputs-23","outputs 23",{"source_refs":706,"status":39},[70],{"aliases":708,"binding":712,"id":713,"kind":477,"label":714,"provenance":715},[709,710,711],{"namespace":465,"value":268},{"namespace":468,"value":268},{"namespace":468,"value":271},{"device":5,"group":475},"lamp.outputs-24","outputs 24",{"source_refs":716,"status":39},[70],{"aliases":718,"binding":722,"id":723,"kind":477,"label":724,"provenance":725},[719,720,721],{"namespace":465,"value":279},{"namespace":468,"value":279},{"namespace":468,"value":282},{"device":284,"group":475},"lamp.outputs-25","outputs 25",{"source_refs":726,"status":39},[70],{"aliases":728,"binding":732,"id":733,"kind":477,"label":734,"provenance":735},[729,730,731],{"namespace":465,"value":291},{"namespace":468,"value":291},{"namespace":468,"value":294},{"device":296,"group":475},"lamp.outputs-26","outputs 26",{"source_refs":736,"status":39},[70],{"aliases":738,"binding":742,"id":743,"kind":477,"label":744,"provenance":745},[739,740,741],{"namespace":465,"value":303},{"namespace":468,"value":303},{"namespace":468,"value":306},{"device":308,"group":475},"lamp.outputs-27","outputs 27",{"source_refs":746,"status":39},[70],{"aliases":748,"binding":752,"id":753,"kind":477,"label":754,"provenance":755},[749,750,751],{"namespace":465,"value":316},{"namespace":468,"value":316},{"namespace":468,"value":319},{"device":321,"group":475},"lamp.outputs-28","outputs 28",{"source_refs":756,"status":39},[70],{"aliases":758,"binding":762,"id":763,"kind":477,"label":764,"provenance":765},[759,760,761],{"namespace":465,"value":329},{"namespace":468,"value":329},{"namespace":468,"value":332},{"device":334,"group":475},"lamp.outputs-29","outputs 29",{"source_refs":766,"status":39},[70],{"aliases":768,"binding":772,"id":773,"kind":477,"label":774,"provenance":775},[769,770,771],{"namespace":465,"value":342},{"namespace":468,"value":342},{"namespace":468,"value":345},{"device":347,"group":475},"lamp.outputs-30","outputs 30",{"source_refs":776,"status":39},[70],{"aliases":778,"binding":782,"id":783,"kind":477,"label":784,"provenance":785},[779,780,781],{"namespace":465,"value":355},{"namespace":468,"value":355},{"namespace":468,"value":358},{"device":360,"group":475},"lamp.outputs-31","outputs 31",{"source_refs":786,"status":39},[70],{"aliases":788,"binding":792,"id":793,"kind":477,"label":794,"provenance":795},[789,790,791],{"namespace":465,"value":368},{"namespace":468,"value":368},{"namespace":468,"value":371},{"device":373,"group":475},"lamp.outputs-32","outputs 32",{"source_refs":796,"status":39},[70],{"aliases":798,"binding":802,"id":803,"kind":477,"label":804,"provenance":805},[799,800,801],{"namespace":465,"value":381},{"namespace":468,"value":381},{"namespace":468,"value":384},{"device":386,"group":475},"lamp.outputs-33","outputs 33",{"source_refs":806,"status":39},[70],{"aliases":808,"binding":812,"id":813,"kind":477,"label":814,"provenance":815},[809,810,811],{"namespace":465,"value":394},{"namespace":468,"value":394},{"namespace":468,"value":397},{"device":399,"group":475},"lamp.outputs-34","outputs 34",{"source_refs":816,"status":39},[70],{"aliases":818,"binding":822,"id":823,"kind":477,"label":824,"provenance":825},[819,820,821],{"namespace":465,"value":407},{"namespace":468,"value":407},{"namespace":468,"value":410},{"device":412,"group":475},"lamp.outputs-35","outputs 35",{"source_refs":826,"status":39},[70],{"aliases":828,"binding":832,"id":833,"kind":477,"label":834,"provenance":835},[829,830,831],{"namespace":465,"value":420},{"namespace":468,"value":420},{"namespace":468,"value":423},{"device":425,"group":475},"lamp.outputs-36","outputs 36",{"source_refs":836,"status":39},[70],{"aliases":838,"binding":842,"id":843,"kind":477,"label":844,"provenance":845},[839,840,841],{"namespace":465,"value":433},{"namespace":468,"value":433},{"namespace":468,"value":436},{"device":438,"group":475},"lamp.outputs-37","outputs 37",{"source_refs":846,"status":39},[70],{"aliases":848,"binding":852,"id":853,"kind":477,"label":854,"provenance":855},[849,850,851],{"namespace":465,"value":445},{"namespace":468,"value":445},{"namespace":468,"value":448},{"device":450,"group":475},"lamp.outputs-38","outputs 38",{"source_refs":856,"status":39},[70],{"aliases":858,"binding":864,"id":866,"kind":477,"label":867,"provenance":868},[859,861,862],{"namespace":465,"value":860},"39",{"namespace":468,"value":860},{"namespace":468,"value":863},"039",{"device":865,"group":475},39,"lamp.outputs-39","outputs 39",{"source_refs":869,"status":39},[70],{"aliases":871,"binding":877,"id":879,"kind":477,"label":880,"provenance":881},[872,874,875],{"namespace":465,"value":873},"40",{"namespace":468,"value":873},{"namespace":468,"value":876},"040",{"device":878,"group":475},40,"lamp.outputs-40","outputs 40",{"source_refs":882,"status":39},[70],{"aliases":884,"binding":890,"id":892,"kind":477,"label":893,"provenance":894},[885,887,888],{"namespace":465,"value":886},"41",{"namespace":468,"value":886},{"namespace":468,"value":889},"041",{"device":891,"group":475},41,"lamp.outputs-41","outputs 41",{"source_refs":895,"status":39},[70],{"aliases":897,"binding":903,"id":905,"kind":477,"label":906,"provenance":907},[898,900,901],{"namespace":465,"value":899},"42",{"namespace":468,"value":899},{"namespace":468,"value":902},"042",{"device":904,"group":475},42,"lamp.outputs-42","outputs 42",{"source_refs":908,"status":39},[70],{"aliases":910,"binding":916,"id":918,"kind":477,"label":919,"provenance":920},[911,913,914],{"namespace":465,"value":912},"43",{"namespace":468,"value":912},{"namespace":468,"value":915},"043",{"device":917,"group":475},43,"lamp.outputs-43","outputs 43",{"source_refs":921,"status":39},[70],{"aliases":923,"binding":929,"id":931,"kind":477,"label":932,"provenance":933},[924,926,927],{"namespace":465,"value":925},"44",{"namespace":468,"value":925},{"namespace":468,"value":928},"044",{"device":930,"group":475},44,"lamp.outputs-44","outputs 44",{"source_refs":934,"status":39},[70],{"aliases":936,"binding":942,"id":944,"kind":477,"label":945,"provenance":946},[937,939,940],{"namespace":465,"value":938},"45",{"namespace":468,"value":938},{"namespace":468,"value":941},"045",{"device":943,"group":475},45,"lamp.outputs-45","outputs 45",{"source_refs":947,"status":39},[70],{"aliases":949,"binding":955,"id":957,"kind":477,"label":958,"provenance":959},[950,952,953],{"namespace":465,"value":951},"46",{"namespace":468,"value":951},{"namespace":468,"value":954},"046",{"device":956,"group":475},46,"lamp.outputs-46","outputs 46",{"source_refs":960,"status":39},[70],{"aliases":962,"binding":968,"id":970,"kind":477,"label":971,"provenance":972},[963,965,966],{"namespace":465,"value":964},"47",{"namespace":468,"value":964},{"namespace":468,"value":967},"047",{"device":969,"group":475},47,"lamp.outputs-47","outputs 47",{"source_refs":973,"status":39},[70],{"aliases":975,"binding":981,"id":983,"kind":477,"label":984,"provenance":985},[976,978,979],{"namespace":465,"value":977},"49",{"namespace":468,"value":977},{"namespace":468,"value":980},"049",{"device":982,"group":475},49,"lamp.outputs-49","outputs 49",{"source_refs":986,"status":39},[70],{"aliases":988,"binding":994,"id":996,"kind":477,"label":997,"provenance":998},[989,991,992],{"namespace":465,"value":990},"50",{"namespace":468,"value":990},{"namespace":468,"value":993},"050",{"device":995,"group":475},50,"lamp.outputs-50","outputs 50",{"source_refs":999,"status":39},[70],{"aliases":1001,"binding":1007,"id":1009,"kind":477,"label":1010,"provenance":1011},[1002,1004,1005],{"namespace":465,"value":1003},"51",{"namespace":468,"value":1003},{"namespace":468,"value":1006},"051",{"device":1008,"group":475},51,"lamp.outputs-51","outputs 51",{"source_refs":1012,"status":39},[70],{"aliases":1014,"binding":1020,"id":1022,"kind":477,"label":1023,"provenance":1024},[1015,1017,1018],{"namespace":465,"value":1016},"52",{"namespace":468,"value":1016},{"namespace":468,"value":1019},"052",{"device":1021,"group":475},52,"lamp.outputs-52","outputs 52",{"source_refs":1025,"status":39},[70],{"aliases":1027,"binding":1033,"id":1035,"kind":477,"label":1036,"provenance":1037},[1028,1030,1031],{"namespace":465,"value":1029},"53",{"namespace":468,"value":1029},{"namespace":468,"value":1032},"053",{"device":1034,"group":475},53,"lamp.outputs-53","outputs 53",{"source_refs":1038,"status":39},[70],{"aliases":1040,"binding":1046,"id":1048,"kind":477,"label":1049,"provenance":1050},[1041,1043,1044],{"namespace":465,"value":1042},"54",{"namespace":468,"value":1042},{"namespace":468,"value":1045},"054",{"device":1047,"group":475},54,"lamp.outputs-54","outputs 54",{"source_refs":1051,"status":39},[70],{"aliases":1053,"binding":1059,"id":1061,"kind":477,"label":1062,"provenance":1063},[1054,1056,1057],{"namespace":465,"value":1055},"55",{"namespace":468,"value":1055},{"namespace":468,"value":1058},"055",{"device":1060,"group":475},55,"lamp.outputs-55","outputs 55",{"source_refs":1064,"status":39},[70],{"aliases":1066,"binding":1072,"id":1074,"kind":477,"label":1075,"provenance":1076},[1067,1069,1070],{"namespace":465,"value":1068},"57",{"namespace":468,"value":1068},{"namespace":468,"value":1071},"057",{"device":1073,"group":475},57,"lamp.outputs-57","outputs 57",{"source_refs":1077,"status":39},[70],{"aliases":1079,"binding":1085,"id":1087,"kind":477,"label":1088,"provenance":1089},[1080,1082,1083],{"namespace":465,"value":1081},"58",{"namespace":468,"value":1081},{"namespace":468,"value":1084},"058",{"device":1086,"group":475},58,"lamp.outputs-58","outputs 58",{"source_refs":1090,"status":39},[70],{"aliases":1092,"binding":1098,"id":1100,"kind":477,"label":1101,"provenance":1102},[1093,1095,1096],{"namespace":465,"value":1094},"59",{"namespace":468,"value":1094},{"namespace":468,"value":1097},"059",{"device":1099,"group":475},59,"lamp.outputs-59","outputs 59",{"source_refs":1103,"status":39},[70],{"aliases":1105,"binding":1111,"id":1113,"kind":477,"label":1114,"provenance":1115},[1106,1108,1109],{"namespace":465,"value":1107},"60",{"namespace":468,"value":1107},{"namespace":468,"value":1110},"060",{"device":1112,"group":475},60,"lamp.outputs-60","outputs 60",{"source_refs":1116,"status":39},[70],{"aliases":1118,"binding":1124,"id":1126,"kind":477,"label":1127,"provenance":1128},[1119,1121,1122],{"namespace":465,"value":1120},"61",{"namespace":468,"value":1120},{"namespace":468,"value":1123},"061",{"device":1125,"group":475},61,"lamp.outputs-61","outputs 61",{"source_refs":1129,"status":39},[70],{"aliases":1131,"binding":1137,"id":1139,"kind":477,"label":1140,"provenance":1141},[1132,1134,1135],{"namespace":465,"value":1133},"62",{"namespace":468,"value":1133},{"namespace":468,"value":1136},"062",{"device":1138,"group":475},62,"lamp.outputs-62","outputs 62",{"source_refs":1142,"status":39},[70],{"aliases":1144,"binding":1150,"id":1152,"kind":477,"label":1153,"provenance":1154},[1145,1147,1148],{"namespace":465,"value":1146},"63",{"namespace":468,"value":1146},{"namespace":468,"value":1149},"063",{"device":1151,"group":475},63,"lamp.outputs-63","outputs 63",{"source_refs":1155,"status":39},[70],{"aliases":1157,"binding":1164,"id":1166,"kind":1167,"label":1168,"provenance":1169},[1158,1160,1162,1163],{"namespace":1159,"value":55},"pinmame.coil",{"namespace":1161,"value":55},"vpe-legacy.coil",{"namespace":1161,"value":59},{"namespace":1161,"value":61},{"device":63,"group":1165},"pinmame.output.solenoid","device.drop-target-bank-1-reset","coil","Drop Target Bank 1 Reset",{"source_refs":1170,"status":39},[70],{"aliases":1172,"binding":1177,"id":1178,"kind":1167,"label":1179,"provenance":1180},[1173,1174,1175,1176],{"namespace":1159,"value":466},{"namespace":1161,"value":466},{"namespace":1161,"value":470},{"namespace":1161,"value":472},{"device":474,"group":1165},"device.drop-target-bank-2-reset","Drop Target Bank 2 Reset",{"source_refs":1181,"status":39},[70],{"aliases":1183,"binding":1188,"id":1189,"kind":1167,"label":1190,"provenance":1191},[1184,1185,1186,1187],{"namespace":1159,"value":484},{"namespace":1161,"value":484},{"namespace":1161,"value":487},{"namespace":1161,"value":489},{"device":491,"group":1165},"device.drop-target-bank-3-reset","Drop Target Bank 3 Reset",{"source_refs":1192,"status":39},[70],{"aliases":1194,"binding":1199,"id":1200,"kind":1167,"label":1201,"provenance":1202},[1195,1196,1197,1198],{"namespace":1159,"value":499},{"namespace":1161,"value":499},{"namespace":1161,"value":502},{"namespace":1161,"value":504},{"device":506,"group":1165},"device.drain-ball-release","Drain Ball Release",{"source_refs":1203,"status":39},[70],{"aliases":1205,"binding":1210,"id":1211,"kind":1167,"label":1212,"provenance":1213},[1206,1207,1208,1209],{"namespace":1159,"value":514},{"namespace":1161,"value":514},{"namespace":1161,"value":517},{"namespace":1161,"value":519},{"device":521,"group":1165},"device.drop-target-33-individual-drop","Drop Target 33 Individual Drop",{"source_refs":1214,"status":39},[70],{"aliases":1216,"binding":1221,"id":1222,"kind":1167,"label":1223,"provenance":1224},[1217,1218,1219,1220],{"namespace":1159,"value":529},{"namespace":1161,"value":529},{"namespace":1161,"value":532},{"namespace":1161,"value":534},{"device":536,"group":1165},"device.drop-target-34-individual-drop","Drop Target 34 Individual Drop",{"source_refs":1225,"status":39},[70],{"aliases":1227,"binding":1235,"id":1237,"kind":1167,"label":1238,"provenance":1239},[1228,1230,1231,1233],{"namespace":1159,"value":1229},"7",{"namespace":1161,"value":1229},{"namespace":1161,"value":1232},"07",{"namespace":1161,"value":1234},"007",{"device":1236,"group":1165},7,"device.drop-target-35-individual-drop","Drop Target 35 Individual Drop",{"source_refs":1240,"status":39},[70],{"aliases":1242,"binding":1247,"id":1248,"kind":1249,"label":1250,"provenance":1251},[1243,1244,1245,1246],{"namespace":1159,"value":544},{"namespace":1161,"value":544},{"namespace":1161,"value":547},{"namespace":1161,"value":549},{"device":551,"group":1165},"device.gi-relay-inverted","flasher","GI Relay (Inverted)",{"source_refs":1252,"status":39},[70],{"aliases":1254,"binding":1260,"id":1261,"kind":1167,"label":1262,"provenance":1263},[1255,1256,1257,1258],{"namespace":1159,"value":141},{"namespace":1161,"value":141},{"namespace":1161,"value":144},{"namespace":1161,"value":1259},"c_flipper_lower_right",{"device":146,"group":1165},"device.flipper-lower-right","Right Flipper",{"source_refs":1264,"status":39},[70],{"aliases":1266,"binding":1270,"id":1271,"kind":1167,"label":1272,"provenance":1273},[1267,1268,1269],{"namespace":1159,"value":154},{"namespace":1161,"value":154},{"namespace":1161,"value":157},{"device":159,"group":1165},"device.knocker","Knocker",{"source_refs":1274,"status":39},[70],{"aliases":1276,"binding":1282,"id":1283,"kind":1167,"label":1284,"provenance":1285},[1277,1278,1279,1280],{"namespace":1159,"value":167},{"namespace":1161,"value":167},{"namespace":1161,"value":170},{"namespace":1161,"value":1281},"c_flipper_lower_left",{"device":172,"group":1165},"device.flipper-lower-left","Left Flipper",{"source_refs":1286,"status":39},[70],{"aliases":1288,"binding":1292,"id":1293,"kind":1167,"label":1294,"provenance":1295},[1289,1290,1291],{"namespace":1159,"value":256},{"namespace":1161,"value":256},{"namespace":1161,"value":259},{"device":261,"group":1165},"device.game-on-relay","Game On Relay",{"source_refs":1296,"status":39},[70],[],[1299,1305],{"attribution":1300,"id":70,"kind":1301,"locator":1302,"revision":1303,"uri":1304},"pinmame-game-defs contributors","legacy_json","games\u002Fwarlok.json; origin=vbscript-agent-extracted","4ea106d080728648a693af3b4dcabb091eee0a02","https:\u002F\u002Fgithub.com\u002Fvpinball\u002Fpinmame-game-defs",{"attribution":1306,"id":1307,"kind":1308,"license":1309,"locator":1310,"revision":1311,"uri":1312},"PinMAME contributors","pinmame.catalog.4ec52ff0ac13","pinmame_catalog","BSD-3-Clause","PinmameGetGames","4ec52ff0ac133ac251681518aed2249e19fe26eb","https:\u002F\u002Fgithub.com\u002Fvpinball\u002Fpinmame","williams-warlok-1982","machines\u002Fpartial\u002Fwilliams\u002Fwarlok-1982.json","\u003Ch2 id=\"overview\">Overview\u003C\u002Fh2>\n\u003Cp>Legacy evidence identifies this candidate as Williams (1982). The information below is preserved for recreation work but is not automatically treated as validated physical-machine fact.\u003C\u002Fp>\n\u003Ch2 id=\"playfield-devices\">Playfield devices\u003C\u002Fh2>\n\u003Cp>Switch, lamp\u002FGI, and controlled-device candidates are in the adjacent machine definition. Source-specific implementation notes are retained below.\u003C\u002Fp>\n\u003Ch2 id=\"custom-mechanisms\">Custom mechanisms\u003C\u002Fh2>\n\u003Cp>No custom mechanism conclusion has been validated. Manuals, schematics, PinMAME source, and gameplay evidence still need to be checked.\u003C\u002Fp>\n\u003Ch2 id=\"ball-state-transitions\">Ball-state transitions\u003C\u002Fh2>\n\u003Cp>Ball paths, trough ordering, locks, kickouts, and causal transitions have not yet been normalized. Relevant source notes follow under Evidence notes.\u003C\u002Fp>\n\u003Ch2 id=\"controller-interactions\">Controller interactions\u003C\u002Fh2>\n\u003Cp>Controller callbacks and bindings are candidate evidence only until reconciled against PinMAME and physical documentation.\u003C\u002Fp>\n\u003Ch2 id=\"service-and-setup-information\">Service and setup information\u003C\u002Fh2>\n\u003Cp>Unknown; locate operator\u002Fservice documentation.\u003C\u002Fp>\n\u003Ch2 id=\"timing-and-tuning-observations\">Timing and tuning observations\u003C\u002Fh2>\n\u003Cp>Source timing values may describe a particular VPX implementation rather than physical hardware and require review.\u003C\u002Fp>\n\u003Ch2 id=\"recreation-guidance\">Recreation guidance\u003C\u002Fh2>\n\u003Cp>Do not treat this partial definition as a complete authoring specification. Resolve every coverage requirement and conflict before promotion.\u003C\u002Fp>\n\u003Ch2 id=\"evidence-notes\">Evidence notes\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F0._note\u003C\u002Fcode>: vpmNudge.TiltSwitch = 1. Sensitivity = 3. TiltObj = Array(Bumper1, LeftSlingshot, RightSlingshot).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F1._note\u003C\u002Fcode>: Controller.Switch(9) set on Drain_Hit\u002FDrain_UnHit. Ball pre-created at init (Drain.Createball, Controller.Switch(9)=1). Single-ball drain, no trough — typical System 7 design.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F2._note\u003C\u002Fcode>: sw10_Spin sub fires vpmTimer.PulseSw(10). Spinner object with VLM rod animation (BM_Spin1Rod).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F3._note\u003C\u002Fcode>: sw11_Spin sub fires vpmTimer.PulseSw(11). Spinner object with VLM rod animation (BM_Spin2Rod).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F4._note\u003C\u002Fcode>: sw12_Spin sub fires vpmTimer.PulseSw(12). Spinner object with VLM rod animation (BM_Spin3Rod).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F5._note\u003C\u002Fcode>: Bumper1_Hit fires vpmTimer.PulseSw 13. Has VLM skirt animation (BP_Bumper1Skirt).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F6._note\u003C\u002Fcode>: Bumper2_Hit fires vpmTimer.PulseSw 14. Has VLM skirt animation (BP_Bumper2Skirt). Sound: RandomSoundBumperMiddle.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F7._note\u003C\u002Fcode>: Bumper3_Hit fires vpmTimer.PulseSw 15. Has VLM skirt animation (BP_Bumper3Skirt). Sound: RandomSoundBumperTop.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F8._note\u003C\u002Fcode>: Controller.Switch(16) on\u002Foff via sw16_Hit\u002Fsw16_UnHit. Grouped with other wire triggers. VLM wire animation (CurrentAnimOffset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F9._note\u003C\u002Fcode>: Controller.Switch(17) on\u002Foff via sw17_Hit\u002Fsw17_UnHit. Grouped with other wire triggers.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F10._note\u003C\u002Fcode>: Controller.Switch(18) on\u002Foff via sw18_Hit\u002Fsw18_UnHit. Grouped with other wire triggers.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F11._note\u003C\u002Fcode>: Tsw19_Hit fires PrimStandupTgtHit 19 (animated standup target with BM_HT primitive) then vpmTimer.PulseSw 19.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F12._note\u003C\u002Fcode>: LeftSlingShot_Slingshot fires vpmTimer.PulseSw 20. Has 3-frame VLM sling arm animation (BP_LSling1, BP_LSling2, BP_LSlingArm).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F13._note\u003C\u002Fcode>: RightSlingShot_Slingshot fires vpmTimer.PulseSw 21. Has 3-frame VLM sling arm animation (BP_RSling1, BP_RSling2, BP_RSlingArm).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F14._note\u003C\u002Fcode>: Controller.Switch(22) on\u002Foff via sw22_Hit\u002Fsw22_UnHit. Grouped under &#39;rollunder gates&#39; comment.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F15._note\u003C\u002Fcode>: Controller.Switch(23) on\u002Foff via sw23_Hit\u002Fsw23_UnHit. Grouped under &#39;Wire Triggers&#39; comment. VLM animation.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F16._note\u003C\u002Fcode>: Controller.Switch(24) on\u002Foff via sw24_Hit\u002Fsw24_UnHit. Grouped under &#39;Wire Triggers&#39; comment. VLM animation.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F17._note\u003C\u002Fcode>: Controller.Switch(25) on\u002Foff via sw25_Hit\u002Fsw25_UnHit. Grouped under &#39;Wire Triggers&#39; comment. VLM animation.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F18._note\u003C\u002Fcode>: Controller.Switch(26) on\u002Foff via sw26_Hit\u002Fsw26_UnHit. Grouped under &#39;Wire Triggers&#39; comment. VLM animation.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F19._note\u003C\u002Fcode>: Sw27_Hit calls DTHit 27. Part of Bank 1 (sw27-29). DT27 = new DropTarget(sw27, sw27y, BM_DT1_1, 27). Reset by Sol 1 (Sol1DropUp).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F20._note\u003C\u002Fcode>: Sw28_Hit calls DTHit 28. Part of Bank 1 (sw27-29). DT28 = new DropTarget(sw28, sw28y, BM_DT1_2, 28). Reset by Sol 1.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F21._note\u003C\u002Fcode>: Sw29_Hit calls DTHit 29. Part of Bank 1 (sw27-29). DT29 = new DropTarget(sw29, sw29y, BM_DT1_3, 29). Reset by Sol 1.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F22._note\u003C\u002Fcode>: Sw30_Hit calls DTHit 30. Part of Bank 2 (sw30-32). DT30 = new DropTarget(sw30, sw30y, BM_DT2_1, 30). Reset by Sol 2 (Sol2DropUp).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F23._note\u003C\u002Fcode>: Sw31_Hit calls DTHit 31. Part of Bank 2 (sw30-32). DT31 = new DropTarget(sw31, sw31y, BM_DT2_2, 31). Reset by Sol 2.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F24._note\u003C\u002Fcode>: Sw32_Hit calls DTHit 32. Part of Bank 2 (sw30-32). DT32 = new DropTarget(sw32, sw32y, BM_DT2_3, 32). Reset by Sol 2.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F25._note\u003C\u002Fcode>: Sw33_Hit calls DTHit 33. Part of Bank 3 (sw33-35). DT33 = new DropTarget(sw33, sw33y, BM_DT3_1, 33). Reset by Sol 3 (Sol3DropUp). Also individually dropped by Sol 5 (dt1drop).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F26._note\u003C\u002Fcode>: Sw34_Hit calls DTHit 34. Part of Bank 3 (sw33-35). DT34 = new DropTarget(sw34, sw34y, BM_DT3_2, 34). Reset by Sol 3. Also individually dropped by Sol 6 (dt2drop).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F27._note\u003C\u002Fcode>: Sw35_Hit calls DTHit 35. Part of Bank 3 (sw33-35). DT35 = new DropTarget(sw35, sw35y, BM_DT3_3, 35). Reset by Sol 3. Also individually dropped by Sol 7 (dt3drop).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F28._note\u003C\u002Fcode>: Controller.Switch(36)=1 on RightFlipperKey down, =0 on key up. Used for lane change or special feature — not a playfield switch. Set directly from keyboard handler.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F29._note\u003C\u002Fcode>: Controller.Switch(37) on\u002Foff via sw37_Hit\u002Fsw37_UnHit. Grouped under &#39;rollunder gates&#39; comment.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fswitches\u002F30._note\u003C\u002Fcode>: Controller.Switch(38) on\u002Foff via sw38_Hit\u002Fsw38_UnHit. Grouped under &#39;rollunder gates&#39; comment.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F0._vbscript_callback\u003C\u002Fcode>: Sol1DropUp\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F0._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F0._note\u003C\u002Fcode>: Raises drop targets sw27, sw28, sw29 (Bank 1) via DTRaise. Sound: RandomSoundDropTargetReset.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F1._vbscript_callback\u003C\u002Fcode>: Sol2DropUp\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F1._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F1._note\u003C\u002Fcode>: Raises drop targets sw30, sw31, sw32 (Bank 2) via DTRaise. Sound: RandomSoundDropTargetReset.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F2._vbscript_callback\u003C\u002Fcode>: Sol3DropUp\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F2._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F2._note\u003C\u002Fcode>: Raises drop targets sw33, sw34, sw35 (Bank 3) via DTRaise. Sound: RandomSoundDropTargetReset.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F3._vbscript_callback\u003C\u002Fcode>: SolRelease\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F3._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F3._note\u003C\u002Fcode>: Kicks ball from Drain kicker (Drain.kick 66,20). Checks BallCntOver for sound selection. No trough — simple single-ball drain\u002Frelease mechanism typical of System 7.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F4._vbscript_callback\u003C\u002Fcode>: dt1drop\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F4._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F4._note\u003C\u002Fcode>: Raises individual drop target sw33 (Bank 3, Target 1) via DTRaise 33. Sound: RandomSoundDropTargetReset.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F5._vbscript_callback\u003C\u002Fcode>: dt2drop\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F5._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F5._note\u003C\u002Fcode>: Raises individual drop target sw34 (Bank 3, Target 2) via DTRaise 34. Sound: RandomSoundDropTargetReset.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F6._vbscript_callback\u003C\u002Fcode>: dt3drop\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F6._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F6._note\u003C\u002Fcode>: Raises individual drop target sw35 (Bank 3, Target 3) via DTRaise 35. Sound: RandomSoundDropTargetReset.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F7._vbscript_callback\u003C\u002Fcode>: SolGi\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F7._inferred_type\u003C\u002Fcode>: gi_relay\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F7._note\u003C\u002Fcode>: GI relay with INVERTED logic — when enabled, GI turns OFF (all lights in GI collection set to state=0). When disabled, GI turns ON. Comment says &#39;The GI is inverted for some reason when the Orbit shot is made (MetaTed hack fix)&#39;. Initialized with SolGi(False) at table init to turn GI on.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F8._vbscript_callback\u003C\u002Fcode>: SolRFlipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F8._inferred_type\u003C\u002Fcode>: flipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F8._note\u003C\u002Fcode>: sLRFlipper=14 (S7.VBS framework constant). nFozzy flipper implementation with RF.Fire, ReflipAngle=20, live catch, FlipperTricks. EOSTnew=1.5 (EM to late 80s setting).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F9._vbscript_callback\u003C\u002Fcode>: SolKnocker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F9._inferred_type\u003C\u002Fcode>: knocker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F9._note\u003C\u002Fcode>: Cabinet knocker solenoid. Calls KnockerSolenoid sound function.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F10._vbscript_callback\u003C\u002Fcode>: SolLFlipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F10._inferred_type\u003C\u002Fcode>: flipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F10._note\u003C\u002Fcode>: sLLFlipper=16 (S7.VBS framework constant). nFozzy flipper implementation with LF.Fire, ReflipAngle=20, live catch, FlipperTricks. EOSTnew=1.5 (EM to late 80s setting).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F11._vbscript_callback\u003C\u002Fcode>: vpmNudge.SolGameOn\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F11._inferred_type\u003C\u002Fcode>: mechanism\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Fcoils\u002F11._note\u003C\u002Fcode>: Game-on solenoid handled by VPM framework. Controls nudge\u002Ftilt enable state.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F0._note\u003C\u002Fcode>: Backglass indicator lamp. Controller.Lamp(2) drives gi27 VPX object via LampCallback\u002FUpdateMultipleLamps.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F1._note\u003C\u002Fcode>: Backglass indicator lamp. Controller.Lamp(3) drives gi29 VPX object via UpdateMultipleLamps.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F2._note\u003C\u002Fcode>: Backglass indicator lamp. Controller.Lamp(4) drives gi25 VPX object via UpdateMultipleLamps.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F3._note\u003C\u002Fcode>: Backglass indicator lamp. Controller.Lamp(5) drives gi28 VPX object via UpdateMultipleLamps.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F4._note\u003C\u002Fcode>: Backglass indicator lamp. Controller.Lamp(6) drives gi30 VPX object via UpdateMultipleLamps.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F5._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L8 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F6._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L9 with Inserts, Parts, Playfield, Spin1 primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F7._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L10 with Gate_4, Inserts, Parts, Playfield, Spin2 primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F8._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L11 with Inserts, Parts, Playfield, Spin3 primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F9._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L12 with Gate_1, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F10._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L13 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F11._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L14 with Gate_6, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F12._note\u003C\u002Fcode>: Backglass indicator lamp AND playfield insert. Controller.Lamp(15) drives gi26 via UpdateMultipleLamps. Also has VLM lightmap array BL_L_L15 with FlipperR, FlipperRup, Inserts, Parts, Playfield, RSling primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F13._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L16 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F14._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L17 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F15._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L18 with Gate_5, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F16._note\u003C\u002Fcode>: Playfield insert lamp near Bumper 1. VLM lightmap array BL_L_L19 with BR1, Bumper1Skirt, HT, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F17._note\u003C\u002Fcode>: Playfield insert lamp near Drop Target Bank 1. VLM lightmap array BL_L_L20 with DT1_1, DT1_2, DT1_3, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F18._note\u003C\u002Fcode>: Playfield insert lamp near Drop Target Bank 2. VLM lightmap array BL_L_L21 with DT2_1, DT2_2, DT2_3, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F19._note\u003C\u002Fcode>: Playfield insert lamp near Drop Target Bank 3. VLM lightmap array BL_L_L22 with DT3_1, DT3_2, DT3_3, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F20._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L23 with DT1_2, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F21._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L24 with DT2_1, DT2_2, DT2_3, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F22._note\u003C\u002Fcode>: Playfield insert lamp near Bumper 2. VLM lightmap array BL_L_L25 with BR2, Bumper2Skirt, DT3_1, DT3_2, DT3_3, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F23._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L26 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F24._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L27 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F25._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L28 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F26._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L29 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F27._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L30 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F28._note\u003C\u002Fcode>: Playfield insert lamp near left flipper. VLM lightmap array BL_L_L31 with FlipperL, FlipperLup, Inserts, LSling1, LSling2, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F29._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L32 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F30._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L33 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F31._note\u003C\u002Fcode>: Playfield insert lamp near flippers. VLM lightmap array BL_L_L34 with FlipperLup, FlipperR, FlipperRup, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F32._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L35 with Gate_5, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F33._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L36 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F34._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L37 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F35._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L38 with Inserts, Parts, Playfield, RSling, RSling1, RSling2 primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F36._note\u003C\u002Fcode>: Playfield insert lamp near Bumper 1. VLM lightmap array BL_L_L39 with BR1, Bumper1Skirt, HT, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F37._note\u003C\u002Fcode>: Playfield insert lamp near left slingshot. VLM lightmap array BL_L_L40 with Inserts, LSling, LSling1, LSling2, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F38._note\u003C\u002Fcode>: Playfield insert lamp near left slingshot. VLM lightmap array BL_L_L41 with Inserts, LSling, LSling1, LSling2, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F39._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L42 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F40._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L43 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F41._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L44 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F42._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L45 with Inserts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F43._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L46 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F44._note\u003C\u002Fcode>: Playfield insert lamp near right slingshot. VLM lightmap array BL_L_L47 with Inserts, Parts, Playfield, RSling, RSling1, RSling2 primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F45._note\u003C\u002Fcode>: Playfield insert lamp near left slingshot. VLM lightmap array BL_L_L49 with Inserts, LSling, LSling1, LSling2, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F46._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L50 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F47._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L51 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F48._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L52 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F49._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L53 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F50._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L54 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F51._note\u003C\u002Fcode>: Playfield insert lamp near right slingshot. VLM lightmap array BL_L_L55 with Inserts, Parts, Playfield, RSling, RSling1, RSling2 primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F52._note\u003C\u002Fcode>: Playfield insert lamp near left slingshot. VLM lightmap array BL_L_L57 with Inserts, LSling, LSling1, LSling2, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F53._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L58 with Inserts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F54._note\u003C\u002Fcode>: Playfield insert lamp near right flipper. VLM lightmap array BL_L_L59 with FlipperR, Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F55._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L60 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F56._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L61 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F57._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L62 with Inserts, Parts, Playfield primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002Flamps\u002F58._note\u003C\u002Fcode>: Playfield insert lamp. VLM lightmap array BL_L_L63 with Inserts, Parts, Playfield, RSling2 primitives.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fwarlok.json#\u002F_source\u002Fconfidence_notes\u003C\u002Fcode>: High confidence extraction from VPW VBScript. Platform identified as Williams System 7 via LoadVPM &#39;01560000&#39;, &#39;S7.VBS&#39;, 3.26. ROM name &#39;wrlok_l3&#39; from cGameName constant. This is an early-80s EM\u002FSS hybrid era table with no traditional trough — instead uses a single Drain kicker (VPX object &#39;Drain&#39;) with Controller.Switch(9) set on Drain_Hit\u002FDrain_UnHit and SolCallback(4)=&#39;SolRelease&#39; which kicks the ball out with Drain.kick(66,20). Ball is pre-created on the Drain object at table init (Drain.Createball \u002F Controller.Switch(9)=1). No bsTrough or cvpmBallStack objects used — this is a simple single-ball drain-and-release pattern typical of System 7 era. Switches identified from Controller.Switch on\u002Foff pairs (drain sw9, wire triggers sw16-18\u002F23-26, rollunder gates sw22\u002F37\u002F38, flipper button sw36), PulseSw calls (spinners sw10-12, bumpers sw13-15, standup target sw19, slingshots sw20-21), and DTHit calls (drop targets sw27-35 across three banks). Solenoids 1-3 are drop target bank resets (Sol1DropUp resets sw27-29, Sol2DropUp resets sw30-32, Sol3DropUp resets sw33-35). Solenoids 5-7 are individual drop target actuators (dt1drop\u002Fdt2drop\u002Fdt3drop raise sw33\u002F34\u002F35). Sol 8 is GI relay with inverted logic (enabled=GI off, per MetaTed hack fix comment for orbit shot). Sol 15 is knocker. Sol 23 is game-on relay via vpmNudge.SolGameOn. Flipper solenoids use S7.VBS framework constants sLRFlipper=14 and sLLFlipper=16. Lamps mapped via vpmMapLights AllLamps using VPX light TimerInterval values — lamp IDs 8-63 (with gaps at 48, 56) identified from BL_L_L* VLM lightmap arrays. Six backglass indicator lamps (2,3,4,5,6,15) driven by LampCallback\u002FUpdateMultipleLamps reading Controller.Lamp() and setting gi25-gi30 VPX objects. GI controlled by Sol 8 with inverted behavior. Switch 36 is right flipper cabinet button, set via Controller.Switch(36) on RightFlipperKey press\u002Frelease — unusual for S7 where cabinet switches are typically ROM-managed, but this appears to be a VPW implementation choice for the flipper EOS or lane change feature.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"unresolved-questions\">Unresolved questions\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Is the I\u002FO enumeration complete for every supported physical\u002Fcontroller variant?\u003C\u002Fli>\n\u003Cli>Which inferred VPX behaviors reflect real hardware, and which are table-script conveniences?\u003C\u002Fli>\n\u003Cli>Are all mechanism home states, sensors, motion constraints, and ball interactions documented?\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"sources\">Sources\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ccode>legacy.game.warlok\u003C\u002Fcode>: \u003Ccode>games\u002Fwarlok.json\u003C\u002Fcode> at the pinned migration revision.\u003C\u002Fli>\n\u003C\u002Ful>\n",[1317,1320,1323,1326,1329,1332,1335,1338,1341,1344,1347],{"id":1318,"text":1319},"overview","Overview",{"id":1321,"text":1322},"playfield-devices","Playfield devices",{"id":1324,"text":1325},"custom-mechanisms","Custom mechanisms",{"id":1327,"text":1328},"ball-state-transitions","Ball-state transitions",{"id":1330,"text":1331},"controller-interactions","Controller interactions",{"id":1333,"text":1334},"service-and-setup-information","Service and setup information",{"id":1336,"text":1337},"timing-and-tuning-observations","Timing and tuning observations",{"id":1339,"text":1340},"recreation-guidance","Recreation guidance",{"id":1342,"text":1343},"evidence-notes","Evidence notes",{"id":1345,"text":1346},"unresolved-questions","Unresolved questions",{"id":1348,"text":1349},"sources","Sources",[1351],{"label":1352,"value":1353},"Coverage","partial - source-derived recreation knowledge requiring validation",[1355],{"coverage_status":23,"definition":1314,"definition_sha256":1356,"description":45,"flags":4,"id":46,"machine_id":457,"manufacturer":47,"root_driver":46,"year":48},"8af78f617e0efc1877ee78ef9bb905623c51313dc9ab66aabb505c97347bb394",[1358,1361],{"slug":1359,"name":1360,"manufacturer":47,"year":459,"status":23},"williams-defender-1982","Defender",{"slug":1362,"name":1363,"manufacturer":47,"year":1364,"status":23},"williams-time-fantasy-1983","Time Fantasy",1983,null,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1367,"hidden":12},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\"\u002F>\u003Cpath d=\"M14 2v4a2 2 0 0 0 2 2h4M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1a1 1 0 0 1 1 1v1a1 1 0 0 0 1 1m4 0a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1a1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1369},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1371},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"9\" cy=\"12\" r=\"3\"\u002F>\u003Crect width=\"20\" height=\"14\" x=\"2\" y=\"5\" rx=\"7\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1373},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.914 4a1.5 1.5 0 0 0-2.474-1.561l-9 9A1.5 1.5 0 0 0 5.5 14h4.002a.5.5 0 0 1 .471.666L8.086 20a1.5 1.5 0 0 0 2.475 1.56l9-9A1.5 1.5 0 0 0 18.5 10h-3.997a.5.5 0 0 1-.472-.667z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1375},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M6 12c0-1.7.7-3.2 1.8-4.2\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"2\"\u002F>\u003Cpath d=\"M18 12c0 1.7-.7 3.2-1.8 4.2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1377},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"18\" x=\"3\" y=\"3\" rx=\"1\"\u002F>\u003Cpath d=\"M7 3v18m13.4-2.1c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1379},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6l-2.3 2.3a2.4 2.4 0 0 0 0 3.4ZM2 22l3-3m2.5-5.5L10 11m.5 5.5L13 14m5-11l-4 4h6l-4 4\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1381},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1383},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4m0-4h.01\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1385},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"20\" height=\"5\" x=\"2\" y=\"3\" rx=\"1\"\u002F>\u003Cpath d=\"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8m-10 4h4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1387,"hidden":12},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\"\u002F>\u003Cpath d=\"M14 2v4a2 2 0 0 0 2 2h4M5 12l-3 3l3 3m4 0l3-3l-3-3\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1389},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1391},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1393},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4M2 6h4m-4 4h4m-4 4h4m-4 4h4\"\u002F>\u003Cpath d=\"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1395},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2zm-10-2h.01M12 7v4\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1397},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",1785881382756]