Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using VoidwalkerEngine.Framework.DataTypes;
- namespace VoidwalkerEngine.Framework.Logic
- {
- public enum RuneType
- {
- /// <summary>
- /// Rule
- /// </summary>
- Ayr,
- /// <summary>
- /// Haste
- /// </summary>
- Bex,
- /// <summary>
- /// Oath
- /// </summary>
- Cyth,
- /// <summary>
- /// Darkness
- /// </summary>
- Dakk,
- /// <summary>
- /// Might
- /// </summary>
- Eth,
- /// <summary>
- /// Force
- /// </summary>
- Fus,
- /// <summary>
- /// Guile
- /// </summary>
- Gex,
- /// <summary>
- /// Heroic
- /// </summary>
- Hoth,
- /// <summary>
- /// Grief
- /// </summary>
- Ith,
- /// <summary>
- /// Fury
- /// </summary>
- Jakk,
- /// <summary>
- /// Honor
- /// </summary>
- Kol,
- /// <summary>
- /// Chaos
- /// </summary>
- Loken,
- /// <summary>
- /// Fear
- /// </summary>
- Mith,
- /// <summary>
- /// Death
- /// </summary>
- Nox,
- /// <summary>
- /// Light
- /// </summary>
- Orth,
- /// <summary>
- /// Guidance
- /// </summary>
- Poth,
- /// <summary>
- /// Destruction
- /// </summary>
- Quarm,
- /// <summary>
- /// Sun
- /// </summary>
- Ro,
- /// <summary>
- /// Silence
- /// </summary>
- Syn,
- /// <summary>
- /// Hope
- /// </summary>
- Tal,
- /// <summary>
- /// Anguish
- /// </summary>
- Ur,
- /// <summary>
- /// Winter
- /// </summary>
- Vox,
- /// <summary>
- /// Sky
- /// </summary>
- Wynn,
- /// <summary>
- /// Fortune
- /// </summary>
- Xeth,
- /// <summary>
- /// Nature
- /// </summary>
- Yev,
- /// <summary>
- /// Eternal
- /// </summary>
- Zok
- }
- public static class RuneCategoryExtensions
- {
- public static string GetRuneHeader(this RuneType runeType)
- {
- switch (runeType)
- {
- case RuneType.Ayr:
- return "Ayr";
- case RuneType.Bex:
- return "Bex";
- case RuneType.Cyth:
- return "Cyth";
- case RuneType.Dakk:
- return "Dakk";
- case RuneType.Eth:
- return "Eth";
- case RuneType.Fus:
- return "Fus";
- case RuneType.Gex:
- return "Gex";
- case RuneType.Hoth:
- return "Hoth";
- case RuneType.Ith:
- return "Ith";
- case RuneType.Jakk:
- return "Jakk";
- case RuneType.Kol:
- return "Kol";
- case RuneType.Loken:
- return "Lok";
- case RuneType.Mith:
- return "Mith";
- case RuneType.Nox:
- return "Nox";
- case RuneType.Orth:
- return "Orth";
- case RuneType.Poth:
- return "Poth";
- case RuneType.Quarm:
- return "Quarm";
- case RuneType.Ro:
- return "Ro";
- case RuneType.Syn:
- return "Syn";
- case RuneType.Tal:
- return "Tal";
- case RuneType.Ur:
- return "Ur";
- case RuneType.Vox:
- return "Vox";
- case RuneType.Wynn:
- return "Wynn";
- case RuneType.Xeth:
- return "Xeth";
- case RuneType.Yev:
- return "Yev";
- case RuneType.Zok:
- return "Zok";
- default:
- throw new Exception("No matching Name for RuneType: " + (int)runeType);
- }
- }
- public static string GetFlavorText(this RuneType runeType)
- {
- switch (runeType)
- {
- case RuneType.Ayr:
- return "Rule";
- case RuneType.Bex:
- return "Haste";
- case RuneType.Cyth:
- return "Oath";
- case RuneType.Dakk:
- return "Darkness";
- case RuneType.Eth:
- return "Might";
- case RuneType.Fus:
- return "Force";
- case RuneType.Gex:
- return "Guile";
- case RuneType.Hoth:
- return "Heroic";
- case RuneType.Ith:
- return "Grief";
- case RuneType.Jakk:
- return "Fury";
- case RuneType.Kol:
- return "Honor";
- case RuneType.Loken:
- return "Chaos";
- case RuneType.Mith:
- return "Fear";
- case RuneType.Nox:
- return "Death";
- case RuneType.Orth:
- return "Light";
- case RuneType.Poth:
- return "Guidance";
- case RuneType.Quarm:
- return "Destruction";
- case RuneType.Ro:
- return "Sun";
- case RuneType.Syn:
- return "Silence";
- case RuneType.Tal:
- return "Hope";
- case RuneType.Ur:
- return "Anguish";
- case RuneType.Vox:
- return "Winter";
- case RuneType.Wynn:
- return "Sky";
- case RuneType.Xeth:
- return "Fortune";
- case RuneType.Yev:
- return "Nature";
- case RuneType.Zok:
- return "Eternal";
- default:
- throw new Exception("No matching Flavor Text for RuneType: " + (int)runeType);
- }
- }
- public static int GetItemLevel(this RuneType runeType)
- {
- /**
- * Edit this later, but for now, all Runes will be level 5
- */
- return 5;
- }
- public static GamePrice GetBaseSellPrice(this RuneType runeType)
- {
- /**
- * Edit this later, but for now, all Runes will be worth 25 silver.
- */
- return new GamePrice(0, 25, 0);
- }
- public static void GetModifiers(this RuneType runeType, out
- ItemModifier weaponModifier, out ItemModifier armorModifier, out ItemModifier shieldModifier)
- {
- switch (runeType)
- {
- case RuneType.Ayr:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Bex:
- weaponModifier = new ItemModifier(ItemModifierTrait.SonicDamage, 10);
- armorModifier = new ItemModifier(ItemModifierTrait.Mobility, 1);
- shieldModifier = new ItemModifier(ItemModifierTrait.EnhancedBlockChance, 4);
- break;
- case RuneType.Cyth:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Dakk:
- weaponModifier = new ItemModifier(ItemModifierTrait.ShadowDamage, 10);
- armorModifier = new ItemModifier(ItemModifierTrait.HolyResistance, 5);
- shieldModifier = new ItemModifier(ItemModifierTrait.HolyResistance, 5);
- break;
- case RuneType.Eth:
- weaponModifier = new ItemModifier(ItemModifierTrait.EnhancedWeaponDamage, 10);
- armorModifier = new ItemModifier(ItemModifierTrait.EnhancedDurability, 25);
- shieldModifier = new ItemModifier(ItemModifierTrait.EnhancedDurability, 25);
- break;
- case RuneType.Fus:
- weaponModifier = new ItemModifier(ItemModifierTrait.ManaOnKill, 2);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Gex:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Hoth:
- weaponModifier = new ItemModifier(ItemModifierTrait.HealthOnKill, 2);
- armorModifier = new ItemModifier(ItemModifierTrait.EnhancedArmorRating, 5);
- shieldModifier = new ItemModifier(ItemModifierTrait.EnhancedArmorRating, 5);
- break;
- case RuneType.Ith:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Jakk:
- weaponModifier = new ItemModifier(ItemModifierTrait.EnergyOnKill, 2);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Kol:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Loken:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Mith:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Nox:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Orth:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0);
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0);
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0);
- break;
- case RuneType.Poth:
- weaponModifier = new ItemModifier(ItemModifierTrait.DamageVsDemons, 10);
- armorModifier = new ItemModifier(ItemModifierTrait.ManaRegeneration, 1);
- shieldModifier = new ItemModifier(ItemModifierTrait.ManaRegeneration, 1);
- break;
- case RuneType.Quarm:
- weaponModifier = new ItemModifier(ItemModifierTrait.KnockbackOnStrike, 10);
- armorModifier = new ItemModifier(ItemModifierTrait.KnockbackWhenStruck, 10);
- shieldModifier = new ItemModifier(ItemModifierTrait.KnockbackWhenStruck, 10);
- break;
- case RuneType.Ro:
- weaponModifier = new ItemModifier(ItemModifierTrait.DamageVsUndead, 25);
- armorModifier = new ItemModifier(ItemModifierTrait.FrostResistance, 10);
- shieldModifier = new ItemModifier(ItemModifierTrait.FrostResistance, 10);
- break;
- case RuneType.Syn:
- weaponModifier = new ItemModifier(ItemModifierTrait.None, 0); // Inflict Silence
- armorModifier = new ItemModifier(ItemModifierTrait.None, 0); // Resist Silence
- shieldModifier = new ItemModifier(ItemModifierTrait.None, 0); // Resist Silence
- break;
- case RuneType.Tal:
- weaponModifier = new ItemModifier(ItemModifierTrait.MagicFind, 5);
- armorModifier = new ItemModifier(ItemModifierTrait.MagicFind, 5);
- shieldModifier = new ItemModifier(ItemModifierTrait.MagicFind, 5);
- break;
- case RuneType.Ur:
- weaponModifier = new ItemModifier(ItemModifierTrait.Spirit, 5);
- armorModifier = new ItemModifier(ItemModifierTrait.Spirit, 5);
- shieldModifier = new ItemModifier(ItemModifierTrait.Spirit, 5);
- break;
- case RuneType.Vox:
- weaponModifier = new ItemModifier(ItemModifierTrait.FrostDamage, 10);
- armorModifier = new ItemModifier(ItemModifierTrait.FireResistance, 5);
- shieldModifier = new ItemModifier(ItemModifierTrait.FireResistance, 5);
- break;
- case RuneType.Wynn:
- weaponModifier = new ItemModifier(ItemModifierTrait.ExperienceGained, 5);
- armorModifier = new ItemModifier(ItemModifierTrait.ExperienceGained, 5);
- shieldModifier = new ItemModifier(ItemModifierTrait.ExperienceGained, 5);
- break;
- case RuneType.Xeth:
- weaponModifier = new ItemModifier(ItemModifierTrait.MoneyFind, 5);
- armorModifier = new ItemModifier(ItemModifierTrait.MoneyFind, 5);
- shieldModifier = new ItemModifier(ItemModifierTrait.MoneyFind, 5);
- break;
- case RuneType.Yev:
- weaponModifier = new ItemModifier(ItemModifierTrait.NatureDamage, 5);
- armorModifier = new ItemModifier(ItemModifierTrait.EnergyRegeneration, 1);
- shieldModifier = new ItemModifier(ItemModifierTrait.EnergyRegeneration, 1);
- break;
- case RuneType.Zok:
- weaponModifier = new ItemModifier(ItemModifierTrait.Indestructible);
- armorModifier = new ItemModifier(ItemModifierTrait.Indestructible);
- shieldModifier = new ItemModifier(ItemModifierTrait.Indestructible);
- break;
- default:
- throw new Exception();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement