mirror of
https://gitlab.com/open-fpsz/open-fpsz.git
synced 2026-07-12 06:55:18 +00:00
👽 interstellar delivery
This commit is contained in:
parent
547c97bfba
commit
97c8292858
257 changed files with 7309 additions and 4637 deletions
|
|
@ -1,36 +0,0 @@
|
|||
# This file is part of open-fpsz.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# 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 General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
class_name DeathmatchScoringComponent extends Node
|
||||
|
||||
@export var ON_KILL_SCORE : int = 10
|
||||
|
||||
# this is the node that contains all players, typically the one populated via MultiplayerSpawner
|
||||
@export var _players : Node
|
||||
@export var _scoreboard : Scoreboard
|
||||
|
||||
# only subscribe once per player, per match
|
||||
func subscribe_player(player : Player) -> void:
|
||||
player.died.connect(_on_player_died)
|
||||
|
||||
func unsubscribe_player(player : Player) -> void:
|
||||
player.died.disconnect(_on_player_died)
|
||||
|
||||
func _on_player_died(player : Player, killer_id : int) -> void:
|
||||
if player.match_participant.player_id != killer_id:
|
||||
var node_name : String = str(killer_id)
|
||||
if _players.has_node(node_name):
|
||||
var killer : Player = _players.get_node(node_name)
|
||||
_scoreboard.increment_kill_count(killer.match_participant)
|
||||
_scoreboard.add_score_to_player(killer.match_participant, 10)
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
# This file is part of open-fpsz.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# 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 General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
class_name RabbitScoringComponent extends Node
|
||||
|
||||
@export var ON_GRAB_SCORE : int = 10
|
||||
@export var ON_HOLD_SCORE : int = 10
|
||||
@export var HOLD_SCORING_TIMER : float = 10.0 # seconds
|
||||
|
||||
@export var _scoreboard : Scoreboard
|
||||
|
||||
var _flag_carrier_scoring_timer : Timer = Timer.new()
|
||||
var _team_chasers : Team
|
||||
var _team_rabbit : Team
|
||||
|
||||
func _ready() -> void:
|
||||
_flag_carrier_scoring_timer.wait_time = HOLD_SCORING_TIMER
|
||||
add_child(_flag_carrier_scoring_timer)
|
||||
_team_chasers = Team.new(0)
|
||||
_team_rabbit = Team.new(1)
|
||||
|
||||
# setup only once per match, per flag (tested only with one flag so far)
|
||||
func setup(flag : Flag) -> void:
|
||||
_flag_carrier_scoring_timer.timeout.connect(_on_flag_carrier_scoring_timer_timeout.bind(flag))
|
||||
flag.grabbed.connect(_on_flag_grabbed)
|
||||
flag.regrabbed.connect(_on_flag_regrabbed)
|
||||
flag.dropped.connect(_on_flag_dropped)
|
||||
|
||||
func _on_flag_grabbed(grabber : Player) -> void:
|
||||
grabber.match_participant.team_id = _team_rabbit.team_id
|
||||
_scoreboard.add_score_to_player(grabber.match_participant, ON_GRAB_SCORE)
|
||||
_flag_carrier_scoring_timer.start()
|
||||
|
||||
func _on_flag_regrabbed(grabber : Player) -> void:
|
||||
grabber.match_participant.team_id = _team_rabbit.team_id
|
||||
|
||||
func _on_flag_dropped(dropper : Player) -> void:
|
||||
dropper.match_participant.team_id = _team_chasers.team_id
|
||||
_flag_carrier_scoring_timer.stop()
|
||||
|
||||
func _on_flag_carrier_scoring_timer_timeout(flag : Flag) -> void:
|
||||
_scoreboard.add_score_to_player(flag.last_carrier.match_participant, ON_HOLD_SCORE)
|
||||
BIN
maps/desert/assets/boundaries.glb
Normal file
BIN
maps/desert/assets/boundaries.glb
Normal file
Binary file not shown.
42
maps/desert/assets/boundaries.glb.import
Normal file
42
maps/desert/assets/boundaries.glb.import
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://b40ts3kdv4in0"
|
||||
path="res://.godot/imported/boundaries.glb-55bd84dc617756c38b0a32e84b5db1c6.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://maps/desert/assets/boundaries.glb"
|
||||
dest_files=["res://.godot/imported/boundaries.glb-55bd84dc617756c38b0a32e84b5db1c6.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
import_script/path=""
|
||||
_subresources={
|
||||
"nodes": {
|
||||
"PATH:Cube-concave": {
|
||||
"generate/physics": true,
|
||||
"physics/mask": 9,
|
||||
"physics/shape_type": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
gltf/naming_version=1
|
||||
gltf/embedded_image_handling=1
|
||||
|
|
@ -4,15 +4,16 @@ importer="texture"
|
|||
type="CompressedTexture2D"
|
||||
uid="uid://cngjywcua4vv8"
|
||||
path.bptc="res://.godot/imported/ground054_alb_ht.png-460d3ac5c09d7955ca61b8b57742b1a9.bptc.ctex"
|
||||
path.astc="res://.godot/imported/ground054_alb_ht.png-460d3ac5c09d7955ca61b8b57742b1a9.astc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://maps/desert/assets/textures/ground054_alb_ht.png"
|
||||
dest_files=["res://.godot/imported/ground054_alb_ht.png-460d3ac5c09d7955ca61b8b57742b1a9.bptc.ctex"]
|
||||
dest_files=["res://.godot/imported/ground054_alb_ht.png-460d3ac5c09d7955ca61b8b57742b1a9.bptc.ctex", "res://.godot/imported/ground054_alb_ht.png-460d3ac5c09d7955ca61b8b57742b1a9.astc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
|
|
|||
|
|
@ -4,15 +4,16 @@ importer="texture"
|
|||
type="CompressedTexture2D"
|
||||
uid="uid://cbk7l6hs0yrcc"
|
||||
path.bptc="res://.godot/imported/ground054_nrm_rgh.png-9ea209f1a7f6e48624db85005a037890.bptc.ctex"
|
||||
path.astc="res://.godot/imported/ground054_nrm_rgh.png-9ea209f1a7f6e48624db85005a037890.astc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://maps/desert/assets/textures/ground054_nrm_rgh.png"
|
||||
dest_files=["res://.godot/imported/ground054_nrm_rgh.png-9ea209f1a7f6e48624db85005a037890.bptc.ctex"]
|
||||
dest_files=["res://.godot/imported/ground054_nrm_rgh.png-9ea209f1a7f6e48624db85005a037890.bptc.ctex", "res://.godot/imported/ground054_nrm_rgh.png-9ea209f1a7f6e48624db85005a037890.astc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
|
|
|||
|
|
@ -4,15 +4,16 @@ importer="texture"
|
|||
type="CompressedTexture2D"
|
||||
uid="uid://dwk8islw7ebab"
|
||||
path.bptc="res://.godot/imported/rock029_alb_ht.png-dd746789bc129bafaa8d1cc908de0e3e.bptc.ctex"
|
||||
path.astc="res://.godot/imported/rock029_alb_ht.png-dd746789bc129bafaa8d1cc908de0e3e.astc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://maps/desert/assets/textures/rock029_alb_ht.png"
|
||||
dest_files=["res://.godot/imported/rock029_alb_ht.png-dd746789bc129bafaa8d1cc908de0e3e.bptc.ctex"]
|
||||
dest_files=["res://.godot/imported/rock029_alb_ht.png-dd746789bc129bafaa8d1cc908de0e3e.bptc.ctex", "res://.godot/imported/rock029_alb_ht.png-dd746789bc129bafaa8d1cc908de0e3e.astc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
|
|
|||
|
|
@ -4,15 +4,16 @@ importer="texture"
|
|||
type="CompressedTexture2D"
|
||||
uid="uid://lgfhdcsb2ryx"
|
||||
path.bptc="res://.godot/imported/rock029_nrm_rgh.png-3bf029664d0f58a1c79abd2d6666ba90.bptc.ctex"
|
||||
path.astc="res://.godot/imported/rock029_nrm_rgh.png-3bf029664d0f58a1c79abd2d6666ba90.astc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://maps/desert/assets/textures/rock029_nrm_rgh.png"
|
||||
dest_files=["res://.godot/imported/rock029_nrm_rgh.png-3bf029664d0f58a1c79abd2d6666ba90.bptc.ctex"]
|
||||
dest_files=["res://.godot/imported/rock029_nrm_rgh.png-3bf029664d0f58a1c79abd2d6666ba90.bptc.ctex", "res://.godot/imported/rock029_nrm_rgh.png-3bf029664d0f58a1c79abd2d6666ba90.astc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,19 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://btlkog4b87p4x"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://btlkog4b87p4x"]
|
||||
|
||||
[ext_resource type="Terrain3DStorage" uid="uid://wgmg245njt8e" path="res://maps/desert/resources/storage.res" id="1_lmk23"]
|
||||
[ext_resource type="Terrain3DMaterial" uid="uid://c3isipd4wqxpk" path="res://maps/desert/resources/material.tres" id="2_n44fh"]
|
||||
[ext_resource type="Terrain3DTextureList" uid="uid://d1j24k8sq8qpj" path="res://maps/desert/resources/textures.tres" id="3_w1yus"]
|
||||
[ext_resource type="Terrain3DTextureList" uid="uid://d1j24k8sq8qpj" path="res://maps/desert/resources/textures.tres" id="3_w6mwl"]
|
||||
[ext_resource type="Environment" uid="uid://nw62ce5cglvs" path="res://maps/desert/resources/env.tres" id="4_m7p64"]
|
||||
[ext_resource type="PackedScene" uid="uid://b40ts3kdv4in0" path="res://maps/desert/assets/boundaries.glb" id="5_dyuqn"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_wu2oa"]
|
||||
data = PackedVector3Array(-1024, -1024, 1024, -1024, 1024, -1024, -1024, 1024, 1024, -1024, -1024, 1024, -1024, -1024, -1024, -1024, 1024, -1024, -1024, -1024, -1024, 1024, 1024, -1024, -1024, 1024, -1024, -1024, -1024, -1024, 1024, -1024, -1024, 1024, 1024, -1024, 1024, -1024, -1024, 1024, 1024, 1024, 1024, 1024, -1024, 1024, -1024, -1024, 1024, -1024, 1024, 1024, 1024, 1024, 1024, -1024, 1024, -1024, 1024, 1024, 1024, 1024, 1024, 1024, -1024, 1024, -1024, -1024, 1024, -1024, 1024, 1024, -1024, -1024, -1024, 1024, -1024, 1024, 1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024, 1024, 1024, -1024, 1024, 1024, 1024, -1024, -1024, 1024, 1024, -1024, 1024, -1024, 1024, 1024, -1024, 1024, 1024, 1024, -1024, 1024, 1024)
|
||||
backface_collision = true
|
||||
|
||||
[node name="Desert" type="Terrain3D"]
|
||||
storage = ExtResource("1_lmk23")
|
||||
material = ExtResource("2_n44fh")
|
||||
texture_list = ExtResource("3_w1yus")
|
||||
texture_list = ExtResource("3_w6mwl")
|
||||
collision_layer = 2147483648
|
||||
collision_mask = 2147483648
|
||||
|
||||
|
|
@ -28,7 +33,16 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1024, 172.13, 1024)
|
|||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1161.42, 174.535, 909.901)
|
||||
|
||||
[node name="FlagStand" type="Marker3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 895.356, 144.835, 888.261)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 895.356, 145.367, 888.261)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(-0.642788, 0.586824, -0.492404, 0, 0.642788, 0.766044, 0.766045, 0.492404, -0.413176, 800, 320, 846.595)
|
||||
transform = Transform3D(-0.642788, 0.586824, -0.492404, 0, 0.642788, 0.766044, 0.766044, 0.492404, -0.413176, 800, 320, 846.595)
|
||||
|
||||
[node name="Boundaries" parent="." instance=ExtResource("5_dyuqn")]
|
||||
transform = Transform3D(0.99, 0, 0, 0, 0.99, 0, 0, 0, 0.99, 1024, 1024, 1024)
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape3D" parent="Boundaries/Cube-concave/StaticBody3D" index="0"]
|
||||
shape = SubResource("ConcavePolygonShape3D_wu2oa")
|
||||
|
||||
[editable path="Boundaries"]
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ sky_material = SubResource("ProceduralSkyMaterial_8mbvu")
|
|||
background_mode = 2
|
||||
sky = SubResource("Sky_mobku")
|
||||
tonemap_mode = 3
|
||||
tonemap_exposure = 0.85
|
||||
ssr_enabled = true
|
||||
fog_density = 0.001
|
||||
volumetric_fog_density = 0.005
|
||||
adjustment_brightness = 0.85
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@ _shader_parameters = {
|
|||
"auto_overlay_texture": 1,
|
||||
"auto_slope": 1.0,
|
||||
"blend_sharpness": 0.85,
|
||||
"dual_scale_far": 350.0,
|
||||
"dual_scale_far": 100.0,
|
||||
"dual_scale_near": 0.0,
|
||||
"dual_scale_reduction": 1.0,
|
||||
"dual_scale_reduction": 0.8,
|
||||
"dual_scale_texture": 1,
|
||||
"height_blending": true,
|
||||
"macro_variation1": Color(1, 1, 1, 1),
|
||||
|
|
@ -39,13 +39,14 @@ _shader_parameters = {
|
|||
"noise1_angle": 0.0,
|
||||
"noise1_offset": Vector2(0.5, 0.5),
|
||||
"noise1_scale": 0.4,
|
||||
"noise2_scale": 0.5,
|
||||
"noise2_scale": 0.076,
|
||||
"noise3_scale": 0.225,
|
||||
"noise_texture": SubResource("NoiseTexture2D_esvkc"),
|
||||
"tri_scale_reduction": 0.075,
|
||||
"vertex_normals_distance": null,
|
||||
"world_noise_blend_far": 1.0,
|
||||
"world_noise_blend_near": 0.75,
|
||||
"world_noise_height": 40.0,
|
||||
"world_noise_height": 50.0,
|
||||
"world_noise_lod_distance": 500.0,
|
||||
"world_noise_max_octaves": 6,
|
||||
"world_noise_min_octaves": 5,
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue