Beispiel #1
0
        public static void Main(string[] args)
        {
            Console.WriteLine();

            Console.WriteLine("==== Hero DOTA ====");

            Console.WriteLine();

            Hero hero;

            hero = new Strength();
            hero.name();
            hero.abilities();
            hero.difficulty();

            Console.WriteLine();

            hero = new Agility();
            hero.name();
            hero.abilities();
            hero.difficulty();

            Console.WriteLine();

            hero = new Intelligence();
            hero.name();
            hero.abilities();
            hero.difficulty();
        }
Beispiel #2
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Strength", true, out subEle);
            subEle.Value = Strength.ToString();

            ele.TryPathTo("Perception", true, out subEle);
            subEle.Value = Perception.ToString();

            ele.TryPathTo("Endurance", true, out subEle);
            subEle.Value = Endurance.ToString();

            ele.TryPathTo("Charisma", true, out subEle);
            subEle.Value = Charisma.ToString();

            ele.TryPathTo("Intelligence", true, out subEle);
            subEle.Value = Intelligence.ToString();

            ele.TryPathTo("Agility", true, out subEle);
            subEle.Value = Agility.ToString();

            ele.TryPathTo("Luck", true, out subEle);
            subEle.Value = Luck.ToString();
        }
 public EntityStats(int might, int agility, int fortitude, int intellect, int resolve)
 {
     this.might     = new Might(might);
     this.agility   = new Agility(agility);
     this.fortitude = new Fortitude(fortitude);
     this.intellect = new Intellect(intellect);
     this.resolve   = new Resolve(resolve);
 }
 public PrimaryAttributes(double strength, double agility, double stamina, double intellect, double spirit)
 {
     Strength  = new Strength(strength);
     Agility   = new Agility(agility);
     Stamina   = new Stamina(stamina);
     Intellect = new Intellect(intellect);
     Spirit    = new Spirit(spirit);
 }
Beispiel #5
0
        public string this[string PropertyName]
        {
            get
            {
                string result = String.Empty;

                switch (PropertyName)
                {
                case "Category":
                    if (string.IsNullOrEmpty(Category))
                    {
                        result = "Category is required!";
                    }
                    break;

                case "Name":
                    if (string.IsNullOrEmpty(Name))
                    {
                        result = "Name is required!";
                    }
                    break;

                case "Price":
                    if (Price < 1)
                    {
                        result = "Please enter more than 0 gold";
                    }
                    break;

                case "Strength":
                    int temp;
                    if (!int.TryParse(Strength.ToString(), out temp))
                    {
                        result = "Please enter more than 0 points in Strength";
                    }
                    break;

                case "Agility":
                    temp = 0;
                    if (!int.TryParse(Agility.ToString(), out temp))
                    {
                        result = "Please enter more than 0 points in Agility";
                    }
                    break;

                case "Intelligence":
                    temp = 0;
                    if (!int.TryParse(Intelligence.ToString(), out temp))
                    {
                        result = "Please enter more than 0 points in Intelligence";
                    }
                    break;
                }
                return(result);
            }
        }
Beispiel #6
0
 public override void TakeDamage(float damage)
 {
     if (Random.Range(0, 100) >= Agility.GetValue())
     {
         damage              -= Defence.GetValue();
         damage               = Mathf.Clamp(damage, 0, int.MaxValue);
         CurrentHealth       -= damage;
         Healthbar.fillAmount = CurrentHealth / MaxHealth.GetValue();
         Debug.Log("Damage has been taken " + damage);
     }
 }
Beispiel #7
0
    public stat Health, Sanity, Strength, Agility, Intelligence, Willpower, Perception, Charisma; // Stats that are accessed through other scripts. E.g. GetComponent<rpgStats>().health.Add(-2);

    private void Awake()                                                                          // All stat values set to their starting values.
    {
        Health.SetValue(StartHealth);
        Sanity.SetValue(StartSanity);
        Strength.SetValue(StartStrength);
        Agility.SetValue(StartAgility);
        Intelligence.SetValue(StartIntelligence);
        Willpower.SetValue(StartWillpower);
        Perception.SetValue(StartPerception);
        Charisma.SetValue(StartCharisma);
    }
Beispiel #8
0
 /// <summary>
 /// hash kodo metodas
 /// </summary>
 /// <returns></returns>
 public override int GetHashCode()
 {
     return(Name.GetHashCode() ^
            Role.GetHashCode() ^
            HitPoints.GetHashCode() ^
            Mana.GetHashCode() ^
            Damage.GetHashCode() ^
            Defence.GetHashCode() ^
            Strength.GetHashCode() ^
            Agility.GetHashCode() ^
            Intelligence.GetHashCode() ^
            Power.GetHashCode());
 }
 public PrimaryAttributes(
     Strength strength,
     Agility agility,
     Stamina stamina,
     Intellect intellect,
     Spirit spirit)
 {
     Strength  = strength;
     Agility   = agility;
     Stamina   = stamina;
     Intellect = intellect;
     Spirit    = spirit;
 }
        public XmlElement Serialize(XmlDocument doc)
        {
            XmlElement xmlStats = doc.CreateElement("stats");

            xmlStats.SetAttribute("health", Health.ToString());
            xmlStats.SetAttribute("maxHealth", MaxHealth.ToString());
            xmlStats.SetAttribute("endurance", Endurance.ToString());
            xmlStats.SetAttribute("strength", Strength.ToString());
            xmlStats.SetAttribute("intelligence", Intelligence.ToString());
            xmlStats.SetAttribute("agility", Agility.ToString());
            xmlStats.SetAttribute("dexterity", Dexterity.ToString());
            xmlStats.SetAttribute("upgradePoint", UpgradePoint.ToString());

            return(xmlStats);
        }
