Ejemplo n.º 1
0
        public static void GrandSaboteur(TowerModel model)
        {
            BloonSabotage(model);
            model.range += 10;

            List <string[]> tags = new List <string[]>
            {
                new [] { "Moab" },
                new [] { "Bfb" },
                new [] { "Zomg" },
                new [] { "Ddt" },
                new [] { "Bad" },
            };

            foreach (var weaponModel in model.GetWeapons())
            {
                for (var i = 0; i < tags.Count; i++)
                {
                    var t        = tags[i];
                    var behavior = new DamageModifierForTagModel("DamageModifierForTagModel_" + i, t[0], 1.0f,
                                                                 10 * (i + 1), false, false)
                    {
                        tags = t
                    };
                    weaponModel.projectile.AddBehavior(behavior);
                    weaponModel.projectile.pierce += 10;

                    weaponModel.projectile.GetDamageModel().damageTypes = new Il2CppStringArray(new[] { "Normal" });
                }
            }
        }
Ejemplo n.º 2
0
        public static void GorillaGlue(TowerModel model)
        {
            foreach (var projectileModel in model.GetAllProjectiles())
            {
                var amount = Math.Max(1, model.tier);
                if (model.tier == 4)
                {
                    amount++;
                }

                if (model.tier == 5)
                {
                    amount += 5;
                }

                var damageModel = projectileModel.GetDamageModel();
                if (damageModel == null)
                {
                    damageModel = new DamageModel("DamageModel_", amount, 0f, new Il2CppStringArray(new[] { "Normal" }),
                                                  true, false, true, null);
                    projectileModel.AddBehavior(damageModel);
                }
                else
                {
                    damageModel.damage += amount;
                }

                if (model.appliedUpgrades.Contains("MOAB Glue"))
                {
                    var damageModifierForTagModel =
                        new DamageModifierForTagModel("DamageModifierForTagModel_", "Moabs", 1.0f, amount * 9, false, true);
                    projectileModel.AddBehavior(damageModifierForTagModel);

                    projectileModel.hasDamageModifiers = true;
                }
            }
        }