/// <summary> /// The main constructor for a character. All fields must be filled. /// </summary> /// <param name="_name">The name of the character</param> /// <param name="_level">The level of the character granted-</param> /// <param name="_basehp">The max amount of health the character</param> /// <param name="_curhp">The CURRENT amount of health</param> /// <param name="_charclass"> The class of the character</param> /// <param name="_curxp">The current amount of experience the character has</param> /// <param name="_str">The amount of strength the character has</param> /// <param name="_agi">The amount of agility the character has</param> /// <param name="_int">The amount of intellingence the character has</param> /// <param name="_armor">The armor of the character</param> /// <param name="_meleeattack">The melee attack damage of the character</param> /// <param name="_gear">The characters current gear</param> /// <param name="_gear">The characters inventory</param> public Character(string _name, int _level, int _basehp, int _curhp, EnumCharClass _charclass, int _curxp, int _str, int _agi, int _int, int _crit, int _armor, int _meleeattack, Gear _gear) : base(_name, _level, _basehp, _curhp) { this.charClass = _charclass; this.charCurrentXP = _curxp; this.baseStrength.IntValue = _str; this.baseAgility.IntValue = _agi; this.baseIntellingence.IntValue = _int; this.buffedStrength.IntValue = _str; this.buffedAgility.IntValue = _agi; this.buffedIntellingence.IntValue = _int; this.BaseCrit.IntValue = _crit; this.BuffedCrit.IntValue = _crit; this.BuffedAttackDamage.IntValue = _meleeattack; this.BaseArmor.IntValue = _armor; this.BaseAttackDamage.IntValue = _meleeattack; this.BuffedArmor.IntValue = _armor; this.BuffedAttackDamage.IntValue = _meleeattack; if (_gear == null) this.charGear = new Gear(); else this.charGear = _gear; this.baseTurnPoints.IntValue = (this.UnitLevel / 10) + 1; this.currentTurnPoints = this.baseTurnPoints; this.UnitBuffsAndDebuffs = new List<Abilities.BuffsAndDebuffs>(); }
private void LevelUpClassAbilties(EnumCharClass _class, bool _reset) { switch (_class) { case EnumCharClass.Warrior: #region warrior if (this.UnitLevel == 2) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Strength!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.WarriorStrength(this, null, null, null, EnumAbilityClassReq.WARRIOR)); this.AddPassiveAbility(new Abilities.WarriorStrength(this, null, null, null, EnumAbilityClassReq.WARRIOR)); } if (this.UnitLevel == 8) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Power Strike!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.WarriorPowerStrike(this, null, null, null, EnumAbilityClassReq.WARRIOR)); this.AddPassiveAbility(new Abilities.WarriorPowerStrike(this, null, null, null, EnumAbilityClassReq.WARRIOR)); } if (this.UnitLevel == 15) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Blind Rage!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.WarriorBlindRage(this, null, null, null, EnumAbilityClassReq.WARRIOR)); this.AddPassiveAbility(new Abilities.WarriorBlindRage(this, null, null, null, EnumAbilityClassReq.WARRIOR)); } if (this.UnitLevel == 25) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Rampage!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.WarriorRampage(this, null, null, null, EnumAbilityClassReq.WARRIOR)); this.AddPassiveAbility(new Abilities.WarriorRampage(this, null, null, null, EnumAbilityClassReq.WARRIOR)); } if (this.UnitLevel == 35) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Roar!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.WarriorRoar(this, null, null, null, EnumAbilityClassReq.WARRIOR)); this.AddPassiveAbility(new Abilities.WarriorRoar(this, null, null, null, EnumAbilityClassReq.WARRIOR)); } if (this.UnitLevel == 45) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Infuriate!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.WarriorInfuriate(this, null, null, null, EnumAbilityClassReq.WARRIOR)); this.AddPassiveAbility(new Abilities.WarriorInfuriate(this, null, null, null, EnumAbilityClassReq.WARRIOR)); } if (this.UnitLevel == 55) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Execution!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.WarriorExecution(this, null, null, null, EnumAbilityClassReq.WARRIOR)); this.AddPassiveAbility(new Abilities.WarriorExecution(this, null, null, null, EnumAbilityClassReq.WARRIOR)); } if (this.UnitLevel == 60) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Insanity!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.WarriorInsanity(this, null, null, null, EnumAbilityClassReq.WARRIOR)); this.AddPassiveAbility(new Abilities.WarriorInsanity(this, null, null, null, EnumAbilityClassReq.WARRIOR)); } #endregion break; case EnumCharClass.Paladin: #region paladin if (this.UnitLevel == 2) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Wrath!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.PaladinWrath(this, null, null, null, EnumAbilityClassReq.PALADIN)); this.AddPassiveAbility(new Abilities.PaladinWrath(this, null, null, null, EnumAbilityClassReq.PALADIN)); } if (this.UnitLevel == 8) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Justice!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.PaladinJustice(this, null, null, null, EnumAbilityClassReq.PALADIN)); this.AddPassiveAbility(new Abilities.PaladinJustice(this, null, null, null, EnumAbilityClassReq.PALADIN)); } if (this.UnitLevel == 15) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Serenity!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.PaladinSerenity(this, null, null, null, EnumAbilityClassReq.PALADIN)); this.AddActiveAbility(new Abilities.PaladinSerenity(this, null, null, null, EnumAbilityClassReq.PALADIN)); } if (this.UnitLevel == 25) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Raise Spirit!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.PaladinRaiseSpirit(this, null, null, null, EnumAbilityClassReq.PALADIN)); this.AddActiveAbility(new Abilities.PaladinRaiseSpirit(this, null, null, null, EnumAbilityClassReq.PALADIN)); } if (this.UnitLevel == 35) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Prayer!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.PaladinPrayer(this, null, null, null, EnumAbilityClassReq.PALADIN)); this.AddPassiveAbility(new Abilities.PaladinPrayer(this, null, null, null, EnumAbilityClassReq.PALADIN)); } if (this.UnitLevel == 45) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Blessing!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.PaladinBlessing(this, null, null, null, EnumAbilityClassReq.PALADIN)); this.AddPassiveAbility(new Abilities.PaladinBlessing(this, null, null, null, EnumAbilityClassReq.PALADIN)); } if (this.UnitLevel == 55) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Desperate Plea!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.PaladinDesperatePlea(this, null, null, null, EnumAbilityClassReq.PALADIN)); this.AddPassiveAbility(new Abilities.PaladinDesperatePlea(this, null, null, null, EnumAbilityClassReq.PALADIN)); } if (this.UnitLevel == 60) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned The Power of Faith!"); mes.ShowDialog(); } this.AddActiveAbility(new Abilities.PaladinThePowerOfFaith(this, null, null, null, EnumAbilityClassReq.PALADIN)); this.AddPassiveAbility(new Abilities.PaladinThePowerOfFaith(this, null, null, null, EnumAbilityClassReq.PALADIN)); } #endregion break; case EnumCharClass.Wizard: #region wizard if (this.UnitLevel == 2) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Fireball!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.WizardFireball(this, null, null, null, EnumAbilityClassReq.WIZARD)); this.AddActiveAbility(new Abilities.WizardFireball(this, null, null, null, EnumAbilityClassReq.WIZARD)); } if (this.UnitLevel == 8) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Heal!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.WizardHeal(this, null, null, null, EnumAbilityClassReq.WIZARD)); this.AddActiveAbility(new Abilities.WizardHeal(this, null, null, null, EnumAbilityClassReq.WIZARD)); } if (this.UnitLevel == 15) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Flame Comet!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.WizardFlameComet(this, null, null, null, EnumAbilityClassReq.WIZARD)); this.AddActiveAbility(new Abilities.WizardFlameComet(this, null, null, null, EnumAbilityClassReq.WIZARD)); } if (this.UnitLevel == 25) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Revitalize!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.WizardRevitalize(this, null, null, null, EnumAbilityClassReq.WIZARD)); this.AddActiveAbility(new Abilities.WizardRevitalize(this, null, null, null, EnumAbilityClassReq.WIZARD)); } if (this.UnitLevel == 35) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Brilliance!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.WizardBrilliance(this, null, null, null, EnumAbilityClassReq.WIZARD)); this.AddActiveAbility(new Abilities.WizardBrilliance(this, null, null, null, EnumAbilityClassReq.WIZARD)); } if (this.UnitLevel == 45) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Archon!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.WizardArchon(this, null, null, null, EnumAbilityClassReq.WIZARD)); this.AddActiveAbility(new Abilities.WizardArchon(this, null, null, null, EnumAbilityClassReq.WIZARD)); } if (this.UnitLevel == 55) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Inferno!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.WizardInferno(this, null, null, null, EnumAbilityClassReq.WIZARD)); this.AddActiveAbility(new Abilities.WizardInferno(this, null, null, null, EnumAbilityClassReq.WIZARD)); } if (this.UnitLevel == 60) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Oracle!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.WizardOracle(this, null, null, null, EnumAbilityClassReq.WIZARD)); this.AddActiveAbility(new Abilities.WizardOracle(this, null, null, null, EnumAbilityClassReq.WIZARD)); } #endregion break; case EnumCharClass.Thief: #region thief if (this.UnitLevel == 2) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Quick Attack!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.ThiefQuickAttack(this, null, null, null, EnumAbilityClassReq.THIEF)); this.AddActiveAbility(new Abilities.ThiefQuickAttack(this, null, null, null, EnumAbilityClassReq.THIEF)); } if (this.UnitLevel == 8) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Borrow Weapon!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.ThiefBorrowWeapon(this, null, null, null, EnumAbilityClassReq.THIEF)); this.AddActiveAbility(new Abilities.ThiefBorrowWeapon(this, null, null, null, EnumAbilityClassReq.THIEF)); } if (this.UnitLevel == 15) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Bloodstealer!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.ThiefBloodstealer(this, null, null, null, EnumAbilityClassReq.THIEF)); this.AddActiveAbility(new Abilities.ThiefBloodstealer(this, null, null, null, EnumAbilityClassReq.THIEF)); } if (this.UnitLevel == 25) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Poisoned Blade!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.ThiefPoisonedBlade(this, null, null, null, EnumAbilityClassReq.THIEF)); this.AddActiveAbility(new Abilities.ThiefPoisonedBlade(this, null, null, null, EnumAbilityClassReq.THIEF)); } if (this.UnitLevel == 35) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Swiftness!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.ThiefSwiftness(this, null, null, null, EnumAbilityClassReq.THIEF)); this.AddActiveAbility(new Abilities.ThiefSwiftness(this, null, null, null, EnumAbilityClassReq.THIEF)); } if (this.UnitLevel == 45) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Envenom!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.ThiefEnvenom(this, null, null, null, EnumAbilityClassReq.THIEF)); this.AddActiveAbility(new Abilities.ThiefEnvenom(this, null, null, null, EnumAbilityClassReq.THIEF)); } if (this.UnitLevel == 55) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Dirty Tricks!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.ThiefDirtyTricks(this, null, null, null, EnumAbilityClassReq.THIEF)); this.AddActiveAbility(new Abilities.ThiefDirtyTricks(this, null, null, null, EnumAbilityClassReq.THIEF)); } if (this.UnitLevel == 60) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Flurry!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.ThiefFlurry(this, null, null, null, EnumAbilityClassReq.THIEF)); this.AddActiveAbility(new Abilities.ThiefFlurry(this, null, null, null, EnumAbilityClassReq.THIEF)); } #endregion break; case EnumCharClass.Caretaker: #region caretaker if (this.UnitLevel == 2) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Body Slam!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.CaretakerBodySlam(this, null, null, null, EnumAbilityClassReq.CARETAKER)); this.AddActiveAbility(new Abilities.CaretakerBodySlam(this, null, null, null, EnumAbilityClassReq.CARETAKER)); } if (this.UnitLevel == 8) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Sacrifice!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.CaretakerSacrifice(this, null, null, null, EnumAbilityClassReq.CARETAKER)); this.AddActiveAbility(new Abilities.CaretakerSacrifice(this, null, null, null, EnumAbilityClassReq.CARETAKER)); } if (this.UnitLevel == 15) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Lifeforce!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.CaretakerLifeforce(this, null, null, null, EnumAbilityClassReq.CARETAKER)); this.AddActiveAbility(new Abilities.CaretakerLifeforce(this, null, null, null, EnumAbilityClassReq.CARETAKER)); } if (this.UnitLevel == 25) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Zeal of Humanity!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.CaretakerZealOfHumanity(this, null, null, null, EnumAbilityClassReq.CARETAKER)); this.AddActiveAbility(new Abilities.CaretakerZealOfHumanity(this, null, null, null, EnumAbilityClassReq.CARETAKER)); } if (this.UnitLevel == 35) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Action!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.CaretakerAction(this, null, null, null, EnumAbilityClassReq.CARETAKER)); this.AddActiveAbility(new Abilities.CaretakerAction(this, null, null, null, EnumAbilityClassReq.CARETAKER)); } if (this.UnitLevel == 45) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Lifeblood!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.CaretakerLifeblood(this, null, null, null, EnumAbilityClassReq.CARETAKER)); this.AddActiveAbility(new Abilities.CaretakerLifeblood(this, null, null, null, EnumAbilityClassReq.CARETAKER)); } if (this.UnitLevel == 55) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Power and Dexterity!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.CaretakerPowerAndDexterity(this, null, null, null, EnumAbilityClassReq.CARETAKER)); this.AddActiveAbility(new Abilities.CaretakerPowerAndDexterity(this, null, null, null, EnumAbilityClassReq.CARETAKER)); } if (this.UnitLevel == 60) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Deathdefiance!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.CaretakerDeathdefiance(this, null, null, null, EnumAbilityClassReq.CARETAKER)); this.AddActiveAbility(new Abilities.CaretakerDeathdefiance(this, null, null, null, EnumAbilityClassReq.CARETAKER)); } #endregion break; case EnumCharClass.Synergist: #region if (this.UnitLevel == 2) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Duality!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.SynergistDuality(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); this.AddActiveAbility(new Abilities.SynergistDuality(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); } if (this.UnitLevel == 8) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Agile Mind!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.SynergistAgileMind(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); this.AddActiveAbility(new Abilities.SynergistAgileMind(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); } if (this.UnitLevel == 15) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Balance!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.SynergistBalance(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); this.AddActiveAbility(new Abilities.SynergistBalance(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); } if (this.UnitLevel == 25) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Mental Agility!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.SynergistMentalAgility(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); this.AddActiveAbility(new Abilities.SynergistMentalAgility(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); } if (this.UnitLevel == 35) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Align!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.SynergistAlign(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); this.AddActiveAbility(new Abilities.SynergistAlign(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); } if (this.UnitLevel == 45) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Collapsed Equality!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.SynergistCollapsedEquality(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); this.AddActiveAbility(new Abilities.SynergistCollapsedEquality(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); } if (this.UnitLevel == 55) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Synergy!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.SynergistSynergy(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); this.AddActiveAbility(new Abilities.SynergistSynergy(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); } if (this.UnitLevel == 60) { if (!_reset) { RPG.UI.MessageForm mes = new UI.MessageForm(this.UnitName + " learned Complete Balance!"); mes.ShowDialog(); } this.AddPassiveAbility(new Abilities.SynergistCompleteBalance(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); this.AddActiveAbility(new Abilities.SynergistCompleteBalance(this, null, null, null, EnumAbilityClassReq.SYNERGIST)); } #endregion break; default: break; } }