Beispiel #11
0
        /**
         * TODO
         * Equipment
         * Powers
         * Hindrances
         *
         * Later:
         * Injuries
         **/

        public override string ToString()
        {
            StringBuilder retval = new StringBuilder("");

            retval.AppendLine("Name:" + Name);
            retval.AppendLine("Charisma:" + Charisma.ToString());
            retval.AppendLine("Pace:" + Pace.ToString());
            retval.AppendLine("Parry:" + Parry.ToString());
            retval.AppendLine("Toughness:" + Toughness.ToString());
            retval.AppendLine("Agility:" + Agility.ToString());
            retval.AppendLine("Smarts:" + Smarts.ToString());
            retval.AppendLine("Strength:" + Strength.ToString());
            retval.AppendLine("Spirit:" + Spirit.ToString());
            retval.AppendLine("Vigor:" + Vigor.ToString());
            return(retval.ToString());
        }
Beispiel #12
0
        public override void info(Gameplay gameplay)  // Вывод информации о герои
        {
            this.checkingFields(gameplay);
            //this.gameOverHero(gameplay, "Умер");

            gameplay.label2.Text  = Name;
            gameplay.label3.Text  = ActivityStatus;
            gameplay.label12.Text = Level.ToString();
            gameplay.label13.Text = Experience.ToString();
            gameplay.label14.Text = Age.ToString();
            gameplay.label15.Text = Gold.ToString();
            gameplay.label16.Text = Health.ToString();
            gameplay.label17.Text = Stength.ToString();
            gameplay.label18.Text = Energy.ToString();
            gameplay.label19.Text = Agility.ToString();
            gameplay.label20.Text = Intelligence.ToString();
        }
Beispiel #13
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("CreatureType", true, out subEle);
            subEle.Value = CreatureType.ToString();

            ele.TryPathTo("Skill/Combat", true, out subEle);
            subEle.Value = CombatSkill.ToString();

            ele.TryPathTo("Skill/Magic", true, out subEle);
            subEle.Value = MagicSkill.ToString();

            ele.TryPathTo("Skill/Stealth", true, out subEle);
            subEle.Value = StealthSkill.ToString();

            ele.TryPathTo("Health", true, out subEle);
            subEle.Value = Health.ToString();

            WriteUnusedXML(ele, master);

            ele.TryPathTo("Damage", true, out subEle);
            subEle.Value = Damage.ToString();

            ele.TryPathTo("Strength", true, out subEle);
            subEle.Value = Strength.ToString();

            ele.TryPathTo("Perception", true, out subEle);
            subEle.Value = Perception.ToString();

            ele.TryPathTo("Endurance", true, out subEle);
            subEle.Value = Endurance.ToString();

            ele.TryPathTo("Charisma", true, out subEle);
            subEle.Value = Charisma.ToString();

            ele.TryPathTo("Intelligence", true, out subEle);
            subEle.Value = Intelligence.ToString();

            ele.TryPathTo("Agility", true, out subEle);
            subEle.Value = Agility.ToString();

            ele.TryPathTo("Luck", true, out subEle);
            subEle.Value = Luck.ToString();
        }
Beispiel #14
0
    //Use this for initialization
    void Start()
    {
        currentHealth = maxHealth;
        currentStamina = maxStamina;
        currentMS = 0;

        strength = GetComponent<Strength>();
        agility = GetComponent<Agility>();
        haste = GetComponent<Haste>();
        perception = GetComponent<Perception>();
        intelligence = GetComponent<Intelligence>();
        wisdom = GetComponent<Wisdom>();

        cont = GetComponent<CharacterController>();
        Cursor.lockState = CursorLockMode.Locked;
        Cursor.visible = false;
        cameraReference = GameObject.FindWithTag("cameraReference");
        lookTarget = GameObject.FindWithTag("LookTarget");
    }
Beispiel #15
0
    public void OnEquipmentChanged(EquipmentScript ItemToAdd, EquipmentScript ItemToRemove)
    {
        if (ItemToAdd != null)
        {
            Defence.AddModifier(ItemToAdd.defenceModifier);

            Damage.AddModifier(ItemToAdd.damageModifier);

            Agility.AddModifier(ItemToAdd.agilityModifier);
        }

        if (ItemToRemove != null)
        {
            Defence.RemoveModifier(ItemToRemove.defenceModifier);

            Damage.RemoveModifier(ItemToRemove.damageModifier);

            Agility.RemoveModifier(ItemToRemove.agilityModifier);
        }
    }
