Data Part 3.

This commit is contained in:
Relintai 2019-11-20 13:59:32 +01:00
parent 7bbe78a1f7
commit 72d9502698
82 changed files with 11490 additions and 0 deletions

View File

@ -0,0 +1,3 @@
[gd_resource type="PropData" format=2]
[resource]

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,72 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://data/models/armature.dae" type="PackedScene" id=1]
[ext_resource path="res://data/materials/Character.material" type="Material" id=2]
[sub_resource type="Skin" id=1]
bind_count = 29
bind/0/bone = 0
bind/0/pose = Transform( 1, 0, 0, 0, 0, 1, 0, -1, 0, 3.23883e-05, -0.000216131, 0 )
bind/1/bone = 1
bind/1/pose = Transform( 1, 0, 0, 0, 4.71856e-07, 1, 0, -1, 4.71856e-07, 0, -3.6933e-07, 0.782716 )
bind/2/bone = 2
bind/2/pose = Transform( 0.999745, -0.00621639, 0.0217112, -0.0215977, 0.0177767, 0.999609, -0.00659991, -0.999823, 0.0176379, 0.0051749, -0.0147984, 0.832313 )
bind/3/bone = 3
bind/3/pose = Transform( 1, -9.35914e-10, 1.36474e-09, -3.07044e-09, -0.00336038, 0.999994, 1.03179e-11, -0.999994, -0.00336038, -0.00103352, 0.00608555, 0.989014 )
bind/4/bone = 4
bind/4/pose = Transform( 1, 6.39974e-07, -8.89245e-07, 8.80181e-07, 0.0113912, 0.999935, 6.50979e-07, -0.999935, 0.0113912, -0.00103425, -0.0106821, 1.13661 )
bind/5/bone = 5
bind/5/pose = Transform( 1, -0.000269678, 0.00012004, -9.65309e-05, 0.0855512, 0.996334, -0.000278958, -0.996334, 0.0855512, -0.000675752, -0.108904, 1.31976 )
bind/6/bone = 6
bind/6/pose = Transform( 1, 8.17762e-05, -0.000263342, 0.000258866, 0.0505959, 0.998719, 9.49964e-05, -0.998719, 0.0505959, -0.00116505, -0.0605734, 1.38071 )
bind/7/bone = 7
bind/7/pose = Transform( 0.0070114, 0.0774384, 0.996973, 0.0774383, 0.993961, -0.0777491, -0.996973, 0.077749, 0.000972474, -0.0888093, -1.27436, -0.0663258 )
bind/8/bone = 8
bind/8/pose = Transform( -0.0450563, 0.0440544, 0.998013, 0.0597335, 0.997358, -0.0413288, -0.997197, 0.0577527, -0.0475687, -0.0382999, -1.27552, 0.0819168 )
bind/9/bone = 9
bind/9/pose = Transform( 0.018514, 0.0309238, 0.999351, 0.0309247, 0.999026, -0.0314866, -0.99935, 0.0314876, 0.0175398, -0.0477363, -1.26588, 0.367749 )
bind/10/bone = 10
bind/10/pose = Transform( -0.0261653, 0.130666, -0.991081, 0.130703, -0.982463, -0.132981, -0.991077, -0.133017, 0.00862804, -0.14878, 1.14002, 0.808164 )
bind/11/bone = 11
bind/11/pose = Transform( -0.475656, 0.00430243, 0.879621, 0.00321754, 0.99999, -0.00315133, -0.879625, 0.00133117, -0.475665, 0.288726, -1.25067, 0.663522 )
bind/12/bone = 12
bind/12/pose = Transform( -0.000220652, -0.000277932, 1, -0.00033695, 1, 0.000277874, -1, -0.000336981, -0.000220243, -0.0736739, -1.24826, 0.755929 )
bind/13/bone = 13
bind/13/pose = Transform( 0.00944621, 0.00316354, 0.99995, 0.0031337, 0.99999, -0.00319319, -0.99995, 0.00316359, 0.00943633, -0.00736828, -1.26387, 0.752371 )
bind/14/bone = 14
bind/14/pose = Transform( -0.00970714, 0.0022499, 0.99995, 0.00216275, 0.999995, -0.00222893, -0.99995, 0.00214089, -0.00971184, 0.0090317, -1.2631, 0.793296 )
bind/15/bone = 15
bind/15/pose = Transform( 0.00658962, -0.0806899, -0.996717, -0.0806899, 0.993446, -0.0809585, 0.996717, 0.0809585, 3.55672e-05, 0.0929316, -1.27391, -0.0704344 )
bind/16/bone = 16
bind/16/pose = Transform( -0.0392234, -0.0752374, -0.996394, -0.0366487, 0.996599, -0.0738102, 0.998558, 0.0336215, -0.0418473, 0.0788543, -1.27095, 0.113026 )
bind/17/bone = 17
bind/17/pose = Transform( 0.0229175, -0.0602779, -0.997918, -0.0474641, 0.99699, -0.0613119, 0.99861, 0.0487704, 0.0199874, 0.0853213, -1.27585, 0.345435 )
bind/18/bone = 18
bind/18/pose = Transform( 0.0297753, 0.0829781, -0.996106, 0.0950469, 0.991797, 0.0854602, 0.995027, -0.0972214, 0.0216442, -0.0890907, -1.17633, 0.766162 )
bind/19/bone = 19
bind/19/pose = Transform( -0.487887, -0.0560933, -0.871102, -0.0378187, 0.998354, -0.043106, 0.872087, 0.0119131, -0.489205, -0.236206, -1.27171, 0.644798 )
bind/20/bone = 20
bind/20/pose = Transform( 0.0047264, -0.0569537, -0.998365, -0.043808, 0.997407, -0.0571064, 0.999029, 0.0440063, 0.00221903, 0.146303, -1.27405, 0.699947 )
bind/21/bone = 21
bind/21/pose = Transform( -0.00289687, -0.0125321, -0.999917, 0.000557556, 0.999921, -0.0125339, 0.999996, -0.00059382, -0.00288967, 0.00642652, -1.25875, 0.757343 )
bind/22/bone = 22
bind/22/pose = Transform( 0.00643235, -0.0318082, -0.999473, -0.0188087, 0.999313, -0.0319243, 0.999802, 0.0190041, 0.00582965, 0.0381318, -1.27355, 0.772322 )
bind/23/bone = 23
bind/23/pose = Transform( 0.997079, 0.0643905, 0.0415419, 0.0406052, 0.0156588, -0.999053, -0.0649775, 0.997802, 0.0129985, -0.124325, -0.0162939, -0.795408 )
bind/24/bone = 24
bind/24/pose = Transform( 0.998221, 0.051846, 0.0300808, 0.0276995, 0.0458923, -0.998563, -0.053149, 0.9976, 0.0443741, -0.118691, -0.0290485, -0.456133 )
bind/25/bone = 25
bind/25/pose = Transform( 0.998432, 0.0379936, -0.0415485, 0.0267438, -0.969472, -0.243743, -0.0495496, 0.242244, -0.968951, -0.119631, 0.0441252, -0.0300586 )
bind/26/bone = 26
bind/26/pose = Transform( 0.997517, -0.0648327, -0.0280861, -0.0272034, 0.0143568, -0.999527, 0.0652032, 0.997793, 0.0125575, 0.124711, -0.0142854, -0.795383 )
bind/27/bone = 27
bind/27/pose = Transform( 0.998496, -0.0523874, -0.0171451, -0.0147558, 0.0455334, -0.998855, 0.0531055, 0.997589, 0.0446915, 0.119101, -0.0275243, -0.456326 )
bind/28/bone = 28
bind/28/pose = Transform( 0.997795, 0.00782495, 0.066146, 0.0235858, -0.970258, -0.240925, 0.0623004, 0.241949, -0.968288, 0.117675, 0.0501108, -0.0285344 )
[node name="armature" instance=ExtResource( 1 )]
[node name="Male" parent="Armature/Skeleton" index="0"]
visible = false
skin = SubResource( 1 )
material/0 = ExtResource( 2 )

File diff suppressed because one or more lines are too long

Binary file not shown.

