Add more NPCs, update dialogue manager to 4.4 compatible version
BIN
Zennysoft.Game.Ma/src/npc/Clalo/CLALO_ver.2.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
34
Zennysoft.Game.Ma/src/npc/Clalo/CLALO_ver.2.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://loeqa6twpa3q"
|
||||
path="res://.godot/imported/CLALO_ver.2.png-bd5f373ada3f179eabb413cfe6fbf703.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/npc/Clalo/CLALO_ver.2.png"
|
||||
dest_files=["res://.godot/imported/CLALO_ver.2.png-bd5f373ada3f179eabb413cfe6fbf703.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
57
Zennysoft.Game.Ma/src/npc/Gesthesemii/Gesthemii.tscn
Normal file
@@ -0,0 +1,57 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://b5tl2jawmvwtd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_d5tpe"]
|
||||
[ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_xassj"]
|
||||
[ext_resource type="Texture2D" uid="uid://gtylrk5yxgnp" path="res://src/npc/Gesthesemii/gesthesemii2.png" id="3_xassj"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_wfhgc"]
|
||||
radius = 3.0
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kg3qv"]
|
||||
radius = 0.837722
|
||||
height = 2.8375
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_nwuwj"]
|
||||
height = 2.24425
|
||||
radius = 1.941
|
||||
|
||||
[node name="Gesthemii" type="Node3D"]
|
||||
script = ExtResource("1_d5tpe")
|
||||
Dialogue = ExtResource("2_xassj")
|
||||
|
||||
[node name="Sprite" type="Sprite3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
||||
gi_mode = 0
|
||||
pixel_size = 0.008
|
||||
billboard = 2
|
||||
double_sided = false
|
||||
alpha_cut = 2
|
||||
texture_filter = 0
|
||||
texture = ExtResource("3_xassj")
|
||||
|
||||
[node name="DialogueZone" type="Area3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="DialogueZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00131226, 0, -0.00723076)
|
||||
shape = SubResource("CylinderShape3D_wfhgc")
|
||||
|
||||
[node name="Collision" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.105047, -0.0490516, 0)
|
||||
collision_mask = 0
|
||||
gravity_scale = 0.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.169075, 0, 0)
|
||||
shape = SubResource("CapsuleShape3D_kg3qv")
|
||||
|
||||
[node name="Hitbox" type="Area3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
collision_layer = 16
|
||||
collision_mask = 16
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"]
|
||||
shape = SubResource("CylinderShape3D_nwuwj")
|
||||
BIN
Zennysoft.Game.Ma/src/npc/Gesthesemii/gesthesemii2.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://gtylrk5yxgnp"
|
||||
path="res://.godot/imported/gesthesemii2.png-3d63416010cd48d84ed561821c69e40e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/npc/Gesthesemii/gesthesemii2.png"
|
||||
dest_files=["res://.godot/imported/gesthesemii2.png-3d63416010cd48d84ed561821c69e40e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/npc/Gesthesemii/gethesemii.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
Zennysoft.Game.Ma/src/npc/Gesthesemii/gethesemii.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b1mj13j2peypc"
|
||||
path="res://.godot/imported/gethesemii.png-8d75036e08b2192c219748544bae288b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/npc/Gesthesemii/gethesemii.png"
|
||||
dest_files=["res://.godot/imported/gethesemii.png-8d75036e08b2192c219748544bae288b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 9.7 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cojh7jjk70psy"
|
||||
path="res://.godot/imported/goddess-of-guidance.png-500677be7008aa69424d184c70c7ea1d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/npc/Goddess of Guidance/goddess-of-guidance.png"
|
||||
dest_files=["res://.godot/imported/goddess-of-guidance.png-500677be7008aa69424d184c70c7ea1d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
@@ -20,45 +20,45 @@ public partial class Npc : Node3D
|
||||
|
||||
public void OnReady()
|
||||
{
|
||||
SetPhysicsProcess(true);
|
||||
DialogueZone.BodyEntered += DialogueZone_BodyEntered;
|
||||
DialogueZone.BodyExited += DialogueZone_BodyExited;
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
SetPhysicsProcess(true);
|
||||
DialogueZone.BodyEntered += DialogueZone_BodyEntered;
|
||||
DialogueZone.BodyExited += DialogueZone_BodyExited;
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
|
||||
}
|
||||
|
||||
private void Hitbox_AreaEntered(Area3D area)
|
||||
{
|
||||
DialogueController.ShowDialogue(Dialogue, "hit");
|
||||
DialogueController.ShowDialogue(Dialogue, "hit");
|
||||
}
|
||||
|
||||
private void Hitbox_BodyEntered(Node body)
|
||||
{
|
||||
DialogueController.ShowDialogue(Dialogue, "hit");
|
||||
DialogueController.ShowDialogue(Dialogue, "hit");
|
||||
}
|
||||
|
||||
private void DialogueZone_BodyExited(Node3D body)
|
||||
{
|
||||
_isInDialogueZone = false;
|
||||
DialogueController.Interrupt();
|
||||
_isInDialogueZone = false;
|
||||
DialogueController.Interrupt();
|
||||
}
|
||||
|
||||
private void DialogueZone_BodyEntered(Node3D body)
|
||||
{
|
||||
_isInDialogueZone = true;
|
||||
_isInDialogueZone = true;
|
||||
}
|
||||
|
||||
public override void _UnhandledInput(InputEvent @event)
|
||||
{
|
||||
if (@event.IsActionPressed(GameInputs.Interact) && _isInDialogueZone)
|
||||
{
|
||||
if (_isIntroductionComplete)
|
||||
DialogueController.ShowDialogue(Dialogue, "general");
|
||||
else
|
||||
{
|
||||
DialogueController.ShowDialogue(Dialogue, "introduction");
|
||||
_isIntroductionComplete = true;
|
||||
}
|
||||
}
|
||||
if (@event.IsActionPressed(GameInputs.Interact) && _isInDialogueZone)
|
||||
{
|
||||
if (_isIntroductionComplete)
|
||||
DialogueController.ShowDialogue(Dialogue, "general");
|
||||
else
|
||||
{
|
||||
DialogueController.ShowDialogue(Dialogue, "introduction");
|
||||
_isIntroductionComplete = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BIN
Zennysoft.Game.Ma/src/npc/Puer/PUER ver.2.PNG
Normal file
|
After Width: | Height: | Size: 16 KiB |
34
Zennysoft.Game.Ma/src/npc/Puer/PUER ver.2.PNG.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bdn7fs4ehxvf0"
|
||||
path="res://.godot/imported/PUER ver.2.PNG-d994334c306bcf9f2e5bdd3105f5e6d5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/npc/Puer/PUER ver.2.PNG"
|
||||
dest_files=["res://.godot/imported/PUER ver.2.PNG-d994334c306bcf9f2e5bdd3105f5e6d5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/npc/Rat/rat_ver,2.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
34
Zennysoft.Game.Ma/src/npc/Rat/rat_ver,2.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dffyycokg2vcr"
|
||||
path="res://.godot/imported/rat_ver,2.png-f6e59ef09a403a1c5118efc205d6e0aa.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/npc/Rat/rat_ver,2.png"
|
||||
dest_files=["res://.godot/imported/rat_ver,2.png-f6e59ef09a403a1c5118efc205d6e0aa.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/npc/Seshat/seshat.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
34
Zennysoft.Game.Ma/src/npc/Seshat/seshat.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bt1n54xtem20m"
|
||||
path="res://.godot/imported/seshat.png-02a4b362f584ce2171e108b824412341.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/npc/Seshat/seshat.png"
|
||||
dest_files=["res://.godot/imported/seshat.png-02a4b362f584ce2171e108b824412341.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||