From d350c6bfa9307e29ea323df3601f8a1f81655ae6 Mon Sep 17 00:00:00 2001 From: haven1433 Date: Tue, 22 Nov 2022 08:52:52 -0600 Subject: [PATCH] fix ai scripts for emerald --- src/HexManiac.Core/Models/Code/ScriptParser.cs | 7 ++++++- src/HexManiac.Core/Models/Code/battleAIScriptReference.txt | 6 ++++++ src/HexManiac.Core/Models/Code/tableReference.txt | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/HexManiac.Core/Models/Code/ScriptParser.cs b/src/HexManiac.Core/Models/Code/ScriptParser.cs index 699c727a..f67f9f0d 100644 --- a/src/HexManiac.Core/Models/Code/ScriptParser.cs +++ b/src/HexManiac.Core/Models/Code/ScriptParser.cs @@ -717,7 +717,12 @@ namespace HavenSoft.HexManiac.Core.Models.Code { public class TSEScriptLine : ScriptLine { public TSEScriptLine(string engineLine) : base(engineLine) { } public override bool IsEndingCommand => LineCode.Count == 1 && LineCode[0].IsAny(0x5A); - public override bool PointsToNextScript => LineCode.Count == 1 && LineCode[0].IsAny(0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32); + public override bool PointsToNextScript => LineCode.Count == 1 && LineCode[0].IsAny( + 0x00, 0x01, 0x02, 0x03, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, + 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x26, 0x27, 0x28, 0x29, 0x31, 0x34, 0x35, + 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, + 0x44, 0x46, 0x58, 0x59, 0x5B, 0x5C, 0x5D, 0x5E, 0x61, 0x62); } public interface IScriptArg { diff --git a/src/HexManiac.Core/Models/Code/battleAIScriptReference.txt b/src/HexManiac.Core/Models/Code/battleAIScriptReference.txt index 2af1710f..280e5a3d 100644 --- a/src/HexManiac.Core/Models/Code/battleAIScriptReference.txt +++ b/src/HexManiac.Core/Models/Code/battleAIScriptReference.txt @@ -92,3 +92,9 @@ 5b if_level_cond cond. ptr<> 5c if_target_taunted ptr<> 5d if_target_not_taunted ptr<> +5e if_target_is_ally ptr<> +5f is_of_type battler. type. +60 check_ability battler. ability.data.pokemon.type.names +61 if_flash_fired battler. ptr<> +62 if_holds_item battler. item:data.items.stats ptr<> + diff --git a/src/HexManiac.Core/Models/Code/tableReference.txt b/src/HexManiac.Core/Models/Code/tableReference.txt index 0c622869..59446685 100644 --- a/src/HexManiac.Core/Models/Code/tableReference.txt +++ b/src/HexManiac.Core/Models/Code/tableReference.txt @@ -238,7 +238,7 @@ scripts.battle.ai.hpaware.discourage.when.self.low, 1DBF74, 1DBF04, 1DBF8C, scripts.battle.ai.hpaware.discourage.when.target.high, 1DBFC6, 1DBF56, 1DBFDE, 1DBF6E, 1DBB9E, 1DBB7A, 1DBC0E, 1DBBEA, 2DE1FA, [effect.moveeffectoptions]!FF scripts.battle.ai.hpaware.discourage.when.target.medium, 1DBFD5, 1DBF65, 1DBFED, 1DBF7D, 1DBBAD, 1DBB89, 1DBC1D, 1DBBF9, 2DE209, [effect.moveeffectoptions]!FF scripts.battle.ai.hpaware.discourage.when.target.low, 1DBFB7, 1DBF47, 1DBFCF, 1DBF5F, 1DBB8F, 1DBB6B, 1DBBFF, 1DBBDB, 2DE1EB, [effect.moveeffectoptions]!FF -scripts.battle.ai.trainer, 1DA01C, 1DA02C, 1DA034, 1D9FC4, 0C70B8, 0C708C, 0C70CC, 0C70A0, 2DBEF8, [ai<`tse`>]traineraibits +scripts.battle.ai.trainer, 1DA01C, 1DA02C, 1DA034, 1D9FC4, 0C70B8, 0C708C, 0C70CC, 0C70A0, 130FC8, [ai<`tse`>]traineraibits scripts.battle.animation.thumb, 37F4B8, 37F448, 37F4D0, 37F460, 3ADF5C, 3ADF3C, 3ADFCC, 3ADFAC, 525E98, [code<>]48 scripts.newgame.setflags, 052F58, 052F58, 052F78, 052F78, 054B6C, 054B6C, 054B80, 054B80, 0845C8, `xse` scripts.newgame.pc.item, 139C70, 139C70, 139C90, 139C90, 0EB6A8, 0EB680, 0EB6BC, 0EB694, 16AE54, [item:data.items.stats count:]!00000000