From eb32e3af26440366a4973b0222d15e5b56d27bc6 Mon Sep 17 00:00:00 2001
From: sebastian weber
 <sebastianweber@1c0ab2b0-5b09-4ded-9575-27a213758256.fritz.box>
Date: Fri, 3 Dec 2021 12:34:52 +0100
Subject: [PATCH] finished Creator-Menu-Prototype

---
 .DS_Store                                     |  Bin 14340 -> 14340 bytes
 Assets/.DS_Store                              |  Bin 10244 -> 10244 bytes
 .../Prefabs/Rainmaker/RainPrefab.prefab       |    4 +-
 Assets/Scenes/Worlds/RiverWorld.unity         | 1460 ++++++++++++++---
 Assets/Scenes/testscene.unity                 |  301 ++++
 Assets/Scenes/testscene.unity.meta            |    7 +
 .../TaskCharakterAnimation.cs                 |    2 +-
 .../FactHandling/FactComparer.cs              |   32 +
 Assets/Scripts/TestScripts/MenuScript.cs      |  513 ++++--
 .../Scripts/TestScripts/MyCharacterDialog.cs  |  171 +-
 Packages/manifest.json                        |    4 +-
 Packages/packages-lock.json                   |   21 +-
 ProjectSettings/.DS_Store                     |  Bin 6148 -> 6148 bytes
 .../com.unity.settings-manager/Settings.json  |    7 +
 ProjectSettings/ProjectSettings.asset         |    6 +-
 ProjectSettings/ProjectVersion.txt            |    4 +-
 UserSettings/EditorUserSettings.asset         |    3 +
 17 files changed, 2154 insertions(+), 381 deletions(-)
 create mode 100644 Assets/Scenes/testscene.unity
 create mode 100644 Assets/Scenes/testscene.unity.meta
 create mode 100644 ProjectSettings/Packages/com.unity.settings-manager/Settings.json

diff --git a/.DS_Store b/.DS_Store
index c80a6882b69ccc158b64475b8f843c7e93939596..a7db5bf4c6aa596b2b4c97c659c224de6c6e26bf 100644
GIT binary patch
delta 1665
zcmZoEXepTBFYL^~z`)GFAi%(oSCC;CoSdIqF!7@5WCIfxOGX9;1{Sb%5<@0JngIq_
z81xv@88R74a`RnWl5+Bs7#J8hwAYvDZ@g&6KJfwXW_Au14o1Dn{TdS{PLQ6=BOuS5
z5SlnyPe4xR#@{HrcZ&}@GB7Z(Gx#uMG9)n+F(fh+F;wQ}r@+mEsG3|MpvW}IVe)JN
zeP+hgr<2bLNU-sV{<pijc=BrjDHxMmP@0K}VX}sxwk?0g8nCPL8Il;Xklj}2w|&yg
zd0<<a8KANV+aR)&CkRS1@gJDHQAl+20YMQ)CW}*({|Sjrej~)i=FTD46f}SGA0Z_e
zQ$<*XF#xPKPB@;C@%!XN5v9!!M1<Km0`&H&2h2b02ojkrE6u|O5tytmZNyZ-021BY
zDt&~JiN$lWysV4}vNL061YQXOX_c3i0cqtx7TA1Tb|xdE$YdS`$@=Zq@4-=oBO1CO
zUPX!~gl9p~gf0(@e^C7DWHf*%W(GZmGKS)ubV$ko2{ACqPX!0B-sB|;zLOKA**1Sy
zkYr@a7MLugWI35%O>}a!L?w4bW^#UBaAsAi0ORJ@N+pa;ISrE&Rb=ax9Sp#xFfed1
z$TAo)xG?xIBrp^)R5SE4%wSl}u!Uh8!*+&a4CfhcF+5;+#qf#YJHs!A-wb~kSsD2l
z1sDYxg&3t7H5j!RwHb97O&J{-ofw@NeHa57gBe2@LmA^3lNnPP(-_kk3mD57D;O&o
zs~DRZyBT{K`xyHfXV@_=WL(6!m~jo`ZpOWg`xy5#o?yJhc$x7E<6Xvkj1L$eGQMH_
z%J_}(I}<095R)*I2$MRK29qI^6_YcQ2b1Sy6V+fgH+K(D9&eaW<&k{Kd6SP{Ku}0n
zL{v;%K~+oN#N5VVvZLAoV{T54D-x1Y(ma+t)|>*xoB}Kmt}Kr|C#L`dm?PsP<H8|u
zf<u6VL)n3(&^pC%nc*hGLx#5upBVl#vM_QoN-!!iYBK6GS~A)*Ixspjx-hyi`ZESF
z1~CSM!zi9Hkuixeg)x^gkFkKUkg=GthOw5hp0R<kiLslphq0G&8sl`vnM#ba80Ro9
zWn9L%oN*=NCdSQ-TN$@8?qJ->c!=>d;}yo6jJGDgR&T360E$vJ21kZshGK?Ph7yM2
zvf!e;ocz3W1_lODF~ZCME<#Y!5l9cH>;cOlr~d;R#1PpODvL<DFxe6VgIkPD%q*;I
d?3-OB)-lmC$4zD2%x>_F#e6i?P%qU;0st^5vi|@8

delta 1294
zcmZoEXepTBFKW-gz`)GFAi%(o#8AYL$WX*knNmFQqVi+|6BbrR1_lO}$#VpxC0Q8s
z7}6Os8A@{VU0jlK@{<@C7&vNJz0@{dG-IFmfOj)H2MY(I=H%@H^2}COr%k>oAjkG_
zqij;gyvctB6ktqcK}9CF50l*l_2U?Hmw*gs@L|YjNM|TUHnuULeq-Cb!;Yx(DR67C
z$rof81}Ep|7BGOpfytKzwV8Q5%_lPoiLtHYTx7zRF<Dkf0>-o!l4RzYz%aQ{SY&gy
zkO(7_xyR&2VFeDc<;*G_^A0;sZWI=qykD4$EyvECFRg0wd0`bM2Z(Y`k$6T%ugL|{
zN}Ibyh1ocK3|Jsq3ZzvgpOWU{F#plXnNfAv5u{}DKWRRu1O^auvw_SJMkeN~lTXRY
zh#>oR<+;A5v(<+kK@yWsNb_)@2>g@g-CQr%!#MH5YDUq?JPMNao0y-20|rNYfSivi
zj|ezWe4)!D2b@k)11R{I8T1&+7>aY!k%E+2U>i80=uKXt;LF4uu=%rsEF+WmzsW*M
zmXrTVESwxFCbIdbQamG5@`K5`>avsXi7VGXWO&Z-k>Mx9KSoAICPrpP9!60{aYhM7
zNk%0`eMUn@BSvFJ8%7UCPew1sV8#f>D8^{U7{*k_EXEwhT*f@ca>iQ5dd3FEM#e72
zNsLn%r!r1soX@y|aV6s_#?6d}7>_U>Wjw}sp7AE*Eyml7PZ*yvK4*Nv_?ht!<6p*q
zOahY|B=}jqnEaUnCYz`Rv$=bCdhwWV{wu-FIC-L4rl~n6hXCUh2}vnw9xEOjPJv=h
z0Tu{XmdAmUQ-A@?k#UxB<q$Z*A;7_*>;U!KE-B+w14c7O2SztWcSbKpZ$@9nFvf7k
zNX96z`_mXR7&95O8A}*T8Os?f7^@hY8Cw|J7~2^;87DDLW}E`{#{$MhjEfnUGOlA>
z&$xkc6XR~iJ&gMp_cI=3Jj8gK@e1Qz#z&K1tGCHb0L2L#gCj#RLoq`tLkUB1S#VKa
rPJUiG0|Nu&WFCPDn@>qzVWeM5T)vsz;2R4&GzKQ8NN5lFP?iJ$x@K)i

diff --git a/Assets/.DS_Store b/Assets/.DS_Store
index 36a53b55bb2714b78e296912d026f8884e680e7e..4d1f12308cb7072d94f4ad8b154f7198e0c3c23b 100644
GIT binary patch
delta 198
zcmZn(XbIS$Am;Jp9RmXc8$&QdGD9ju9z!Zaac;hgOHxjL5(5JR$M1Vd-2U?qJ7TIy
mK~pn1Lrj6OU~{LKJtLFPqRAh`MK<3PcjBX=`IGO7s{sIWDmv`|

delta 198
zcmZn(XbIS$Am(wRl!1YPjUkvJnIV-Sk0F(zI5*$LB`GIAiGhKE<9uKFT&>!}j+kmv
l(9}%M5K~}u*xV^*&&cG(Ir)RQ$mV<EPJA>pfAT$XH2_BMH@yG=

diff --git a/Assets/Resources/Prefabs/Rainmaker/RainPrefab.prefab b/Assets/Resources/Prefabs/Rainmaker/RainPrefab.prefab
index 050bd892..cf0d39d7 100644
--- a/Assets/Resources/Prefabs/Rainmaker/RainPrefab.prefab
+++ b/Assets/Resources/Prefabs/Rainmaker/RainPrefab.prefab
@@ -9585,7 +9585,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!4 &470886
 Transform:
   m_ObjectHideFlags: 0
@@ -9594,7 +9594,7 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 160098}
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 40, z: 0}
+  m_LocalPosition: {x: 6.189061, y: 40, z: 4.8489676}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 413392}
diff --git a/Assets/Scenes/Worlds/RiverWorld.unity b/Assets/Scenes/Worlds/RiverWorld.unity
index 2b4a4eaa..c75e42b8 100644
--- a/Assets/Scenes/Worlds/RiverWorld.unity
+++ b/Assets/Scenes/Worlds/RiverWorld.unity
@@ -2329,6 +2329,141 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 100422516}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &101622405
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 101622406}
+  - component: {fileID: 101622408}
+  - component: {fileID: 101622407}
+  m_Layer: 5
+  m_Name: Placeholder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &101622406
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 101622405}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 616610690}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &101622407
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 101622405}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: e.g. "1,2,3" for facts 1-3 to be shown
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
+  m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 2150773298
+  m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 20
+  m_fontSizeBase: 20
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 2
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 256
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 1
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &101622408
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 101622405}
+  m_CullTransparentMesh: 0
 --- !u!1001 &101905447
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -3711,7 +3846,7 @@ RectTransform:
   m_Children:
   - {fileID: 877026260}
   m_Father: {fileID: 953645907}
