Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b50ca5b919 | |||
| 9032272599 | |||
| a2ef3bfaf0 | |||
| 1ab1071246 | |||
| e5b2b8b8ab | |||
| 2fa8aa9fbc | |||
| 6deb6e29fd | |||
| edc133749f | |||
| 2ed9dbbc52 | |||
| 3456340bb7 | |||
| 6375383373 | |||
| 09f55d3aa7 | |||
| a736adaafb |
Binary file not shown.
|
After Width: | Height: | Size: 652 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dc1xim3mqlj1o"
|
||||||
|
path="res://.godot/imported/angry.png-e4eff51de743a11598498a3e284ae0a1.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://art/characters/Vesna/angry.png"
|
||||||
|
dest_files=["res://.godot/imported/angry.png-e4eff51de743a11598498a3e284ae0a1.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 650 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bhd8ui4bdauoq"
|
||||||
|
path="res://.godot/imported/sad.png-07f44c713781510c0fa11821d4fa50bc.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://art/characters/Vesna/sad.png"
|
||||||
|
dest_files=["res://.godot/imported/sad.png-07f44c713781510c0fa11821d4fa50bc.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 649 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://4xvgqwrwh3vw"
|
||||||
|
path="res://.godot/imported/smile.png-2ef625357927edd0d495bf554ac57e21.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://art/characters/Vesna/smile.png"
|
||||||
|
dest_files=["res://.godot/imported/smile.png-2ef625357927edd0d495bf554ac57e21.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 648 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dcxkqut5edp2b"
|
||||||
|
path="res://.godot/imported/surprise.png-79afea119cbe923f9aa9e4554a23ed80.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://art/characters/Vesna/surprise.png"
|
||||||
|
dest_files=["res://.godot/imported/surprise.png-79afea119cbe923f9aa9e4554a23ed80.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 651 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ing4qavovh4r"
|
||||||
|
path="res://.godot/imported/surprised.png-ab52144d1f41186a697c9a0e1584b3ee.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://art/characters/Vesna/surprised.png"
|
||||||
|
dest_files=["res://.godot/imported/surprised.png-ab52144d1f41186a697c9a0e1584b3ee.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
@@ -26,6 +26,15 @@
|
|||||||
&"nicknames": ["vesna"],
|
&"nicknames": ["vesna"],
|
||||||
&"offset": Vector2(-300, 0),
|
&"offset": Vector2(-300, 0),
|
||||||
&"portraits": {
|
&"portraits": {
|
||||||
|
"angry": {
|
||||||
|
"export_overrides": {
|
||||||
|
"image": "\"res://art/characters/Vesna/angry.png\""
|
||||||
|
},
|
||||||
|
"mirror": false,
|
||||||
|
"offset": Vector2(150, 0),
|
||||||
|
"scale": 0.65,
|
||||||
|
"scene": ""
|
||||||
|
},
|
||||||
"front": {
|
"front": {
|
||||||
"export_overrides": {
|
"export_overrides": {
|
||||||
"image": "\"res://art/animation/Vesna2D/Vesna Anims Sequences/F01-Idle/0001.png\""
|
"image": "\"res://art/animation/Vesna2D/Vesna Anims Sequences/F01-Idle/0001.png\""
|
||||||
@@ -52,6 +61,42 @@
|
|||||||
"offset": Vector2(0, 0),
|
"offset": Vector2(0, 0),
|
||||||
"scale": 1.0,
|
"scale": 1.0,
|
||||||
"scene": ""
|
"scene": ""
|
||||||
|
},
|
||||||
|
"sad": {
|
||||||
|
"export_overrides": {
|
||||||
|
"image": "\"res://art/characters/Vesna/sad.png\""
|
||||||
|
},
|
||||||
|
"mirror": false,
|
||||||
|
"offset": Vector2(150, 0),
|
||||||
|
"scale": 0.65,
|
||||||
|
"scene": ""
|
||||||
|
},
|
||||||
|
"smile": {
|
||||||
|
"export_overrides": {
|
||||||
|
"image": "\"res://art/characters/Vesna/smile.png\""
|
||||||
|
},
|
||||||
|
"mirror": false,
|
||||||
|
"offset": Vector2(150, 0),
|
||||||
|
"scale": 0.65,
|
||||||
|
"scene": ""
|
||||||
|
},
|
||||||
|
"surprise": {
|
||||||
|
"export_overrides": {
|
||||||
|
"image": "\"res://art/characters/Vesna/surprise.png\""
|
||||||
|
},
|
||||||
|
"mirror": false,
|
||||||
|
"offset": Vector2(150, 0),
|
||||||
|
"scale": 0.65,
|
||||||
|
"scene": ""
|
||||||
|
},
|
||||||
|
"surprised": {
|
||||||
|
"export_overrides": {
|
||||||
|
"image": "\"res://art/characters/Vesna/surprised.png\""
|
||||||
|
},
|
||||||
|
"mirror": false,
|
||||||
|
"offset": Vector2(150, 0),
|
||||||
|
"scale": 0.65,
|
||||||
|
"scene": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
&"scale": 1.0
|
&"scale": 1.0
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
join Yeli right
|
join Yeli right
|
||||||
join vesna left
|
join vesna (surprise) left
|
||||||
[quest_complete quest_resource="res://resources/quests/demo/1_talk_yeli_1.tres"]
|
[quest_complete quest_resource="res://resources/quests/demo/1_talk_yeli_1.tres"]
|
||||||
Yeli (_part_side): Come here, you little quacking beast!
|
Yeli (_part_side): Come here, you little quacking beast!
|
||||||
- What a mess!
|
- What a mess!
|
||||||
|
|||||||
@@ -14,5 +14,9 @@ position = Vector2(23, -96)
|
|||||||
scale = Vector2(0.547474, 0.547474)
|
scale = Vector2(0.547474, 0.547474)
|
||||||
texture = SubResource("AtlasTexture_ane0o")
|
texture = SubResource("AtlasTexture_ane0o")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" parent="TargetSelection/Click" index="0"]
|
||||||
|
position = Vector2(25.215, -195)
|
||||||
|
scale = Vector2(0.72370636, 1)
|
||||||
|
|
||||||
[node name="Sprite2D" parent="TargetSelection/HoverIndicator" index="0"]
|
[node name="Sprite2D" parent="TargetSelection/HoverIndicator" index="0"]
|
||||||
position = Vector2(1, -126)
|
position = Vector2(0.84, -126)
|
||||||
|
|||||||
+2
-2
@@ -186,8 +186,8 @@ directories/tres_directory={
|
|||||||
|
|
||||||
[display]
|
[display]
|
||||||
|
|
||||||
window/size/viewport_width=1980
|
window/size/viewport_width=1920
|
||||||
window/size/viewport_height=1020
|
window/size/viewport_height=1080
|
||||||
window/stretch/mode="viewport"
|
window/stretch/mode="viewport"
|
||||||
window/stretch/aspect="keep_height"
|
window/stretch/aspect="keep_height"
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ public class TargetSelectActionDetail : FighterAction.FighterActionDetail
|
|||||||
// settings
|
// settings
|
||||||
public required bool selectEnemy;
|
public required bool selectEnemy;
|
||||||
public required bool selectAlly;
|
public required bool selectAlly;
|
||||||
|
public required bool aliveOnly;
|
||||||
public VisualRange visualRange = VisualRange.Single;
|
public VisualRange visualRange = VisualRange.Single;
|
||||||
|
|
||||||
// result
|
// result
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ public class AllyAttackAction : FighterAction
|
|||||||
public TargetSelectActionDetail targetSelect = new()
|
public TargetSelectActionDetail targetSelect = new()
|
||||||
{
|
{
|
||||||
selectEnemy = true,
|
selectEnemy = true,
|
||||||
selectAlly = false
|
selectAlly = false,
|
||||||
|
aliveOnly = true
|
||||||
};
|
};
|
||||||
|
|
||||||
public MinigameActionDetail minigameDetail = new();
|
public MinigameActionDetail minigameDetail = new();
|
||||||
|
|||||||
@@ -117,11 +117,13 @@ public partial class AllFightersVisual : Node
|
|||||||
if (targetDetail.selectEnemy)
|
if (targetDetail.selectEnemy)
|
||||||
_fighterVisuals
|
_fighterVisuals
|
||||||
.Where(kv => kv.Key.IsInFormation(HappeningData.enemyFighterFormation))
|
.Where(kv => kv.Key.IsInFormation(HappeningData.enemyFighterFormation))
|
||||||
|
.Where(kv => !targetDetail.aliveOnly || kv.Key.IsAlive())// if aliveOnly: take where IsAlive
|
||||||
.ForEach(kv => kv.Value.SetTargetSelectionActive(true));
|
.ForEach(kv => kv.Value.SetTargetSelectionActive(true));
|
||||||
|
|
||||||
if (targetDetail.selectAlly)
|
if (targetDetail.selectAlly)
|
||||||
_fighterVisuals
|
_fighterVisuals
|
||||||
.Where(kv => kv.Key.IsInFormation(HappeningData.allyFighterFormation))
|
.Where(kv => kv.Key.IsInFormation(HappeningData.allyFighterFormation))
|
||||||
|
.Where(kv => !targetDetail.aliveOnly || kv.Key.IsAlive())// if aliveOnly: take where IsAlive
|
||||||
.ForEach(kv => kv.Value.SetTargetSelectionActive(true));
|
.ForEach(kv => kv.Value.SetTargetSelectionActive(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -307,6 +307,11 @@ public partial class FightHappening : Node
|
|||||||
HappeningData.enemyFighterFormation.SetFighterAtPosition(emptySlotIndex, fighter);
|
HappeningData.enemyFighterFormation.SetFighterAtPosition(emptySlotIndex, fighter);
|
||||||
HappeningData.fighterTurn.AddAsLast(fighter);
|
HappeningData.fighterTurn.AddAsLast(fighter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GD.RandRange(0, 2) != 0) // 2/3 chance for vesna to start
|
||||||
|
{
|
||||||
|
HappeningData.fighterTurn.SpinBack();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExecuteNextFighter()
|
private void ExecuteNextFighter()
|
||||||
|
|||||||
@@ -99,6 +99,23 @@ public class FighterTurn : IEnumerable<FightWorld.Fighter>
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the current one back
|
||||||
|
/// This is an expensive operation, because the entire data structure needs to be circled
|
||||||
|
/// </summary>
|
||||||
|
public void SpinBack()
|
||||||
|
{
|
||||||
|
if (_currentNode == null) return;
|
||||||
|
|
||||||
|
var node = _currentNode;
|
||||||
|
while (node.next != _currentNode)
|
||||||
|
{
|
||||||
|
node = node.next;
|
||||||
|
}
|
||||||
|
|
||||||
|
_currentNode = node;
|
||||||
|
}
|
||||||
|
|
||||||
public IEnumerator<FightWorld.Fighter> GetEnumerator()
|
public IEnumerator<FightWorld.Fighter> GetEnumerator()
|
||||||
{
|
{
|
||||||
if (_currentNode == null) return Enumerable.Empty<FightWorld.Fighter>().GetEnumerator();
|
if (_currentNode == null) return Enumerable.Empty<FightWorld.Fighter>().GetEnumerator();
|
||||||
|
|||||||
@@ -9,9 +9,15 @@ public partial class SwitchSceneOnFightEnd : Node
|
|||||||
|
|
||||||
public void OnFightStateEnter(FightHappening.FightState to)
|
public void OnFightStateEnter(FightHappening.FightState to)
|
||||||
{
|
{
|
||||||
if (to is FightHappening.FightState.PlayerWin
|
if (to is FightHappening.FightState.PlayerWin )
|
||||||
or FightHappening.FightState.EnemyWin)
|
|
||||||
_ = SwitchSceneAfterTime(2.0f);
|
_ = SwitchSceneAfterTime(2.0f);
|
||||||
|
|
||||||
|
if (to is FightHappening.FightState.EnemyWin)
|
||||||
|
{
|
||||||
|
_fightSceneSwitcher.ExitFight();
|
||||||
|
_fightSceneSwitcher.ExitFightWorld();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task SwitchSceneAfterTime(float seconds)
|
private async Task SwitchSceneAfterTime(float seconds)
|
||||||
|
|||||||
Reference in New Issue
Block a user