public static void Play_LostToEvilMonster_1() { UIBlack.Show(); OvermapHandler.StopOvermapRunning(); List <World_Sprite> ropeWorldSpriteList = new List <World_Sprite>(); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetPlayer().GetPosition(), Vector3.one * 1f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Healer)).GetPosition(), Vector3.one * 1f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)).GetPosition(), Vector3.one * 1.2f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).GetPosition(), Vector3.one * 0.7f, GameAssets.i.s_Rope, Color.white, 100)); NPCOvermap randyOvermap = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.Randy)); randyOvermap.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dBareHands_IdleUp"), 1f, null); Vector3 randyStartingPosition = randyOvermap.GetPosition(); randyOvermap.overrideOvermapRunning = true; Dialogue dialogue = Dialogue.GetInstance(); dialogue.SetDialogueActions(new List <Action>() { () => { dialogue.Show(); dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, false); dialogue.ShowLeftCharacterName(GameData.GetCharacterName(Character.Type.Player)); dialogue.ShowLeftText("Oh come on, we had him! What happened?"); dialogue.ShowRightCharacter(GameAssets.i.s_TankPortrait, true); dialogue.ShowRightCharacterName(GameData.GetCharacterName(Character.Type.Tank)); dialogue.HideRightText(); }, () => { dialogue.ShowRightActiveTalkerHideLeft("Seems he overpowered us somehow..."); }, () => { dialogue.ShowRightCharacter(GameAssets.i.s_RandyPortrait, false); dialogue.ShowRightCharacterName(GameData.GetCharacterName(Character.Type.Randy)); dialogue.ShowRightActiveTalkerHideLeft("Oh my, aren't you precious"); }, () => { dialogue.ShowRightText("You boys are quite fancy huhuhu"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Who are you? Are you here to torture us?"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("Oh my, I could never torture such delicate specimens"); }, () => { dialogue.ShowRightText("You are too pretty to be tied up"); }, () => { dialogue.ShowRightText("Allow me to help you huhuhu"); }, () => { // Randy Disappears in Smoke UIBlack.Hide(); dialogue.Hide(); // Untie Player randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetPlayer().GetPosition() + new Vector3(0, -5)); FunctionTimer.Create(() => { ropeWorldSpriteList[0].DestroySelf(); }, 1f); // Untie Healer FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Healer)).GetPosition() + new Vector3(+5, 0)); }, 1f); FunctionTimer.Create(() => { ropeWorldSpriteList[1].DestroySelf(); }, 2f); // Untie Tank FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)).GetPosition() + new Vector3(-5, 0)); }, 2f); FunctionTimer.Create(() => { ropeWorldSpriteList[2].DestroySelf(); }, 3f); // Untie Sleezer FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).GetPosition() + new Vector3(-5, 0)); }, 3f); FunctionTimer.Create(() => { ropeWorldSpriteList[3].DestroySelf(); }, 4f); // Go to disappear FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(randyStartingPosition); }, 4f); FunctionTimer.Create(() => { OvermapHandler.GetInstance().SpawnSmoke(randyOvermap.GetPosition(), .0f, Vector3.one); }, 5f); FunctionTimer.Create(() => { randyOvermap.Hide(); }, 5.5f); FunctionTimer.Create(() => { UIBlack.Show(); dialogue.Show(); dialogue.PlayNextAction(); }, 7.5f); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Well that was weird..."); dialogue.HideRightCharacterName(); dialogue.HideRightCharacter(); }, () => { dialogue.ShowLeftText("But hey lets keep going! He's not getting away this time"); }, /* * () => { * NPCOvermap npcOvermap = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.Randy)); * npcOvermap.SetTargetMovePosition(); * dialogue.Hide(); * UIBlack.Hide(); * OvermapHandler.StartOvermapRunning(); * },*/ () => { dialogue.Hide(); UIBlack.Hide(); OvermapHandler.StartOvermapRunning(); GameData.state = GameData.State.MovingToEvilMonster_2; Window_QuestPointer.Create(GameAssets.i.Map.Find("evilMonster_2").position, Color.white, Color.white); }, }, true); }
public static void Play_LostToEvilMonster_2() { UIBlack.Show(); OvermapHandler.StopOvermapRunning(); List <World_Sprite> ropeWorldSpriteList = new List <World_Sprite>(); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetPlayer().GetPosition(), Vector3.one * 1f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Healer)).GetPosition(), Vector3.one * 1f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)).GetPosition(), Vector3.one * 1.2f, GameAssets.i.s_Rope, Color.white, 100)); ropeWorldSpriteList.Add(World_Sprite.Create(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).GetPosition(), Vector3.one * 0.7f, GameAssets.i.s_Rope, Color.white, 100)); NPCOvermap randyOvermap = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.Randy)); randyOvermap.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dBareHands_IdleUp"), 1f, null); Vector3 randyStartingPosition = randyOvermap.GetPosition(); randyOvermap.overrideOvermapRunning = true; Dialogue dialogue = Dialogue.GetInstance(); dialogue.SetDialogueActions(new List <Action>() { () => { dialogue.Show(); dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, true); dialogue.ShowLeftCharacterName(GameData.GetCharacterName(Character.Type.Player)); dialogue.HideLeftText(); dialogue.ShowRightCharacter(GameAssets.i.s_RandyPortrait, false); dialogue.ShowRightCharacterName(GameData.GetCharacterName(Character.Type.Randy)); dialogue.ShowRightText("Oh my, this is my lucky day"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Oh no, you again"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("What's wrong, not happy to see me?"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("It seems we miraculously lost again"); }, () => { dialogue.ShowLeftText("It's very annoying to get the Evil Monster almost near death and suddenly he wins"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("Oh dear that is a real bother"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Yes it is, are you going to let us go?"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("Huhuhu maybe"); }, () => { dialogue.ShowRightText("My oh my, you are truly precious"); }, () => { dialogue.ShowRightText("If you really want to defeat him you need the Sword of Thousand Truths"); }, () => { dialogue.ShowRightText("And would you look at that, I have it right here!"); }, () => { dialogue.ShowRightText("Have fun! Huhuhu!"); }, () => { // Randy Disappears in Smoke // Drop Sword /* * NPCOvermap npcOvermap = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.Randy)); * Transform objectTractorTransform = UnityEngine.Object.Instantiate(GameAssets.i.pfObjectTractor, npcOvermap.GetPosition(), Quaternion.identity); * objectTractorTransform.GetComponent<TractorBehaviour>().Setup(OvermapHandler.GetInstance().GetPlayer(), 20f, 8f, () => { * GameData.GetCharacter(Character.Type.Player).hasSwordThousandTruths = true; * OvermapHandler.GetInstance().GetPlayer().RefreshTexture(); * }); * * npcOvermap.Hide(); * UIBlack.Hide(); * dialogue.Hide(); * FunctionTimer.Create(() => { * UIBlack.Show(); * dialogue.Show(); * dialogue.PlayNextAction(); * }, 1f); */ Transform objectTractorTransform = UnityEngine.Object.Instantiate(GameAssets.i.pfObjectTractor, randyOvermap.GetPosition(), Quaternion.identity); objectTractorTransform.localEulerAngles = new Vector3(0, 0, -45); objectTractorTransform.GetComponent <TractorBehaviour>().Setup(OvermapHandler.GetInstance().GetPlayer(), 20f, 8f, () => { GameData.GetCharacter(Character.Type.Player).hasSwordThousandTruths = true; OvermapHandler.GetInstance().GetPlayer().RefreshTexture(); SoundManager.PlaySound(SoundManager.Sound.Coin); }); // Randy Disappears in Smoke UIBlack.Hide(); dialogue.Hide(); // Untie Player randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetPlayer().GetPosition() + new Vector3(0, -5)); FunctionTimer.Create(() => { ropeWorldSpriteList[0].DestroySelf(); }, 1f); // Untie Healer FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Healer)).GetPosition() + new Vector3(+5, 0)); }, 1f); FunctionTimer.Create(() => { ropeWorldSpriteList[1].DestroySelf(); }, 2f); // Untie Tank FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)).GetPosition() + new Vector3(-5, 0)); }, 2f); FunctionTimer.Create(() => { ropeWorldSpriteList[2].DestroySelf(); }, 3f); // Untie Sleezer FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).GetPosition() + new Vector3(-5, 0)); }, 3f); FunctionTimer.Create(() => { ropeWorldSpriteList[3].DestroySelf(); }, 4f); // Go to disappear FunctionTimer.Create(() => { randyOvermap.SetTargetMovePosition(randyStartingPosition); }, 4f); FunctionTimer.Create(() => { OvermapHandler.GetInstance().SpawnSmoke(randyOvermap.GetPosition(), .0f, Vector3.one); }, 5f); FunctionTimer.Create(() => { randyOvermap.Hide(); }, 5.5f); FunctionTimer.Create(() => { UIBlack.Show(); dialogue.Show(); dialogue.PlayNextAction(); }, 6.5f); }, () => { dialogue.ShowLeftActiveTalkerHideRight("He's very odd but somehow very helpful"); dialogue.HideRightCharacter(); dialogue.HideRightCharacterName(); }, () => { dialogue.ShowLeftText("Why would the Evil Monster keep him around?"); }, () => { dialogue.ShowLeftText("Anyways who cares we have the Sword of a Thousand Truths!"); }, () => { dialogue.ShowLeftText("Let's get him once and for all!"); }, () => { dialogue.Hide(); UIBlack.Hide(); OvermapHandler.StartOvermapRunning(); GameData.state = GameData.State.MovingToEvilMonster_3; Window_QuestPointer.Create(GameAssets.i.Map.Find("evilMonster_3").position, Color.white, Color.white); }, }, true); }
public static void Play_Tavern() { Window_QuestPointer.DestroyPointer(GameAssets.i.Map.Find("tavern").position); UIBlack.Show(); OvermapHandler.StopOvermapRunning(); Dialogue dialogue = Dialogue.GetInstance(); Character tavernAmbushCharacter = GameData.GetCharacter(Character.Type.TavernAmbush); dialogue.SetDialogueActions(new List <Action>() { () => { dialogue.Show(); dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, false); dialogue.ShowLeftCharacterName(GameData.GetCharacterName(Character.Type.Player)); dialogue.ShowLeftText("Greetings!"); dialogue.HideRightCharacter(); dialogue.HideRightText(); dialogue.HideRightCharacterName(); }, () => { dialogue.ShowLeftText("May we have some refreshments?"); }, () => { UIBlack.Hide(); dialogue.Hide(); Vector3 playerPosition = OvermapHandler.GetInstance().GetPlayer().GetPosition(); OvermapHandler.GetInstance().GetPlayer().GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dSwordTwoHandedBack_IdleDown"), 1f, null); NPCOvermap enemyOvermap = OvermapHandler.GetInstance().GetNPC(tavernAmbushCharacter); enemyOvermap.transform.position = playerPosition + new Vector3(0, -17f); enemyOvermap.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dMinion_IdleUp"), 1f, null); OvermapHandler.GetInstance().SpawnSmoke(enemyOvermap.GetPosition(), .3f, Vector3.one); NPCOvermap enemyOvermap_2 = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.TavernAmbush_2)); enemyOvermap_2.transform.position = playerPosition + new Vector3(14f, -12f); enemyOvermap_2.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dMinion_IdleUp"), 1f, null); OvermapHandler.GetInstance().SpawnSmoke(enemyOvermap_2.GetPosition(), .3f, Vector3.one); NPCOvermap enemyOvermap_3 = OvermapHandler.GetInstance().GetNPC(GameData.GetCharacter(Character.Type.TavernAmbush_3)); enemyOvermap_3.transform.position = playerPosition + new Vector3(-14, -12f); enemyOvermap_3.GetUnitAnimation().PlayAnimForced(UnitAnim.GetUnitAnim("dMinion_IdleUp"), 1f, null); OvermapHandler.GetInstance().SpawnSmoke(enemyOvermap_3.GetPosition(), .3f, Vector3.one); enemyOvermap.gameObject.SetActive(false); enemyOvermap_2.gameObject.SetActive(false); enemyOvermap_3.gameObject.SetActive(false); FunctionTimer.Create(() => { enemyOvermap.gameObject.SetActive(true); enemyOvermap_2.gameObject.SetActive(true); enemyOvermap_3.gameObject.SetActive(true); }, .45f); FunctionTimer.Create(() => { UIBlack.Show(); dialogue.Show(); dialogue.PlayNextAction(); }, 1.2f); }, () => { dialogue.HideLeftText(); dialogue.FadeLeftCharacter(); dialogue.ShowRightCharacter(GameAssets.i.s_EnemyMinionRedPortrait, false); dialogue.ShowRightText("That's the one! Get him!"); }, () => { GameData.GetCharacter(Character.Type.TavernAmbush_2).isDead = true; GameData.GetCharacter(Character.Type.TavernAmbush_3).isDead = true; GameData.state = GameData.State.FightingTavernAmbush; BattleHandler.LoadEnemyEncounter(tavernAmbushCharacter, tavernAmbushCharacter.enemyEncounter); }, }, true); }