-  m_RootOrder: 4
+  m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -9780,6 +9915,141 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 379615091}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &381229298
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 381229299}
+  - component: {fileID: 381229301}
+  - component: {fileID: 381229300}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &381229299
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 381229298}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 616610690}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &381229300
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 381229298}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: "\u200B"
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
+  m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4281479730
+  m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 20
+  m_fontSizeBase: 20
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 256
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 0
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 1
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &381229301
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 381229298}
+  m_CullTransparentMesh: 0
 --- !u!1001 &381337202
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -10068,6 +10338,81 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 383400580}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &385501102
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 385501103}
+  - component: {fileID: 385501105}
+  - component: {fileID: 385501104}
+  m_Layer: 5
+  m_Name: 'Panel '
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &385501103
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385501102}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 953645907}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 1920, y: 1080}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &385501104
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385501102}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.06666667, g: 0.063234225, b: 0.063234225, a: 0.7921569}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &385501105
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 385501102}
+  m_CullTransparentMesh: 0
 --- !u!1001 &386539294
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -15280,6 +15625,141 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 488708902}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &497949239
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 497949240}
+  - component: {fileID: 497949242}
+  - component: {fileID: 497949241}
+  m_Layer: 5
+  m_Name: 1-8
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &497949240
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 497949239}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 953645907}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -1095, y: 175}
+  m_SizeDelta: {x: 800, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &497949241
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 497949239}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 1-8
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
+  m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 25
+  m_fontSizeBase: 25
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 256
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 1387.3508, y: 10.315186, z: -678.10547, w: -25.78479}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &497949242
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 497949239}
+  m_CullTransparentMesh: 0
 --- !u!1001 &501136837
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -18349,6 +18829,58 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 613329880}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &616610689
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 616610690}
+  - component: {fileID: 616610691}
+  m_Layer: 5
+  m_Name: Text Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &616610690
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 616610689}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 101622406}
+  - {fileID: 381229299}
+  m_Father: {fileID: 1660359283}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -0.5}
+  m_SizeDelta: {x: -20, y: -13}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &616610691
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 616610689}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding: {x: 0, y: 0, z: 0, w: 0}
+  m_Softness: {x: 0, y: 0}
 --- !u!1001 &618359389
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -18888,7 +19420,7 @@ MonoBehaviour:
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-  m_text: Enter text...
+  m_text: Please end your text with '.' , ' ?' or ' !'
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
   m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150,
@@ -19258,7 +19790,7 @@ Mesh:
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_Name: pb_Mesh238468
+  m_Name: pb_Mesh22686
   serializedVersion: 10
   m_SubMeshes:
   - serializedVersion: 2
@@ -22976,7 +23508,6 @@ MonoBehaviour:
   npc_slot: {fileID: 601076046}
   problemPrefab: {fileID: 5710625046680489166}
   problemObject: {fileID: 0}
-  testsuccessReaction: {fileID: 878700427}
   debugcounter: 0
   MenuKey: 27
   NPCKey: 110
@@ -25503,137 +26034,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 877026259}
   m_CullTransparentMesh: 0
---- !u!1001 &878700426
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 0}
-    m_Modifications:
-    - target: {fileID: 160098, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_Name
-      value: RainPrefab
-      objectReference: {fileID: 0}
-    - target: {fileID: 160098, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_IsActive
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 413392, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalScale.x
-      value: 4
-      objectReference: {fileID: 0}
-    - target: {fileID: 413392, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalScale.y
-      value: 4
-      objectReference: {fileID: 0}
-    - target: {fileID: 413392, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalScale.z
-      value: 4
-      objectReference: {fileID: 0}
-    - target: {fileID: 413392, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 21.5
-      objectReference: {fileID: 0}
-    - target: {fileID: 413392, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: -84
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_RootOrder
-      value: 11
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 40
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 38.3
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 470886, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 11437536, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: m_Enabled
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19824492, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: EmissionModule.enabled
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19831730, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: InitialModule.size3D
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19831730, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: EmissionModule.enabled
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19831730, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: InitialModule.startSize.scalar
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19831730, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: InitialModule.startSizeY.scalar
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19831730, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: InitialModule.startSizeZ.scalar
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19831730, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: InitialModule.startSpeed.scalar
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19831730, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: InitialModule.startSize.minScalar
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19831730, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: InitialModule.startSizeY.minScalar
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 19831730, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
-      propertyPath: InitialModule.startSizeZ.minScalar
-      value: 1
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
---- !u!1 &878700427 stripped
-GameObject:
-  m_CorrespondingSourceObject: {fileID: 160098, guid: 69b40ef7ee16c834c844b3fa26e0fdda,
-    type: 3}
-  m_PrefabInstance: {fileID: 878700426}
-  m_PrefabAsset: {fileID: 0}
 --- !u!1001 &883881641
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -27125,7 +27525,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &953645907
 Transform:
   m_ObjectHideFlags: 0
@@ -27137,11 +27537,17 @@ Transform:
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
-  - {fileID: 1482624091}
+  - {fileID: 385501103}
   - {fileID: 306180662}
   - {fileID: 1984934689}
   - {fileID: 1998804294}
+  - {fileID: 1002945821}
+  - {fileID: 1660359283}
   - {fileID: 162889262}
+  - {fileID: 497949240}
+  - {fileID: 1552377226}
+  - {fileID: 1898480345}
+  - {fileID: 1719335898}
   m_Father: {fileID: 1007658431}
   m_RootOrder: 5
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -27174,7 +27580,6 @@ MonoBehaviour:
   npc_slot: {fileID: 0}
   problemPrefab: {fileID: 0}
   problemObject: {fileID: 0}
-  testsuccessReaction: {fileID: 0}
   debugcounter: 0
   MenuKey: 283
   NPCKey: 0
@@ -27387,7 +27792,7 @@ PrefabInstance:
         type: 3}
       propertyPath: animationprefab
       value: 
-      objectReference: {fileID: 878700427}
+      objectReference: {fileID: 160098, guid: 69b40ef7ee16c834c844b3fa26e0fdda, type: 3}
     - target: {fileID: 3710885026003329319, guid: 4c18a6396bfb545d8bbfd53f1a924d79,
         type: 3}
       propertyPath: m_Sprite
@@ -28263,6 +28668,111 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 1001654692}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &1002945820
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1002945821}
+  - component: {fileID: 1002945824}
+  - component: {fileID: 1002945823}
+  - component: {fileID: 1002945822}
+  m_Layer: 5
+  m_Name: Factscreen
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1002945821
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1002945820}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 953645907}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 427, y: 0}
+  m_SizeDelta: {x: 900, y: 450}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1002945822
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1002945820}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d982f30612e9c5c4eb26c1ad0bb859e1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  prefab_Point: {fileID: 858001163752551619, guid: f019e9f67e8dab947bc60028223b6cec,
+    type: 3}
+  prefab_Distance: {fileID: 4221381813544557775, guid: 8106c748f1aeb084d87fdc71dd009b67,
+    type: 3}
+  prefab_Angle: {fileID: 6643637775379894484, guid: 30fcd362f34a9844fba66065924c6143,
+    type: 3}
+  prefab_Default: {fileID: 858001163752551619, guid: f019e9f67e8dab947bc60028223b6cec,
+    type: 3}
+  prefab_OnLine: {fileID: 6050914136827205310, guid: 496d04605465c7f4dba7638cc6e2dc6e,
+    type: 3}
+  prefab_Line: {fileID: 7510387096843212865, guid: d6ee990520a44954fb494468665d19e9,
+    type: 3}
+  x_Start: -125
+  y_Start: 475
+  X_Pacece_Between_Items: 110
+  y_Pacece_Between_Items: 110
+  number_of_Column: 3
+--- !u!114 &1002945823
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1002945820}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.392}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1002945824
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1002945820}
+  m_CullTransparentMesh: 0
 --- !u!1001 &1005919599
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -30868,7 +31378,6 @@ MonoBehaviour:
   npc_slot: {fileID: 0}
   problemPrefab: {fileID: 0}
   problemObject: {fileID: 0}
-  testsuccessReaction: {fileID: 0}
   debugcounter: 0
   MenuKey: 283
   NPCKey: 0
@@ -34000,7 +34509,7 @@ PrefabInstance:
     - target: {fileID: 680201779562177011, guid: ffb2848bfea6a7748b3e5bd8e6928920,
         type: 3}
       propertyPath: m_RootOrder
-      value: 12
+      value: 11
       objectReference: {fileID: 0}
     - target: {fileID: 680201779562177011, guid: ffb2848bfea6a7748b3e5bd8e6928920,
         type: 3}
@@ -38801,81 +39310,6 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 1482526642}
   m_PrefabAsset: {fileID: 0}
---- !u!1 &1482624090
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1482624091}
-  - component: {fileID: 1482624093}
-  - component: {fileID: 1482624092}
-  m_Layer: 5
-  m_Name: Panel
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!224 &1482624091
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1482624090}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
-  m_Father: {fileID: 953645907}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 1920, y: 1080}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1482624092
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1482624090}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Material: {fileID: 0}
-  m_Color: {r: 0.06666667, g: 0.063234225, b: 0.063234225, a: 0}
-  m_RaycastTarget: 1
-  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
-  m_Maskable: 1
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-  m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
-  m_Type: 1
-  m_PreserveAspect: 0
-  m_FillCenter: 1
-  m_FillMethod: 4
-  m_FillAmount: 1
-  m_FillClockwise: 1
-  m_FillOrigin: 0
-  m_UseSpriteMesh: 0
-  m_PixelsPerUnitMultiplier: 1
---- !u!222 &1482624093
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1482624090}
-  m_CullTransparentMesh: 0
 --- !u!1001 &1486497203
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -40240,6 +40674,141 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1548446973}
   m_CullTransparentMesh: 0
+--- !u!1 &1552377225
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1552377226}
+  - component: {fileID: 1552377228}
+  - component: {fileID: 1552377227}
+  m_Layer: 5
+  m_Name: 9-16
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1552377226
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1552377225}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 953645907}
+  m_RootOrder: 8
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -1095, y: 65}
+  m_SizeDelta: {x: 800, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1552377227
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1552377225}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 9-16
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
+  m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 25
+  m_fontSizeBase: 25
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 256
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 1387.3508, y: 10.315186, z: -678.10547, w: -25.78479}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1552377228
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1552377225}
+  m_CullTransparentMesh: 0
 --- !u!1001 &1554071639
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -43343,6 +43912,181 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1659607071}
   m_CullTransparentMesh: 0
+--- !u!1 &1660359282
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1660359283}
+  - component: {fileID: 1660359286}
+  - component: {fileID: 1660359285}
+  - component: {fileID: 1660359284}
+  m_Layer: 5
+  m_Name: 'InputField '
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1660359283
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1660359282}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 616610690}
+  m_Father: {fileID: 953645907}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -500, y: 0}
+  m_SizeDelta: {x: 500, y: 300}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1660359284
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1660359282}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1660359285}
+  m_TextViewport: {fileID: 616610690}
+  m_TextComponent: {fileID: 381229300}
+  m_Placeholder: {fileID: 101622407}
+  m_VerticalScrollbar: {fileID: 0}
+  m_VerticalScrollbarEventHandler: {fileID: 0}
+  m_LayoutGroup: {fileID: 0}
+  m_ScrollSensitivity: 1
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_HideSoftKeyboard: 0
+  m_CharacterValidation: 0
+  m_RegexValue: 
+  m_GlobalPointSize: 14
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnSubmit:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnSelect:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnDeselect:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnTextSelection:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnEndTextSelection:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnTouchScreenKeyboardStatusChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 0.85
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+  m_RichText: 1
+  m_GlobalFontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
+  m_OnFocusSelectAll: 1
+  m_ResetOnDeActivation: 1
+  m_RestoreOriginalTextOnEscape: 1
+  m_isRichTextEditingAllowed: 0
+  m_LineLimit: 0
+  m_InputValidator: {fileID: 0}
+--- !u!114 &1660359285
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1660359282}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1660359286
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1660359282}
+  m_CullTransparentMesh: 0
 --- !u!1001 &1662462856
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -44683,7 +45427,6 @@ MonoBehaviour:
   npc_slot: {fileID: 0}
   problemPrefab: {fileID: 0}
   problemObject: {fileID: 0}
-  testsuccessReaction: {fileID: 0}
   debugcounter: 0
   MenuKey: 283
   NPCKey: 0
@@ -45001,6 +45744,141 @@ RectTransform:
     type: 3}
   m_PrefabInstance: {fileID: 1715346039}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &1719335897
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1719335898}
+  - component: {fileID: 1719335900}
+  - component: {fileID: 1719335899}
+  m_Layer: 5
+  m_Name: 25-32
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1719335898
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1719335897}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 953645907}
+  m_RootOrder: 10
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -1095, y: -156}
+  m_SizeDelta: {x: 800, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1719335899
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1719335897}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 25-32
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
+  m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 25
+  m_fontSizeBase: 25
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 256
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 1387.3508, y: 10.315186, z: -678.10547, w: -25.78479}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1719335900
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1719335897}
+  m_CullTransparentMesh: 0
 --- !u!1001 &1725470545
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -50359,6 +51237,141 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 1894886627}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &1898480344
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1898480345}
+  - component: {fileID: 1898480347}
+  - component: {fileID: 1898480346}
+  m_Layer: 5
+  m_Name: 17-24
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1898480345
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1898480344}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 953645907}
+  m_RootOrder: 9
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -1095, y: -46}
+  m_SizeDelta: {x: 800, y: 50}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1898480346
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1898480344}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 17-24
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
+  m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 25
+  m_fontSizeBase: 25
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 256
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 1387.3508, y: 10.315186, z: -678.10547, w: -25.78479}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1898480347
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1898480344}
+  m_CullTransparentMesh: 0
 --- !u!1 &1902411363
 GameObject:
   m_ObjectHideFlags: 0
@@ -65631,7 +66644,7 @@ GameObject:
   - component: {fileID: 1998804296}
   - component: {fileID: 1998804295}
   m_Layer: 5
-  m_Name: Choose Text
+  m_Name: Please Type Text
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -65676,8 +66689,8 @@ MonoBehaviour:
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-  m_text: Make sure to delete every fact with the fact-deleting-tool which should
-    not be shown from the beginning of the game except the one to be calculated
+  m_text: Please type in the factnumbers of those given facts, which should be displayed
+    for the player
   m_isRightToLeft: 0
   m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
   m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150,
@@ -69874,6 +70887,11 @@ PrefabInstance:
       propertyPath: m_AnchoredPosition.y
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 3020720018354060035, guid: b07552db700124a4680401e6fb94c186,
+        type: 3}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
     - target: {fileID: 3020720018464192118, guid: b07552db700124a4680401e6fb94c186,
         type: 3}
       propertyPath: m_AnchorMax.x
@@ -70190,6 +71208,8 @@ MonoBehaviour:
   - 'Yay, you did it !!! '
   - Try again!
   typingSpeed: 0.02
+  npc_id: 0
+  rainInstance: {fileID: 0}
   successreaction: {fileID: 0}
   failurereaction: {fileID: 0}
   npcReaction: 
