// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Eternal" }, Size = 1, Health = 30, AttackDamage = 0, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { trigger = OnSpawnChange.OnSpawnChangeCharTrigger.GetEnum(), } } }; characterDataBuilder.AddStartingStatusEffect("symbiote", 1); Utils.AddUnitImg(characterDataBuilder, imgName + ".png"); return(characterDataBuilder.BuildAndRegister()); }
public static void AddWard(CardDataBuilder r, string IDName, CharacterDataBuilder character) { r.CardID = IDName; r.NameKey = IDName + "_Name"; r.OverrideDescriptionKey = IDName + "_Desc"; r.LinkedClass = DiscipleClan.getClan(); r.ClanID = Clan.IDName; r.CardPoolIDs = new List <string> { "Chrono", MegaPool }; r.CardType = CardType.Monster; r.TargetsRoom = true; character.AddStartingStatusEffect("fragile", 1); // character.AddStartingStatusEffect("immobile", 1); r.AssetPath = rootPath + scardPath; r.EffectBuilders.Add( new CardEffectDataBuilder { EffectStateName = "CardEffectSpawnMonster", TargetMode = TargetMode.BackInRoom, ParamCharacterData = character.BuildAndRegister(), }); character.TriggerBuilders.Add(new CharacterTriggerDataBuilder { Trigger = OnSpawnChange.OnSpawnChangeCharTrigger.GetEnum(), HideTriggerTooltip = true, EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateName = "CardEffectFloorRearrange", ParamInt = 1, TargetMode = TargetMode.Self }, } }); if (!r.NameKey.HasTranslation()) { Trainworks.Trainworks.Log(BepInEx.Logging.LogLevel.All, r.NameKey + ",Text,,,,," + r.CardID + ",,,,,"); } if (!r.OverrideDescriptionKey.HasTranslation()) { Trainworks.Trainworks.Log(BepInEx.Logging.LogLevel.All, r.OverrideDescriptionKey + ",Text,,,,,<desc>,,,,,"); } //Trainworks.Trainworks.Log(BepInEx.Logging.LogLevel.All, string.Join("\t", new string[] { "Spell", r.NameKey.Localize(), r.Rarity.ToString(), r.Cost.ToString(), r.OverrideDescriptionKey.Localize() })); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Seer" }, Size = 1, Health = 3, AttackDamage = 5, PriorityDraw = false, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { Trigger = CharacterTriggerData.Trigger.OnDeath, EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateName = "CardEffectAddStatusEffect", TargetMode = TargetMode.LastAttackerCharacter, TargetTeamType = Team.Type.Heroes, ParamStatusEffects = new StatusEffectStackData[] { new StatusEffectStackData { count = 2, statusId = Dazed } } }, new CardEffectDataBuilder { EffectStateName = "CardEffectBump", ParamInt = 4, TargetMode = TargetMode.LastAttackerCharacter, TargetTeamType = Team.Type.Heroes, TargetIgnoreBosses = true, } } } } }; characterDataBuilder.AddStartingStatusEffect("icarian", 1); Utils.AddUnitAnim(characterDataBuilder, "flashfeather"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Seer" }, Size = 1, Health = 3, AttackDamage = 0, }; // Unit art asset, complex stuff! characterDataBuilder.AddStartingStatusEffect(Sweep, 1); characterDataBuilder.AddStartingStatusEffect("pyreboost", 1); Utils.AddUnitAnim(characterDataBuilder, "minerva"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Eternal" }, Size = 5, Health = 50, AttackDamage = 0, BundleLoadingInfo = new BundleAssetLoadingInfo { FilePath = "arcadian_units", SpriteName = "assets/plr_ancient.png", ObjectName = "assets/plr_ancient.prefab", AssetType = AssetRefBuilder.AssetTypeEnum.Character }, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { Trigger = CharacterTriggerData.Trigger.AfterSpawnEnchant, DescriptionKey = "Ancient Pyresnail_Trigger", EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateName = "CardEffectEnchant", ParamStatusEffects = new StatusEffectStackData[] { new StatusEffectStackData { count = 1, statusId = "pyreboost" } }, TargetMode = TargetMode.Room, TargetTeamType = Team.Type.Monsters, } } }, }, }; characterDataBuilder.AddStartingStatusEffect(Immobile, 1); Utils.AddUnitAnim(characterDataBuilder, "pyresnail"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Seer" }, PriorityDraw = false, Size = 1, Health = 1, AttackDamage = 3, RoomModifierBuilders = new List <RoomModifierDataBuilder> { new RoomModifierDataBuilder { RoomStateModifierClassType = typeof(RoomStateEnergyModifier), ParamInt = 1, } }, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { Trigger = CharacterTriggerData.Trigger.OnDeath, EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateName = "CardEffectGainEnergy", ParamInt = 3, }, } } } }; characterDataBuilder.AddStartingStatusEffect("icarian", 1); Utils.AddUnitAnim(characterDataBuilder, "morsowl"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", Size = 3, Health = 20, AttackDamage = 13 }; characterDataBuilder.AddStartingStatusEffect("slow", 1); Utils.AddUnitImg(characterDataBuilder, imgName + ".png"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterDataBuilder BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", Size = 0, Health = 1, AttackDamage = 0, CanAttack = false, PriorityDraw = false, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { Trigger = CharacterTriggerData.Trigger.PostCombat, EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateName = "CardEffectBump", ParamInt = -1, TargetMode = TargetMode.Room, TargetTeamType = Team.Type.Monsters, TargetIgnoreBosses = true, } } }, } }; characterDataBuilder.AddStartingStatusEffect(Immobile, 1); Utils.AddUnitImg(characterDataBuilder, IDName + ".png"); characterDataBuilder.SubtypeKeys = new List <string> { "ChronoSubtype_Ward" }; return(characterDataBuilder); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", Size = 1, Health = 3, AttackDamage = 20, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { Trigger = CharacterTriggerData.Trigger.EndTurnPreHandDiscard, EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateName = "CardEffectBuffDamage", ParamInt = 10, TargetMode = TargetMode.Self }, new CardEffectDataBuilder { EffectStateName = "CardEffectBuffMaxHealth", ParamInt = 3, TargetMode = TargetMode.Self }, } } } }; characterDataBuilder.AddStartingStatusEffect("icarian", 1); Utils.AddUnitImg(characterDataBuilder, imgName + ".png"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Seer" }, PriorityDraw = false, Size = 1, Health = 3, AttackDamage = 20, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { Trigger = OnRelocate.OnRelocateCharTrigger.GetEnum(), EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateName = "CardEffectAddTempCardUpgradeToUnits", ParamCardUpgradeData = new CardUpgradeDataBuilder { BonusDamage = 5, }.Build(), TargetMode = TargetMode.Self, } } } } }; characterDataBuilder.AddStartingStatusEffect("icarian", 1); Utils.AddUnitAnim(characterDataBuilder, "waxwing"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Pythian" }, Size = 1, Health = 1, AttackDamage = 1, }; characterDataBuilder.AddStartingStatusEffect("gravity", 1); Utils.AddUnitAnim(characterDataBuilder, "newton"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Seer" }, Size = 1, Health = 5, AttackDamage = 10, }; characterDataBuilder.AddStartingStatusEffect("pastglory", 1); Utils.AddUnitImg(characterDataBuilder, imgName + ".png"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Eternal" }, Size = 3, Health = 40, AttackDamage = 0, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { Trigger = CharacterTriggerData.Trigger.AfterSpawnEnchant, DescriptionKey = "Ancient Savant_Trigger", EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateName = "CardEffectEnchant", ParamStatusEffects = new StatusEffectStackData[] { new StatusEffectStackData { count = 1, statusId = "ambush" } }, TargetMode = TargetMode.Room, TargetTeamType = Team.Type.Monsters, } } }, }, }; characterDataBuilder.AddStartingStatusEffect(Immobile, 1); Utils.AddUnitAnim(characterDataBuilder, "ancient"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", SubtypeKeys = new List <string> { "ChronoSubtype_Pythian" }, Size = 3, Health = 30, AttackDamage = 15, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { Trigger = CharacterTriggerData.Trigger.EndTurnPreHandDiscard, EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateType = typeof(CardEffectBump), TargetMode = TargetMode.Self, TargetTeamType = Team.Type.Heroes | Team.Type.Monsters, ParamInt = 2, } } }, } }; characterDataBuilder.AddStartingStatusEffect("gravity", 12); Utils.AddUnitAnim(characterDataBuilder, "galilizard"); return(characterDataBuilder.BuildAndRegister()); }
// Builds the unit public static CharacterData BuildUnit() { // Monster card, so we build an attached unit CharacterDataBuilder characterDataBuilder = new CharacterDataBuilder { CharacterID = IDName, NameKey = IDName + "_Name", Size = 2, Health = 22, AttackDamage = 5, TriggerBuilders = new List <CharacterTriggerDataBuilder> { new CharacterTriggerDataBuilder { Trigger = CharacterTriggerData.Trigger.OnTurnBegin, EffectBuilders = new List <CardEffectDataBuilder> { new CardEffectDataBuilder { EffectStateName = "CardEffectAddStatusEffect", TargetMode = TargetMode.Room } } } } }; characterDataBuilder.AddStartingStatusEffect("slow", 1); characterDataBuilder.TriggerBuilders[0].EffectBuilders[0].AddStatusEffect("slow", 1); Utils.AddUnitImg(characterDataBuilder, imgName + ".png"); return(characterDataBuilder.BuildAndRegister()); }