public void UpdateDescriptionPlate(SkillObj trait) { var text = trait.IconName; text = text.Replace("Locked", ""); text = text.Replace("Max", ""); m_skillIcon.ChangeSprite(text); m_skillTitle.Text = trait.Name; m_skillDescription.Text = trait.Description; m_skillDescription.WordWrap(280); m_inputDescription.Text = trait.InputDescription; m_inputDescription.WordWrap(280); m_inputDescription.Y = m_skillDescription.Bounds.Bottom + 10; var num = TraitStatType.GetTraitStat(trait.TraitType); if (num > -1f) { if (num < 1f) { num *= 100f; num = (int)Math.Round(num, MidpointRounding.AwayFromZero); } if (num == 0f) { num = trait.ModifierAmount; if (trait.TraitType == SkillType.Crit_Chance_Up) { num *= 100f; num = (int)Math.Round(num, MidpointRounding.AwayFromZero); } } m_skillCurrent.Text = "Current: " + num + trait.UnitOfMeasurement; if (trait.CurrentLevel < trait.MaxLevel) { var num2 = trait.PerLevelModifier; if (num2 < 1f && trait.TraitType != SkillType.Invuln_Time_Up) { num2 *= 100f; if (trait.TraitType != SkillType.Death_Dodge) { num2 = (int)Math.Round(num2, MidpointRounding.AwayFromZero); } } m_skillUpgrade.Text = "Upgrade: +" + num2 + trait.UnitOfMeasurement; } else { m_skillUpgrade.Text = "Upgrade: --"; } m_skillLevel.Text = string.Concat("Level: ", trait.CurrentLevel, "/", trait.MaxLevel); var arg = "unlock"; if (trait.CurrentLevel > 0) { arg = "upgrade"; } m_skillCost.Text = trait.TotalCost + " gold to " + arg; if (m_inputDescription.Text != " " && m_inputDescription.Text != "") { m_skillCurrent.Y = m_inputDescription.Bounds.Bottom + 40; } else { m_skillCurrent.Y = m_skillDescription.Bounds.Bottom + 40; } m_skillUpgrade.Y = m_skillCurrent.Y + 30f; m_skillLevel.Y = m_skillUpgrade.Y + 30f; m_descriptionDivider.Visible = true; } else { m_skillCurrent.Text = ""; m_skillUpgrade.Text = ""; m_skillLevel.Text = ""; m_descriptionDivider.Visible = false; var arg2 = "unlock"; if (trait.CurrentLevel > 0) { arg2 = "upgrade"; } m_skillCost.Text = trait.TotalCost + " gold to " + arg2; } m_descriptionDivider.Position = new Vector2(m_skillCurrent.AbsX, m_skillCurrent.AbsY - 20f); if (trait.CurrentLevel >= trait.MaxLevel) { m_skillCost.Visible = false; m_skillCostBG.Visible = false; } else { m_skillCost.Visible = true; m_skillCostBG.Visible = true; } m_playerMoney.Text = Game.PlayerStats.Gold.ToString(); }
public void SetManorPieceVisible(int manorIndex, SkillObj skillObj) { var childAt = m_manor.GetChildAt(manorIndex); var num = 0f; if (!childAt.Visible) { m_lockControls = true; childAt.Visible = true; var pos = new Vector2(childAt.AbsPosition.X, childAt.AbsBounds.Bottom); switch (manorIndex) { case 0: case 11: case 17: case 22: case 24: case 27: case 28: num = 0.5f; childAt.Opacity = 0f; Tween.To(childAt, num, Tween.EaseNone, "Opacity", "1"); goto IL_A26; case 1: case 5: childAt.Opacity = 1f; num = 1f; childAt.X -= childAt.Width * 2; SoundManager.PlaySound("skill_tree_reveal_short_01", "skill_tree_reveal_short_02"); Tween.By(childAt, num, Quad.EaseOut, "X", (childAt.Width * 2).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, false, childAt.Height * 2, num); goto IL_A26; case 2: { childAt.Opacity = 1f; num = 1.5f; childAt.Y += childAt.Height * 2; SoundManager.PlaySound("skill_tree_reveal_short_01", "skill_tree_reveal_short_02"); Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2, num); var spriteObj = m_manor.GetChildAt(32) as SpriteObj; spriteObj.PlayAnimation(); spriteObj.OverrideParentAnimationDelay = true; spriteObj.AnimationDelay = 0.0333333351f; spriteObj.Visible = true; spriteObj.Opacity = 0f; Tween.To(spriteObj, 0.5f, Tween.EaseNone, "delay", num.ToString(), "Opacity", "1"); goto IL_A26; } case 3: case 6: case 9: case 13: case 15: case 20: case 25: childAt.Opacity = 1f; num = 1f; childAt.Y += childAt.Height * 2; SoundManager.PlaySound("skill_tree_reveal_short_01", "skill_tree_reveal_short_02"); Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2, num); goto IL_A26; case 4: pos.Y -= 50f; childAt.Opacity = 1f; num = 3f; childAt.Y += childAt.Height * 2; SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02"); Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.25f, num); goto IL_A26; case 7: pos.X = childAt.AbsBounds.Right - childAt.Width * 2 * 0.25f; childAt.Opacity = 1f; num = 3f; childAt.Y += childAt.Height * 2; SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02"); Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.25f, num); goto IL_A26; case 8: pos.X = childAt.AbsBounds.Right - childAt.Width * 2 * 0.25f; childAt.Opacity = 1f; num = 3f; childAt.Y += childAt.Height * 2; SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02"); Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.25f, num); goto IL_A26; case 10: case 21: childAt.Opacity = 1f; num = 3f; childAt.Y += childAt.Height * 2; SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02"); Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2, num); goto IL_A26; case 12: case 14: childAt.Opacity = 1f; num = 1f; childAt.X += childAt.Width * 2; pos.X = childAt.AbsPosition.X - 60f; SoundManager.PlaySound("skill_tree_reveal_short_01", "skill_tree_reveal_short_02"); Tween.By(childAt, num, Quad.EaseOut, "X", (-(childAt.Width * 2)).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, false, childAt.Height * 2, num); goto IL_A26; case 16: childAt.Opacity = 1f; num = 3f; childAt.Y += childAt.Height * 2; SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02"); Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.5f, num); goto IL_A26; case 18: case 19: childAt.Opacity = 1f; num = 3f; childAt.Y += childAt.Height * 2; SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02"); Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString()); m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.2f, num); goto IL_A26; case 23: goto IL_A26; case 29: case 30: case 31: Tween.RunFunction(0.25f, typeof(SoundManager), "PlaySound", "skill_tree_reveal_bounce"); childAt.Opacity = 1f; childAt.Scale = Vector2.Zero; num = 1f; Tween.To(childAt, num, Bounce.EaseOut, "ScaleX", "1", "ScaleY", "1"); goto IL_A26; } num = 0.7f; var vector = new Vector2(childAt.AbsPosition.X, childAt.AbsBounds.Bottom); childAt.Opacity = 1f; childAt.Y -= 720f; Tween.By(childAt, num, Quad.EaseIn, "Y", "720"); Tween.AddEndHandlerToLastTween(m_impactEffectPool, "SkillTreeDustEffect", vector, true, childAt.Width * 2); Tween.RunFunction(num, this, "ShakeScreen", 5, true, true); Tween.RunFunction(num + 0.2f, this, "StopScreenShake"); } IL_A26: Tween.RunFunction(num, this, "SetSkillIconVisible", skillObj); if (m_manor.GetChildAt(7).Visible&& m_manor.GetChildAt(16).Visible) { (m_manor.GetChildAt(7) as SpriteObj).GoToFrame(2); } if (m_manor.GetChildAt(6).Visible&& m_manor.GetChildAt(16).Visible) { (m_manor.GetChildAt(6) as SpriteObj).GoToFrame(2); } }
public void CheckForSkillUnlock(SkillObj skill, bool displayScreen) { byte b = 0; switch (skill.TraitType) { case SkillType.Smithy: b = 1; break; case SkillType.Enchanter: b = 2; break; case SkillType.Architect: b = 3; break; case SkillType.Lich_Unlock: b = 7; break; case SkillType.Banker_Unlock: b = 5; break; case SkillType.Spellsword_Unlock: b = 6; break; case SkillType.Ninja_Unlock: b = 4; break; case SkillType.Knight_Up: b = 8; if (Game.PlayerStats.Class == 0) { Game.PlayerStats.Class = 8; } break; case SkillType.Mage_Up: b = 9; if (Game.PlayerStats.Class == 1) { Game.PlayerStats.Class = 9; } break; case SkillType.Assassin_Up: b = 12; if (Game.PlayerStats.Class == 3) { Game.PlayerStats.Class = 11; } break; case SkillType.Banker_Up: b = 13; if (Game.PlayerStats.Class == 5) { Game.PlayerStats.Class = 13; } break; case SkillType.Barbarian_Up: b = 10; if (Game.PlayerStats.Class == 2) { Game.PlayerStats.Class = 10; } break; case SkillType.Lich_Up: b = 15; if (Game.PlayerStats.Class == 7) { Game.PlayerStats.Class = 15; } break; case SkillType.Ninja_Up: b = 11; if (Game.PlayerStats.Class == 4) { Game.PlayerStats.Class = 12; } break; case SkillType.SpellSword_Up: b = 14; if (Game.PlayerStats.Class == 6) { Game.PlayerStats.Class = 14; } break; case SkillType.SuperSecret: b = 16; break; } if (b != 0 && displayScreen) { var list = new List <object>(); list.Add(b); (ScreenManager as RCScreenManager).DisplayScreen(19, true, list); } }
public void SetVisible(SkillObj trait, bool fadeIn) { int manorPiece = SkillSystem.GetManorPiece(trait); if (fadeIn) { this.SetManorPieceVisible(manorPiece, trait); return; } GameObj childAt = this.m_manor.GetChildAt(manorPiece); childAt.Opacity = 1f; childAt.Visible = true; foreach (SkillObj current in SkillSystem.GetAllConnectingTraits(trait)) { if (!current.Visible) { current.Visible = true; current.Opacity = 1f; } } if (this.m_manor.GetChildAt(7).Visible && this.m_manor.GetChildAt(16).Visible) { (this.m_manor.GetChildAt(7) as SpriteObj).GoToFrame(2); } if (this.m_manor.GetChildAt(6).Visible && this.m_manor.GetChildAt(16).Visible) { (this.m_manor.GetChildAt(6) as SpriteObj).GoToFrame(2); } if (this.m_manor.GetChildAt(2).Visible) { SpriteObj spriteObj = this.m_manor.GetChildAt(32) as SpriteObj; spriteObj.Visible = true; spriteObj.Opacity = 1f; spriteObj.PlayAnimation(true); spriteObj.OverrideParentAnimationDelay = true; spriteObj.AnimationDelay = 0.0333333351f; spriteObj.Visible = true; } }
public static SkillObj BuildSkill(SkillType skillType) { var skillObj = new SkillObj("Icon_SwordLocked_Sprite"); switch (skillType) { case SkillType.Filler: skillObj.Name = "Filler"; skillObj.Description = "This is a filler trait used to link to other traits. This text should never be visible."; break; case SkillType.Health_Up: skillObj.Name = "Health Up"; skillObj.Description = "Improve your cardio workout. A better heart means better health."; skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 50; skillObj.Appreciation = 40; skillObj.MaxLevel = 75; skillObj.IconName = "Icon_Health_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Invuln_Time_Up: skillObj.Name = "Invuln Time Up"; skillObj.Description = "Strengthen your adrenal glands and be invulnerable like Bane. Let the games begin!"; skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 750; skillObj.Appreciation = 1700; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_InvulnTimeUpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " sec"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Death_Dodge: skillObj.Name = "Death Defy"; skillObj.Description = "Release your inner cat, and avoid death. Sometimes."; skillObj.PerLevelModifier = 0.015f; skillObj.BaseCost = 750; skillObj.Appreciation = 1500; skillObj.MaxLevel = 10; skillObj.IconName = "Icon_DeathDefyLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Attack_Up: skillObj.Name = "Attack Up"; skillObj.Description = "A proper gym will allow you to really strengthen your arms and butt muscles."; skillObj.PerLevelModifier = 2f; skillObj.BaseCost = 100; skillObj.Appreciation = 85; skillObj.MaxLevel = 75; skillObj.IconName = "Icon_SwordLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " str"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Down_Strike_Up: skillObj.Name = "Down Strike Up"; skillObj.Description = "A pogo practice room has its benefits. Deal more damage with consecutive down strikes."; skillObj.PerLevelModifier = 0.05f; skillObj.BaseCost = 750; skillObj.Appreciation = 1500; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_Attack_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Crit_Chance_Up: skillObj.Name = "Crit Chance Up"; skillObj.Description = "Teaching yourself about the weaknesses of enemies allows you to strike with deadly efficiency."; skillObj.PerLevelModifier = 0.02f; skillObj.BaseCost = 150; skillObj.Appreciation = 125; skillObj.MaxLevel = 25; skillObj.IconName = "Icon_Crit_Chance_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Crit_Damage_Up: skillObj.Name = "Crit Damage Up"; skillObj.Description = "Practice the deadly strikes to be even deadlier. Enemies will be so dead."; skillObj.PerLevelModifier = 0.05f; skillObj.BaseCost = 150; skillObj.Appreciation = 125; skillObj.MaxLevel = 25; skillObj.IconName = "Icon_Crit_Damage_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Magic_Damage_Up: skillObj.Name = "Magic Damage Up"; skillObj.Description = "Learn the secrets of the universe, so you can use it to kill with spells better."; skillObj.PerLevelModifier = 2f; skillObj.BaseCost = 100; skillObj.Appreciation = 85; skillObj.MaxLevel = 75; skillObj.IconName = "Icon_MagicDmgUpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " int"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Mana_Up: skillObj.Name = "Mana Up"; skillObj.Description = "Increase your mental fortitude in order to increase your mana pool. "; skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 50; skillObj.Appreciation = 40; skillObj.MaxLevel = 75; skillObj.IconName = "Icon_ManaUpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " mp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Mana_Cost_Down: skillObj.Name = "Mana Cost Down"; skillObj.Description = "Practice your basics to reduce mana costs when casting spells."; skillObj.PerLevelModifier = 0.05f; skillObj.BaseCost = 750; skillObj.Appreciation = 1700; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_ManaCostDownLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Smithy: skillObj.Name = "Smithy"; skillObj.Description = "Unlock the smithy and gain access to phat loot."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 50; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SmithyLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "0"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Enchanter: skillObj.Name = "Enchantress"; skillObj.Description = "Unlock the enchantress and gain access to her magical runes and powers."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 50; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_EnchanterLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "0"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Architect: skillObj.Name = "Architect"; skillObj.Description = "Unlock the architect and gain the powers to lock down the castle."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 50; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_ArchitectLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "0"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Equip_Up: skillObj.Name = "Equip Up"; skillObj.Description = "Upgrading your carry capacity will allow you to wear better and heavier armor."; skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 50; skillObj.Appreciation = 40; skillObj.MaxLevel = 50; skillObj.IconName = "Icon_Equip_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " weight"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Armor_Up: skillObj.Name = "Armor Up"; skillObj.Description = "Strengthen your innards through natural means to reduce incoming damage."; skillObj.PerLevelModifier = 4f; skillObj.BaseCost = 125; skillObj.Appreciation = 105; skillObj.MaxLevel = 50; skillObj.IconName = "Icon_ShieldLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " armor"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Gold_Gain_Up: skillObj.Name = "Gold Gain Up"; skillObj.Description = "Improve your looting skills, and get more bang for your buck."; skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 2150; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_Gold_Gain_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Prices_Down: skillObj.Name = "Haggle"; skillObj.Description = "Lower Charon's toll by learning how to barter with death itself."; skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 500; skillObj.Appreciation = 1000; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_HaggleLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Potion_Up: skillObj.Name = "Potion Up"; skillObj.Description = "Gut cleansing leads to noticable improvements from both potions and meat."; skillObj.PerLevelModifier = 0.01f; skillObj.BaseCost = 750; skillObj.Appreciation = 1750; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_PotionUpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "% hp/mp"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Randomize_Children: skillObj.Name = "Randomize Children"; skillObj.Description = "Use the power of science to make a whole new batch of babies. Just... don't ask."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 5000; skillObj.Appreciation = 5000; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_RandomizeChildrenLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 9 + "] to randomize your children"; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Lich_Unlock: skillObj.Name = "Unlock Lich"; skillObj.Description = "Release the power of the Lich! A being of massive potential."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 850; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_LichUnlockLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Banker_Unlock: skillObj.Name = "Unlock Miner"; skillObj.Description = "Unlock the skills of the Miner and raise your family fortune"; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 400; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SpelunkerUnlockLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Spellsword_Unlock: skillObj.Name = "Unlock Spell Thief"; skillObj.Description = "Unlock the Spellthief, and become a martial mage."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 850; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SpellswordUnlockLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Ninja_Unlock: skillObj.Name = "Unlock Shinobi"; skillObj.Description = "Unlock the Shinobi, the fleetest of fighters."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 400; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_NinjaUnlockLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Knight_Up: skillObj.Name = "Upgrade Knight"; skillObj.Description = "Turn your knights into Paladins. A ferocious forefront fighter."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 50; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_KnightUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to block all incoming damage."; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Mage_Up: skillObj.Name = "Upgrade Mage"; skillObj.Description = "Unlock the latent powers of the Mage and transform them into the all powerful Archmage"; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 300; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_WizardUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to switch spells"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Assassin_Up: skillObj.Name = "Upgrade Knave"; skillObj.Description = "Learn the dark arts, and turn the Knave into an Assassin"; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 300; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_AssassinUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to turn to mist"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Banker_Up: skillObj.Name = "Upgrade Miner"; skillObj.Description = "Earn your geology degree and go from Miner to Spelunker. Spiffy."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1750; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SpelunkerUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to turn on your headlamp"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Barbarian_Up: skillObj.Name = "Upgrade Barbarian"; skillObj.Description = "Become a Barbarian King. The king of freemen. That makes no sense."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 300; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_BarbarianUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to cast an epic shout that knocks virtually everything away."; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Lich_Up: skillObj.Name = "Upgrade Lich"; skillObj.Description = "Royalize your all-powerful Liches, and turn them into Lich Kings."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1500; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_LichUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to convert max hp into max mp"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Ninja_Up: skillObj.Name = "Upgrade Shinobi"; skillObj.Description = "Become the leader of your village, and turn your Shinobi into a Hokage. Believe it!"; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 750; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_NinjaUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to flash"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.SpellSword_Up: skillObj.Name = "Upgrade Spell Thief"; skillObj.Description = "Ride the vortexes of magic, and turn your Spellthiefs into Spellswords."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1500; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SpellswordUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to cast empowered spells"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.SuperSecret: skillObj.Name = "Beastiality"; skillObj.Description = "Half man, half ******, all awesome."; skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 5000; skillObj.Appreciation = 30; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_Display_Boss_RoomsLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 10 + "] to awesome."; skillObj.UnitOfMeasurement = "hp"; skillObj.DisplayStat = true; break; case SkillType.Stout_Heart: skillObj.Name = "Stout Heart"; skillObj.Description = "Your have viking ancestry. \n\nIncrease your starting endurance."; skillObj.PerLevelModifier = 20f; skillObj.BaseCost = 1000; skillObj.Appreciation = 500; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Quick_of_Breath: skillObj.Name = "Quick of Breath"; skillObj.Description = "QUICK OF BREATH \nYou're a heavy breather. Bad for stalking, good for walking! \n\nIncrease your natural endurance regeneration."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 500; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Born_to_Run: skillObj.Name = "Born to Run"; skillObj.Description = "You were infused with tiger blood at a young age. You have now been infused with the power to release tiger blood when stabbed. \nRunning drains less endurance."; skillObj.Position = new Vector2(50f, 100f); skillObj.PerLevelModifier = 0.01f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Out_the_Gate: skillObj.Name = "Out the Gate"; skillObj.Description = "You're an early waker. If leveling was like waking up.\n Gain bonus HP and MP every time you level."; skillObj.PerLevelModifier = 35f; skillObj.BaseCost = 2500; skillObj.Appreciation = 5000; skillObj.MaxLevel = 2; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Perfectionist: skillObj.Name = "Perfectionist"; skillObj.Description = "OCD finally comes in handy. \nGain more gold."; skillObj.Position = new Vector2(150f, 50f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Guru: skillObj.Name = "Guru"; skillObj.Description = "You are Zen-like. \n Regain endurance faster while still."; skillObj.Position = new Vector2(50f, 50f); skillObj.PerLevelModifier = 5f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Iron_Lung: skillObj.Name = "Iron Lung"; skillObj.Description = "Generic SKILL. Increase total Endurance."; skillObj.Position = new Vector2(50f, 200f); skillObj.PerLevelModifier = 25f; skillObj.BaseCost = 500; skillObj.Appreciation = 100; skillObj.MaxLevel = 50; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Sword_Master: skillObj.Name = "Sword Master"; skillObj.Description = "You fight with finesse \n Attacks Drain X% less endurance."; skillObj.Position = new Vector2(50f, 150f); skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 2; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Tank: skillObj.Name = "Tank"; skillObj.Description = "Generic SKILL. Increase Health"; skillObj.Position = new Vector2(50f, 200f); skillObj.PerLevelModifier = 25f; skillObj.BaseCost = 500; skillObj.Appreciation = 100; skillObj.MaxLevel = 50; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Vampire: skillObj.Name = "Vampire"; skillObj.Description = "You suck... Blood. \n Restore a small amount of life with every hit."; skillObj.Position = new Vector2(50f, 250f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Second_Chance: skillObj.Name = "Second Chance"; skillObj.Description = "Come back to life, just like Jesus. But you're still not jesus. \n Revive once after dying."; skillObj.Position = new Vector2(50f, 300f); skillObj.PerLevelModifier = 0.25f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Peace_of_Mind: skillObj.Name = "Peace of Mind"; skillObj.Description = "Clearing a room is like clearing your mind. I don't know how. \nRegain helath for every room fully cleared."; skillObj.Position = new Vector2(50f, 250f); skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Cartography_Ninja: skillObj.Name = "Cartography Ninja"; skillObj.Description = "Cartography /n Each percentage of map revealed adds 0.1 damage."; skillObj.Position = new Vector2(100f, 50f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Strong_Man: skillObj.Name = "Strong Man"; skillObj.Description = "Generic SKILL. Increase Attack Damage."; skillObj.Position = new Vector2(100f, 50f); skillObj.PerLevelModifier = 2f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 50; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Suicidalist: skillObj.Name = "Suicidalist"; skillObj.Description = "You're a very, very sore loser. \n Deal massive damage to all enemies on screen upon death."; skillObj.Position = new Vector2(100f, 100f); skillObj.PerLevelModifier = 100f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Crit_Barbarian: skillObj.Name = "Crit Barbarian"; skillObj.Description = "You have learned that hitting the balls deals massive damage. \n Crits deal more damage."; skillObj.Position = new Vector2(100f, 150f); skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Magician: skillObj.Name = "Magician"; skillObj.Description = "GENERIC SKILL."; skillObj.Position = new Vector2(100f, 250f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 50; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Keymaster: skillObj.Name = "Keymaster"; skillObj.Description = "Oh. They were in my back pocket. \nGain 2 extra keys."; skillObj.Position = new Vector2(100f, 300f); skillObj.PerLevelModifier = 2f; skillObj.BaseCost = 2000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.One_Time_Only: skillObj.Name = "One Time Only"; skillObj.Description = "Like a pheonix you are reborn from your crappy ashes. \n Regain all HP and MP."; skillObj.Position = new Vector2(150f, 100f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 100; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Cutting_Out_Early: skillObj.Name = "Cutting Out Early"; skillObj.Description = "Retire, and invest your money wisely. End your game early, and gain a bonus to gold found."; skillObj.Position = new Vector2(150f, 100f); skillObj.PerLevelModifier = 0.25f; skillObj.BaseCost = 100; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Quaffer: skillObj.Name = "Quaffer"; skillObj.Description = "CHUG CHUG CHUG! \n Drink potions instantly."; skillObj.Position = new Vector2(150f, 150f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Spell_Sword: skillObj.Name = "Spellsword"; skillObj.Description = "You were born with absolute power in your fingertips. \nAll spells deal more damage."; skillObj.Position = new Vector2(100f, 200f); skillObj.PerLevelModifier = 5f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Sorcerer: skillObj.Name = "Sorcerer"; skillObj.Description = "You were born with arcane energy coarsing through your veins. Ow. \nSpells cost less to cast."; skillObj.Position = new Vector2(100f, 250f); skillObj.PerLevelModifier = 5f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Well_Endowed: skillObj.Name = "Well Endowed"; skillObj.Description = "By law, you are now the best man. \nGive birth to more children."; skillObj.Position = new Vector2(150f, 100f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 100; skillObj.Appreciation = 100; skillObj.MaxLevel = 2; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Treasure_Hunter: skillObj.Name = "Treasure Hunter"; skillObj.Description = "Your parents said learning how to sift for gold was useless for a farmer. Whose laughing now? \n Display treasure rooms at the start of the game."; skillObj.Position = new Vector2(150f, 250f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 100; skillObj.Appreciation = 100; skillObj.MaxLevel = 2; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Mortar_Master: skillObj.Name = "Mortar Master"; skillObj.Description = "War is hell. Luckily you were never in one. \n Fire more mortars."; skillObj.Position = new Vector2(150f, 300f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 3; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Explosive_Expert: skillObj.Name = "Explosive Expert"; skillObj.Description = "As a child, you showed an affinity for blowing things up. \n Bombs have a larger radius."; skillObj.Position = new Vector2(200f, 50f); skillObj.PerLevelModifier = 5f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 3; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Icicle: skillObj.Name = "Icicle "; skillObj.Description = "You're great grandfather was a snowman. He taught you nothing. \n Icicles pierce through more enemies."; skillObj.Position = new Vector2(200f, 100f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 3; skillObj.IconName = "IconBootLocked_Sprite"; break; } skillObj.TraitType = skillType; return(skillObj); }
public void CheckForSkillUnlock(SkillObj skill, bool displayScreen) { byte b = 0; switch (skill.TraitType) { case SkillType.Smithy: b = 1; break; case SkillType.Enchanter: b = 2; break; case SkillType.Architect: b = 3; break; case SkillType.Lich_Unlock: b = 7; break; case SkillType.Banker_Unlock: b = 5; break; case SkillType.Spellsword_Unlock: b = 6; break; case SkillType.Ninja_Unlock: b = 4; break; case SkillType.Knight_Up: b = 8; if (Game.PlayerStats.Class == 0) { Game.PlayerStats.Class = 8; } break; case SkillType.Mage_Up: b = 9; if (Game.PlayerStats.Class == 1) { Game.PlayerStats.Class = 9; } break; case SkillType.Assassin_Up: b = 12; if (Game.PlayerStats.Class == 3) { Game.PlayerStats.Class = 11; } break; case SkillType.Banker_Up: b = 13; if (Game.PlayerStats.Class == 5) { Game.PlayerStats.Class = 13; } break; case SkillType.Barbarian_Up: b = 10; if (Game.PlayerStats.Class == 2) { Game.PlayerStats.Class = 10; } break; case SkillType.Lich_Up: b = 15; if (Game.PlayerStats.Class == 7) { Game.PlayerStats.Class = 15; } break; case SkillType.Ninja_Up: b = 11; if (Game.PlayerStats.Class == 4) { Game.PlayerStats.Class = 12; } break; case SkillType.SpellSword_Up: b = 14; if (Game.PlayerStats.Class == 6) { Game.PlayerStats.Class = 14; } break; case SkillType.SuperSecret: b = 16; break; } if (b != 0 && displayScreen) { List<object> list = new List<object>(); list.Add(b); (base.ScreenManager as RCScreenManager).DisplayScreen(19, true, list); } }
public void SetSkillIconVisible(SkillObj skill) { float num = 0f; foreach (SkillObj current in SkillSystem.GetAllConnectingTraits(skill)) { if (!current.Visible) { current.Visible = true; current.Opacity = 0f; Tween.To(current, 0.2f, new Easing(Linear.EaseNone), new string[] { "Opacity", "1" }); num += 0.2f; } } Tween.RunFunction(num, this, "UnlockControls", new object[0]); Tween.RunFunction(num, this, "CheckForSkillUnlock", new object[] { skill, true }); }
public void SetManorPieceVisible(int manorIndex, SkillObj skillObj) { GameObj childAt = this.m_manor.GetChildAt(manorIndex); float num = 0f; if (!childAt.Visible) { this.m_lockControls = true; childAt.Visible = true; Vector2 pos = new Vector2(childAt.AbsPosition.X, (float)childAt.AbsBounds.Bottom); switch (manorIndex) { case 0: case 11: case 17: case 22: case 24: case 27: case 28: num = 0.5f; childAt.Opacity = 0f; Tween.To(childAt, num, new Easing(Tween.EaseNone), new string[] { "Opacity", "1" }); goto IL_A26; case 1: case 5: childAt.Opacity = 1f; num = 1f; childAt.X -= (float)(childAt.Width * 2); SoundManager.PlaySound(new string[] { "skill_tree_reveal_short_01", "skill_tree_reveal_short_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "X", (childAt.Width * 2).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, false, (float)(childAt.Height * 2), num); goto IL_A26; case 2: { childAt.Opacity = 1f; num = 1.5f; childAt.Y += (float)(childAt.Height * 2); SoundManager.PlaySound(new string[] { "skill_tree_reveal_short_01", "skill_tree_reveal_short_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "Y", (-(childAt.Height * 2)).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2), num); SpriteObj spriteObj = this.m_manor.GetChildAt(32) as SpriteObj; spriteObj.PlayAnimation(true); spriteObj.OverrideParentAnimationDelay = true; spriteObj.AnimationDelay = 0.0333333351f; spriteObj.Visible = true; spriteObj.Opacity = 0f; Tween.To(spriteObj, 0.5f, new Easing(Tween.EaseNone), new string[] { "delay", num.ToString(), "Opacity", "1" }); goto IL_A26; } case 3: case 6: case 9: case 13: case 15: case 20: case 25: childAt.Opacity = 1f; num = 1f; childAt.Y += (float)(childAt.Height * 2); SoundManager.PlaySound(new string[] { "skill_tree_reveal_short_01", "skill_tree_reveal_short_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "Y", (-(childAt.Height * 2)).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2), num); goto IL_A26; case 4: pos.Y -= 50f; childAt.Opacity = 1f; num = 3f; childAt.Y += (float)(childAt.Height * 2); SoundManager.PlaySound(new string[] { "skill_tree_reveal_01", "skill_tree_reveal_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "Y", (-(childAt.Height * 2)).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.25f, num); goto IL_A26; case 7: pos.X = (float)childAt.AbsBounds.Right - (float)(childAt.Width * 2) * 0.25f; childAt.Opacity = 1f; num = 3f; childAt.Y += (float)(childAt.Height * 2); SoundManager.PlaySound(new string[] { "skill_tree_reveal_01", "skill_tree_reveal_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "Y", (-(childAt.Height * 2)).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.25f, num); goto IL_A26; case 8: pos.X = (float)childAt.AbsBounds.Right - (float)(childAt.Width * 2) * 0.25f; childAt.Opacity = 1f; num = 3f; childAt.Y += (float)(childAt.Height * 2); SoundManager.PlaySound(new string[] { "skill_tree_reveal_01", "skill_tree_reveal_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "Y", (-(childAt.Height * 2)).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.25f, num); goto IL_A26; case 10: case 21: childAt.Opacity = 1f; num = 3f; childAt.Y += (float)(childAt.Height * 2); SoundManager.PlaySound(new string[] { "skill_tree_reveal_01", "skill_tree_reveal_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "Y", (-(childAt.Height * 2)).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2), num); goto IL_A26; case 12: case 14: childAt.Opacity = 1f; num = 1f; childAt.X += (float)(childAt.Width * 2); pos.X = childAt.AbsPosition.X - 60f; SoundManager.PlaySound(new string[] { "skill_tree_reveal_short_01", "skill_tree_reveal_short_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "X", (-(childAt.Width * 2)).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, false, (float)(childAt.Height * 2), num); goto IL_A26; case 16: childAt.Opacity = 1f; num = 3f; childAt.Y += (float)(childAt.Height * 2); SoundManager.PlaySound(new string[] { "skill_tree_reveal_01", "skill_tree_reveal_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "Y", (-(childAt.Height * 2)).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.5f, num); goto IL_A26; case 18: case 19: childAt.Opacity = 1f; num = 3f; childAt.Y += (float)(childAt.Height * 2); SoundManager.PlaySound(new string[] { "skill_tree_reveal_01", "skill_tree_reveal_02" }); Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[] { "Y", (-(childAt.Height * 2)).ToString() }); this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.2f, num); goto IL_A26; case 23: goto IL_A26; case 29: case 30: case 31: Tween.RunFunction(0.25f, typeof(SoundManager), "PlaySound", new object[] { "skill_tree_reveal_bounce" }); childAt.Opacity = 1f; childAt.Scale = Vector2.Zero; num = 1f; Tween.To(childAt, num, new Easing(Bounce.EaseOut), new string[] { "ScaleX", "1", "ScaleY", "1" }); goto IL_A26; } num = 0.7f; Vector2 vector = new Vector2(childAt.AbsPosition.X, (float)childAt.AbsBounds.Bottom); childAt.Opacity = 1f; childAt.Y -= 720f; Tween.By(childAt, num, new Easing(Quad.EaseIn), new string[] { "Y", "720" }); Tween.AddEndHandlerToLastTween(this.m_impactEffectPool, "SkillTreeDustEffect", new object[] { vector, true, childAt.Width * 2 }); Tween.RunFunction(num, this, "ShakeScreen", new object[] { 5, true, true }); Tween.RunFunction(num + 0.2f, this, "StopScreenShake", new object[0]); } IL_A26: Tween.RunFunction(num, this, "SetSkillIconVisible", new object[] { skillObj }); if (this.m_manor.GetChildAt(7).Visible && this.m_manor.GetChildAt(16).Visible) { (this.m_manor.GetChildAt(7) as SpriteObj).GoToFrame(2); } if (this.m_manor.GetChildAt(6).Visible && this.m_manor.GetChildAt(16).Visible) { (this.m_manor.GetChildAt(6) as SpriteObj).GoToFrame(2); } }
public void UpdateDescriptionPlate(SkillObj trait) { string text = trait.IconName; text = text.Replace("Locked", ""); text = text.Replace("Max", ""); this.m_skillIcon.ChangeSprite(text); this.m_skillTitle.Text = trait.Name; this.m_skillDescription.Text = trait.Description; this.m_skillDescription.WordWrap(280); this.m_inputDescription.Text = trait.InputDescription; this.m_inputDescription.WordWrap(280); this.m_inputDescription.Y = (float)(this.m_skillDescription.Bounds.Bottom + 10); float num = TraitStatType.GetTraitStat(trait.TraitType); if (num > -1f) { if (num < 1f) { num *= 100f; num = (float)((int)Math.Round((double)num, MidpointRounding.AwayFromZero)); } if (num == 0f) { num = trait.ModifierAmount; if (trait.TraitType == SkillType.Crit_Chance_Up) { num *= 100f; num = (float)((int)Math.Round((double)num, MidpointRounding.AwayFromZero)); } } this.m_skillCurrent.Text = "Current: " + num + trait.UnitOfMeasurement; if (trait.CurrentLevel < trait.MaxLevel) { float num2 = trait.PerLevelModifier; if (num2 < 1f && trait.TraitType != SkillType.Invuln_Time_Up) { num2 *= 100f; if (trait.TraitType != SkillType.Death_Dodge) { num2 = (float)((int)Math.Round((double)num2, MidpointRounding.AwayFromZero)); } } this.m_skillUpgrade.Text = "Upgrade: +" + num2 + trait.UnitOfMeasurement; } else { this.m_skillUpgrade.Text = "Upgrade: --"; } this.m_skillLevel.Text = string.Concat(new object[] { "Level: ", trait.CurrentLevel, "/", trait.MaxLevel }); string arg = "unlock"; if (trait.CurrentLevel > 0) { arg = "upgrade"; } this.m_skillCost.Text = trait.TotalCost + " gold to " + arg; if (this.m_inputDescription.Text != " " && this.m_inputDescription.Text != "") { this.m_skillCurrent.Y = (float)(this.m_inputDescription.Bounds.Bottom + 40); } else { this.m_skillCurrent.Y = (float)(this.m_skillDescription.Bounds.Bottom + 40); } this.m_skillUpgrade.Y = this.m_skillCurrent.Y + 30f; this.m_skillLevel.Y = this.m_skillUpgrade.Y + 30f; this.m_descriptionDivider.Visible = true; } else { this.m_skillCurrent.Text = ""; this.m_skillUpgrade.Text = ""; this.m_skillLevel.Text = ""; this.m_descriptionDivider.Visible = false; string arg2 = "unlock"; if (trait.CurrentLevel > 0) { arg2 = "upgrade"; } this.m_skillCost.Text = trait.TotalCost + " gold to " + arg2; } this.m_descriptionDivider.Position = new Vector2(this.m_skillCurrent.AbsX, this.m_skillCurrent.AbsY - 20f); if (trait.CurrentLevel >= trait.MaxLevel) { this.m_skillCost.Visible = false; this.m_skillCostBG.Visible = false; } else { this.m_skillCost.Visible = true; this.m_skillCostBG.Visible = true; } this.m_playerMoney.Text = Game.PlayerStats.Gold.ToString(); }
public static int GetManorPiece(SkillObj trait) { var traitTypeIndex = GetTraitTypeIndex(trait); return(m_manorPieceArray[(int)traitTypeIndex.Y, (int)traitTypeIndex.X]); }
public static Vector2 GetSkillPosition(SkillObj skill) { var traitTypeIndex = GetTraitTypeIndex(skill); return(m_skillPositionArray[(int)traitTypeIndex.Y, (int)traitTypeIndex.X]); }
public static SkillObj BuildSkill(SkillType skillType) { SkillObj skillObj = new SkillObj("Icon_SwordLocked_Sprite"); switch (skillType) { case SkillType.Filler: skillObj.Name = "Filler"; skillObj.Description = "This is a filler trait used to link to other traits. This text should never be visible."; break; case SkillType.Health_Up: skillObj.Name = "Health Up"; skillObj.Description = "Improve your cardio workout. A better heart means better health."; skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 50; skillObj.Appreciation = 40; skillObj.MaxLevel = 75; skillObj.IconName = "Icon_Health_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Invuln_Time_Up: skillObj.Name = "Invuln Time Up"; skillObj.Description = "Strengthen your adrenal glands and be invulnerable like Bane. Let the games begin!"; skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 750; skillObj.Appreciation = 1700; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_InvulnTimeUpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " sec"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Death_Dodge: skillObj.Name = "Death Defy"; skillObj.Description = "Release your inner cat, and avoid death. Sometimes."; skillObj.PerLevelModifier = 0.015f; skillObj.BaseCost = 750; skillObj.Appreciation = 1500; skillObj.MaxLevel = 10; skillObj.IconName = "Icon_DeathDefyLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Attack_Up: skillObj.Name = "Attack Up"; skillObj.Description = "A proper gym will allow you to really strengthen your arms and butt muscles."; skillObj.PerLevelModifier = 2f; skillObj.BaseCost = 100; skillObj.Appreciation = 85; skillObj.MaxLevel = 75; skillObj.IconName = "Icon_SwordLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " str"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Down_Strike_Up: skillObj.Name = "Down Strike Up"; skillObj.Description = "A pogo practice room has its benefits. Deal more damage with consecutive down strikes."; skillObj.PerLevelModifier = 0.05f; skillObj.BaseCost = 750; skillObj.Appreciation = 1500; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_Attack_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Crit_Chance_Up: skillObj.Name = "Crit Chance Up"; skillObj.Description = "Teaching yourself about the weaknesses of enemies allows you to strike with deadly efficiency."; skillObj.PerLevelModifier = 0.02f; skillObj.BaseCost = 150; skillObj.Appreciation = 125; skillObj.MaxLevel = 25; skillObj.IconName = "Icon_Crit_Chance_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Crit_Damage_Up: skillObj.Name = "Crit Damage Up"; skillObj.Description = "Practice the deadly strikes to be even deadlier. Enemies will be so dead."; skillObj.PerLevelModifier = 0.05f; skillObj.BaseCost = 150; skillObj.Appreciation = 125; skillObj.MaxLevel = 25; skillObj.IconName = "Icon_Crit_Damage_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Magic_Damage_Up: skillObj.Name = "Magic Damage Up"; skillObj.Description = "Learn the secrets of the universe, so you can use it to kill with spells better."; skillObj.PerLevelModifier = 2f; skillObj.BaseCost = 100; skillObj.Appreciation = 85; skillObj.MaxLevel = 75; skillObj.IconName = "Icon_MagicDmgUpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " int"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Mana_Up: skillObj.Name = "Mana Up"; skillObj.Description = "Increase your mental fortitude in order to increase your mana pool. "; skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 50; skillObj.Appreciation = 40; skillObj.MaxLevel = 75; skillObj.IconName = "Icon_ManaUpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " mp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Mana_Cost_Down: skillObj.Name = "Mana Cost Down"; skillObj.Description = "Practice your basics to reduce mana costs when casting spells."; skillObj.PerLevelModifier = 0.05f; skillObj.BaseCost = 750; skillObj.Appreciation = 1700; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_ManaCostDownLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Smithy: skillObj.Name = "Smithy"; skillObj.Description = "Unlock the smithy and gain access to phat loot."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 50; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SmithyLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "0"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Enchanter: skillObj.Name = "Enchantress"; skillObj.Description = "Unlock the enchantress and gain access to her magical runes and powers."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 50; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_EnchanterLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "0"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Architect: skillObj.Name = "Architect"; skillObj.Description = "Unlock the architect and gain the powers to lock down the castle."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 50; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_ArchitectLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "0"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Equip_Up: skillObj.Name = "Equip Up"; skillObj.Description = "Upgrading your carry capacity will allow you to wear better and heavier armor."; skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 50; skillObj.Appreciation = 40; skillObj.MaxLevel = 50; skillObj.IconName = "Icon_Equip_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " weight"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Armor_Up: skillObj.Name = "Armor Up"; skillObj.Description = "Strengthen your innards through natural means to reduce incoming damage."; skillObj.PerLevelModifier = 4f; skillObj.BaseCost = 125; skillObj.Appreciation = 105; skillObj.MaxLevel = 50; skillObj.IconName = "Icon_ShieldLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " armor"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Gold_Gain_Up: skillObj.Name = "Gold Gain Up"; skillObj.Description = "Improve your looting skills, and get more bang for your buck."; skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 2150; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_Gold_Gain_UpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Prices_Down: skillObj.Name = "Haggle"; skillObj.Description = "Lower Charon's toll by learning how to barter with death itself."; skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 500; skillObj.Appreciation = 1000; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_HaggleLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Potion_Up: skillObj.Name = "Potion Up"; skillObj.Description = "Gut cleansing leads to noticable improvements from both potions and meat."; skillObj.PerLevelModifier = 0.01f; skillObj.BaseCost = 750; skillObj.Appreciation = 1750; skillObj.MaxLevel = 5; skillObj.IconName = "Icon_PotionUpLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = "% hp/mp"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Randomize_Children: skillObj.Name = "Randomize Children"; skillObj.Description = "Use the power of science to make a whole new batch of babies. Just... don't ask."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 5000; skillObj.Appreciation = 5000; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_RandomizeChildrenLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 9 + "] to randomize your children"; skillObj.UnitOfMeasurement = "%"; skillObj.DisplayStat = false; skillObj.StatType = 0; break; case SkillType.Lich_Unlock: skillObj.Name = "Unlock Lich"; skillObj.Description = "Release the power of the Lich! A being of massive potential."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 850; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_LichUnlockLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Banker_Unlock: skillObj.Name = "Unlock Miner"; skillObj.Description = "Unlock the skills of the Miner and raise your family fortune"; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 400; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SpelunkerUnlockLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Spellsword_Unlock: skillObj.Name = "Unlock Spell Thief"; skillObj.Description = "Unlock the Spellthief, and become a martial mage."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 850; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SpellswordUnlockLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Ninja_Unlock: skillObj.Name = "Unlock Shinobi"; skillObj.Description = "Unlock the Shinobi, the fleetest of fighters."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 400; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_NinjaUnlockLocked_Sprite"; skillObj.InputDescription = " "; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Knight_Up: skillObj.Name = "Upgrade Knight"; skillObj.Description = "Turn your knights into Paladins. A ferocious forefront fighter."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 50; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_KnightUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to block all incoming damage."; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Mage_Up: skillObj.Name = "Upgrade Mage"; skillObj.Description = "Unlock the latent powers of the Mage and transform them into the all powerful Archmage"; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 300; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_WizardUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to switch spells"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Assassin_Up: skillObj.Name = "Upgrade Knave"; skillObj.Description = "Learn the dark arts, and turn the Knave into an Assassin"; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 300; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_AssassinUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to turn to mist"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Banker_Up: skillObj.Name = "Upgrade Miner"; skillObj.Description = "Earn your geology degree and go from Miner to Spelunker. Spiffy."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1750; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SpelunkerUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to turn on your headlamp"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Barbarian_Up: skillObj.Name = "Upgrade Barbarian"; skillObj.Description = "Become a Barbarian King. The king of freemen. That makes no sense."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 300; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_BarbarianUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to cast an epic shout that knocks virtually everything away."; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Lich_Up: skillObj.Name = "Upgrade Lich"; skillObj.Description = "Royalize your all-powerful Liches, and turn them into Lich Kings."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1500; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_LichUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to convert max hp into max mp"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.Ninja_Up: skillObj.Name = "Upgrade Shinobi"; skillObj.Description = "Become the leader of your village, and turn your Shinobi into a Hokage. Believe it!"; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 750; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_NinjaUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to flash"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.SpellSword_Up: skillObj.Name = "Upgrade Spell Thief"; skillObj.Description = "Ride the vortexes of magic, and turn your Spellthiefs into Spellswords."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1500; skillObj.Appreciation = 0; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_SpellswordUpLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 13 + "] to cast empowered spells"; skillObj.UnitOfMeasurement = " hp"; skillObj.DisplayStat = true; skillObj.StatType = 0; break; case SkillType.SuperSecret: skillObj.Name = "Beastiality"; skillObj.Description = "Half man, half ******, all awesome."; skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 5000; skillObj.Appreciation = 30; skillObj.MaxLevel = 1; skillObj.IconName = "Icon_Display_Boss_RoomsLocked_Sprite"; skillObj.InputDescription = "Press [Input:" + 10 + "] to awesome."; skillObj.UnitOfMeasurement = "hp"; skillObj.DisplayStat = true; break; case SkillType.Stout_Heart: skillObj.Name = "Stout Heart"; skillObj.Description = "Your have viking ancestry. \n\nIncrease your starting endurance."; skillObj.PerLevelModifier = 20f; skillObj.BaseCost = 1000; skillObj.Appreciation = 500; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Quick_of_Breath: skillObj.Name = "Quick of Breath"; skillObj.Description = "QUICK OF BREATH \nYou're a heavy breather. Bad for stalking, good for walking! \n\nIncrease your natural endurance regeneration."; skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 500; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Born_to_Run: skillObj.Name = "Born to Run"; skillObj.Description = "You were infused with tiger blood at a young age. You have now been infused with the power to release tiger blood when stabbed. \nRunning drains less endurance."; skillObj.Position = new Vector2(50f, 100f); skillObj.PerLevelModifier = 0.01f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Out_the_Gate: skillObj.Name = "Out the Gate"; skillObj.Description = "You're an early waker. If leveling was like waking up.\n Gain bonus HP and MP every time you level."; skillObj.PerLevelModifier = 35f; skillObj.BaseCost = 2500; skillObj.Appreciation = 5000; skillObj.MaxLevel = 2; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Perfectionist: skillObj.Name = "Perfectionist"; skillObj.Description = "OCD finally comes in handy. \nGain more gold."; skillObj.Position = new Vector2(150f, 50f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Guru: skillObj.Name = "Guru"; skillObj.Description = "You are Zen-like. \n Regain endurance faster while still."; skillObj.Position = new Vector2(50f, 50f); skillObj.PerLevelModifier = 5f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Iron_Lung: skillObj.Name = "Iron Lung"; skillObj.Description = "Generic SKILL. Increase total Endurance."; skillObj.Position = new Vector2(50f, 200f); skillObj.PerLevelModifier = 25f; skillObj.BaseCost = 500; skillObj.Appreciation = 100; skillObj.MaxLevel = 50; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Sword_Master: skillObj.Name = "Sword Master"; skillObj.Description = "You fight with finesse \n Attacks Drain X% less endurance."; skillObj.Position = new Vector2(50f, 150f); skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 2; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Tank: skillObj.Name = "Tank"; skillObj.Description = "Generic SKILL. Increase Health"; skillObj.Position = new Vector2(50f, 200f); skillObj.PerLevelModifier = 25f; skillObj.BaseCost = 500; skillObj.Appreciation = 100; skillObj.MaxLevel = 50; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Vampire: skillObj.Name = "Vampire"; skillObj.Description = "You suck... Blood. \n Restore a small amount of life with every hit."; skillObj.Position = new Vector2(50f, 250f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Second_Chance: skillObj.Name = "Second Chance"; skillObj.Description = "Come back to life, just like Jesus. But you're still not jesus. \n Revive once after dying."; skillObj.Position = new Vector2(50f, 300f); skillObj.PerLevelModifier = 0.25f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Peace_of_Mind: skillObj.Name = "Peace of Mind"; skillObj.Description = "Clearing a room is like clearing your mind. I don't know how. \nRegain helath for every room fully cleared."; skillObj.Position = new Vector2(50f, 250f); skillObj.PerLevelModifier = 10f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Cartography_Ninja: skillObj.Name = "Cartography Ninja"; skillObj.Description = "Cartography /n Each percentage of map revealed adds 0.1 damage."; skillObj.Position = new Vector2(100f, 50f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Strong_Man: skillObj.Name = "Strong Man"; skillObj.Description = "Generic SKILL. Increase Attack Damage."; skillObj.Position = new Vector2(100f, 50f); skillObj.PerLevelModifier = 2f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 50; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Suicidalist: skillObj.Name = "Suicidalist"; skillObj.Description = "You're a very, very sore loser. \n Deal massive damage to all enemies on screen upon death."; skillObj.Position = new Vector2(100f, 100f); skillObj.PerLevelModifier = 100f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Crit_Barbarian: skillObj.Name = "Crit Barbarian"; skillObj.Description = "You have learned that hitting the balls deals massive damage. \n Crits deal more damage."; skillObj.Position = new Vector2(100f, 150f); skillObj.PerLevelModifier = 0.1f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Magician: skillObj.Name = "Magician"; skillObj.Description = "GENERIC SKILL."; skillObj.Position = new Vector2(100f, 250f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 50; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Keymaster: skillObj.Name = "Keymaster"; skillObj.Description = "Oh. They were in my back pocket. \nGain 2 extra keys."; skillObj.Position = new Vector2(100f, 300f); skillObj.PerLevelModifier = 2f; skillObj.BaseCost = 2000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.One_Time_Only: skillObj.Name = "One Time Only"; skillObj.Description = "Like a pheonix you are reborn from your crappy ashes. \n Regain all HP and MP."; skillObj.Position = new Vector2(150f, 100f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 100; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Cutting_Out_Early: skillObj.Name = "Cutting Out Early"; skillObj.Description = "Retire, and invest your money wisely. End your game early, and gain a bonus to gold found."; skillObj.Position = new Vector2(150f, 100f); skillObj.PerLevelModifier = 0.25f; skillObj.BaseCost = 100; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Quaffer: skillObj.Name = "Quaffer"; skillObj.Description = "CHUG CHUG CHUG! \n Drink potions instantly."; skillObj.Position = new Vector2(150f, 150f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 1; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Spell_Sword: skillObj.Name = "Spellsword"; skillObj.Description = "You were born with absolute power in your fingertips. \nAll spells deal more damage."; skillObj.Position = new Vector2(100f, 200f); skillObj.PerLevelModifier = 5f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Sorcerer: skillObj.Name = "Sorcerer"; skillObj.Description = "You were born with arcane energy coarsing through your veins. Ow. \nSpells cost less to cast."; skillObj.Position = new Vector2(100f, 250f); skillObj.PerLevelModifier = 5f; skillObj.BaseCost = 700; skillObj.Appreciation = 100; skillObj.MaxLevel = 5; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Well_Endowed: skillObj.Name = "Well Endowed"; skillObj.Description = "By law, you are now the best man. \nGive birth to more children."; skillObj.Position = new Vector2(150f, 100f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 100; skillObj.Appreciation = 100; skillObj.MaxLevel = 2; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Treasure_Hunter: skillObj.Name = "Treasure Hunter"; skillObj.Description = "Your parents said learning how to sift for gold was useless for a farmer. Whose laughing now? \n Display treasure rooms at the start of the game."; skillObj.Position = new Vector2(150f, 250f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 100; skillObj.Appreciation = 100; skillObj.MaxLevel = 2; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Mortar_Master: skillObj.Name = "Mortar Master"; skillObj.Description = "War is hell. Luckily you were never in one. \n Fire more mortars."; skillObj.Position = new Vector2(150f, 300f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 3; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Explosive_Expert: skillObj.Name = "Explosive Expert"; skillObj.Description = "As a child, you showed an affinity for blowing things up. \n Bombs have a larger radius."; skillObj.Position = new Vector2(200f, 50f); skillObj.PerLevelModifier = 5f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 3; skillObj.IconName = "IconBootLocked_Sprite"; break; case SkillType.Icicle: skillObj.Name = "Icicle "; skillObj.Description = "You're great grandfather was a snowman. He taught you nothing. \n Icicles pierce through more enemies."; skillObj.Position = new Vector2(200f, 100f); skillObj.PerLevelModifier = 1f; skillObj.BaseCost = 1000; skillObj.Appreciation = 100; skillObj.MaxLevel = 3; skillObj.IconName = "IconBootLocked_Sprite"; break; } skillObj.TraitType = skillType; return skillObj; }