diff --git a/Assets/Scenes/testscene.unity b/Assets/Scenes/testscene.unity
new file mode 100644
index 00000000..36c24866
--- /dev/null
+++ b/Assets/Scenes/testscene.unity
@@ -0,0 +1,301 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+  m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 12
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 12
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_AtlasSize: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_ExtractAmbientOcclusion: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 1
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 512
+    m_PVRBounces: 2
+    m_PVREnvironmentSampleCount: 256
+    m_PVREnvironmentReferencePointCount: 2048
+    m_PVRFilteringMode: 1
+    m_PVRDenoiserTypeDirect: 1
+    m_PVRDenoiserTypeIndirect: 1
+    m_PVRDenoiserTypeAO: 1
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVREnvironmentMIS: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ExportTrainingData: 0
+    m_TrainingDataDestination: TrainingData
+    m_LightProbeSampleCountMultiplier: 4
+  m_LightingDataAsset: {fileID: 0}
+  m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    maxJobWorkers: 0
+    preserveTilesOutsideBounds: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &169771476
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 169771479}
+  - component: {fileID: 169771478}
+  - component: {fileID: 169771477}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &169771477
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 169771476}
+  m_Enabled: 1
+--- !u!20 &169771478
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 169771476}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_FocalLength: 50
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &169771479
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 169771476}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1102969280
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1102969282}
+  - component: {fileID: 1102969281}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1102969281
+Light:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1102969280}
+  m_Enabled: 1
+  serializedVersion: 10
+  m_Type: 1
+  m_Shape: 0
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_InnerSpotAngle: 21.80208
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+    m_CullingMatrixOverride:
+      e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+    m_UseCullingMatrixOverride: 0
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingLayerMask: 1
+  m_Lightmapping: 4
+  m_LightShadowCasterMode: 0
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_UseBoundingSphereOverride: 0
+  m_UseViewFrustumForShadowCasterCull: 1
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1102969282
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1102969280}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
diff --git a/Assets/Scenes/testscene.unity.meta b/Assets/Scenes/testscene.unity.meta
new file mode 100644
index 00000000..8db462ec
--- /dev/null
+++ b/Assets/Scenes/testscene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9ee6da663279d42b98a84ac77661691a
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/InteractionEngine/Character_Animations/TaskCharakterAnimation.cs b/Assets/Scripts/InteractionEngine/Character_Animations/TaskCharakterAnimation.cs
index 2bffed97..2d7c4a46 100644
--- a/Assets/Scripts/InteractionEngine/Character_Animations/TaskCharakterAnimation.cs
+++ b/Assets/Scripts/InteractionEngine/Character_Animations/TaskCharakterAnimation.cs
@@ -84,7 +84,7 @@ void Update()
             //Check what talkingzone of which npc was hit so just the one which was actually talked to reacts
             if(hit.transform.parent.gameObject.GetComponent<TaskCharakterAnimation>().id == id)
             {
-                Debug.Log("Raycast hit Talkingzone Nr " + id.ToString());
+                //Debug.Log("Raycast hit Talkingzone Nr " + id.ToString());
                 this.walking = false;
                 this.standing = true;
                 this.timer = 0;
diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactComparer.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactComparer.cs
index d3e5a304..11d0fdf0 100644
--- a/Assets/Scripts/InteractionEngine/FactHandling/FactComparer.cs
+++ b/Assets/Scripts/InteractionEngine/FactHandling/FactComparer.cs
@@ -94,6 +94,38 @@ protected override bool Compare (Fact solution, Fact fact)
     protected override void Init() { }
 }
 
+/*class AngleComparer : FactComparer
+{
+    protected override bool Compare(Fact solution, Fact fact)
+    {
+        if(solution is AngleFact solutionangle && fact is AngleFact factangle)
+        {
+            if ((solutionangle.Pid1 == factangle.Pid1 && solutionangle.Pid2 == factangle.Pid2 && solutionangle.Pid3 == factangle.Pid3))
+            {
+                return true;
+            }
+            else
+            {
+                FactOrganizer organizer = solution._Facts;
+                PointFact p1f1 = (PointFact) organizer[solutionangle.Pid1];
+                PointFact p2f1 = (PointFact)_Facts[f1.Pid2];
+                PointFact p3f1 = (PointFact)_Facts[f1.Pid3];
+                PointFact p1f2 = (PointFact)_Facts[f2.Pid1];
+                PointFact p2f2 = (PointFact)_Facts[f2.Pid2];
+                PointFact p3f2 = (PointFact)_Facts[f2.Pid3];
+
+                return (p1f1.Equivalent(p1f2) && p2f1.Equivalent(p2f2) && p3f1.Equivalent(p3f2))
+                    ;
+                solutionangle.equivalentwra
+            }
+        }
+        else
+        {
+            return false;
+        }
+    }
+}*/
+
 /// <summary>
 /// Checks <see cref="LineFact">LineFacts</see> if <see cref="Compare(Fact, Fact).fact"/> is of same direction and at least of same length as <see cref="Compare(Fact, Fact).solution"/>, while accounting for Unity and floating point precission
 /// <seealso cref="Math3d.vectorPrecission"/>
diff --git a/Assets/Scripts/TestScripts/MenuScript.cs b/Assets/Scripts/TestScripts/MenuScript.cs
index ae4998f1..c59e9b24 100644
--- a/Assets/Scripts/TestScripts/MenuScript.cs
+++ b/Assets/Scripts/TestScripts/MenuScript.cs
@@ -3,6 +3,10 @@
 using static CommunicationEvents;
 using TMPro;
 using static Tape;
+using static StageStatic;
+using System.Collections.Generic;
+using System.Linq;
+//using static System.Collections.Generic.Dictionary<TKey, TValue>;
 
 public class MenuScript : MonoBehaviour
 {
@@ -32,7 +36,6 @@ public enum MenuStates {None,One,Two,Three,Four,FactGenerating,Five};
     
 
     //nur für test
-    public GameObject testsuccessReaction;
     public int debugcounter;
 
     public static string desired_problemfact;
@@ -76,21 +79,23 @@ void Update()
         //for debugging
         /*if (Input.GetKeyDown(KeyCode.E) && debugcounter%2 == 0)
         {
-            testsuccessReaction.SetActive(true);
-            for(int i = 0; i<3; i++)
-            {
-                testsuccessReaction.transform.GetChild(i).transform.position = new Vector3(charakterPrefab2.transform.position.x, 40, charakterPrefab2.transform.position.z);
-                ParticleSystem ps = testsuccessReaction.transform.GetChild(i).gameObject.GetComponent<ParticleSystem>();
-                var em = ps.emission;
-                em.enabled = true;
-            }
-            Debug.Log("testsuccessReaction gestartet " + debugcounter.ToString());
+
+            //StageStatic.stage.SetMode(true);
+            //Debug.Log("change of mode succeded");
+
+            List<int> indices = new List<int>();
+            indices.Add(1);
+            indices.Add(2);
+            //indices.Add(3);
+            addFactsToPlaymode(indices);
+            Debug.Log("addfactstoplaymode was successfull");
+            //Debug.Log("Erwartete Anzahl der sich in der Playmodefactlist befindenden facts: " + StageStatic.stage.factState.FactDict.Values.Count.ToString());
             debugcounter++;
         }
         else if (Input.GetKeyDown(KeyCode.E) && debugcounter % 2 == 1)
         {
-            testsuccessReaction.SetActive(false);
-            Debug.Log("testsuccessReaction gestoppt " + debugcounter.ToString());
+            StageStatic.stage.SetMode(true);
+            //Debug.Log("Erwartete Anzahl der sich in der Creatormodefactlist befindenden facts: " + StageStatic.stage.factState.FactDict.Values.Count.ToString());
             debugcounter++;
         }*/
 
@@ -100,7 +105,7 @@ void Update()
             tabcounter++;
         }
 
