Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cd150a4513 | |||
| 9d2322b6c7 | |||
| 311095104b |
27
resources/characters/duchex.tres
Normal file
27
resources/characters/duchex.tres
Normal file
@@ -0,0 +1,27 @@
|
||||
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://c87odmn680x7"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cudme4y8elyha" path="res://assets/sprites/sprites by judas la carotte/sprite2 happy.png" id="1_tppor"]
|
||||
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_cyb15"]
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="3_s53hh"]
|
||||
[ext_resource type="Resource" uid="uid://cefwc4j3p7m3v" path="res://resources/traits/black.tres" id="4_tppor"]
|
||||
[ext_resource type="Resource" uid="uid://blu5de2dhiu46" path="res://resources/traits/young.tres" id="5_cyb15"]
|
||||
[ext_resource type="Resource" uid="uid://ct4iy75ai7lmy" path="res://resources/traits/enby.tres" id="6_tppor"]
|
||||
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="7_03y2d"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_cyb15")
|
||||
chara_sprite = ExtResource("1_tppor")
|
||||
mask_eyes_location = Vector2(-45.45, -247.75)
|
||||
mask_mouth_location = Vector2(-39.935, -169.95)
|
||||
traits = Array[ExtResource("3_s53hh")]([ExtResource("4_tppor"), ExtResource("5_cyb15"), ExtResource("6_tppor"), ExtResource("7_03y2d")])
|
||||
preferences = Dictionary[int, int]({
|
||||
0: 0,
|
||||
2: 0,
|
||||
3: 0,
|
||||
5: 0,
|
||||
6: 2,
|
||||
8: 2,
|
||||
13: 0,
|
||||
14: 3
|
||||
})
|
||||
metadata/_custom_type_script = "uid://bwam50qxikpw4"
|
||||
23
resources/characters/duke.tres
Normal file
23
resources/characters/duke.tres
Normal file
@@ -0,0 +1,23 @@
|
||||
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://gy4ygqrjj5ys"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b8xlbx8iub20m" path="res://assets/sprites/sprites by judas la carotte/sprite4 happy.png" id="1_d1fpd"]
|
||||
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_ce0p8"]
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="3_n21sh"]
|
||||
[ext_resource type="Resource" uid="uid://cefwc4j3p7m3v" path="res://resources/traits/black.tres" id="4_d1fpd"]
|
||||
[ext_resource type="Resource" uid="uid://blu5de2dhiu46" path="res://resources/traits/young.tres" id="5_12asi"]
|
||||
[ext_resource type="Resource" uid="uid://bmx28vnfhcs8b" path="res://resources/traits/man.tres" id="6_12asi"]
|
||||
[ext_resource type="Resource" uid="uid://b118uebk1ldog" path="res://resources/traits/noble.tres" id="7_d1fpd"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_ce0p8")
|
||||
chara_sprite = ExtResource("1_d1fpd")
|
||||
mask_eyes_location = Vector2(-45.45, -247.75)
|
||||
mask_mouth_location = Vector2(-39.935, -169.95)
|
||||
traits = Array[ExtResource("3_n21sh")]([ExtResource("4_d1fpd"), ExtResource("5_12asi"), ExtResource("6_12asi"), ExtResource("7_d1fpd")])
|
||||
preferences = Dictionary[int, int]({
|
||||
5: 0,
|
||||
6: 0,
|
||||
8: 3,
|
||||
11: 0
|
||||
})
|
||||
metadata/_custom_type_script = "uid://bwam50qxikpw4"
|
||||
@@ -1,12 +1,9 @@
|
||||
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://da2ptl3f7h0ot"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c57s3oksagauh" path="res://assets/sprites/sprites by judas la carotte/sprite3 happy small.png" id="1_k1rnw"]
|
||||
[ext_resource type="Script" uid="uid://djnkk7igqmtk" path="res://scenes/character/preference.gd" id="2_6ktt3"]
|
||||
[ext_resource type="Resource" uid="uid://grl1yslspjm1" path="res://resources/preferences/racist.tres" id="3_0mgot"]
|
||||
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="3_vvog1"]
|
||||
[ext_resource type="Resource" uid="uid://dvxdyr2ehxbj2" path="res://resources/preferences/alone.tres" id="4_0mgot"]
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="4_0s3fj"]
|
||||
[ext_resource type="Resource" uid="uid://bdgqquall1x47" path="res://resources/preferences/like_cats.tres" id="5_teajx"]
|
||||
[ext_resource type="Resource" uid="uid://bc376om20da8m" path="res://resources/traits/royal.tres" id="7_0s3fj"]
|
||||
[ext_resource type="Resource" uid="uid://cb8jguybr1tlj" path="res://resources/traits/white.tres" id="8_u46dm"]
|
||||
[ext_resource type="Resource" uid="uid://bvophatys2o1o" path="res://resources/traits/old.tres" id="9_fvshn"]
|
||||
[ext_resource type="Resource" uid="uid://bmx28vnfhcs8b" path="res://resources/traits/man.tres" id="10_hcmf1"]
|
||||
@@ -14,8 +11,17 @@
|
||||
[resource]
|
||||
script = ExtResource("3_vvog1")
|
||||
chara_sprite = ExtResource("1_k1rnw")
|
||||
mask_eyes_location = Vector2(-7.325, -274.11)
|
||||
mask_mouth_location = Vector2(-13.425, -173.61)
|
||||
traits = Array[ExtResource("4_0s3fj")]([ExtResource("8_u46dm"), ExtResource("9_fvshn"), ExtResource("10_hcmf1")])
|
||||
preferences = Array[ExtResource("2_6ktt3")]([ExtResource("3_0mgot"), ExtResource("4_0mgot"), ExtResource("5_teajx")])
|
||||
mask_eyes_position = Vector2(-21.75, -274.015)
|
||||
mask_eyes_rotation = 0.06981317007977318
|
||||
mask_mouth_position = Vector2(-7.63, -186.87)
|
||||
mask_mouth_rotation = -0.1884955592153878
|
||||
traits = Array[ExtResource("4_0s3fj")]([ExtResource("8_u46dm"), ExtResource("9_fvshn"), ExtResource("10_hcmf1"), ExtResource("7_0s3fj")])
|
||||
preferences = Dictionary[int, int]({
|
||||
4: 0,
|
||||
6: 0,
|
||||
11: 1,
|
||||
12: 3,
|
||||
13: 0,
|
||||
14: 1
|
||||
})
|
||||
metadata/_custom_type_script = "uid://bwam50qxikpw4"
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
[gd_resource type="Resource" script_class="CharacterResource" format=3 uid="uid://wq3g1j3l4gl6"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b60pu6ukbobb2" path="res://assets/sprites/sprites by judas la carotte/sprite1 happy small.png" id="1_g8bvo"]
|
||||
[ext_resource type="Script" uid="uid://djnkk7igqmtk" path="res://scenes/character/preference.gd" id="1_p5paw"]
|
||||
[ext_resource type="Script" uid="uid://bwam50qxikpw4" path="res://scenes/character/chara_resource.gd" id="2_g8bvo"]
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="3_dkw07"]
|
||||
[ext_resource type="Resource" uid="uid://grl1yslspjm1" path="res://resources/preferences/racist.tres" id="3_wjlcp"]
|
||||
[ext_resource type="Resource" uid="uid://cvebp8ld1pmjg" path="res://resources/preferences/not_alone.tres" id="4_4ysbx"]
|
||||
[ext_resource type="Resource" uid="uid://blr3mul2ugive" path="res://resources/preferences/love_cats.tres" id="5_0fq6i"]
|
||||
[ext_resource type="Resource" uid="uid://bc376om20da8m" path="res://resources/traits/royal.tres" id="8_d1164"]
|
||||
[ext_resource type="Resource" uid="uid://bvophatys2o1o" path="res://resources/traits/old.tres" id="8_j0xhd"]
|
||||
[ext_resource type="Resource" uid="uid://cb8jguybr1tlj" path="res://resources/traits/white.tres" id="9_aywjr"]
|
||||
[ext_resource type="Resource" uid="uid://dmd7gilnmcefr" path="res://resources/traits/woman.tres" id="10_tw1u2"]
|
||||
@@ -17,6 +14,13 @@ script = ExtResource("2_g8bvo")
|
||||
chara_sprite = ExtResource("1_g8bvo")
|
||||
mask_eyes_location = Vector2(-45.45, -247.75)
|
||||
mask_mouth_location = Vector2(-39.935, -169.95)
|
||||
traits = Array[ExtResource("3_dkw07")]([ExtResource("8_j0xhd"), ExtResource("9_aywjr"), ExtResource("10_tw1u2"), ExtResource("11_utmh4")])
|
||||
preferences = Array[ExtResource("1_p5paw")]([ExtResource("3_wjlcp"), ExtResource("4_4ysbx"), ExtResource("5_0fq6i")])
|
||||
traits = Array[ExtResource("3_dkw07")]([ExtResource("9_aywjr"), ExtResource("8_j0xhd"), ExtResource("10_tw1u2"), ExtResource("8_d1164"), ExtResource("11_utmh4")])
|
||||
preferences = Dictionary[int, int]({
|
||||
5: 2,
|
||||
6: 0,
|
||||
9: 2,
|
||||
11: 3,
|
||||
12: 0,
|
||||
14: 3
|
||||
})
|
||||
metadata/_custom_type_script = "uid://bwam50qxikpw4"
|
||||
|
||||
12
resources/masks/cat.tres
Normal file
12
resources/masks/cat.tres
Normal file
@@ -0,0 +1,12 @@
|
||||
[gd_resource type="Resource" script_class="MaskResource" format=3 uid="uid://cuf1ocb4px4m3"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://buql3bcbqx4pp" path="res://menus/assets/git_logo/Git-Logo-2Color.png" id="1_1u1n5"]
|
||||
[ext_resource type="Script" uid="uid://d26mv2xtvmpqt" path="res://scenes/mask/mask_resource.gd" id="2_ypt8w"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_ypt8w")
|
||||
mask_sprite = ExtResource("1_1u1n5")
|
||||
tags_multipliers = Dictionary[int, int]({
|
||||
12: 0
|
||||
})
|
||||
metadata/_custom_type_script = "uid://d26mv2xtvmpqt"
|
||||
11
resources/masks/mute.tres
Normal file
11
resources/masks/mute.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="MaskResource" format=3 uid="uid://pdiaprcknftw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d26mv2xtvmpqt" path="res://scenes/mask/mask_resource.gd" id="1_urvbb"]
|
||||
[ext_resource type="Texture2D" uid="uid://cftllq6l7xclt" path="res://icon.svg" id="1_wp4x3"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_urvbb")
|
||||
mask_sprite = ExtResource("1_wp4x3")
|
||||
region = 1
|
||||
stimuli = 1
|
||||
metadata/_custom_type_script = "uid://d26mv2xtvmpqt"
|
||||
12
resources/masks/unracist.tres
Normal file
12
resources/masks/unracist.tres
Normal file
@@ -0,0 +1,12 @@
|
||||
[gd_resource type="Resource" script_class="MaskResource" format=3 uid="uid://cbcqtj8mxngfy"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d26mv2xtvmpqt" path="res://scenes/mask/mask_resource.gd" id="1_fs0fy"]
|
||||
[ext_resource type="Texture2D" uid="uid://cftllq6l7xclt" path="res://icon.svg" id="1_fv3id"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_fs0fy")
|
||||
mask_sprite = ExtResource("1_fv3id")
|
||||
mask_transform = null
|
||||
category = 3
|
||||
category_multiplier = 0.0
|
||||
metadata/_custom_type_script = "uid://d26mv2xtvmpqt"
|
||||
@@ -1,8 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="Preference" format=3 uid="uid://dvxdyr2ehxbj2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://djnkk7igqmtk" path="res://scenes/character/preference.gd" id="1_m8124"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_m8124")
|
||||
name = "alone"
|
||||
metadata/_custom_type_script = "uid://djnkk7igqmtk"
|
||||
@@ -1,10 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="Preference" format=3 uid="uid://bdgqquall1x47"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://djnkk7igqmtk" path="res://scenes/character/preference.gd" id="1_q3e0e"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_q3e0e")
|
||||
name = "like_cats"
|
||||
trait_name = "cats"
|
||||
preference = 1
|
||||
metadata/_custom_type_script = "uid://djnkk7igqmtk"
|
||||
@@ -1,9 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="Preference" format=3 uid="uid://blr3mul2ugive"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://djnkk7igqmtk" path="res://scenes/character/preference.gd" id="1_1f367"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_1f367")
|
||||
name = "love_cats"
|
||||
trait_name = "cats"
|
||||
metadata/_custom_type_script = "uid://djnkk7igqmtk"
|
||||
@@ -1,9 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="Preference" format=3 uid="uid://cvebp8ld1pmjg"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://djnkk7igqmtk" path="res://scenes/character/preference.gd" id="1_pixtt"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_pixtt")
|
||||
name = "not_alone"
|
||||
preference = 4
|
||||
metadata/_custom_type_script = "uid://djnkk7igqmtk"
|
||||
@@ -1,10 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="Preference" format=3 uid="uid://grl1yslspjm1"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://djnkk7igqmtk" path="res://scenes/character/preference.gd" id="1_rwogu"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_rwogu")
|
||||
name = "racist"
|
||||
trait_name = "black"
|
||||
preference = 3
|
||||
metadata/_custom_type_script = "uid://djnkk7igqmtk"
|
||||
11
resources/traits/black.tres
Normal file
11
resources/traits/black.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://cefwc4j3p7m3v"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_hu4qv"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_hu4qv")
|
||||
name = "black"
|
||||
stimulis = Array[int]([0])
|
||||
category = 3
|
||||
tag = 9
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
11
resources/traits/enby.tres
Normal file
11
resources/traits/enby.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://ct4iy75ai7lmy"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_yly7p"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_yly7p")
|
||||
name = "enby"
|
||||
stimulis = Array[int]([0, 1])
|
||||
category = 1
|
||||
tag = 5
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
@@ -5,6 +5,7 @@
|
||||
[resource]
|
||||
script = ExtResource("1_ca15b")
|
||||
name = "man"
|
||||
stimulis = Array[int]([0])
|
||||
tags = Array[String](["gender"])
|
||||
stimulis = Array[int]([0, 1])
|
||||
category = 1
|
||||
tag = 3
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
|
||||
11
resources/traits/noble.tres
Normal file
11
resources/traits/noble.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://b118uebk1ldog"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_p35wh"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_p35wh")
|
||||
name = "royal"
|
||||
stimulis = Array[int]([0])
|
||||
category = 2
|
||||
tag = 7
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
@@ -6,5 +6,5 @@
|
||||
script = ExtResource("1_70ur6")
|
||||
name = "old"
|
||||
stimulis = Array[int]([1, 2])
|
||||
tags = Array[String](["age"])
|
||||
tag = 2
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
|
||||
11
resources/traits/peasant.tres
Normal file
11
resources/traits/peasant.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://exoxxj84dvsf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_7inbg"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_7inbg")
|
||||
name = "peasant"
|
||||
stimulis = Array[int]([0])
|
||||
category = 2
|
||||
tag = 8
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
11
resources/traits/royal.tres
Normal file
11
resources/traits/royal.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://bc376om20da8m"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_iabmh"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_iabmh")
|
||||
name = "royal"
|
||||
stimulis = Array[int]([0])
|
||||
category = 2
|
||||
tag = 6
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
@@ -6,5 +6,6 @@
|
||||
script = ExtResource("1_exp1s")
|
||||
name = "speaks_of_cats"
|
||||
stimulis = Array[int]([1])
|
||||
tags = Array[String](["talks_a_lot", "social", "cats"])
|
||||
category = 4
|
||||
tag = 12
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
|
||||
11
resources/traits/speaks_of_dogs.tres
Normal file
11
resources/traits/speaks_of_dogs.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://dy3wgs61t2gx5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_o8usb"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_o8usb")
|
||||
name = "speaks_of_dogs"
|
||||
stimulis = Array[int]([1])
|
||||
category = 4
|
||||
tag = 13
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
@@ -6,5 +6,6 @@
|
||||
script = ExtResource("1_yr2j7")
|
||||
name = "white"
|
||||
stimulis = Array[int]([0])
|
||||
tags = Array[String](["race"])
|
||||
category = 3
|
||||
tag = 10
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
[resource]
|
||||
script = ExtResource("1_yihyr")
|
||||
name = "woman"
|
||||
stimulis = Array[int]([0, 2])
|
||||
tags = Array[String](["gender"])
|
||||
stimulis = Array[int]([0, 1])
|
||||
category = 1
|
||||
tag = 4
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
|
||||
10
resources/traits/young.tres
Normal file
10
resources/traits/young.tres
Normal file
@@ -0,0 +1,10 @@
|
||||
[gd_resource type="Resource" script_class="Trait" format=3 uid="uid://blu5de2dhiu46"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cya40uohlvgbr" path="res://scenes/character/trait.gd" id="1_msbkw"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_msbkw")
|
||||
name = "young"
|
||||
stimulis = Array[int]([1, 2])
|
||||
tags = Array[int]([0])
|
||||
metadata/_custom_type_script = "uid://cya40uohlvgbr"
|
||||
@@ -3,21 +3,41 @@ extends Resource
|
||||
class_name CharacterResource
|
||||
|
||||
|
||||
enum Preference {
|
||||
LOVE,
|
||||
APPROVE,
|
||||
DISAPPROVE,
|
||||
HATE
|
||||
}
|
||||
|
||||
@export_category("General")
|
||||
@export var chara_sprite: Texture2D:
|
||||
set(value):
|
||||
chara_sprite = value
|
||||
changed.emit()
|
||||
|
||||
@export_category("Mask settings")
|
||||
@export var mask_eyes_location: Vector2 = Vector2.ZERO:
|
||||
@export_group("Eyes")
|
||||
@export var mask_eyes_position: Vector2 = Vector2.ZERO:
|
||||
set(value):
|
||||
mask_eyes_location = value
|
||||
mask_eyes_position = value
|
||||
changed.emit()
|
||||
@export var mask_mouth_location: Vector2 = Vector2.ZERO:
|
||||
@export_custom(PROPERTY_HINT_RANGE, "-360,360,0.1,or_greater,or_less,radians")
|
||||
var mask_eyes_rotation : float = 0.0:
|
||||
set(value):
|
||||
mask_mouth_location = value
|
||||
mask_eyes_rotation = value
|
||||
changed.emit()
|
||||
@export_group("Mouth")
|
||||
@export var mask_mouth_position: Vector2 = Vector2.ZERO:
|
||||
set(value):
|
||||
mask_mouth_position = value
|
||||
changed.emit()
|
||||
@export_custom(PROPERTY_HINT_RANGE, "-360,360,0.1,or_greater,or_less,radians")
|
||||
var mask_mouth_rotation : float = 0.0:
|
||||
set(value):
|
||||
mask_mouth_rotation = value
|
||||
changed.emit()
|
||||
|
||||
@export_category("Traits and preferences")
|
||||
@export var traits: Array[Trait]
|
||||
@export var preferences: Array[Preference]
|
||||
@export var preferences: Dictionary[Trait.Tag, Preference]
|
||||
|
||||
@@ -6,21 +6,16 @@ class_name Character
|
||||
set(new_resource):
|
||||
chara_resource = new_resource
|
||||
_on_chara_resource_changed()
|
||||
# Connect the changed signal as soon as a new resource is being added.
|
||||
if chara_resource != null:
|
||||
chara_resource.changed.connect(_on_chara_resource_changed)
|
||||
if chara_resource == null:
|
||||
return
|
||||
chara_resource.changed.connect(_on_chara_resource_changed)
|
||||
|
||||
@onready var face: Sprite2D = $Face
|
||||
@onready var mask_eyes: Mask = $MaskEyes
|
||||
@onready var mask_mouth: Mask = $MaskMouth
|
||||
|
||||
var mask_eyes_location: Vector2
|
||||
var mask_mouth_location: Vector2
|
||||
|
||||
func _on_chara_resource_changed() -> void:
|
||||
face.texture = chara_resource.chara_sprite
|
||||
mask_eyes_location = chara_resource.mask_eyes_location
|
||||
mask_mouth_location = chara_resource.mask_mouth_location
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
@@ -41,5 +36,10 @@ func _game_process(delta: float) -> void:
|
||||
|
||||
|
||||
func _engine_process(delta: float) -> void:
|
||||
mask_eyes.position = mask_eyes_location
|
||||
mask_mouth.position = mask_mouth_location
|
||||
if chara_resource == null:
|
||||
return
|
||||
|
||||
mask_eyes.position = chara_resource.mask_eyes_position
|
||||
mask_eyes.rotation = chara_resource.mask_eyes_rotation
|
||||
mask_mouth.position = chara_resource.mask_mouth_position
|
||||
mask_mouth.rotation = chara_resource.mask_mouth_rotation
|
||||
|
||||
@@ -13,8 +13,9 @@ chara_resource = ExtResource("2_fgi2k")
|
||||
texture = ExtResource("3_f8hpl")
|
||||
|
||||
[node name="MaskMouth" parent="." unique_id=1087336064 instance=ExtResource("3_mutn8")]
|
||||
position = Vector2(-13.425, -173.61)
|
||||
position = Vector2(-7.63, -186.87)
|
||||
rotation = -0.18849556
|
||||
|
||||
[node name="MaskEyes" parent="." unique_id=428968220 instance=ExtResource("3_mutn8")]
|
||||
position = Vector2(-7.325, -274.11)
|
||||
scale = Vector2(2.599999, 0.76)
|
||||
position = Vector2(-21.75, -274.015)
|
||||
rotation = 0.06981317
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
extends Resource
|
||||
class_name Preference
|
||||
|
||||
enum Pref {
|
||||
LOVE,
|
||||
APPROVE,
|
||||
DONT_CARE,
|
||||
DISAPPROVE,
|
||||
HATE
|
||||
}
|
||||
|
||||
@export var name: String
|
||||
@export var trait_name: String
|
||||
@export var preference: Pref
|
||||
@@ -1 +0,0 @@
|
||||
uid://djnkk7igqmtk
|
||||
@@ -1,11 +0,0 @@
|
||||
extends Resource
|
||||
class_name TagResource
|
||||
|
||||
enum Stimuli {
|
||||
VISION,
|
||||
SPEAKING,
|
||||
HEARING
|
||||
}
|
||||
|
||||
@export var name: String
|
||||
@export var stimulis: Array[Stimuli]
|
||||
@@ -1 +0,0 @@
|
||||
uid://837kteb5ihhm
|
||||
@@ -1,16 +1,35 @@
|
||||
extends Resource
|
||||
class_name Trait
|
||||
|
||||
|
||||
enum Stimuli {
|
||||
VISION,
|
||||
SOUND,
|
||||
SMELL
|
||||
}
|
||||
|
||||
enum Category {
|
||||
AGE,
|
||||
GENDER,
|
||||
SOCIAL_CLASS,
|
||||
RACE,
|
||||
ANIMALS,
|
||||
SOCIABILITY,
|
||||
OTHER
|
||||
}
|
||||
|
||||
enum Tag {
|
||||
YOUNG, MIDDLE_AGED, OLD,
|
||||
MAN, WOMAN, ENBY,
|
||||
ROYAL, NOBLE, PEASANT,
|
||||
BLACK, WHITE, ALIEN,
|
||||
CAT, DOG,
|
||||
ALONE, NOT_ALONE
|
||||
}
|
||||
|
||||
@export var name : String
|
||||
@export var stimulis : Array[Stimuli]
|
||||
@export var tags : Array[String]
|
||||
@export var category : Category
|
||||
@export var tag : Tag
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
|
||||
@@ -1,7 +1,21 @@
|
||||
@tool
|
||||
extends Node2D
|
||||
class_name Mask
|
||||
|
||||
@export var mask_resource: MaskResource:
|
||||
set(new_resource):
|
||||
mask_resource = new_resource
|
||||
_on_mask_resource_changed()
|
||||
if mask_resource == null:
|
||||
return
|
||||
mask_resource.changed.connect(_on_mask_resource_changed)
|
||||
|
||||
@onready var mask_sprite: Sprite2D = $MaskSprite
|
||||
|
||||
|
||||
func _on_mask_resource_changed() -> void:
|
||||
mask_sprite.texture = mask_resource.mask_sprite
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
@@ -9,4 +23,17 @@ func _ready() -> void:
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
if Engine.is_editor_hint():
|
||||
_engine_process(delta)
|
||||
else:
|
||||
_game_process(delta)
|
||||
|
||||
|
||||
func _game_process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _engine_process(delta: float) -> void:
|
||||
if mask_resource == null:
|
||||
return
|
||||
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
|
||||
[ext_resource type="Script" uid="uid://cfo3mk5f2q3ej" path="res://scenes/mask/mask.gd" id="1_61b51"]
|
||||
[ext_resource type="Texture2D" uid="uid://cftllq6l7xclt" path="res://icon.svg" id="1_jlvus"]
|
||||
[ext_resource type="Resource" uid="uid://pdiaprcknftw" path="res://resources/masks/mute.tres" id="2_0pm64"]
|
||||
|
||||
[node name="Mask" type="Node2D" unique_id=428968220]
|
||||
script = ExtResource("1_61b51")
|
||||
mask_resource = ExtResource("2_0pm64")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1997645103]
|
||||
[node name="MaskSprite" type="Sprite2D" parent="." unique_id=1997645103]
|
||||
texture = ExtResource("1_jlvus")
|
||||
|
||||
45
scenes/mask/mask_resource.gd
Normal file
45
scenes/mask/mask_resource.gd
Normal file
@@ -0,0 +1,45 @@
|
||||
@tool
|
||||
extends Resource
|
||||
class_name MaskResource
|
||||
|
||||
enum Region {
|
||||
EYES,
|
||||
MOUTH,
|
||||
}
|
||||
|
||||
@export_category("General")
|
||||
@export var mask_sprite: Texture2D:
|
||||
set(value):
|
||||
mask_sprite = value
|
||||
changed.emit()
|
||||
|
||||
@export var region: Region:
|
||||
set(value):
|
||||
region = value
|
||||
changed.emit()
|
||||
|
||||
@export_category("Stimuli")
|
||||
@export var stimuli: Trait.Stimuli:
|
||||
set(value):
|
||||
stimuli = value
|
||||
changed.emit()
|
||||
@export var stimuli_multiplier: float = 1.0:
|
||||
set(value):
|
||||
stimuli_multiplier = value
|
||||
changed.emit()
|
||||
|
||||
@export_category("Category")
|
||||
@export var category: Trait.Category:
|
||||
set(value):
|
||||
category = value
|
||||
changed.emit()
|
||||
@export var category_multiplier: float = 1.0:
|
||||
set(value):
|
||||
category_multiplier = value
|
||||
changed.emit()
|
||||
|
||||
@export_category("Tags")
|
||||
@export var tags_multipliers: Dictionary[Trait.Tag, CharacterResource.Preference]:
|
||||
set(value):
|
||||
tags_multipliers = value
|
||||
changed.emit()
|
||||
1
scenes/mask/mask_resource.gd.uid
Normal file
1
scenes/mask/mask_resource.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://d26mv2xtvmpqt
|
||||
Reference in New Issue
Block a user