BIN
game/data/models/ttt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/ttt.png-0185682edec66eea5f16d7601fab19c5.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://data/models/ttt.png"
dest_files=[ "res://.import/ttt.png-0185682edec66eea5f16d7601fab19c5.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=2
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=1
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

View File

@ -0,0 +1,9 @@
[gd_resource type="PlanetData" load_steps=3 format=2]
[ext_resource path="res://data/biomes/1_test.tres" type="BiomeData" id=1]
[ext_resource path="res://scripts/planets/simple_planet.gd" type="Script" id=2]
[resource]
id = 1
target_script = ExtResource( 2 )
biome_datas = [ ExtResource( 1 ) ]

View File

@ -0,0 +1,9 @@
[gd_resource type="PlanetData" load_steps=3 format=2]
[ext_resource path="res://data/biomes/2_tdungb.tres" type="BiomeData" id=1]
[ext_resource path="res://scripts/planets/dung_simple_planet.gd" type="Script" id=2]
[resource]
id = 2
target_script = ExtResource( 2 )
biome_datas = [ ExtResource( 1 ) ]

View File

@ -0,0 +1,17 @@
[gd_resource type="EntityData" load_steps=5 format=2]
[ext_resource path="res://data/entity_classes/1_naturalist.tres" type="EntityClassData" id=1]
[ext_resource path="res://scripts/entities/EntityDataGD.gd" type="Script" id=2]
[ext_resource path="res://data/crafting/1_test_craft.tres" type="CraftRecipe" id=3]
[ext_resource path="res://data/crafting/2_chest_of_the_infinite_wisdom.tres" type="CraftRecipe" id=4]
[resource]
resource_name = "Naturalist"
id = 1
entity_type = 4
entity_controller = 1
text_name = "Naturalist"
bag_size = 24
entity_class_data = ExtResource( 1 )
craft_recipes = [ ExtResource( 3 ), ExtResource( 4 ) ]
script = ExtResource( 2 )

View File

@ -0,0 +1,12 @@
[gd_resource type="EntityData" load_steps=3 format=2]
[ext_resource path="res://data/entity_classes/2_berserker.tres" type="EntityClassData" id=1]
[ext_resource path="res://scripts/entities/EntityDataGD.gd" type="Script" id=2]
[resource]
id = 2
entity_type = 4
entity_controller = 1
bag_size = 24
entity_class_data = ExtResource( 1 )
script = ExtResource( 2 )

View File

@ -0,0 +1,3 @@
[gd_scene format=2]
[node name="Spatial" type="Spatial"]

View File

@ -0,0 +1,3 @@
[gd_resource type="PropData" format=2]
[resource]

View File

@ -0,0 +1,20 @@
[gd_resource type="Shader" format=2]
[resource]
code = "shader_type spatial;
//render_mode unshaded, cull_disabled;
//render_mode unshaded;
//render_mode specular_toon;
render_mode vertex_lighting;
render_mode shadows_disabled;
//render_mode ambient_light_disabled;
void fragment() {
METALLIC = 0.0;
ROUGHNESS = 0.01;
ALBEDO = vec3(0.1, 0.3, 0.5);
}
void light() {
DIFFUSE_LIGHT += dot(NORMAL, LIGHT) * ATTENUATION * ALBEDO;
}"

View File

@ -0,0 +1,59 @@
[gd_resource type="PropData" load_steps=12 format=2]
[ext_resource path="res://data/basic_models/ship_base.dae" type="MeshDataResource" id=1]
[ext_resource path="res://data/ship_parts/ship_simple.png" type="Texture" id=2]
[sub_resource type="PropDataMesh" id=1]
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 1, 0.5, -0.5, 0 )
mesh = ExtResource( 1 )
texture = ExtResource( 2 )
snap_to_mesh = false
[sub_resource type="PropDataMesh" id=2]
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 1, -0.5, -0.5, 0 )
mesh = ExtResource( 1 )
texture = ExtResource( 2 )
snap_to_mesh = false
[sub_resource type="PropDataMesh" id=3]
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 1, 1.5, -0.5, 0 )
mesh = ExtResource( 1 )
texture = ExtResource( 2 )
snap_to_mesh = false
[sub_resource type="PropDataMesh" id=4]
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 1, -1.5, -0.5, 0 )
mesh = ExtResource( 1 )
texture = ExtResource( 2 )
snap_to_mesh = false
[sub_resource type="PropDataMesh" id=5]
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 1, -1.5, 0.5, 0 )
mesh = ExtResource( 1 )
texture = ExtResource( 2 )
snap_to_mesh = false
[sub_resource type="PropDataMesh" id=6]
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 1, -0.5, 0.5, 0 )
mesh = ExtResource( 1 )
texture = ExtResource( 2 )
snap_to_mesh = false
[sub_resource type="PropDataMesh" id=7]
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 1, 0.5, 0.5, 0 )
mesh = ExtResource( 1 )
texture = ExtResource( 2 )
snap_to_mesh = false
[sub_resource type="PropDataMesh" id=8]
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 1, 1.5, 0.5, 0 )
mesh = ExtResource( 1 )
texture = ExtResource( 2 )
snap_to_mesh = false
[sub_resource type="PropDataLight" id=9]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.55548 )
light_color = Color( 0.223529, 0.921569, 0, 1 )
[resource]
props = [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ), SubResource( 9 ) ]

Binary file not shown.

View File

@ -0,0 +1,31 @@
[gd_resource type="PropData" load_steps=8 format=2]
[ext_resource path="res://data/ship_parts/1_wall_simple.tres" type="PropData" id=1]
[sub_resource type="PropDataProp" id=1]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
prop = ExtResource( 1 )
[sub_resource type="PropDataProp" id=2]
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2, 1, -2 )
prop = ExtResource( 1 )
[sub_resource type="PropDataProp" id=3]
transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -2.38419e-07, 1, -4 )
prop = ExtResource( 1 )
[sub_resource type="PropDataProp" id=4]
transform = Transform( 1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -2, 1, -2 )
prop = ExtResource( 1 )
[sub_resource type="PropDataProp" id=5]
transform = Transform( 3.55271e-15, 1, -2.98023e-08, -1.31134e-07, 2.98023e-08, 1, 1, 0, 1.31134e-07, -1, 2, -2 )
prop = ExtResource( 1 )
[sub_resource type="PropDataProp" id=6]
transform = Transform( 3.55271e-15, 1, -2.98023e-08, -1.31134e-07, 2.98023e-08, 1, 1, 0, 1.31134e-07, 1, 2, -2 )
prop = ExtResource( 1 )
[resource]
snap_to_mesh = true
props = [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ]

View File

@ -0,0 +1,27 @@
[gd_scene load_steps=5 format=2]
[sub_resource type="SpatialMaterial" id=1]
albedo_color = Color( 0.635294, 0.462745, 0.239216, 1 )
[sub_resource type="CubeMesh" id=2]
material = SubResource( 1 )
size = Vector3( 1, 0.01, 0.01 )
[sub_resource type="SpatialMaterial" id=3]
albedo_color = Color( 0.866667, 0.917647, 0.984314, 1 )
[sub_resource type="PrismMesh" id=4]
material = SubResource( 3 )
size = Vector3( 0.01, 0.01, 0.01 )
[node name="Arrow" type="Spatial"]
[node name="MeshInstance" type="MeshInstance" parent="."]
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 0 )
mesh = SubResource( 2 )
material/0 = null
[node name="MeshInstance2" type="MeshInstance" parent="."]
transform = Transform( 2.65431e-14, -1.62921e-07, 1, -1, -1.62921e-07, 0, 1.62921e-07, -1, -1.62921e-07, 0, 0, -0.504589 )
mesh = SubResource( 4 )
material/0 = null

View File

@ -0,0 +1,38 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://data/spell_effects/textures/small_star.png" type="Texture" id=1]
[sub_resource type="SpatialMaterial" id=1]
flags_transparent = true
flags_unshaded = true
flags_do_not_receive_shadows = true
vertex_color_use_as_albedo = true
params_specular_mode = 4
params_blend_mode = 1
params_cull_mode = 2
params_billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
albedo_texture = ExtResource( 1 )
[sub_resource type="QuadMesh" id=2]
material = SubResource( 1 )
[node name="AOSCastFinish" type="CPUParticles"]
emitting = false
amount = 4
lifetime = 4.0
one_shot = true
mesh = SubResource( 2 )
emission_shape = 1
emission_sphere_radius = 0.1
gravity = Vector3( 0, 0, 0 )
angular_velocity = 234.0
angular_velocity_random = 0.09
linear_accel = 0.1
linear_accel_random = 0.1
scale_amount = 0.7
color = Color( 0.0352941, 0.286275, 0.0823529, 1 )
hue_variation = 0.13

View File

@ -0,0 +1,48 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://data/spell_effects/textures/star.png" type="Texture" id=1]
[sub_resource type="SpatialMaterial" id=1]
flags_transparent = true
flags_unshaded = true
vertex_color_use_as_albedo = true
params_specular_mode = 4
params_blend_mode = 1
params_billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
albedo_color = Color( 0.0627451, 0.741176, 0.619608, 1 )
albedo_texture = ExtResource( 1 )
[sub_resource type="QuadMesh" id=2]
material = SubResource( 1 )
[sub_resource type="Animation" id=3]
resource_name = "Anim"
length = 0.3
step = 0.01
tracks/0/type = "value"
tracks/0/path = NodePath("MeshInstance:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.08, 0.09, 0.3 ),
"transitions": PoolRealArray( 5.09824, 1, 1.31951, 1 ),
"update": 0,
"values": [ Vector3( 0.1, 0.1, 0.1 ), Vector3( 1, 1, 1 ), Vector3( 1, 1, 1 ), Vector3( 0.1, 0.1, 0.1 ) ]
}
[node name="AmplifyPain" type="Spatial"]
[node name="MeshInstance" type="MeshInstance" parent="."]
transform = Transform( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0 )
mesh = SubResource( 2 )
material/0 = null
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "Anim"
anims/Anim = SubResource( 3 )

View File