-        if (Input.GetKeyDown(MenuKey) && currentState != MenuStates.Three)
+        if (Input.GetKeyDown(MenuKey) && currentState != MenuStates.Three && StageStatic.mode == Mode.Create)
         {
             if(currentState == MenuStates.None)
             {
@@ -169,17 +174,9 @@ void Update()
                 pageThree.SetActive(false);
                 pageFour.SetActive(false);
                 pageFive.SetActive(true);
-                if (tabcounter % 2 == 0)
-                {
-                    CamControl.enabled = false;
-                    CursorRenderer.enabled = false;
-                }
-                else
-                {
-                    CamControl.enabled = true;
-                    CursorRenderer.enabled = true;
-                }
-                Time.timeScale = 1f;
+                CamControl.enabled = false;
+                CursorRenderer.enabled = false;
+                Time.timeScale = 0f;
                 break;
 
             case MenuStates.None:
@@ -343,60 +340,44 @@ public void OnApply2()
 
     public void OnApply3()
     {
-        currentState = MenuStates.Four;
         GameObject inputField1 = GetChildByName(pageThree, "InputField (1)");
-        GameObject inputField2 = GetChildByName(pageThree, "InputField (2)");
-        GameObject inputField3 = GetChildByName(pageThree, "InputField (3)");
-        if (inputField1 == null)
-        {
-            Debug.Log("inputfield1 nicht gefunden");
-        }
-        else
+        char[] test = inputField1.GetComponent<TMP_InputField>().text.ToCharArray();
+        if(test[test.Length-1].Equals('.') || test[test.Length-1].Equals('?') || test[test.Length-1].Equals('!'))
         {
-            Debug.Log("inputfield gefunden");
-        }
-
-        string rawtext1 = inputField1.GetComponent<TMP_InputField>().text;
-        string rawtext2 = inputField2.GetComponent<TMP_InputField>().text;
-        string rawtext3 = inputField3.GetComponent<TMP_InputField>().text;
-        problemObject.GetComponent<Problemobject>().npcProblemText = rawtext1;
-        problemObject.GetComponent<Problemobject>().npcSuccessText = rawtext2;
-        problemObject.GetComponent<Problemobject>().npcFailureText = rawtext3;
-        int amountOfSentences1 = GetAmountOfSentences(rawtext1);
-
-        Debug.Log("text aus eingabe ist: " + rawtext1);
-        Debug.Log("Anzahl der Sätze ist: " + GetAmountOfSentences(rawtext1));
-
-
-        // Setze die Saetze vom Taskcharakter
-        charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences = new string[amountOfSentences1 + 2];
-        charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences[amountOfSentences1] = rawtext2;
-        charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences[amountOfSentences1+1] = rawtext3;
-        SetCharakterSentences(rawtext1, amountOfSentences1, charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences);
-        //charakterPrefab.GetComponentInChildren<CharacterDialog>().sentences = new string[amountOfSentences1 + 1];
-        //SetCharakterSentences(rawtext1, amountOfSentences1, charakterPrefab.GetComponentInChildren<CharacterDialog>().sentences);
-        //charakterPrefab.GetComponentInChildren<CharacterDialog>().sentences[amountOfSentences1] = rawtext2;
-        
-
-
-        
-
-        //Debug.Log("Anzahl Elemente von sentences ist " + charakterPrefab.GetComponentInChildren<CharacterDialog>().sentences.Length);
-        /*for(int i = 0; i<amountOfSentences1+1; i++)
-        {
-            if (charakterPrefab.GetComponentInChildren<CharacterDialog>().sentences[i] != null)
+            currentState = MenuStates.Four;
+            GameObject inputField2 = GetChildByName(pageThree, "InputField (2)");
+            GameObject inputField3 = GetChildByName(pageThree, "InputField (3)");
+            if (inputField1 == null)
             {
-                Debug.Log("sentences[" + i + "] = " + charakterPrefab.GetComponentInChildren<CharacterDialog>().sentences[i].ToString());
+                Debug.Log("inputfield1 nicht gefunden");
             }
             else
             {
-                Debug.Log("sentences[" + i + "] = null");
+                Debug.Log("inputfield gefunden");
             }
-        }*/
 
-        //Get text from UI input
-       // GameObject inputField1 = GetChildByName(pageThree, "InputField (1)");
-        //string rawtext = inputField1.GetComponent<TextMesh>().text;
+            string rawtext1 = inputField1.GetComponent<TMP_InputField>().text;
+            string rawtext2 = inputField2.GetComponent<TMP_InputField>().text;
+            string rawtext3 = inputField3.GetComponent<TMP_InputField>().text;
+            problemObject.GetComponent<Problemobject>().npcProblemText = rawtext1;
+            problemObject.GetComponent<Problemobject>().npcSuccessText = rawtext2;
+            problemObject.GetComponent<Problemobject>().npcFailureText = rawtext3;
+            int amountOfSentences1 = GetAmountOfSentences(rawtext1);
+
+            Debug.Log("text aus eingabe ist: " + rawtext1);
+            Debug.Log("Anzahl der Sätze ist: " + GetAmountOfSentences(rawtext1));
+
+
+            // Setze die Saetze vom Taskcharakter
+            charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences = new string[amountOfSentences1 + 2];
+            charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences[amountOfSentences1] = rawtext2;
+            charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences[amountOfSentences1 + 1] = rawtext3;
+            SetCharakterSentences(rawtext1, amountOfSentences1, charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences);
+        }
+        else
+        {
+            Debug.Log("Text in inputfield 1 has to end with '.', '?', or '!'");
+        }
 
     }
 
@@ -438,57 +419,94 @@ public void onApply4()
     public void OnFinish()
     {
 
-        //Fenster wird nichtmehr angezeigt
-        currentState = MenuStates.None;
+        string rawtext = pageFive.GetComponentInChildren<TMP_InputField>().text;
+        List<int> indices = new List<int>();
+        if (checkRawText(rawtext, indices))
+        {
+            indices = getIndicesList(rawtext);
+            Debug.Log("indices list =");
+            foreach(int i in indices)
+            {
+                Debug.Log(i.ToString()+",");
 
-        //Anzahl der NPCs wird erhöht
-        npc_counter++;
+            }
+            //hier den ganzen code rein
+            //hol indices aus Textfeld
+            //GameObject inputField = GetChildByName(pageFive, "InputField");
 
-        //Setze Taskcharacteranimation von npc
-        charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.id = npc_counter;
-        charakterPrefab.GetComponentInChildren<MyCharacterDialog>().npc_id = npc_counter;
-        //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation = new TaskCharakterAnimation();
-        //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.walkAroundObject = walkAroundPoint;
-        //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.player = player;
-        //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.radiusAroundObject = 10;
-        //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.talkingZoneDistance = 10;
+            /*if (inputField == null)
+            {
+                Debug.Log("inputField nicht gefunden");
+            }
+            else
+            {
+                Debug.Log("inputField gefunden");
+            }*/
+            Debug.Log("rawtext = " + rawtext);
+            //string rawtext = inputField.GetComponent<TMP_InputField>().text;
 
-        //Setze WalkaroundObject von Taskcharakter
-        charakterPrefab.GetComponent<TaskCharakterAnimation>().walkAroundObject = walkAroundPoint;
 
-        //Setze Player von Taskcharakter
-        charakterPrefab.GetComponent<TaskCharakterAnimation>().player = player;
+            //füge facts zu playmode hinzu
+            addFactsToPlaymode(indices);
 
-        //Instantiate(charakterPrefab, new Vector3(x + (float)0.5, y + (float)0.5, z + (float)0.5), Quaternion.identity);
-        float x = walkAroundPoint.transform.position.x;
-        float y = 0;
-        float z = walkAroundPoint.transform.position.z;
-        Debug.Log("x = " + x.ToString() + ", y = " + y.ToString() + ", z = " + z.ToString());
-        //charakterPrefab = Instantiate(charakterPrefab, new Vector3(x, y, z), Quaternion.identity);
-        Vector3 temp = new Vector3(x, y, z);
-        charakterPrefab.transform.position = temp;
-        Debug.Log("charakterPrefabs position = (" + charakterPrefab.transform.position.x.ToString() + "/" + charakterPrefab.transform.position.y.ToString() + "/" + charakterPrefab.transform.position.z.ToString() + ")");
-        //GameObject realNewNpc = Instantiate(charakterPrefab, new Vector3(x, y, z), Quaternion.identity);
 
-        //new NPC "press key to talk"-instantiation
-        Transform myContinueText = charakterPrefab.transform.Find("DialogManager/DialogText/ContinueText");
-        GameObject myDialogManager = GetChildByName(charakterPrefab, "DialogManager");
-        myDialogManager.GetComponent<CharacterDialog>().continueText = myContinueText.gameObject;
+            //Fenster wird nichtmehr angezeigt
+            currentState = MenuStates.None;
 
-        //new NPC Talking Zone initialization
-        charakterPrefab.GetComponent<TaskCharakterAnimation>().talkingZoneDistance = 10;
+            //Anzahl der NPCs wird erhöht
+            npc_counter++;
 
-        // debug fix of first sentence of new npc
-        charakterPrefab.transform.Find("DialogManager/DialogText").gameObject.GetComponent<TMP_Text>().text = charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences[0];
+            //Setze Taskcharacteranimation von npc
+            charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.id = npc_counter;
+            charakterPrefab.GetComponentInChildren<MyCharacterDialog>().npc_id = npc_counter;
+            //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation = new TaskCharakterAnimation();
+            //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.walkAroundObject = walkAroundPoint;
+            //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.player = player;
+            //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.radiusAroundObject = 10;
+            //charakterPrefab.GetComponentInChildren<MyCharacterDialog>().CharakterAnimation.talkingZoneDistance = 10;
 
-        //delete all previously generated facts (so that solution is not in the current factlist
+            //Setze WalkaroundObject von Taskcharakter
+            charakterPrefab.GetComponent<TaskCharakterAnimation>().walkAroundObject = walkAroundPoint;
 
+            //Setze Player von Taskcharakter
+            charakterPrefab.GetComponent<TaskCharakterAnimation>().player = player;
 
-        //CreateProblem();
-        // Setze Problem im NPC
-        charakterPrefab.GetComponentInChildren<MyCharacterDialog>().problemObject = problemObject;
+            //Instantiate(charakterPrefab, new Vector3(x + (float)0.5, y + (float)0.5, z + (float)0.5), Quaternion.identity);
+            float x = walkAroundPoint.transform.position.x;
+            float y = 0;
+            float z = walkAroundPoint.transform.position.z;
+            Debug.Log("x = " + x.ToString() + ", y = " + y.ToString() + ", z = " + z.ToString());
+            //charakterPrefab = Instantiate(charakterPrefab, new Vector3(x, y, z), Quaternion.identity);
+            Vector3 temp = new Vector3(x, y, z);
+            charakterPrefab.transform.position = temp;
+            Debug.Log("charakterPrefabs position = (" + charakterPrefab.transform.position.x.ToString() + "/" + charakterPrefab.transform.position.y.ToString() + "/" + charakterPrefab.transform.position.z.ToString() + ")");
+            //GameObject realNewNpc = Instantiate(charakterPrefab, new Vector3(x, y, z), Quaternion.identity);
+
+            //new NPC "press key to talk"-instantiation
+            Transform myContinueText = charakterPrefab.transform.Find("DialogManager/DialogText/ContinueText");
+            GameObject myDialogManager = GetChildByName(charakterPrefab, "DialogManager");
+            myDialogManager.GetComponent<CharacterDialog>().continueText = myContinueText.gameObject;
+
+            //new NPC Talking Zone initialization
+            charakterPrefab.GetComponent<TaskCharakterAnimation>().talkingZoneDistance = 10;
 
-        //debug what problemobject looks like
+            // debug fix of first sentence of new npc
+            charakterPrefab.transform.Find("DialogManager/DialogText").gameObject.GetComponent<TMP_Text>().text = charakterPrefab.GetComponentInChildren<MyCharacterDialog>().sentences[0];
+
+            //delete all previously generated facts (so that solution is not in the current factlist
+
+
+            //CreateProblem();
+            // Setze Problem im NPC
+            charakterPrefab.GetComponentInChildren<MyCharacterDialog>().problemObject = problemObject;
+
+            //debug what problemobject looks like
+        }
+        else
+        {
+            Debug.Log("input was not in order, included an invalid index or had an invalid syntax");
+        }
+        
 
     }
 
@@ -601,6 +619,283 @@ private void showProblemInstances()
         }
     }
 
