From fc0a24904cfd59669deb3d03f37df568a20811e0 Mon Sep 17 00:00:00 2001
From: John <denialmc@outlook.com>
Date: Thu, 13 Aug 2015 14:47:51 +0300
Subject: [PATCH] Tutorial chat bubble click fix + arrows fix

---
 toontown/quest/BlinkingArrows.py |  5 ++
 toontown/quest/QuestParser.py    |  3 ++
 toontown/quest/QuestScripts.py   | 91 +++++++++++++++++++++++---------
 3 files changed, 74 insertions(+), 25 deletions(-)

diff --git a/toontown/quest/BlinkingArrows.py b/toontown/quest/BlinkingArrows.py
index a0d225cd..3d6aa06b 100755
--- a/toontown/quest/BlinkingArrows.py
+++ b/toontown/quest/BlinkingArrows.py
@@ -38,6 +38,11 @@ class BlinkingArrows:
         self.stopArrowsFlashing()
         self.arrow1.reparentTo(hidden)
         self.arrow2.reparentTo(hidden)
+    
+    def reparentTo(self, parent):
+        self.parent = parent
+        self.arrow1.reparentTo(self.parent)
+        self.arrow2.reparentTo(self.parent)
 
     def startArrowsFlashing(self):
         onColor = Vec4(1, 1, 1, 1)
diff --git a/toontown/quest/QuestParser.py b/toontown/quest/QuestParser.py
index 6cb24c87..db41baba 100755
--- a/toontown/quest/QuestParser.py
+++ b/toontown/quest/QuestParser.py
@@ -21,6 +21,9 @@ def init():
      'camera': camera,
      'hidden': hidden,
      'aspect2d': aspect2d,
+     'topLeft': base.a2dTopLeft,
+     'bottomLeft': base.a2dBottomLeft,
+     'bottomRight': base.a2dBottomRight,
      'localToon': base.localAvatar,
      'laffMeter': base.localAvatar.laffMeter,
      'inventory': base.localAvatar.inventory,
diff --git a/toontown/quest/QuestScripts.py b/toontown/quest/QuestScripts.py
index 9a41a5a3..18d1b2da 100755
--- a/toontown/quest/QuestScripts.py
+++ b/toontown/quest/QuestScripts.py
@@ -11,9 +11,8 @@ POSHPRSCALE toonBuilding -1.05 7 0 0 0 0 1.875 1.875 1.875
 POSHPRSCALE cogBuilding -1.05 7 0 0 0 0 1.875 1.875 1.875
 POSHPRSCALE squirt1 -1.05 7 0 0 0 0 1.875 1.875 1.875
 POSHPRSCALE squirt2 -1.05 7 0 0 0 0 1.875 1.875 1.875
-REPARENTTO camera npc
-POS camera -2.2 5.2 3.3
-HPR camera 215 5 0
+WRTREPARENTTO camera npc
+LERP_POSHPRSCALE camera 2.8 0.0 3.5 35 5 0 1 1 1 1.5
 WRTREPARENTTO camera localToon
 PLAY_ANIM npc "right-hand-start" 1
 WAIT 1
@@ -46,11 +45,13 @@ WAIT 0.5
 REPARENTTO squirt2 hidden
 OBSCURE_LAFFMETER 0
 SHOW laffMeter
-POS laffMeter 0 0 0
-SCALE laffMeter 0.075 0.075 0.075
-LERP_POS laffMeter 1.7 0 0.87 1
+POS laffMeter 0.153 0.0 0.13
+SCALE laffMeter 0.0 0.0 0.0
+WRTREPARENTTO laffMeter aspect2d
+LERP_POS laffMeter -0.25 0 -0.15 1
 LERP_SCALE laffMeter 0.2 0.2 0.2 0.6
 WAIT 1.0833
+LOOP_ANIM npc "right-hand"
 LOCAL_CHAT_CONFIRM npc QuestScript101_8 "CFReversed"
 LOCAL_CHAT_CONFIRM npc QuestScript101_9 "CFReversed"
 FUNCTION npc "sadEyes"
