more hub world tweaking
This commit is contained in:
37
GameModes/Arena of Money.tres
Normal file
37
GameModes/Arena of Money.tres
Normal file
@@ -0,0 +1,37 @@
|
||||
[gd_resource type="Resource" script_class="gamemode" load_steps=2 format=3 uid="uid://llsqx2cby5in"]
|
||||
|
||||
[ext_resource type="Script" path="res://gamemode.gd" id="1_d6v1h"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_d6v1h")
|
||||
gamemode_name = "Money Gulag"
|
||||
win_conditions = 2
|
||||
survival_time = 160.0
|
||||
money_lost_multiplier = 0.5
|
||||
weapon_penalty = 0
|
||||
weapon_drop_percentage = 0.5
|
||||
walk_speed = 12.0
|
||||
jump_velocity = 5
|
||||
dash_speed = 40
|
||||
gravity = -9.8
|
||||
time_slowed_speed = 0.1
|
||||
stamina_regen = false
|
||||
max_stamina = 100.0
|
||||
stamina_drain = 20.0
|
||||
air_dash_max = 1
|
||||
load_save = true
|
||||
money_multiplier = 1.0
|
||||
start_health = 10
|
||||
drop_chance_minimum = 0.1
|
||||
random_drops = false
|
||||
ammo_drop_enabled = false
|
||||
expected_ammo = {
|
||||
"heavy": 25,
|
||||
"light": 200,
|
||||
"medium": 50,
|
||||
"rocket": 3,
|
||||
"shotgun": 20
|
||||
}
|
||||
stamina_drop_enabled = false
|
||||
health_drop_enabled = false
|
||||
money_drop_enabled = true
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=112 format=4 uid="uid://6agmt1hqlhww"]
|
||||
[gd_scene load_steps=113 format=4 uid="uid://6agmt1hqlhww"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_sbpvn"]
|
||||
[ext_resource type="Resource" uid="uid://dn3t7wcoumlm3" path="res://GameModes/standard.tres" id="2_cuqu0"]
|
||||
@@ -43,6 +43,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://bpkmyd3wvqi5p" path="res://assets/boombox.tscn" id="44_dmurd"]
|
||||
[ext_resource type="PackedScene" uid="uid://hp4xn8oqdxnd" path="res://assets/machete_pickup.tscn" id="44_j62x2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dlhjacsike5a4" path="res://assets/oildrum1.tscn" id="45_eatji"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgapcuvg0gtmm" path="res://assets/scene_changer.tscn" id="45_kgpfv"]
|
||||
[ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="45_lveut"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_eiud5"]
|
||||
@@ -2037,6 +2038,11 @@ transform = Transform3D(1, 0, 0, 0, 1.62179, 0, 0, 0, 1, -0.0929826, 16.174, 46.
|
||||
[node name="Boombox" parent="." instance=ExtResource("44_dmurd")]
|
||||
transform = Transform3D(0.973343, 0, 0.229353, 0, 1, 0, -0.229353, 0, 0.973343, -2.5225, 0.134605, 9.14882)
|
||||
|
||||
[node name="Scene Changer" parent="." instance=ExtResource("45_kgpfv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.33344, 0.988644, 9.05528)
|
||||
scene_path = "res://scenes/HUBWORLD.tscn"
|
||||
scene_name = "Hub"
|
||||
|
||||
[connection signal="body_entered" from="Room1/RoomCheck" to="Room1/RoomCheck" method="_on_body_entered"]
|
||||
[connection signal="body_exited" from="Room1/RoomCheck" to="Room1/RoomCheck" method="_on_body_exited"]
|
||||
[connection signal="body_entered" from="Room3/RoomCheck2" to="Room3/RoomCheck2" method="_on_body_entered"]
|
||||
|
||||
@@ -19,12 +19,18 @@ shape = SubResource("BoxShape3D_8clsv")
|
||||
mesh = SubResource("BoxMesh_6sj7f")
|
||||
|
||||
[node name="Deposit Money" type="Label3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0.143, 1.207, 0)
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0.143, 1.69313, 0)
|
||||
text = "Deposit Money"
|
||||
font = ExtResource("1_bjyml")
|
||||
font_size = 100
|
||||
|
||||
[node name="Amount" type="Label3D" parent="."]
|
||||
[node name="Currently Held Money" type="Label3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0.142793, 1.2334, 0)
|
||||
text = "Test"
|
||||
font = ExtResource("1_bjyml")
|
||||
font_size = 100
|
||||
|
||||
[node name="Deposited" type="Label3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0.142793, 0.747273, 0)
|
||||
text = "Test"
|
||||
font = ExtResource("1_bjyml")
|
||||
|
||||
4
interact_area.gd
Normal file
4
interact_area.gd
Normal file
@@ -0,0 +1,4 @@
|
||||
extends Area3D
|
||||
|
||||
func interact():
|
||||
get_parent().interact()
|
||||
246
scenes/Arena of Money.tscn
Normal file
246
scenes/Arena of Money.tscn
Normal file
@@ -0,0 +1,246 @@
|
||||
[gd_scene load_steps=32 format=3 uid="uid://bs2iopee5f3bv"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_wmpql"]
|
||||
[ext_resource type="Resource" uid="uid://llsqx2cby5in" path="res://GameModes/Arena of Money.tres" id="2_8jpxx"]
|
||||
[ext_resource type="PackedScene" uid="uid://drwae3loscbw7" path="res://assets/player.tscn" id="3_hv632"]
|
||||
[ext_resource type="Script" path="res://scripts/room_manager.gd" id="4_mkn7b"]
|
||||
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="5_wn5bn"]
|
||||
[ext_resource type="Script" path="res://scripts/switch_door.gd" id="6_iut4h"]
|
||||
[ext_resource type="Script" path="res://scripts/room_check.gd" id="7_yboyj"]
|
||||
[ext_resource type="PackedScene" uid="uid://dws2vwfxubqvb" path="res://assets/cannon.tscn" id="8_68hxt"]
|
||||
[ext_resource type="Material" uid="uid://br2pyyyl2n3cx" path="res://assets/materials/prototype/prototype1.tres" id="8_i8beu"]
|
||||
[ext_resource type="PackedScene" uid="uid://dws4iro7820fc" path="res://assets/pistol1_pickup.tscn" id="11_nal6h"]
|
||||
[ext_resource type="PackedScene" uid="uid://clu76sc4uoswn" path="res://assets/rocketlauncher_pickup.tscn" id="12_8pry8"]
|
||||
[ext_resource type="PackedScene" uid="uid://dyu46bns8mesv" path="res://assets/mac10_pickup.tscn" id="13_v8dy2"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdpxctwwi12j" path="res://assets/ladder_collision_check.tscn" id="15_6nl6d"]
|
||||
[ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="17_d1nrm"]
|
||||
[ext_resource type="PackedScene" uid="uid://20csd6dmwj4y" path="res://assets/jump_platform.tscn" id="18_ibidd"]
|
||||
[ext_resource type="PackedScene" uid="uid://bessq6hl7qsh8" path="res://assets/stats.tscn" id="19_eye22"]
|
||||
[ext_resource type="PackedScene" uid="uid://hp4xn8oqdxnd" path="res://assets/machete_pickup.tscn" id="20_3482g"]
|
||||
[ext_resource type="Material" uid="uid://b6hhomp4kcjvb" path="res://assets/materials/prototype/tadaoando.tres" id="21_41y65"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgapcuvg0gtmm" path="res://assets/scene_changer.tscn" id="22_e6msx"]
|
||||
[ext_resource type="Script" path="res://scripts/level_bounds.gd" id="23_eo3iq"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_w6vpl"]
|
||||
sky_top_color = Color(0.623488, 0.812575, 0.900791, 1)
|
||||
sky_horizon_color = Color(0.705872, 0.745394, 0.758448, 1)
|
||||
ground_bottom_color = Color(0.5, 0.5, 0.5, 1)
|
||||
ground_horizon_color = Color(0.705872, 0.745394, 0.758448, 1)
|
||||
|
||||
[sub_resource type="Sky" id="Sky_6g0ku"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_w6vpl")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_klp4b"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_6g0ku")
|
||||
tonemap_mode = 2
|
||||
glow_enabled = true
|
||||
fog_enabled = true
|
||||
fog_density = 0.0005
|
||||
|
||||
[sub_resource type="Animation" id="Animation_3e03q"]
|
||||
length = 0.001
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Door")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 26.3852, 31.9616, -34.5929)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_haspb"]
|
||||
resource_name = "close"
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Door")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 26.3852, 31.9616, -40.6238, 1, 1, 26.3852, 31.9616, -34.5929)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pkxro"]
|
||||
resource_name = "open"
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Door")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 26.3852, 31.9616, -34.5929, 1, 1, 26.3852, 31.9616, -40.6238)
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s1qpx"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_3e03q"),
|
||||
"close": SubResource("Animation_haspb"),
|
||||
"open": SubResource("Animation_pkxro")
|
||||
}
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_oood3"]
|
||||
size = Vector3(19.709, 15.8262, 9.0301)
|
||||
|
||||
[sub_resource type="NavigationMesh" id="NavigationMesh_8aw3d"]
|
||||
vertices = PackedVector3Array(-30.5914, -7.34298, -86.7674, -30.5914, -7.34298, 23.7326, 72.4086, -7.34298, 23.7326, 72.4086, -7.34298, -86.7674)
|
||||
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1)]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6yrih"]
|
||||
albedo_color = Color(0.300579, 0.462784, 0.249767, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_5m8am"]
|
||||
size = Vector3(526.157, 940.327, 500)
|
||||
|
||||
[node name="Money Gulag" type="Node3D" node_paths=PackedStringArray("player")]
|
||||
script = ExtResource("1_wmpql")
|
||||
map_name = "Money Gulag"
|
||||
gamemode = ExtResource("2_8jpxx")
|
||||
player = NodePath("Player")
|
||||
MAX_PARTICLES = 75
|
||||
expected_ammo = {
|
||||
"heavy": 25,
|
||||
"light": 500,
|
||||
"medium": 50,
|
||||
"rocket": 3,
|
||||
"shotgun": 20
|
||||
}
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("3_hv632")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.4194, 277.483, -34.6215)
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_klp4b")
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(-0.78152, -0.330606, 0.52908, 0, 0.848048, 0.529919, -0.62388, 0.414143, -0.662767, 0, 0, 0)
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="Level" type="Node3D" parent="." groups=["enemy_hivemind"]]
|
||||
script = ExtResource("4_mkn7b")
|
||||
room_lockdown = true
|
||||
number_of_drops = 30
|
||||
|
||||
[node name="Door" type="CSGBox3D" parent="Level" node_paths=PackedStringArray("anim_player")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.3852, 31.9616, -34.5929)
|
||||
use_collision = true
|
||||
size = Vector3(16.8439, 1, 8.61108)
|
||||
script = ExtResource("6_iut4h")
|
||||
anim_player = NodePath("AnimationPlayer")
|
||||
door_open_start = true
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Level/Door"]
|
||||
root_node = NodePath("../..")
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_s1qpx")
|
||||
}
|
||||
|
||||
[node name="spider" parent="Level" instance=ExtResource("5_wn5bn")]
|
||||
transform = Transform3D(0.999994, 0.00342084, 0, -0.00342084, 0.999994, 0, 0, 0, 1, 101.05, 50.6308, -157)
|
||||
|
||||
[node name="RoomCheck" type="Area3D" parent="Level"]
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
script = ExtResource("7_yboyj")
|
||||
one_way = true
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Level/RoomCheck"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.9144, 29.7998, -34.0515)
|
||||
shape = SubResource("BoxShape3D_oood3")
|
||||
|
||||
[node name="cannon" parent="Level" instance=ExtResource("8_68hxt")]
|
||||
transform = Transform3D(0.49977, 0.00414613, 0.0145821, -0.0046309, 0.499702, 0.0166345, -0.0144355, -0.0167618, 0.499511, 28.6818, -6.34683, -15.7215)
|
||||
CANNON_MIN_POWER = 30
|
||||
CANNON_MAX_POWER = 50
|
||||
TIMER_MAX = 1.0
|
||||
|
||||
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
|
||||
navigation_mesh = SubResource("NavigationMesh_8aw3d")
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.8833, -11.1222, -31.4793)
|
||||
material_override = ExtResource("8_i8beu")
|
||||
use_collision = true
|
||||
collision_layer = 7
|
||||
collision_mask = 7
|
||||
size = Vector3(103.949, 6.94156, 111.576)
|
||||
material = SubResource("StandardMaterial3D_6yrih")
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.62976, 0)
|
||||
use_collision = true
|
||||
|
||||
[node name="pistol1_pickup" parent="." instance=ExtResource("11_nal6h")]
|
||||
transform = Transform3D(0.649528, -0.760338, 0, 0.760338, 0.649528, 0, 0, 0, 1, -24.7534, 1.09587, 5.88603)
|
||||
|
||||
[node name="rocketlauncher1_pickup" parent="." instance=ExtResource("12_8pry8")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25, 1, 8)
|
||||
|
||||
[node name="mac10_pickup" parent="." instance=ExtResource("13_v8dy2")]
|
||||
transform = Transform3D(0.866025, -0.5, 0, 0.5, 0.866025, 0, 0, 0, 1, -28, 1, 10)
|
||||
|
||||
[node name="LadderCollisionCheck" parent="." instance=ExtResource("15_6nl6d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.7187, -0.500688, -37.3549)
|
||||
|
||||
[node name="PostProcessing" parent="." instance=ExtResource("17_d1nrm")]
|
||||
|
||||
[node name="JumpPlatform" parent="." instance=ExtResource("18_ibidd")]
|
||||
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -16.9937, -0.170557, 23.9329)
|
||||
jump_amount = 15
|
||||
|
||||
[node name="JumpPlatform2" parent="." instance=ExtResource("18_ibidd")]
|
||||
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -17.0593, 20.0922, 27.614)
|
||||
|
||||
[node name="rocketlauncher1_pickup2" parent="." instance=ExtResource("12_8pry8")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.4992, 43.6565, 24.947)
|
||||
|
||||
[node name="Stats" parent="." instance=ExtResource("19_eye22")]
|
||||
transform = Transform3D(-0.98212, 0, 0.188255, 0, 1, 0, -0.188255, 0, -0.98212, 21.9998, -6.93515, -25.9657)
|
||||
|
||||
[node name="machete_pickup" parent="." instance=ExtResource("20_3482g")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19.5087, 0.327792, -29.9239)
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.2103, 410.907, -39.074)
|
||||
material_override = ExtResource("21_41y65")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 760.743, 6.07715)
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.1646, 406.656, -27.5644)
|
||||
material_override = ExtResource("21_41y65")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 769.246, 6.07715)
|
||||
|
||||
[node name="CSGBox3D4" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(0.00661471, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661471, 17.116, 402.696, -36.2374)
|
||||
material_override = ExtResource("21_41y65")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 756.867, 6.07715)
|
||||
|
||||
[node name="CSGBox3D5" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(0.00661471, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661471, 35.6991, 405.739, -33.0713)
|
||||
material_override = ExtResource("21_41y65")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 771.124, 6.07715)
|
||||
|
||||
[node name="CSGBox3D6" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(0.00661471, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661471, 28.7459, 791.677, -33.1393)
|
||||
material_override = ExtResource("21_41y65")
|
||||
use_collision = true
|
||||
size = Vector3(18.9743, 2.36012, 19.9824)
|
||||
|
||||
[node name="JumpPlatform3" parent="." instance=ExtResource("18_ibidd")]
|
||||
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 27.2325, -7.8068, -32.4933)
|
||||
jump_amount = 100
|
||||
|
||||
[node name="Scene Changer" parent="." instance=ExtResource("22_e6msx")]
|
||||
transform = Transform3D(15.1486, 0, 0, 0, 405.877, 0, 0, 0, 9.59561, 29.1358, 544.113, -33.0379)
|
||||
scene_path = "res://scenes/HUBWORLD.tscn"
|
||||
|
||||
[node name="BOUNDS" type="Area3D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
script = ExtResource("23_eo3iq")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BOUNDS"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.0786, 327.699, -39.4503)
|
||||
shape = SubResource("BoxShape3D_5m8am")
|
||||
|
||||
[connection signal="body_exited" from="BOUNDS" to="BOUNDS" method="_on_body_exited"]
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://jdwpc622vmok"]
|
||||
[gd_scene load_steps=16 format=3 uid="uid://jdwpc622vmok"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_1bnbi"]
|
||||
[ext_resource type="Resource" uid="uid://bxcxqt7rmfvdw" path="res://GameModes/hubworld.tres" id="2_62iy8"]
|
||||
@@ -6,8 +6,12 @@
|
||||
[ext_resource type="PackedScene" uid="uid://drwae3loscbw7" path="res://assets/player.tscn" id="4_04o4y"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgapcuvg0gtmm" path="res://assets/scene_changer.tscn" id="5_alya6"]
|
||||
[ext_resource type="PackedScene" uid="uid://bessq6hl7qsh8" path="res://assets/stats.tscn" id="6_mkn70"]
|
||||
[ext_resource type="Resource" uid="uid://dn3t7wcoumlm3" path="res://GameModes/standard.tres" id="6_t16kj"]
|
||||
[ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="7_2h1ea"]
|
||||
[ext_resource type="Resource" uid="uid://llsqx2cby5in" path="res://GameModes/Arena of Money.tres" id="7_j0hxr"]
|
||||
[ext_resource type="PackedScene" uid="uid://bvjrsc86n2ak0" path="res://assets/deposit_money.tscn" id="8_n0nhe"]
|
||||
[ext_resource type="PackedScene" uid="uid://c6bpysq1tjhy4" path="res://vendingmahcine.tscn" id="9_nu6q5"]
|
||||
[ext_resource type="PackedScene" uid="uid://eujx0yilqqcp" path="res://assets/level_sign.tscn" id="11_p3sg0"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_s7e4t"]
|
||||
sky_top_color = Color(0.623488, 0.812575, 0.900791, 1)
|
||||
@@ -38,9 +42,10 @@ transform = Transform3D(-0.78152, -0.330606, 0.52908, 0, 0.848048, 0.529919, -0.
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -46.5149, 0)
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(20, 0.113, 20)
|
||||
size = Vector3(20, 93.1305, 20)
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.9745, -373.706, -11.5779)
|
||||
@@ -72,12 +77,90 @@ material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(18.9743, 2.36012, 19.9824)
|
||||
|
||||
[node name="TUBE" type="Node3D" parent="."]
|
||||
transform = Transform3D(-1, 0, -6.99013e-05, 0, 1, 0, 6.99013e-05, 0, -1, -19.2027, -373.706, 4.67214)
|
||||
|
||||
[node name="CSGBox3D7" type="CSGBox3D" parent="TUBE"]
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 760.743, 6.07715)
|
||||
|
||||
[node name="CSGBox3D8" type="CSGBox3D" parent="TUBE"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0456009, -4.25201, 11.5096)
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 769.246, 6.07715)
|
||||
|
||||
[node name="CSGBox3D9" type="CSGBox3D" parent="TUBE"]
|
||||
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, -11.0942, -6.68951, 2.83656)
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 759.912, 6.07715)
|
||||
|
||||
[node name="CSGBox3D10" type="CSGBox3D" parent="TUBE"]
|
||||
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, 7.4889, -5.168, 6.00268)
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 771.124, 6.07715)
|
||||
|
||||
[node name="CSGBox3D11" type="CSGBox3D" parent="TUBE"]
|
||||
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, 0.549826, 380.825, 6.01347)
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(18.9743, 2.36012, 19.9824)
|
||||
|
||||
[node name="TUBE2" type="Node3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 5.32591, -373.706, 23.0831)
|
||||
|
||||
[node name="CSGBox3D7" type="CSGBox3D" parent="TUBE2"]
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 760.743, 6.07715)
|
||||
|
||||
[node name="CSGBox3D8" type="CSGBox3D" parent="TUBE2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0456009, -4.25201, 11.5096)
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 769.246, 6.07715)
|
||||
|
||||
[node name="CSGBox3D9" type="CSGBox3D" parent="TUBE2"]
|
||||
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, -11.0942, -6.68951, 2.83656)
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 759.912, 6.07715)
|
||||
|
||||
[node name="CSGBox3D10" type="CSGBox3D" parent="TUBE2"]
|
||||
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, 7.4889, -5.168, 6.00268)
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(21.6041, 771.124, 6.07715)
|
||||
|
||||
[node name="CSGBox3D11" type="CSGBox3D" parent="TUBE2"]
|
||||
transform = Transform3D(0.00661477, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661477, 0.549826, 380.825, 6.01347)
|
||||
material_override = ExtResource("3_hlejc")
|
||||
use_collision = true
|
||||
size = Vector3(18.9743, 2.36012, 19.9824)
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("4_04o4y")]
|
||||
transform = Transform3D(1, 0.000164476, 0.000583754, -0.000165075, 0.999999, 0.00104027, -0.000583585, -0.00104036, 0.999999, 0.818877, 1.17009, 3.09268)
|
||||
|
||||
[node name="Scene Changer" parent="." instance=ExtResource("5_alya6")]
|
||||
[node name="EnemyWorkingScene" parent="." instance=ExtResource("5_alya6")]
|
||||
transform = Transform3D(22.6681, 0, 0, 0, 3.41912, 0, 0, 0, 6.68795, 16.4442, -57.3609, -5.67549)
|
||||
scene_path = "res://scenes/enemy_working_scene.tscn"
|
||||
scene_name = "Enemy Working Scene"
|
||||
gamemode = ExtResource("6_t16kj")
|
||||
|
||||
[node name="Blockout2" parent="." instance=ExtResource("5_alya6")]
|
||||
transform = Transform3D(0.100323, 0, 16.2141, 0, 30.4856, 0, -22.8099, 0, 0.0713132, -17.949, -57.3609, -2.74808)
|
||||
scene_path = "res://assets/blockout_2.tscn"
|
||||
scene_name = "Blockout 2"
|
||||
gamemode = ExtResource("6_t16kj")
|
||||
|
||||
[node name="Gulag of Money" parent="." instance=ExtResource("5_alya6")]
|
||||
transform = Transform3D(22.8101, 0, 0, 0, 30.4856, 0, 0, 0, 16.2143, -0.602371, -57.3609, 24.0114)
|
||||
scene_path = "res://scenes/Arena of Money.tscn"
|
||||
scene_name = "The Gulag"
|
||||
gamemode = ExtResource("7_j0hxr")
|
||||
|
||||
[node name="Stats" parent="." instance=ExtResource("6_mkn70")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.212402, 1.9891, -6.02898)
|
||||
@@ -87,3 +170,23 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.84741, 0.0564995, -2.31308
|
||||
|
||||
[node name="DEPOSIT MONEY" parent="." instance=ExtResource("8_n0nhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.24039, 0.888024, -4.81185)
|
||||
|
||||
[node name="vendingmachine" parent="." instance=ExtResource("9_nu6q5")]
|
||||
transform = Transform3D(0.0422244, 0, -0.999108, 0, 1, 0, 0.999108, 0, 0.0422244, 7.83236, 0.0565004, 1.69127)
|
||||
is_pickup = true
|
||||
pickup_amount = 20
|
||||
item_name = "ammo"
|
||||
item_price = 25
|
||||
number_uses = 15
|
||||
|
||||
[node name="Level Sign" parent="." node_paths=PackedStringArray("portal_node") instance=ExtResource("11_p3sg0")]
|
||||
transform = Transform3D(0.738985, 0, -0.673722, 0, 1, 0, 0.673722, 0, 0.738985, 7.37127, 1.19867, -9.17978)
|
||||
portal_node = NodePath("../EnemyWorkingScene")
|
||||
|
||||
[node name="Level Sign2" parent="." node_paths=PackedStringArray("portal_node") instance=ExtResource("11_p3sg0")]
|
||||
transform = Transform3D(-0.529904, 0, 0.848057, 0, 1, 0, -0.848057, 0, -0.529904, -7.68211, 1.19868, 2.00196)
|
||||
portal_node = NodePath("../Blockout2")
|
||||
|
||||
[node name="Level Sign3" parent="." node_paths=PackedStringArray("portal_node") instance=ExtResource("11_p3sg0")]
|
||||
transform = Transform3D(-0.899916, 0, -0.436063, 0, 1, 0, 0.436063, 0, -0.899916, 2.88079, 1.19868, 10.7051)
|
||||
portal_node = NodePath("../Gulag of Money")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=35 format=3 uid="uid://dsnddbrlqkav2"]
|
||||
[gd_scene load_steps=33 format=3 uid="uid://dsnddbrlqkav2"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_laua1"]
|
||||
[ext_resource type="Resource" uid="uid://dn3t7wcoumlm3" path="res://GameModes/standard.tres" id="2_2umal"]
|
||||
@@ -22,7 +22,6 @@
|
||||
[ext_resource type="PackedScene" uid="uid://hp4xn8oqdxnd" path="res://assets/machete_pickup.tscn" id="18_jev3u"]
|
||||
[ext_resource type="Material" uid="uid://b6hhomp4kcjvb" path="res://assets/materials/prototype/tadaoando.tres" id="19_e7xg4"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgapcuvg0gtmm" path="res://assets/scene_changer.tscn" id="20_j4ook"]
|
||||
[ext_resource type="Script" path="res://scripts/level_bounds.gd" id="21_uhac2"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_w6vpl"]
|
||||
sky_top_color = Color(0.623488, 0.812575, 0.900791, 1)
|
||||
@@ -88,9 +87,6 @@ polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Arr
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6yrih"]
|
||||
albedo_color = Color(0.300579, 0.462784, 0.249767, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_5m8am"]
|
||||
size = Vector3(526.157, 900.916, 500)
|
||||
|
||||
[node name="EnemyWork" type="Node3D" node_paths=PackedStringArray("player")]
|
||||
script = ExtResource("1_laua1")
|
||||
map_name = "Wall Runnin"
|
||||
@@ -526,14 +522,3 @@ jump_amount = 100
|
||||
[node name="Scene Changer" parent="." instance=ExtResource("20_j4ook")]
|
||||
transform = Transform3D(15.1486, 0, 0, 0, 405.877, 0, 0, 0, 9.59561, 29.1358, 544.113, -33.0379)
|
||||
scene_path = "res://scenes/HUBWORLD.tscn"
|
||||
|
||||
[node name="BOUNDS" type="Area3D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
script = ExtResource("21_uhac2")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BOUNDS"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.0786, 347.404, -39.4503)
|
||||
shape = SubResource("BoxShape3D_5m8am")
|
||||
|
||||
[connection signal="body_exited" from="BOUNDS" to="BOUNDS" method="_on_body_exited"]
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
[gd_scene load_steps=124 format=4 uid="uid://dyop6vk3rgkkb"]
|
||||
[gd_scene load_steps=121 format=4 uid="uid://dyop6vk3rgkkb"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_orhgl"]
|
||||
[ext_resource type="Texture2D" uid="uid://dqs06ic3vjtwk" path="res://assets/Models/asphalt1.albedo.jpg" id="1_w4rag"]
|
||||
[ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="2_6rjit"]
|
||||
[ext_resource type="PackedScene" uid="uid://drwae3loscbw7" path="res://assets/player.tscn" id="2_f87c2"]
|
||||
[ext_resource type="PackedScene" uid="uid://2o2wcc5i1al4" path="res://assets/rocket_launcher.tscn" id="3_umpon"]
|
||||
[ext_resource type="PackedScene" uid="uid://20csd6dmwj4y" path="res://assets/jump_platform.tscn" id="4_8nxyr"]
|
||||
[ext_resource type="PackedScene" uid="uid://dws2vwfxubqvb" path="res://assets/cannon.tscn" id="5_28rul"]
|
||||
[ext_resource type="Texture2D" uid="uid://bu3w5slec6gib" path="res://assets/Models/brick1.png" id="6_e1oan"]
|
||||
@@ -43,7 +41,6 @@
|
||||
[ext_resource type="PackedScene" uid="uid://d4suhr3allsj" path="res://assets/revolver2_pickup.tscn" id="42_2cdbd"]
|
||||
[ext_resource type="PackedScene" uid="uid://dws4iro7820fc" path="res://assets/pistol1_pickup.tscn" id="42_mmvms"]
|
||||
[ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="43_82hec"]
|
||||
[ext_resource type="PackedScene" uid="uid://ba77auqukaag" path="res://assets/houston_downtown.tscn" id="44_xigrv"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_nb6x7"]
|
||||
sky_top_color = Color(0.500562, 0.697334, 0.809889, 1)
|
||||
@@ -1165,12 +1162,7 @@ _data = {
|
||||
|
||||
[node name="Test Level 2" type="Node3D" node_paths=PackedStringArray("player")]
|
||||
script = ExtResource("1_orhgl")
|
||||
load_save = false
|
||||
player = NodePath("Player")
|
||||
start_health = 10
|
||||
gun_1 = ExtResource("2_6rjit")
|
||||
gun_2 = ExtResource("3_umpon")
|
||||
health_drop_enabled = false
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("2_f87c2")]
|
||||
transform = Transform3D(-0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, -16.0295, 1.4435, 12.1166)
|
||||
@@ -1610,6 +1602,3 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.93409, 5.69926, 1.22332)
|
||||
|
||||
[node name="PostProcessing" parent="." instance=ExtResource("43_82hec")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.35692, 7.15345, 5.33085)
|
||||
|
||||
[node name="HoustonDowntown" parent="." instance=ExtResource("44_xigrv")]
|
||||
transform = Transform3D(0.82101, 0, 0.570914, 0, 1, 0, -0.570914, 0, 0.82101, -276.08, -12.1342, -44.1584)
|
||||
|
||||
@@ -7,7 +7,6 @@ class_name map
|
||||
@export var MAX_PARTICLES = 100
|
||||
@export_group("Drops")
|
||||
@export var drop_chance_minimum = .1
|
||||
@export var ammo_drop_enabled = true
|
||||
@export var expected_ammo = {"light" : 200, "medium" : 50, "heavy" : 25,"shotgun" : 20, "rocket" : 3} #light, medium,heavy,shotgun,rocket
|
||||
@export var stamina_drop_enabled = true
|
||||
@export var money_drop_enabled = true
|
||||
@@ -198,13 +197,13 @@ func pickup_spawn(randomized):
|
||||
else:
|
||||
money_weight = 0
|
||||
var ammo_weight
|
||||
if ammo_drop_enabled:
|
||||
if gamemode.ammo_drop_enabled:
|
||||
ammo_weight = drop_chance_minimum
|
||||
else: ammo_weight = 0
|
||||
var ammo_type_weight = {}
|
||||
|
||||
# weight ammo player owns against expected ammo values
|
||||
if ammo_drop_enabled:
|
||||
if gamemode.ammo_drop_enabled:
|
||||
for i in GameGlobals.ammo_reserve.keys():
|
||||
var i_weight
|
||||
match int(i):
|
||||
|
||||
@@ -74,17 +74,17 @@ func _process(_delta):
|
||||
|
||||
|
||||
func reload_finished():
|
||||
if player.ammo_reserve[str(ammo_type)] >= max_ammo:
|
||||
player.gun_ammo[gun_name] += max_ammo
|
||||
player.ammo_reserve[str(ammo_type)] -= max_ammo
|
||||
if GameGlobals.ammo_reserve[str(ammo_type)] >= max_ammo:
|
||||
GameGlobals.gun_ammo[gun_name] += max_ammo
|
||||
GameGlobals.ammo_reserve[str(ammo_type)] -= max_ammo
|
||||
|
||||
else:
|
||||
player.gun_ammo[gun_name] += player.ammo_reserve[str(ammo_type)]
|
||||
player.ammo_reserve[str(ammo_type)] -= player.ammo_reserve[str(ammo_type)]
|
||||
GameGlobals.gun_ammo[gun_name] += GameGlobals.ammo_reserve[str(ammo_type)]
|
||||
GameGlobals.ammo_reserve[str(ammo_type)] -= GameGlobals.ammo_reserve[str(ammo_type)]
|
||||
|
||||
|
||||
func shoot(delta):
|
||||
if player.gun_ammo[gun_name] > 0:
|
||||
if GameGlobals.gun_ammo[gun_name] > 0:
|
||||
if !anim_player.is_playing():
|
||||
anim_player.play("shoot")
|
||||
elif !anim_player.is_playing() and cycle_count != 0:
|
||||
@@ -92,7 +92,7 @@ func shoot(delta):
|
||||
audio_empty.play()
|
||||
|
||||
func fire():
|
||||
player.gun_ammo[gun_name] -= 1
|
||||
GameGlobals.gun_ammo[gun_name] -= 1
|
||||
audio_fire.pitch_scale = 1 + rng.randf_range(-fire_pitch_scale_amt,fire_pitch_scale_amt)
|
||||
audio_fire.play()
|
||||
pellet_spawn()
|
||||
@@ -106,15 +106,15 @@ func fire():
|
||||
SignalBus.emit_signal("shot_fired")
|
||||
|
||||
func reload():
|
||||
if player.gun_ammo[gun_name] < max_ammo and player.gun.anim_player.get_current_animation() != "reload" and player.ammo_reserve[str(ammo_type)] > 0:
|
||||
if GameGlobals.gun_ammo[gun_name] < max_ammo and player.gun.anim_player.get_current_animation() != "reload" and GameGlobals.ammo_reserve[str(ammo_type)] > 0:
|
||||
#player.reloading = true
|
||||
anim_player.play("reload")
|
||||
audio_reload.play()
|
||||
if anim_player.is_playing() and anim_player.current_animation == "reload":
|
||||
if player.gun_ammo[gun_name] == 0:
|
||||
player.gun_ammo[gun_name] = 0
|
||||
if GameGlobals.gun_ammo[gun_name] == 0:
|
||||
GameGlobals.gun_ammo[gun_name] = 0
|
||||
else:
|
||||
player.gun_ammo[gun_name] = 1
|
||||
GameGlobals.gun_ammo[gun_name] = 1
|
||||
|
||||
func pellet_spawn():
|
||||
var pellets_remaining = pellets_per_shot
|
||||
|
||||
@@ -5,7 +5,6 @@ extends Node3D
|
||||
@export var TIMER_MIN = 0.0
|
||||
@export var TIMER_MAX = 20.0
|
||||
|
||||
@onready var item_pickup = preload("res://assets/item_pickup.tscn")
|
||||
@onready var timer = $Timer
|
||||
@onready var cannonparticles = $cannonparticles
|
||||
@onready var cannon_dir = $RayCast3D
|
||||
@@ -14,7 +13,6 @@ extends Node3D
|
||||
|
||||
var fire = true
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
@@ -33,7 +31,7 @@ func _on_timer_timeout():
|
||||
timer.wait_time = rand_timer #rand_timer
|
||||
|
||||
# Shoot that shit
|
||||
var pickup_spawn = item_pickup.instantiate()
|
||||
var pickup_spawn = level_control.item_pickup.instantiate()
|
||||
var item_stats = level_control.pickup_spawn(false)
|
||||
##SET VARIABLES
|
||||
pickup_spawn.pickup_type = item_stats["pickup_type"]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
extends StaticBody3D
|
||||
|
||||
@onready var amount: Label3D = $Amount
|
||||
@onready var currently_held_money: Label3D = $"Currently Held Money"
|
||||
@onready var deposited: Label3D = $Deposited
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
@@ -9,7 +10,8 @@ func _ready() -> void:
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
currently_held_money.text = "cash on hand: $" + str(int(GameGlobals.money))
|
||||
deposited.text = "deposited: $" + str(GameGlobals.deposited_money)
|
||||
|
||||
func interact():
|
||||
SignalBus.emit_signal("money_deposited")
|
||||
|
||||
@@ -2,6 +2,7 @@ extends Node
|
||||
|
||||
var game_loaded = false
|
||||
var high_score : int = 0
|
||||
var deposited_money
|
||||
var money : int = 0
|
||||
var health
|
||||
var held_guns = []
|
||||
@@ -13,18 +14,16 @@ func _ready() -> void:
|
||||
SignalBus.money_deposited.connect(deposit_money)
|
||||
|
||||
func deposit_money():
|
||||
if money > high_score:
|
||||
high_score = money
|
||||
deposited_money = money
|
||||
if deposited_money > high_score:
|
||||
high_score = deposited_money
|
||||
|
||||
func money_penalty():
|
||||
var level_control = get_tree().current_scene
|
||||
|
||||
#Save High Scores
|
||||
if money >= high_score:
|
||||
high_score = money
|
||||
|
||||
#Do money penalty
|
||||
money = money * level_control.gamemode.money_lost_multiplier
|
||||
deposited_money = money
|
||||
|
||||
func weapon_penalty():
|
||||
var level_control = get_tree().current_scene
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
@tool
|
||||
extends Node3D
|
||||
|
||||
@export var portal_node : Node
|
||||
|
||||
@onready var level_name: Label3D = $"Level Name"
|
||||
@onready var gamemode_label: Label3D = $Gamemode
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
level_name.text = portal_node.scene_name
|
||||
gamemode_label.text = portal_node.gamemode.gamemode_name
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
|
||||
@@ -105,9 +105,9 @@ func _process(delta):
|
||||
|
||||
func reload_finished():
|
||||
#if max ammo in reserve fill all the way
|
||||
if player.ammo_reserve[str(ammo_type)] >= max_ammo:
|
||||
player.gun_ammo[gun_name] += max_ammo
|
||||
player.ammo_reserve[str(ammo_type)] -= max_ammo
|
||||
if GameGlobals.ammo_reserve[str(ammo_type)] >= max_ammo:
|
||||
GameGlobals.gun_ammo[gun_name] += max_ammo
|
||||
GameGlobals.ammo_reserve[str(ammo_type)] -= max_ammo
|
||||
casings_chamber_last = max_ammo
|
||||
for i in casing_array:
|
||||
i.visible = true
|
||||
@@ -116,10 +116,10 @@ func reload_finished():
|
||||
player.reloading = false
|
||||
#if not max ammo in reserve add remaining ammo
|
||||
else:
|
||||
player.gun_ammo[gun_name] += player.ammo_reserve[str(ammo_type)]
|
||||
var casings_in_chamber = player.ammo_reserve[str(ammo_type)]
|
||||
casings_chamber_last = player.ammo_reserve[str(ammo_type)]
|
||||
player.ammo_reserve[str(ammo_type)] -= player.ammo_reserve[str(ammo_type)]
|
||||
GameGlobals.gun_ammo[gun_name] += GameGlobals.ammo_reserve[str(ammo_type)]
|
||||
var casings_in_chamber = GameGlobals.ammo_reserve[str(ammo_type)]
|
||||
casings_chamber_last = GameGlobals.ammo_reserve[str(ammo_type)]
|
||||
GameGlobals.ammo_reserve[str(ammo_type)] -= GameGlobals.ammo_reserve[str(ammo_type)]
|
||||
|
||||
while casings_in_chamber > 0:
|
||||
casing_array[casings_in_chamber].visible = true
|
||||
@@ -129,9 +129,9 @@ func reload_finished():
|
||||
player.reloading = false
|
||||
|
||||
func shoot(delta):
|
||||
if player.gun_ammo[gun_name] > 0 and cycle_count > 0:
|
||||
if GameGlobals.gun_ammo[gun_name] > 0 and cycle_count > 0:
|
||||
if !anim_player.is_playing():
|
||||
player.gun_ammo[gun_name] -= 1
|
||||
GameGlobals.gun_ammo[gun_name] -= 1
|
||||
audio_fire.pitch_scale = 1 + rng.randf_range(-fire_pitch_scale_amt,fire_pitch_scale_amt)
|
||||
audio_fire.play()
|
||||
anim_player.play("shoot") #actual bullet spawn triggered by animation
|
||||
@@ -166,13 +166,13 @@ func fire(delta):
|
||||
Input.start_joy_vibration(0,.5,.9,.2)
|
||||
|
||||
func reload():
|
||||
if player.gun_ammo[gun_name] < max_ammo and player.gun.anim_player.get_current_animation() != "reload" and player.ammo_reserve[str(ammo_type)] > 0:
|
||||
if GameGlobals.gun_ammo[gun_name] < max_ammo and player.gun.anim_player.get_current_animation() != "reload" and GameGlobals.ammo_reserve[str(ammo_type)] > 0:
|
||||
anim_player.play("reload")
|
||||
audio_reload.play()
|
||||
for i in bullet_array:
|
||||
i.visible = false
|
||||
if anim_player.is_playing() and anim_player.current_animation == "reload":
|
||||
player.gun_ammo[gun_name] = 0
|
||||
GameGlobals.gun_ammo[gun_name] = 0
|
||||
|
||||
func spawn_casings():
|
||||
for i in casing_array:
|
||||
|
||||
@@ -19,10 +19,10 @@ func _process(delta: float) -> void:
|
||||
|
||||
func _on_body_entered(body: Node3D) -> void:
|
||||
if active:
|
||||
SignalBus.emit_signal("player_exiting_tree")
|
||||
if get_tree().current_scene.gamemode.load_save == true:
|
||||
SaveLoad.save_game_data(get_tree().current_scene.get_name())
|
||||
SaveLoad.save_persistent_data()
|
||||
SignalBus.emit_signal("player_exiting_tree")
|
||||
get_tree().change_scene_to_file(scene_path)
|
||||
|
||||
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
extends Node3D
|
||||
|
||||
@export var item : Resource
|
||||
@export var is_pickup : bool = false
|
||||
@export var is_random : bool = false
|
||||
@export_enum("Ammo", "Stamina", "Health", "Money","Weapon") var pickup_type: int
|
||||
@export var pickup_amount : int
|
||||
@export var item_name : String
|
||||
@export var item_price : int
|
||||
@export var number_uses = 1
|
||||
@onready var anim_player = $AnimationPlayer
|
||||
@onready var vend_ray = $VendRay
|
||||
@onready var price_label = $Price
|
||||
@onready var item_label: Label3D = $Item
|
||||
@onready var item_label: Label3D = $"Item"
|
||||
@onready var level_control = get_tree().current_scene
|
||||
|
||||
var active = true
|
||||
@@ -33,7 +37,21 @@ func interact():
|
||||
price_label.text = original_text
|
||||
|
||||
func vend():
|
||||
var item_vend = item.instantiate()
|
||||
var item_vend
|
||||
if is_pickup:
|
||||
item_vend = level_control.item_pickup.instantiate()
|
||||
var item_stats
|
||||
item_stats = level_control.pickup_spawn(is_random)
|
||||
##SET VARIABLES
|
||||
item_vend.pickup_type = pickup_type
|
||||
if level_control.player.gun != null:
|
||||
item_vend.ammo_type = level_control.player.gun.ammo_type
|
||||
else:
|
||||
item_vend.ammo_type = item_stats["ammo_type"]
|
||||
item_vend.value = pickup_amount
|
||||
print("ITEM : ",item_vend.pickup_type,item_vend.ammo_type,item_vend.value)
|
||||
else:
|
||||
item_vend = item.instantiate()
|
||||
item_vend.position = vend_ray.global_position
|
||||
item_vend.transform.basis = vend_ray.global_transform.basis
|
||||
item_vend.linear_velocity += vend_ray.global_transform.basis * Vector3(0,0,3)
|
||||
@@ -41,6 +59,7 @@ func vend():
|
||||
active = false
|
||||
price_label.text = "offline"
|
||||
get_parent().add_child(item_vend)
|
||||
price_label.text = str("$",item_price)
|
||||
|
||||
func save():
|
||||
var save_dict = {
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user