+    public void addFactsToPlaymode(List<int> factIndices)
+    {
+        //int indexcounter = 0;
+        //int factcounter = 0;
+
+        //angezeigte facts in creatormode
+        List<Fact> facts = new List<Fact>();
+
+        //angezeigte fact in playmode
+        List<Fact> playmodefacts = new List<Fact>();
+
+        //StageStatic.stage.SetMode(true);
+        Debug.Log("Set mode to creatormode was successfull");
+
+        foreach(Fact f in StageStatic.stage.factState.FactDict.Values)
+        {
+           
+            facts.Add(f);
+            
+        }
+        Debug.Log("added facts from creatormode to self-created list");
+
+        /*
+         *  facts[A,B,C]
+         *  factindices[1,2]
+         * 
+         * 
+         * */
+        StageStatic.stage.SetMode(false);
+        Debug.Log("changed mode to playmode");
+        for (int i = 0; i<factIndices.Count; i++)
+        {
+
+            //checken welche Art von fact der durch index ausgewählte fact is (AbstractLineFact, PointFact, LineFact, RayFact, OnLineFact, AngleFact) 
+            if (facts[factIndices[i] - 1] is AngleFact anglefact)
+            {
+                Debug.Log("Fact an der stelle von mitgegebenem index war ein anglefact");
+                //checken ob unterliegende facts schon in playmodefacts, falls nicht noch hinzufügen
+                StageStatic.stage.SetMode(true);
+                List<Fact> underlyingFacts = new List<Fact>();
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[anglefact.Pid1]);
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[anglefact.Pid2]);
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[anglefact.Pid3]);
+                Debug.Log("underlyingfacts hat Länge " + underlyingFacts.Count.ToString());
+                StageStatic.stage.SetMode(false);
+                foreach (Fact fact in underlyingFacts)
+                {
+                    if (!playmodefacts.Contains(fact))
+                    {
+                        Debug.Log("ein Grundfact vom anglefact wurde noch nicht zu playmodefacts hinzugefügt");
+                        playmodefacts.Add(fact);
+                        StageStatic.stage.factState.Add(fact, out _, false);
+                        Debug.Log("Grundfact wurde zu playmodefacts hinzugefügt");
+                    }
+                }
+            }
+            else if (facts[factIndices[i] - 1] is LineFact linefact)
+            {
+                //checken ob unterliegende facts schon in playmodefacts, falls nicht noch hinzufügen
+                StageStatic.stage.SetMode(true);
+                List<Fact> underlyingFacts = new List<Fact>();
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[linefact.Pid1]);
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[linefact.Pid2]);
+                StageStatic.stage.SetMode(false);
+                foreach (Fact fact in underlyingFacts)
+                {
+                    if (!playmodefacts.Contains(fact))
+                    {
+                        playmodefacts.Add(fact);
+                        StageStatic.stage.factState.Add(fact, out _, false);
+                    }
+                }
+            }
+            else if (facts[factIndices[i] - 1] is OnLineFact onlinefact)
+            {
+                //checken ob unterliegende facts schon in playmodefacts, falls nicht noch hinzufügen
+                StageStatic.stage.SetMode(true);
+                List<Fact> underlyingFacts = new List<Fact>();
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[onlinefact.Pid]);
+                AbstractLineFact r = (AbstractLineFact) StageStatic.stage.factState.FactDict[onlinefact.Rid];
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[r.Pid1]);
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[r.Pid2]);
+                underlyingFacts.Add(r);
+                StageStatic.stage.SetMode(false);
+                foreach (Fact fact in underlyingFacts)
+                {
+                    if (!playmodefacts.Contains(fact))
+                    {
+                        playmodefacts.Add(fact);
+                        StageStatic.stage.factState.Add(fact, out _, false);
+                    }
+                }
+            }
+            else if (facts[factIndices[i] - 1] is RayFact rayfact)
+            {
+                //checken ob unterliegende facts schon in playmodefacts, falls nicht noch hinzufügen
+                StageStatic.stage.SetMode(true);
+                List<Fact> underlyingFacts = new List<Fact>();
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[rayfact.Pid1]);
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[rayfact.Pid2]);
+                StageStatic.stage.SetMode(false);
+                foreach (Fact fact in underlyingFacts)
+                {
+                    if (!playmodefacts.Contains(fact))
+                    {
+                        playmodefacts.Add(fact);
+                        StageStatic.stage.factState.Add(fact, out _, false);
+                    }
+                }
+            }
+            else if (facts[factIndices[i] - 1] is AbstractLineFact abstractlinefact)
+            {
+                //checken ob unterliegende facts schon in playmodefacts, falls nicht noch hinzufügen
+                StageStatic.stage.SetMode(true);
+                List<Fact> underlyingFacts = new List<Fact>();
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[abstractlinefact.Pid1]);
+                underlyingFacts.Add(StageStatic.stage.factState.FactDict[abstractlinefact.Pid2]);
+                StageStatic.stage.SetMode(false);
+                foreach (Fact fact in underlyingFacts)
+                {
+                    if (!playmodefacts.Contains(fact))
+                    {
+                        playmodefacts.Add(fact);
+                        StageStatic.stage.factState.Add(fact, out _, false);
+                    }
+                }
+            }
+
+            playmodefacts.Add(facts[factIndices[i] - 1]);
+            StageStatic.stage.factState.Add(facts[factIndices[i]-1], out _, false);
+            Debug.Log("successfully added a fact to factdict in playmode");
+        }
+
+        StageStatic.stage.SetMode(true);
+
+        //Debug.Log("Anzahl der sich im Playmode-Factdict befindenden facts = " + StageStatic.stage.factState.FactDict.Values.Count.ToString());
+
+        //StageStatic.stage.SetMode(true);
+        return;
+    }
+
+    public List<int> getIndicesList(string rawtext)
+    {
+        /*
+         * Fälle:
+         * 1. einstellige Zahl
+         * 2. zweistellige Zahl
+         * 3. keine zahl
+         */
+
+        char[] textarray = rawtext.ToCharArray();
+        List<int> result = new List<int>();
+        string tmp = "";
+        for(int i = 0; i<textarray.Length; i++)
+        {
+            //Debug.Log("i = " + i.ToString() + ", textarray[i] = " + textarray[i]);
+            if(textarray[i] != ' ' && textarray[i] != ',')
+            {
+                tmp += textarray[i];
+            }
+            else
+            {
+                if(tmp != "")
+                {
+                    result.Add(int.Parse(tmp));
+                    //Debug.Log(tmp + " added to indices list");
+                    tmp = "";
+                }
+            }
+            if(i == textarray.Length - 1)
+            {
+                if (tmp != "")
+                {
+                    //Debug.Log("tmp = " + tmp);
+                    result.Add(int.Parse(tmp));
+                    //Debug.Log(tmp + " added to indices list");
+                    tmp = "";
+                }
+            }
+        }
+
+        return result;
+    }
+
+    private bool checkRawText(string rawtext, List<int> indexlist)
+    {
+        char[] textarray = rawtext.ToCharArray();
+        int number = 0;
+        for(int i = 0; i<textarray.Length; i++)
+        {
+            switch (textarray[i])
+            {
+                case '1':
+                    break;
+
+                case '2':
+                    break;
+
+                case '3':
+                    break;
+
+                case '4':
+                    break;
+
+                case '5':
+                    break;
+
+                case '6':
+                    break;
+
+                case '7':
+                    break;
+
+                case '8':
+                    break;
+
+                case '9':
+                    break;
+
+                case ',':
+                    if (i.Equals(textarray.Length - 1))
+                    {
+                        return false;
+                    }
+                    break;
+
+                case ' ':
+                    if (i.Equals(textarray.Length - 1))
+                    {
+                        return false;
+                    }
+                    break;
+
+                case '0':
+                    if (i.Equals(0) || i.Equals(textarray.Length-1))
+                    {
+                        return false;
+                    }
+                    else if(textarray[i-1].Equals(' ') || textarray[i - 1].Equals(','))
+                    {
+                        return false;
+                    }
+                    break;
+
+                default:
+                    return false;
+
+
+            }
+        }
+
+        //check if list is ordered
+        indexlist = getIndicesList(rawtext);
+        if (indexlist.Count.Equals(0))
+        {
+            return true;
+        }
+        //check if list contains a value that is not in range of creatormodefacts
+        if(indexlist.Max() > StageStatic.stage.factState.FactDict.Values.Count)
+        {
+            indexlist = null;
+            return false;
+        }
+        int comparer = indexlist[0];
+        for(int i = 0; i<indexlist.Count-1; i++)
+        {
+            if(comparer >= indexlist[i + 1])
+            {
+                indexlist = null;
+                return false;
+            }
+            comparer = indexlist[i + 1];
+        }
+        Debug.Log("indiceslist innerhalb der checkrawtext funktion hat " + indexlist.Count.ToString() + " Elemente");
+        return true;
+    }
+
     /*private bool FrameIT_UI_Active()
     {
         return frameitUI.GetComponent<HideUI>.
diff --git a/Assets/Scripts/TestScripts/MyCharacterDialog.cs b/Assets/Scripts/TestScripts/MyCharacterDialog.cs
index b74498ee..46905dc5 100644
--- a/Assets/Scripts/TestScripts/MyCharacterDialog.cs
+++ b/Assets/Scripts/TestScripts/MyCharacterDialog.cs
@@ -4,6 +4,7 @@
 using TMPro;
 using static TaskCharakterAnimation;
 using static FactOrganizer;
+using static FactComparer;
 
 public class MyCharacterDialog : MonoBehaviour
 {
@@ -21,6 +22,10 @@ public class MyCharacterDialog : MonoBehaviour
     //Sebi: NPC ID
     public int npc_id;
 
+    //Sebi: Raininstance
+    public GameObject rainInstance;
+    //public GameObject rainPrefab;
+
     //Sebi: particle systems damit man sie mit invoke stoppen kann
     public GameObject successreaction;
     public GameObject failurereaction;
@@ -73,65 +78,86 @@ private void Update()
         {
             //Reset Sentence if Player is out of range of the TaskCharacter and it's not already reseted
             ResetSentence();
-        }else if (CharakterAnimation.getPlayerInTalkingZone() && Input.GetKey(Key2) && npc_id == CharakterAnimation.id) // -> Solution erfragt
+        }else if (CharakterAnimation.getPlayerInTalkingZone() && Input.GetKeyDown(Key2) && npc_id == CharakterAnimation.id) // -> Solution erfragt
         {
-            if (testSolution) // in if: problemsolved(); kann ich hier nicht einfügen sonst gibts compiling probleme
+            //if(StageStatic.stage.factState.ContainsKey(problemObject.GetComponent<Problemobject>().problemFact.Id))
+            int counter = 0;
+            bool solved = false;
+            FactComparer Comparer = new FactEquivalentsComparer();
+            Debug.Log("check " + StageStatic.stage.factState.FactDict.Values.Count.ToString() + "Facts in mode-factlist");
+            foreach (Fact fact in StageStatic.stage.factState.FactDict.Values)
             {
-                // activate success text
-                StartSentenceAt(sentences.Length-2);
-                // TODO activate success animation
-                if(successreaction.name == "Fireworks_Animation")
+                Debug.Log("counter = " + counter.ToString());
+                // problemObject.GetComponent<Problemobject>().problemFact.GetType().Equals(fact.GetType()) &&
+                //Comparer.Equals(fact, problemObject.GetComponent<Problemobject>().problemFact)
+                // problemObject.GetComponent<Problemobject>().problemFact.Equals(fact)
+                // ((fact is PointFact factpoint && solution is PointFact solutionpoint) || (fact is LineFact factline && solution is LineFact solutionline) || (fact is AngleFact factangle && solution is AngleFact solutionangle)) && Comparer.Equals(solution, fact)
+                Fact solution = problemObject.GetComponent<Problemobject>().problemFact;
+                if (FactIsEqual(fact, solution))
                 {
-                    successreaction.transform.position = gameObject.transform.position;
-                }
-                successreaction.SetActive(true);
-
-                // start npc success reaction
-                gameObject.transform.parent.GetComponent<TaskCharakterAnimation>().startHappy();
-
-                Invoke("StopSuccessReaction", (float)7.5);
-
-                /*GameObject successInstantiation = Instantiate(problemObject.GetComponent<Problemobject>().successReaction);
-                successreaction = successInstantiation.GetComponent<ParticleSystem>();
-                successreaction.Play();
-                Invoke("StopSuccessReaction", 3);*/
+                    Debug.Log("found right solution fact in factlist; fact nr:" + counter.ToString());
+                    // activate success text
+                    StartSentenceAt(sentences.Length - 2);
+                    // TODO activate success animation
+                    if (successreaction.name == "Fireworks_Animation")
+                    {
+                        successreaction.transform.position = gameObject.transform.position;
+                    }
+                    successreaction.SetActive(true);
 
