made test floor, replaced sara frames, replaced shield frames, set many enemies to shaded and adjusted heights/sizes, added solid mesh doorways, added filth and ballos' vfx,
@@ -1,8 +1,8 @@
|
||||
[gd_scene load_steps=21 format=3 uid="uid://c7wjbgbrdivol"]
|
||||
[gd_scene load_steps=22 format=3 uid="uid://c7wjbgbrdivol"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bgaflnnur26vk" path="res://src/data_viewer/DataViewer.cs" id="1_1qako"]
|
||||
[ext_resource type="Theme" uid="uid://daxuhpmyxwxck" path="res://src/ui/inventory_menu/InventoryDialogueSelectionStyle.tres" id="2_bef6s"]
|
||||
[ext_resource type="Texture2D" uid="uid://iwcftnraw2k0" path="res://src/map/assets/Sarcophagus/sarco altar_greeen2.png" id="3_3wl4s"]
|
||||
[ext_resource type="Texture2D" uid="uid://bg7elvikjtl36" path="res://src/map/assets/Sarcophagus/sarco altar_greeen2.png" id="3_3wl4s"]
|
||||
[ext_resource type="PackedScene" uid="uid://c16i1gmg6yu5a" path="res://src/data_viewer/DataViewerRepository.tscn" id="3_ejdn0"]
|
||||
[ext_resource type="PackedScene" uid="uid://bjg8wyvp8q6oc" path="res://src/enemy/enemy_types/02. michael/MichaelModelView.tscn" id="4_bef6s"]
|
||||
[ext_resource type="PackedScene" uid="uid://dcm53j3rncxdm" path="res://src/enemy/enemy_types/06. chariot/ChariotModelView.tscn" id="5_vk1lh"]
|
||||
@@ -24,6 +24,9 @@
|
||||
shading_mode = 0
|
||||
albedo_texture = ExtResource("3_3wl4s")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_3wl4s"]
|
||||
background_mode = 1
|
||||
|
||||
[node name="DataViewer" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
@@ -92,14 +95,11 @@ unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.82023e-08, 0, 3.1233)
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="CenterContainer/VBoxContainer/HBoxContainer/SubViewportContainer/SubViewport"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.47154, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.84891, 0)
|
||||
radius = 1.5
|
||||
height = 5.46951
|
||||
material = SubResource("StandardMaterial3D_dvixg")
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight3D" parent="CenterContainer/VBoxContainer/HBoxContainer/SubViewportContainer/SubViewport"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.0417012, 0.99913, 0, -0.99913, 0.0417012, 0, 4.88492, 0)
|
||||
|
||||
[node name="RightPanel" type="Panel" parent="CenterContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(390, 0)
|
||||
layout_mode = 2
|
||||
@@ -160,3 +160,12 @@ Activate: △ (E)"
|
||||
[node name="DataViewerRepository" parent="." instance=ExtResource("3_ejdn0")]
|
||||
unique_name_in_owner = true
|
||||
ModelRepository = Array[PackedScene]([ExtResource("5_vk1lh"), ExtResource("4_bef6s"), ExtResource("6_hpkd1"), ExtResource("8_dvixg"), ExtResource("9_utjpw"), ExtResource("10_ylptw"), ExtResource("11_fm7p5"), ExtResource("12_5hrw6"), ExtResource("13_5hrw6"), ExtResource("14_3wl4s"), ExtResource("15_37gx6"), ExtResource("16_alsxp"), ExtResource("17_qov77"), ExtResource("18_sxd8s"), ExtResource("19_gkucd")])
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_3wl4s")
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -0.31977, 0.947495, 0, -0.947495, -0.31977, 0, 6.05742, -1.13242)
|
||||
light_energy = 8.943
|
||||
spot_range = 9.00889
|
||||
spot_attenuation = 3.45
|
||||
|
||||
@@ -44,153 +44,153 @@ public partial class EnemyModelView2D : Node3D, IEnemyModelView
|
||||
|
||||
public void PlayPrimaryAttackAnimation()
|
||||
{
|
||||
switch (_currentDirection)
|
||||
{
|
||||
case DirectionType.FORWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK);
|
||||
break;
|
||||
case DirectionType.RIGHT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK_RIGHT);
|
||||
break;
|
||||
case DirectionType.LEFT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK_LEFT);
|
||||
break;
|
||||
case DirectionType.BACKWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK_BACK);
|
||||
break;
|
||||
}
|
||||
switch (_currentDirection)
|
||||
{
|
||||
case DirectionType.FORWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK);
|
||||
break;
|
||||
case DirectionType.RIGHT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK_RIGHT);
|
||||
break;
|
||||
case DirectionType.LEFT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK_LEFT);
|
||||
break;
|
||||
case DirectionType.BACKWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK_BACK);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void PlaySecondaryAttackAnimation()
|
||||
{
|
||||
switch (_currentDirection)
|
||||
{
|
||||
case DirectionType.FORWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK);
|
||||
break;
|
||||
case DirectionType.RIGHT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK_RIGHT);
|
||||
break;
|
||||
case DirectionType.LEFT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK_LEFT);
|
||||
break;
|
||||
case DirectionType.BACKWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK_BACK);
|
||||
break;
|
||||
}
|
||||
switch (_currentDirection)
|
||||
{
|
||||
case DirectionType.FORWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK);
|
||||
break;
|
||||
case DirectionType.RIGHT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK_RIGHT);
|
||||
break;
|
||||
case DirectionType.LEFT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK_LEFT);
|
||||
break;
|
||||
case DirectionType.BACKWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK_BACK);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void PlayPrimarySkillAnimation()
|
||||
{
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_SKILL);
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_SKILL);
|
||||
}
|
||||
|
||||
public void PlayHitAnimation()
|
||||
{
|
||||
LoadShader("res://src/vfx/shaders/DamageHit.gdshader");
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 1.0f);
|
||||
LoadShader("res://src/vfx/shaders/DamageHit.gdshader");
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
public void PlayDeathAnimation()
|
||||
{
|
||||
LoadShader("res://src/vfx/shaders/PixelMelt.gdshader");
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 0.8f);
|
||||
tweener.TweenCallback(Callable.From(QueueFree));
|
||||
LoadShader("res://src/vfx/shaders/PixelMelt.gdshader");
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 0.8f);
|
||||
tweener.TweenCallback(Callable.From(QueueFree));
|
||||
}
|
||||
|
||||
public virtual void PlayIdleAnimation()
|
||||
{
|
||||
switch (_currentDirection)
|
||||
{
|
||||
case DirectionType.FORWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_FORWARD);
|
||||
break;
|
||||
case DirectionType.RIGHT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_RIGHT);
|
||||
break;
|
||||
case DirectionType.LEFT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_LEFT);
|
||||
break;
|
||||
case DirectionType.BACKWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_BACK);
|
||||
break;
|
||||
}
|
||||
switch (_currentDirection)
|
||||
{
|
||||
case DirectionType.FORWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_FORWARD);
|
||||
break;
|
||||
case DirectionType.RIGHT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_RIGHT);
|
||||
break;
|
||||
case DirectionType.LEFT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_LEFT);
|
||||
break;
|
||||
case DirectionType.BACKWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_BACK);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void PlayWalkAnimation()
|
||||
{
|
||||
switch (_currentDirection)
|
||||
{
|
||||
case DirectionType.FORWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_FORWARD_WALK);
|
||||
break;
|
||||
case DirectionType.RIGHT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_RIGHT_WALK);
|
||||
break;
|
||||
case DirectionType.LEFT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_LEFT_WALK);
|
||||
break;
|
||||
case DirectionType.BACKWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_BACK_WALK);
|
||||
break;
|
||||
}
|
||||
switch (_currentDirection)
|
||||
{
|
||||
case DirectionType.FORWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_FORWARD_WALK);
|
||||
break;
|
||||
case DirectionType.RIGHT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_RIGHT_WALK);
|
||||
break;
|
||||
case DirectionType.LEFT:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_LEFT_WALK);
|
||||
break;
|
||||
case DirectionType.BACKWARD:
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE_BACK_WALK);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private DirectionType GetEnemyDirection(
|
||||
Basis enemyBasis,
|
||||
Vector3 cameraDirection,
|
||||
float rotateUpperThreshold,
|
||||
float rotateLowerThreshold)
|
||||
Basis enemyBasis,
|
||||
Vector3 cameraDirection,
|
||||
float rotateUpperThreshold,
|
||||
float rotateLowerThreshold)
|
||||
{
|
||||
var enemyForwardDirection = enemyBasis.Z;
|
||||
var enemyLeftDirection = enemyBasis.X;
|
||||
var enemyForwardDirection = enemyBasis.Z;
|
||||
var enemyLeftDirection = enemyBasis.X;
|
||||
|
||||
var leftDotProduct = enemyLeftDirection.Dot(cameraDirection);
|
||||
var forwardDotProduct = enemyForwardDirection.Dot(cameraDirection);
|
||||
var leftDotProduct = enemyLeftDirection.Dot(cameraDirection);
|
||||
var forwardDotProduct = enemyForwardDirection.Dot(cameraDirection);
|
||||
|
||||
// Check if forward facing. If the dot product is -1, the enemy is facing the camera.
|
||||
if (forwardDotProduct < -rotateUpperThreshold)
|
||||
return DirectionType.FORWARD;
|
||||
// Check if forward facing. If the dot product is -1, the enemy is facing the camera.
|
||||
if (forwardDotProduct < -rotateUpperThreshold)
|
||||
return DirectionType.FORWARD;
|
||||
|
||||
// Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera.
|
||||
else if (forwardDotProduct > rotateUpperThreshold)
|
||||
return DirectionType.BACKWARD;
|
||||
else
|
||||
{
|
||||
// If the dot product of the perpendicular direction is positive (up to 1), the enemy is facing to the left (since it's mirrored).
|
||||
if (leftDotProduct > 0)
|
||||
return DirectionType.RIGHT;
|
||||
// Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera.
|
||||
else if (forwardDotProduct > rotateUpperThreshold)
|
||||
return DirectionType.BACKWARD;
|
||||
else
|
||||
{
|
||||
// If the dot product of the perpendicular direction is positive (up to 1), the enemy is facing to the left (since it's mirrored).
|
||||
if (leftDotProduct > 0)
|
||||
return DirectionType.RIGHT;
|
||||
|
||||
// Check if side facing. If the dot product is close to zero in the positive or negative direction, its close to the threshold for turning.
|
||||
if (Mathf.Abs(forwardDotProduct) < rotateLowerThreshold)
|
||||
return DirectionType.LEFT;
|
||||
}
|
||||
// Check if side facing. If the dot product is close to zero in the positive or negative direction, its close to the threshold for turning.
|
||||
if (Mathf.Abs(forwardDotProduct) < rotateLowerThreshold)
|
||||
return DirectionType.LEFT;
|
||||
}
|
||||
|
||||
return _currentDirection;
|
||||
return _currentDirection;
|
||||
}
|
||||
|
||||
private void LoadShader(string shaderPath)
|
||||
{
|
||||
var shader = GD.Load<Shader>(shaderPath);
|
||||
var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast<AnimatedSprite2D>();
|
||||
foreach (var sprite in sprites)
|
||||
{
|
||||
sprite.Material = new ShaderMaterial();
|
||||
var shaderMaterial = (ShaderMaterial)sprite.Material;
|
||||
shaderMaterial.Shader = shader;
|
||||
}
|
||||
var shader = GD.Load<Shader>(shaderPath);
|
||||
var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast<AnimatedSprite2D>();
|
||||
foreach (var sprite in sprites)
|
||||
{
|
||||
sprite.Material = new ShaderMaterial();
|
||||
var shaderMaterial = (ShaderMaterial)sprite.Material;
|
||||
shaderMaterial.Shader = shader;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetShaderValue(float shaderValue)
|
||||
{
|
||||
var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast<AnimatedSprite2D>();
|
||||
foreach (var sprite in sprites)
|
||||
{
|
||||
var shaderMaterial = (ShaderMaterial)sprite.Material;
|
||||
shaderMaterial.SetShaderParameter("progress", shaderValue);
|
||||
}
|
||||
var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast<AnimatedSprite2D>();
|
||||
foreach (var sprite in sprites)
|
||||
{
|
||||
var shaderMaterial = (ShaderMaterial)sprite.Material;
|
||||
shaderMaterial.SetShaderParameter("progress", shaderValue);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,74 +28,74 @@ public partial class EnemyModelView3D : Node3D, IEnemyModelView
|
||||
|
||||
public void PlayPrimaryAttackAnimation()
|
||||
{
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK);
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_ATTACK);
|
||||
}
|
||||
|
||||
public void PlaySecondaryAttackAnimation()
|
||||
{
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK);
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(SECONDARY_ATTACK);
|
||||
}
|
||||
|
||||
public void PlayPrimarySkillAnimation()
|
||||
{
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_SKILL);
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(PRIMARY_SKILL);
|
||||
}
|
||||
|
||||
public void PlayHitAnimation()
|
||||
{
|
||||
var tweener = CreateTween();
|
||||
ChangeMaterial();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetTransparency(x)), 0.0f, 0.5f, 0.3f);
|
||||
tweener.TweenCallback(Callable.From(ClearDamageEffect));
|
||||
var tweener = CreateTween();
|
||||
ChangeMaterial();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetTransparency(x)), 0.0f, 0.5f, 0.3f);
|
||||
tweener.TweenCallback(Callable.From(ClearDamageEffect));
|
||||
}
|
||||
|
||||
public void PlayDeathAnimation()
|
||||
{
|
||||
LoadShader("res://src/enemy/EnemyDie.tres");
|
||||
var tweener = CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetTransparency(x)), 0.0f, 1.0f, 0.8f);
|
||||
tweener.TweenCallback(Callable.From(QueueFree));
|
||||
LoadShader("res://src/enemy/EnemyDie.tres");
|
||||
var tweener = CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetTransparency(x)), 0.0f, 1.0f, 0.8f);
|
||||
tweener.TweenCallback(Callable.From(QueueFree));
|
||||
}
|
||||
|
||||
public void PlayWalkAnimation()
|
||||
{
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(WALK);
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(WALK);
|
||||
}
|
||||
|
||||
public void PlayIdleAnimation()
|
||||
{
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE);
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Travel(IDLE);
|
||||
}
|
||||
|
||||
private void ChangeMaterial()
|
||||
{
|
||||
var material = new StandardMaterial3D
|
||||
{
|
||||
AlbedoColor = Color.FromHsv(0, 1, 1, 1)
|
||||
};
|
||||
MeshInstance.MaterialOverride = (Material)material.Duplicate();
|
||||
var material = new StandardMaterial3D
|
||||
{
|
||||
AlbedoColor = Color.FromHsv(0, 1, 1, 1)
|
||||
};
|
||||
MeshInstance.MaterialOverride = (Material)material.Duplicate();
|
||||
}
|
||||
|
||||
private void LoadShader(string shaderPath)
|
||||
{
|
||||
var shader = GD.Load<ShaderMaterial>(shaderPath);
|
||||
MeshInstance.MaterialOverride = shader;
|
||||
var shader = GD.Load<ShaderMaterial>(shaderPath);
|
||||
MeshInstance.MaterialOverride = shader;
|
||||
}
|
||||
|
||||
private void ClearDamageEffect()
|
||||
{
|
||||
MeshInstance.MaterialOverride = null;
|
||||
MeshInstance.Transparency = 0;
|
||||
MeshInstance.MaterialOverride = null;
|
||||
MeshInstance.Transparency = 0;
|
||||
}
|
||||
|
||||
private void SetTransparency(float transparencyAmount)
|
||||
{
|
||||
MeshInstance.Transparency = transparencyAmount;
|
||||
MeshInstance.Transparency = transparencyAmount;
|
||||
}
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Stop();
|
||||
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Stop();
|
||||
}
|
||||
|
||||
public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection)
|
||||
|
||||
@@ -1106,6 +1106,7 @@ EnemyLoreInfo = SubResource("Resource_ivy74")
|
||||
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
|
||||
pixel_size = 0.003
|
||||
billboard = 2
|
||||
shaded = true
|
||||
alpha_cut = 1
|
||||
texture_filter = 0
|
||||
render_priority = 100
|
||||
|
||||
@@ -1250,6 +1250,7 @@ EnemyLoreInfo = SubResource("Resource_gby04")
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.086869, 0)
|
||||
billboard = 2
|
||||
shaded = true
|
||||
alpha_cut = 1
|
||||
texture_filter = 0
|
||||
render_priority = 100
|
||||
@@ -1305,7 +1306,7 @@ libraries = {
|
||||
}
|
||||
|
||||
[node name="Michael Attack VFX" type="AnimatedSprite3D" parent="."]
|
||||
transform = Transform3D(0.72, 0, 0, 0, 0.72, 0, 0, 0, 0.72, -0.129818, 0.274447, 0)
|
||||
modulate = Color(0.978023, 0.306734, 1, 1)
|
||||
transform = Transform3D(0.72, 0, 0, 0, 0.72, 0, 0, 0, 0.72, -0.129818, 0.274447, 0.532815)
|
||||
modulate = Color(0.977, 0.31, 1, 0.741176)
|
||||
billboard = 2
|
||||
sprite_frames = SubResource("SpriteFrames_suy1t")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=216 format=3 uid="uid://bup8c4x1na3aw"]
|
||||
[gd_scene load_steps=289 format=3 uid="uid://bup8c4x1na3aw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_718m1"]
|
||||
[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_krqul"]
|
||||
@@ -193,6 +193,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cvivq23738fvf" path="res://src/enemy/enemy_types/03. filth_eater/animations/Filth Side Attacks Frames/ATTACK 2 SIDE/frame_072_delay-0.01s.png" id="189_uqsli"]
|
||||
[ext_resource type="Texture2D" uid="uid://bxijhjyqvfrip" path="res://src/enemy/enemy_types/03. filth_eater/animations/Filth Side Attacks Frames/ATTACK 2 SIDE/frame_073_delay-0.01s.png" id="190_wg32o"]
|
||||
[ext_resource type="PackedScene" uid="uid://diaxvpmwgl65u" path="res://src/enemy/TwoAttacksEnemyAnimationTree.tscn" id="193_krqul"]
|
||||
[ext_resource type="Texture2D" uid="uid://d0q5jru1am4v0" path="res://src/vfx/Enemy/FILTH_BLAST.png" id="194_pyy2h"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_pyy2h"]
|
||||
script = ExtResource("2_krqul")
|
||||
@@ -1072,6 +1073,18 @@ tracks/3/keys = {
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("OmniLight3D:light_energy")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_b1kem"]
|
||||
resource_name = "idle_back"
|
||||
@@ -1578,6 +1591,28 @@ tracks/2/keys = {
|
||||
"update": 1,
|
||||
"values": [true, false, true]
|
||||
}
|
||||
tracks/3/type = "animation"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("attack VFX/attack VFX animplayer")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"clips": PackedStringArray("[stop]", "attack", "[stop]"),
|
||||
"times": PackedFloat32Array(0, 0.833333, 3.16667)
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("OmniLight3D:light_energy")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0.833333, 1.91667, 2, 2.16667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 10.0, 500.0, 0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7a6is"]
|
||||
resource_name = "secondary_attack_back"
|
||||
@@ -1747,13 +1782,536 @@ _data = {
|
||||
&"secondary_attack_right": SubResource("Animation_smxxh")
|
||||
}
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_smxxh"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(0, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7a6is"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(200, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_u5xjp"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(400, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5cwnl"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(600, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e0gee"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(800, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mno7m"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1000, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4h5gj"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1200, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e5pq0"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1400, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wka7s"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1600, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8jscc"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1800, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7vrs0"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2000, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_20678"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2200, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_k6da7"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2400, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_at0n1"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2600, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_svg22"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2800, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s7lar"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3000, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_akobn"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3200, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bsqna"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3400, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gol4k"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3600, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p4ilm"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3800, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_k83sm"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4000, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kcq25"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4200, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_01v4k"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4400, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jltoa"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4600, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_oimc0"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4800, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xcm4a"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5000, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ddwwq"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5200, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_n4eka"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5400, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ec8sv"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5600, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g2s00"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5800, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yqxd5"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(6000, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_maccb"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(6200, 0, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5xhee"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(0, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_503vp"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(200, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7y3hb"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(400, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_h8dgw"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(600, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nvud8"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(800, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nsjll"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1000, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rwn6o"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1200, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rqeru"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1400, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5qfjk"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1600, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uyx05"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(1800, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6io2i"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2000, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7jav2"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2200, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_c1hmo"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2400, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wtri2"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2600, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y5ohj"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(2800, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w8af6"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3000, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ak6p5"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3200, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nynd4"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3400, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vfi4o"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3600, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kejqa"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(3800, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vpc4y"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4000, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xjjqp"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4200, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8cq68"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4400, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0k8xt"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4600, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2luu3"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(4800, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jn2d1"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5000, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_04ae7"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5200, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_awkol"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5400, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dmujc"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5600, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xec7a"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(5800, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0q7dy"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(6000, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yxfm3"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(6200, 200, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7qpsm"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(0, 400, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_djpuk"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(200, 400, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_r8qv3"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(400, 400, 200, 200)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_28t7p"]
|
||||
atlas = ExtResource("194_pyy2h")
|
||||
region = Rect2(600, 400, 200, 200)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_fwra5"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_smxxh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7a6is")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_u5xjp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5cwnl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e0gee")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mno7m")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4h5gj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e5pq0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wka7s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8jscc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7vrs0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_20678")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_k6da7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_at0n1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_svg22")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s7lar")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_akobn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bsqna")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gol4k")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_p4ilm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_k83sm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kcq25")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_01v4k")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jltoa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_oimc0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xcm4a")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ddwwq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_n4eka")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ec8sv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g2s00")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yqxd5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_maccb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5xhee")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_503vp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7y3hb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_h8dgw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nvud8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nsjll")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rwn6o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rqeru")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5qfjk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uyx05")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6io2i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7jav2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_c1hmo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wtri2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_y5ohj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w8af6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ak6p5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nynd4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vfi4o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kejqa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vpc4y")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xjjqp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8cq68")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0k8xt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2luu3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jn2d1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_04ae7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_awkol")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dmujc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xec7a")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0q7dy")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yxfm3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7qpsm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_djpuk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_r8qv3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_28t7p")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 40.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4i1f6"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_nmlvd"]
|
||||
resource_name = "attack"
|
||||
length = 2.26667
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1.33333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0, 67]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_g2tr6"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_4i1f6"),
|
||||
&"attack": SubResource("Animation_nmlvd")
|
||||
}
|
||||
|
||||
[node name="EnemyModelView" type="Node3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.97683, 0)
|
||||
script = ExtResource("1_718m1")
|
||||
EnemyLoreInfo = SubResource("Resource_pyy2h")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.0862446, 0)
|
||||
billboard = 2
|
||||
shaded = true
|
||||
alpha_cut = 1
|
||||
texture_filter = 0
|
||||
render_priority = 100
|
||||
@@ -1774,6 +2332,7 @@ render_target_update_mode = 4
|
||||
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(150, 150)
|
||||
rotation = 0.0174533
|
||||
sprite_frames = SubResource("SpriteFrames_673a4")
|
||||
animation = &"idle_back_walk"
|
||||
|
||||
@@ -1797,3 +2356,19 @@ libraries = {
|
||||
|
||||
[node name="AnimationTree" parent="." instance=ExtResource("193_krqul")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="attack VFX" type="AnimatedSprite3D" parent="."]
|
||||
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, -0.0228448, 0.423145, 0)
|
||||
billboard = 1
|
||||
render_priority = 101
|
||||
sprite_frames = SubResource("SpriteFrames_fwra5")
|
||||
|
||||
[node name="attack VFX animplayer" type="AnimationPlayer" parent="attack VFX"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_g2tr6")
|
||||
}
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.546972)
|
||||
light_color = Color(0.837456, 0.93601, 0.775258, 1)
|
||||
omni_attenuation = 0.2
|
||||
|
||||
@@ -989,7 +989,7 @@ tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"update": 0,
|
||||
"values": [0, 24]
|
||||
}
|
||||
|
||||
@@ -1624,12 +1624,14 @@ _data = {
|
||||
}
|
||||
|
||||
[node name="EnemyModelView" type="Node3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.31442, 0)
|
||||
script = ExtResource("1_oh25a")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
|
||||
pixel_size = 0.005
|
||||
billboard = 1
|
||||
shaded = true
|
||||
alpha_cut = 1
|
||||
texture_filter = 0
|
||||
render_priority = 100
|
||||
@@ -1644,13 +1646,12 @@ offset_bottom = 40.0
|
||||
disable_3d = true
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
size = Vector2i(300, 300)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
texture_filter = 1
|
||||
position = Vector2(150, 150)
|
||||
position = Vector2(256, 254)
|
||||
sprite_frames = SubResource("SpriteFrames_sobol")
|
||||
animation = &"idle_front"
|
||||
|
||||
@@ -1676,8 +1677,10 @@ libraries = {
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||
transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, -0.0335064, -0.0871174, 0)
|
||||
transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, -0.0335064, -0.0871174, -0.40289)
|
||||
modulate = Color(1, 1, 1, 0.72549)
|
||||
billboard = 2
|
||||
texture_filter = 1
|
||||
sprite_frames = SubResource("SpriteFrames_4o5f2")
|
||||
|
||||
[node name="Secondary Animation Player" type="AnimationPlayer" parent="."]
|
||||
|
||||
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 176 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 178 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 194 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 172 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 215 KiB |
|
After Width: | Height: | Size: 217 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dty2ox2wbwj21"
|
||||
path="res://.godot/imported/0022.png-fbf664e3dc0f997fc5ce2bc3b7b86680.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/enemy/enemy_types/04. sara/animations/ATTACK1/SARA BACK/0022.png"
|
||||
dest_files=["res://.godot/imported/0022.png-fbf664e3dc0f997fc5ce2bc3b7b86680.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
|
||||
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 195 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 187 KiB |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 172 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 192 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 191 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 194 KiB |
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 195 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 192 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 116 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://byyhirg3m2rsm"
|
||||
path="res://.godot/imported/0022.png-83525ff8f217f4986fb2ead9db5cd0fc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/enemy/enemy_types/04. sara/animations/ATTACK1/SARA SIDE L/0022.png"
|
||||
dest_files=["res://.godot/imported/0022.png-83525ff8f217f4986fb2ead9db5cd0fc.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
|
||||
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 137 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 163 KiB |
|
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 125 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://clr58ukm4ca4a"
|
||||
path="res://.godot/imported/0022.png-d75134211feed517b72c96f64d56aae3.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/enemy/enemy_types/04. sara/animations/ATTACK1/SARA SIDE R/0022.png"
|
||||
dest_files=["res://.godot/imported/0022.png-d75134211feed517b72c96f64d56aae3.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
|
||||
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 220 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 227 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 221 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 193 KiB |
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 195 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 193 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 192 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 191 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 195 KiB |
|
After Width: | Height: | Size: 193 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://eqa5hjydr84c"
|
||||
path="res://.godot/imported/0022.png-1ada1ec82c198f97a6cb2692c9c0232c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/enemy/enemy_types/04. sara/animations/ATTACK2/FRONT/0022.png"
|
||||
dest_files=["res://.godot/imported/0022.png-1ada1ec82c198f97a6cb2692c9c0232c.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
|
||||
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 130 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 220 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 220 KiB |
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 220 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 218 KiB |
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 216 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 215 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 218 KiB |
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 220 KiB |