summaryrefslogtreecommitdiff
path: root/godot/scenes/environment
diff options
context:
space:
mode:
Diffstat (limited to 'godot/scenes/environment')
-rw-r--r--godot/scenes/environment/BallBarrel.gd10
-rw-r--r--godot/scenes/environment/BallBarrel.tscn31
2 files changed, 41 insertions, 0 deletions
diff --git a/godot/scenes/environment/BallBarrel.gd b/godot/scenes/environment/BallBarrel.gd
new file mode 100644
index 0000000..80b721e
--- /dev/null
+++ b/godot/scenes/environment/BallBarrel.gd
@@ -0,0 +1,10 @@
+extends RigidBody
+
+const balls_max = 100
+onready var balls_left = balls_max
+
+func use_generic(player: NetChar) -> void:
+ if balls_left > 0 and player.inventory["cannonball"] < player.inventory_caps["cannonball"]:
+ player.inventory["cannonball"] += 1
+ balls_left -= 1
+ player.rset("inventory", player.inventory)
diff --git a/godot/scenes/environment/BallBarrel.tscn b/godot/scenes/environment/BallBarrel.tscn
new file mode 100644
index 0000000..4378d7e
--- /dev/null
+++ b/godot/scenes/environment/BallBarrel.tscn
@@ -0,0 +1,31 @@
+[gd_scene load_steps=6 format=2]
+
+[ext_resource path="res://meshes/barrel.tres" type="ArrayMesh" id=1]
+[ext_resource path="res://scenes/environment/BallBarrel.gd" type="Script" id=2]
+
+[sub_resource type="PhysicsMaterial" id=3]
+resource_local_to_scene = true
+
+[sub_resource type="CylinderShape" id=1]
+height = 1.18356
+radius = 0.597426
+
+[sub_resource type="BoxShape" id=2]
+extents = Vector3( 0.62804, 0.686083, 0.635326 )
+
+[node name="BallBarrel" type="RigidBody"]
+mass = 400.0
+physics_material_override = SubResource( 3 )
+script = ExtResource( 2 )
+
+[node name="CollisionShape" type="CollisionShape" parent="."]
+shape = SubResource( 1 )
+
+[node name="MeshInstance" type="MeshInstance" parent="."]
+mesh = ExtResource( 1 )
+
+[node name="UseArea" type="Area" parent="."]
+monitoring = false
+
+[node name="CollisionShape" type="CollisionShape" parent="UseArea"]
+shape = SubResource( 2 )