+                    // start npc success reaction
+                    gameObject.transform.parent.GetComponent<TaskCharakterAnimation>().startHappy();
 
-                //DestroyImmediate(successInstantiation, true);
-                // TODO activate success npc reaction
+                    Invoke("StopSuccessReaction", (float)7.5);
+                    solved = true;
+                    break;
+                }
+                counter++;
             }
-            else
+            if (!solved)
             {
+                Debug.Log("found no right solution fact for problemobject");
                 // activate failure text
                 StartSentenceAt(sentences.Length - 1);
                 // TODO activate failure animation
-                if(failurereaction.name == "Thunderbolt_Animation")
+                if (failurereaction.name.Equals("Thunderbolt_Animation"))
                 {
+                    Debug.Log("failure reaction was " + failurereaction.name);
                     failurereaction.transform.position = new Vector3(gameObject.transform.position.x, 40, gameObject.transform.position.z);
+                    failurereaction.SetActive(true);
+                    Invoke("StopFailureReaction", 5);
                 }
-                else if(failurereaction.name == "RainPrefab")
+                else if (failurereaction.name.Equals("RainPrefab"))
                 {
+                    Debug.Log("enter rain case");
+                    Debug.Log("failurereaction was " + failurereaction.name);
+                    failurereaction.SetActive(true);
+                    GameObject RainRepresentation = failurereaction;
+                    RainRepresentation.transform.position = new Vector3(gameObject.transform.position.x, 40, gameObject.transform.position.z);
+                    rainInstance = GameObject.Instantiate(RainRepresentation);
+                    Debug.Log("raininstance succesfully set");
+                    rainInstance.name = "raininstance";
                     
-                    /*failurereaction.transform.position = gameObject.transform.position;
-                    //failurereaction.SetActive(true);
-                    for (int i = 0; i<3; i++)
-                    {
-                        failurereaction.transform.GetChild(i).transform.position = new Vector3(gameObject.transform.position.x, 40, gameObject.transform.position.z);
-                        ParticleSystem ps = failurereaction.transform.GetChild(i).gameObject.GetComponent<ParticleSystem>();
-                        var em = ps.emission;
-                        em.enabled = true;
-                    }
-                    failurereaction.transform.GetChild(3).transform.position = new Vector3(gameObject.transform.position.x, 40, gameObject.transform.position.z);*/
+                    
+                    Invoke("StopRain", 5);
+                    failurereaction.SetActive(false);
+               
+                 
                 }
-                failurereaction.SetActive(true);
-                Invoke("StopFailureReaction", 5);
+                else
+                {
+        
+                    Debug.Log("Failurereaction was " + failurereaction.name);
+                    failurereaction.SetActive(true);
+                    Invoke("StopFailureReaction", 5);
+                }
+             
 
                 /*GameObject failureInstantiation = problemObject.GetComponent<Problemobject>().failureReaction;
                 failureInstantiation.name = "failureInstantiation";
                 failurereaction = failureInstantiation.GetComponent<ParticleSystem>();
                 failurereaction.Play();
                 Invoke("StopFailureReaction", 3);*/
-
             }
         }
     }