@ -0,0 +1,71 @@
[gd_scene load_steps=7 format=2]
[ext_resource path="res://data/spell_effects/textures/main_texture.png" type="Texture" id=1]
[ext_resource path="res://data/spell_effects/textures/big_glow.png" type="Texture" id=2]
[sub_resource type="SpatialMaterial" id=1]
flags_transparent = true
flags_unshaded = true
vertex_color_use_as_albedo = true
params_specular_mode = 4
params_blend_mode = 1
params_cull_mode = 2
params_billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
albedo_texture = ExtResource( 1 )
[sub_resource type="QuadMesh" id=2]
material = SubResource( 1 )
size = Vector2( 0.1, 0.1 )
[sub_resource type="SpatialMaterial" id=3]
flags_transparent = true
flags_unshaded = true
vertex_color_use_as_albedo = true
params_specular_mode = 4
params_blend_mode = 1
params_cull_mode = 2
params_billboard_mode = 1
albedo_color = Color( 0.027451, 0.537255, 0.317647, 1 )
albedo_texture = ExtResource( 2 )
[sub_resource type="QuadMesh" id=4]
material = SubResource( 3 )
size = Vector2( 0.3, 0.3 )
[node name="NatureCast" type="Spatial"]
[node name="CPUParticles" type="CPUParticles" parent="."]
amount = 5
lifetime = 0.29
explosiveness = 0.08
randomness = 0.77
lifetime_randomness = 1.0
local_coords = false
mesh = SubResource( 2 )
emission_shape = 1
emission_sphere_radius = 0.1
direction = Vector3( 1, 1, 1 )
spread = 180.0
gravity = Vector3( 0, -9, 0 )
initial_velocity = 1.0
initial_velocity_random = 1.0
angular_velocity = 397.64
angular_velocity_random = 0.2
radial_accel = 1.0
tangential_accel = 6.9
tangential_accel_random = 0.21
damping = 6.54
damping_random = 0.5
angle = 426.5
angle_random = 1.0
scale_amount = 0.3
scale_amount_random = 1.0
color = Color( 0.0901961, 0.501961, 0.247059, 1 )
[node name="MeshInstance" type="MeshInstance" parent="."]
mesh = SubResource( 4 )
material/0 = null

View File

