Fix up special floors
This commit is contained in:
@@ -7,7 +7,7 @@ using Zennysoft.Ma.Adapter;
|
|||||||
namespace Zennysoft.Game.Ma;
|
namespace Zennysoft.Game.Ma;
|
||||||
|
|
||||||
[Meta(typeof(IAutoNode))]
|
[Meta(typeof(IAutoNode))]
|
||||||
public partial class Altar : SpecialFloor, IDungeonFloor
|
public partial class Altar : SpecialFloor
|
||||||
{
|
{
|
||||||
public override void _Notification(int what) => this.Notify(what);
|
public override void _Notification(int what) => this.Notify(what);
|
||||||
|
|
||||||
@@ -31,11 +31,6 @@ public partial class Altar : SpecialFloor, IDungeonFloor
|
|||||||
FloorIsLoaded = true;
|
FloorIsLoaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _player_PointUpFinished()
|
|
||||||
{
|
|
||||||
_player.Activate();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void NoExitArea_AreaEntered(Area3D area)
|
private void NoExitArea_AreaEntered(Area3D area)
|
||||||
{
|
{
|
||||||
DialogueController.ShowDialogue(Dialogue, "no_exit");
|
DialogueController.ShowDialogue(Dialogue, "no_exit");
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ using Chickensoft.AutoInject;
|
|||||||
using Chickensoft.Introspection;
|
using Chickensoft.Introspection;
|
||||||
using Godot;
|
using Godot;
|
||||||
using System.Collections.Immutable;
|
using System.Collections.Immutable;
|
||||||
using Zennysoft.Game.Abstractions;
|
|
||||||
|
|
||||||
namespace Zennysoft.Game.Ma;
|
namespace Zennysoft.Game.Ma;
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,36 @@
|
|||||||
|
using Chickensoft.AutoInject;
|
||||||
|
using Chickensoft.Introspection;
|
||||||
|
using Godot;
|
||||||
|
using System.Linq;
|
||||||
|
using Zennysoft.Game.Ma;
|
||||||
|
|
||||||
|
[Meta(typeof(IAutoNode))]
|
||||||
|
public partial class BadEnd : SpecialFloor
|
||||||
|
{
|
||||||
|
public override void _Notification(int what) => this.Notify(what);
|
||||||
|
|
||||||
|
[Node] public Node3D EnemySpawnPoints { get; set; } = default!;
|
||||||
|
|
||||||
|
[Node] public Marker3D PlayerSpawnPoint { get; set; } = default!;
|
||||||
|
|
||||||
|
public void OnReady()
|
||||||
|
{
|
||||||
|
SpawnEnemies();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SpawnEnemies()
|
||||||
|
{
|
||||||
|
var enemySpawnPoints = EnemySpawnPoints.GetChildren().OfType<Marker3D>();
|
||||||
|
foreach (var spawnPoint in enemySpawnPoints)
|
||||||
|
{
|
||||||
|
var instantiatedEnemy = EnemyTypeToEnemyConverter.Convert(EnemyType.Michael);
|
||||||
|
AddChild(instantiatedEnemy);
|
||||||
|
instantiatedEnemy.GlobalPosition = new Vector3(spawnPoint.GlobalPosition.X, 2.4f, spawnPoint.GlobalPosition.Z);
|
||||||
|
ResetPhysicsInterpolation();
|
||||||
|
var enemyWithFollowBehavior = (IHaveFollowBehavior)instantiatedEnemy;
|
||||||
|
enemyWithFollowBehavior.FollowBehavior.StartFollow(enemyWithFollowBehavior.NavigationAgent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() { return (PlayerSpawnPoint.Rotation, new Vector3(PlayerSpawnPoint.GlobalPosition.X, 2.4f, PlayerSpawnPoint.GlobalPosition.Z)); }
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://dn85unitw20hr
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using Chickensoft.AutoInject;
|
||||||
|
using Chickensoft.Introspection;
|
||||||
|
using Godot;
|
||||||
|
using System;
|
||||||
|
using Zennysoft.Game.Ma;
|
||||||
|
using Zennysoft.Ma.Adapter;
|
||||||
|
|
||||||
|
[Meta(typeof(IAutoNode))]
|
||||||
|
public partial class Cellular : SpecialFloor
|
||||||
|
{
|
||||||
|
public override void _Notification(int what) => this.Notify(what);
|
||||||
|
|
||||||
|
[Node] private Area3D Exit { get; set; } = default!;
|
||||||
|
|
||||||
|
[Dependency] protected IGame Game => this.DependOn<IGame>();
|
||||||
|
|
||||||
|
public void OnResolved()
|
||||||
|
{
|
||||||
|
Show();
|
||||||
|
Exit.AreaEntered += Exit_AreaEntered;
|
||||||
|
FloorIsLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Exit_AreaEntered(Area3D area)
|
||||||
|
{
|
||||||
|
if (area.GetOwner() is IPlayer)
|
||||||
|
ExitReached();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitReached() => Game.FloorExitReached();
|
||||||
|
|
||||||
|
public void OnExitTree()
|
||||||
|
{
|
||||||
|
Exit.AreaEntered -= Exit_AreaEntered;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://gal66yd2dil0
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,35 @@
|
|||||||
|
using Chickensoft.AutoInject;
|
||||||
|
using Chickensoft.Introspection;
|
||||||
|
using Godot;
|
||||||
|
using Zennysoft.Game.Ma;
|
||||||
|
using Zennysoft.Ma.Adapter;
|
||||||
|
|
||||||
|
[Meta(typeof(IAutoNode))]
|
||||||
|
public partial class Grassland : SpecialFloor
|
||||||
|
{
|
||||||
|
public override void _Notification(int what) => this.Notify(what);
|
||||||
|
|
||||||
|
[Node] private Area3D Exit { get; set; } = default!;
|
||||||
|
|
||||||
|
[Dependency] protected IGame Game => this.DependOn<IGame>();
|
||||||
|
|
||||||
|
public void OnResolved()
|
||||||
|
{
|
||||||
|
Show();
|
||||||
|
Exit.AreaEntered += Exit_AreaEntered;
|
||||||
|
FloorIsLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Exit_AreaEntered(Area3D area)
|
||||||
|
{
|
||||||
|
if (area.GetOwner() is IPlayer)
|
||||||
|
ExitReached();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitReached() => Game.FloorExitReached();
|
||||||
|
|
||||||
|
public void OnExitTree()
|
||||||
|
{
|
||||||
|
Exit.AreaEntered -= Exit_AreaEntered;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://cgwg0emlcwxw2
|
||||||
File diff suppressed because one or more lines are too long
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"]
|
[ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"]
|
||||||
[ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"]
|
[ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"]
|
||||||
[ext_resource type="AudioStream" uid="uid://ym4ur8a2qxhp" path="res://src/audio/amb/amb_perlin.wav" id="2_wbbo3"]
|
[ext_resource type="AudioStream" uid="uid://cblhg7lmwn5ng" path="res://src/audio/amb/amb_perlin.wav" id="2_wbbo3"]
|
||||||
[ext_resource type="AudioStream" uid="uid://b7wxddjx3qw5o" path="res://src/audio/amb/amb_white_noise.wav" id="3_c2gp5"]
|
[ext_resource type="AudioStream" uid="uid://byw0oogbgggp0" path="res://src/audio/amb/amb_white_noise.wav" id="3_c2gp5"]
|
||||||
[ext_resource type="AudioStream" uid="uid://ddii3pi8x75xc" path="res://src/audio/amb/amb_beach.wav" id="3_pvi8n"]
|
[ext_resource type="AudioStream" uid="uid://b8um78tuv72lj" path="res://src/audio/amb/amb_beach.wav" id="3_pvi8n"]
|
||||||
[ext_resource type="Texture2D" uid="uid://w33fr6exryiy" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_37.png" id="3_uyygh"]
|
[ext_resource type="Texture2D" uid="uid://w33fr6exryiy" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_37.png" id="3_uyygh"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dv10yaqvp3mub" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_71.png" id="4_r8r3k"]
|
[ext_resource type="Texture2D" uid="uid://dv10yaqvp3mub" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_71.png" id="4_r8r3k"]
|
||||||
[ext_resource type="Shader" uid="uid://brhf7s3riyag5" path="res://src/map/map shaders/Metal.gdshader" id="5_d1qcb"]
|
[ext_resource type="Shader" uid="uid://brhf7s3riyag5" path="res://src/map/map shaders/Metal.gdshader" id="5_d1qcb"]
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
using Chickensoft.AutoInject;
|
||||||
|
using Chickensoft.Introspection;
|
||||||
|
using Godot;
|
||||||
|
using Zennysoft.Game.Ma;
|
||||||
|
using Zennysoft.Ma.Adapter;
|
||||||
|
|
||||||
|
[Meta(typeof(IAutoNode))]
|
||||||
|
public partial class Platform : SpecialFloor
|
||||||
|
{
|
||||||
|
public override void _Notification(int what) => this.Notify(what);
|
||||||
|
|
||||||
|
[Node] private Area3D Exit { get; set; } = default!;
|
||||||
|
|
||||||
|
[Dependency] protected IGame Game => this.DependOn<IGame>();
|
||||||
|
|
||||||
|
public void OnResolved()
|
||||||
|
{
|
||||||
|
Show();
|
||||||
|
Exit.AreaEntered += Exit_AreaEntered;
|
||||||
|
FloorIsLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Exit_AreaEntered(Area3D area)
|
||||||
|
{
|
||||||
|
if (area.GetOwner() is IPlayer)
|
||||||
|
ExitReached();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitReached() => Game.FloorExitReached();
|
||||||
|
|
||||||
|
public void OnExitTree()
|
||||||
|
{
|
||||||
|
Exit.AreaEntered -= Exit_AreaEntered;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://dd8dyuud0f74g
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,37 @@
|
|||||||
|
using Chickensoft.AutoInject;
|
||||||
|
using Chickensoft.Introspection;
|
||||||
|
using Godot;
|
||||||
|
using Zennysoft.Game.Ma;
|
||||||
|
using Zennysoft.Ma.Adapter;
|
||||||
|
|
||||||
|
[Meta(typeof(IAutoNode))]
|
||||||
|
public partial class River : SpecialFloor
|
||||||
|
{
|
||||||
|
public override void _Notification(int what) => this.Notify(what);
|
||||||
|
|
||||||
|
[Node] private Area3D Exit { get; set; } = default!;
|
||||||
|
|
||||||
|
[Node] private Marker3D PlayerSpawnPoint { get; set; } = default!;
|
||||||
|
|
||||||
|
[Dependency] protected IGame Game => this.DependOn<IGame>();
|
||||||
|
|
||||||
|
public void OnResolved()
|
||||||
|
{
|
||||||
|
Show();
|
||||||
|
Exit.AreaEntered += Exit_AreaEntered;
|
||||||
|
FloorIsLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Exit_AreaEntered(Area3D area)
|
||||||
|
{
|
||||||
|
if (area.GetOwner() is IPlayer)
|
||||||
|
ExitReached();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitReached() => Game.FloorExitReached();
|
||||||
|
|
||||||
|
public void OnExitTree()
|
||||||
|
{
|
||||||
|
Exit.AreaEntered -= Exit_AreaEntered;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://4yx8q5wp3acp
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,35 @@
|
|||||||
|
using Chickensoft.AutoInject;
|
||||||
|
using Chickensoft.Introspection;
|
||||||
|
using Godot;
|
||||||
|
using Zennysoft.Game.Ma;
|
||||||
|
using Zennysoft.Ma.Adapter;
|
||||||
|
|
||||||
|
[Meta(typeof(IAutoNode))]
|
||||||
|
public partial class Server : SpecialFloor
|
||||||
|
{
|
||||||
|
public override void _Notification(int what) => this.Notify(what);
|
||||||
|
|
||||||
|
[Node] private Area3D Exit { get; set; } = default!;
|
||||||
|
|
||||||
|
[Dependency] protected IGame Game => this.DependOn<IGame>();
|
||||||
|
|
||||||
|
public void OnResolved()
|
||||||
|
{
|
||||||
|
Show();
|
||||||
|
Exit.AreaEntered += Exit_AreaEntered;
|
||||||
|
FloorIsLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Exit_AreaEntered(Area3D area)
|
||||||
|
{
|
||||||
|
if (area.GetOwner() is IPlayer)
|
||||||
|
ExitReached();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitReached() => Game.FloorExitReached();
|
||||||
|
|
||||||
|
public void OnExitTree()
|
||||||
|
{
|
||||||
|
Exit.AreaEntered -= Exit_AreaEntered;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://bc56uwauby3eh
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=64 format=4 uid="uid://cnlw4fistem53"]
|
[gd_scene load_steps=63 format=4 uid="uid://cnlw4fistem53"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://xd6tx3lifebl" path="res://src/map/dungeon/code/SpecialFloor.cs" id="1_138ti"]
|
[ext_resource type="Script" uid="uid://bc56uwauby3eh" path="res://src/map/dungeon/floors/Special Floors/Server.cs" id="1_138ti"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dlku6x3aq0pns" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_WIRE.jpg" id="2_pw0lq"]
|
[ext_resource type="Texture2D" uid="uid://dlku6x3aq0pns" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_WIRE.jpg" id="2_pw0lq"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c025gjwdd0ikh" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_metl27L.jpg" id="3_bfmrj"]
|
[ext_resource type="Texture2D" uid="uid://c025gjwdd0ikh" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_metl27L.jpg" id="3_bfmrj"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d334x3u0u5bpi" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_e4b1d3cefeea6abfb2fc946a6342c595.jpg" id="4_ps4y4"]
|
[ext_resource type="Texture2D" uid="uid://d334x3u0u5bpi" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_e4b1d3cefeea6abfb2fc946a6342c595.jpg" id="4_ps4y4"]
|
||||||
@@ -1002,135 +1002,129 @@ dof_blur_far_transition = -1.0
|
|||||||
dof_blur_amount = 0.11
|
dof_blur_amount = 0.11
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_8cgur"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_8cgur"]
|
||||||
size = Vector3(112.274, 37.2499, 160.67)
|
size = Vector3(128.504, 37.2499, 164.505)
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_4yya2"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_4yya2"]
|
||||||
size = Vector3(2.97754, 2.34912, 3.79205)
|
size = Vector3(1.90881, 4.51166, 6.00504)
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_kmguv"]
|
|
||||||
size = Vector3(4.52301, 7.56061, 15.4608)
|
|
||||||
|
|
||||||
[node name="EX-SERVER" type="Node3D"]
|
[node name="EX-SERVER" type="Node3D"]
|
||||||
script = ExtResource("1_138ti")
|
script = ExtResource("1_138ti")
|
||||||
|
|
||||||
[node name="EXserver" type="Node3D" parent="."]
|
[node name="Model" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
[node name="EXserver" type="Node3D" parent="Model"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.557487, -12.3606, 0.247175)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.557487, -12.3606, 0.247175)
|
||||||
|
|
||||||
[node name="OUTSIDE WIRES" type="MeshInstance3D" parent="EXserver"]
|
[node name="OUTSIDE WIRES" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38.9209, 20.355, 25.4014)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38.9209, 20.355, 25.4014)
|
||||||
mesh = SubResource("ArrayMesh_k6qgd")
|
mesh = SubResource("ArrayMesh_k6qgd")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="RAILING" type="MeshInstance3D" parent="EXserver"]
|
[node name="RAILING" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.2092, 13.9905, -28.6612)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.2092, 13.9905, -28.6612)
|
||||||
mesh = SubResource("ArrayMesh_6v0lb")
|
mesh = SubResource("ArrayMesh_6v0lb")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="BRIDGE" type="MeshInstance3D" parent="EXserver"]
|
[node name="BRIDGE" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -115.813, 14.0733, -0.00542006)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -115.813, 14.0733, -0.00542006)
|
||||||
mesh = SubResource("ArrayMesh_p1efh")
|
mesh = SubResource("ArrayMesh_p1efh")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="INNER STRUCTURE" type="MeshInstance3D" parent="EXserver"]
|
[node name="INNER STRUCTURE" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.107586, 18.9983, -2.08537)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.107586, 18.9983, -2.08537)
|
||||||
mesh = SubResource("ArrayMesh_ury05")
|
mesh = SubResource("ArrayMesh_ury05")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="PIPES" type="MeshInstance3D" parent="EXserver"]
|
[node name="PIPES" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.27806, 15.981, -12.5393)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.27806, 15.981, -12.5393)
|
||||||
mesh = SubResource("ArrayMesh_ctlxs")
|
mesh = SubResource("ArrayMesh_ctlxs")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="OUTER ARCHES" type="MeshInstance3D" parent="EXserver"]
|
[node name="OUTER ARCHES" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39.7089, 17.699, -23.9641)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39.7089, 17.699, -23.9641)
|
||||||
mesh = SubResource("ArrayMesh_3bxwr")
|
mesh = SubResource("ArrayMesh_3bxwr")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="Sheet" type="MeshInstance3D" parent="EXserver"]
|
[node name="Sheet" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22.4493, 13.0738, -40.7692)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22.4493, 13.0738, -40.7692)
|
||||||
mesh = SubResource("ArrayMesh_y8ty6")
|
mesh = SubResource("ArrayMesh_y8ty6")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="Rebar Outside" type="MeshInstance3D" parent="EXserver"]
|
[node name="Rebar Outside" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.9182, 12.0054, -39.313)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.9182, 12.0054, -39.313)
|
||||||
mesh = SubResource("ArrayMesh_oatly")
|
mesh = SubResource("ArrayMesh_oatly")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="MAIN STRUCTURE" type="MeshInstance3D" parent="EXserver"]
|
[node name="MAIN STRUCTURE" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.22385, 15.4441, -11.8955)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.22385, 15.4441, -11.8955)
|
||||||
mesh = SubResource("ArrayMesh_i45gj")
|
mesh = SubResource("ArrayMesh_i45gj")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="POWERLINES" type="MeshInstance3D" parent="EXserver"]
|
[node name="POWERLINES" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.855303, 25.8652, 359.675)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.855303, 25.8652, 359.675)
|
||||||
mesh = SubResource("ArrayMesh_cprhv")
|
mesh = SubResource("ArrayMesh_cprhv")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="WIRES INSIDE" type="MeshInstance3D" parent="EXserver"]
|
[node name="WIRES INSIDE" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.15608, 11.7134, 1.02745)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.15608, 11.7134, 1.02745)
|
||||||
mesh = SubResource("ArrayMesh_3rek3")
|
mesh = SubResource("ArrayMesh_3rek3")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="INNER COLUMNS" type="MeshInstance3D" parent="EXserver"]
|
[node name="INNER COLUMNS" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.225967, 26.1951, -0.693762)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.225967, 26.1951, -0.693762)
|
||||||
mesh = SubResource("ArrayMesh_laiyj")
|
mesh = SubResource("ArrayMesh_laiyj")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="INNER RAILING" type="MeshInstance3D" parent="EXserver"]
|
[node name="INNER RAILING" type="MeshInstance3D" parent="Model/EXserver"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.37131, 13.7869, 1.55229)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.37131, 13.7869, 1.55229)
|
||||||
mesh = SubResource("ArrayMesh_3x0q5")
|
mesh = SubResource("ArrayMesh_3x0q5")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="Area3D" type="Area3D" parent="."]
|
[node name="Collisions" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
[node name="StaticBody3D" type="StaticBody3D" parent="Collisions"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.6779, 4.15592, -11.9757)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.6779, 4.15592, -11.9757)
|
||||||
|
|
||||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Area3D"]
|
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Collisions/StaticBody3D"]
|
||||||
shape = SubResource("ConcavePolygonShape3D_ymi8t")
|
shape = SubResource("ConcavePolygonShape3D_ymi8t")
|
||||||
|
|
||||||
[node name="COLLISION" type="MeshInstance3D" parent="."]
|
[node name="COLLISION" type="MeshInstance3D" parent="Collisions"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.6779, 4.09334, -11.9757)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.6779, 4.09334, -11.9757)
|
||||||
visible = false
|
visible = false
|
||||||
mesh = SubResource("ArrayMesh_yrug1")
|
mesh = SubResource("ArrayMesh_yrug1")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="FogVolume2" type="FogVolume" parent="."]
|
[node name="VFX" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
[node name="FogVolume2" type="FogVolume" parent="VFX"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.56509, -108.513, -20.4169)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.56509, -108.513, -20.4169)
|
||||||
size = Vector3(1438.24, 194.68, 1620.82)
|
size = Vector3(1438.24, 194.68, 1620.82)
|
||||||
material = SubResource("FogMaterial_w2wxh")
|
material = SubResource("FogMaterial_w2wxh")
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D" type="OmniLight3D" parent="VFX"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -7.34175, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -7.34175, 0)
|
||||||
light_energy = 9.13
|
light_energy = 9.13
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
omni_range = 45.4638
|
omni_range = 45.4638
|
||||||
|
|
||||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="VFX"]
|
||||||
environment = SubResource("Environment_pj6ms")
|
environment = SubResource("Environment_pj6ms")
|
||||||
camera_attributes = SubResource("CameraAttributesPractical_8ry6s")
|
camera_attributes = SubResource("CameraAttributesPractical_8ry6s")
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="WorldEnvironment"]
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="VFX/WorldEnvironment"]
|
||||||
transform = Transform3D(-0.980955, 0.175167, -0.0839258, 0, 0.432086, 0.901833, 0.194234, 0.884657, -0.423857, -49.49, 69.351, 0)
|
transform = Transform3D(-0.980955, 0.175167, -0.0839258, 0, 0.432086, 0.901833, 0.194234, 0.884657, -0.423857, -49.49, 69.351, 0)
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
shadow_blur = 3.051
|
shadow_blur = 3.051
|
||||||
|
|
||||||
[node name="SteleF" parent="." instance=ExtResource("13_5o7ke")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42.3072, 0.636905, 18.7862)
|
|
||||||
|
|
||||||
[node name="SteleF2" parent="." instance=ExtResource("13_5o7ke")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -32.4542, 0.622075, 5.49706)
|
|
||||||
|
|
||||||
[node name="SteleF3" parent="." instance=ExtResource("13_5o7ke")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -32.4542, 0.622075, -4.79838)
|
|
||||||
|
|
||||||
[node name="Spawn Points" type="Node3D" parent="."]
|
[node name="Spawn Points" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1.4, 0, 0, 0, 1.4, 0, 0, 0, 1.4, 0, 3.70806, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.70806, 0)
|
||||||
|
|
||||||
[node name="PlayerSpawnPoint" type="Marker3D" parent="Spawn Points"]
|
[node name="PlayerSpawnPoint" type="Marker3D" parent="Spawn Points"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 39.3951, -2.89376, -1.035)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.581077, -1.88017, 32.9043)
|
||||||
|
|
||||||
[node name="Room" type="Node3D" parent="."]
|
[node name="Room" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1.4, 0, 0, 0, 1.4, 0, 0, 0, 1.4, 0, 4.31338, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.31338, 0)
|
||||||
|
|
||||||
[node name="Room" type="Area3D" parent="Room"]
|
[node name="Room" type="Area3D" parent="Room"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -1139,7 +1133,7 @@ collision_layer = 0
|
|||||||
collision_mask = 8
|
collision_mask = 8
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/Room"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/Room"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.5814, -10.4857, -31.8726)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.15937, -10.4857, -16.1804)
|
||||||
shape = SubResource("BoxShape3D_8cgur")
|
shape = SubResource("BoxShape3D_8cgur")
|
||||||
|
|
||||||
[node name="Exit" type="Area3D" parent="Room"]
|
[node name="Exit" type="Area3D" parent="Room"]
|
||||||
@@ -1148,14 +1142,16 @@ collision_layer = 256
|
|||||||
collision_mask = 256
|
collision_mask = 256
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/Exit"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/Exit"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.1171, -2.1779, -0.0887146)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33.583, -0.46095, -0.0630896)
|
||||||
shape = SubResource("BoxShape3D_4yya2")
|
shape = SubResource("BoxShape3D_4yya2")
|
||||||
|
|
||||||
[node name="NoExitArea" type="Area3D" parent="Room"]
|
[node name="NPCs" type="Node3D" parent="."]
|
||||||
unique_name_in_owner = true
|
|
||||||
collision_layer = 0
|
|
||||||
collision_mask = 64
|
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/NoExitArea"]
|
[node name="SteleF" parent="NPCs" instance=ExtResource("13_5o7ke")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 72.5243, -2.06593, -2.02953)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42.3072, 0.636905, 18.7862)
|
||||||
shape = SubResource("BoxShape3D_kmguv")
|
|
||||||
|
[node name="SteleF2" parent="NPCs" instance=ExtResource("13_5o7ke")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -32.4542, 0.622075, 5.49706)
|
||||||
|
|
||||||
|
[node name="SteleF3" parent="NPCs" instance=ExtResource("13_5o7ke")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -32.4542, 0.622075, -4.79838)
|
||||||
|
|||||||
Reference in New Issue
Block a user