//################################################################################################# // Miss Scarlet: Act 1 - Game State 1 //################################################################################################# module ScarletESPtest() { ScESPGE = GameEntity(Desc("Scarlet ESP")) TestOn = GEStateProxy(Desc("ESP Test On")) TestOff = GEState(Desc("ESP Test Off")) } module ScDkRsDd(Game, ScarletESPtest, DrinkCommon) { scarletHotspot = ClueGEHotspot(Layer(0), Rect(380,135,430,420),GE(scarlet)) load: //Create Game Entity scarletGE = GameEntity(Desc("Miss Scarlet")) scarlet.SetGE(scarletGE) //Declare states for this Act scInactiveState = GEState() scActiveState = GEState() scTalkState = GEState() //Initialize GameEntity scarlet.setstate(scTalkState) // ## Stills ## //scActiveStill = Image(Offset(0,50), Size(434,298),File("assets\\act1\\scarlet\\scarlet02.bmp"), Layer(5),Transparent(0,255,0)) //scInactiveStill = Image(Offset(0,50), Size(394,298),File("assets\\act1\\scarlet\\scarlet01.bmp"), Layer(5),Transparent(0,255,0)) scActiveStill = GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\scAStill1101.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))) scInActiveStill = GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\scIStill1101.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))) // **** Idle Scripts **** // ## Init State Idle Script ## scInactiveIdleAnim = SequentialScript(Autoplay,Looping,Scripts ( {scInactiveStill.SetActive(false)}, SequentialScript(Random(true),Scripts ( GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\scIdle1106.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))) )), {scInactiveStill.SetActive(true)} )) scInactiveIdle = SequentialScript(AutoPlay(true), AutoLoop(true),Scripts ( SequentialScript(Random(true),Scripts ( DelayScript(Seconds(3)), DelayScript(Seconds(7)), DelayScript(Seconds(5)) )), scInactiveIdleAnim )) scInactiveState.SetOnEnter({scInactiveIdle.Start()}) scInactiveState.SetOnExit({scInactiveIdle.Stop()}) // ## Talk State Idle Script ## scActiveIdleAnim = SequentialScript(Autoplay,Looping,Scripts ( {scActiveStill.SetActive(false)}, SequentialScript(Random(true),Scripts ( GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\scIdle1101.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\scIdle1102.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\scIdle1103.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\scIdle1104.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\scIdle1105.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))) )), {scActiveStill.SetActive(true)} )) scActiveIdle = SequentialScript(AutoPlay(true), AutoLoop(true),Scripts ( SequentialScript(Random(true),Scripts ( DelayScript(Seconds(3)), DelayScript(Seconds(7)), DelayScript(Seconds(5)) )), scActiveIdleAnim )) scActiveState.SetOnEnter({scActiveIdle.Start()}) scActiveState.SetOnExit({scActiveIdle.Stop()}) // ## Common Scripts ## // Scarlet says, "Sorry...I don't know..." sc1105 = SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1105.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: Sorry...I don't know anything about that.")), Caption(Text(" ")), DelayScript(Seconds(3)) )) )), Caption(Text(" ")), Caption(Text(" ")), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) //Scarlet says "Nothing." sc1106 = SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1106.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: Nothing.")), Caption(Text(" ")), DelayScript(Seconds(2)) )) )), Caption(Text(" ")), Caption(Text(" ")), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) // Scarlet says, "I don't know." sc1108 = SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1108.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: I don't know.")), Caption(Text(" ")), DelayScript(Seconds(2)) )) )), Caption(Text(" ")), Caption(Text(" ")), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) // Scarlet says, "How would I know that?" sc1110 = SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1110.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: How would I know that?")), Caption(Text(" ")), DelayScript(Seconds(3)) )) )), Caption(Text(" ")), Caption(Text(" ")), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) // ## Initstate Interactions ## // #### Talk to Scarlet (First Time) GS 1#### scHi11 = SequentialScript(Autoplay,Looping,Scripts ( //Initial inventory items. Cursor(Name("wait"),EnableWindows(false)), {theScreen.DisableHotspots()}, InvAdd(Item("newspaper")), InvAdd(Item("Invitation")), DelayScript(Seconds(3)), WaitScript(scInactiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay,Looping,Scripts ( {scInactiveStill.SetActive(false)}, SequentialScript(Skippable,Autoplay,Looping,Scripts ( GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sctt11.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\scHi11.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))) )), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable, AutoPlay,Looping,Scripts ( DelayScript(Seconds(5)), Caption(Text("Scarlet: You're here!")), Caption(Text(" ")), DelayScript(Seconds(2)), Caption(Text("Scarlet: I've felt strangely alone on this ship ")), Caption(Text("with all these odd people.")), DelayScript(Seconds(4)), Caption(Text("Scarlet: And something bothers me.")), Caption(Text(" ")), DelayScript(Seconds(2)), Caption(Text("Scarlet: Everybody here wants something from Ian Masque-")), Caption(Text("but what does he want with us?")), DelayScript(Seconds(4)), Caption(Text("Scarlet: Can I trust you?")), Caption(Text(" ")), DelayScript(Seconds(2)) )) )), ParallelScript(Scripts ( SequentialScript(Autoplay,Looping,Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(15), Offset(0,50), File("assets\\act1\\scarlet\\scex11.smk"), Transparent(0,255,0), Looping(false) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,Autoplay(true),Looping,Scripts ( DelayScript(Seconds(1)), Caption(Text("Scarlet: Listen, I'm parched, perhaps you can get me a drink from the bar downstairs.")), Caption(Text(" ")), DelayScript(Seconds(4)), Caption(Reset()) )) )), Caption(Text(" ")), Caption(Text(" ")), Caption(Reset()), SetMilestone(TalkedToScarletAboutDrink), SetMilestone(TalkedToScarlet), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), {theScreen.EnableHotspots()} )) theScreen.Add(ScHi11) // #### Talk to Scarlet (First Time) GS 2,3 #### scHi12 = SequentialScript(Autoplay,Looping,Scripts ( DelayScript(Ticks(1)), //Keeps player from accidentally clicking through response. Cursor(Name("wait"),EnableWindows(false)), {theScreen.DisableHotspots()}, SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay,Looping,Scripts ( {scInactiveStill.SetActive(false)}, GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sctt11.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\ScHi12.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(AutoPlay(true),Looping(true),Scripts ( DelayScript(Seconds(2)), Caption(Text("Scarlet: You...you brought Masque that box...")), Caption(Text(" ")), DelayScript(Seconds(3)), Caption(Text("Scarlet: the deadly box that killed him!")), DelayScript(Seconds(3)), Caption(Reset()) )) )), SetState(ge(scarlet),state(scActiveState)), SetMilestone(TalkedToScarlet), Cursor(Name("default"),EnableWindows(true)), {theScreen.EnableHotspots()} )) theScreen.Add(ScHi12) // #### Talk to Scarlet (First Time) GS 4 #### scHi14 = SequentialScript(Autoplay,Looping,Scripts ( Cursor(Name("wait"),EnableWindows(false)), {theScreen.DisableHotspots()}, SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay,Looping,Scripts ( {scInactiveStill.SetActive(false)}, GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\ScHi14.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: You have to do something! The ship is speeding up. It's out of control!")), Caption(Text("You must get inside the wheelhouse!")), DelayScript(Seconds(5)) )) )), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), SetMilestone(TalkedToScarlet), Cursor(Name("default"),EnableWindows(true)), {theScreen.EnableHotspots()} )) theScreen.Add(ScHi14) // #### Talk to Scarlet (AGAIN)#### ClickOnScarletDrink = Interaction ( Tool(DrinkGE), Condition(GameState1), Script ( SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), {theScreen.DisableHotspots()}, WaitScript(scActiveIdleAnim), InvRemove(Item("Drink")), {Scarlet.SetState(scTalkState)}, {scActiveStill.SetActive(false)}, ParallelScript(Scripts ( GraphicScript(Graphic(SmackAnimation ( Layer(16), Offset(0,50), File("assets\\act1\\scarlet\\scex12.smk"), Transparent(0,255,0), Looping(false) ))), SequentialScript(Autoplay,Looping,Scripts ( Caption(Text("Scarlet: Thank you. We shouldn't stay here and talk anymore. People are watching us!")), Caption(Text(" ")), DelayScript(Seconds(4)) )) )), Caption(Reset()), SetMilestone(DrinkGivenToScarlet), {scActiveStill.SetActive(true)}, {Scarlet.SetState(scActiveState)}, Cursor(Name("default"),EnableWindows(true)), {theScreen.EnableHotspots()} )) ) ) ScActiveState.AddInvoke(ClickOnScarletDrink) ClickOnScarletDrink2 = Interaction ( Tool(DrinkGE), Condition(GameState1), Script ( SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), {theScreen.DisableHotspots()}, WaitScript(scInactiveIdleAnim), InvRemove(Item("Drink")), {Scarlet.SetState(scTalkState)}, {scInactiveStill.SetActive(false)}, GraphicScript(Graphic(SmackAnimation ( Layer(16), Offset(0,50), File("assets\\act1\\scarlet\\sctt11.smk"), Transparent(0,255,0), Looping(false) ))), ParallelScript(Scripts ( GraphicScript(Graphic(SmackAnimation ( Layer(16), Offset(0,50), File("assets\\act1\\scarlet\\scex12.smk"), Transparent(0,255,0), Looping(false) ))), SequentialScript(Autoplay,Looping,Scripts ( DelayScript(Seconds(2)), Caption(Text("Scarlet: Thank you. We shouldn't stay here and talk anymore. People are watching us!")), Caption(Text(" ")), DelayScript(Seconds(2)), Caption(Reset()) )) )), SetMilestone(DrinkGivenToScarlet), {scActiveStill.SetActive(true)}, {Scarlet.SetState(scActiveState)}, Cursor(Name("default"),EnableWindows(true)), {theScreen.EnableHotspots()} )) ) ) ScInactiveState.AddInvoke(ClickOnScarletDrink2) ClickOnScarletDrink3 = Interaction ( Tool(DrinkGE), Condition(Not(GameState1)), Script ( SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), {theScreen.DisableHotspots()}, {Scarlet.SetState(scTalkState)}, {scActiveStill.SetActive(false)}, ParallelScript(Scripts ( GraphicScript(Graphic(SmackAnimation ( Layer(16), Offset(0,50), File("assets\\act1\\scarlet\\sc1116.smk"), Transparent(0,255,0), Looping(false) ))), SequentialScript(Autoplay,Looping,Scripts ( Caption(Text("Scarlet: No thanks!")), Caption(Text(" ")), DelayScript(Seconds(2)), Caption(Reset()) )) )), {scActiveStill.SetActive(true)}, {Scarlet.SetState(scActiveState)}, Cursor(Name("default"),EnableWindows(true)), {theScreen.EnableHotspots()} )) ) ) ScActiveState.AddInvoke(ClickOnScarletDrink3) // ## Talk State Interactions ## // #### Ask About Scarlet GS 1 #### IAsc1102 = InterAction ( Desc("Do I know you? Have we met?"), type("talk"), Condition(GameState1), Tool(scarletNoteTool) ) sc1102 = SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1102.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: No, but that magician, Martin Urfe, said that Masque invited a private investigator.")), Caption(Text("I assume that's you...")), DelayScript(Seconds(8)) )) )), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), AddNotepadEntry(Type("clue"),Text("Magic"), Tool("magicnotetool")), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) IASc1102.SetScript(sc1102) scActiveState.AddInvoke(IASc1102) // #### Ask About Scarlet GS 2 #### IAsc1201 = InterAction ( Desc("I hope you don't think I had anything to do...with Masque's death! I just brought him that box."), type("talk"), Tool(scarletNoteTool), Condition(GameState2) ) sc1201 = SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1201.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: I don't know what to think.")), Caption(Text(" ")), DelayScript(Seconds(2)) )) )), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) IASc1201.SetScript(sc1201) scActiveState.AddInvoke(IASc1201) // #### Ask About Scarlet GS 3 #### IAsc1301 = InterAction ( Desc("You seem scared..."), type("talk"), Tool(scarletNoteTool), Condition(Or(GameState3,GameState4)) ) sc1301 = SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1301.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: Of course--Masque is dead. And the ship is out of control.")), Caption(Text("Find the captain--he must be inside the wheel house!")), DelayScript(Seconds(8)) )) )), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) IASc1301.SetScript(sc1301) scActiveState.AddInvoke(IASc1301) // #### Ask About Guests #### IASc1103 = InterAction ( Desc("What do you know of the other guests?"), MaxInvoke(-1), type("talk"), Tool(guestsNoteTool) ) sc1103 = SequentialScript(Autoplay,Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1103.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: Martin Urfe is the heir to the busted Kent 'fortune' of Bloodworth Estates.")), Caption(Text(" ")), DelayScript(Seconds(6)), Caption(Text("Scarlet: There's no money left now so he performs elaborate magic illusions for ")), Caption(Text("the enjoyment of Masque and his well-heeled friends.")), DelayScript(Seconds(6)), Caption(Text("Scarlet: . He told me about you...I guess you know him?")), Caption(Text(" ")), DelayScript(Seconds(4)), Caption(Text("Scarlet: As for the rest of them...I don't know!")), Caption(Text(" ")), DelayScript(Seconds(4)) )) )), Caption(Text(" ")), Caption(Text(" ")), Caption(Reset()), AddInventoryNotepadEntry(Text("Ufre is broke and does magic for Masque.")), AddNotepadEntry(Type("clue"),Text("Magic"), Tool("magicnotetool")), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) IASc1103.SetScript(sc1103) scActiveState.AddInvoke(IASc1103) // #### Ask About Masque #### IASc1104 = InterAction ( Desc("What do you know about Masque and this party?"), MaxInvoke(-1), type("talk"), Tool(masqueNoteTool) ) sc1104 = SequentialScript(AutoPlay,Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(AutoPlay,Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1104.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: All I know is that he invited us to a New Year's Eve party")), Caption(Text("on an isolated mountain peak.")), DelayScript(Seconds(6)) )) )), Caption(Text(" ")), Caption(Text(" ")), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) IASc1104.SetScript(sc1104) scActiveState.AddInvoke(IASc1104) // #### Ask About Puzzle Box #### scActiveState.AddInvoke ( InterAction ( Desc("What do you know about the Puzzle Box?"), MaxInvoke(-1), Condition(And(Not(GameState3),TalkedToUrfe)), type("talk"), Tool(puzzleBoxNoteTool), Script(SequentialScript(Looping, Scripts(Sc1106))) ) ) // #### Ask About PUzzle Box #### IASc1302 = InterAction ( Desc("You don't think I knew the box would kill Masque?"), MaxInvoke(-1), type("talk"), Condition(GameState3), Tool(puzzleBoxNoteTool) ) sc1302 = SequentialScript(AutoPlay,Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(AutoPlay,Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1302.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: You brought him the puzzle box.")), Caption(Text("How can I still trust you?")), DelayScript(Seconds(4)) )) )), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) IASc1302.SetScript(sc1302) scActiveState.AddInvoke(IASc1302) // #### Ask About ESP test #### scActiveState.AddInvoke ( InterAction ( Desc("What do you know about ESP?"), MaxInvoke(-1), type("talk"), Condition(Not(CanTestESP)), Tool(espNoteTool), Script(SequentialScript(Looping, Scripts(Sc1106))) ) ) IASc1107 = InterAction ( Desc("Can I test you for ESP?"), MaxInvoke(-1), Condition(CanTestESP), type("talk"), Tool(espNoteTool) ) sc1107 = SequentialScript(Autoplay,Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1107.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: Go ahead...but I can tell you I do not have ESP.")), DelayScript(Seconds(4)) )) )), Caption(Reset()), AddInventoryNotepadEntry(Text("Scarlet saw the numbers 12, 31 and 38.")), {ScESPGE.SetState(TestOn)}, Cursor(Name("default"),EnableWindows(false)) //SetState(ge(scarlet),state(scActiveState)) )) IASc1107.SetScript(sc1107) scActiveState.AddInvoke(IASc1107) // #### Ask About Artifacts #### scActiveState.AddInvoke ( InterAction ( Desc("Do you know anything about the artifacts here?"), MaxInvoke(-1), type("talk"), Tool(artifactsNoteTool), Script(SequentialScript(Looping, Scripts(Sc1105))) ) ) // #### Ask About Magic #### scActiveState.AddInvoke ( InterAction ( Desc("Are you interested in Magic?"), MaxInvoke(-1), //Condition(Or(TalkedToUrfe, TalkedAboutUrfe)), type("talk"), Condition(GameState1), Tool(magicNoteTool), Script(SequentialScript(Looping, Scripts(Sc1108))) ) ) // #### Ask About Magic GS 2 #### IASc1204 = InterAction ( Desc("Are you interested in Magic?"), MaxInvoke(-1), type("talk"), Condition(Not(GameState1)), Tool(magicNoteTool) ) sc1204 = SequentialScript(Autoplay,Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1204.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: No.")), DelayScript(Seconds(2)) )) )), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)), Caption(Reset()) )) IASc1204.SetScript(sc1204) scActiveState.AddInvoke(IASc1204) // #### Ask About Scarlet & ESP cards #### IASc1109 = InterAction ( Desc("Have you had any flashes of intuition since this trip started? Tell me!"), MaxInvoke(-1), type("talk"), Tool(scarletNoteTool_espNoteTool) ) sc1109 = SequentialScript(Autoplay,Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), WaitScript(scActiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), ParallelScript(Scripts ( SequentialScript(Autoplay, Looping, Scripts ( {scActiveStill.SetActive(false)}, GraphicScript(Skippable,Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sc1109.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)} )), SequentialScript(Skippable,AutoPlay(true),Looping(true),Scripts ( Caption(Text("Scarlet: Yes...my intuition was to trust you.")), Caption(Text(" ")), DelayScript(Seconds(3)) )) )), Caption(Text(" ")), Caption(Text(" ")), Caption(Reset()), SetState(ge(scarlet),state(scActiveState)), Cursor(Name("default"),EnableWindows(true)), Dialogue(ge(scarlet)) )) IASc1109.SetScript(sc1109) scActiveState.AddInvoke(IASc1109) // #### Open Notepad #### openNotepad = InterAction ( Desc("OpenNotepad"), MaxInvoke(-1), type("pickup"), Script(SequentialScript(Autoplay,Looping,Scripts ( SetState(ge(scarlet),state(scActiveState)), WaitScript(scActiveIdleAnim), AddNotepadEntry(Type("character"),Text("Scarlet"), Tool("scarletnotetool")), ConditionalScript(Condition(CanAskESP), Script(AddNotepadEntry(Type("clue"),Text("Scarlet & ESP"), Tool("scarletnotetool_espnotetool")))), Dialogue(ge(scarlet)) ))) ) scActiveState.AddInvoke(openNotepad) sctt11 = InterAction ( Desc("OpenNotepad"), MaxInvoke(-1), type("pickup"), Script ( SequentialScript(Autoplay, Looping, Scripts ( Cursor(Name("wait"),EnableWindows(false)), {theScreen.DisableHotspots()}, WaitScript(scActiveIdleAnim), WaitScript(scInactiveIdleAnim), SetState(ge(scarlet),state(scTalkState)), {scInactiveStill.SetActive(false)}, GraphicScript(Graphic(SmackAnimation ( Layer(30), Offset(0,50), File("assets\\act1\\scarlet\\sctt11.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scActiveStill.SetActive(true)}, SetState(ge(scarlet),state(scActiveState)), AddNotepadEntry(Type("character"),Text("Scarlet"), Tool("scarletnotetool")), ConditionalScript(Condition(CanAskESP), Script(AddNotepadEntry(Type("clue"),Text("Scarlet & ESP"), Tool("scarletnotetool_espnotetool")))), Dialogue(ge(scarlet)) )) ) ) scInActiveState.AddInvoke(sctt11) // #### Close Notepad #### closeNotepad = InterAction ( Desc("Goodbye"), MaxInvoke(-1), type("talk"), Tool(closeNotepadTool), Script(SequentialScript(Looping,Autoplay,Scripts ( WaitScript(scInactiveIdleAnim), WaitScript(scActiveIdleAnim), SequentialScript(Autoplay,Looping,Scripts ( {scActiveStill.SetActive(false)}, SetState(ge(scarlet),state(scTalkState)), GraphicScript(Graphic(SmackAnimation ( Layer(0), Offset(0,50), File("assets\\act1\\scarlet\\sctb11.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scInactiveStill.SetActive(true)}, SetState(ge(scarlet),state(scInactiveState)) )), RemoveNotepadEntry(Type("character"),Text("Scarlet"), Tool("scarletnotetool")), RemoveNotepadEntry(Type("clue"),Text("Scarlet & ESP"), Tool("scarletnotetool_espnotetool")), Cursor(Name("default"),EnableWindows(true)), {theScreen.EnableHotspots()} ))) ) scActiveState.AddInvoke(closeNotepad) sctb11 = ConditionalScript(Condition(InState(ge(Scarlet),state(ScActiveState))),Script ( SequentialScript(Autoplay,Looping,Scripts ( Cursor(Name("wait"),EnableWindows(false)), {theScreen.DisableHotspots()}, WaitScript(scActiveIdleAnim), {scActiveStill.SetActive(false)}, SetState(ge(scarlet),state(scTalkState)), GraphicScript(Graphic(SmackAnimation ( Layer(1), Offset(0,50), File("assets\\act1\\scarlet\\sctb11.smk"), Looping(false), NoSkip(false), Transparent(0, 255, 0) ))), {scInactiveStill.SetActive(true)}, SetState(ge(scarlet),state(scInactiveState)) )) )) // ## Functions ## Function ScInit() { theScreen.Add(scarletHotspot) if (And(GameState1,Not(TalkedToScarlet))) { scHi11.Start() } if (And(Or(GameState2,GameState3),Not(TalkedToScarlet))) { scHi12.Start() } if (And(GameState4,Not(TalkedToScarlet))) { scHi14.Start() } scarlet.setstate(scInactiveState) theScreen.Add(scInactiveStill) scInactiveStill.Start() scInactiveStill.SetActive(true) theScreen.Add(scActiveStill) scActiveStill.Start() scActiveStill.SetActive(false) theScreen.Add(scActiveIdle) scActiveStill.Start() theScreen.Add(scInactiveIdle) } unload: }