public ProjectileProperties(Projectile.ProjectileProperties another)
 {
     this.Type                            = another.Type;
     this.Radius                          = another.Radius;
     this.Speed                           = another.Speed;
     this.DamagePerHit                    = another.DamagePerHit;
     this.IsCriticalHit                   = another.IsCriticalHit;
     this.StunDurationSeconds             = another.StunDurationSeconds;
     this.KnockbackAndSlowDurationSeconds = another.KnockbackAndSlowDurationSeconds;
     this.MaxLifetime                     = another.MaxLifetime;
     this.DestroyAfterContact             = another.DestroyAfterContact;
     this.RequireGroundTouch              = another.RequireGroundTouch;
     this.UsesGravity                     = another.UsesGravity;
     this.GravityFactor                   = another.GravityFactor;
     this.CollideWithGround               = another.CollideWithGround;
     this.DamageType                      = another.DamageType;
     this.FromSkill                       = another.FromSkill;
     this.CharmDurationSeconds            = another.CharmDurationSeconds;
     this.ConfusionDurationSeconds        = another.ConfusionDurationSeconds;
     this.StartSizeMultiplier             = another.StartSizeMultiplier;
 }
Exemple #2
0
        static ConfigGameplay()
        {
            Dictionary <GameLogic.CharacterType, Dictionary <string, int> > dictionary = new Dictionary <GameLogic.CharacterType, Dictionary <string, int> >(new CharacterTypeBoxAvoidanceComparer());
            Dictionary <string, int> dictionary2 = new Dictionary <string, int>();

            dictionary2.Add("Skeleton001", 10);
            dictionary2.Add("Skeleton002", 10);
            dictionary2.Add("Skeleton003", 10);
            dictionary2.Add("Skeleton004", 10);
            dictionary2.Add("Skeleton005", 10);
            dictionary2.Add("Skeleton006", 10);
            dictionary2.Add("Skeleton007", 8);
            dictionary2.Add("Skeleton008", 6);
            dictionary.Add(GameLogic.CharacterType.Skeleton, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Jelly001", 10);
            dictionary2.Add("Jelly002", 10);
            dictionary2.Add("Jelly003", 10);
            dictionary2.Add("Jelly004", 6);
            dictionary.Add(GameLogic.CharacterType.Jelly, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Pygmy001", 10);
            dictionary2.Add("Pygmy002", 10);
            dictionary2.Add("Pygmy003", 10);
            dictionary2.Add("Pygmy004", 10);
            dictionary.Add(GameLogic.CharacterType.Pygmy, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Worg001", 10);
            dictionary2.Add("Worg002", 10);
            dictionary2.Add("Worg003", 0);
            dictionary2.Add("Worg004", 0);
            dictionary.Add(GameLogic.CharacterType.Worg, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Crocodile001", 10);
            dictionary2.Add("Crocodile002", 10);
            dictionary2.Add("Crocodile003", 10);
            dictionary.Add(GameLogic.CharacterType.Crocodile, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Rat001", 10);
            dictionary2.Add("Rat002", 10);
            dictionary2.Add("Rat003", 10);
            dictionary.Add(GameLogic.CharacterType.Rat, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Anubis001", 10);
            dictionary2.Add("Anubis002", 10);
            dictionary2.Add("Anubis003", 10);
            dictionary.Add(GameLogic.CharacterType.Anubis, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Mummy001", 10);
            dictionary2.Add("Mummy002", 10);
            dictionary.Add(GameLogic.CharacterType.Mummy, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Goblin001", 10);
            dictionary2.Add("Goblin002", 10);
            dictionary2.Add("Goblin003", 10);
            dictionary2.Add("Goblin004", 10);
            dictionary.Add(GameLogic.CharacterType.Goblin, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Yeti001", 10);
            dictionary2.Add("Yeti002", 10);
            dictionary2.Add("Yeti003", 10);
            dictionary2.Add("Yeti004", 10);
            dictionary.Add(GameLogic.CharacterType.Yeti, dictionary2);
            dictionary2 = new Dictionary <string, int>();
            dictionary2.Add("Shroom001", 10);
            dictionary2.Add("Shroom002", 10);
            dictionary2.Add("Shroom003", 10);
            dictionary2.Add("Shroom004", 10);
            dictionary.Add(GameLogic.CharacterType.Shroom, dictionary2);
            CHARACTER_SPAWN_WEIGHTS              = dictionary;
            STUN_MATERIAL_COLOR                  = new Color(0.08235294f, 0.8470588f, 1f, 1f);
            POISON_MATERIAL_COLOR                = new Color(0.6196079f, 0.972549f, 0f, 1f);
            SLOW_MATERIAL_COLOR                  = new Color(0f, 1f, 1f, 1f);
            CLONE_COOLDOWN_MATERIAL_COLOR        = new Color(0.3882353f, 0.8980392f, 1f, 1f);
            CLONE_DECOY_MATERIAL_COLOR           = new Color(0.6156863f, 0f, 1f, 1f);
            CLONE_HEAL_MATERIAL_COLOR            = new Color(0.4431373f, 1f, 0.2666667f, 1f);
            DEFAULT_NORMALIZED_HP_AFTER_REVIVE   = 0.5f;
            PASSIVE_HP_REGEN_PROXIMITY_THRESHOLD = 9f;
            PASSIVE_HP_REGEN_TICK_INTERVAL       = 0.2f;
            PASSIVE_HP_REGEN_PCT_PER_TICK        = 0.2f;
            HERO_HP_SAFEGUARD_MAX_HP_LOSS_PER_MINION_HIT_NORMALIZED = 0.1f;
            GLOBAL_MELEE_DAMAGE_VARIATION_PCT       = 0.03f;
            OUT_OF_BOUNDS_CHECKING_ENABLED          = true;
            CHARACTER_FULLSPEED_ACCELERATION_TIMER  = 0.18f;
            CHARACTER_FULLSPEED_ACCELERATION_EASING = Easing.Function.IN_CUBIC;
            ROTATION_STEERING_THRESHOLD             = 0.9f;
            SUPPORT_CHARACTER_AUTO_KILL_RADIUS      = float.MaxValue;
            CRITTER_MAX_COUNT              = 8;
            AGGRO_RANGE_IDLE               = 10f;
            AGGRO_RANGE_ALARMED            = 5f;
            AI_UPDATE_INTERVAL             = 0.0666666f;
            MAX_MONSER_PURSUIT_PATH_LENGTH = 20f;
            Dictionary <ProjectileType, Projectile.ProjectileProperties> dictionary3 = new Dictionary <ProjectileType, Projectile.ProjectileProperties>(new ProjectileTypeBoxAvoidanceComparer());

            Projectile.ProjectileProperties properties = new Projectile.ProjectileProperties();
            properties.Type   = ProjectileType.Fireball;
            properties.Radius = 0.6f;
            properties.DestroyAfterContact = true;
            properties.MaxLifetime         = 3f;
            properties.Speed      = 8f;
            properties.DamageType = DamageType.Ranged;
            dictionary3.Add(ProjectileType.Fireball, properties);
            Projectile.ProjectileProperties properties2 = new Projectile.ProjectileProperties();
            properties2.Type   = ProjectileType.Orb;
            properties2.Radius = 0.6f;
            properties2.DestroyAfterContact = true;
            properties2.MaxLifetime         = 2f;
            properties2.Speed      = 14f;
            properties2.DamageType = DamageType.Magic;
            dictionary3.Add(ProjectileType.Orb, properties2);
            Projectile.ProjectileProperties properties3 = new Projectile.ProjectileProperties();
            properties3.Type   = ProjectileType.Dragonball;
            properties3.Radius = 0.6f;
            properties3.DestroyAfterContact = true;
            properties3.MaxLifetime         = 3f;
            properties3.Speed      = 10f;
            properties3.DamageType = DamageType.Ranged;
            dictionary3.Add(ProjectileType.Dragonball, properties3);
            Projectile.ProjectileProperties properties4 = new Projectile.ProjectileProperties();
            properties4.Type   = ProjectileType.Rock;
            properties4.Radius = 0.6f;
            properties4.DestroyAfterContact = true;
            properties4.MaxLifetime         = 3f;
            properties4.CollideWithGround   = true;
            properties4.Speed      = 8f;
            properties4.DamageType = DamageType.Ranged;
            dictionary3.Add(ProjectileType.Rock, properties4);
            Projectile.ProjectileProperties properties5 = new Projectile.ProjectileProperties();
            properties5.Type   = ProjectileType.Frostball;
            properties5.Radius = 0.6f;
            properties5.DestroyAfterContact = true;
            properties5.MaxLifetime         = 3f;
            properties5.Speed      = 10f;
            properties5.DamageType = DamageType.Ranged;
            dictionary3.Add(ProjectileType.Frostball, properties5);
            Projectile.ProjectileProperties properties6 = new Projectile.ProjectileProperties();
            properties6.Type   = ProjectileType.Bubbles;
            properties6.Radius = 0.6f;
            properties6.DestroyAfterContact = true;
            properties6.MaxLifetime         = 3f;
            properties6.Speed      = 10f;
            properties6.DamageType = DamageType.Ranged;
            dictionary3.Add(ProjectileType.Bubbles, properties6);
            Projectile.ProjectileProperties properties7 = new Projectile.ProjectileProperties();
            properties7.Type   = ProjectileType.Splinters1;
            properties7.Radius = 0.6f;
            properties7.DestroyAfterContact = true;
            properties7.MaxLifetime         = 3f;
            properties7.Speed      = 10f;
            properties7.DamageType = DamageType.Ranged;
            dictionary3.Add(ProjectileType.Splinters1, properties7);
            Projectile.ProjectileProperties properties8 = new Projectile.ProjectileProperties();
            properties8.Type   = ProjectileType.Splinters2;
            properties8.Radius = 0.6f;
            properties8.DestroyAfterContact = true;
            properties8.MaxLifetime         = 3f;
            properties8.Speed      = 10f;
            properties8.DamageType = DamageType.Ranged;
            dictionary3.Add(ProjectileType.Splinters2, properties8);
            Projectile.ProjectileProperties properties9 = new Projectile.ProjectileProperties();
            properties9.Type   = ProjectileType.Ink;
            properties9.Radius = 0.6f;
            properties9.DestroyAfterContact = true;
            properties9.MaxLifetime         = 3f;
            properties9.Speed      = 10f;
            properties9.DamageType = DamageType.Ranged;
            dictionary3.Add(ProjectileType.Ink, properties9);
            Projectile.ProjectileProperties properties10 = new Projectile.ProjectileProperties();
            properties10.Type   = ProjectileType.Coins;
            properties10.Radius = 0.6f;
            properties10.DestroyAfterContact = true;
            properties10.MaxLifetime         = 3f;
            properties10.Speed      = 10f;
            properties10.DamageType = DamageType.Ranged;
            dictionary3.Add(ProjectileType.Coins, properties10);
            PROJECTILE_PROTOTYPE_PROPERTIES = dictionary3;
            USE_RANDOMIZED_BOSS_PERKS       = false;
            PET_MAX_LEVEL = 5;
            List <int> list = new List <int>();

            list.Add(2);
            list.Add(3);
            list.Add(4);
            list.Add(5);
            PET_PERK_MILESTONE_LEVELS = list;
            CHARACTER_MELEE_ATTACK_DESTRUCTIBLE_HIT_RADIUS = 2.25f;
        }