diff options
author | metamuffin <metamuffin@disroot.org> | 2024-08-17 15:52:28 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-08-17 15:52:28 +0200 |
commit | d0ab45df0d87aefdcf5afd70e80eebf697d9cf0e (patch) | |
tree | e12ec7927430b472eae6a7a0e55d167d7594faf8 /client/map | |
parent | 708cbe2c92b2de53333a293ad4e8b6ba500793d3 (diff) | |
parent | de807e8cd2186286e235808ec1fc1f753e7748f4 (diff) | |
download | hurrycurry-d0ab45df0d87aefdcf5afd70e80eebf697d9cf0e.tar hurrycurry-d0ab45df0d87aefdcf5afd70e80eebf697d9cf0e.tar.bz2 hurrycurry-d0ab45df0d87aefdcf5afd70e80eebf697d9cf0e.tar.zst |
Merge branch 'master' of codeberg.org:hurrycurry/hurrycurry
Diffstat (limited to 'client/map')
-rw-r--r-- | client/map/item_factory.gd | 2 | ||||
-rw-r--r-- | client/map/items/item.gd | 6 | ||||
-rw-r--r-- | client/map/items/strawberry.gd | 33 | ||||
-rw-r--r-- | client/map/items/strawberry.res | bin | 0 -> 11074 bytes | |||
-rw-r--r-- | client/map/items/strawberry.tscn | 10 | ||||
-rw-r--r-- | client/map/tile_factory.gd | 6 | ||||
-rw-r--r-- | client/map/tiles/coconut_crate.gd (renamed from client/map/tiles/flour_counter.gd) | 13 | ||||
-rw-r--r-- | client/map/tiles/coconut_crate.tscn | 18 | ||||
-rw-r--r-- | client/map/tiles/fish_crate.tscn | 2 | ||||
-rw-r--r-- | client/map/tiles/flour_crate.gd | 21 | ||||
-rw-r--r-- | client/map/tiles/flour_crate.tscn | 24 | ||||
-rw-r--r-- | client/map/tiles/strawberry_crate.gd | 21 | ||||
-rw-r--r-- | client/map/tiles/strawberry_crate.tscn | 21 |
13 files changed, 164 insertions, 13 deletions
diff --git a/client/map/item_factory.gd b/client/map/item_factory.gd index 8d768794..39e1e12d 100644 --- a/client/map/item_factory.gd +++ b/client/map/item_factory.gd @@ -108,5 +108,7 @@ static func produce(name: String, owned_by: Node3D) -> Item: return Coconut.new(owned_by) "coconut-foodprocessor": return CoconutFoodProcessor.new(owned_by) + "strawberry": + return Strawberry.new(owned_by) var t: return GenericItem.new(owned_by, t) diff --git a/client/map/items/item.gd b/client/map/items/item.gd index fc10dbee..2d046700 100644 --- a/client/map/items/item.gd +++ b/client/map/items/item.gd @@ -44,9 +44,11 @@ func _ready(): position = owned_by.global_position func _process(delta): - var ispeed = 30.0 if owned_by.get_parent().get_parent() is Player else 10. + var p = owned_by.get_parent().get_parent() is Player + var ispeed = 30.0 if p else 10. position = G.interpolate(position, owned_by.global_position, delta * ispeed) - rotation.y = G.interpolate_angle(rotation.y, owned_by.global_rotation.y, delta * ispeed) + if p: rotation.y = G.interpolate_angle(rotation.y, owned_by.global_rotation.y, delta * ispeed) + else: rotation.y = G.interpolate_angle_closest_quarter(rotation.y, owned_by.global_rotation.y, delta * ispeed) func progress(p: float, warn: bool): progress_instance.visible = true diff --git a/client/map/items/strawberry.gd b/client/map/items/strawberry.gd new file mode 100644 index 00000000..ef9abb64 --- /dev/null +++ b/client/map/items/strawberry.gd @@ -0,0 +1,33 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 tpart +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +class_name Strawberry +extends Item + +var cut: CPUParticles3D = load("res://map/items/cut.tscn").instantiate() + +func _init(owned_by_: Node3D): + super(owned_by_) + base.add_child(load("res://map/items/strawberry.tscn").instantiate()) + base.add_child(cut) + cut.color = Color(1., 0., 0.) + +func progress(p: float, warn: bool): + super(p, warn) + cut.emitting = true + +func finish(warn: bool): + super(warn) + cut.emitting = false diff --git a/client/map/items/strawberry.res b/client/map/items/strawberry.res Binary files differnew file mode 100644 index 00000000..60da68ed --- /dev/null +++ b/client/map/items/strawberry.res diff --git a/client/map/items/strawberry.tscn b/client/map/items/strawberry.tscn new file mode 100644 index 00000000..90df0c3c --- /dev/null +++ b/client/map/items/strawberry.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=2 format=3 uid="uid://df1xktleeqg3m"] + +[ext_resource type="ArrayMesh" uid="uid://c2uwqjxx7mnqp" path="res://map/items/strawberry.res" id="1_8dx1o"] + +[node name="Strawberry" type="Node3D"] + +[node name="Mesh" type="MeshInstance3D" parent="."] +transform = Transform3D(-5.68248e-10, 1.1365e-09, 0.013, 0, -0.013, 1.1365e-09, 0.013, 4.96778e-17, 5.68248e-10, 0, 0.125, 0) +mesh = ExtResource("1_8dx1o") +skeleton = NodePath("") diff --git a/client/map/tile_factory.gd b/client/map/tile_factory.gd index a0dd2dca..bd0a71ca 100644 --- a/client/map/tile_factory.gd +++ b/client/map/tile_factory.gd @@ -27,7 +27,7 @@ static func produce(tile_name: String, node_name: String, neighbors: Array) -> T "counter": return CounterBase.new(node_name, neighbors) "flour-crate": - return FlourCounter.new(node_name, neighbors) + return FlourCrate.new(node_name, neighbors) "fish-crate": return FishCrate.new(node_name, neighbors) "oven": @@ -86,6 +86,10 @@ static func produce(tile_name: String, node_name: String, neighbors: Array) -> T return Street.new(node_name, neighbors) "rice-crate": return RiceCrate.new(node_name, neighbors) + "strawberry-crate": + return StrawberryCrate.new(node_name, neighbors) + "coconut-crate": + return CoconutCrate.new(node_name, neighbors) var t: push_warning("tile %s unknown" % t) return GenericTile.new(node_name, neighbors, t) diff --git a/client/map/tiles/flour_counter.gd b/client/map/tiles/coconut_crate.gd index 03bb7742..55ef16d5 100644 --- a/client/map/tiles/flour_counter.gd +++ b/client/map/tiles/coconut_crate.gd @@ -1,5 +1,5 @@ # Hurry Curry! - a game about cooking -# Copyright 2024 nokoe +# Copyright 2024 tpart # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,14 +13,9 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. # -class_name FlourCounter -extends CounterBase +class_name CoconutCrate +extends Crate func _init(rename: String, neighbors: Array): super(rename, neighbors) - var bag = load("res://map/items/flour.tscn").instantiate() - # this is supposed to be overridden - @warning_ignore("static_called_on_instance") - bag.position = interact_target() - bag.rotation_degrees.y = 45 - base.add_child(bag) + base.add_child(load("res://map/tiles/coconut_crate.tscn").instantiate()) diff --git a/client/map/tiles/coconut_crate.tscn b/client/map/tiles/coconut_crate.tscn new file mode 100644 index 00000000..af2146b1 --- /dev/null +++ b/client/map/tiles/coconut_crate.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=3 uid="uid://cti8difugwnxm"] + +[ext_resource type="PackedScene" uid="uid://xdui0oya4lpb" path="res://map/tiles/crate.tscn" id="1_1qpmd"] +[ext_resource type="PackedScene" uid="uid://cmsirxgv7iqnk" path="res://map/items/coconut.tscn" id="3_s5fgf"] + +[node name="StrawberryCrate" instance=ExtResource("1_1qpmd")] + +[node name="Coconut" parent="." index="1" instance=ExtResource("3_s5fgf")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.177501, 0, -0.17735) + +[node name="Coconut2" parent="." index="2" instance=ExtResource("3_s5fgf")] +transform = Transform3D(0.735258, 0, 0.677788, 0, 1, 0, -0.677788, 0, 0.735258, 0.185726, 0, -0.192698) + +[node name="Coconut3" parent="." index="3" instance=ExtResource("3_s5fgf")] +transform = Transform3D(0.835347, 0, -0.549723, 0, 1, 0, 0.549723, 0, 0.835347, -0.177501, 0, 0.17735) + +[node name="Coconut4" parent="." index="4" instance=ExtResource("3_s5fgf")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.184021, 0, 0.17735) diff --git a/client/map/tiles/fish_crate.tscn b/client/map/tiles/fish_crate.tscn index 91d45f44..a096a000 100644 --- a/client/map/tiles/fish_crate.tscn +++ b/client/map/tiles/fish_crate.tscn @@ -3,7 +3,7 @@ [ext_resource type="PackedScene" uid="uid://xdui0oya4lpb" path="res://map/tiles/crate.tscn" id="1_uotdf"] [ext_resource type="PackedScene" uid="uid://dom5n7h7l7sr8" path="res://map/items/fish.tscn" id="3_p6tbn"] -[node name="LeekCrate" instance=ExtResource("1_uotdf")] +[node name="FishCrate" instance=ExtResource("1_uotdf")] [node name="Fish" parent="." index="1" instance=ExtResource("3_p6tbn")] transform = Transform3D(-0.449443, -0.771467, -0.450378, 0.791587, -0.577595, 0.199436, -0.413994, -0.266878, 0.870279, -0.214561, 0.395904, -0.219162) diff --git a/client/map/tiles/flour_crate.gd b/client/map/tiles/flour_crate.gd new file mode 100644 index 00000000..4949e646 --- /dev/null +++ b/client/map/tiles/flour_crate.gd @@ -0,0 +1,21 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 tpart +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +class_name FlourCrate +extends Crate + +func _init(rename: String, neighbors: Array): + super(rename, neighbors) + base.add_child(load("res://map/tiles/flour_crate.tscn").instantiate()) diff --git a/client/map/tiles/flour_crate.tscn b/client/map/tiles/flour_crate.tscn new file mode 100644 index 00000000..1e4a7b7d --- /dev/null +++ b/client/map/tiles/flour_crate.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=3 format=3 uid="uid://qwk6nih458mh"] + +[ext_resource type="PackedScene" uid="uid://xdui0oya4lpb" path="res://map/tiles/crate.tscn" id="1_7xctt"] +[ext_resource type="PackedScene" uid="uid://dgo8cknr1o6ml" path="res://map/items/flour.tscn" id="2_i5ha0"] + +[node name="FlourCrate" instance=ExtResource("1_7xctt")] + +[node name="Flour" parent="." index="1" instance=ExtResource("2_i5ha0")] +transform = Transform3D(0.990268, 0, -0.139173, 0, 1, 0, 0.139173, 0, 0.990268, 0.25, 0, -0.2) + +[node name="Flour2" parent="." index="2" instance=ExtResource("2_i5ha0")] +transform = Transform3D(0.990268, 0, 0.139173, 0, 1, 0, -0.139173, 0, 0.990268, 0.25, 0, 0.2) + +[node name="Flour3" parent="." index="3" instance=ExtResource("2_i5ha0")] +transform = Transform3D(0.973674, 0, 0.227943, 0, 1, 0, -0.227943, 0, 0.973674, 0, 0, -0.202263) + +[node name="Flour4" parent="." index="4" instance=ExtResource("2_i5ha0")] +transform = Transform3D(0.99525, -0.00903298, -0.0969282, -0.0219365, 0.949266, -0.313707, 0.0948444, 0.314343, 0.94456, 0, 0, 0.106343) + +[node name="Flour5" parent="." index="5" instance=ExtResource("2_i5ha0")] +transform = Transform3D(0.990268, 0, -0.139173, 0, 1, 0, 0.139173, 0, 0.990268, -0.25, 0, -0.2) + +[node name="Flour6" parent="." index="6" instance=ExtResource("2_i5ha0")] +transform = Transform3D(0.997564, 0, 0.0697565, 0, 1, 0, -0.0697565, 0, 0.997564, -0.25, 0, 0.2) diff --git a/client/map/tiles/strawberry_crate.gd b/client/map/tiles/strawberry_crate.gd new file mode 100644 index 00000000..6a236af4 --- /dev/null +++ b/client/map/tiles/strawberry_crate.gd @@ -0,0 +1,21 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 tpart +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +class_name StrawberryCrate +extends Crate + +func _init(rename: String, neighbors: Array): + super(rename, neighbors) + base.add_child(load("res://map/tiles/strawberry_crate.tscn").instantiate()) diff --git a/client/map/tiles/strawberry_crate.tscn b/client/map/tiles/strawberry_crate.tscn new file mode 100644 index 00000000..070323b6 --- /dev/null +++ b/client/map/tiles/strawberry_crate.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=3 format=3 uid="uid://disox718eydry"] + +[ext_resource type="PackedScene" uid="uid://xdui0oya4lpb" path="res://map/tiles/crate.tscn" id="1_j8iml"] +[ext_resource type="PackedScene" uid="uid://df1xktleeqg3m" path="res://map/items/strawberry.tscn" id="3_pv4co"] + +[node name="StrawberryCrate" instance=ExtResource("1_j8iml")] + +[node name="Strawberry" parent="." index="1" instance=ExtResource("3_pv4co")] +transform = Transform3D(0.450462, -0.749695, 0.48481, 0.857167, 0.515038, 0, -0.249695, 0.415563, 0.87462, 0.280431, 0.2, -0.249977) + +[node name="Strawberry2" parent="." index="2" instance=ExtResource("3_pv4co")] +transform = Transform3D(0.514594, -0.856429, -0.0415094, 0.857167, 0.515038, 0, 0.0213789, -0.0355805, 0.999138, 0.304305, 0.2, 0.224393) + +[node name="Strawberry3" parent="." index="3" instance=ExtResource("3_pv4co")] +transform = Transform3D(0.333174, -0.941988, -0.0406744, 0.942623, 0.333757, -0.00828417, 0.0213789, -0.0355805, 0.999138, 0.0704219, 0.2, 0.0109546) + +[node name="Strawberry4" parent="." index="4" instance=ExtResource("3_pv4co")] +transform = Transform3D(-0.06674, -0.173859, -0.982506, 0.976472, -0.213751, -0.0285059, -0.205055, -0.961293, 0.184035, -0.181014, 0.232884, -0.103933) + +[node name="Strawberry5" parent="." index="5" instance=ExtResource("3_pv4co")] +transform = Transform3D(-0.0250969, -0.243938, 0.969466, 0.976472, -0.213751, -0.0285059, 0.214178, 0.945941, 0.243563, -0.181014, 0.232884, 0.0976371) |