Beispiel #16
0
        public string toString()
        {
            var toString = "";

            if (!String.IsNullOrEmpty(Name))
            {
                toString += Name + "\r\n";
            }
            if (Quality != 0)
            {
                toString += Quality.ToString() + "\r\n";
            }
            if (ItemLevel != 0)
            {
                toString += "Item Level " + ItemLevel + "\r\n";
            }
            if (Armor > 0)
            {
                toString += Slot.ToString() + ":" + ArmorType.ToString() + "\r\n";
                toString += Armor + " Armor\r\n";
            }
            else
            {
                toString += Slot.ToString() + "\r\n";
            }

            if (Strength > 0)
            {
                toString += "+" + Strength.ToString() + " Strength" + "\r\n";
            }
            if (Agility > 0)
            {
                toString += "+" + Agility.ToString() + " Agility" + "\r\n";
            }
            if (Intellect > 0)
            {
                toString += "+" + Intellect.ToString() + " Intellect" + "\r\n";
            }
            if (Stamina > 0)
            {
                toString += "+" + Stamina.ToString() + " Stamina" + "\r\n";
            }
            if (Spirit > 0)
            {
                toString += "+" + Spirit.ToString() + " Spirit" + "\r\n";
            }

            if (ArcaneResist > 0)
            {
                toString += "+" + ArcaneResist.ToString() + " Arcane Resistance" + "\r\n";
            }
            if (FireResist > 0)
            {
                toString += "+" + FireResist.ToString() + " Fire Resistance" + "\r\n";
            }
            if (NatureResist > 0)
            {
                toString += "+" + NatureResist.ToString() + " Nature Resistance" + "\r\n";
            }
            if (FrostResist > 0)
            {
                toString += "+" + FrostResist.ToString() + " Frost Resistance" + "\r\n";
            }
            if (ShadowResist > 0)
            {
                toString += "+" + ShadowResist.ToString() + " Shadow Resistance" + "\r\n";
            }

            if (Classes != 0)
            {
                toString += ((Class)Classes).ToString() + "\r\n";
            }

            if (SpellCrit > 0)
            {
                toString += "Improves your chance to get a critical strike with spells by " + SpellCrit + "%.\r\n";
            }
            if (SpellPower > 0)
            {
                toString += "Increases damage and healing done by magical spells and effects by up to " + SpellPower + ".\r\n";
            }
            if (SpellHit > 0)
            {
                toString += "Improves your chance to hit with spells by " + SpellHit + "%.\r\n";
            }
            if (SpellPen > 0)
            {
                toString += "Decreases the magical resistances of your spell targets by " + SpellPen + ".\r\n";
            }
            if (ManaRegen > 0)
            {
                toString += "Restores " + ManaRegen + " mana per 5 sec.\r\n";
            }

            if (ItemSet != 0)
            {
                toString += ModelHelper.GetEnumDescription(ItemSet);
            }

            return(toString);
        }
Beispiel #17
0
        public CharacterCharacteristicsInformations GetCharacterCharacteristics(Character character)
        {
            ulong expFloor     = ExperienceRecord.GetExperienceForLevel(character.Level).Player;
            ulong expNextFloor = ExperienceRecord.GetExperienceForNextLevel(character.Level).Player;

            CharacterCharacteristicsInformations informations = new CharacterCharacteristicsInformations()
            {
                actionPoints            = ActionPoints.GetBaseCharacteristic(),
                actionPointsCurrent     = ActionPoints.TotalInContext(),
                additionnalPoints       = 0,
                agility                 = Agility.GetBaseCharacteristic(),
                airDamageBonus          = AirDamageBonus.GetBaseCharacteristic(),
                airElementReduction     = AirReduction.GetBaseCharacteristic(),
                airElementResistPercent = AirResistPercent.GetBaseCharacteristic(),
                alignmentInfos          = character.Record.Alignment.GetActorExtendedAlignement(),
                allDamagesBonus         = AllDamagesBonus.GetBaseCharacteristic(),
                chance = Chance.GetBaseCharacteristic(),
                criticalDamageBonus          = CriticalDamageBonus.GetBaseCharacteristic(),
                criticalDamageReduction      = CriticalDamageReduction.GetBaseCharacteristic(),
                criticalHit                  = CriticalHit.GetBaseCharacteristic(),
                criticalHitWeapon            = CriticalHitWeapon,
                criticalMiss                 = Characteristic.Zero().GetBaseCharacteristic(),
                damagesBonusPercent          = DamagesBonusPercent.GetBaseCharacteristic(),
                dodgePALostProbability       = DodgePAProbability.GetBaseCharacteristic(),
                dodgePMLostProbability       = DodgePMProbability.GetBaseCharacteristic(),
                earthDamageBonus             = EarthDamageBonus.GetBaseCharacteristic(),
                earthElementReduction        = EarthReduction.GetBaseCharacteristic(),
                earthElementResistPercent    = EarthResistPercent.GetBaseCharacteristic(),
                pvpEarthElementReduction     = PvPEarthReduction.GetBaseCharacteristic(),
                pvpEarthElementResistPercent = PvPEarthResistPercent.GetBaseCharacteristic(),
                fireDamageBonus              = FireDamageBonus.GetBaseCharacteristic(),
                fireElementReduction         = FireReduction.GetBaseCharacteristic(),
                fireElementResistPercent     = FireResistPercent.GetBaseCharacteristic(),
                pvpFireElementReduction      = PvPFireReduction.GetBaseCharacteristic(),
                pvpFireElementResistPercent  = PvPFireResistPercent.GetBaseCharacteristic(),
                glyphBonusPercent            = GlyphBonusPercent.GetBaseCharacteristic(),
                healBonus                      = HealBonus.GetBaseCharacteristic(),
                initiative                     = new CharacterBaseCharacteristic((short)FormulasProvider.Instance.BaseInitiative(this), 0, Initiative.Total(), 0, 0),
                intelligence                   = Intelligence.GetBaseCharacteristic(),
                kamas                          = character.Record.Kamas,
                lifePoints                     = (uint)LifePoints,
                maxEnergyPoints                = MaxEnergyPoints,
                maxLifePoints                  = (uint)MaxLifePoints,
                movementPoints                 = MovementPoints.GetBaseCharacteristic(),
                movementPointsCurrent          = MovementPoints.TotalInContext(),
                PMAttack                       = PMAttack.GetBaseCharacteristic(),
                PAAttack                       = PAAttack.GetBaseCharacteristic(),
                pvpAirElementReduction         = PvPAirReduction.GetBaseCharacteristic(),
                pvpAirElementResistPercent     = PvPAirResistPercent.GetBaseCharacteristic(),
                pvpNeutralElementReduction     = PvPNeutralReduction.GetBaseCharacteristic(),
                pvpNeutralElementResistPercent = PvPNeutralResistPercent.GetBaseCharacteristic(),
                pvpWaterElementReduction       = PvPWaterReduction.GetBaseCharacteristic(),
                pvpWaterElementResistPercent   = PvPWaterResistPercent.GetBaseCharacteristic(),
                energyPoints                   = Energy,
                experience                     = character.Experience,
                experienceLevelFloor           = expFloor,
                experienceNextLevelFloor       = expNextFloor,
                neutralDamageBonus             = NeutralDamageBonus.GetBaseCharacteristic(),
                neutralElementReduction        = NeutralReduction.GetBaseCharacteristic(),
                neutralElementResistPercent    = NeutralResistPercent.GetBaseCharacteristic(),
                tackleEvade                    = TackleEvade.GetBaseCharacteristic(),
                tackleBlock                    = TackleBlock.GetBaseCharacteristic(),
                range                          = Range.GetBaseCharacteristic(),
                waterElementReduction          = WaterReduction.GetBaseCharacteristic(),
                waterDamageBonus               = WaterDamageBonus.GetBaseCharacteristic(),
                waterElementResistPercent      = WaterResistPercent.GetBaseCharacteristic(),
                reflect                        = Reflect.GetBaseCharacteristic(),
                permanentDamagePercent         = PermanentDamagePercent.GetBaseCharacteristic(),
                prospecting                    = Prospecting.GetBaseCharacteristic(),
                pushDamageBonus                = PushDamageBonus.GetBaseCharacteristic(),
                pushDamageReduction            = PushDamageReduction.GetBaseCharacteristic(),
                runeBonusPercent               = RuneBonusPercent.GetBaseCharacteristic(),
                spellModifications             = new CharacterSpellModification[0],
                spellsPoints                   = character.Record.SpellPoints,
                statsPoints                    = character.Record.StatsPoints,
                vitality                       = Vitality.GetBaseCharacteristic(),
                strength                       = Strength.GetBaseCharacteristic(),
                summonableCreaturesBoost       = SummonableCreaturesBoost.GetBaseCharacteristic(),
                trapBonus                      = TrapBonus.GetBaseCharacteristic(),
                trapBonusPercent               = TrapBonusPercent.GetBaseCharacteristic(),
                weaponDamagesBonusPercent      = WeaponDamagesBonusPercent.GetBaseCharacteristic(),
                wisdom                         = Wisdom.GetBaseCharacteristic(),
                probationTime                  = 0,
            };

            return(informations);
        }
Beispiel #18
0
 public uint Total()
 {
     return((uint)(Strength.Total() + Chance.Total() + Intelligence.Total() + Agility.Total()));
 }
Beispiel #19
0
 public override void Serialize(IDataWriter writer)
 {
     writer.WriteVarUhLong(Experience);
     writer.WriteVarUhLong(ExperienceLevelFloor);
     writer.WriteVarUhLong(ExperienceNextLevelFloor);
     writer.WriteVarUhLong(ExperienceBonusLimit);
     writer.WriteVarUhLong(Kamas);
     writer.WriteVarUhShort(StatsPoints);
     writer.WriteVarUhShort(AdditionnalPoints);
     writer.WriteVarUhShort(SpellsPoints);
     AlignmentInfos.Serialize(writer);
     writer.WriteVarUhInt(LifePoints);
     writer.WriteVarUhInt(MaxLifePoints);
     writer.WriteVarUhShort(EnergyPoints);
     writer.WriteVarUhShort(MaxEnergyPoints);
     writer.WriteVarShort(ActionPointsCurrent);
     writer.WriteVarShort(MovementPointsCurrent);
     Initiative.Serialize(writer);
     Prospecting.Serialize(writer);
     ActionPoints.Serialize(writer);
     MovementPoints.Serialize(writer);
     Strength.Serialize(writer);
     Vitality.Serialize(writer);
     Wisdom.Serialize(writer);
     Chance.Serialize(writer);
     Agility.Serialize(writer);
     Intelligence.Serialize(writer);
     Range.Serialize(writer);
     SummonableCreaturesBoost.Serialize(writer);
     Reflect.Serialize(writer);
     CriticalHit.Serialize(writer);
     writer.WriteVarUhShort(CriticalHitWeapon);
     CriticalMiss.Serialize(writer);
     HealBonus.Serialize(writer);
     AllDamagesBonus.Serialize(writer);
     WeaponDamagesBonusPercent.Serialize(writer);
     DamagesBonusPercent.Serialize(writer);
     TrapBonus.Serialize(writer);
     TrapBonusPercent.Serialize(writer);
     GlyphBonusPercent.Serialize(writer);
     RuneBonusPercent.Serialize(writer);
     PermanentDamagePercent.Serialize(writer);
     TackleBlock.Serialize(writer);
     TackleEvade.Serialize(writer);
     PAAttack.Serialize(writer);
     PMAttack.Serialize(writer);
     PushDamageBonus.Serialize(writer);
     CriticalDamageBonus.Serialize(writer);
     NeutralDamageBonus.Serialize(writer);
     EarthDamageBonus.Serialize(writer);
     WaterDamageBonus.Serialize(writer);
     AirDamageBonus.Serialize(writer);
     FireDamageBonus.Serialize(writer);
     DodgePALostProbability.Serialize(writer);
     DodgePMLostProbability.Serialize(writer);
     NeutralElementResistPercent.Serialize(writer);
     EarthElementResistPercent.Serialize(writer);
     WaterElementResistPercent.Serialize(writer);
     AirElementResistPercent.Serialize(writer);
     FireElementResistPercent.Serialize(writer);
     NeutralElementReduction.Serialize(writer);
     EarthElementReduction.Serialize(writer);
     WaterElementReduction.Serialize(writer);
     AirElementReduction.Serialize(writer);
     FireElementReduction.Serialize(writer);
     PushDamageReduction.Serialize(writer);
     CriticalDamageReduction.Serialize(writer);
     PvpNeutralElementResistPercent.Serialize(writer);
     PvpEarthElementResistPercent.Serialize(writer);
     PvpWaterElementResistPercent.Serialize(writer);
     PvpAirElementResistPercent.Serialize(writer);
     PvpFireElementResistPercent.Serialize(writer);
     PvpNeutralElementReduction.Serialize(writer);
     PvpEarthElementReduction.Serialize(writer);
     PvpWaterElementReduction.Serialize(writer);
     PvpAirElementReduction.Serialize(writer);
     PvpFireElementReduction.Serialize(writer);
     MeleeDamageDonePercent.Serialize(writer);
     MeleeDamageReceivedPercent.Serialize(writer);
     RangedDamageDonePercent.Serialize(writer);
     RangedDamageReceivedPercent.Serialize(writer);
     WeaponDamageDonePercent.Serialize(writer);
     WeaponDamageReceivedPercent.Serialize(writer);
     SpellDamageDonePercent.Serialize(writer);
     SpellDamageReceivedPercent.Serialize(writer);
     writer.WriteShort((short)SpellModifications.Count);
     foreach (var x in SpellModifications)
     {
         x.Serialize(writer);
     }
     writer.WriteInt(ProbationTime);
 }
Beispiel #20
0
 /// <inheritdoc/>
 public override bool DoesModelPassFilter(string filter) =>
 Strength.ToString().Contains(filter) ||
 Magic.ToString().Contains(filter) ||
 Endurance.ToString().Contains(filter) ||
 Agility.ToString().Contains(filter) ||
 Luck.ToString().Contains(filter);
Beispiel #21
0
        public void InitializeSummon(Fighter owner, bool summonStats)
        {
            this.Summoned   = true;
            this.SummonerId = owner.Id;


            if (summonStats)
            {
                this.CurrentLifePoints = this.CurrentMaxLifePoints = this.MaxLifePoints = this.LifePoints = FormulasProvider.Instance.GetSummonedCharacteristicDelta(CurrentLifePoints, owner.Level);

                this.Strength.Base = (short)FormulasProvider.Instance.GetSummonedCharacteristicDelta(Strength.Total(), owner.Level);

                this.Agility.Base = (short)FormulasProvider.Instance.GetSummonedCharacteristicDelta(Agility.Total(), owner.Level);

                this.Intelligence.Base = (short)FormulasProvider.Instance.GetSummonedCharacteristicDelta(Intelligence.Total(), owner.Level);

                this.Chance.Base = (short)FormulasProvider.Instance.GetSummonedCharacteristicDelta(Chance.Total(), owner.Level);

                this.Wisdom.Base = (short)FormulasProvider.Instance.GetSummonedCharacteristicDelta(Wisdom.Total(), owner.Level);
            }
        }
