Attempt to bring in other branch
BIN
src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png
Normal file
30
src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png.import
Normal file
@@ -0,0 +1,30 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://511pf2hkejjy"
|
||||
valid=false
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/Weapon Strikes/._NON ELEMENTAL SLASH.png"
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
34
src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b5qjlbcesth53"
|
||||
path="res://.godot/imported/NON ELEMENTAL SLASH.png-1bf909eeddb451e3f6e33c698e2e53e1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/Weapon Strikes/NON ELEMENTAL SLASH.png"
|
||||
dest_files=["res://.godot/imported/NON ELEMENTAL SLASH.png-1bf909eeddb451e3f6e33c698e2e53e1.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
src/vfx/hit_effects/FIRE_STRIKE_1.0.png
Normal file
|
After Width: | Height: | Size: 452 KiB |
34
src/vfx/hit_effects/FIRE_STRIKE_1.0.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c6r3dhnkuw22w"
|
||||
path="res://.godot/imported/FIRE_STRIKE_1.0.png-559ebdca8bed9db1db96b1d1b2d8f353.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/hit_effects/FIRE_STRIKE_1.0.png"
|
||||
dest_files=["res://.godot/imported/FIRE_STRIKE_1.0.png-559ebdca8bed9db1db96b1d1b2d8f353.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
src/vfx/hit_effects/WATER_STRIKE_1.0.png
Normal file
|
After Width: | Height: | Size: 652 KiB |
34
src/vfx/hit_effects/WATER_STRIKE_1.0.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dw41v352onc0a"
|
||||
path="res://.godot/imported/WATER_STRIKE_1.0.png-e7137b942ece3c27aab46a2703843a54.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/hit_effects/WATER_STRIKE_1.0.png"
|
||||
dest_files=["res://.godot/imported/WATER_STRIKE_1.0.png-e7137b942ece3c27aab46a2703843a54.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
src/vfx/hit_effects/explosion.png
Normal file
|
After Width: | Height: | Size: 488 KiB |
34
src/vfx/hit_effects/explosion.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://npwcgmo2hi1t"
|
||||
path="res://.godot/imported/explosion.png-8174f81734413e849902e37c0ddda01d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/hit_effects/explosion.png"
|
||||
dest_files=["res://.godot/imported/explosion.png-8174f81734413e849902e37c0ddda01d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
src/vfx/playerdot.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
34
src/vfx/playerdot.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://mjobx7ph7hf1"
|
||||
path="res://.godot/imported/playerdot.png-ab7557c4bead4be1a9920776a1d00f40.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/playerdot.png"
|
||||
dest_files=["res://.godot/imported/playerdot.png-ab7557c4bead4be1a9920776a1d00f40.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
29
src/vfx/shaders/DamageHit.gdshader
Normal file
@@ -0,0 +1,29 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
/**
|
||||
Color to use for the shock.
|
||||
*/
|
||||
uniform vec3 shock_color : source_color = vec3(1.0, 0.0, 0.0);
|
||||
/**
|
||||
Initial amplitude of the shock. This will start at this amplitude and
|
||||
gradually attenuate.
|
||||
*/
|
||||
uniform float amplitude = 30.0;
|
||||
|
||||
uniform float progress: hint_range(0.0, 1.0) = -1.0;
|
||||
/**
|
||||
How fast shold it move side to side, more frequency means it'll move more quickly
|
||||
side to side.
|
||||
*/
|
||||
uniform float frequecy = 10.0;
|
||||
|
||||
void vertex() {
|
||||
float exponent = mod(progress, 3.0);
|
||||
VERTEX.x += amplitude * exp(-3.0*exponent) * sin(frequecy*exponent);
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
float exponent = mod(progress, 3.0);
|
||||
vec3 normal_color = texture(TEXTURE, UV).rgb;
|
||||
COLOR.rgb = normal_color + shock_color * exp(-3.0*exponent);
|
||||
}
|
||||
9
src/vfx/shaders/DamageHit.tres
Normal file
@@ -0,0 +1,9 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://c0gpeve05njqq"]
|
||||
|
||||
[ext_resource type="Shader" path="res://src/vfx/shaders/PixelMelt.gdshader" id="1_ibjx1"]
|
||||
|
||||
[resource]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("1_ibjx1")
|
||||
shader_parameter/progress = 1.0
|
||||
shader_parameter/meltiness = 1.0
|
||||
28
src/vfx/shaders/PixelMelt.gdshader
Normal file
@@ -0,0 +1,28 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
// Animate from 0 to 1
|
||||
uniform float progress: hint_range(0.0, 1.0) = 0.0;
|
||||
|
||||
// How jagged each band of melting pixels are
|
||||
uniform float meltiness: hint_range(0.0, 16.0) = 1.0;
|
||||
|
||||
float psuedo_rand(float x) {
|
||||
return mod(x * 2048103.0 + cos(x * 1912.0), 1.0);
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
vec2 uv = UV;
|
||||
|
||||
// Move pixels near the top faster
|
||||
uv.y -= progress / UV.y;
|
||||
|
||||
// Created jagged edges for each pixel on the x-axis
|
||||
uv.y -= progress * meltiness * psuedo_rand(UV.x - mod(UV.x, TEXTURE_PIXEL_SIZE.x));
|
||||
|
||||
COLOR = texture(TEXTURE, uv);
|
||||
|
||||
// "delete" pixels out of range
|
||||
if (uv.y <= 0.0) {
|
||||
COLOR.a = 0.0;
|
||||
}
|
||||
}
|
||||
44
src/vfx/shaders/PostProcessing.gdshader
Normal file
@@ -0,0 +1,44 @@
|
||||
shader_type spatial;
|
||||
render_mode unshaded, shadows_disabled, depth_test_disabled, depth_draw_never;
|
||||
uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap;
|
||||
|
||||
uniform int color_depth : hint_range(1, 8) = 5;
|
||||
uniform bool dithering = true;
|
||||
uniform int resolution_scale = 4;
|
||||
|
||||
int dithering_pattern(ivec2 fragcoord) {
|
||||
const int pattern[] = {
|
||||
-4, +0, -3, +1,
|
||||
+2, -2, +3, -1,
|
||||
-3, +1, -4, +0,
|
||||
+3, -1, +2, -2
|
||||
};
|
||||
|
||||
int x = fragcoord.x % 4;
|
||||
int y = fragcoord.y % 4;
|
||||
|
||||
return pattern[y * 4 + x];
|
||||
}
|
||||
|
||||
void vertex() {
|
||||
POSITION = vec4(VERTEX.xy, 1.0, 1.0);
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
ivec2 uv = ivec2(FRAGCOORD.xy / float(resolution_scale));
|
||||
vec3 color = texelFetch(SCREEN_TEXTURE, uv * resolution_scale, 0).rgb;
|
||||
|
||||
// Convert from [0.0, 1.0] range to [0, 255] range
|
||||
ivec3 c = ivec3(round(color * 255.0));
|
||||
|
||||
// Apply the dithering pattern
|
||||
if (dithering) {
|
||||
c += ivec3(dithering_pattern(uv));
|
||||
}
|
||||
|
||||
// Truncate from 8 bits to color_depth bits
|
||||
c >>= (8 - color_depth);
|
||||
|
||||
// Convert back to [0.0, 1.0] range
|
||||
ALBEDO = vec3(c) / float(1 << color_depth);
|
||||
}
|
||||
BIN
src/vfx/slash/slash_0000_Classic_30.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
34
src/vfx/slash/slash_0000_Classic_30.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bokx3h8kfdo5i"
|
||||
path="res://.godot/imported/slash_0000_Classic_30.png-62602a4bea6b70260f0d3f4c854b822e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/slash/slash_0000_Classic_30.png"
|
||||
dest_files=["res://.godot/imported/slash_0000_Classic_30.png-62602a4bea6b70260f0d3f4c854b822e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
src/vfx/slash/slash_0001_Classic_29.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
src/vfx/slash/slash_0001_Classic_29.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://byosr5gk51237"
|
||||
path="res://.godot/imported/slash_0001_Classic_29.png-a2c5b7daa803b51cc133bc3edd566285.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/slash/slash_0001_Classic_29.png"
|
||||
dest_files=["res://.godot/imported/slash_0001_Classic_29.png-a2c5b7daa803b51cc133bc3edd566285.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
src/vfx/slash/slash_0002_Classic_28.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
34
src/vfx/slash/slash_0002_Classic_28.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://nh071o6ii03j"
|
||||
path="res://.godot/imported/slash_0002_Classic_28.png-67544ac9987966518d7537a6e1719a59.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/slash/slash_0002_Classic_28.png"
|
||||
dest_files=["res://.godot/imported/slash_0002_Classic_28.png-67544ac9987966518d7537a6e1719a59.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
src/vfx/slash/slash_0003_Classic_27.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
src/vfx/slash/slash_0003_Classic_27.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bodfblud4kea3"
|
||||
path="res://.godot/imported/slash_0003_Classic_27.png-6f445ce101e9ea54bfeda842ed6b0aba.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/slash/slash_0003_Classic_27.png"
|
||||
dest_files=["res://.godot/imported/slash_0003_Classic_27.png-6f445ce101e9ea54bfeda842ed6b0aba.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
src/vfx/slash/slash_0004_Classic_26.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
34
src/vfx/slash/slash_0004_Classic_26.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://de55prolicl0u"
|
||||
path="res://.godot/imported/slash_0004_Classic_26.png-8b74f286f3ecb1c6b24b364a6112cd6c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/slash/slash_0004_Classic_26.png"
|
||||
dest_files=["res://.godot/imported/slash_0004_Classic_26.png-8b74f286f3ecb1c6b24b364a6112cd6c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
src/vfx/slash/slash_0005_Layer-1.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
src/vfx/slash/slash_0005_Layer-1.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bp0msic3uk3kc"
|
||||
path="res://.godot/imported/slash_0005_Layer-1.png-db55a7b50be18f92ffbe8351fade1a09.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/slash/slash_0005_Layer-1.png"
|
||||
dest_files=["res://.godot/imported/slash_0005_Layer-1.png-db55a7b50be18f92ffbe8351fade1a09.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||