Example #1
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectAddStatusEffectOnStatusApplied).AssemblyQualifiedName,
                        ParamSourceTeam      = Team.Type.Heroes,
                        ParamInt             = 100,
                        ParamTargetMode      = TargetMode.Room,
                        ParamStatusEffects   = new StatusEffectStackData[] { new StatusEffectStackData {
                                                                                 statusId = "spark", count = 1
                                                                             } },
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            relic.BuildAndRegister();
        }
Example #2
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/Mirrorc.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectFirstBuffExtraStack).AssemblyQualifiedName,
                        ParamInt             = 1,
                        ParamSourceTeam      = Team.Type.Monsters,
                    }
                },
            };

            //ProviderManager.TryGetProvider<StatusEffectManager>(out StatusEffectManager statMan);
            //List<StatusEffectStackData> statuses = new List<StatusEffectStackData>();
            //foreach (var status in statMan.GetAllStatusEffectsData().GetStatusEffectData())
            //{
            //    if (status.GetDisplayCategory() != StatusEffectData.DisplayCategory.Persistent)
            //    {
            //        var stack = new StatusEffectStackData { statusId = status.GetStatusId(), count = 1 };
            //        statuses.Add(stack);
            //    }
            //}
            //relic.EffectBuilders[0].ParamStatusEffects = statuses.ToArray();
            Utils.AddRelic(relic, ID);

            relic.BuildAndRegister();
        }
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/ErrantPinwheel.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectAddStatusOnMonsterAscend).AssemblyQualifiedName,
                        ParamStatusEffects   = new StatusEffectStackData[] { new StatusEffectStackData {
                                                                                 statusId = "gravity", count = 1
                                                                             } },
                        ParamSourceTeam = Team.Type.Monsters,
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();

            r.GetNameEnglish();
        }
Example #4
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectChangeGoldReward).AssemblyQualifiedName,
                        ParamFloat           = 0.75f,
                        ParamTargetMode      = TargetMode.Room,
                    },

                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectChangeStartingHandSize).AssemblyQualifiedName,
                        ParamInt             = 1,
                        ParamTargetMode      = TargetMode.Room,
                    }
                },
            };

            Utils.AddRelic(relic, ID);

            relic.BuildAndRegister();
        }
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/SecondHand.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName    = typeof(RelicEffectRewind).AssemblyQualifiedName,
                        EffectConditionBuilders = new List <RelicEffectConditionBuilder>
                        {
                            new RelicEffectConditionBuilder
                            {
                                paramTrackTriggerCount           = true,
                                paramComparator                  = (RelicEffectCondition.Comparator.Equal | RelicEffectCondition.Comparator.GreaterThan),
                                allowMultipleTriggersPerDuration = false,
                                paramInt = 1
                            }
                        }
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();

            r.GetNameEnglish();
        }
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/FortuneCookie.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = "RelicEffectAddStatusEffectOnSpawn",
                        ParamStatusEffects   = new StatusEffectStackData[] { new StatusEffectStackData {
                                                                                 statusId = "loaded", count = 5
                                                                             } },
                        ParamSourceTeam       = Team.Type.Heroes,
                        ParamBool             = false,
                        ParamTargetMode       = TargetMode.FrontInRoom,
                        ParamCardType         = CardType.Monster,
                        ParamCharacterSubtype = "SubtypesData_None",
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();

            r.GetNameEnglish();
        }
Example #7
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectAddStatusEffectOnSpawn).AssemblyQualifiedName,
                        ParamSourceTeam      = Team.Type.Heroes,
                        ParamTrigger         = CharacterTriggerData.Trigger.OnSpawn,
                        ParamStatusEffects   = new StatusEffectStackData[] { new StatusEffectStackData {
                                                                                 statusId = "armor", count = 15
                                                                             } },
                    },
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectModifyEnergy).AssemblyQualifiedName,
                        ParamInt             = -1,
                        ParamTargetMode      = TargetMode.Room,
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            relic.BuildAndRegister();
        }
Example #8
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/Metronome.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectApplyStatusOnHitIfStatus).AssemblyQualifiedName,
                        ParamStatusEffects   = new StatusEffectStackData[] { new StatusEffectStackData {
                                                                                 statusId = "dazed", count = 1
                                                                             } },
                        ParamSourceTeam = Team.Type.Monsters,
                        ParamTrigger    = CharacterTriggerData.Trigger.OnAttacking,
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();

            r.GetNameEnglish();
        }