@@ -168,7 +194,7 @@ public void NextSentence()
         //-3 because the text before the last sentence is only for success text and the last sentence is for failure
         if (sentenceIndex < sentences.Length - 3)
         {
-            CharakterAnimation.setTaskCharacterAddressed(true);
+            //CharakterAnimation.setTaskCharacterAddressed(true);
             sentenceIndex++;
             letterIndex = 0;
             typingActive = true;
@@ -254,4 +280,73 @@ public void StopFailureReaction()
     {
         failurereaction.SetActive(false);
     }
+
+    public void StopRain()
+    {
+        GameObject.Destroy(rainInstance);
+        rainInstance = null;
+        Debug.Log("stopRain");
+    }
+
+    public bool FactIsEqual(Fact fact, Fact solution)
+    {
+        FactComparer Comparer = new FactEquivalentsComparer();
+        if(fact is PointFact factpoint && solution is PointFact solutionpoint)
+        {
+            return Comparer.Equals(fact, solution);
+        } else if(fact is AngleFact factangle && solution is AngleFact solutionangle)
+        {
+            if((factangle.Pid1 == solutionangle.Pid1 && factangle.Pid2 == solutionangle.Pid2 && factangle.Pid3 == solutionangle.Pid3) || (factangle.Pid1 == solutionangle.Pid3 && factangle.Pid2 == solutionangle.Pid2 && factangle.Pid3 == solutionangle.Pid1))
+            {
+                return true;
+            } else
+            {
+                PointFact f1 = (PointFact) StageStatic.stage.factState.FactDict[factangle.Pid1];
+                PointFact f2 = (PointFact) StageStatic.stage.factState.FactDict[factangle.Pid2];
+                PointFact f3 = (PointFact) StageStatic.stage.factState.FactDict[factangle.Pid3];
+                StageStatic.stage.SetMode(true);
+                PointFact s1 = (PointFact)StageStatic.stage.factState.FactDict[solutionangle.Pid1];
+                PointFact s2 = (PointFact)StageStatic.stage.factState.FactDict[solutionangle.Pid2];
+                PointFact s3 = (PointFact)StageStatic.stage.factState.FactDict[solutionangle.Pid3];
+                StageStatic.stage.SetMode(false);
+
+                if((f1.Equivalent(s1) && f2.Equivalent(s2) && f3.Equivalent(s3)) || (f1.Equivalent(s3) && f2.Equivalent(s2) && f3.Equivalent(s1)))
+                {
+                    return true;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+        } else if(fact is LineFact factline && solution is LineFact solutionline)
+        {
+            if ((factline.Pid1 == solutionline.Pid1 && factline.Pid2 == solutionline.Pid2) || (factline.Pid1 == solutionline.Pid2 && factline.Pid2 == solutionline.Pid1))
+            {
+                return true;
+            }
+            else
+            {
+                PointFact f1 = (PointFact)StageStatic.stage.factState.FactDict[factline.Pid1];
+                PointFact f2 = (PointFact)StageStatic.stage.factState.FactDict[factline.Pid2];
+                StageStatic.stage.SetMode(true);
+                PointFact s1 = (PointFact)StageStatic.stage.factState.FactDict[solutionline.Pid1];
+                PointFact s2 = (PointFact)StageStatic.stage.factState.FactDict[solutionline.Pid2];
+                StageStatic.stage.SetMode(false);
+
+                if ((f1.Equivalent(s1) && f2.Equivalent(s2)) || (f1.Equivalent(s2) && f2.Equivalent(s1)))
+                {
+                    return true;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+        }
+        else
+        {
+            return false;
+        }
+    }
 }
diff --git a/Packages/manifest.json b/Packages/manifest.json
index aa612daa..e02aeda5 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -4,14 +4,14 @@
     "com.unity.2d.tilemap": "1.0.0",
     "com.unity.ads": "3.7.5",
     "com.unity.analytics": "3.6.11",
-    "com.unity.collab-proxy": "1.11.2",
+    "com.unity.collab-proxy": "1.13.5",
     "com.unity.ide.rider": "2.0.7",
     "com.unity.ide.visualstudio": "2.0.11",
     "com.unity.ide.vscode": "1.2.4",
     "com.unity.multiplayer-hlapi": "1.0.8",
     "com.unity.nuget.newtonsoft-json": "2.0.0",
     "com.unity.probuilder": "4.2.1",
-    "com.unity.purchasing": "3.2.2",
+    "com.unity.purchasing": "4.0.3",
     "com.unity.test-framework": "1.1.29",
     "com.unity.textmeshpro": "3.0.6",
     "com.unity.timeline": "1.4.8",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index 80c4ae27..33460b40 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -31,10 +31,13 @@
       "url": "https://packages.unity.com"
     },
     "com.unity.collab-proxy": {
-      "version": "1.11.2",
+      "version": "1.13.5",
       "depth": 0,
       "source": "registry",
-      "dependencies": {},
+      "dependencies": {
+        "com.unity.nuget.newtonsoft-json": "2.0.0",
+        "com.unity.services.core": "1.0.1"
+      },
       "url": "https://packages.unity.com"
     },
     "com.unity.ext.nunit": {
@@ -95,7 +98,7 @@
       "url": "https://packages.unity.com"
     },
     "com.unity.purchasing": {
-      "version": "3.2.2",
+      "version": "4.0.3",
       "depth": 0,
       "source": "registry",
       "dependencies": {
@@ -103,7 +106,17 @@
         "com.unity.modules.unityanalytics": "1.0.0",
         "com.unity.modules.unitywebrequest": "1.0.0",
         "com.unity.modules.jsonserialize": "1.0.0",
-        "com.unity.modules.androidjni": "1.0.0"
+        "com.unity.modules.androidjni": "1.0.0",
+        "com.unity.services.core": "1.0.1"
+      },
+      "url": "https://packages.unity.com"
+    },
+    "com.unity.services.core": {
+      "version": "1.0.1",
+      "depth": 1,
+      "source": "registry",
+      "dependencies": {
+        "com.unity.modules.unitywebrequest": "1.0.0"
       },
       "url": "https://packages.unity.com"
     },
diff --git a/ProjectSettings/.DS_Store b/ProjectSettings/.DS_Store
index 0942b67c6fdb6bfc56e680ba90038c34df353f1a..89373309f3d99a9a2959e177df0637ea5776b135 100644
GIT binary patch
delta 51
zcmZoMXffDe!pvk}FgcD{Y_bnC7u%U?%TxaIC&w@=!I&+~DvSw}1(`)R?_+io0RXfK
B5U>CM

delta 51
zcmZoMXffDe!pvlMcyb)G*km7OE;iOL7HS>yCdV)<!I&+~DvSY>1(`)R?_+io0RWp(
B4}1Us

diff --git a/ProjectSettings/Packages/com.unity.settings-manager/Settings.json b/ProjectSettings/Packages/com.unity.settings-manager/Settings.json
new file mode 100644
index 00000000..872dce06
--- /dev/null
+++ b/ProjectSettings/Packages/com.unity.settings-manager/Settings.json
@@ -0,0 +1,7 @@
+{
+    "m_Name": "Settings",
+    "m_Path": "ProjectSettings/Packages/com.unity.settings-manager/Settings.json",
+    "m_Dictionary": {
+        "m_DictionaryValues": []
+    }
+}
\ No newline at end of file
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index 42eb8c8f..47b6581a 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -221,7 +221,7 @@ PlayerSettings:
   iOSBackgroundModes: 0
   iOSMetalForceHardShadows: 0
   metalEditorSupport: 1
-  metalAPIValidation: 1
+  metalAPIValidation: 0
   iOSRenderExtraFrameOnPause: 0
   iosCopyPluginsCodeInsteadOfSymlink: 0
   appleDeveloperTeamID: 
@@ -431,8 +431,8 @@ PlayerSettings:
     m_APIs: 0b000000
     m_Automatic: 1
   - m_BuildTarget: WindowsStandaloneSupport
-    m_APIs: 0b000000
-    m_Automatic: 0
+    m_APIs: 02000000
+    m_Automatic: 1
   m_BuildTargetVRSettings:
   - m_BuildTarget: Standalone
     m_Enabled: 0
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
index cec2ec90..2b4e8e57 100644
--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,2 +1,2 @@
-m_EditorVersion: 2020.3.20f1
-m_EditorVersionWithRevision: 2020.3.20f1 (41c4e627c95f)
+m_EditorVersion: 2020.3.22f1
+m_EditorVersionWithRevision: 2020.3.22f1 (e1a7f79fd887)
diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset
index f510f0f0..32698630 100644
--- a/UserSettings/EditorUserSettings.asset
+++ b/UserSettings/EditorUserSettings.asset
@@ -15,6 +15,9 @@ EditorUserSettings:
       value: 22424703114646680e0b0227036c681f041b1c39631a2f26283b2a3cf0ec3076f7e93ffdfe
       flags: 0
     RecentlyUsedScenePath-3:
+      value: 22424703114646680e0b0227036c4b1505030b292926237e38271427fb
+      flags: 0
+    RecentlyUsedScenePath-4:
       value: 22424703114646680e0b0227036c721518021d39630527392304183df7e57a2decee22f0
       flags: 0
     vcSharedLogLevel:
-- 
GitLab