@@ -90,9 +91,10 @@ LOCAL_CHAT_CONFIRM npc QuestScript101_10 "CFReversed"
 FUNCTION npc "normalEyes"
 FUNCTION npc "blinkEyes"
 LAFFMETER 15 15
+WRTREPARENTTO laffMeter bottomLeft
 WAIT 0.5
-LERP_POS laffMeter 0.15 0.15 0.15 1
-LERP_SCALE laffMeter 0.085 0.085 0.085 0.6
+LERP_POS laffMeter 0.153 0.0 0.13 0.6
+LERP_SCALE laffMeter 0.075 0.075 0.075 0.6
 PLAY_ANIM npc "right-hand-start" -2
 WAIT 1.0625
 LOOP_ANIM npc "neutral"
@@ -125,20 +127,30 @@ UPON_TIMEOUT FUNCTION squirt1 "removeNode"
 UPON_TIMEOUT FUNCTION squirt2 "removeNode"
 UPON_TIMEOUT LOOP_ANIM npc "neutral"
 UPON_TIMEOUT SHOW laffMeter
-UPON_TIMEOUT POS laffMeter 0.15 0.15 0.15
-UPON_TIMEOUT SCALE laffMeter 0.085 0.085 0.085
+UPON_TIMEOUT REPARENTTO laffMeter bottomLeft
+UPON_TIMEOUT POS laffMeter 0.15 0 0.13
+UPON_TIMEOUT SCALE laffMeter 0.075 0.075 0.075
 POS localToon 0.776 14.6 0
 HPR localToon 47.5 0 0
 FINISH_QUEST_MOVIE
 
 
 ID quest_incomplete_110
-DEBUG "quest assign 110"
 LOCAL_CHAT_CONFIRM npc QuestScript110_1
 OBSCURE_BOOK 0
+REPARENTTO bookOpenButton aspect2d
 SHOW bookOpenButton
+POS bookOpenButton 0 0 0
+SCALE bookOpenButton 0.5 0.5 0.5
+LERP_COLOR_SCALE bookOpenButton 1 1 1 0 1 1 1 1 0.5
+WRTREPARENTTO bookOpenButton bottomRight
+WAIT 1.5
+LERP_POS bookOpenButton -0.158 0 0.17 1
+LERP_SCALE bookOpenButton 0.305 0.305 0.305 1
+WAIT 1
 LOCAL_CHAT_CONFIRM npc QuestScript110_2
-ARROWS_ON 1.364477 -0.89 0 1.664477 -0.64 90
+REPARENTTO arrows bottomRight
+ARROWS_ON -0.41 0.11 0 -0.11 0.36 90
 LOCAL_CHAT_PERSIST npc QuestScript110_3
 WAIT_EVENT "enterStickerBook"
 ARROWS_OFF
@@ -149,6 +161,7 @@ CLEAR_CHAT npc
 WAIT 0.5
 TOON_HEAD npc -0.2 -0.45 1
 LOCAL_CHAT_CONFIRM npc QuestScript110_4
+REPARENTTO arrows aspect2d
 ARROWS_ON 0.85 -0.75 -90 0.85 -0.75 -90
 SHOW bookNextArrow
 LOCAL_CHAT_PERSIST npc QuestScript110_5
@@ -171,7 +184,8 @@ LOCAL_CHAT_CONFIRM npc QuestScript110_8
 LOCAL_CHAT_CONFIRM npc QuestScript110_9
 LOCAL_CHAT_PERSIST npc QuestScript110_10
 ENABLE_CLOSE_BOOK
-ARROWS_ON 1.364477 -0.89 0 1.664477 -0.64 90
+REPARENTTO arrows bottomRight
+ARROWS_ON -0.41 0.11 0 -0.11 0.36 90
 WAIT_EVENT "exitStickerBook"
 ARROWS_OFF
 TOON_HEAD npc 0 0 0
