diff --git a/Globals/Translations/Translations.csv b/Globals/Translations/Translations.csv index 47d68594..58738268 100644 --- a/Globals/Translations/Translations.csv +++ b/Globals/Translations/Translations.csv @@ -206,4 +206,22 @@ CREDITS_ADDITIONAL_ART,Art,额外美术 CREDITS_ADDITIONAL_HELP,Additional Help,额外协助 CREDITS_OTHER_PLAYTESTERS,All our other playtesters,以及所有其他测试玩家 CREDITS_SPECIAL_THANKS,Special Thanks,特别鸣谢 -CREDITS_THANKS_PLAYERS,And to you the player!,以及屏幕前的你! \ No newline at end of file +CREDITS_THANKS_PLAYERS,And to you the player!,以及屏幕前的你! +BOSSBLOOD_EFFECT1,"Heal and convert a basic note into a Blood note.","每循环治疗 点生命,并将一个普通音符转化为血之音符。" +CYBERFOX_EFFECT1,Gains one dodge.,获得一次闪避。 +EFFIGY_EFFECT1,Only takes 1 damage at a time.,每次只受到1点伤害。 +EFFIGY_EFFECT2,Sets player's health to 1 if defeated.,被击败时将玩家的生命值设为1。 +HOLOGRAEME_EFFECT1,Player only plays every other loop.,玩家每隔一轮行动一次。 +HOLOGRAEME_EFFECT2,"Holograeme only has 1 health, and is immune to relic damage.","全息格莱姆仅有1点生命值,且免疫遗物伤害。" +KEYTHULU_EFFECT1,"Every loop mindcrush ticks down by one, when it reaches zero, the player is defeated.","每次循环,心灵碾压计数会减1。当计数归零时,玩家即被击败。" +LWS_EFFECT1,Converts an empty note into a Lesser Wolf Snake note.,将一个基础音符转化为次级狼蛇音符。 +PARASIFLY_EFFECT1,All enemies gains block the first time fatal damage is dealt.,首次受到致命伤害时,所有敌人获得格挡。 +STRAWMAN_EFFECT1,Player cannot take fatal damage.,玩家不会受到致命伤害。 +GWS_EFFECT1,Adds Greater Wolf Snake notes after the first loop.,首次循环后,添加高级狼蛇音符。 +TURTLE_EFFECT1,Gains one block and drains some of player's charge to heal.,获得一层格挡,并消耗玩家部分充能以进行治疗。 +GWS_NOTE_DESCRIPTION,"If timed badly, deals high damage to the player. Damage increases each loop.","若时机不佳,则对玩家造成高额伤害,且伤害随每次循环递增。" +PARASIFLY_NOTE_DESCRIPTION,Parasifly gains block if timed badly.,若时机不佳,寄生蝇获得格挡。 +BOSSBLOOD_NOTE_DESCRIPTION,Boss Blood heals if timed badly.,若时机不佳,首领之血会进行治疗。 +SPIDER_NOTE_DESCRIPTION,Player gets poisoned if timed badly.,若时机不佳,玩家会中毒。 +LWS_NOTE_DESCRIPTION,"If timed badly, deals damage to the player. Damage increases each loop.","若时机不佳,则对玩家造成伤害,且伤害随每次循环递增。" +MUSHROOM_NOTE_DESCRIPTION,Player gets poisoned if timed badly.,若时机不佳,玩家会中毒。 \ No newline at end of file diff --git a/Scenes/BattleDirector/Assets/BattleEndSymbol.png b/Scenes/BattleDirector/Assets/BattleEndSymbol.png new file mode 100644 index 00000000..a4beda98 Binary files /dev/null and b/Scenes/BattleDirector/Assets/BattleEndSymbol.png differ diff --git a/Scenes/BattleDirector/Assets/BattleEndSymbol.png.import b/Scenes/BattleDirector/Assets/BattleEndSymbol.png.import new file mode 100644 index 00000000..0ca42b8d --- /dev/null +++ b/Scenes/BattleDirector/Assets/BattleEndSymbol.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmw2tkpmv22ew" +path="res://.godot/imported/BattleEndSymbol.png-5c282cbc73fc3f3efd9a51295ca4bc9d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/BattleDirector/Assets/BattleEndSymbol.png" +dest_files=["res://.godot/imported/BattleEndSymbol.png-5c282cbc73fc3f3efd9a51295ca4bc9d.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 diff --git a/Scenes/BattleDirector/Assets/BattleStartSymbol.png b/Scenes/BattleDirector/Assets/BattleStartSymbol.png new file mode 100644 index 00000000..84a88910 Binary files /dev/null and b/Scenes/BattleDirector/Assets/BattleStartSymbol.png differ diff --git a/Scenes/BattleDirector/Assets/BattleStartSymbol.png.import b/Scenes/BattleDirector/Assets/BattleStartSymbol.png.import new file mode 100644 index 00000000..8bf06276 --- /dev/null +++ b/Scenes/BattleDirector/Assets/BattleStartSymbol.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5r2idc5x21ro" +path="res://.godot/imported/BattleStartSymbol.png-a8cb230df43bb6721a2442dfafc1c8b6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/BattleDirector/Assets/BattleStartSymbol.png" +dest_files=["res://.godot/imported/BattleStartSymbol.png-a8cb230df43bb6721a2442dfafc1c8b6.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 diff --git a/Scenes/BattleDirector/Assets/DamageInstanceSymbol.png b/Scenes/BattleDirector/Assets/DamageInstanceSymbol.png new file mode 100644 index 00000000..506c2239 Binary files /dev/null and b/Scenes/BattleDirector/Assets/DamageInstanceSymbol.png differ diff --git a/Scenes/BattleDirector/Assets/DamageInstanceSymbol.png.import b/Scenes/BattleDirector/Assets/DamageInstanceSymbol.png.import new file mode 100644 index 00000000..a6a8bb92 --- /dev/null +++ b/Scenes/BattleDirector/Assets/DamageInstanceSymbol.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dosjbiqlrb3cr" +path="res://.godot/imported/DamageInstanceSymbol.png-9cd27c768e2ba03d6c47f5ac093aa1d8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/BattleDirector/Assets/DamageInstanceSymbol.png" +dest_files=["res://.godot/imported/DamageInstanceSymbol.png-9cd27c768e2ba03d6c47f5ac093aa1d8.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 diff --git a/Scenes/BattleDirector/Assets/LoopSymbol.png b/Scenes/BattleDirector/Assets/LoopSymbol.png new file mode 100644 index 00000000..8f1265e3 Binary files /dev/null and b/Scenes/BattleDirector/Assets/LoopSymbol.png differ diff --git a/Scenes/BattleDirector/Assets/LoopSymbol.png.import b/Scenes/BattleDirector/Assets/LoopSymbol.png.import new file mode 100644 index 00000000..a7522f00 --- /dev/null +++ b/Scenes/BattleDirector/Assets/LoopSymbol.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://r7oc2aa06s24" +path="res://.godot/imported/LoopSymbol.png-4d5a564a81d7d7d2248da6ec1ceb0061.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/BattleDirector/Assets/LoopSymbol.png" +dest_files=["res://.godot/imported/LoopSymbol.png-4d5a564a81d7d7d2248da6ec1ceb0061.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 diff --git a/Scenes/BattleDirector/BattleScene.tscn b/Scenes/BattleDirector/BattleScene.tscn index 2e60464c..3dea38a2 100644 --- a/Scenes/BattleDirector/BattleScene.tscn +++ b/Scenes/BattleDirector/BattleScene.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://b0mrgr7h0ty1y"] +[gd_scene load_steps=14 format=3 uid="uid://b0mrgr7h0ty1y"] [ext_resource type="Script" uid="uid://bttu0wmy2fp64" path="res://Scenes/BattleDirector/Scripts/BattleDirector.cs" id="1_jmdo1"] [ext_resource type="Script" uid="uid://pl57giqyhckb" path="res://Scenes/UI/Scripts/MenuModule.cs" id="2_ka0ws"] @@ -10,6 +10,7 @@ [ext_resource type="Script" uid="uid://cp6t6haqyef7o" path="res://Scenes/AreaBasedBackground.cs" id="7_6k2qj"] [ext_resource type="Texture2D" uid="uid://dbjotl0v1ymia" path="res://SharedAssets/BattleFrame1.png" id="7_klvil"] [ext_resource type="Theme" uid="uid://d37e3tpsbxwak" path="res://Scenes/UI/Assets/GeneralTheme.tres" id="8_62qim"] +[ext_resource type="PackedScene" uid="uid://bejjkejyeffek" path="res://Scenes/BattleDirector/EnemyDescriptions.tscn" id="11_gbbxr"] [sub_resource type="Gradient" id="Gradient_8uy3a"] offsets = PackedFloat32Array(0, 0.766234, 1) @@ -20,7 +21,7 @@ gradient = SubResource("Gradient_8uy3a") fill_from = Vector2(1, 0) fill_to = Vector2(0.738532, 1) -[node name="ProtoBattleDirector" type="Node2D" node_paths=PackedStringArray("PuppetMarkers", "_countdownLabel", "CD", "CM", "DW", "NPB", "Audio", "FocusedButton")] +[node name="ProtoBattleDirector" type="Node2D" node_paths=PackedStringArray("PuppetMarkers", "_countdownLabel", "CD", "CM", "DW", "NPB", "Audio", "Descriptions", "FocusedButton")] process_mode = 1 script = ExtResource("1_jmdo1") PuppetMarkers = [NodePath("PlayerMarker"), NodePath("Enemy1Marker"), NodePath("Enemy2Marker"), NodePath("Enemy3Marker")] @@ -30,6 +31,7 @@ CM = NodePath("VPContainer") DW = NodePath("3D/SubViewport/3DWizard") NPB = NodePath("NotePlacementBar") Audio = NodePath("AudioStreamPlayer") +Descriptions = NodePath("EnemyDescriptions") FocusedButton = NodePath("StartButton") metadata/_edit_lock_ = true @@ -100,10 +102,10 @@ offset_bottom = 360.0 texture = ExtResource("7_klvil") [node name="StartButton" type="Button" parent="."] -offset_left = 241.0 -offset_top = 230.0 -offset_right = 443.0 -offset_bottom = 267.0 +offset_left = 190.0 +offset_top = 200.0 +offset_right = 450.0 +offset_bottom = 248.0 theme = ExtResource("8_62qim") text = "BATTLE_ROOM_BEGIN_BUTTON" @@ -142,3 +144,14 @@ theme_override_constants/shadow_offset_y = 3 theme_override_constants/shadow_outline_size = 3 theme_override_font_sizes/font_size = 64 text = "5" + +[node name="EnemyDescriptions" parent="." instance=ExtResource("11_gbbxr")] +anchors_preset = 0 +anchor_right = 0.0 +anchor_bottom = 0.0 +offset_left = 320.0 +offset_top = 183.0 +offset_right = 320.0 +offset_bottom = 183.0 +grow_horizontal = 1 +grow_vertical = 1 diff --git a/Scenes/BattleDirector/EnemyDescriptions.tscn b/Scenes/BattleDirector/EnemyDescriptions.tscn new file mode 100644 index 00000000..31a82b3f --- /dev/null +++ b/Scenes/BattleDirector/EnemyDescriptions.tscn @@ -0,0 +1,50 @@ +[gd_scene load_steps=3 format=3 uid="uid://bejjkejyeffek"] + +[ext_resource type="Script" uid="uid://da8no3g3kbob7" path="res://Scenes/BattleDirector/Scripts/EnemyDescriptions.cs" id="1_r3tcc"] +[ext_resource type="Texture2D" uid="uid://djd6iw2g84bba" path="res://Scenes/UI/Assets/UI_CenterFrame.png" id="2_mg2uj"] + +[node name="EnemyDescriptions" type="Control" node_paths=PackedStringArray("DescriptionsContainer")] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +script = ExtResource("1_r3tcc") +DescriptionsContainer = NodePath("Center/MarginContainer/MarginContainer/VBoxContainer") + +[node name="Center" type="CenterContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="MarginContainer" type="MarginContainer" parent="Center"] +layout_mode = 2 +mouse_filter = 2 +theme_override_constants/margin_top = 230 + +[node name="UiCenterFrame" type="NinePatchRect" parent="Center/MarginContainer"] +custom_minimum_size = Vector2(280, 80) +layout_mode = 2 +texture = ExtResource("2_mg2uj") +patch_margin_left = 12 +patch_margin_top = 12 +patch_margin_right = 12 +patch_margin_bottom = 12 + +[node name="MarginContainer" type="MarginContainer" parent="Center/MarginContainer"] +layout_mode = 2 +mouse_filter = 2 +theme_override_constants/margin_left = 8 +theme_override_constants/margin_top = 6 +theme_override_constants/margin_right = 8 +theme_override_constants/margin_bottom = 6 + +[node name="VBoxContainer" type="VBoxContainer" parent="Center/MarginContainer/MarginContainer"] +layout_mode = 2 +mouse_filter = 2 diff --git a/Scenes/BattleDirector/Scripts/BattleDirector.cs b/Scenes/BattleDirector/Scripts/BattleDirector.cs index 1040f01e..b4fe2929 100644 --- a/Scenes/BattleDirector/Scripts/BattleDirector.cs +++ b/Scenes/BattleDirector/Scripts/BattleDirector.cs @@ -34,6 +34,9 @@ public partial class BattleDirector : Node2D [Export] private AudioStreamPlayer Audio; + [Export] + public EnemyDescriptions Descriptions; + [Export] public Button FocusedButton; //Initial start button @@ -139,6 +142,7 @@ public override void _Ready() { FocusedButton.QueueFree(); FocusedButton = null; + Descriptions.QueueFree(); StartCountdown(); }; @@ -201,6 +205,7 @@ private void InitEnemies() _enemies[i] = enemy; AddEnemyEffects(enemy); } + Descriptions.Setup(_enemies[0]); } public override void _Process(double delta) diff --git a/Scenes/BattleDirector/Scripts/EnemyDescriptions.cs b/Scenes/BattleDirector/Scripts/EnemyDescriptions.cs new file mode 100644 index 00000000..880ac793 --- /dev/null +++ b/Scenes/BattleDirector/Scripts/EnemyDescriptions.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using FunkEngine; +using Godot; + +public partial class EnemyDescriptions : Control +{ + [Export] + private VBoxContainer DescriptionsContainer; + + private const string _loopIconPath = "res://Scenes/BattleDirector/Assets/LoopSymbol.png"; + private const string _damageInstanceIconPath = + "res://Scenes/BattleDirector/Assets/DamageInstanceSymbol.png"; + private const string _battleStartIconPath = + "res://Scenes/BattleDirector/Assets/BattleStartSymbol.png"; + private const string _battleEndIconPath = + "res://Scenes/BattleDirector/Assets/BattleEndSymbol.png"; + + private bool _isVisible = false; + private const string TranslationKeySuffix = "_NOTE_DESCRIPTION"; + + public void Setup(EnemyPuppet enemy) + { + if (enemy.InitialNote.Amount > 0) + { + string desc = NoteDescBuilder(Scribe.NoteDictionary[enemy.InitialNote.NoteId].Name); + AddDescriptionRow(Scribe.NoteDictionary[enemy.InitialNote.NoteId].Texture, desc); + _isVisible = true; + } + + foreach (var effect in enemy.GetBattleEvents()) + { + if (effect.Description == null) + continue; + Texture2D icon = GetTriggerIcon(effect.GetTrigger()); + AddDescriptionRow(icon, effect.Description); + _isVisible = true; + } + + Visible = _isVisible; + } + + private void AddDescriptionRow(Texture2D iconTexture, string text) + { + HBoxContainer hbox = new HBoxContainer(); + + TextureRect icon = new TextureRect(); + icon.Texture = iconTexture; + icon.StretchMode = TextureRect.StretchModeEnum.Keep; + + Label desc = new Label(); + desc.Text = text; + desc.SizeFlagsHorizontal = SizeFlags.ExpandFill; + desc.AutowrapMode = TextServer.AutowrapMode.WordSmart; + + hbox.AddChild(icon); + hbox.AddChild(desc); + DescriptionsContainer.AddChild(hbox); + } + + private string NoteDescBuilder(string noteName) + { + return noteName.ToUpper() + TranslationKeySuffix; + } + + private Texture2D GetTriggerIcon(BattleEffectTrigger trigger) + { + //TODO: add more as we get more enemy effect triggers + return trigger switch + { + BattleEffectTrigger.OnLoop => GD.Load(_loopIconPath), + BattleEffectTrigger.OnDamageInstance => GD.Load(_damageInstanceIconPath), + BattleEffectTrigger.OnBattleStart => GD.Load(_battleStartIconPath), + BattleEffectTrigger.OnBattleEnd => GD.Load(_battleEndIconPath), + _ => null, + }; + } +} diff --git a/Scenes/BattleDirector/Scripts/EnemyDescriptions.cs.uid b/Scenes/BattleDirector/Scripts/EnemyDescriptions.cs.uid new file mode 100644 index 00000000..3a488050 --- /dev/null +++ b/Scenes/BattleDirector/Scripts/EnemyDescriptions.cs.uid @@ -0,0 +1 @@ +uid://da8no3g3kbob7 diff --git a/Scenes/BattleDirector/Tutorial/Toriel.cs b/Scenes/BattleDirector/Tutorial/Toriel.cs index d175c80a..bc4ed1ce 100644 --- a/Scenes/BattleDirector/Tutorial/Toriel.cs +++ b/Scenes/BattleDirector/Tutorial/Toriel.cs @@ -341,6 +341,7 @@ public void OnPlaceDialogue4() public void BossDialogue() { _dialogueBox.Visible = true; + _currentDirector.Descriptions.Visible = false; GetTree().SetPause(true); _currentDirector.FocusedButton.Visible = false; _dialogueLabel.Text = Tr("TUTORIAL_BOSS"); @@ -355,6 +356,7 @@ public void BossDialogueReady() GetTree().SetPause(false); _currentDirector.FocusedButton.Visible = true; _currentDirector.FocusedButton.GrabFocus(); + _currentDirector.Descriptions.Visible = true; } #endregion } diff --git a/Scenes/Puppets/Enemies/BossBlood/P_BossBlood.cs b/Scenes/Puppets/Enemies/BossBlood/P_BossBlood.cs index bd4748c1..0fc7033e 100644 --- a/Scenes/Puppets/Enemies/BossBlood/P_BossBlood.cs +++ b/Scenes/Puppets/Enemies/BossBlood/P_BossBlood.cs @@ -31,7 +31,8 @@ public override void _Ready() { eff.Owner.Heal(val); e.BD.RandApplyNote(eff.Owner, 14, 1); - } + }, + "BOSSBLOOD_EFFECT1" ), new EnemyEffect( this, diff --git a/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs b/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs index d1099374..ea08af13 100644 --- a/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs +++ b/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs @@ -40,7 +40,8 @@ public override void _Ready() { e.BD.AddStatus(Targetting.First, StatusEffect.Dodge, 1); _effectNode.TriggerGlitch(1f); - } + }, + "CYBERFOX_EFFECT1" ), }; } diff --git a/Scenes/Puppets/Enemies/Effigy/P_Effigy.cs b/Scenes/Puppets/Enemies/Effigy/P_Effigy.cs index 8cd0e024..1944bae1 100644 --- a/Scenes/Puppets/Enemies/Effigy/P_Effigy.cs +++ b/Scenes/Puppets/Enemies/Effigy/P_Effigy.cs @@ -29,7 +29,8 @@ public override void _Ready() dArgs.Dmg.ModifyDamage(-dArgs.Dmg.Damage + 1); if (dArgs.Dmg.Source != null) dArgs.Dmg.Source.TakeDamage(new DamageInstance(1, null, dArgs.Dmg.Source)); - } + }, + "EFFIGY_EFFECT1" ), new EnemyEffect( this, @@ -38,7 +39,8 @@ public override void _Ready() (e, _, _) => { e.BD.DealDamage(Targetting.Player, e.BD.Player.GetCurrentHealth() - 1, null); - } + }, + "EFFIGY_EFFECT2" ), new EnemyEffect( this, diff --git a/Scenes/Puppets/Enemies/EnemyEffect.cs b/Scenes/Puppets/Enemies/EnemyEffect.cs index 8fb1bc1d..6bd8724f 100644 --- a/Scenes/Puppets/Enemies/EnemyEffect.cs +++ b/Scenes/Puppets/Enemies/EnemyEffect.cs @@ -8,12 +8,14 @@ public class EnemyEffect : IBattleEvent private int _baseValue; public int Value; private Action _onEnemyEffect; + public string Description { get; private set; } public EnemyEffect( EnemyPuppet owner, BattleEffectTrigger trigger, int val, - Action onEnemyEffect + Action onEnemyEffect, + string description = null ) { Owner = owner; @@ -21,6 +23,7 @@ Action onEnemyEffect Value = _baseValue; Trigger = trigger; _onEnemyEffect = onEnemyEffect; + Description = description; } public void OnTrigger(BattleEventArgs e) diff --git a/Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs b/Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs index 468906b9..988b630c 100644 --- a/Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs +++ b/Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs @@ -46,7 +46,8 @@ public override void _Ready() BattleDirector.PlayerDisabled = true; BattleDirector.VerticalScrollRotation = 0f; e.BD.AddStatus(Targetting.Player, StatusEffect.Disable); - } + }, + "HOLOGRAEME_EFFECT1" ), new EnemyEffect( this, @@ -98,7 +99,8 @@ e is not BattleDirector.Harbinger.OnDamageInstanceArgs dArgs { dArgs.Dmg.ModifyDamage(0, 0); } - } + }, + "HOLOGRAEME_EFFECT2" ), }; } diff --git a/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs b/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs index 1f721d92..b22e5c0e 100644 --- a/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs +++ b/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs @@ -27,16 +27,19 @@ public override void _Ready() enemTween.SetLoops(); enemTween.Play(); + const int effect1Val = 6; + BattleEvents = new EnemyEffect[] { new EnemyEffect( this, BattleEffectTrigger.OnBattleStart, - 6, + effect1Val, (e, eff, val) => { e.BD.AddStatus(Targetting.Player, StatusEffect.MindCrush, val); - } + }, + "KEYTHULU_EFFECT1" ), new EnemyEffect( this, diff --git a/Scenes/Puppets/Enemies/LWS/P_LWS.cs b/Scenes/Puppets/Enemies/LWS/P_LWS.cs index 4da24ce9..25264cf8 100644 --- a/Scenes/Puppets/Enemies/LWS/P_LWS.cs +++ b/Scenes/Puppets/Enemies/LWS/P_LWS.cs @@ -30,7 +30,8 @@ public override void _Ready() (e, eff, val) => { e.BD.RandApplyNote(eff.Owner, InitialNote.NoteId, val); - } + }, + "LWS_EFFECT1" ), }; } diff --git a/Scenes/Puppets/Enemies/Parasifly/P_Parasifly.cs b/Scenes/Puppets/Enemies/Parasifly/P_Parasifly.cs index bf27cee0..e3d42576 100644 --- a/Scenes/Puppets/Enemies/Parasifly/P_Parasifly.cs +++ b/Scenes/Puppets/Enemies/Parasifly/P_Parasifly.cs @@ -47,7 +47,8 @@ public override void _Ready() return; e.BD.AddStatus(Targetting.All, StatusEffect.Block, val); eff.Value = 0; - } + }, + "PARASIFLY_EFFECT1" ), }; } diff --git a/Scenes/Puppets/Enemies/TheGWS/P_TheGWS.cs b/Scenes/Puppets/Enemies/TheGWS/P_TheGWS.cs index b119fdbd..ee4830fd 100644 --- a/Scenes/Puppets/Enemies/TheGWS/P_TheGWS.cs +++ b/Scenes/Puppets/Enemies/TheGWS/P_TheGWS.cs @@ -54,7 +54,8 @@ public override void _Ready() eff.Owner ); eff.Value = 0; - } + }, + "GWS_EFFECT1" ), }; } diff --git a/Scenes/Puppets/Enemies/Turtle/P_Turtle.cs b/Scenes/Puppets/Enemies/Turtle/P_Turtle.cs index 70ebe332..e2c992bf 100644 --- a/Scenes/Puppets/Enemies/Turtle/P_Turtle.cs +++ b/Scenes/Puppets/Enemies/Turtle/P_Turtle.cs @@ -35,7 +35,8 @@ public override void _Ready() //gain block based on val e.BD.AddStatus(Targetting.First, StatusEffect.Block, val); - } + }, + "TURTLE_EFFECT1" ), }; }