public Layer GenerateShedLockLayer(string letter) { var shedStatus = _game.BaseMode.SetStatus(letter, "Spotted", 3, "ed_targets", composite: false); //trans = procgame.dmd.TransitionLayer(None, self.HDTextLayer1, transitionType = procgame.dmd.Transition.TYPE_FADE) var script = new List <Pair <double, Layer> >(); var layerEmpty = new Layer(); script.Add(new Pair <double, Layer>(1.0, layerEmpty)); script.Add(new Pair <double, Layer>(2, shedStatus)); var sl = new ScriptedLayer(_game.Width, _game.Height, script); sl.opaque = true; var layers = new List <Layer>() { ChainsawWipe, sl }; var group = new GroupedLayer(_game.Width, _game.Height, layers); delay("clearDMD", NetProcgame.NetPinproc.EventType.None, 4, new NetProcgame.Game.AnonDelayedHandler(() => { layer = null; ChainsawWipe.reset(); })); layer = group; return(group); }
private void BallSaved() { // self.game.log("BaseGameMode: BALL SAVED from Trough callback") // if self.game.wizardMode.is_started() or self.game.deadByDawn.is_started() or self.game.getPlayerState('mode_active'): //self.game.coils.plunger.pulse(50) if (!MultiBallActive) { var txtScriptLayer = _game.DisplayHelper.GenerateScriptedMultiTextLayer("WE|LIVE|STILL", _game.Width, _game.Height, 0.7, "EDLarge", "redYellow"); var group = new GroupedLayer(_game.Width, _game.Height, new List <Layer>() { AssetService.Videos["WeLiveStill"], txtScriptLayer }); layer = group; _game._sound.PlaySound("WeLiveStill"); delay("clearLayer", NetProcgame.NetPinproc.EventType.None, 2.5, new AnonDelayedHandler(ClearLayer)); _game.Coils["plunger"].Pulse(50); AssetService.Videos["WeLiveStill"].reset(); } }
private void LaneCheck() { cancel_delayed("clearDMD"); if (_lanesEnabledCount >= 3) { _game.DisableAllLamps(); _game._sound.PlaySound("AshBonus"); //self.game.user_profiles['Multipliers']['Complete'] += 1 if (_bonusX < 5) { _bonusX++; var bonusStr = (_bonusX + 1) + "X"; var textLayer = _game.BaseMode.SetStatus("A S H", bonusStr, 2, "ed_targets"); var layers = new List <Layer>() { AshBonusLayer, textLayer }; var group = new GroupedLayer(_game.Width, _game.Height, layers); layer = group; } else { } } else { _game._sound.PlaySound("ChezLaff"); _game.DisableAllLamps(); _game.LampCtrl.play_show("attract_show_2"); } }
public override void mode_started() { var player = _game.GetCurrentPlayer(); _bumperHits = player.BumpersHit; _bumperLevel = player.BumpersLevel; _bumperHitsRound = 0; layer = new GroupedLayer(_game.Width, _game.Height, new List <Layer>() { MoveBlood }); BloodSplat.enabled = false; MoveBlood.enabled = false; }
public override void mode_started() { _lanesEnabledCount = 0; _bonusX = 0; var anim = AssetService.Animations["light_texture"]; //anim.hold = true; var text = new SdlTextLayer(0, 0, fontNamed: "default", justify: FontJustify.Center); var layers = new List <Layer>(); layers.Add(anim); layers.Add(text); var group = new GroupedLayer(558, 300, layers); this.layer = anim; }
private Layer GenerateShedLayer(string letter) { _text1.SetText(letter, 2); _text2.SetText("Complete Targets", 2); var group1 = new GroupedLayer(_game.Width, _game.Height, new System.Collections.Generic.List <Layer>() { shedPic, _text1 }); var group2 = new GroupedLayer(_game.Width, _game.Height, new System.Collections.Generic.List <Layer>() { shedLock, _text2 }); var trans = new TransitionLayer(group1, group2); return(trans); }
private void ModePicker() { _selectedMode = RandomModeName(); _modeNameText = new SdlTextLayer(_game.Width / 2, 150, "ed_LeftRamp1", FontJustify.Center, FontJustify.Center, "redYelThin"); _selectInfoText = new SdlTextLayer(_game.Width, _game.Height, "default_msg", FontJustify.Right, FontJustify.Bottom, "yelRedThin"); _modeNameText.SetText(_selectedMode); if (_userSelect) { _selectInfoText.SetText(_game.GetCurrentPlayer().name + " Select mode with flippers", blink_frames: 2); _selectedIndex = 0; } else { _selectInfoText.SetText(" "); } var layers = new List <Layer>() { _tapeRecorder, _modeNameText, _selectInfoText }; var group = new GroupedLayer(_game.Width, _game.Height, layers); _game._sound.PlaySound("Passage"); layer = group; delay("modeStart", NetProcgame.NetPinproc.EventType.None, 2.5, new NetProcgame.Game.AnonDelayedHandler(StartSelectedMode)); if (!_userSelect) { delay("choice", NetProcgame.NetPinproc.EventType.None, 0.25, new NetProcgame.Game.AnonDelayedHandler(StartSelectedMode)); } }
private void OpenFirstLock() { cancel_delayed("stop"); Text1.SetText("cellar open", 2); var group = new GroupedLayer(_game.Width, _game.Height, new List <Layer>() { CellarOpen, Text1 }); layer = group; _game.GetCurrentPlayer().CellarMultiBallReady = true; delay("stop", NetProcgame.NetPinproc.EventType.None, 2, ClearDmdHandler); _hatchOpen = true; _game.Coils["cellarHatch"].Enable(); }
private GroupedLayer[] GetCellarLayers() { Text1.SetText("cellar ramps"); Text2.SetText(" " + _count); Text3.SetText("complete to open"); Text4.SetText("cellar locks"); GroupedLayer[] group = new GroupedLayer[2]; var group1 = new GroupedLayer(_game.Width, _game.Height, new List <Layer>(2) { Text1, Text2 }); var group2 = new GroupedLayer(_game.Width, _game.Height, new List <Layer>(2) { Text3, Text4 }); group[0] = group1; group[1] = group2; return(group); }
public GroupedLayer SetStatus(string text1, string text2, int seconds = 2, string font = "default", string style1 = "redYelThin", string style2 = "yelRedThin", int topTextX = 558 / 2, int topTextY = 90, int bottomTextX = 558 / 2, int bottomTextY = 220, bool composite = true ) { var topText1 = new SdlTextLayer(topTextX, topTextY, font, FontJustify.Center, FontJustify.Center, style1); var topText2 = new SdlTextLayer(topTextX, topTextY, font, FontJustify.Center, FontJustify.Center, style2); var botText1 = new SdlTextLayer(bottomTextX, bottomTextX, font, FontJustify.Center, FontJustify.Center, style1); var botText2 = new SdlTextLayer(bottomTextX, bottomTextX, font, FontJustify.Center, FontJustify.Center, style2); topText1.SetText(text1, seconds); topText2.SetText(text1, seconds, 2); botText1.SetText(text2, seconds); botText2.SetText(text2, seconds, 2); var layers = new List <Layer>() { topText1, topText2, botText1, botText2 }; GroupedLayer group; if (!composite) { group = new GroupedLayer(_game.Width, _game.Height, layers); } else { group = new GroupedLayer(_game.Width, _game.Height, layers, true); } return(group); }
private ScriptedLayer BuilSkillLayers() { var anim = AssetService.Animations["DeerWall"]; var skillBonusText10K = new SdlTextLayer(150, 210, "ed_common", FontJustify.Center, false); skillBonusText10K.SetText("10,000", -1, 2); var skillBonusText1M = _game.DisplayHelper.GenerateMultiTextLayer("1,000,000", font: "ed_common", styleName: "redYellow"); var skillBonus100K = _game.DisplayHelper.GenerateMultiTextLayer("100,000", font: "ed_common", styleName: "redYellow"); var skillBonusLeft10k = new GroupedLayer(HorseGame.DisplayConfig.DotsW, HorseGame.DisplayConfig.DotsH, new List <Layer>() { anim, skillBonusText10K }); var skillBonusMid1M = new GroupedLayer(HorseGame.DisplayConfig.DotsW, HorseGame.DisplayConfig.DotsH, new List <Layer>() { anim, skillBonusText1M }); var skillBonus100KR = new GroupedLayer(HorseGame.DisplayConfig.DotsW, HorseGame.DisplayConfig.DotsH, new List <Layer>() { anim, skillBonus100K }); var script = new List <Pair <double, Layer> >(); script.Add(new Pair <double, Layer>(1, skillBonusLeft10k)); script.Add(new Pair <double, Layer>(1, skillBonusMid1M)); script.Add(new Pair <double, Layer>(1, skillBonus100KR)); var scriptLayer = new ScriptedLayer(HorseGame.DisplayConfig.DotsW, HorseGame.DisplayConfig.DotsH, script); return(scriptLayer); }
public void CheckMultiballReady() { var player = _game.GetCurrentPlayer(); if (player.GunReady && player.SawReady) { cancel_delayed("clearDmd"); _game.GetCurrentPlayer().LockReady = true; var text = _game.DisplayHelper.GenerateMultiTextLayer("shed open|lock the ball", "ed_common", "redYellow"); var group = new GroupedLayer(_game.Width, _game.Height, new System.Collections.Generic.List <Layer>() { gunNSaw, text }); layer = group; loadGun.reset(); _game.Coils["rightFlash"].Pulse(125); } delay("clearDMD", NetProcgame.NetPinproc.EventType.None, 2, ClearDmdHandler); }
public bool sw_cellarRamp_active(Switch sw) { //self.game.game_data['Audits']['Cellar Ramps'] += 1 //self.game.user_profiles['HouseRamp']['Ramps Made'] += 1 // if self.game.trophyMode.checkTrophyComplete('Cabin fever'): //if self.game.user_profiles['HouseRamp']['Ramps Made'] >= 100: // self.game.trophyMode.layer = self.game.trophyMode.buildLayerScript('Cabin fever') // self.game.trophyMode.updateTrophy('Cabin fever') // if self.game.wizardMode.is_started(): //return if (_lockedBalls == 0) { if (_game.GetCurrentPlayer().CellarMultiBallReady) { if (_count < 6) { _count++; } _game.score(450000); _game.Coils["flasherHouse"].Schedule(0x000000CC, 4, false); if (Enumerable.Range(1, 6).Contains(_count)) { var group = GetCellarLayers(); var script = new List <Pair <double, Layer> >(); script.Add(new Pair <double, Layer>(1.0, group[0])); script.Add(new Pair <double, Layer>(1.0, group[1])); var scriptLayer = new ScriptedLayer(_game.Width, _game.Height, script); _game._sound.PlaySound("soundsCellar"); var grouped = new GroupedLayer(_game.Width, _game.Height, new List <Layer>() { CellarRampVid, scriptLayer }); CellarRampVid.reset(); layer = grouped; delay("stop", NetProcgame.NetPinproc.EventType.None, 2, ClearDmdHandler); } else if (_count == 6) { OpenFirstLock(); } // if not self.game.modeEnd.is_started() and not self.game.getPlayerState('mode_active') and not self.game.base_game_mode.any_mb_active2(): //self.game.lampctrl.play_show('BridgeRamp', False, self.game.update_lamps) } } return(SWITCH_CONTINUE); }
private void PlayMultiBallScenes() { _videosRunning = true; var skipInfo = new SdlTextLayer(_game.Width, _game.Height, "med", FontJustify.Left, FontJustify.Bottom, "redYellow"); skipInfo.SetText("hold flipper to skip", blink_frames: 2); _game.DisableAllLamps(); _game.LampCtrl.stop_show(); VideoLayer anim = new VideoLayer(); ScriptedLayer textLockScript; if (_lockedBalls != 0) { _game.LampCtrl.play_show("cellarLock1"); _game.CellarHatch(false); var strtext = string.Format("Cellar Multiball | Ball {0} Locked", _lockedBalls); textLockScript = _game.DisplayHelper.GenerateScriptedMultiTextLayer( strtext, _game.Width, _game.Height, 2.0, "ed_targets", "redYellow"); textLockScript.set_target_position(36, 100); var time = 0.0; switch (_lockedBalls) { case 1: anim = AssetService.Videos["Cellar1-SonOfABitch"]; _game._sound.PlaySound("Cellar1-SonOfABitch"); time = 7.5; break; case 2: anim = AssetService.Videos["Cellar2-LetMeOut"]; _game._sound.PlaySound("Cellar2-LetMeOut"); time = 3.5; break; case 3: anim = AssetService.Videos["Cellar3-Henrietta"]; _game.LampCtrl.play_show("CellarMultiball"); _game._sound.PlaySound("Cellar3-Henrietta"); time = 9.0; break; default: break; } delay("cellarAnims", NetProcgame.NetPinproc.EventType.None, time, CheckCellarDelay); var grouped = new GroupedLayer(_game.Width, _game.Height, new List <Layer>() { anim, textLockScript }); layer = grouped; anim.reset(); } }
private void GunTargetBankCheck(int targetNum) { _game._sound.PlaySound("TargetHit"); _gunReady = _game.GetCurrentPlayer().GunReady; var targets = _game.GetCurrentPlayer().TargetBankRight; if (!_gunReady) { switch (targetNum) { case 0: if (!targets[targetNum]) { cancel_delayed("clearDMD"); targets[targetNum] = true; layer = GenerateShedLayer("G"); update_lamps(); } break; case 1: if (targets[0] && targets[2]) { cancel_delayed("clearDMD"); targets[targetNum] = true; _gunReady = true; _game.GetCurrentPlayer().GunReady = true; _game._sound.PlaySound("ChungChing"); var text = _game.DisplayHelper.GenerateMultiTextLayer("gun|targets completed", "ed_common", "redYellow"); var group = new GroupedLayer(_game.Width, _game.Height, new System.Collections.Generic.List <Layer>() { loadGun, text }); layer = group; loadGun.reset(); CheckMultiballReady(); update_lamps(); } break; case 2: if (!targets[targetNum]) { cancel_delayed("clearDMD"); targets[targetNum] = true; layer = GenerateShedLayer("N"); update_lamps(); } break; default: break; } } else { cancel_delayed("clearDMD"); loadGun.hold = true; layer = _game.DisplayHelper.GenerateMultiTextLayer( "Gun Completed|Completing gun and saw|unlocks shed", "ed_common", "redYellow", bgLayer: loadGun); loadGun.reset(); } delay("clearDMD", NetProcgame.NetPinproc.EventType.None, 3, ClearDmdHandler); }
private void SawTargetCheck(int targetNum) { //if self.game.wizardMode.is_started(): //return _game._sound.PlaySound("TargetHit"); _sawReady = _game.GetCurrentPlayer().SawReady; var targets = _game.GetCurrentPlayer().TargetBankLeft; if (!_sawReady) { switch (targetNum) { case 0: if (!targets[targetNum]) { cancel_delayed("clearDMD"); targets[targetNum] = true; layer = GenerateShedLayer("S"); update_lamps(); } break; case 1: if (targets[0] && targets[2]) { cancel_delayed("clearDMD"); targets[targetNum] = true; _sawReady = true; _game.GetCurrentPlayer().SawReady = true; _game._sound.PlaySound("sawComplete"); var text = _game.DisplayHelper.GenerateMultiTextLayer("saw|targets completed", "ed_common", "redYellow"); var group = new GroupedLayer(_game.Width, _game.Height, new System.Collections.Generic.List <Layer>() { zoomSaw, text }); layer = group; zoomSaw.reset(); CheckMultiballReady(); update_lamps(); } break; case 2: if (!targets[targetNum]) { cancel_delayed("clearDMD"); targets[targetNum] = true; layer = GenerateShedLayer("W"); update_lamps(); } break; default: break; } } else { cancel_delayed("clearDMD"); layer = _game.DisplayHelper.GenerateMultiTextLayer( "Saw Completed|Completing gun and saw|unlocks shed", "ed_common", "redYellow", bgLayer: zoomSaw); zoomSaw.reset(); } delay("clearDMD", NetProcgame.NetPinproc.EventType.None, 3, ClearDmdHandler); }