Beispiel #22
0
        public void UpdateCharacteristics(string package)
        {
            string[] _loc3 = package.Substring(2).Split('|');
            string[] _loc5 = _loc3[0].Split(',');

            experience_actual    = double.Parse(_loc5[0]);
            experience_min_level = double.Parse(_loc5[1]);
            experience_max_level = double.Parse(_loc5[2]);

            _loc5     = _loc3[5].Split(',');
            Health    = int.Parse(_loc5[0]);
            HealthMax = int.Parse(_loc5[1]);

            _loc5      = _loc3[6].Split(',');
            energy     = int.Parse(_loc5[0]);
            energy_max = int.Parse(_loc5[1]);

            if (Initiative != null)
            {
                Initiative.Base = int.Parse(_loc3[7]);
            }
            else
            {
                Initiative = new Stats(int.Parse(_loc3[7]));
            }

            if (Prospection != null)
            {
                Prospection.Base = int.Parse(_loc3[8]);
            }
            else
            {
                Prospection = new Stats(int.Parse(_loc3[8]));
            }

            for (int i = 9; i <= 18; ++i)
            {
                _loc5 = _loc3[i].Split(',');
                int @base     = int.Parse(_loc5[0]);
                int equipment = int.Parse(_loc5[1]);
                int dons      = int.Parse(_loc5[2]);
                int boost     = int.Parse(_loc5[3]);

                switch (i)
                {
                case 9:
                    PA.ActualizeStats(@base, equipment, dons, boost);
                    break;

                case 10:
                    PM.ActualizeStats(@base, equipment, dons, boost);
                    break;

                case 11:
                    Strenght.ActualizeStats(@base, equipment, dons, boost);
                    break;

                case 12:
                    Vitality.ActualizeStats(@base, equipment, dons, boost);
                    break;

                case 13:
                    Windsom.ActualizeStats(@base, equipment, dons, boost);
                    break;

                case 14:
                    Lucky.ActualizeStats(@base, equipment, dons, boost);
                    break;

                case 15:
                    Agility.ActualizeStats(@base, equipment, dons, boost);
                    break;

                case 16:
                    Intelligence.ActualizeStats(@base, equipment, dons, boost);
                    break;

                case 17:
                    PO.ActualizeStats(@base, equipment, dons, boost);
                    break;

                case 18:
                    Summon.ActualizeStats(@base, equipment, dons, boost);
                    break;
                }
            }
        }
Beispiel #23
0
 public override int GetHashCode() => Name.GetHashCode() *Cost.GetHashCode() *Strength.GetHashCode() *Agility.GetHashCode() *Intelligence.GetHashCode();