Example #9
0
        public static void AddRelic(CollectableRelicDataBuilder r, string ID)
        {
            r.CollectableRelicID   = ID;
            r.NameKey              = ID + "_Name";
            r.DescriptionKey       = ID + "_Desc";
            r.RelicActivatedKey    = ID + "_Active";
            r.RelicLoreTooltipKeys = new List <string> {
                ID + "_Lore"
            };
            r.ClanID           = Clan.IDName;
            r.Rarity           = CollectableRarity.Common;
            r.IsBossGivenRelic = false;

            if (!r.NameKey.HasTranslation())
            {
                Trainworks.Trainworks.Log(BepInEx.Logging.LogLevel.All, r.NameKey + ",Text,,,,," + ID + ",,,,,");
            }
            if (!r.DescriptionKey.HasTranslation())
            {
                Trainworks.Trainworks.Log(BepInEx.Logging.LogLevel.All, r.DescriptionKey + ",Text,,,,,<desc>,,,,,");
            }
            if (!r.RelicActivatedKey.HasTranslation())
            {
                Trainworks.Trainworks.Log(BepInEx.Logging.LogLevel.All, r.RelicActivatedKey + ",Text,,,,,<desc>,,,,,");
            }
            if (!r.RelicLoreTooltipKeys[0].HasTranslation())
            {
                Trainworks.Trainworks.Log(BepInEx.Logging.LogLevel.All, r.RelicLoreTooltipKeys[0] + ",Text,,,,,<desc>,,,,,");
            }
        }
Example #10
0
 public static void AddRelic(CollectableRelicDataBuilder r, string ID)
 {
     r.CollectableRelicID   = ID;
     r.NameKey              = ID + "_Name";
     r.DescriptionKey       = ID + "_Desc";
     r.RelicActivatedKey    = ID + "_Active";
     r.RelicLoreTooltipKeys = new List <string> {
         ID + "_Lore"
     };
     r.ClanID           = TouhouClan.ID;
     r.Rarity           = CollectableRarity.Common;
     r.IsBossGivenRelic = false;
 }
Example #11
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/Sample.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
            };

            Utils.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();

            r.GetNameEnglish();
        }
Example #12
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "influka/Relic/debug.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                }
            };

            AssetAdder.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();

            r.GetNameEnglish();
        }
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/FoolsCrown.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectGoldOnPyreKill).AssemblyQualifiedName,
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();
        }
Example #14
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectModifyTowerMaxHealth).AssemblyQualifiedName,
                        ParamInt             = 2,
                        ParamTrigger         = CharacterTriggerData.Trigger.OnAnyHeroDeathOnFloor,
                    }
                },
            };

            Utils.AddRelic(relic, ID);

            relic.BuildAndRegister();
        }
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectModifyRandomRoomCapacity).AssemblyQualifiedName,
                        ParamInt             = 2,
                        ParamTargetMode      = TargetMode.Room,
                    },
                }
            };

            Utils.AddRelic(relic, ID);

            relic.BuildAndRegister();
        }
Example #16
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/SecondHand.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectReturnLastSpellToHandNextTurn).AssemblyQualifiedName,
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();

            r.GetNameEnglish();
        }
Example #17
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectDamageOrHealUnitsEndOfTurn).AssemblyQualifiedName,
                        ParamInt             = 3,
                        ParamSourceTeam      = Team.Type.Heroes,
                        ParamBool            = true,
                    }
                },
            };

            Utils.AddRelic(relic, ID);

            relic.BuildAndRegister();
        }
Example #18
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectModifyTriggerCount).AssemblyQualifiedName,
                        ParamSourceTeam      = Team.Type.Heroes,
                        ParamInt             = 1,
                        ParamTrigger         = CharacterTriggerData.Trigger.PostCombat,
                        ParamTargetMode      = TargetMode.Room,
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            relic.BuildAndRegister();
        }
Example #19
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/FreeTime.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = "RelicEffectModifyCardTypeCost",
                        ParamCardType        = CardType.Spell,
                        ParamInt             = -1,
                    },
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = "RelicEffectAddTrait",
                        ParamCardType        = CardType.Spell,
                        ParamSourceTeam      = Team.Type.Monsters,
                        Traits = new List <CardTraitData> {
                            new CardTraitData {
                                traitStateName = "CardTraitExhaustState"
                            }
                        }
                    },
                }
            };

            Utils.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();

            r.GetNameEnglish();
        }
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                IconPath     = "Relic/Nightwatch.png",
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectXCostRefund).AssemblyQualifiedName,
                        ParamInt             = 2,
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            var r = relic.BuildAndRegister();

            r.GetNameEnglish();
        }
Example #21
0
        public static void Make()
        {
            var relic = new CollectableRelicDataBuilder
            {
                RelicPoolIDs = new List <string> {
                    MegaRelicPool
                },
                EffectBuilders = new List <RelicEffectDataBuilder>
                {
                    new RelicEffectDataBuilder
                    {
                        RelicEffectClassName = typeof(RelicEffectChanceAddEffectOnSpawn).AssemblyQualifiedName,
                        ParamSourceTeam      = Team.Type.Monsters,
                        ParamInt             = 50,

                        ParamCardEffects = new List <CardEffectData>
                        {
                            new CardEffectDataBuilder
                            {
                                EffectStateName    = "CardEffectAddStatusEffect",
                                ParamInt           = 100,
                                TargetMode         = TargetMode.Room,
                                TargetTeamType     = Team.Type.Monsters,
                                ParamStatusEffects = new StatusEffectStackData[] { new StatusEffectStackData {
                                                                                       statusId = "debuff", count = 1
                                                                                   } },
                            }.Build()
                        }
                    }
                }
            };

            Utils.AddRelic(relic, ID);

            relic.BuildAndRegister();
        }