feat: integrate ChaffGames FPS template as local player controller
Replaces the overhead box-mesh view with a full FPS character: - mouse look, WASD movement, jump (Space), crouch (C), sprint (Shift), lean (Q/E) - 6 weapons (LMB shoot, R reload, scroll switch, F melee, G drop) - Crosshair HUD, ammo counter, sprint bar - Client sends position to server at 20Hz for multiplayer visibility - Server broadcasts positions to all peers - Remote players shown as boxes (placeholder) source: https://godotengine.org/asset-library/asset/2652 (MIT license)
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
[gd_resource type="Resource" script_class="WeaponResource" load_steps=3 format=3 uid="uid://ckwagka0u7opy"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ca7h24lxxrtvx" path="res://client/template/scripts/Weapon_State_Machine/weapon_resource.gd" id="1_2o2yi"]
|
||||
[ext_resource type="PackedScene" uid="uid://6rfh1ejt4m6m" path="res://client/template/Spawnable_Objects/Projectiles_To_Load/melee_projectile.tscn" id="1_pf8fu"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_2o2yi")
|
||||
weapon_name = "MeleeWeapon"
|
||||
pick_up_animation = "blasterP_activate"
|
||||
shoot_animation = "blasterP_strike"
|
||||
reload_animation = ""
|
||||
change_animation = "blasterP_deactivate"
|
||||
drop_animation = ""
|
||||
out_of_ammo_animation = ""
|
||||
melee_animation = "blasterP_strike"
|
||||
has_ammo = false
|
||||
magazine = 0
|
||||
max_ammo = 0
|
||||
damage = 2
|
||||
melee_damage = 1.0
|
||||
auto_fire = true
|
||||
fire_range = 1
|
||||
can_be_dropped = false
|
||||
projectile_to_load = ExtResource("1_pf8fu")
|
||||
incremental_reload = false
|
||||
@@ -0,0 +1,27 @@
|
||||
[gd_resource type="Resource" script_class="WeaponResource" format=3 uid="uid://yc1f2j7pl4vr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ca7h24lxxrtvx" path="res://client/template/scripts/Weapon_State_Machine/weapon_resource.gd" id="1_jgxyc"]
|
||||
[ext_resource type="PackedScene" uid="uid://dc48o4niy1mok" path="res://client/template/Spawnable_Objects/Projectiles_To_Load/basic_hitscan_projectile.tscn" id="1_l4j8x"]
|
||||
[ext_resource type="PackedScene" uid="uid://cvbk5bxenpxey" path="res://client/template/Spawnable_Objects/Weapons/blaster_I.tscn" id="3_y2nwe"]
|
||||
[ext_resource type="PackedScene" uid="uid://ciu0xkaw0ioef" path="res://client/template/Spawnable_Objects/SprayProfiles/spray_profile_1.tscn" id="4_xc0or"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_jgxyc")
|
||||
weapon_name = "blasterI"
|
||||
pick_up_animation = "Global/blasterI Active"
|
||||
shoot_animation = "Global/blasterI Shoot"
|
||||
reload_animation = "Global/blasterI Reload"
|
||||
change_animation = "Global/blasterI De-Activate"
|
||||
drop_animation = "Global/blasterI Drop"
|
||||
out_of_ammo_animation = "Global/blasterI OOA"
|
||||
melee_animation = "Global/blasterI Melee"
|
||||
magazine = 30
|
||||
max_ammo = 60
|
||||
damage = 10
|
||||
melee_damage = 1.0
|
||||
auto_fire = true
|
||||
fire_range = 100
|
||||
can_be_dropped = true
|
||||
weapon_drop = ExtResource("3_y2nwe")
|
||||
weapon_spray = ExtResource("4_xc0or")
|
||||
projectile_to_load = ExtResource("1_l4j8x")
|
||||
@@ -0,0 +1,29 @@
|
||||
[gd_resource type="Resource" script_class="WeaponResource" load_steps=5 format=3 uid="uid://bwrs8ensewkgc"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bpxa3je174q43" path="res://client/template/Spawnable_Objects/Projectiles_To_Load/basic_rigid_body_projectile.tscn" id="1_1tllq"]
|
||||
[ext_resource type="Script" uid="uid://ca7h24lxxrtvx" path="res://client/template/scripts/Weapon_State_Machine/weapon_resource.gd" id="2_gpxoe"]
|
||||
[ext_resource type="PackedScene" uid="uid://gtthejj2wmyj" path="res://client/template/Spawnable_Objects/Weapons/blaster_n.tscn" id="3_5a5l8"]
|
||||
[ext_resource type="PackedScene" uid="uid://3mb12hvruajh" path="res://client/template/Spawnable_Objects/SprayProfiles/spray_profile_2.tscn" id="4_p50xh"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_gpxoe")
|
||||
weapon_name = "blasterN"
|
||||
pick_up_animation = "Global/blasterL Activate"
|
||||
shoot_animation = "Global/blasterL Shoot"
|
||||
reload_animation = "Global/blasterL Reload"
|
||||
change_animation = "Global/blasterL De-Activate"
|
||||
drop_animation = "Global/blasterL Drop"
|
||||
out_of_ammo_animation = "Global/blasterL OOA"
|
||||
melee_animation = "Global/blasterL Melee"
|
||||
has_ammo = true
|
||||
magazine = 30
|
||||
max_ammo = 60
|
||||
damage = 1
|
||||
melee_damage = 1.0
|
||||
auto_fire = true
|
||||
fire_range = 100
|
||||
can_be_dropped = true
|
||||
weapon_drop = ExtResource("3_5a5l8")
|
||||
weapon_spray = ExtResource("4_p50xh")
|
||||
projectile_to_load = ExtResource("1_1tllq")
|
||||
incremental_reload = false
|
||||
@@ -0,0 +1,29 @@
|
||||
[gd_resource type="Resource" script_class="WeaponResource" load_steps=5 format=3 uid="uid://cd8msvjysh2uv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ca7h24lxxrtvx" path="res://client/template/scripts/Weapon_State_Machine/weapon_resource.gd" id="1_4ro7h"]
|
||||
[ext_resource type="PackedScene" uid="uid://brvfyahytwd8m" path="res://client/template/Spawnable_Objects/Projectiles_To_Load/shotgun_projectile.tscn" id="1_qi0jo"]
|
||||
[ext_resource type="PackedScene" uid="uid://x8nhs2cer2to" path="res://client/template/Spawnable_Objects/Weapons/blaster_m.tscn" id="3_5hojr"]
|
||||
[ext_resource type="PackedScene" uid="uid://ceuaamuau8pl8" path="res://client/template/Spawnable_Objects/SprayProfiles/spray_profile_3.tscn" id="4_5jfrh"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_4ro7h")
|
||||
weapon_name = "blasterM"
|
||||
pick_up_animation = "blasterM_activate"
|
||||
shoot_animation = "blasterM_Shoot"
|
||||
reload_animation = "blasterM_Reload"
|
||||
change_animation = "blasterM_Deactive"
|
||||
drop_animation = "blasterM_Drop"
|
||||
out_of_ammo_animation = "blasterM_OOA"
|
||||
melee_animation = "blasterM_Melee"
|
||||
has_ammo = true
|
||||
magazine = 9
|
||||
max_ammo = 36
|
||||
damage = 5
|
||||
melee_damage = 1.0
|
||||
auto_fire = true
|
||||
fire_range = 50
|
||||
can_be_dropped = true
|
||||
weapon_drop = ExtResource("3_5hojr")
|
||||
weapon_spray = ExtResource("4_5jfrh")
|
||||
projectile_to_load = ExtResource("1_qi0jo")
|
||||
incremental_reload = true
|
||||
@@ -0,0 +1,26 @@
|
||||
[gd_resource type="Resource" script_class="WeaponResource" format=3 uid="uid://c1jg0ifn7yvve"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ca7h24lxxrtvx" path="res://client/template/scripts/Weapon_State_Machine/weapon_resource.gd" id="1_oxrhl"]
|
||||
[ext_resource type="PackedScene" uid="uid://dc48o4niy1mok" path="res://client/template/Spawnable_Objects/Projectiles_To_Load/basic_hitscan_projectile.tscn" id="1_xr7bm"]
|
||||
[ext_resource type="PackedScene" uid="uid://gtthejj2wmyj" path="res://client/template/Spawnable_Objects/Weapons/blaster_n.tscn" id="3_c38hr"]
|
||||
[ext_resource type="PackedScene" uid="uid://3mb12hvruajh" path="res://client/template/Spawnable_Objects/SprayProfiles/spray_profile_2.tscn" id="4_rk8dx"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_oxrhl")
|
||||
weapon_name = "blaster_n"
|
||||
pick_up_animation = "Global/blasterN Active"
|
||||
shoot_animation = "Global/blasterN Shoot"
|
||||
reload_animation = "Global/blasterN Reload"
|
||||
change_animation = "Global/blasterN De-Activate"
|
||||
drop_animation = "Global/blasterN Drop"
|
||||
out_of_ammo_animation = "Global/blasterN OOA"
|
||||
melee_animation = "Global/blasterN Melee"
|
||||
magazine = 5
|
||||
max_ammo = 15
|
||||
damage = 1
|
||||
melee_damage = 1.0
|
||||
fire_range = 100
|
||||
can_be_dropped = true
|
||||
weapon_drop = ExtResource("3_c38hr")
|
||||
weapon_spray = ExtResource("4_rk8dx")
|
||||
projectile_to_load = ExtResource("1_xr7bm")
|
||||
@@ -0,0 +1,27 @@
|
||||
[gd_resource type="Resource" script_class="WeaponResource" load_steps=4 format=3 uid="uid://dgayjkjx4mckc"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ca7h24lxxrtvx" path="res://client/template/scripts/Weapon_State_Machine/weapon_resource.gd" id="1_321c1"]
|
||||
[ext_resource type="PackedScene" uid="uid://ddfiivxgnakti" path="res://client/template/Spawnable_Objects/Projectiles_To_Load/rocket_launcher_projectile.tscn" id="1_xi5nj"]
|
||||
[ext_resource type="PackedScene" uid="uid://dwgt7gwe3gfyy" path="res://client/template/Spawnable_Objects/Weapons/blasterQ.tscn" id="2_kih88"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_321c1")
|
||||
weapon_name = "blasterQ"
|
||||
pick_up_animation = "Global/blasterQ Active"
|
||||
shoot_animation = "Global/blasterQ Shoot"
|
||||
reload_animation = "Global/blasterQ Reload"
|
||||
change_animation = "Global/blasterQ Deactivate"
|
||||
drop_animation = "Global/blasterQ Drop"
|
||||
out_of_ammo_animation = "Global/blasterQ OOA"
|
||||
melee_animation = "Global/blasterQ Melee"
|
||||
has_ammo = true
|
||||
magazine = 2
|
||||
max_ammo = 6
|
||||
damage = 20
|
||||
melee_damage = 2.0
|
||||
auto_fire = false
|
||||
fire_range = 100
|
||||
can_be_dropped = true
|
||||
weapon_drop = ExtResource("2_kih88")
|
||||
projectile_to_load = ExtResource("1_xi5nj")
|
||||
incremental_reload = false
|
||||
Reference in New Issue
Block a user