1712 lines
32 KiB
C#
1712 lines
32 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Godot;
|
|
using Godot.Collections;
|
|
|
|
public partial class Texts
|
|
{
|
|
public partial class TextBlock : ICloneable
|
|
{
|
|
public string text;
|
|
|
|
public string bleep;
|
|
|
|
public string soundStart;
|
|
|
|
public string soundEnd;
|
|
|
|
public string getTalker;
|
|
|
|
public string commonEvent;
|
|
|
|
public StringName portrait;
|
|
|
|
public StringName[] redirects;
|
|
|
|
public object[] callEvent;
|
|
|
|
public List<object[]> redirectOnFlag = new List<object[]>();
|
|
|
|
public List<object[]> addItem = new List<object[]>();
|
|
|
|
public string[] prompts;
|
|
|
|
public string[] redirectOnMapFlag;
|
|
|
|
public List<StringName> setMapFlag = new List<StringName>();
|
|
|
|
public StringName next;
|
|
|
|
public Array<SaveFile.Flags> nextFlags;
|
|
|
|
public Array<SaveFile.Flags> nextLimitFlags;
|
|
|
|
public Array<SaveFile.Flags> setFlags;
|
|
|
|
public Array<SaveFile.Flags> promptReq;
|
|
|
|
public Array<SaveFile.Flags> promptLimit;
|
|
|
|
public List<StringName[]> anims = new List<StringName[]>();
|
|
|
|
public TextBlock[] small;
|
|
|
|
public int[] replacers;
|
|
|
|
public List<int[]> setValue = new List<int[]>();
|
|
|
|
public int changeHP;
|
|
|
|
public int delay = 1;
|
|
|
|
public bool keepTextOnPrompt;
|
|
|
|
public bool callSave;
|
|
|
|
public bool heal;
|
|
|
|
public bool instEnd;
|
|
|
|
public bool top;
|
|
|
|
public bool instant;
|
|
|
|
public bool hide;
|
|
|
|
public bool waitSound;
|
|
|
|
public bool noBG;
|
|
|
|
public Entity talking;
|
|
|
|
public StringName talkAnim = "Talk";
|
|
|
|
public StringName endAnim = "Idle";
|
|
|
|
public List<TextSystem.MiniText> mini = new List<TextSystem.MiniText>();
|
|
|
|
public object Clone()
|
|
{
|
|
return MemberwiseClone();
|
|
}
|
|
}
|
|
|
|
public partial class BattleMes
|
|
{
|
|
public string text;
|
|
|
|
public int reqTurn = -1;
|
|
|
|
public int everyXTurns = -1;
|
|
|
|
public int atMesCount = -1;
|
|
|
|
public int onlyTurn = -1;
|
|
|
|
public int weight = 1;
|
|
|
|
public int reqEnemyAmt = 1;
|
|
|
|
public bool resetCount;
|
|
|
|
public bool addCount;
|
|
|
|
public bool cant;
|
|
|
|
public bool special;
|
|
|
|
public float hpCheck = -1f;
|
|
|
|
public float mercyCheck = -1f;
|
|
|
|
public Array<StringName> internalReq;
|
|
|
|
public Array<StringName> internalLimit;
|
|
|
|
public Array<StringName> flagReq;
|
|
|
|
public Array<StringName> flagLimit;
|
|
|
|
public Array<StringName> battleFlagReq;
|
|
|
|
public Array<StringName> battleFlagLimit;
|
|
|
|
public Entity.IDs? idToCheck;
|
|
}
|
|
|
|
public partial class Letters
|
|
{
|
|
public struct Sprites
|
|
{
|
|
public Texture2D tex;
|
|
|
|
public Vector2 pos;
|
|
|
|
public Vector2 scale;
|
|
}
|
|
|
|
public string text;
|
|
|
|
public string name;
|
|
|
|
public AudioStream sound = GD.Load<AudioStream>("res://Audio/Sounds/snd_mail_jingle.wav");
|
|
|
|
public float soundVol = 0.5f;
|
|
|
|
public Texture2D back;
|
|
|
|
public Sprites[] sprites;
|
|
|
|
public Color backColor;
|
|
|
|
public SaveFile.Flags needFlag = SaveFile.Flags.None;
|
|
|
|
public SaveFile.Flags missFlag = SaveFile.Flags.None;
|
|
|
|
public SaveFile.Flags captureFlag = SaveFile.Flags.None;
|
|
|
|
public SaveFile.Flags deadFlag = SaveFile.Flags.None;
|
|
}
|
|
|
|
public partial class ItemText
|
|
{
|
|
public string name;
|
|
|
|
public string descriptionLW;
|
|
|
|
public string descriptionDW;
|
|
|
|
public string useDiag;
|
|
|
|
public string removeDiag;
|
|
|
|
public string shortDesc;
|
|
|
|
public string tossEvent;
|
|
|
|
public string equipEffect;
|
|
|
|
public string callEvent;
|
|
|
|
public string customEffect;
|
|
|
|
public string shopDesc;
|
|
|
|
public string lwEquip;
|
|
|
|
public string shopName;
|
|
|
|
public int atk;
|
|
|
|
public int def;
|
|
|
|
public int heal;
|
|
|
|
public int sellPrice;
|
|
|
|
public int tp;
|
|
|
|
public int healOverTime;
|
|
|
|
public int magic;
|
|
|
|
public int iframes;
|
|
|
|
public SaveFile.Flags? flag;
|
|
|
|
public string[][] partyDiag;
|
|
|
|
public Party.IDs? partyOnly;
|
|
|
|
public bool cantUse;
|
|
|
|
public bool nonConsumable;
|
|
|
|
public bool instantUse;
|
|
|
|
public bool useOnEnemy;
|
|
|
|
public Items.Type type;
|
|
|
|
public Items.IDs lwEquiv = Items.IDs.None;
|
|
|
|
public Items.IDs dwEquiv = Items.IDs.None;
|
|
}
|
|
|
|
public partial class SkillData
|
|
{
|
|
public string name;
|
|
|
|
public string desc;
|
|
|
|
public string menuDesc;
|
|
|
|
public int TP;
|
|
|
|
public bool useOnParty;
|
|
|
|
public bool skipSelection;
|
|
|
|
public bool spAction;
|
|
|
|
public bool onlyOnExecutable;
|
|
|
|
public List<Party.IDs> neededMembers;
|
|
|
|
public List<Party.IDs> useTurns;
|
|
|
|
public Array<SaveFile.Flags> needFlags;
|
|
|
|
public List<Items.IDs> needEquip;
|
|
}
|
|
|
|
public enum Titles
|
|
{
|
|
Human,
|
|
Monster,
|
|
Robot,
|
|
Leader,
|
|
MossFinder,
|
|
Judge,
|
|
Executioner,
|
|
MagicWarrior,
|
|
Robot2
|
|
}
|
|
|
|
public static string textFolder;
|
|
|
|
public static System.Collections.Generic.Dictionary<Room.IDs, string> roomNames;
|
|
|
|
public const string shakeTag = "[shake level=6 rate=7]";
|
|
|
|
public static string[][] titles;
|
|
|
|
public static string[] common;
|
|
|
|
public static System.Collections.Generic.Dictionary<SaveFile.Letters, Letters> letters = new System.Collections.Generic.Dictionary<SaveFile.Letters, Letters>();
|
|
|
|
private const string posterLine = "\n\n\n\n\n\n\n";
|
|
|
|
public static System.Collections.Generic.Dictionary<Entity.IDs, Letters> posters = new System.Collections.Generic.Dictionary<Entity.IDs, Letters>();
|
|
|
|
public static System.Collections.Generic.Dictionary<Acts.IDs, SkillData> skills = new System.Collections.Generic.Dictionary<Acts.IDs, SkillData>
|
|
{
|
|
{
|
|
Acts.IDs.Apprehend,
|
|
new SkillData
|
|
{
|
|
TP = 40,
|
|
needFlags = new Array<SaveFile.Flags> { SaveFile.Flags.ApprehendTutorial }
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.NonLethalShot,
|
|
new SkillData
|
|
{
|
|
TP = 25
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.HealBell,
|
|
new SkillData
|
|
{
|
|
useOnParty = true,
|
|
TP = 32
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.AxisSiren,
|
|
new SkillData
|
|
{
|
|
skipSelection = true
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.ExecutionerBlow,
|
|
new SkillData
|
|
{
|
|
TP = 55,
|
|
needFlags = new Array<SaveFile.Flags> { SaveFile.Flags.WeirdStart },
|
|
onlyOnExecutable = true
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.ShieldBarrier,
|
|
new SkillData
|
|
{
|
|
skipSelection = true,
|
|
TP = 45
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.Foxfire,
|
|
new SkillData
|
|
{
|
|
TP = 28,
|
|
needEquip = new List<Items.IDs>
|
|
{
|
|
Items.IDs.FoxNecklace,
|
|
Items.IDs.FoxStaff
|
|
}
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.Homerun,
|
|
new SkillData
|
|
{
|
|
TP = 19,
|
|
needEquip = new List<Items.IDs>
|
|
{
|
|
Items.IDs.TrueBat,
|
|
Items.IDs.BaseballCap
|
|
}
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.HealingSonata,
|
|
new SkillData
|
|
{
|
|
TP = 50
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.StranglingThreads,
|
|
new SkillData
|
|
{
|
|
TP = 25
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.MelodyDance,
|
|
new SkillData
|
|
{
|
|
TP = 15
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.HugTestEnemy,
|
|
new SkillData
|
|
{
|
|
neededMembers = new List<Party.IDs> { Party.IDs.Kanako }
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.KAction,
|
|
new SkillData
|
|
{
|
|
spAction = true
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.AAction,
|
|
new SkillData
|
|
{
|
|
spAction = true
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.HeatWave,
|
|
new SkillData
|
|
{
|
|
skipSelection = true,
|
|
TP = 45
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.AxisAtkUP,
|
|
new SkillData
|
|
{
|
|
skipSelection = true,
|
|
TP = 35
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.HealShower,
|
|
new SkillData
|
|
{
|
|
TP = 40,
|
|
skipSelection = true
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.UnnerveGas,
|
|
new SkillData
|
|
{
|
|
TP = 20
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.BearingBrace,
|
|
new SkillData
|
|
{
|
|
useTurns = new List<Party.IDs> { Party.IDs.Kanako },
|
|
neededMembers = new List<Party.IDs> { Party.IDs.Kanako },
|
|
TP = 20
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.BearingPlead,
|
|
new SkillData
|
|
{
|
|
useTurns = new List<Party.IDs> { Party.IDs.Kanako },
|
|
neededMembers = new List<Party.IDs> { Party.IDs.Kanako }
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.FoxPlead,
|
|
new SkillData
|
|
{
|
|
useTurns = new List<Party.IDs> { Party.IDs.Kanako },
|
|
neededMembers = new List<Party.IDs> { Party.IDs.Kanako }
|
|
}
|
|
},
|
|
{
|
|
Acts.IDs.Wrench,
|
|
new SkillData
|
|
{
|
|
useTurns = new List<Party.IDs> { Party.IDs.Axis },
|
|
neededMembers = new List<Party.IDs> { Party.IDs.Axis }
|
|
}
|
|
}
|
|
};
|
|
|
|
public static System.Collections.Generic.Dictionary<Entity.IDs, string[]> checks = new System.Collections.Generic.Dictionary<Entity.IDs, string[]>();
|
|
|
|
public static System.Collections.Generic.Dictionary<Items.IDs, ItemText> items = new System.Collections.Generic.Dictionary<Items.IDs, ItemText>
|
|
{
|
|
{
|
|
Items.IDs.Hat,
|
|
new ItemText
|
|
{
|
|
descriptionLW = "HAT_DESC",
|
|
useDiag = "EquipHat",
|
|
removeDiag = "RemoveHat",
|
|
nonConsumable = true
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.BallOfJunk,
|
|
new ItemText
|
|
{
|
|
descriptionLW = "BALLJUNKDESC",
|
|
useDiag = "BallJunkUse",
|
|
tossEvent = "BallJunkToss",
|
|
nonConsumable = true
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.KanakoPhone,
|
|
new ItemText
|
|
{
|
|
descriptionLW = "PHONE_DESC",
|
|
callEvent = "PhoneEvent",
|
|
instantUse = true,
|
|
nonConsumable = true
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.KetsukaneHeirloom,
|
|
new ItemText
|
|
{
|
|
descriptionLW = "KETSU_NECKLACE",
|
|
useDiag = "KetsuNecklaceUse",
|
|
nonConsumable = true,
|
|
dwEquiv = Items.IDs.FoxNecklace
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.RedLetter,
|
|
new ItemText
|
|
{
|
|
descriptionLW = "REDLETTERDESC",
|
|
useDiag = "RedLetterUse",
|
|
nonConsumable = true,
|
|
tossEvent = "GenericToss"
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.RevivalMint,
|
|
new ItemText
|
|
{
|
|
heal = -2,
|
|
sellPrice = 35
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.GoldenBell,
|
|
new ItemText
|
|
{
|
|
type = Items.Type.Equip,
|
|
sellPrice = 50,
|
|
def = 2,
|
|
healOverTime = 2
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.SafetyVest,
|
|
new ItemText
|
|
{
|
|
type = Items.Type.Equip,
|
|
sellPrice = 47,
|
|
def = 4,
|
|
iframes = 10
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.SafetyGoggles,
|
|
new ItemText
|
|
{
|
|
type = Items.Type.Equip,
|
|
sellPrice = 35,
|
|
def = 4
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.FoxNecklace,
|
|
new ItemText
|
|
{
|
|
type = Items.Type.Equip,
|
|
sellPrice = 100,
|
|
def = 6,
|
|
magic = 3,
|
|
lwEquiv = Items.IDs.KetsukaneHeirloom
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.FoxStaff,
|
|
new ItemText
|
|
{
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 150,
|
|
partyOnly = Party.IDs.Kanako,
|
|
atk = 6,
|
|
magic = 3
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.GiantScrewdriver,
|
|
new ItemText
|
|
{
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 150,
|
|
partyOnly = Party.IDs.Kanako,
|
|
atk = 9,
|
|
magic = 0
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.AxisGloves,
|
|
new ItemText
|
|
{
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 30,
|
|
partyOnly = Party.IDs.Axis
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.RobotFist,
|
|
new ItemText
|
|
{
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 45,
|
|
atk = 6,
|
|
partyOnly = Party.IDs.Axis
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.GuardianMitt,
|
|
new ItemText
|
|
{
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 100,
|
|
def = 15,
|
|
atk = -5,
|
|
partyOnly = Party.IDs.Axis
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.ShinyMedal,
|
|
new ItemText
|
|
{
|
|
def = 3,
|
|
type = Items.Type.Equip,
|
|
sellPrice = 20
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.BearPin,
|
|
new ItemText
|
|
{
|
|
def = 5,
|
|
healOverTime = 1,
|
|
type = Items.Type.Equip,
|
|
sellPrice = 45
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.TensionBit,
|
|
new ItemText
|
|
{
|
|
tp = 32,
|
|
cantUse = true,
|
|
sellPrice = 32,
|
|
instantUse = true
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.TensionGem,
|
|
new ItemText
|
|
{
|
|
tp = 50,
|
|
cantUse = true,
|
|
sellPrice = 50,
|
|
instantUse = true
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.TensionMax,
|
|
new ItemText
|
|
{
|
|
tp = 100,
|
|
cantUse = true,
|
|
sellPrice = 100,
|
|
instantUse = true
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.BrickCandy,
|
|
new ItemText
|
|
{
|
|
heal = 40,
|
|
sellPrice = 2
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.PopRock,
|
|
new ItemText
|
|
{
|
|
heal = 100,
|
|
sellPrice = 10
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.SpikedClub,
|
|
new ItemText
|
|
{
|
|
partyOnly = Party.IDs.Kanako,
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 30
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.CorkPistol,
|
|
new ItemText
|
|
{
|
|
partyOnly = Party.IDs.Clover,
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 30
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.SpaceGun,
|
|
new ItemText
|
|
{
|
|
atk = 7,
|
|
partyOnly = Party.IDs.Clover,
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 60
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.WantedPoster,
|
|
new ItemText
|
|
{
|
|
callEvent = "WantedPoster",
|
|
nonConsumable = true,
|
|
instantUse = true
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.Peashooter,
|
|
new ItemText
|
|
{
|
|
atk = 4,
|
|
partyOnly = Party.IDs.Clover,
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 27
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.SoftballBat,
|
|
new ItemText
|
|
{
|
|
atk = 4,
|
|
partyOnly = Party.IDs.Kanako,
|
|
type = Items.Type.Weapon,
|
|
sellPrice = 30
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.HomemadeLunch,
|
|
new ItemText
|
|
{
|
|
descriptionLW = "LunchDesc",
|
|
dwEquiv = Items.IDs.KingFeast,
|
|
tossEvent = "GenericToss",
|
|
useDiag = "EatLunch"
|
|
}
|
|
},
|
|
{
|
|
Items.IDs.KingFeast,
|
|
new ItemText
|
|
{
|
|
sellPrice = 150,
|
|
heal = 50150,
|
|
instantUse = true,
|
|
lwEquiv = Items.IDs.HomemadeLunch
|
|
}
|
|
}
|
|
};
|
|
|
|
public const string portraitSpace = "\t\t\t\t\t\t";
|
|
|
|
public static System.Collections.Generic.Dictionary<string, BattleMes[]> battleMes = new System.Collections.Generic.Dictionary<string, BattleMes[]>();
|
|
|
|
public static string[] battleNarration;
|
|
|
|
public static string[] enemyNarration;
|
|
|
|
public static System.Collections.Generic.Dictionary<string, TextBlock[]> mainDiag = new System.Collections.Generic.Dictionary<string, TextBlock[]>();
|
|
|
|
public static TextBlock[] FindDiag(in string key)
|
|
{
|
|
if (Room.current.dialogue.TryGetValue(key, out var value))
|
|
{
|
|
return value;
|
|
}
|
|
if (mainDiag.TryGetValue(key, out var value2))
|
|
{
|
|
return value2;
|
|
}
|
|
return new TextBlock[1]
|
|
{
|
|
new TextBlock
|
|
{
|
|
text = "[color=red]Missing text: " + key
|
|
}
|
|
};
|
|
}
|
|
|
|
public static TextBlock[] GetDiagClone(in string key)
|
|
{
|
|
List<TextBlock> list = new List<TextBlock>();
|
|
TextBlock[] array = FindDiag(in key);
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
list.Add((TextBlock)array[i].Clone());
|
|
}
|
|
return list.ToArray();
|
|
}
|
|
|
|
public static void LoadText()
|
|
{
|
|
if (FileAccess.FileExists("user://Text/Text_" + Settings.file.lang + "/LangInfo.txt"))
|
|
{
|
|
textFolder = "user://Text/Text_" + Settings.file.lang + "/";
|
|
}
|
|
else if (Settings.file.lang != "EnUS")
|
|
{
|
|
Settings.file.lang = "EnUS";
|
|
textFolder = "res://Data/Text_" + Settings.file.lang + "/";
|
|
}
|
|
else
|
|
{
|
|
textFolder = "res://Data/Text_" + Settings.file.lang + "/";
|
|
}
|
|
common = FileAccess.Open(textFolder + "CommonText.txt", FileAccess.ModeFlags.Read).GetAsText(skipCr: true).Split('\n');
|
|
battleNarration = FileAccess.Open(textFolder + "BattleNarration.txt", FileAccess.ModeFlags.Read).GetAsText(skipCr: true).Split('\n');
|
|
enemyNarration = FileAccess.Open(textFolder + "BattleMes.txt", FileAccess.ModeFlags.Read).GetAsText(skipCr: true).Split('\n');
|
|
TextSystem.LoadText("Main.txt", ref mainDiag);
|
|
LoadLetters("Posters.txt", ref posters, "\n\n\n\n\n\n\n");
|
|
LoadLetters("Letters.txt", ref letters, "");
|
|
Main.instance.exitMes.Text = common[93];
|
|
LoadEnemies();
|
|
LoadActs();
|
|
LoadItems();
|
|
LoadTitles();
|
|
LoadRoomNames();
|
|
Party.UpdateNames();
|
|
}
|
|
|
|
private static void LoadRoomNames()
|
|
{
|
|
if (roomNames == null)
|
|
{
|
|
roomNames = new System.Collections.Generic.Dictionary<Room.IDs, string>();
|
|
}
|
|
roomNames.Clear();
|
|
string[] array = FileAccess.Open(textFolder + "RoomNames.txt", FileAccess.ModeFlags.Read).GetAsText(skipCr: true).Split('\n');
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
string[] array2 = array[i].Split(';');
|
|
if (Enum.TryParse<Room.IDs>(array2[0], ignoreCase: true, out var result))
|
|
{
|
|
roomNames.Add(result, array2[1]);
|
|
}
|
|
}
|
|
}
|
|
|
|
private static void LoadTitles()
|
|
{
|
|
string[] array = FileAccess.Open(textFolder + "Titles.txt", FileAccess.ModeFlags.Read).GetAsText(skipCr: true).Split('\n');
|
|
titles = new string[array.Length - 1][];
|
|
for (int i = 0; i < titles.Length; i++)
|
|
{
|
|
string[] array2 = array[i].Split(':', 2);
|
|
if (array2.Length >= 2)
|
|
{
|
|
titles[i] = array2;
|
|
}
|
|
}
|
|
}
|
|
|
|
private static void LoadItems()
|
|
{
|
|
string[] array = FileAccess.Open(textFolder + "Items.txt", FileAccess.ModeFlags.Read).GetAsText(skipCr: true).Split('\n');
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
if (array[i].Length <= 0 || array[i][0] != '@' || !Enum.TryParse<Items.IDs>(array[i].Remove(0, 1), ignoreCase: true, out var result))
|
|
{
|
|
continue;
|
|
}
|
|
if (!items.ContainsKey(result))
|
|
{
|
|
items.Add(result, new ItemText());
|
|
}
|
|
for (int j = i + 1; j < array.Length && array[j].Length >= 2; j++)
|
|
{
|
|
if (array[j][0] == '|')
|
|
{
|
|
continue;
|
|
}
|
|
string[] array2 = array[j].Split(':', 2);
|
|
switch (array2[0].ToLower())
|
|
{
|
|
case "name":
|
|
items[result].name = array2[1].Replace("\\n", "\n");
|
|
break;
|
|
case "shopdesc":
|
|
items[result].shopDesc = array2[1].Replace("\\n", "\n");
|
|
break;
|
|
case "shopname":
|
|
items[result].shopName = array2[1].Replace("\\n", "\n");
|
|
break;
|
|
case "descriptiondw":
|
|
items[result].descriptionDW = array2[1].Replace("\\n", "\n");
|
|
break;
|
|
case "shortdesc":
|
|
items[result].shortDesc = array2[1].Replace("\\n", "\n");
|
|
break;
|
|
case "lwequip":
|
|
items[result].lwEquip = array2[1].Replace("\\n", "\n");
|
|
break;
|
|
case "equipeffect":
|
|
items[result].equipEffect = array2[1].Replace("\\n", "\n");
|
|
break;
|
|
case "party":
|
|
{
|
|
items[result].partyDiag = new string[5][];
|
|
for (int k = 0; k < 5; k++)
|
|
{
|
|
items[result].partyDiag[k] = array[j + 1 + k].Split('|');
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private static void LoadActs()
|
|
{
|
|
string[] array = FileAccess.Open(textFolder + "Acts.txt", FileAccess.ModeFlags.Read).GetAsText(skipCr: true).Split('\n');
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
if (array[i].Length <= 0 || array[i][0] != '@' || !Enum.TryParse<Acts.IDs>(array[i].Remove(0, 1), ignoreCase: true, out var result))
|
|
{
|
|
continue;
|
|
}
|
|
if (!skills.ContainsKey(result))
|
|
{
|
|
skills.Add(result, new SkillData());
|
|
}
|
|
for (int j = i + 1; j < array.Length && array[j].Length >= 2; j++)
|
|
{
|
|
string[] array2 = array[j].Split(':', 2);
|
|
switch (array2[0].ToLower())
|
|
{
|
|
case "name":
|
|
skills[result].name = array2[1];
|
|
break;
|
|
case "desc":
|
|
skills[result].desc = array2[1].Replace("\\n", "\n");
|
|
break;
|
|
case "menudesc":
|
|
skills[result].menuDesc = array2[1].Replace("\\n", "\n");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private static void LoadEnemies()
|
|
{
|
|
BattleDR.LoadData(reload: true);
|
|
checks.Clear();
|
|
string[] array = FileAccess.Open(textFolder + "Enemies.txt", FileAccess.ModeFlags.Read).GetAsText(skipCr: true).Split('\n');
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
if (array[i].Length <= 0 || array[i][0] != '@' || !Enum.TryParse<Entity.IDs>(array[i].Remove(0, 1), ignoreCase: true, out var result))
|
|
{
|
|
continue;
|
|
}
|
|
for (int j = i + 1; j < array.Length; j++)
|
|
{
|
|
string[] array2 = array[j].Split(':', 2);
|
|
if (array2.Length < 2 || !BattleDR.enemyData.ContainsKey(result))
|
|
{
|
|
break;
|
|
}
|
|
string text = array2[0].ToLower();
|
|
if (!(text == "name"))
|
|
{
|
|
if (text == "check")
|
|
{
|
|
checks.Add(result, array2[1].Replace("\\n", "\n").Split(';'));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
BattleDR.enemyData[result].name = array2[1];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private static void LoadLetters<T1>(in string filename, ref System.Collections.Generic.Dictionary<T1, Letters> dictionary, in string padding = "")
|
|
{
|
|
dictionary.Clear();
|
|
string[] array = FileAccess.Open(textFolder + filename, FileAccess.ModeFlags.Read).GetAsText(skipCr: true).Split('\n');
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
if (array[i].Length <= 0 || array[i][0] != '@')
|
|
{
|
|
continue;
|
|
}
|
|
T1 key;
|
|
try
|
|
{
|
|
key = (T1)Enum.Parse(typeof(T1), array[i].Remove(0, 1), ignoreCase: true);
|
|
}
|
|
catch
|
|
{
|
|
continue;
|
|
}
|
|
Letters letters = new Letters();
|
|
for (int j = i + 1; j < array.Length; j++)
|
|
{
|
|
string[] array2 = array[j].Split(':', 2);
|
|
if (array2.Length < 2)
|
|
{
|
|
break;
|
|
}
|
|
switch (array2[0].ToLower())
|
|
{
|
|
case "name":
|
|
letters.name = array2[1];
|
|
break;
|
|
case "text":
|
|
letters.text = padding + array2[1].Replace("\\n", "\n");
|
|
break;
|
|
case "needflag":
|
|
{
|
|
if (Enum.TryParse<SaveFile.Flags>(array2[1], ignoreCase: true, out var result2))
|
|
{
|
|
letters.needFlag = result2;
|
|
}
|
|
break;
|
|
}
|
|
case "missflag":
|
|
{
|
|
if (Enum.TryParse<SaveFile.Flags>(array2[1], ignoreCase: true, out var result4))
|
|
{
|
|
letters.missFlag = result4;
|
|
}
|
|
break;
|
|
}
|
|
case "deadflag":
|
|
{
|
|
if (Enum.TryParse<SaveFile.Flags>(array2[1], ignoreCase: true, out var result3))
|
|
{
|
|
letters.deadFlag = result3;
|
|
}
|
|
break;
|
|
}
|
|
case "captureflag":
|
|
{
|
|
if (Enum.TryParse<SaveFile.Flags>(array2[1], ignoreCase: true, out var result))
|
|
{
|
|
letters.captureFlag = result;
|
|
}
|
|
break;
|
|
}
|
|
case "backcolor":
|
|
{
|
|
string[] array3 = array2[1].Split(',');
|
|
letters.backColor = new Color(Convert.ToSingle(array3[0]), Convert.ToSingle(array3[1]), Convert.ToSingle(array3[2]));
|
|
break;
|
|
}
|
|
case "sound":
|
|
letters.sound = Audio.LoadSound(array2[1]);
|
|
break;
|
|
}
|
|
}
|
|
dictionary.Add(key, letters);
|
|
}
|
|
}
|
|
|
|
private static string GetEnemyMes(in int id)
|
|
{
|
|
return enemyNarration[id].Replace("\\t", "\t").Replace("\\n", "\n");
|
|
}
|
|
|
|
public static void SetBattleMes()
|
|
{
|
|
battleMes.Clear();
|
|
battleMes.Add("Test", new BattleMes[2]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = "* Test battle start!"
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = "* Second turn box.",
|
|
reqTurn = 1
|
|
}
|
|
});
|
|
battleMes.Add("PencilEraser", new BattleMes[6]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(0)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(1),
|
|
idToCheck = Entity.IDs.Eraserhead
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(2),
|
|
idToCheck = Entity.IDs.Penceller
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(3),
|
|
idToCheck = Entity.IDs.Eraserhead
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(4),
|
|
idToCheck = Entity.IDs.Eraserhead,
|
|
hpCheck = 0.5f
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(5),
|
|
idToCheck = Entity.IDs.Penceller,
|
|
hpCheck = 0.5f
|
|
}
|
|
});
|
|
battleMes.Add("Penceller", new BattleMes[5]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(6)
|
|
},
|
|
battleMes["PencilEraser"][2],
|
|
battleMes["PencilEraser"][5],
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(7),
|
|
idToCheck = Entity.IDs.Penceller
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(8),
|
|
reqEnemyAmt = 2,
|
|
idToCheck = Entity.IDs.Penceller
|
|
}
|
|
});
|
|
battleMes.Add("PencellerSolo", new BattleMes[4]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(9)
|
|
},
|
|
battleMes["PencilEraser"][2],
|
|
battleMes["PencilEraser"][5],
|
|
battleMes["Penceller"][3]
|
|
});
|
|
battleMes.Add("PencellerTrio", new BattleMes[5]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(10)
|
|
},
|
|
battleMes["PencilEraser"][2],
|
|
battleMes["PencilEraser"][5],
|
|
battleMes["Penceller"][3],
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(11),
|
|
reqEnemyAmt = 3
|
|
}
|
|
});
|
|
battleMes.Add("Erasers", new BattleMes[4]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(12)
|
|
},
|
|
battleMes["PencilEraser"][1],
|
|
battleMes["PencilEraser"][4],
|
|
battleMes["PencilEraser"][3]
|
|
});
|
|
battleMes.Add("WardenTutorial", new BattleMes[6]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(13)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(13),
|
|
reqTurn = 5
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(14),
|
|
reqTurn = 1
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(15),
|
|
reqTurn = 2
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(16),
|
|
reqTurn = 3
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(17),
|
|
reqTurn = 4
|
|
}
|
|
});
|
|
battleMes.Add("MopperAndCo", new BattleMes[9]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(18)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(19)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(20),
|
|
idToCheck = Entity.IDs.Mopper
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(21),
|
|
idToCheck = Entity.IDs.Mopper,
|
|
hpCheck = 0.5f
|
|
},
|
|
battleMes["PencilEraser"][1],
|
|
battleMes["PencilEraser"][4],
|
|
battleMes["PencilEraser"][3],
|
|
battleMes["PencilEraser"][2],
|
|
battleMes["PencilEraser"][5]
|
|
});
|
|
battleMes.Add("Moppers", new BattleMes[5]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(22)
|
|
},
|
|
battleMes["MopperAndCo"][1],
|
|
battleMes["MopperAndCo"][2],
|
|
battleMes["MopperAndCo"][3],
|
|
new BattleMes
|
|
{
|
|
text = "* Everyone is cleaning in unison.",
|
|
reqEnemyAmt = 2
|
|
}
|
|
});
|
|
battleMes.Add("MopperDuo", new BattleMes[5]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(23)
|
|
},
|
|
battleMes["MopperAndCo"][1],
|
|
battleMes["MopperAndCo"][2],
|
|
battleMes["MopperAndCo"][3],
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(24),
|
|
reqEnemyAmt = 2
|
|
}
|
|
});
|
|
battleMes.Add("MopperSolo", new BattleMes[4]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(25)
|
|
},
|
|
battleMes["MopperAndCo"][1],
|
|
battleMes["MopperAndCo"][2],
|
|
battleMes["MopperAndCo"][3]
|
|
});
|
|
battleMes.Add("FortDefender", new BattleMes[9]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(26)
|
|
},
|
|
battleMes["MopperAndCo"][1],
|
|
battleMes["MopperAndCo"][2],
|
|
battleMes["MopperAndCo"][3],
|
|
battleMes["PencilEraser"][1],
|
|
battleMes["PencilEraser"][4],
|
|
battleMes["PencilEraser"][3],
|
|
battleMes["PencilEraser"][2],
|
|
battleMes["PencilEraser"][5]
|
|
});
|
|
battleMes.Add("Pennilton", new BattleMes[10]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(27)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(28)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(29)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(30)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(31)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(32),
|
|
hpCheck = 0.5f
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(33),
|
|
cant = true
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(34),
|
|
cant = true
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(35),
|
|
onlyTurn = 1,
|
|
weight = 99
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(36)
|
|
}
|
|
});
|
|
battleMes.Add("BellBoss", new BattleMes[7]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(37)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(38)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(39)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(40),
|
|
hpCheck = 0.5f
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(41)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(42)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(43)
|
|
}
|
|
});
|
|
battleMes.Add("Bearing", new BattleMes[8]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(44)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(45)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(46)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(47)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(48)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(49),
|
|
hpCheck = 0.5f
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(50)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(51)
|
|
}
|
|
});
|
|
battleMes.Add("FoxBoss", new BattleMes[13]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(52)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(53)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(54)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(55)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(56)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(57)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(58)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(59)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(60)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(61),
|
|
special = true
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(62),
|
|
onlyTurn = 1,
|
|
weight = 99
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(62),
|
|
reqTurn = 5
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(63),
|
|
mercyCheck = 100f,
|
|
idToCheck = Entity.IDs.FoxBoss,
|
|
weight = 99
|
|
}
|
|
});
|
|
battleMes.Add("Axis", new BattleMes[9]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(64)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(65)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(66)
|
|
},
|
|
battleMes["FoxBoss"][10],
|
|
battleMes["FoxBoss"][11],
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(67),
|
|
hpCheck = 0.5f
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(68),
|
|
hpCheck = 0.5f
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(69)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(70)
|
|
}
|
|
});
|
|
battleMes.Add("GearSolo", new BattleMes[5]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(71)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(72),
|
|
idToCheck = Entity.IDs.Gearzerd
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(73),
|
|
idToCheck = Entity.IDs.Gearzerd
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(74),
|
|
idToCheck = Entity.IDs.Gearzerd,
|
|
hpCheck = 0.5f
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(75),
|
|
idToCheck = Entity.IDs.Gearzerd
|
|
}
|
|
});
|
|
battleMes.Add("GearDuo", new BattleMes[6]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(76)
|
|
},
|
|
battleMes["GearSolo"][1],
|
|
battleMes["GearSolo"][2],
|
|
battleMes["GearSolo"][3],
|
|
battleMes["GearSolo"][4],
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(77),
|
|
reqEnemyAmt = 2
|
|
}
|
|
});
|
|
battleMes.Add("GearTrio", new BattleMes[6]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(78)
|
|
},
|
|
battleMes["GearSolo"][1],
|
|
battleMes["GearSolo"][2],
|
|
battleMes["GearSolo"][3],
|
|
battleMes["GearSolo"][4],
|
|
battleMes["GearDuo"][5]
|
|
});
|
|
battleMes.Add("StaplerSolo", new BattleMes[5]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(79)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(80),
|
|
idToCheck = Entity.IDs.Stapler
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(81),
|
|
idToCheck = Entity.IDs.Stapler
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(82),
|
|
hpCheck = 0.5f,
|
|
idToCheck = Entity.IDs.Stapler,
|
|
battleFlagLimit = new Array<StringName> { "StaplerEmpty" }
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(83),
|
|
idToCheck = Entity.IDs.Stapler,
|
|
battleFlagReq = new Array<StringName> { "StaplerEmpty" }
|
|
}
|
|
});
|
|
battleMes.Add("GearNStapler", new BattleMes[9]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(84)
|
|
},
|
|
battleMes["GearSolo"][1],
|
|
battleMes["GearSolo"][2],
|
|
battleMes["GearSolo"][3],
|
|
battleMes["GearSolo"][4],
|
|
battleMes["StaplerSolo"][1],
|
|
battleMes["StaplerSolo"][2],
|
|
battleMes["StaplerSolo"][3],
|
|
battleMes["StaplerSolo"][4]
|
|
});
|
|
battleMes.Add("DrillSolo", new BattleMes[5]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(85),
|
|
idToCheck = Entity.IDs.Drill
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(86),
|
|
idToCheck = Entity.IDs.Drill
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(87),
|
|
hpCheck = 0.5f,
|
|
idToCheck = Entity.IDs.Drill
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(88),
|
|
idToCheck = Entity.IDs.Drill
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(89),
|
|
idToCheck = Entity.IDs.Drill
|
|
}
|
|
});
|
|
battleMes.Add("DW2Trio1", new BattleMes[13]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(90)
|
|
},
|
|
battleMes["GearSolo"][1],
|
|
battleMes["GearSolo"][2],
|
|
battleMes["GearSolo"][3],
|
|
battleMes["GearSolo"][4],
|
|
battleMes["StaplerSolo"][1],
|
|
battleMes["StaplerSolo"][2],
|
|
battleMes["StaplerSolo"][3],
|
|
battleMes["StaplerSolo"][4],
|
|
battleMes["DrillSolo"][1],
|
|
battleMes["DrillSolo"][2],
|
|
battleMes["DrillSolo"][3],
|
|
battleMes["DrillSolo"][4]
|
|
});
|
|
battleMes.Add("StaplerTrio", new BattleMes[5]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(91)
|
|
},
|
|
battleMes["StaplerSolo"][1],
|
|
battleMes["StaplerSolo"][2],
|
|
battleMes["StaplerSolo"][3],
|
|
battleMes["StaplerSolo"][4]
|
|
});
|
|
battleMes.Add("RulerGroup", new BattleMes[8]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(93)
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(92),
|
|
idToCheck = Entity.IDs.Ruler
|
|
},
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(94),
|
|
idToCheck = Entity.IDs.Ruler
|
|
},
|
|
battleMes["PencilEraser"][1],
|
|
battleMes["PencilEraser"][4],
|
|
battleMes["PencilEraser"][3],
|
|
battleMes["PencilEraser"][2],
|
|
battleMes["PencilEraser"][5]
|
|
});
|
|
battleMes.Add("RulerCo", new BattleMes[8]
|
|
{
|
|
new BattleMes
|
|
{
|
|
text = GetEnemyMes(95)
|
|
},
|
|
battleMes["RulerGroup"][1],
|
|
battleMes["RulerGroup"][2],
|
|
battleMes["PencilEraser"][1],
|
|
battleMes["PencilEraser"][4],
|
|
battleMes["PencilEraser"][3],
|
|
battleMes["PencilEraser"][2],
|
|
battleMes["PencilEraser"][5]
|
|
});
|
|
}
|
|
}
|