Beispiel #24
0
        public override string ToString()
        {
            string stats = Health.ToString() + "\n" + Strength.ToString() + "\n" + Dexterity.ToString() + "\n" + Agility.ToString() + "\n" + Inteligence.ToString() + "\n" + Luck.ToString() + "\n" + Statpoints.ToString() + "\n" + Level.ToString() + "\n" + ExperiencePoints.ToString();
            string hash  = GetSha1("Blin113" + stats);      //blin113 is just here to make sure you can't cheat without access to the code.

            stats += "\n" + hash;
            return(stats);
        }
        private void handleFirstClickObject(Player player, Packet packet)
        {
            int    objectX  = packet.readLEShort();
            ushort objectId = (ushort)packet.readShortA();
            int    objectY  = packet.readUShort();

            if (objectX < 1000 || objectY < 1000 || player.isDead() || player.getTemporaryAttribute("cantDoAnything") != null)
            {
                return;
            }
            SkillHandler.resetAllSkills(player);
            player.getPackets().closeInterfaces();
            Console.WriteLine("First object click = " + objectId + " " + objectX + " " + objectY);
            if (RuneCraft.wantToRunecraft(player, objectId, objectX, objectY))
            {
                return;
            }
            else if (RuneCraft.enterRift(player, objectId, objectX, objectY))
            {
                return;
            }
            else if (RuneCraft.enterViaTiara(player, objectId, objectX, objectY))
            {
                player.setFaceLocation(new Location(objectX, objectY, player.getLocation().getZ()));
                return;
            }
            else if (RuneCraft.leaveAltar(player, objectId, objectX, objectY))
            {
                return;
            }
            else if (Barrows.leaveCrypt(player, objectId, objectX, objectY))
            {
                return;
            }
            else if (Barrows.tryOpenCoffin(player, objectId))
            {
                return;
            }
            else if (Barrows.openTunnelDoor(player, objectId, objectX, objectY))
            {
                return;
            }
            else if (Thieving.wantToThieveChest(player, objectId, objectX, objectY))
            {
                return;
            }
            else if (Agility.doAgility(player, objectId, objectX, objectY))
            {
                return;
            }
            else if (Farming.interactWithPatch(player, objectId, objectX, objectY, -1))
            {
                return;
            }
            else if (Server.getGlobalObjects().getDoors().useDoor(player, objectId, objectX, objectY, player.getLocation().getZ()))
            {
                return;
            }
            else if (LaddersAndStairs.useObject(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 1))
            {
                return;
            }
            else if (WildernessObelisks.useWildernessObelisk(player, objectId, new Location(objectX, objectY, player.getLocation().getZ())))
            {
                return;
            }
            if (player.getTemporaryAttribute("unmovable") != null)
            {
                return;
            }
            player.setFaceLocation(new Location(objectX, objectY, player.getLocation().getZ()));
            switch (objectId)
            {
            case 2492:                 // essence mine portals
                RuneCraft.leaveEssMine(player, new Location(objectX, objectY, player.getLocation().getZ()));
                break;

            case 5959:
            case 5960:
                Wilderness.handleLever(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()));
                break;

            case 733:                 // Wilderness web
                Wilderness.slashWeb(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()));
                break;

            case 28089:                 // GE desk
                Server.getGrandExchange().clickDesk(player, objectX, objectY, 1);
                break;

            case 9359:                 // Tzhaar main exit
                TzHaar.exitTzhaar(player);
                break;

            case 31284:                 // Tzhaar entrance
                TzHaar.enterTzhaar(player);
                break;

            case 9357:                 // Fight cave exit
                FightCave.exitCave(player, objectX, objectY);
                break;

            case 9356:                 // Fight cave entrance
                FightCave.enterCave(player);
                break;

            case 9391:                 // Tzhaar fight pits viewing orb
                Server.getMinigames().getFightPits().useOrb(player, -1);
                break;

            case 9369:                 // Tzhaar pits main entrance
            case 9368:                 // Tzhaar pits game door
                Server.getMinigames().getFightPits().useDoor(player, objectId);
                break;

            case 3617:                 // Agility arena ladder
                AgilityArena.enterArena(player, objectX, objectY);
                break;

            case 3618:
                if (Location.atAgilityArena(player.getLocation()))
                {
                    AgilityArena.exitArena(player, objectX, objectY);
                }
                break;

            case 6:     // Dwarf multicannon
                DwarfCannon cannon = player.getCannon();
                Location    l      = new Location(objectX, objectY, player.getLocation().getZ());
                if (cannon == null || (cannon != null & !l.withinDistance(cannon.getLocation(), 2)))
                {
                    player.getPackets().sendMessage("This isn't your cannon!");
                    break;
                }
                cannon.fireCannon();
                break;

            case 7:     //Cannon base only
            case 8:     //Cannon stand
            case 9:     //Cannon barrels
                DwarfCannon cannonPickup   = player.getCannon();
                Location    cannonLocation = new Location(objectX, objectY, player.getLocation().getZ());
                if (cannonPickup == null || (cannonPickup != null & !cannonLocation.withinDistance(cannonPickup.getLocation(), 2)))
                {
                    player.getPackets().sendMessage("This isn't your cannon!");
                    break;
                }
                cannonPickup.pickupCannon();
                break;

            case 11601:                 // Clay oven
                player.getPackets().modifyText("Please use the item on the oven.", 210, 1);
                player.getPackets().sendChatboxInterface(210);
                break;

            case 10284:                 // Barrows chest
                Barrows.openChest(player);
                break;

            case 4483:                 // Castle wars bank chest.
            case 21301:                // Neitiznot bank chest
                player.getBank().openBank(false, objectX, objectY);
                break;

            case 1276:                 // Normal tree
            case 1278:                 // Normal tree
            case 2409:                 // Normal tree
            case 1277:                 // Normal tree with but different coloured stump
            case 3034:                 // Normal tree with dark stump
            case 3033:                 // Normal tree with dark stump
            case 10041:                // Normal tree
            case 1282:                 // Dead tree
            case 1283:                 // Dead tree
            case 1284:                 // Dead tree
            case 1285:                 // Dead tree
            case 1286:                 // Dead tree
            case 1289:                 // Dead tree
            case 1290:                 // Dead tree
            case 1365:                 // Dead tree
            case 1383:                 // Dead tree
            case 1384:                 // Dead tree
            case 1291:                 // Dead tree
            case 3035:                 // Dead tree
            case 3036:                 // Dead tree
            case 1315:                 // Evergreen
            case 1316:                 // Evergreen
            case 1318:                 // Snowy Evergreen
            case 1319:                 // Snowy Evergreen
            case 1330:                 // Snow covered tree
            case 1331:                 // Snow covered tree
            case 1332:                 // Snow covered tree
            case 3879:                 // Evergreen from elf land
            case 3881:                 // Evergreen from elf land (slightly bigger than one above)
            case 3882:                 // Evergreen from elf land (slightly bigger than one above)
            case 3883:                 // Small Evergreen from elf land
            case 1280:                 // Normal tree orange stump
            case 14309:                // PC game island tree
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 0, true);
                break;

            case 1281:                 // Normal Oak tree
            case 3037:                 // Oak tree dark stump
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 1, true);
                break;

            case 1308:                 // Normal Willow tree
            case 5551:                 // Normal Willow tree
            case 5552:                 // Normal Willow tree
            case 5553:                 // Normal Willow tree
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 2, true);
                break;

            case 2023:                 // Achey tree
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 3, true);
                break;

            case 9036:                 // Normal Teak tree
            case 15062:                // Normal Teak tree (same as above?)
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 4, true);
                break;

            case 1307:                // Normal Maple tree
            case 4674:                // Exactly same as above
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 5, true);
                break;

            case 2289:                 // Normal Hollow tree
            case 4060:                 // Normal Hollow tree (bigger than above)
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 6, true);
                break;

            case 9034:                 // Normal Mahogany tree
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 7, true);
                break;

            case 21273:                 // Normal Arctic pine
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 8, true);
                break;

            case 28951:                 // Normal Eucalyptus tree
            case 28952:                 // Normal Eucalyptus tree (smaller)
            case 28953:                 // Normal Eucalyptus tree (smallest)
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 9, true);
                break;

            case 1309:                 // Yew tree
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 10, true);
                break;

            case 1306:                 // Normal Magic tree
                Woodcutting.tryCutTree(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 11, true);
                break;

            case 3203:                 // Duel arena trapdoors.
                if (player.getDuel() != null)
                {
                    player.getDuel().forfeitDuel(objectX, objectY);
                    break;
                }
                break;

            case 7152:                 // Abyss tendrils.
            case 7144:
                AbyssObstacles.chopTendrils(player, objectX, objectY);
                break;

            case 7147:                 // Abyss tunnel.
                AbyssObstacles.useAgilityTunnel(player, objectX, objectY);
                break;

            case 7146:                 // Abyss eyes.
            case 7150:
                AbyssObstacles.passEyes(player, objectX, objectY);
                break;

            case 7151:                 // Abyss boil.
            case 7145:
                AbyssObstacles.burnBoil(player, objectX, objectY);
                break;

            case 7153:                 // Abyss mining rock.
            case 7143:
                AbyssObstacles.mineRock(player, objectX, objectY);
                break;

            case 2213:                 // Catherby bank booth.
            case 11402:                // Varrock bank booth.
            case 11758:                // Falador bank booth.
            case 36786:                // Lumbridge bank booth.
            case 35647:                // Al-Kharid bank booth.
            case 25808:                // Seers bank booth.
            case 34752:                // Ardougne bank booth.
            case 26972:                // Edgeville bank booth.
            case 29085:                // Ooglog bank booth.
                player.getBank().openBank(true, objectX, objectY);
                break;

            case 2491:                 // Essence rock
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 0, true);
                break;

            case 11954:                 // Iron rocks
            case 11955:
            case 11956:
            case 14856:
            case 14857:
            case 14858:
            case 31071:
            case 31072:
            case 31073:
            case 32441:
            case 32442:
            case 32443:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 6, true);
                break;

            case 11948:                 // Silver rocks
            case 11949:
            case 11950:
            case 11165:
            case 11186:
            case 11187:
            case 11188:
            case 31074:
            case 31075:
            case 31076:
            case 32444:
            case 32445:
            case 32446:
            case 15579:
            case 15580:
            case 15581:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 8, true);
                break;

            case 15504:                 // Clay rocks
            case 15503:
            case 15505:
            case 11189:
            case 11190:
            case 11191:
            case 31062:
            case 31063:
            case 31064:
            case 32429:
            case 32430:
            case 32431:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 1, true);
                break;

            case 11960:                 // Copper rocks
            case 11961:
            case 11962:
            case 11936:
            case 11937:
            case 11938:
            case 31080:
            case 31081:
            case 31082:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 2, true);
                break;

            case 11959:                 // Tin rocks
            case 11958:
            case 11957:
            case 11933:
            case 11934:
            case 11935:
            case 31077:
            case 31078:
            case 31079:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 3, true);
                break;

            case 11930:                 // Coal rocks
            case 11931:
            case 11932:
            case 14850:
            case 14851:
            case 14852:
            case 31068:
            case 31069:
            case 31070:
            case 32426:
            case 32427:
            case 32428:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 9, true);
                break;

            case 11951:                 // Gold rocks
            case 11952:
            case 11953:
            case 11183:
            case 11184:
            case 11185:
            case 31065:
            case 31066:
            case 31067:
            case 32432:
            case 32433:
            case 32434:
            case 15576:
            case 15577:
            case 15578:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 10, true);
                break;

            case 11945:                 // Mithril rocks
            case 11946:
            case 11947:
            case 11942:
            case 11943:
            case 11944:
            case 14853:
            case 14854:
            case 14855:
            case 31086:
            case 31087:
            case 31088:
            case 32438:
            case 32439:
            case 32440:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 11, true);
                break;

            case 11963:                 // Adamant rocks
            case 11964:
            case 11965:
            case 11939:
            case 11940:
            case 11941:
            case 14862:
            case 14863:
            case 14864:
            case 31083:
            case 31084:
            case 31085:
            case 32435:
            case 32436:
            case 32437:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 12, true);
                break;

            case 14859:                 // Rune rocks
            case 14860:
            case 14861:
                Mining.tryMineRock(player, objectId, new Location(objectX, objectY, player.getLocation().getZ()), 13, true);
                break;

            case 11552:                 // Empty rocks
            case 11553:
            case 11554:
            case 11555:
            case 11556:
            case 31059:
            case 31060:
            case 31061:
            case 14832:
            case 14833:
            case 14834:
            case 33400:
            case 33401:
            case 33402:
            case 15582:
            case 15583:
            case 15584:
                Mining.displayEmptyRockMessage(player, new Location(objectX, objectY, player.getLocation().getZ()));
                break;

            case 23271:                 // Wilderness ditch
                Wilderness.crossDitch(player, objectX, objectY);
                break;
            }
        }