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; }
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; }