A team game with an emphasis on movement (with no shooting), inspired by Overwatch and Zineth
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

270 lines
38 KiB

  1. [gd_scene load_steps=9 format=2]
  2. [ext_resource path="res://assets/player.obj" type="ArrayMesh" id=1]
  3. [ext_resource path="res://assets/maze.obj" type="ArrayMesh" id=2]
  4. [ext_resource path="res://scripts/objective.gd" type="Script" id=3]
  5. [sub_resource type="ConcavePolygonShape" id=1]
  6. data = PoolVector3Array( -85.5, -0.4712, 11.2734, -43.5, -0.4712, 11.2734, -85.5, 3.666, 11.2734, -85.5, 3.666, 11.2734, -43.5, -0.4712, 11.2734, -43.5, 3.666, 11.2734, 0.9995, -0.4712, 11.2734, 1, -1, 11.2734, 0.9995, -0.4712, 12.0469, 0.9995, -0.4712, 12.0469, 1, -1, 11.2734, 1, -1, 12.0469, -85.5, -0.4712, 2.0469, -85.5625, -0.4712, 6.3008, -85.5, -0.4712, 7.4102, -48.5938, -1, -3.5098, -64.6875, -0.4712, -3.5098, -85.5, -1, -3.5098, -85.5, -1, -3.5098, -64.6875, -0.4712, -3.5098, -85.5, -0.4712, -3.5098, 1, -0.4712, 7.4102, 1, -1, 6.7578, 0.9995, -0.4712, 11.2734, 0.9995, -0.4712, 11.2734, 1, -1, 6.7578, 1, -1, 11.2734, 0.9995, -0.4712, 11.2734, 0.9995, -0.4712, 12.0469, 0.9995, 3.666, 11.2734, 0.9995, 3.666, 11.2734, 0.9995, -0.4712, 12.0469, 0.9995, 3.666, 12.0469, -85.5, -0.4712, -2.6992, -85.5, -0.4712, -3.5098, -85.5, 3.8457, -2.6992, -85.5, 3.8457, -2.6992, -85.5, -0.4712, -3.5098, -85.5, 3.8457, -3.5098, 1, -0.4712, -3.5098, 1, -1, -3.5098, 1, -0.4712, -2.6992, 1, -0.4712, -2.6992, 1, -1, -3.5098, 1, -1, -2.6992, -85.5, 3.8457, -3.5098, -64.6875, 3.8457, -3.5098, -85.5, 3.8457, -2.6992, -85.5, 3.8457, -2.6992, -64.6875, 3.8457, -3.5098, -64.6875, 3.8457, -2.6992, 1, -0.4712, -2.6992, -14.0469, -0.4712, -2.6992, 1, 3.8457, -2.6992, 1, 3.8457, -2.6992, -14.0469, -0.4712, -2.6992, -14.0469, 3.8457, -2.6992, -85.5, -0.4712, -3.5098, -64.6875, -0.4712, -3.5098, -85.5, 3.8457, -3.5098, -85.5, 3.8457, -3.5098, -64.6875, -0.4712, -3.5098, -64.6875, 3.8457, -3.5098, 1, -0.4712, -3.5098, 1, -0.4712, -2.6992, 1, 3.8457, -3.5098, 1, 3.8457, -3.5098, 1, -0.4712, -2.6992, 1, 3.8457, -2.6992, 1, -0.4712, 6.3008, 1, -1, 5.8477, 1, -0.4712, 7.4102, 1, -0.4712, 7.4102, 1, -1, 5.8477, 1, -1, 6.7578, 1, -0.4712, -2.6992, 1, -1, -2.6992, 1, -0.4712, 1.0459, 1, -0.4712, 1.0459, 1, -1, -2.6992, 1, -1, 1.249, -85.5, -0.4712, -2.6992, -64.6875, -0.4712, -2.6992, -85.5, -0.4712, 1.0459, -85.5, -0.4712, 1.0459, -64.6875, -0.4712, -2.6992, -64.625, -0.4712, 1.0459, 1, -0.4712, 2.0469, 1, -1, 2.375, 1, -0.4712, 6.3008, 1, -0.4712, 6.3008, 1, -1, 2.375, 1, -1, 5.8477, 1, -0.4712, 1.0459, 1, -1, 1.249, 1, -0.4712, 2.0469, 1, -0.4712, 2.0469, 1, -1, 1.249, 1, -1, 2.375, -101.75, -1, -3.5098, -101.75, -0.4712, -3.5098, -102.438, -1, -3.5098, -102.438, -1, -3.5098, -101.75, -0.4712, -3.5098, -102.438, -0.4712, -3.5098, 1, -0.4712, 1.0459, 1, -0.4712, 2.0469, 1, 3.7734, 1.0459, 1, 3.7734, 1.0459, 1, -0.4712, 2.0469, 1, 3.7734, 2.0469, -36.9063, -0.4712, 11.2734, -31.2031, -0.4712, 11.2734, -36.9063, 3.666, 11.2734, -36.9063, 3.666, 11.2734, -31.2031, -0.4712, 11.2734, -31.2031, 3.666, 11.2734, -31.2031, -1, -3.5098, -31.2031, -0.4712, -3.5098, -36.9063, -1, -3.5098, -36.9063, -1, -3.5098, -31.2031, -0.4712, -3.5098, -36.9063, -0.4712, -3.5098, -36.9063, -0.4712, 7.4102, -31.2031, -0.4712, 7.4102, -36.9063, -0.4712, 11.2734, -36.9063, -0.4712, 11.2734, -31.2031, -0.4712, 7.4102, -31.2031, -0.4712, 11.2734, -85.5, 3.7734, 1.0459, -64.625, 3.7734, 1.0459, -85.5, 3.7734, 2.0469, -85.5, 3.7734, 2.0469, -64.625, 3.7734, 1.0459, -64.625, 3.7734, 2.0469, -85.5, -0.4712, 2.0469, -85.5, -0.4712, 1.0459, -85.5, 3.7734, 2.0469, -85.5, 3.7734, 2.0469, -85.5, -0.4712, 1.0459, -85.5, 3.7734, 1.0459, 1, -0.4712, 6.3008, 1, -0.4712, 7.4102, 1, 3.7734, 6.3008, 1, 3.7734, 6.3008, 1, -0.4712, 7.4102, 1, 3.7734, 7.4102, 1, -0.4712, 2.0469, -14.0469, -0.4712, 2.0469, 1, 3.7734, 2.0469, 1, 3.7734, 2.0469, -14.0469, -0.4712, 2.0469, -14.0469, 3.7734, 2.0469, -85.5, -0.4712, 1.0459, -64.625, -0.4712, 1.0459, -85.5, 3.7734, 1.0459, -85.5, 3.7734, 1.0459, -64.625, -0.4712, 1.0459, -64.625, 3.7734, 1.0459, 1, -0.4712, 7.4102, -14.0469, -0.4712, 7.4102, 1, 3.7734, 7.4102, 1, 3.7734, 7.4102, -14.0469, -0.4712, 7.4102, -14.0469, 3.7734, 7.4102, -14.0469, -0.4712, 1.0459, 1, -0.4712, 1.0459, -14.0469, 3.7734, 1.0459, -14.0469, 3.7734, 1.0459, 1, -0.4712, 1.0459, 1, 3.7734, 1.0459, -14.0469, -0.4712, 6.3008, 1, -0.4712, 6.3008, -14.0469, 3.7734, 6.3008, -14.0469, 3.7734, 6.3008, 1, -0.4712, 6.3008, 1, 3.7734, 6.3008, -14.0469, -0.4712, 2.0469, -19.7813, -0.4712, 2.0469, -14.0
  7. [sub_resource type="BoxShape" id=3]
  8. extents = Vector3( 7, 0.25, 7 )
  9. [sub_resource type="CubeMesh" id=2]
  10. size = Vector3( 14, 0.5, 14 )
  11. subdivide_width = 0
  12. subdivide_height = 0
  13. subdivide_depth = 0
  14. [sub_resource type="SphereShape" id=5]
  15. radius = 1.0
  16. [sub_resource type="SphereMesh" id=4]
  17. radius = 1.0
  18. height = 2.0
  19. radial_segments = 64
  20. rings = 32
  21. is_hemisphere = false
  22. [node name="world" type="Spatial" index="0"]
  23. [node name="DirectionalLight" type="DirectionalLight" parent="." index="0"]
  24. transform = Transform( 0.784405, 0.193347, -0.589343, 0.315866, 0.693208, 0.647836, 0.533794, -0.694319, 0.482684, -7.6643, 1.97737, 0 )
  25. layers = 1
  26. light_color = Color( 1, 1, 1, 1 )
  27. light_energy = 1.0
  28. light_indirect_energy = 1.0
  29. light_negative = false
  30. light_specular = 0.5
  31. light_bake_mode = 1
  32. light_cull_mask = -1
  33. shadow_enabled = false
  34. shadow_color = Color( 0, 0, 0, 1 )
  35. shadow_bias = 0.1
  36. shadow_contact = 0.0
  37. shadow_reverse_cull_face = false
  38. editor_only = false
  39. directional_shadow_mode = 2
  40. directional_shadow_split_1 = 0.1
  41. directional_shadow_split_2 = 0.2
  42. directional_shadow_split_3 = 0.5
  43. directional_shadow_blend_splits = false
  44. directional_shadow_normal_bias = 0.8
  45. directional_shadow_bias_split_scale = 0.25
  46. directional_shadow_depth_range = 0
  47. directional_shadow_max_distance = 200.0
  48. [node name="players" type="Spatial" parent="." index="1"]
  49. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.4634, 0 )
  50. _sections_unfolded = [ "Transform", "Visibility" ]
  51. [node name="MeshInstance" type="MeshInstance" parent="." index="2"]
  52. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -38.9044, 6.35638, 0 )
  53. layers = 1
  54. material_override = null
  55. cast_shadow = 1
  56. extra_cull_margin = 0.0
  57. use_in_baked_light = false
  58. lod_min_distance = 0.0
  59. lod_min_hysteresis = 0.0
  60. lod_max_distance = 0.0
  61. lod_max_hysteresis = 0.0
  62. mesh = ExtResource( 1 )
  63. skeleton = NodePath("..")
  64. material/0 = null
  65. [node name="MeshInstance2" type="MeshInstance" parent="." index="3"]
  66. transform = Transform( 1, 0, 0, 0, 0.168085, 0.985772, 0, -0.985772, 0.168085, -7.15372, 5.07803, 0 )
  67. layers = 1
  68. material_override = null
  69. cast_shadow = 1
  70. extra_cull_margin = 0.0
  71. use_in_baked_light = false
  72. lod_min_distance = 0.0
  73. lod_min_hysteresis = 0.0
  74. lod_max_distance = 0.0
  75. lod_max_hysteresis = 0.0
  76. mesh = ExtResource( 1 )
  77. skeleton = NodePath("..")
  78. material/0 = null
  79. [node name="MeshInstance3" type="MeshInstance" parent="." index="4"]
  80. transform = Transform( 0.555033, -0.117448, 0.823495, 0.820972, 0.236762, -0.519565, -0.133951, 0.964443, 0.227832, -8.47151, 8.10179, -9.95322 )
  81. layers = 1
  82. material_override = null
  83. cast_shadow = 1
  84. extra_cull_margin = 0.0
  85. use_in_baked_light = false
  86. lod_min_distance = 0.0
  87. lod_min_hysteresis = 0.0
  88. lod_max_distance = 0.0
  89. lod_max_hysteresis = 0.0
  90. mesh = ExtResource( 1 )
  91. skeleton = NodePath("..")
  92. material/0 = null
  93. [node name="MeshInstance4" type="MeshInstance" parent="." index="5"]
  94. transform = Transform( 0.679698, 0, -0.733492, 0, 1, 0, 0.733492, 0, 0.679698, -12.3686, 3.09114, 7.02516 )
  95. layers = 1
  96. material_override = null
  97. cast_shadow = 1
  98. extra_cull_margin = 0.0
  99. use_in_baked_light = false
  100. lod_min_distance = 0.0
  101. lod_min_hysteresis = 0.0
  102. lod_max_distance = 0.0
  103. lod_max_hysteresis = 0.0
  104. mesh = ExtResource( 1 )
  105. skeleton = NodePath("..")
  106. material/0 = null
  107. [node name="Maze" type="MeshInstance" parent="." index="6"]
  108. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.90447, 0, 0 )
  109. layers = 1
  110. material_override = null
  111. cast_shadow = 1
  112. extra_cull_margin = 0.0
  113. use_in_baked_light = false
  114. lod_min_distance = 0.0
  115. lod_min_hysteresis = 0.0
  116. lod_max_distance = 0.0
  117. lod_max_hysteresis = 0.0
  118. mesh = ExtResource( 2 )
  119. skeleton = NodePath("..")
  120. material/0 = null
  121. [node name="StaticBody" type="StaticBody" parent="Maze" index="0"]
  122. input_ray_pickable = true
  123. input_capture_on_drag = false
  124. collision_layer = 1
  125. collision_mask = 1
  126. friction = 1.0
  127. bounce = 0.0
  128. constant_linear_velocity = Vector3( 0, 0, 0 )
  129. constant_angular_velocity = Vector3( 0, 0, 0 )
  130. [node name="CollisionShape" type="CollisionShape" parent="Maze/StaticBody" index="0"]
  131. shape = SubResource( 1 )
  132. disabled = false
  133. [node name="Objective" type="RigidBody" parent="." index="7"]
  134. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -91.3336, 3.19767, 4.06596 )
  135. input_ray_pickable = true
  136. input_capture_on_drag = false
  137. collision_layer = 1
  138. collision_mask = 1
  139. mode = 0
  140. mass = 1.0
  141. friction = 1.0
  142. bounce = 0.0
  143. gravity_scale = 1.0
  144. custom_integrator = false
  145. continuous_cd = false
  146. contacts_reported = 0
  147. contact_monitor = false
  148. sleeping = false
  149. can_sleep = true
  150. axis_lock_linear_x = true
  151. axis_lock_linear_y = true
  152. axis_lock_linear_z = true
  153. axis_lock_angular_x = false
  154. axis_lock_angular_y = true
  155. axis_lock_angular_z = true
  156. linear_velocity = Vector3( 0, 0, 0 )
  157. linear_damp = -1.0
  158. angular_velocity = Vector3( 0, 0, 0 )
  159. angular_damp = -1.0
  160. script = ExtResource( 3 )
  161. _sections_unfolded = [ "Axis Lock", "Linear", "Transform" ]
  162. [node name="CollisionShape" type="CollisionShape" parent="Objective" index="0"]
  163. shape = SubResource( 3 )
  164. disabled = false
  165. _sections_unfolded = [ "Transform" ]
  166. [node name="MeshInstance5" type="MeshInstance" parent="Objective/CollisionShape" index="0"]
  167. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.274852 )
  168. layers = 1
  169. material_override = null
  170. cast_shadow = 1
  171. extra_cull_margin = 0.0
  172. use_in_baked_light = false
  173. lod_min_distance = 0.0
  174. lod_min_hysteresis = 0.0
  175. lod_max_distance = 0.0
  176. lod_max_hysteresis = 0.0
  177. mesh = SubResource( 2 )
  178. skeleton = NodePath("..")
  179. material/0 = null
  180. _sections_unfolded = [ "Transform" ]
  181. [node name="Ball" type="RigidBody" parent="." index="8"]
  182. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -89.3645, 6.09969, -0.893594 )
  183. input_ray_pickable = true
  184. input_capture_on_drag = false
  185. collision_layer = 1
  186. collision_mask = 1
  187. mode = 0
  188. mass = 1.0
  189. friction = 1.0
  190. bounce = 0.0
  191. gravity_scale = 1.0
  192. custom_integrator = false
  193. continuous_cd = false
  194. contacts_reported = 0
  195. contact_monitor = false
  196. sleeping = false
  197. can_sleep = true
  198. axis_lock_linear_x = false
  199. axis_lock_linear_y = false
  200. axis_lock_linear_z = false
  201. axis_lock_angular_x = false
  202. axis_lock_angular_y = false
  203. axis_lock_angular_z = false
  204. linear_velocity = Vector3( 0, 0, 0 )
  205. linear_damp = -1.0
  206. angular_velocity = Vector3( 0, 0, 0 )
  207. angular_damp = -1.0
  208. _sections_unfolded = [ "Collision", "Pause", "Transform", "Visibility" ]
  209. [node name="CollisionShape" type="CollisionShape" parent="Ball" index="0"]
  210. shape = SubResource( 5 )
  211. disabled = false
  212. _sections_unfolded = [ "Transform", "Visibility" ]
  213. [node name="MeshInstance" type="MeshInstance" parent="Ball" index="1"]
  214. layers = 1
  215. material_override = null
  216. cast_shadow = 1
  217. extra_cull_margin = 0.0
  218. use_in_baked_light = false
  219. lod_min_distance = 0.0
  220. lod_min_hysteresis = 0.0
  221. lod_max_distance = 0.0
  222. lod_max_hysteresis = 0.0
  223. mesh = SubResource( 4 )
  224. skeleton = NodePath("..")
  225. material/0 = null
  226. _sections_unfolded = [ "Geometry", "Transform", "material" ]