// 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());
        }
示例#2
0
        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() }));
        }
示例#3
0
        // 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());
        }
示例#4
0
        // 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());
        }
示例#10
0
        // 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());
        }
示例#11
0
        // 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());
        }
示例#14
0
        // 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());
        }
示例#15
0
        // 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());
        }