@ -0,0 +1,95 @@
[gd_scene load_steps=7 format=2]
[ext_resource path="res://data/spell_effects/textures/arrows.png" type="Texture" id=1]
[sub_resource type="SpatialMaterial" id=1]
flags_unshaded = true
vertex_color_use_as_albedo = true
params_specular_mode = 4
params_blend_mode = 1
params_cull_mode = 2
params_billboard_mode = 3
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id=2]
material = SubResource( 1 )
size = Vector2( 0.02, 0.02 )
[sub_resource type="SpatialMaterial" id=3]
flags_transparent = true
flags_unshaded = true
params_specular_mode = 4
params_blend_mode = 1
params_cull_mode = 2
albedo_color = Color( 0.0470588, 0.898039, 0.380392, 0.435294 )
albedo_texture = ExtResource( 1 )
[sub_resource type="QuadMesh" id=4]
material = SubResource( 3 )
size = Vector2( 0.8, 0.8 )
[sub_resource type="Animation" id=5]
length = 2.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("MeshInstance:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.5, 1, 1.49, 2 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1 ),
"update": 0,
"values": [ Vector3( 0.8, 0.8, 0.8 ), Vector3( 1, 1, 1 ), Vector3( 0.8, 0.8, 0.8 ), Vector3( 1, 1, 1 ), Vector3( 0.8, 0.8, 0.8 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("MeshInstance:rotation_degrees")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 1, 2 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector3( 90, 0, 0 ), Vector3( 90, 180, 0 ), Vector3( 90, 360, 0 ) ]
}
[node name="NautreSwiftness" type="Spatial"]
[node name="CPUParticles" type="CPUParticles" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0 )
amount = 3
lifetime = 0.8
explosiveness = 0.61
mesh = SubResource( 2 )
emission_shape = 2
emission_box_extents = Vector3( 0.3, 0.2, 0.3 )
direction = Vector3( 0, 1, 0 )
spread = 21.8
gravity = Vector3( 0, 3.26, 0 )
initial_velocity = 1.0
initial_velocity_random = 0.59
angular_velocity = 37.24
angular_velocity_random = 0.61
radial_accel = 1.72
radial_accel_random = 0.44
tangential_accel = 1.72
damping = 3.45
angle = 720.0
angle_random = 0.35
color = Color( 0.117647, 0.866667, 0.560784, 1 )
hue_variation = -0.24
hue_variation_random = 1.0
[node name="MeshInstance" type="MeshInstance" parent="."]
transform = Transform( -0.395711, 0.858146, -1.3981e-07, 0, -1.53958e-07, -0.944988, -0.858146, -0.395711, 6.44696e-08, 0, 0, 0 )
mesh = SubResource( 4 )
material/0 = null
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "Anim"
anims/Anim = SubResource( 5 )

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/arrows.png-e04cf4aa970f723402f40b1f4c1c0b3b.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://data/spell_effects/textures/arrows.png"
dest_files=[ "res://.import/arrows.png-e04cf4aa970f723402f40b1f4c1c0b3b.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=true
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/big_glow.png-d3eda1d6185d63bdc430c646a22bb62f.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://data/spell_effects/textures/big_glow.png"
dest_files=[ "res://.import/big_glow.png-d3eda1d6185d63bdc430c646a22bb62f.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/main_texture.png-f00e0ab4ed97ff1475835686a7454874.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://data/spell_effects/textures/main_texture.png"
dest_files=[ "res://.import/main_texture.png-f00e0ab4ed97ff1475835686a7454874.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/small_star.png-df42addd723ec8255619446fbe11ce1a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://data/spell_effects/textures/small_star.png"
dest_files=[ "res://.import/small_star.png-df42addd723ec8255619446fbe11ce1a.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=2
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/star.png-d57669aa5fea5b6090428296488efa8d.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://data/spell_effects/textures/star.png"
dest_files=[ "res://.import/star.png-d57669aa5fea5b6090428296488efa8d.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

View File

@ -0,0 +1,26 @@
[gd_resource type="Spell" load_steps=6 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/aspect_of_scorpions.tres" type="Texture" id=2]
[ext_resource path="res://data/auras/10_aspect_of_scorpions_rank_1.tres" type="Aura" id=3]
[ext_resource path="res://data/effect_data/aspect_of_scorpions.tres" type="SpellEffectVisual" id=4]
[ext_resource path="res://data/spells/27_aspect_of_scorpions.tres" type="Spell" id=5]
[resource]
resource_name = "Aspect of Scorpions"
id = 10
spell_type = 8
rank = 10
icon = ExtResource( 2 )
visual_spell_effects = ExtResource( 4 )
text_name = "Aspect of Scorpions"
text_description = "Range: 26m.
Casttime: {3}.
Deals 340 to 380 damage every 3 sec, and increases damage taken by 10% for 30 sec."
target_aura_applys = [ ExtResource( 3 ) ]
range = true
range_range = 26.0
cast = true
cast_cast_time = 1.2
training_required_spell = ExtResource( 5 )
script = ExtResource( 1 )

View File

@ -0,0 +1,26 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/aspect_of_wasps.tres" type="Texture" id=2]
[ext_resource path="res://data/auras/11_aspect_of_wasps_rank1.tres" type="Aura" id=3]
[resource]
resource_name = "Aspect of Wasps"
id = 11
spell_type = 8
rank = 10
icon = ExtResource( 2 )
text_name = "Aspect of Wasps"
text_description = "Range: 26m.
Instant.
Deals 230 to 270 damage every 3 sec, this damage increases over the duration, for 21 sec."
target_aura_applys = [ ExtResource( 3 ) ]
range = true
range_range = 26.0
cost_type = 480
give_resource_type = 480
aoe_targetType = 541
aoe_movement_type = 99418736
aoe_colliderType = 541
projectile_type = 541
script = ExtResource( 1 )

View File

@ -0,0 +1,26 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/aspect_of_wolves.tres" type="Texture" id=2]
[ext_resource path="res://data/auras/12_aspect_of_wolves_rank_1.tres" type="Aura" id=3]
[resource]
resource_name = "Aspect of Wolves"
id = 12
spell_type = 8
rank = 10
icon = ExtResource( 2 )
needs_target = true
text_name = "Aspect of Wolves"
text_description = "Range: 26m.
Deals 280 to 330 damage every 2 sec, and reduces melee and spell damage by 10% for 22 sec."
target_aura_applys = [ ExtResource( 3 ) ]
range = true
range_range = 26.0
cost_type = 480
give_resource_type = 480
aoe_targetType = 1129071960
aoe_movement_type = 2190112
aoe_colliderType = 1058050193
projectile_type = -1039400960
script = ExtResource( 1 )

View File

@ -0,0 +1,29 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/aspect_of_bees.tres" type="Texture" id=2]
[ext_resource path="res://data/auras/13_aspect_of_bees_rank_1.tres" type="Aura" id=3]
[resource]
resource_name = "Aspect of Bees"
id = 13
spell_type = 8
rank = 10
icon = ExtResource( 2 )
needs_target = true
text_name = "Aspect of Bees"
text_description = "Range: 26m.
Instant.
Cooldown: {2}
Deals 460 to 540 damage every 3 sec, healing you for 80% of the damage."
cooldown_cooldown = 21.0
target_aura_applys = [ ExtResource( 3 ) ]
range = true
range_range = 26.0
cost_type = 480
give_resource_type = 480
aoe_targetType = -1910718371
aoe_movement_type = 1611610192
aoe_colliderType = -298046312
projectile_type = 1065353216
script = ExtResource( 1 )

View File

@ -0,0 +1,43 @@
[gd_resource type="Spell" load_steps=7 format=2]
[ext_resource path="res://scripts/spells/amplify_pain.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/amplify_pain.tres" type="Texture" id=2]
[ext_resource path="res://scripts/resources/spell_effect_visual_basic.gd" type="Script" id=3]
[ext_resource path="res://data/spell_effects/nature/AmplifyPain.tscn" type="PackedScene" id=4]
[ext_resource path="res://data/spell_effects/nature/NatureCast.tscn" type="PackedScene" id=5]
[sub_resource type="SpellEffectVisual" id=1]
script = ExtResource( 3 )
spell_cast_effect_left_hand = ExtResource( 5 )
spell_cast_effect_right_hand = ExtResource( 5 )
torso_aura_effect_time = 0.0
root_aura_effect_time = 0.0
torso_spell_cast_finish_effect = ExtResource( 4 )
torso_spell_cast_finish_effect_time = 0.4
root_spell_cast_finish_effect_time = 1.0
[resource]
resource_name = "Amplify Pain"
id = 14
spell_type = 8
level = 10
icon = ExtResource( 2 )
visual_spell_effects = SubResource( 1 )
text_name = "Amplify Pain"
text_description = "Range: 26m.
Casttime: {3}.
Causes your damage over time effects to tick."
range = true
range_range = 26.0
cast = true
cast_cast_time = 1.5
damage = true
damage_type = 16
damage_min = 130
damage_max = 150
cost_type = 476
aoe_targetType = -1910718371
aoe_movement_type = 1611610192
aoe_colliderType = 1065353216
projectile_type = 882743928
script = ExtResource( 1 )

View File

@ -0,0 +1,25 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/rejuvenation.tres" type="Texture" id=2]
[ext_resource path="res://data/auras/14_rejuvenation_rank_1.tres" type="Aura" id=3]
[resource]
resource_name = "Rejuvenation"
id = 15
spell_type = 8
target_type = 2
target_relation_type = 4
rank = 1
icon = ExtResource( 2 )
text_name = "Rejuvenation"
text_description = "Instant.
Heals you for 400 to 450 every 3 sec for 30 sec."
caster_aura_applys = [ ExtResource( 3 ) ]
cost_type = 480
give_resource_type = 480
aoe_targetType = 32758
aoe_movement_type = -2000446188
aoe_colliderType = -2147479552
projectile_type = 4
script = ExtResource( 1 )

View File

@ -0,0 +1,25 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/close_wounds.tres" type="Texture" id=2]
[ext_resource path="res://data/auras/15_close_wounds_rank_1.tres" type="Aura" id=3]
[resource]
resource_name = "Close Wounds"
id = 16
spell_type = 8
target_type = 2
target_relation_type = -870457328
rank = 1
icon = ExtResource( 2 )
text_name = "Close Wounds"
text_description = "Casttime: 2 sec.
Cooldown: {2}
Heals you for 720 to 780 every 3 sec for 21 sec."
caster_aura_applys = [ ExtResource( 3 ) ]
cast = true
cast_cast_time = 1.3
give_resource_type = 2
aoe_movement_type = -2000446188
aoe_colliderType = -2147479552
script = ExtResource( 1 )

View File

@ -0,0 +1,28 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/ironbark.tres" type="Texture" id=2]
[ext_resource path="res://data/auras/16_ironbark_rank_1.tres" type="Aura" id=3]
[resource]
resource_name = "Ironbark"
id = 17
spell_type = 8
target_type = 480
target_relation_type = 914787760
rank = 1
icon = ExtResource( 2 )
text_name = "Ironbark"
text_description = "Instant.
Cooldown: {2}
Reduces damage taken by 70%. This spell is not on the global cooldown."
cooldown_cooldown = 60.0
cooldown_global_cooldown = false
caster_aura_applys = [ ExtResource( 3 ) ]
cost_type = 480
give_resource_type = 480
aoe_targetType = -1910718371
aoe_movement_type = 1611610192
aoe_colliderType = -298046312
projectile_type = 882743928
script = ExtResource( 1 )

View File

@ -0,0 +1,28 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://data/icons/naturalist/natures_swiftness.tres" type="Texture" id=1]
[ext_resource path="res://data/auras/17_natures_swiftness_rank_1.tres" type="Aura" id=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=3]
[resource]
resource_name = "Nature's Swiftness"
id = 18
spell_type = 8
target_type = 520
target_relation_type = 393653346
rank = 1
icon = ExtResource( 1 )
text_name = "Nature's Swiftness"
text_description = "Instant.
Cooldown: {2}
Increases your movement speed by 60% for 6 sec. This spell is not on the global cooldown."
cooldown_cooldown = 20.0
cooldown_global_cooldown = false
caster_aura_applys = [ ExtResource( 2 ) ]
cost_type = 480
give_resource_type = 480
aoe_targetType = 520
aoe_movement_type = 538514176
aoe_colliderType = 186459648
projectile_type = 101
script = ExtResource( 3 )

View File

@ -0,0 +1,27 @@
[gd_resource type="Spell" load_steps=3 format=2]
[ext_resource path="res://data/icons/naturalist/uproot.tres" type="Texture" id=1]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=2]
[resource]
resource_name = "Uproot"
id = 19
spell_type = 8
target_type = -2147460864
rank = 1
icon = ExtResource( 1 )
text_name = "Uproot"
text_description = "Instant.
Cooldown: {2}
Roots every enemy around you in a 15m radius for 8 sec. This spell doesn't have diminishing return."
cooldown_cooldown = 24.0
range = true
range_range = 15.0
cost_type = 480
give_resource_type = 6
aoe = true
aoe_targetType = -572653568
aoe_movement_type = -436862976
aoe_colliderType = 537722880
projectile_type = 6
script = ExtResource( 2 )

View File

@ -0,0 +1,24 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/test.tres" type="Texture" id=2]
[ext_resource path="res://data/spell_effects/enchanter/Arrow.tscn" type="PackedScene" id=4]
[resource]
resource_name = "adadadadadad"
spell_type = 16
target_relation_type = -138672214
rank = 1
icon = ExtResource( 2 )
needs_target = true
text_name = "adadadadadad"
damage = true
damage_min = 200
damage_max = 300
give_resource_type = 2
aoe_targetType = 1431112251
aoe_movement_type = 860237388
aoe_colliderType = 827465778
projectile = ExtResource( 4 )
projectile_speed = 50.0
script = ExtResource( 1 )

View File

@ -0,0 +1,27 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://data/icons/naturalist/root.tres" type="Texture" id=1]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=2]
[ext_resource path="res://data/auras/20_root_rank_1.tres" type="Aura" id=3]
[resource]
resource_name = "Root"
id = 20
spell_type = 8
rank = 1
icon = ExtResource( 1 )
text_name = "Root"
text_description = "Range: 26m.
Casttime: 1.5 sec.
Cooldown: {2}
Roots the target for 8 sec."
target_aura_applys = [ ExtResource( 3 ) ]
range = true
cast = true
cast_cast_time = 1.4
give_resource_type = 5
aoe_targetType = 8
aoe_movement_type = 1
aoe_colliderType = 537722880
projectile_type = 6
script = ExtResource( 2 )

View File

@ -0,0 +1,29 @@
[gd_resource type="Spell" load_steps=3 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/strength_of_nature.tres" type="Texture" id=2]
[resource]
resource_name = "Strength of Nature"
id = 21
spell_type = 8
target_type = -2147477248
target_relation_type = 24
level = 11
rank = 1
icon = ExtResource( 2 )
text_name = "Strength of Nature"
text_description = "Instant.
Cooldown: {2}
Heals you for 6700 to 7000."
cooldown_cooldown = 150.0
heal = true
heal_min = 6700
heal_max = 7000
cost_type = 480
give_resource_type = 2
aoe_targetType = 5
aoe_movement_type = 7602259
aoe_colliderType = 7602273
projectile_type = 8
script = ExtResource( 1 )

View File

@ -0,0 +1,23 @@
[gd_resource type="Spell" load_steps=3 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/shield_of_barbs.tres" type="Texture" id=2]
[resource]
resource_name = "Shield of Barbs"
id = 22
spell_type = 8
target_type = -2147456768
target_relation_type = 24
rank = 1
icon = ExtResource( 2 )
text_name = "Shield of Barbs"
text_description = "Instant.
Cooldown: {2}
Absorbs 4200 to 4400 damage, also deals 340 to 380 damage to any attacker, for 30 sec."
cooldown_cooldown = 45.0
give_resource_type = 5
aoe_targetType = 5
aoe_movement_type = 7274563
aoe_colliderType = 7929968
script = ExtResource( 1 )

View File

@ -0,0 +1,24 @@
[gd_resource type="Spell" load_steps=3 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/calm.tres" type="Texture" id=2]
[resource]
resource_name = "Calm"
id = 23
spell_type = 8
rank = 1
icon = ExtResource( 2 )
text_name = "Calm"
text_description = "Range: 26m.
Instant.
Cooldown: {2}
Reduces the target's melee and spell damage by 50% for 10 sec."
cooldown_cooldown = 90.0
cost_type = 480
give_resource_type = 5
aoe_targetType = -2147478784
aoe_movement_type = 1
aoe_colliderType = 7602273
projectile_type = 5
script = ExtResource( 1 )

View File

@ -0,0 +1,25 @@
[gd_resource type="Spell" load_steps=3 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/attunement.tres" type="Texture" id=2]
[resource]
resource_name = "Attunement"
id = 24
spell_type = 8
target_type = -2147448576
target_relation_type = 24
rank = 1
icon = ExtResource( 2 )
text_name = "Attunement"
text_description = "Instant.
Cooldown: {2}
Increases your spell damage by 30% for 20 sec."
cooldown_cooldown = 180.0
cost_type = 480
give_resource_type = 6
aoe_targetType = 2
aoe_movement_type = 915097248
aoe_colliderType = 480
projectile_type = 8
script = ExtResource( 1 )

View File

@ -0,0 +1,23 @@
[gd_resource type="Spell" load_steps=3 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/inner_will.tres" type="Texture" id=2]
[resource]
resource_name = "Inner Will"
id = 25
spell_type = 1
target_type = 2
target_relation_type = -11822355
icon = ExtResource( 2 )
text_name = "Inner Will"
text_description = "Cooldown: 1.5 min.
Removes any movement impairing effects, stuns, and effects which makes you lose control of your character. This spell is not on the global cooldown."
cooldown_cooldown = 90.0
cooldown_global_cooldown = false
cost_type = 480
give_resource_type = 5
aoe_targetType = 7
aoe_movement_type = 18
aoe_colliderType = 480
script = ExtResource( 1 )

View File

@ -0,0 +1,21 @@
[gd_resource type="Spell" load_steps=3 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/icons/naturalist/regenerate.tres" type="Texture" id=2]
[resource]
resource_name = "Rest"
id = 26
spell_type = 1
target_type = 2
target_relation_type = 24
icon = ExtResource( 2 )
text_name = "Rest"
text_description = "Rest for 30 seconds, greatly increasing your regeneration."
cost_type = 480
give_resource_type = 6
aoe_targetType = 5
aoe_movement_type = 6357069
aoe_colliderType = 1065353216
projectile_type = 7
script = ExtResource( 1 )

View File

@ -0,0 +1,25 @@
[gd_resource type="Spell" load_steps=5 format=2]
[ext_resource path="res://data/icons/naturalist/aspect_of_scorpions.tres" type="Texture" id=1]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=2]
[ext_resource path="res://data/auras/21_aspect_of_scorpions.tres" type="Aura" id=3]
[ext_resource path="res://data/effect_data/aspect_of_scorpions.tres" type="SpellEffectVisual" id=4]
[resource]
resource_name = "Aspect of Scorpions"
id = 27
spell_type = 8
rank = 1
icon = ExtResource( 1 )
visual_spell_effects = ExtResource( 4 )
text_name = "Aspect of Scorpions"
text_description = "Range: 26m.
Casttime: {3}.
Deals 340 to 380 damage every 3 sec, and increases damage taken by 10% for 30 sec."
target_aura_applys = [ ExtResource( 3 ) ]
range = true
range_range = 26.0
cast = true
cast_cast_time = 1.2
spell_cooldown_mainpulation_data_count = -1
script = ExtResource( 2 )

View File

@ -0,0 +1,26 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/auras/22_aspect_of_wasps.tres" type="Aura" id=2]
[ext_resource path="res://data/icons/naturalist/aspect_of_wasps.tres" type="Texture" id=3]
[resource]
resource_name = "Aspect of Wasps"
id = 28
spell_type = 8
rank = 1
icon = ExtResource( 3 )
text_name = "Aspect of Wasps"
text_description = "Range: 26m.
Instant.
Deals 230 to 270 damage every 3 sec, this damage increases over the duration, for 21 sec."
target_aura_applys = [ ExtResource( 2 ) ]
range = true
range_range = 26.0
cost_type = 480
give_resource_type = 480
aoe_targetType = 541
aoe_movement_type = 99418736
aoe_colliderType = 541
projectile_type = 541
script = ExtResource( 1 )

View File

@ -0,0 +1,26 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/auras/23_aspect_of_wolves.tres" type="Aura" id=2]
[ext_resource path="res://data/icons/naturalist/aspect_of_wolves.tres" type="Texture" id=3]
[resource]
resource_name = "Aspect of Wolves"
id = 29
spell_type = 8
rank = 1
icon = ExtResource( 3 )
needs_target = true
text_name = "Aspect of Wolves"
text_description = "Range: 26m.
Deals 280 to 330 damage every 2 sec, and reduces melee and spell damage by 10% for 22 sec."
target_aura_applys = [ ExtResource( 2 ) ]
range = true
range_range = 26.0
cost_type = 480
give_resource_type = 480
aoe_targetType = 1129071960
aoe_movement_type = 2190112
aoe_colliderType = 1058050193
projectile_type = -1039400960
script = ExtResource( 1 )

View File

@ -0,0 +1,15 @@
[gd_resource type="Spell" load_steps=3 format=2]
[ext_resource path="res://data/icons/naturalist/natures_swiftness.tres" type="Texture" id=1]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=2]
[resource]
id = 2
spell_type = 16
target_type = -2147461888
target_relation_type = 4
rank = 1
icon = ExtResource( 1 )
aoe_targetType = -2147459840
aoe_movement_type = 4
script = ExtResource( 2 )

View File

@ -0,0 +1,30 @@
[gd_resource type="Spell" load_steps=4 format=2]
[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1]
[ext_resource path="res://data/auras/24_aspect_of_bees.tres" type="Aura" id=2]
[ext_resource path="res://data/icons/naturalist/aspect_of_bees.tres" type="Texture" id=3]
[resource]
resource_name = "Aspect of Bees"
id = 30
spell_type = 8
level = 10
rank = 1
icon = ExtResource( 3 )
needs_target = true
text_name = "Aspect of Bees"
text_description = "Range: 26m.
Instant.
Cooldown: {2}
Deals 460 to 540 damage every 3 sec, healing you for 80% of the damage."
cooldown_cooldown = 21.0
target_aura_applys = [ ExtResource( 2 ) ]
range = true
range_range = 26.0
cost_type = 480
give_resource_type = 480
aoe_targetType = -1910718371
aoe_movement_type = 1611610192
aoe_colliderType = -298046312
projectile_type = 1065353216
script = ExtResource( 1 )

View File

@ -0,0 +1,43 @@
[gd_resource type="Spell" load_steps=7 format=2]
[ext_resource path="res://data/icons/naturalist/amplify_pain.tres" type="Texture" id=1]
[ext_resource path="res://scripts/resources/spell_effect_visual_basic.gd" type="Script" id=2]
[ext_resource path="res://scripts/spells/amplify_pain.gd" type="Script" id=3]
[ext_resource path="res://data/spell_effects/nature/AmplifyPain.tscn" type="PackedScene" id=4]
[ext_resource path="res://data/spell_effects/nature/NatureCast.tscn" type="PackedScene" id=5]
[sub_resource type="SpellEffectVisual" id=1]
script = ExtResource( 2 )
spell_cast_effect_left_hand = ExtResource( 5 )
spell_cast_effect_right_hand = ExtResource( 5 )
torso_aura_effect_time = 0.0
root_aura_effect_time = 0.0
torso_spell_cast_finish_effect = ExtResource( 4 )
torso_spell_cast_finish_effect_time = 0.4
root_spell_cast_finish_effect_time = 1.0
[resource]
resource_name = "Overload"
id = 31
spell_type = 8
level = 10
icon = ExtResource( 1 )
visual_spell_effects = SubResource( 1 )
text_name = "Overload"
text_description = "Range: 26m.
Channeled. Free.
Causes your dots to deal 10% more damage."
range = true
range_range = 26.0
cast = true
cast_cast_time = 1.5
damage = true
damage_type = 16
damage_min = 130
damage_max = 150
cost_type = 476
aoe_targetType = -1910718371
aoe_movement_type = 1611610192
aoe_colliderType = 1065353216
projectile_type = 882743928
script = ExtResource( 3 )

View File

@ -0,0 +1,9 @@
[gd_resource type="VoxelmanLibraryMerger" load_steps=3 format=2]
[ext_resource path="res://data/voxel_libraries/merger_library_mat.tres" type="Material" id=1]
[ext_resource path="res://data/voxel_libraries/merger_prop_mat.tres" type="Material" id=2]
[resource]
material = ExtResource( 1 )
prop_material = ExtResource( 2 )
texture_flags = 1

View File

@ -0,0 +1,14 @@
[gd_resource type="VoxelmanLibraryMerger" load_steps=7 format=2]
[ext_resource path="res://data/voxel_libraries/merger_library_mat.tres" type="Material" id=1]
[ext_resource path="res://data/voxel_libraries/merger_prop_mat.tres" type="Material" id=2]
[ext_resource path="res://data/voxel_surfaces/2_test.tres" type="VoxelSurfaceMerger" id=3]
[ext_resource path="res://data/voxel_surfaces/1_stone.tres" type="VoxelSurfaceMerger" id=4]
[ext_resource path="res://data/voxel_surfaces/3_test2.tres" type="VoxelSurfaceMerger" id=5]
[ext_resource path="res://data/voxel_surfaces/0_air.tres" type="VoxelSurfaceMerger" id=7]
[resource]
material = ExtResource( 1 )
prop_material = ExtResource( 2 )
texture_flags = 1
voxel_surfaces = [ ExtResource( 7 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 5 ) ]

View File

@ -0,0 +1,8 @@
[gd_resource type="VoxelmanLibrarySimple" load_steps=3 format=2]
[ext_resource path="res://data/materials/voxelman.tres" type="Material" id=1]
[ext_resource path="res://data/models/Material_003.material" type="Material" id=2]
[resource]
material = ExtResource( 1 )
prop_material = ExtResource( 2 )

View File

@ -0,0 +1,41 @@
[gd_resource type="VoxelmanLibrarySimple" load_steps=7 format=2]
[ext_resource path="res://data/models/Material_003.material" type="Material" id=1]
[ext_resource path="res://data/materials/voxelman2.tres" type="Material" id=2]
[sub_resource type="VoxelSurfaceSimple" id=1]
resource_name = "Air"
voxel_name = "Air"
transparent = true
[sub_resource type="VoxelSurfaceSimple" id=2]
resource_name = "Ground"
id = 1
voxel_name = "Ground"
top_atlas_x = 5
bottom_atlas_x = 5
side_atlas_x = 5
[sub_resource type="VoxelSurfaceSimple" id=3]
resource_name = "TestM"
id = 2
voxel_name = "TestM"
top_atlas_x = 1
top_atlas_y = 1
bottom_atlas_x = 1
bottom_atlas_y = 1
side_atlas_y = 1
[sub_resource type="VoxelSurfaceSimple" id=4]
resource_name = "TestM2"
id = 3
voxel_name = "TestM2"
top_atlas_x = 4
bottom_atlas_x = 4
side_atlas_x = 4
[resource]
material = ExtResource( 2 )
prop_material = ExtResource( 1 )
atlas_rows = 2
voxel_surfaces = [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ) ]

View File

@ -0,0 +1,9 @@
[gd_resource type="VoxelmanLibrarySimple" load_steps=3 format=2]
[ext_resource path="res://data/materials/voxelman2.tres" type="Material" id=1]
[ext_resource path="res://data/models/Material_003.material" type="Material" id=2]
[resource]
material = ExtResource( 1 )
prop_material = ExtResource( 2 )
atlas_rows = 2

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
[gd_resource type="SpatialMaterial" load_steps=2 format=2]
[ext_resource path="res://data/voxel_textures/test_01.png" type="Texture" id=1]
[resource]
resource_name = "Material.003"
vertex_color_use_as_albedo = true
albedo_texture = ExtResource( 1 )
metallic = 0.5
roughness = 0.0960784

View File

@ -0,0 +1,6 @@
[gd_resource type="VoxelSurfaceMerger" format=2]
[resource]
resource_name = "Air"
voxel_name = "Air"
transparent = true

View File

@ -0,0 +1,11 @@
[gd_resource type="VoxelSurfaceMerger" load_steps=2 format=2]
[ext_resource path="res://data/voxel_textures/test_11.png" type="Texture" id=1]
[resource]
resource_name = "Stone"
id = 1
voxel_name = "Stone"
texture_top = ExtResource( 1 )
texture_bottom = ExtResource( 1 )
texture_side = ExtResource( 1 )

View File

@ -0,0 +1,12 @@
[gd_resource type="VoxelSurfaceMerger" load_steps=3 format=2]
[ext_resource path="res://data/voxel_textures/test_09.png" type="Texture" id=1]
[ext_resource path="res://data/voxel_textures/test_06.png" type="Texture" id=2]
[resource]
resource_name = "Test"
id = 2
voxel_name = "Test"
texture_top = ExtResource( 1 )
texture_bottom = ExtResource( 2 )
texture_side = ExtResource( 2 )

View File

@ -0,0 +1,11 @@
[gd_resource type="VoxelSurfaceMerger" load_steps=2 format=2]
[ext_resource path="res://data/voxel_textures/test_03.png" type="Texture" id=1]
[resource]
resource_name = "Test2"
id = 3
voxel_name = "Test2"
texture_top = ExtResource( 1 )
texture_bottom = ExtResource( 1 )
texture_side = ExtResource( 1 )

10
game/data/xp/xp_data.tres Normal file
View File

@ -0,0 +1,10 @@
[gd_resource type="XPData" format=2]
[resource]
level_1 = 300
level_2 = 600
level_3 = 1000
level_4 = 10000
level_5 = 200000
level_6 = 400000
level_7 = 600000

View File

@ -0,0 +1,9 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://debug/FreeLookCamera.gd" type="Script" id=1]
[node name="Camera" type="Camera"]
transform = Transform( 0.844995, 0.305893, -0.438648, -0.0119927, 0.830883, 0.556318, 0.534639, -0.464826, 0.705761, -7.76488, 10.4889, 10.3045 )
v_offset = 0.27
current = true
script = ExtResource( 1 )

View File

@ -0,0 +1,98 @@
extends Camera
const SPEED = 10
const TURN_SENSITIVITY = 0.15
var x_rot : float = 0.0
var y_rot : float = 0.0
var mouse_right_down : bool = false
var input_dir : Vector2 = Vector2()
var key_left : bool = false
var key_right : bool = false
var key_up : bool = false
var key_down : bool = false
var cursor_grabbed : bool = false
var last_cursor_pos : Vector2 = Vector2()
func _physics_process(delta):
process_input(delta)
process_movement(delta)
func process_input(delta: float) -> void:
var key_dir = Vector2()
if key_up:
key_dir.y -= 1
if key_down:
key_dir.y += 1
if key_left:
key_dir.x -= 1
if key_right:
key_dir.x += 1
input_dir = key_dir
if input_dir.length_squared() > 0.1:
input_dir = input_dir.normalized()
func _unhandled_input(event : InputEvent) -> void:
if event is InputEventMouseButton and event.button_index == BUTTON_RIGHT and event.device != -1:
mouse_right_down = event.pressed
if event is InputEventKey:
if event.scancode == KEY_W:
key_up = event.pressed
if event.scancode == KEY_S:
key_down = event.pressed
if event.scancode == KEY_A:
key_left = event.pressed
if event.scancode == KEY_D:
key_right = event.pressed
if event is InputEventMouseMotion and mouse_right_down and event.device != -1:
rotate_delta(-event.relative.x, -event.relative.y)
update_cursor_mode()
func process_movement(delta):
if input_dir.x > 0.1 or input_dir.y > 0.1 or input_dir.x < -0.1 or input_dir.y < -0.1:
var forward = transform.basis.xform(Vector3(0, 0, 1))
var right = forward.cross(Vector3(0, 1, 0)) * -input_dir.x
forward *= input_dir.y #only potentially make it zero after getting the right vector
var dir : Vector3 = forward
dir += right
if dir.length_squared() > 0.1:
dir = dir.normalized()
translation += dir * delta * SPEED
func update_cursor_mode():
if mouse_right_down:
if not cursor_grabbed:
cursor_grabbed = true
last_cursor_pos = get_viewport().get_mouse_position()
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
else:
if cursor_grabbed:
cursor_grabbed = false
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
get_viewport().warp_mouse(last_cursor_pos)
func rotate_delta(x_delta : float, y_delta : float) -> void:
x_rot += y_delta * TURN_SENSITIVITY
y_rot += x_delta * TURN_SENSITIVITY
x_rot = clamp(x_rot, -90, 90)
if y_rot >= 360:
y_rot = 0
if y_rot < 0:
y_rot = 360
rotation_degrees = Vector3(x_rot, y_rot, 0.0)

View File

@ -0,0 +1,3 @@
[gd_resource type="AudioBusLayout" format=2]
[resource]

View File

@ -0,0 +1,6 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=2]
[ext_resource path="res://data/shaders/1_charactershader.tres" type="Shader" id=1]
[resource]
shader = ExtResource( 1 )

View File

@ -0,0 +1,96 @@
[gd_scene load_steps=11 format=2]
[ext_resource path="res://data/models/armature_model_orig_v2.tscn" type="PackedScene" id=1]
[ext_resource path="res://data/voxel_libraries/main_library_2.tres" type="VoxelmanLibrarySimple" id=2]
[ext_resource path="res://prop_tool/dada.tres" type="PropData" id=3]
[ext_resource path="res://voxelman/transvoxel_mesher/TVVoxelWorld.gd" type="Script" id=4]
[ext_resource path="res://dungeon_generator/MainDungeonGenerator.gd" type="Script" id=5]
[ext_resource path="res://dev/character_dev_mat.tres" type="Material" id=6]
[sub_resource type="VoxelmanLevelGenerator" id=1]
script = ExtResource( 5 )
prop = ExtResource( 3 )
gen_type = 1
_level_seed = 35
_spawn_mobs = false
[sub_resource type="AnimationNodeStateMachinePlayback" id=2]
[sub_resource type="ProceduralSky" id=3]
sky_top_color = Color( 0.0431373, 0.00784314, 0.0666667, 1 )
sky_horizon_color = Color( 0.27451, 0.447059, 0.427451, 1 )
sky_curve = 0.263535
sky_energy = 0.3
ground_bottom_color = Color( 0.196078, 0.152941, 0.152941, 1 )
ground_horizon_color = Color( 0.223529, 0.192157, 0.164706, 1 )
ground_curve = 0.101965
ground_energy = 0.4
sun_color = Color( 0.619608, 0.47451, 0.113725, 1 )
sun_latitude = 37.43
sun_longitude = -8.09
sun_angle_min = 0.0
sun_angle_max = 23.15
sun_energy = 9.7
texture_size = 0
[sub_resource type="Environment" id=4]
background_mode = 2
background_sky = SubResource( 3 )
ambient_light_color = Color( 0.737255, 0.737255, 0.737255, 1 )
fog_enabled = true
fog_color = Color( 0.278431, 0.360784, 0.360784, 1 )
fog_sun_color = Color( 0.113725, 0.568627, 0.827451, 1 )
fog_depth_begin = 34.0
fog_depth_end = 257.9
fog_depth_curve = 1.18921
tonemap_mode = 2
tonemap_exposure = 0.83
auto_exposure_max_luma = 7.33
ss_reflections_enabled = true
ssao_enabled = true
glow_levels/3 = false
glow_intensity = 1.6
glow_strength = 1.1
glow_bloom = 0.1
glow_hdr_luminance_cap = 1.0
adjustment_enabled = true
adjustment_contrast = 1.05
[node name="World" type="VoxelWorld" groups=[
"save",
]]
library = ExtResource( 2 )
level_generator = SubResource( 1 )
voxel_scale = 3.0
chunk_spawn_range = 2
script = ExtResource( 4 )
_level_seed = 35
show_loading_screen = false
[node name="character" parent="." instance=ExtResource( 1 )]
refresh_in_editor = false
automatic_build = false
use_threads = false
material = ExtResource( 6 )
[node name="AnimationTree" parent="character" index="1"]
parameters/playback = SubResource( 2 )
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource( 4 )
[node name="DirectionalLight" type="DirectionalLight" parent="."]
transform = Transform( -0.797163, 0.45442, 0.397535, 0, -0.658427, 0.752644, 0.603765, 0.59998, 0.524873, 0, 18.834, 0 )
light_energy = 1.4
directional_shadow_normal_bias = 0.1
[node name="DirectionalLight2" type="DirectionalLight" parent="."]
transform = Transform( -0.797163, 0.523191, -0.301335, 0, 0.499093, 0.866548, 0.603765, 0.69078, -0.397858, 0, 18.834, 0 )
light_energy = 0.4
light_specular = 0.0
directional_shadow_normal_bias = 0.1
[node name="OmniLight" type="OmniLight" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.30692, 2.07707, 1.61396 )
[editable path="character"]

View File

@ -0,0 +1,191 @@
extends Navigation2D
export (PackedScene) var room : PackedScene
export (NodePath) var map_path : NodePath
var map
var tile_size : int = 3
var num_rooms : int = 50
var min_size : int = 9
var max_size : int = 20
var hspread : float = 400
var cull : float = 0.5
var path : AStar
func _ready():
map = get_node(map_path)
randomize()
make_rooms()
func make_rooms():
for i in range(num_rooms):
var pos : Vector2 = Vector2(rand_range(-hspread, hspread), 0)
var r : Node = room.instance()
var w = min_size + randi() % (max_size - min_size)
var h = min_size + randi() % (max_size - min_size)
r.make_room(pos, Vector2(w, h)* tile_size)
$Rooms.add_child(r)
r.owner = $Rooms
yield(get_tree().create_timer(1.1), 'timeout')
#cull rooms
var room_positions : Array = []
for room in $Rooms.get_children():
if randf() < cull:
room.queue_free()
else:
room.mode = RigidBody2D.MODE_STATIC
room_positions.append(Vector3(room.position.x, room.position.y, 0))
yield(get_tree(), 'idle_frame')
#generate MST
path = find_mst(room_positions)
make_map()
func a_draw():
for room in $Rooms.get_children():
draw_rect(Rect2(room.position - room.size, room.size * 2),
Color(0, 1, 0), false)
if path:
for p in path.get_points():
for c in path.get_point_connections(p):
var pp = path.get_point_position(p)
var cp = path.get_point_position(c)
draw_line(Vector2(pp.x, pp.y), Vector2(cp.x, cp.y), Color(1, 1, 0), 15, true)
func a_process(delta):
update()
func a_input(event):
if event.is_action_pressed('ui_select'):
for n in $Rooms.get_children():
n.queue_free()
path = null
make_rooms()
if event.is_action_pressed('ui_focus_next'):
make_map()
func find_mst(nodes : Array) -> AStar:
#Prim's algorithm
var path = AStar.new()
path.add_point(path.get_available_point_id(), nodes.pop_front())
while nodes:
var min_dist = INF
var min_p = null
var p = null
for p1 in path.get_points():
p1 = path.get_point_position(p1)
for p2 in nodes:
if p1.distance_to(p2) < min_dist:
min_dist = p1.distance_to(p2)
min_p = p2
p = p1
var n = path.get_available_point_id()
path.add_point(n, min_p)
path.connect_points(path.get_closest_point(p), n)
nodes.erase(min_p)
return path
func make_map() -> void:
map.clear()
#for x in range(0, 200):
# for y in range(0, 200):
# tile_map.set_cell(x, y, 0)
#fill tilemap with walls
#var full_rect = Rect2()
#carve the rooms
var corridors = []
var mob_count = 0
var player_spawned = false
for room in $Rooms.get_children():
var top_left = room.position.floor()
var bottom_right = (top_left + room.size).floor()
for x in range(top_left.x, bottom_right.x):
for z in range(top_left.y, bottom_right.y):
for y in range(0, 2):
map.draw_voxel_data_point(Vector3(x, y, z), 0, randi() % 255)
#connection
#var p = path.get_closest_point(Vector3(room.position.x, room.position.y, 0))
#for conn in path.get_point_connections(p):
# if not conn in corridors:
# var start = Vector2(path.get_point_position(p).x, path.get_point_position(p).y).ceil()
# var end = Vector2(path.get_point_position(conn).x, path.get_point_position(conn).y).ceil()
# carve_path(start, end)
#corridors.append(p)
var pos : Vector2 = room.position + (room.size / 2).floor()
if not player_spawned:
#Entities.spawn_player(1, Vector3(pos.x, 2, pos.y))
player_spawned = true
else:
if mob_count < 20:
Entities.spawn_mob(1, randi() % 3, Vector3(pos.x, 2, pos.y))
mob_count += 1
map.build()
func carve_path(pos1, pos2):
var x_diff = sign(pos2.x - pos1.x)
var y_diff = sign(pos2.y - pos1.y)
if x_diff == 0:
x_diff = pow(-1.0, randi() % 2)
if y_diff == 0:
y_diff = pow(-1.0, randi() % 2)
var x_y = pos1
var y_x = pos2
#if (randi() % 2) > 0:
# x_y = pos2
# y_x = pos1
for x in range(pos1.x, pos2.x, x_diff):
for n in range(5):
var tile = 1
if n == 0 or n == 4:
tile = 0
# if tile_map.get_cell(x, x_y.y + (n * y_diff)) != 1:
# tile_map.set_cell(x, x_y.y + (n * y_diff), tile)
for y in range(pos1.y, pos2.y, y_diff):
for n in range(5):
var tile = 1
if n == 0 or n == 4:
tile = 0
# if tile_map.get_cell(y_x.x + (n * x_diff), y) != 1:
# tile_map.set_cell(y_x.x + (n * x_diff), y, tile)

View File

@ -0,0 +1,14 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://dungeon_generator/DungeonGeneratorScene.gd" type="Script" id=1]
[ext_resource path="res://dungeon_generator/Room.tscn" type="PackedScene" id=2]
[node name="DungeonGenerator" type="Navigation2D"]
script = ExtResource( 1 )
room = ExtResource( 2 )
[node name="Rooms" type="Node" parent="."]
[node name="Camera2D" type="Camera2D" parent="."]
current = true
zoom = Vector2( 10, 10 )

View File

@ -0,0 +1,293 @@
tool
extends VoxelmanLevelGenerator
class_name MainDungeonGenerator
enum GenType {
TEST = 0, NORMAL = 1, NOISE3D = 2, ANL = 3
}
export(PropData) var prop : PropData
export(MeshDataResource) var prop_mesht : MeshDataResource
export(int) var gen_type : int = GenType.NORMAL
export(int) var _level_seed : int
export(bool) var _spawn_mobs : bool
var _world : VoxelWorld
func setup(world : VoxelWorld, level_seed : int, spawn_mobs : bool) -> void:
_level_seed = level_seed
_world = world
_spawn_mobs = spawn_mobs
func _generate_chunk(chunk : VoxelChunk) -> void:
if gen_type == GenType.NORMAL:
generate_terrarin(chunk)
elif gen_type == GenType.NOISE3D:
generate_noise3d_terrarin(chunk)
else:
generate_test(chunk)
func generate_terrarin(chunk : VoxelChunk) -> void:
var buffer : VoxelChunk = chunk.get_buffer()
buffer.create(int(chunk.size_x) + 1, int(chunk.size_y) + 1, int(chunk.size_z) + 1)
var noise : OpenSimplexNoise = OpenSimplexNoise.new()
noise.seed = 10 * _level_seed
noise.octaves = 4
noise.period = 180.0
noise.persistence = 0.8
var terr_noise : OpenSimplexNoise = OpenSimplexNoise.new()
terr_noise.seed = 10 * 321 + 112 * _level_seed
terr_noise.octaves = 4
terr_noise.period = 20.0
terr_noise.persistence = 0.9
var det_noise : OpenSimplexNoise = OpenSimplexNoise.new()
det_noise.seed = 10 * 3231 + 112 * _level_seed
det_noise.octaves = 6
det_noise.period = 10.0
det_noise.persistence = 0.3
for x in range(0, chunk.size_x + 1):
for z in range(0, chunk.size_z + 1):
var val : float = noise.get_noise_2d(x + (chunk.position_x * chunk.size_x), z + (chunk.position_z * chunk.size_z))
val *= val
val *= 100
val += 2
var tv : float = terr_noise.get_noise_2d(x + (chunk.position_x * chunk.size_x), z + (chunk.position_z * chunk.size_z))
tv *= tv * tv
val += tv * 2
var dval : float = noise.get_noise_2d(x + (chunk.position_x * chunk.size_x), z + (chunk.position_z * chunk.size_z))
val += dval * 6
var v : int = (int(val))
v -= chunk.position_y * (chunk.size_y)
# var cmaxy : int = (chunk.position_y + 1) * chunk.size_y
if v > chunk.size_y + 1:
v = chunk.size_y + 1
for y in range(0, v):
seed(x + (chunk.position_x * chunk.size_x) + z + (chunk.position_z * chunk.size_z) + y + (chunk.position_y * chunk.size_y))
if v < 2:
buffer.set_voxel(1, x, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
elif v == 2:
buffer.set_voxel(3, x, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
else:
buffer.set_voxel(2, x, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
# if y != v:
# buffer.set_voxel(255, x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
# else:
# randi() % 50 + 205
buffer.set_voxel(int(255.0 * (val - int(val)) / 180.0) * 180, x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
# buffer.set_voxel(int(255.0 * (val - int(val))), x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
# buffer.set_voxel(255.0 * int(90 * (val - int(val))) / 200.0, x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
# buffer.set_voxel(int(255.0 * (val - int(val)) / 180.0) * 180, x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
# buffer.set_voxel(int(255.0 * (int((val - int(val) * 100.0)) / 100.0)), x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
# print(val)
# buffer.set_voxel(int(255.0 * (val - int(val))), x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
# var t_noise : OpenSimplexNoise = OpenSimplexNoise.new()
# t_noise.seed = 10 * 32331 + 1132
# t_noise.octaves = 10
# t_noise.period = 10.0
# t_noise.persistence = 0.8
#
# for x in range(0, chunk.size_x + 1):
# for y in range(0, chunk.size_y + 1):
# for z in range(0, chunk.size_z + 1):
# var val : float = t_noise.get_noise_3d(
# x + (chunk.position_x * chunk.size_x),
# y + (chunk.position_y * chunk.size_y),
# z + (chunk.position_z * chunk.size_z))
#
# val *= val
# val *= 100
# val += 2
#
# if val > 3 and buffer.get_voxel(x, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE) == 0:
# buffer.set_voxel(2, x, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
# buffer.set_voxel(int(255.0 * (val - int(val))), x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
# for x in range(0, chunk.size_x + 1):
# for z in range(5, 7):
# for y in range(0, 10):
# var val : float = det_noise.get_noise_3d(
# x + (chunk.position_x * chunk.size_x),
# y + (chunk.position_y * chunk.size_y),
# z + (chunk.position_z * chunk.size_z))
#
# val *= 10
#
# if val > 1:
# val = 1
#
# buffer.set_voxel(3, x, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
#
# buffer.set_voxel(int(255.0 * val), x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
var prop_data : VoxelChunkPropData = VoxelChunkPropData.new()
prop_data.x = 10
prop_data.y = 3
prop_data.z = 10
# prop_data.rotation = Vector3(randi() % 360, randi() % 360, randi() % 360)
# prop_data.scale = Vector3(2, 2, 2)
# prop_data.mesh = prop_mesht
prop_data.prop = prop
chunk.add_prop(prop_data)
# generate_caves(chunk)
# for i in range(5):
# #var light : VoxelLight = VoxelLight.new()
# randomize()
# var color : Color = Color(randf(), randf(), randf())
# var size : int = randi() % 5 + 5
# var lx : int = (chunk.position_x * chunk.size_x) + (randi() % (chunk.size_x - 3))
# var ly : int = (chunk.position_y * chunk.size_y) + (randi() % 6)
# var lz : int = (chunk.position_z * chunk.size_z) + (randi() % (chunk.size_z - 3))
## light.set_world_position((chunk.position_x * chunk.size_x) + 10, (chunk.position_y * chunk.size_y) + 10, (chunk.position_z * chunk.size_z) + 10)
# _world.add_light(lx, ly, lz, size, color)
# chunk.bake_lights()
chunk.build()
# chunk.draw_debug_voxel_lights()
# chunk.draw_debug_voxels(2000)
# chunk.draw_debug_voxel_lights()
if not Engine.editor_hint and chunk.position_y == 0 and _spawn_mobs:
Entities.spawn_mob(1, randi() % 3, Vector3(chunk.position_x * chunk.size_x * chunk.voxel_scale - chunk.size_x / 2,\
(chunk.position_y + 1) * chunk.size_y * chunk.voxel_scale, \
chunk.position_z * chunk.size_z * chunk.voxel_scale - chunk.size_z / 2))
func generate_caves(chunk : VoxelChunk) -> void:
var buffer : VoxelChunk = chunk.get_buffer()
var noise : OpenSimplexNoise = OpenSimplexNoise.new()
noise.seed = 1230 * 3241 + 16
noise.octaves = 3
noise.period = 20.0
noise.persistence = 0.9
for x in range(0, chunk.size_x + 1):
for z in range(0, chunk.size_z + 1):
for y in range(0, chunk.size_y + 1):
# var val : float = noise.get_noise_2d(x + (chunk.position_x * chunk.size_x), z + (chunk.position_z * chunk.size_z))
buffer.set_voxel(0, x, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
func generate_test(chunk : VoxelChunk) ->void:
var buffer : VoxelChunk = chunk.get_buffer()
buffer.create(40, 40, 40)
var i : int = 1
for y in range(4):
for z in range(8):
for x in range(8):
spawn_equiv_class(buffer, i, x * 4 + 1, y * 4 + 1, z * 4 + 1)
i += 1
# spawn_equiv_class(buffer,127, 4, 4, 4)
chunk.build()
# chunk.draw_debug_voxels(2000)
# chunk.draw_debug_voxel_lights()
func spawn_equiv_class(buffer : VoxelChunk, cls : int, x : int, y : int, z : int) -> void:
# var size : int = 100
if cls & VoxelMesherTransvoxel.VOXEL_ENTRY_MASK_000:
buffer.set_voxel(1, x, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
buffer.set_voxel(randi() % 255, x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
if cls & VoxelMesherTransvoxel.VOXEL_ENTRY_MASK_100:
buffer.set_voxel(1, x + 1, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
buffer.set_voxel(randi() % 255, x + 1, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
if cls & VoxelMesherTransvoxel.VOXEL_ENTRY_MASK_001:
buffer.set_voxel(1, x, y, z + 1, VoxelChunk.DEFAULT_CHANNEL_TYPE)
buffer.set_voxel(randi() % 255, x, y, z + 1, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
if cls & VoxelMesherTransvoxel.VOXEL_ENTRY_MASK_101:
buffer.set_voxel(1, x + 1, y, z + 1, VoxelChunk.DEFAULT_CHANNEL_TYPE)
buffer.set_voxel(randi() % 255, x + 1, y, z + 1, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
if cls & VoxelMesherTransvoxel.VOXEL_ENTRY_MASK_010:
buffer.set_voxel(1, x, y + 1, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
buffer.set_voxel(randi() % 255, x, y + 1, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
if cls & VoxelMesherTransvoxel.VOXEL_ENTRY_MASK_110:
buffer.set_voxel(1, x + 1, y + 1, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
buffer.set_voxel(randi() % 255, x + 1, y + 1, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
if cls & VoxelMesherTransvoxel.VOXEL_ENTRY_MASK_011:
buffer.set_voxel(1, x, y + 1, z + 1, VoxelChunk.DEFAULT_CHANNEL_TYPE)
buffer.set_voxel(randi() % 255, x, y + 1, z + 1, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
if cls & VoxelMesherTransvoxel.VOXEL_ENTRY_MASK_111:
buffer.set_voxel(1, x + 1, y + 1, z + 1, VoxelChunk.DEFAULT_CHANNEL_TYPE)
buffer.set_voxel(randi() % 255, x + 1, y + 1, z + 1, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
func generate_noise3d_terrarin(chunk : VoxelChunk) -> void:
var buffer : VoxelChunk = chunk.get_buffer()
buffer.create(int(chunk.size_x) + 1, int(chunk.size_y) + 1, int(chunk.size_z) + 1)
var noise : OpenSimplexNoise = OpenSimplexNoise.new()
noise.seed = 10 * 321 + 112
noise.octaves = 4
noise.period = 20.0
noise.persistence = 0.9
for x in range(0, chunk.size_x + 1):
for y in range(0, chunk.size_y + 1):
for z in range(0, chunk.size_z + 1):
var val : float = noise.get_noise_3d(
x + (chunk.position_x * chunk.size_x),
y + (chunk.position_y * chunk.size_y),
z + (chunk.position_z * chunk.size_z))
val *= val
val *= 100
val += 2
if val > 4:
buffer.set_voxel(3, x, y, z, VoxelChunk.DEFAULT_CHANNEL_TYPE)
buffer.set_voxel(int(255.0 * (val - int(val))), x, y, z, VoxelChunk.DEFAULT_CHANNEL_ISOLEVEL)
# generate_random_ao(chunk)
#warning-ignore:unused_variable
for i in range(5):
#var light : VoxelLight = VoxelLight.new()
randomize()
var color : Color = Color(randf(), randf(), randf())
var size : int = randi() % 5 + 5
var lx : int = (chunk.position_x * chunk.size_x) + (randi() % (chunk.size_x - 3))
var ly : int = (chunk.position_y * chunk.size_y) + (randi() % 6)
var lz : int = (chunk.position_z * chunk.size_z) + (randi() % (chunk.size_z - 3))
# light.set_world_position((chunk.position_x * chunk.size_x) + 10, (chunk.position_y * chunk.size_y) + 10, (chunk.position_z * chunk.size_z) + 10)
_world.add_light(lx, ly, lz, size, color)
chunk.bake_lights()
chunk.build()

View File

@ -0,0 +1,13 @@
extends RigidBody2D
var size : Vector2
func make_room(_pos : Vector2, _size : Vector2):
position = _pos
size = _size
var s : RectangleShape2D = RectangleShape2D.new()
s.custom_solver_bias = 0.75
s.extents = size
$CollisionShape2D.shape = s

View File

@ -0,0 +1,11 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://dungeon_generator/Room.gd" type="Script" id=1]
[node name="Room" type="RigidBody2D"]
collision_layer = 524288
collision_mask = 524288
mode = 2
script = ExtResource( 1 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]

View File

@ -0,0 +1,11 @@
[gd_resource type="VoxelmanLevelGenerator" load_steps=3 format=2]
[ext_resource path="res://dungeon_generator/MainDungeonGenerator.gd" type="Script" id=1]
[ext_resource path="res://prop_tool/dada.tres" type="PropData" id=2]
[resource]
script = ExtResource( 1 )
prop = ExtResource( 2 )
gen_type = 1
_level_seed = 35
_spawn_mobs = false