@@ -180,8 +194,11 @@ HIDE bookOpenButton
 LOCAL_CHAT_CONFIRM npc QuestScript110_11 1
 UPON_TIMEOUT OBSCURE_BOOK 0
 UPON_TIMEOUT ARROWS_OFF
+UPON_TIMEOUT REPARENTTO arrows aspect2d
 UPON_TIMEOUT HIDE_BOOK
 UPON_TIMEOUT COLOR_SCALE bookOpenButton 1 1 1 1
+UPON_TIMEOUT POS bookOpenButton -0.158 0 0.17
+UPON_TIMEOUT SCALE bookOpenButton 0.305 0.305 0.305
 UPON_TIMEOUT TOON_HEAD npc 0 0 0
 UPON_TIMEOUT SHOW bookOpenButton
 FINISH_QUEST_MOVIE
@@ -193,9 +210,9 @@ FUNCTION npc "stopLookAround"
 POS camera 0.0 6.0 4.0
 HPR camera 180.0 0.0 0.0
 LOCAL_CHAT_CONFIRM npc QuestScriptTutorialBlocker_1
-WAIT 0.8
+WAIT 0.8 
 LOCAL_CHAT_CONFIRM npc QuestScriptTutorialBlocker_2
-WAIT 0.8
+WAIT 0.8 
 POS camera -5.0 -9.0 6.0
 HPR camera -25.0 -10.0 0.0
 POS localToon 203.8 18.64 -0.475
@@ -203,9 +220,18 @@ HPR localToon -90.0 0.0 0.0
 SHOW localToon
 LOCAL_CHAT_CONFIRM npc QuestScriptTutorialBlocker_3
 OBSCURE_CHAT 1 0
+REPARENTTO chatScButton aspect2d
 SHOW chatScButton
-WAIT 0.6
-ARROWS_ON -1.3644 0.91 180 -1.5644 0.74 -90
+POS chatScButton -0.3 0 -0.1
+SCALE chatScButton 2.0 2.0 2.0
+LERP_COLOR_SCALE chatScButton 1 1 1 0 1 1 1 1 0.5
+WRTREPARENTTO chatScButton topLeft
+WAIT 0.5
+LERP_POS chatScButton 0.204 0 -0.072 0.6
+LERP_SCALE chatScButton 1.179 1.179 1.179 0.6
+WAIT 0.6 
+REPARENTTO arrows topLeft
+ARROWS_ON 0.41 -0.09 180 0.21 -0.26 -90
 LOCAL_CHAT_PERSIST npc QuestScriptTutorialBlocker_4
 WAIT_EVENT "enterSpeedChat"
 ARROWS_OFF
@@ -218,16 +244,24 @@ REPARENTTO camera localToon
 LOCAL_CHAT_CONFIRM npc QuestScriptTutorialBlocker_5 "CFReversed"
 LOCAL_CHAT_CONFIRM npc QuestScriptTutorialBlocker_6 "CFReversed"
 OBSCURE_CHAT 0 0
+REPARENTTO chatNormalButton aspect2d
 SHOW chatNormalButton
-WAIT 0.6
+POS chatNormalButton -0.3 0 -0.1
+SCALE chatNormalButton 2.0 2.0 2.0
+LERP_COLOR_SCALE chatNormalButton 1 1 1 0 1 1 1 1 0.5
+WAIT 0.5
+WRTREPARENTTO chatNormalButton topLeft
+LERP_POS chatNormalButton 0.068 0 -0.072 0.6
+LERP_SCALE chatNormalButton 1.179 1.179 1.179 0.6
+WAIT 0.6 
 LOCAL_CHAT_CONFIRM npc QuestScriptTutorialBlocker_7 "CFReversed"
 LOCAL_CHAT_CONFIRM npc QuestScriptTutorialBlocker_8 1 "CFReversed"
 LOOP_ANIM npc "walk"
 LERP_HPR npc 270 0 0 0.5
 WAIT 0.5
 LOOP_ANIM npc "run"
