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.

454 lines
11 KiB

  1. [gd_scene load_steps=15 format=2]
  2. [ext_resource path="res://scripts/player.gd" type="Script" id=1]
  3. [ext_resource path="res://scenes/ability_icon.tscn" type="PackedScene" id=2]
  4. [ext_resource path="res://scripts/tp_camera.gd" type="Script" id=3]
  5. [ext_resource path="res://scripts/player_name.gd" type="Script" id=4]
  6. [sub_resource type="CapsuleShape" id=1]
  7. radius = 0.4
  8. height = 0.5
  9. [sub_resource type="RayShape" id=2]
  10. length = 0.1
  11. [sub_resource type="PrismMesh" id=3]
  12. left_to_right = 0.5
  13. size = Vector3( 0.5, 0.5, 0.5 )
  14. subdivide_width = 0
  15. subdivide_height = 0
  16. subdivide_depth = 0
  17. [sub_resource type="CapsuleMesh" id=4]
  18. radius = 0.4
  19. mid_height = 0.1
  20. radial_segments = 64
  21. rings = 8
  22. [sub_resource type="StyleBoxFlat" id=7]
  23. content_margin_left = -1.0
  24. content_margin_right = -1.0
  25. content_margin_top = -1.0
  26. content_margin_bottom = -1.0
  27. bg_color = Color( 0.541351, 0.855469, 0.612519, 1 )
  28. draw_center = true
  29. border_width_left = 0
  30. border_width_top = 0
  31. border_width_right = 0
  32. border_width_bottom = 0
  33. border_color = Color( 0.8, 0.8, 0.8, 1 )
  34. border_blend = false
  35. corner_radius_top_left = 0
  36. corner_radius_top_right = 0
  37. corner_radius_bottom_right = 0
  38. corner_radius_bottom_left = 0
  39. corner_detail = 8
  40. expand_margin_left = 0.0
  41. expand_margin_right = 0.0
  42. expand_margin_top = 0.0
  43. expand_margin_bottom = 0.0
  44. shadow_color = Color( 0, 0, 0, 0.6 )
  45. shadow_size = 0
  46. anti_aliasing = true
  47. anti_aliasing_size = 1
  48. [sub_resource type="StyleBoxFlat" id=8]
  49. content_margin_left = -1.0
  50. content_margin_right = -1.0
  51. content_margin_top = -1.0
  52. content_margin_bottom = -1.0
  53. bg_color = Color( 0.00305176, 0.0976562, 0.0111818, 1 )
  54. draw_center = true
  55. border_width_left = 0
  56. border_width_top = 0
  57. border_width_right = 0
  58. border_width_bottom = 0
  59. border_color = Color( 0.8, 0.8, 0.8, 1 )
  60. border_blend = false
  61. corner_radius_top_left = 0
  62. corner_radius_top_right = 0
  63. corner_radius_bottom_right = 0
  64. corner_radius_bottom_left = 0
  65. corner_detail = 8
  66. expand_margin_left = 0.0
  67. expand_margin_right = 0.0
  68. expand_margin_top = 0.0
  69. expand_margin_bottom = 0.0
  70. shadow_color = Color( 0, 0, 0, 0.6 )
  71. shadow_size = 0
  72. anti_aliasing = true
  73. anti_aliasing_size = 1
  74. [sub_resource type="StyleBoxFlat" id=9]
  75. content_margin_left = -1.0
  76. content_margin_right = -1.0
  77. content_margin_top = -1.0
  78. content_margin_bottom = -1.0
  79. bg_color = Color( 0.878769, 0.949219, 0.911242, 1 )
  80. draw_center = true
  81. border_width_left = 0
  82. border_width_top = 0
  83. border_width_right = 0
  84. border_width_bottom = 0
  85. border_color = Color( 0.8, 0.8, 0.8, 1 )
  86. border_blend = false
  87. corner_radius_top_left = 0
  88. corner_radius_top_right = 0
  89. corner_radius_bottom_right = 0
  90. corner_radius_bottom_left = 0
  91. corner_detail = 8
  92. expand_margin_left = 0.0
  93. expand_margin_right = 0.0
  94. expand_margin_top = 0.0
  95. expand_margin_bottom = 0.0
  96. shadow_color = Color( 0, 0, 0, 0.6 )
  97. shadow_size = 0
  98. anti_aliasing = true
  99. anti_aliasing_size = 1
  100. [sub_resource type="StyleBoxEmpty" id=10]
  101. content_margin_left = -1.0
  102. content_margin_right = -1.0
  103. content_margin_top = -1.0
  104. content_margin_bottom = -1.0
  105. [sub_resource type="CubeMesh" id=5]
  106. size = Vector3( 2, 2, 2 )
  107. subdivide_width = 0
  108. subdivide_height = 0
  109. subdivide_depth = 0
  110. [sub_resource type="SpatialMaterial" id=6]
  111. render_priority = 0
  112. flags_transparent = false
  113. flags_unshaded = false
  114. flags_vertex_lighting = false
  115. flags_no_depth_test = false
  116. flags_use_point_size = false
  117. flags_world_triplanar = false
  118. flags_fixed_size = false
  119. flags_albedo_tex_force_srgb = false
  120. vertex_color_use_as_albedo = false
  121. vertex_color_is_srgb = false
  122. params_diffuse_mode = 1
  123. params_specular_mode = 3
  124. params_blend_mode = 0
  125. params_cull_mode = 0
  126. params_depth_draw_mode = 0
  127. params_line_width = 1.0
  128. params_point_size = 1.0
  129. params_billboard_mode = 0
  130. params_grow = false
  131. params_use_alpha_scissor = false
  132. albedo_color = Color( 1, 1, 1, 1 )
  133. metallic = 0.0
  134. metallic_specular = 0.5
  135. metallic_texture_channel = 0
  136. roughness = 0.0
  137. roughness_texture_channel = 0
  138. emission_enabled = false
  139. normal_enabled = false
  140. rim_enabled = false
  141. clearcoat_enabled = false
  142. anisotropy_enabled = false
  143. ao_enabled = false
  144. depth_enabled = false
  145. subsurf_scatter_enabled = false
  146. transmission_enabled = false
  147. refraction_enabled = false
  148. detail_enabled = false
  149. uv1_scale = Vector3( 1, 1, 1 )
  150. uv1_offset = Vector3( 0, 0, 0 )
  151. uv1_triplanar = false
  152. uv1_triplanar_sharpness = 1.0
  153. uv2_scale = Vector3( 1, 1, 1 )
  154. uv2_offset = Vector3( 0, 0, 0 )
  155. uv2_triplanar = false
  156. uv2_triplanar_sharpness = 1.0
  157. proximity_fade_enable = false
  158. distance_fade_enable = false
  159. [node name="RigidBody" type="RigidBody" groups=[
  160. "player",
  161. ]]
  162. input_ray_pickable = true
  163. input_capture_on_drag = false
  164. collision_layer = 4
  165. collision_mask = 5
  166. mode = 2
  167. mass = 200.0
  168. friction = 1.0
  169. bounce = 0.0
  170. gravity_scale = 1.0
  171. custom_integrator = false
  172. continuous_cd = true
  173. contacts_reported = 3
  174. contact_monitor = true
  175. sleeping = false
  176. can_sleep = false
  177. axis_lock_linear_x = false
  178. axis_lock_linear_y = false
  179. axis_lock_linear_z = false
  180. axis_lock_angular_x = false
  181. axis_lock_angular_y = false
  182. axis_lock_angular_z = false
  183. linear_velocity = Vector3( 0, 0, 0 )
  184. linear_damp = -1.0
  185. angular_velocity = Vector3( 0, 0, 0 )
  186. angular_damp = -1.0
  187. script = ExtResource( 1 )
  188. [node name="Body" type="CollisionShape" parent="." index="0"]
  189. transform = Transform( 1, 0, 0, 0, -1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0.75, 0 )
  190. shape = SubResource( 1 )
  191. disabled = false
  192. [node name="Leg" type="CollisionShape" parent="." index="1"]
  193. transform = Transform( 1, 0, 0, 0, -1.62921e-07, -1, 0, 1, -1.62921e-07, 0.05, 0.1, 0 )
  194. shape = SubResource( 2 )
  195. disabled = false
  196. [node name="Ray" type="RayCast" parent="." index="2"]
  197. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, 0 )
  198. enabled = true
  199. exclude_parent = true
  200. cast_to = Vector3( 0, -0.2, 0 )
  201. collision_mask = 1
  202. [node name="Yaw" type="Spatial" parent="." index="3"]
  203. [node name="Pitch" type="Spatial" parent="Yaw" index="0"]
  204. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.19053, 0 )
  205. [node name="RotatedHead" type="MeshInstance" parent="Yaw/Pitch" index="0"]
  206. transform = Transform( 2.65431e-14, -1.62921e-07, 1, -1, -1.62921e-07, 0, 1.62921e-07, -1, -1.62921e-07, 0, -0.0649133, -0.103671 )
  207. layers = 1
  208. material_override = null
  209. cast_shadow = 1
  210. extra_cull_margin = 0.0
  211. use_in_baked_light = false
  212. lod_min_distance = 0.0
  213. lod_min_hysteresis = 0.0
  214. lod_max_distance = 0.0
  215. lod_max_hysteresis = 0.0
  216. mesh = SubResource( 3 )
  217. skeleton = NodePath("..")
  218. material/0 = null
  219. [node name="MainMesh" type="MeshInstance" parent="Yaw" index="1"]
  220. transform = Transform( 1, 0, 0, 0, -1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0.567933, 0 )
  221. layers = 1
  222. material_override = null
  223. cast_shadow = 1
  224. extra_cull_margin = 0.0
  225. use_in_baked_light = false
  226. lod_min_distance = 0.0
  227. lod_min_hysteresis = 0.0
  228. lod_max_distance = 0.0
  229. lod_max_hysteresis = 0.0
  230. mesh = SubResource( 4 )
  231. skeleton = NodePath("..")
  232. material/0 = null
  233. [node name="MasterOnly" type="Node" parent="." index="4"]
  234. [node name="Crosshair" type="Label" parent="MasterOnly" index="0"]
  235. anchor_left = 0.5
  236. anchor_top = 0.5
  237. anchor_right = 0.5
  238. anchor_bottom = 0.5
  239. margin_left = -20.0
  240. margin_top = -7.0
  241. margin_right = 20.0
  242. margin_bottom = 7.0
  243. rect_pivot_offset = Vector2( 0, 0 )
  244. mouse_filter = 2
  245. mouse_default_cursor_shape = 0
  246. size_flags_horizontal = 1
  247. size_flags_vertical = 4
  248. custom_colors/font_color = Color( 0.277344, 0.277344, 0.277344, 1 )
  249. text = "+"
  250. align = 1
  251. percent_visible = 1.0
  252. lines_skipped = 0
  253. max_lines_visible = -1
  254. [node name="ChargeBar" type="ProgressBar" parent="MasterOnly" index="1"]
  255. anchor_left = 0.5
  256. anchor_top = 1.0
  257. anchor_right = 0.5
  258. anchor_bottom = 1.0
  259. margin_left = -484.0
  260. margin_top = -41.0
  261. margin_right = 483.0
  262. margin_bottom = -25.0
  263. rect_pivot_offset = Vector2( 0, 0 )
  264. mouse_filter = 0
  265. mouse_default_cursor_shape = 0
  266. size_flags_horizontal = 1
  267. size_flags_vertical = 0
  268. custom_styles/fg = SubResource( 7 )
  269. custom_styles/bg = SubResource( 8 )
  270. min_value = 0.0
  271. max_value = 100.0
  272. step = 1.0
  273. page = 0.0
  274. value = 0.0
  275. exp_edit = false
  276. rounded = false
  277. percent_visible = false
  278. [node name="Extra" type="ProgressBar" parent="MasterOnly/ChargeBar" index="0"]
  279. anchor_left = 0.5
  280. anchor_top = 0.5
  281. anchor_right = 0.5
  282. anchor_bottom = 0.5
  283. margin_left = -484.0
  284. margin_top = -8.0
  285. margin_right = 484.0
  286. margin_bottom = 8.0
  287. rect_pivot_offset = Vector2( 0, 0 )
  288. mouse_filter = 0
  289. mouse_default_cursor_shape = 0
  290. size_flags_horizontal = 1
  291. size_flags_vertical = 0
  292. custom_styles/fg = SubResource( 9 )
  293. custom_styles/bg = SubResource( 10 )
  294. min_value = 0.0
  295. max_value = 100.0
  296. step = 1.0
  297. page = 0.0
  298. value = 0.0
  299. exp_edit = false
  300. rounded = false
  301. percent_visible = false
  302. [node name="ChargeText" type="Label" parent="MasterOnly/ChargeBar" index="1"]
  303. anchor_left = 0.5
  304. anchor_top = 1.0
  305. anchor_right = 0.5
  306. anchor_bottom = 1.0
  307. margin_left = -61.5
  308. margin_top = -14.0
  309. margin_right = 61.5
  310. rect_pivot_offset = Vector2( 0, 0 )
  311. mouse_filter = 2
  312. mouse_default_cursor_shape = 0
  313. size_flags_horizontal = 1
  314. size_flags_vertical = 4
  315. custom_colors/font_color = Color( 0.456299, 0.689711, 0.695312, 1 )
  316. custom_colors/font_color_shadow = Color( 0.0868835, 0.304688, 0.304688, 1 )
  317. text = "0%"
  318. align = 1
  319. percent_visible = 1.0
  320. lines_skipped = 0
  321. max_lines_visible = -1
  322. [node name="SwitchHero" parent="MasterOnly" index="2" instance=ExtResource( 2 )]
  323. visible = false
  324. anchor_left = 0.5
  325. anchor_top = 1.0
  326. anchor_right = 0.5
  327. anchor_bottom = 1.0
  328. margin_top = -107.0
  329. margin_bottom = -98.0
  330. cost = 100
  331. ability_name = "Switch Hero"
  332. display_progress = false
  333. action = "switch_hero"
  334. [node name="TPCamera" type="Spatial" parent="." index="5"]
  335. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.56913, 0 )
  336. script = ExtResource( 3 )
  337. cam = NodePath("Camera")
  338. pivot = NodePath("Pivot")
  339. [node name="Pivot" type="Spatial" parent="TPCamera" index="0"]
  340. [node name="Camera" type="Camera" parent="TPCamera" index="1"]
  341. keep_aspect = 1
  342. cull_mask = 1048575
  343. environment = null
  344. h_offset = 0.0
  345. v_offset = 0.0
  346. doppler_tracking = 0
  347. projection = 0
  348. current = false
  349. fov = 70.0
  350. size = 1.0
  351. near = 0.1
  352. far = 250.0
  353. [node name="Ray" type="RayCast" parent="TPCamera/Camera" index="0"]
  354. enabled = true
  355. exclude_parent = true
  356. cast_to = Vector3( 0, 0, -500 )
  357. collision_mask = 13
  358. [node name="MaterialSettings" type="MeshInstance" parent="." index="6"]
  359. visible = false
  360. layers = 1
  361. material_override = null
  362. cast_shadow = 1
  363. extra_cull_margin = 0.0
  364. use_in_baked_light = false
  365. lod_min_distance = 0.0
  366. lod_min_hysteresis = 0.0
  367. lod_max_distance = 0.0
  368. lod_max_hysteresis = 0.0
  369. mesh = SubResource( 5 )
  370. skeleton = NodePath("..")
  371. material/0 = SubResource( 6 )
  372. [node name="NamePosition" type="Spatial" parent="." index="7"]
  373. transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.56117, 0 )
  374. [node name="PlayerName" type="Label" parent="." index="8"]
  375. anchor_left = 0.0
  376. anchor_top = 0.0
  377. anchor_right = 0.0
  378. anchor_bottom = 0.0
  379. margin_right = 40.0
  380. margin_bottom = 14.0
  381. rect_pivot_offset = Vector2( 0, 0 )
  382. mouse_filter = 2
  383. mouse_default_cursor_shape = 0
  384. size_flags_horizontal = 1
  385. size_flags_vertical = 4
  386. custom_colors/font_color = Color( 0.3125, 0.3125, 0.3125, 1 )
  387. align = 1
  388. percent_visible = 1.0
  389. lines_skipped = 0
  390. max_lines_visible = -1
  391. script = ExtResource( 4 )