-LERP_POS npc 217.4 18.81 -0.475 0.75
-LERP_HPR npc 240 0 0 0.75
+LERP_POS npc 217.4 18.81 -0.475 0.75 
+LERP_HPR npc 240 0 0 0.75 
 WAIT 0.75
 LERP_POS npc 222.4 15.0 -0.475 0.35
 LERP_HPR npc 180 0 0 0.35
@@ -237,7 +271,12 @@ WAIT 0.75
 REPARENTTO npc hidden
 FREE_LOCALTOON
 UPON_TIMEOUT ARROWS_OFF
-UPON_TIMEOUT OBSCURE_CHAT 0 0
+UPON_TIMEOUT REPARENTTO arrows aspect2d
+UPON_TIMEOUT POS chatScButton 0.204 0 -0.072
+UPON_TIMEOUT SCALE chatScButton 1.179 1.179 1.179 
+UPON_TIMEOUT POS chatNormalButton 0.068 0 -0.072
+UPON_TIMEOUT SCALE chatNormalButton 1.179 1.179 1.179 
+UPON_TIMEOUT OBSCURE_CHAT 0 0 
 UPON_TIMEOUT REPARENTTO camera localToon
 FINISH_QUEST_MOVIE
 
@@ -250,13 +289,15 @@ WAIT 0.1
 LOCAL_CHAT_CONFIRM npc QuestScriptGagShop_1
 LERP_POS npcToonHead -0.64 0 -0.74 0.7
 LERP_SCALE npcToonHead 0.82 0.82 0.82 0.7
-LERP_COLOR_SCALE purchaseBg 1 1 1 1  0.6 0.6 0.6 1 0.7
+LERP_COLOR_SCALE purchaseBg 1 1 1 1 0.6 0.6 0.6 1 0.7
 WAIT 0.7
 SHOW inventory
 LOCAL_CHAT_CONFIRM npc QuestScriptGagShop_1a
+ARROWS_ON -0.19 0.04 180 -0.4 0.26 90
 LOCAL_CHAT_PERSIST npc QuestScriptGagShop_3
 SEND_EVENT "enableGagPanel"
 WAIT_EVENT "inventory-selection"
+ARROWS_OFF
 CLEAR_CHAT npc
 WAIT 0.5
 LOCAL_CHAT_CONFIRM npc QuestScriptGagShop_4
@@ -299,6 +340,7 @@ LERP_COLOR_SCALE purchaseBg 0.6 0.6 0.6 1  1 1 1 1 0.5
 WAIT 0.5
 SEND_EVENT "enableBackToPlayground"
 UPON_TIMEOUT TOON_HEAD npc 0 0 0
+UPON_TIMEOUT ARROWS_OFF
 UPON_TIMEOUT SHOW inventory
 UPON_TIMEOUT SEND_EVENT "enableGagPanel"
 UPON_TIMEOUT SEND_EVENT "enableBackToPlayground"
@@ -320,10 +362,9 @@ CHAT_CONFIRM npc QuestScript145_2 1
 UPON_TIMEOUT FUNCTION frame "removeNode"
 FINISH_QUEST_MOVIE
 
-
 ID quest_incomplete_150
 CHAT_CONFIRM npc QuestScript150_1
-ARROWS_ON  1.65 0.51 -120 1.65 0.51 -120
+ARROWS_ON  1.05 0.51 -120 1.05 0.51 -120
 SHOW_FRIENDS_LIST
 CHAT_CONFIRM npc QuestScript150_2
 ARROWS_OFF
@@ -334,4 +375,4 @@ CHAT_CONFIRM npc QuestScript150_4 1
 UPON_TIMEOUT HIDE_FRIENDS_LIST
 UPON_TIMEOUT ARROWS_OFF
 FINISH_QUEST_MOVIE
-'''
+'''
\ No newline at end of file