SetSkill() public method

public SetSkill ( SkillName name, double val ) : void
name SkillName
val double
return void
Beispiel #1
0
        public static void SetStats(BaseCreature steed)
        {
            steed.SetStr(201, 210);
            steed.SetDex(101, 110);
            steed.SetInt(101, 115);

            steed.SetHits(201, 220);

            steed.SetDamage(20, 24);

            steed.SetDamageType(ResistanceType.Physical, 25);
            steed.SetDamageType(ResistanceType.Fire, 75);

            steed.SetResistance(ResistanceType.Physical, 60, 70);
            steed.SetResistance(ResistanceType.Fire, 90);
            steed.SetResistance(ResistanceType.Poison, 100);

            steed.SetSkill(SkillName.MagicResist, 90.1, 110.0);
            steed.SetSkill(SkillName.Tactics, 50.0);
            steed.SetSkill(SkillName.Wrestling, 90.1, 110.0);

            steed.Fame  = 0;
            steed.Karma = 0;
        }
Beispiel #2
0
        public static void SetStats( BaseCreature steed )
        {
            steed.SetStr( 201, 210 );
            steed.SetDex( 101, 110 );
            steed.SetInt( 101, 115 );

            steed.SetHits( 201, 220 );

            steed.SetDamage( 20, 24 );

            steed.SetDamageType( ResistanceType.Physical, 25 );
            steed.SetDamageType( ResistanceType.Fire, 75 );

            steed.SetResistance( ResistanceType.Physical, 60, 70 );
            steed.SetResistance( ResistanceType.Fire, 90 );
            steed.SetResistance( ResistanceType.Poison, 100 );

            steed.SetSkill( SkillName.MagicResist, 90.1, 110.0 );
            steed.SetSkill( SkillName.Tactics, 50.0 );
            steed.SetSkill( SkillName.Wrestling, 90.1, 110.0 );

            steed.Fame = 0;
            steed.Karma = 0;
        }
        public static void CloneMe_OnCommand(CommandEventArgs e)
        {
            BaseCreature m = new BaseCreature(AIType.AI_None, FightMode.None, 10, 1, 0.2, 0.4);
            m.InitStats(10, 10, 10);
            m.SetSkill(SkillName.Cooking, 65, 88);
            m.SetSkill(SkillName.Snooping, 65, 88);
            m.SetSkill(SkillName.Stealing, 65, 88);
            if (m.Female = Utility.RandomBool())
            {
                m.Body = 0x1A6;
                m.Name = NameList.RandomName("female");

            }
            else
            {
                m.Body = 0x1A4;
                m.Name = NameList.RandomName("male");

            }
            e.Mobile.Hidden = true;
            m.Dex = e.Mobile.Dex;
            m.Int = e.Mobile.Int;
            m.Str = e.Mobile.Str;
            m.Fame = e.Mobile.Fame;
            m.Karma = e.Mobile.Karma;
            m.NameHue = e.Mobile.NameHue;
            m.SpeechHue = e.Mobile.SpeechHue;
            m.Criminal = e.Mobile.Criminal;
            m.Name = e.Mobile.Name;
            m.Title = e.Mobile.Title;
            m.Female = e.Mobile.Female;
            m.Body = e.Mobile.Body;
            m.Hue = e.Mobile.Hue;
            m.Hits = e.Mobile.HitsMax;
            m.Mana = e.Mobile.ManaMax;
            m.Stam = e.Mobile.StamMax;
            m.BodyMod = e.Mobile.Body;
            m.Map = e.Mobile.Map;
            m.Location = e.Mobile.Location;
            m.Direction = e.Mobile.Direction;
            m.HairItemID = e.Mobile.HairItemID;
            m.FacialHairItemID = e.Mobile.FacialHairItemID;
            m.HairHue = e.Mobile.HairHue;
            m.FacialHairHue = e.Mobile.FacialHairHue;

            for (int i = 0; i < e.Mobile.Skills.Length; i++)
                m.Skills[i].Base = e.Mobile.Skills[i].Base;

            ArrayList items = new ArrayList(e.Mobile.Items);
            for (int i = 0; i < items.Count; i++)
            {
                Item item = (Item)items[i]; //my favorite line of code, ever.

                if (((item != null) && (item.Parent == e.Mobile) && (item != e.Mobile.Backpack)))
                {
                    Type t = item.GetType();
                    ConstructorInfo c = t.GetConstructor(Type.EmptyTypes);
                    if (c != null)
                    {
                        try
                        {
                            object o = c.Invoke(null);
                            if (o != null && o is Item)
                            {
                                Item newItem = (Item)o;
                                CopyProperties(newItem, item);
                                item.OnAfterDuped(newItem);
                                newItem.Parent = null;
                                m.AddItem(newItem);
                            }
                        }
                        catch
                        {
                        }
                    }
                }
            }
        }
Beispiel #4
0
        public static void Summon( BaseCreature creature, Mobile caster, int sound, TimeSpan duration, bool scaleDuration, bool scaleStats )
        {
            Map map = caster.Map;

            if( map == null )
                return;

            double scale = 1.0 + ((caster.Skills[SkillName.Magery].Value - 100.0) / 200.0);

            if( scaleDuration )
                duration = TimeSpan.FromSeconds(duration.TotalSeconds * scale);

            if ( creature != null && creature.ControlMaster != null && creature.ControlMaster is Player)
            {
                Summoner sum = Perk.GetByType<Summoner>((Player)creature.ControlMaster);

                if (sum != null && sum.Remanence())
                {
                    duration += TimeSpan.FromSeconds(90.0);
                }

            }

            Point3D p = new Point3D(caster);

            if( SpellHelper.FindValidSpawnLocation(map, ref p, true) )
            {
                BaseCreature.Summon(creature, caster, p, sound, duration);

                if (creature != null && creature.ControlMaster != null && creature.ControlMaster is Player)
                {
                    Summoner sum = Perk.GetByType<Summoner>((Player)creature.ControlMaster);

                    if (sum != null && sum.IntelligentDesign())
                    {
                        creature.SetSkill(SkillName.Wrestling, creature.Skills.Wrestling.Value + Utility.RandomMinMax(15, 20));
                        creature.SetSkill(SkillName.Tactics, creature.Skills.Tactics.Value + Utility.RandomMinMax(20, 25));
                        creature.SetSkill(SkillName.MagicResist, creature.Skills.MagicResist.Value + Utility.RandomMinMax(30, 40));
                        creature.SetSkill(SkillName.Meditation, creature.Skills.Meditation.Value + Utility.RandomMinMax(30, 40));
                        creature.SetSkill(SkillName.Magery, creature.Skills.Magery.Value + Utility.RandomMinMax(15, 20));
                        creature.SetSkill(SkillName.EvalInt, creature.Skills.EvalInt.Value + Utility.RandomMinMax(15, 20));
                    }

                    if (sum != null && sum.SecondNature())
                    {
                        creature.HitsMaxSeed += (int)(creature.HitsMaxSeed * 0.33) + Utility.RandomMinMax(20, 40);
                        creature.Hits = creature.HitsMax;
                    }

                    if (sum != null && sum.Horde())
                    {

                        for(int x = 1; x <= 3; x ++)
                        {
                            if (creature.ControlMaster.Followers + creature.ControlSlots <= creature.ControlMaster.FollowersMax)
                            {
                                BaseCreature newSummon;
                                newSummon = Activator.CreateInstance(creature.GetType()) as BaseCreature;

                                if (SpellHelper.FindValidSpawnLocation(map, ref p, true))
                                    BaseCreature.Summon(newSummon, caster, p, sound, duration);

                                if (sum != null && sum.IntelligentDesign())
                                {
                                    newSummon.SetSkill(SkillName.Wrestling, creature.Skills.Wrestling.Value + Utility.RandomMinMax(15, 20));
                                    newSummon.SetSkill(SkillName.Tactics, creature.Skills.Tactics.Value + Utility.RandomMinMax(20, 25));
                                    newSummon.SetSkill(SkillName.MagicResist, creature.Skills.MagicResist.Value + Utility.RandomMinMax(30, 40));
                                    newSummon.SetSkill(SkillName.Meditation, creature.Skills.Meditation.Value + Utility.RandomMinMax(30, 40));
                                    newSummon.SetSkill(SkillName.Magery, creature.Skills.Magery.Value + Utility.RandomMinMax(15, 20));
                                    newSummon.SetSkill(SkillName.EvalInt, creature.Skills.EvalInt.Value + Utility.RandomMinMax(15, 20));
                                }

                                if (sum != null && sum.SecondNature())
                                {
                                    newSummon.HitsMaxSeed += (int)(newSummon.HitsMaxSeed * 0.33) + Utility.RandomMinMax(20, 40);
                                    newSummon.Hits = newSummon.HitsMax;
                                }
                            }
                        }
                    }
                }

                return;
            }

            creature.Delete();
            caster.SendLocalizedMessage(501942); // That location is blocked.
        }
Beispiel #5
0
        public void SizeUpCrewMember(BaseCreature bc, bool evil, int link, Mobile captain, string toss)
        {
            MorphingTime.RemoveMyClothes((Mobile)bc);

            if (bc.Backpack != null)
            {
                List <Item> belongings = new List <Item>();
                foreach (Item i in bc.Backpack.Items)
                {
                    belongings.Add(i);
                }
                foreach (Item stuff in belongings)
                {
                    stuff.Delete();
                }
            }

            bc.AI        = AIType.AI_Archer;
            bc.FightMode = FightMode.Evil;
            bc.Karma     = 1500;
            bc.Name      = "a sailor";

            if (evil)
            {
                bc.FightMode = FightMode.Closest;
                bc.Karma     = -1500;
                bc.Name      = "a pirate";
                if (captain is PirateCult)
                {
                    bc.Name = "a follower";
                }
            }

            bc.SetStr(96, 120);
            bc.SetDex(81, 105);
            bc.SetInt(36, 60);

            bc.SetHits(58, 72);

            SetDamage(10, 23);

            bc.SetDamageType(ResistanceType.Physical, 100);

            bc.SetResistance(ResistanceType.Physical, 35, 50);
            bc.SetResistance(ResistanceType.Fire, 10, 30);
            bc.SetResistance(ResistanceType.Cold, 10, 30);
            bc.SetResistance(ResistanceType.Poison, 10, 30);
            bc.SetResistance(ResistanceType.Energy, 10, 30);

            bc.SetSkill(SkillName.Archery, 66.0, 97.5);
            bc.SetSkill(SkillName.MagicResist, 25.0, 47.5);
            bc.SetSkill(SkillName.Tactics, 65.0, 87.5);
            bc.SetSkill(SkillName.Wrestling, 66.0, 97.5);

            bc.Fame = 1500;

            bc.VirtualArmor = 32;

            bc.Title    = null;
            bc.EmoteHue = link;

            if (toss == "stones")
            {
                MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Stones"; bc.AddItem(gloves);
            }
            else if (toss == "stars")
            {
                MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Stars"; bc.AddItem(gloves);
            }
            else if (toss == "axes")
            {
                MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Axes"; bc.AddItem(gloves);
            }
            else if (toss == "daggers")
            {
                MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Daggers"; bc.AddItem(gloves);
            }
            else if (toss == "darts")
            {
                MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Darts"; bc.AddItem(gloves);
            }
            else if (toss == "spear")
            {
                MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Spear"; bc.AddItem(gloves);
            }
            else if (toss == "boulder")
            {
                MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Boulder"; bc.AddItem(gloves);
            }
            else if (toss == "bones")
            {
                MonsterGloves gloves = new MonsterGloves(); gloves.ThrowType = "Bones"; bc.AddItem(gloves);
            }
            else if (toss == "arrows")
            {
                bc.AddItem(new Bow());
            }
            else if (toss == "crossbow")
            {
                bc.AddItem(new Crossbow());
            }
            else if (toss == "harpoon")
            {
                bc.AddItem(new Harpoon());
            }

            else if (toss == "fire")
            {
                WizardStaff staff = new WizardStaff(); staff.AosElementDamages.Fire = 75; staff.damageType = 1; bc.AddItem(staff);
            }
            else if (toss == "cold")
            {
                WizardStaff staff = new WizardStaff(); staff.AosElementDamages.Cold = 75; staff.damageType = 2; bc.AddItem(staff);
            }
            else if (toss == "energy")
            {
                WizardStaff staff = new WizardStaff(); staff.AosElementDamages.Energy = 75; staff.damageType = 3; bc.AddItem(staff);
            }
            else if (toss == "poison")
            {
                WizardStaff staff = new WizardStaff(); staff.AosElementDamages.Poison = 75; staff.damageType = 4; bc.AddItem(staff);
            }
            else if (toss == "bolt")
            {
                WizardStaff staff = new WizardStaff(); staff.damageType = 0; bc.AddItem(staff);
            }

            DressUpCrewMember(bc, captain);
            bc.NameColor();
            bc.MoveToWorld(captain.Location, captain.Map);
        }
        public static void Corrupt(BaseCreature bc)
        {
            if (bc.IsCorrupt || HalloweenEventController.Instance == null)
            {
                return;
            }

            SkillName[] skills = ((SkillName) 0).GetValues<SkillName>();

            bc.SpecialTitle = "[Spirit of Halloween]";

            int hue = Utility.RandomBool() ? 1358 : 1378;

            bc.Hue = hue;

            bc.SolidHueOverride = hue;

            bc.TitleHue = hue;

            bc.BloodHue = hue;

            if (bc.HitsMaxSeed >= 0)
            {
                bc.HitsMaxSeed = (int) (bc.HitsMaxSeed * HalloweenEventController.HitsBuff);
            }

            bc.RawStr = (int) (bc.RawStr * HalloweenEventController.StrBuff);
            bc.RawInt = (int) (bc.RawInt * HalloweenEventController.IntBuff);
            bc.RawDex = (int) (bc.RawDex * HalloweenEventController.DexBuff);

            bc.Hits = bc.HitsMax;
            bc.Mana = bc.ManaMax;
            bc.Stam = bc.StamMax;

            bc.Tamable = false;

            foreach (SkillName skill in skills)
            {
                bc.SetSkill(skill, 100.0, 120.0);
            }

            bc.PassiveSpeed /= HalloweenEventController.SpeedBuff;
            bc.ActiveSpeed /= HalloweenEventController.SpeedBuff;
            bc.CurrentSpeed = bc.PassiveSpeed;

            bc.DamageMin += HalloweenEventController.DamageBuff;
            bc.DamageMax += HalloweenEventController.DamageBuff;

            if (bc.Fame > 0)
            {
                bc.Fame = (int) (bc.Fame * HalloweenEventController.FameBuff);
            }

            if (bc.Fame > 32000)
            {
                bc.Fame = 32000;
            }

            if (bc.Karma == 0)
            {
                return;
            }

            bc.Karma = (int) (bc.Karma * HalloweenEventController.KarmaBuff);

            if (Math.Abs(bc.Karma) > 32000)
            {
                bc.Karma = 32000 * Math.Sign(bc.Karma);
            }
        }
Beispiel #7
0
        public static void Corrupt(BaseCreature bc)
        {
            if (bc.IsCorrupt || HalloweenEventController.Instance == null)
            {
                return;
            }

            SkillName[] skills = ((SkillName)0).GetValues <SkillName>();

            bc.SpecialTitle = "[Spirit of Halloween]";

            int hue = Utility.RandomBool() ? 1358 : 1378;

            bc.Hue = hue;

            bc.SolidHueOverride = hue;

            bc.TitleHue = hue;

            bc.BloodHue = hue;

            if (bc.HitsMaxSeed >= 0)
            {
                bc.HitsMaxSeed = (int)(bc.HitsMaxSeed * HalloweenEventController.HitsBuff);
            }

            bc.RawStr = (int)(bc.RawStr * HalloweenEventController.StrBuff);
            bc.RawInt = (int)(bc.RawInt * HalloweenEventController.IntBuff);
            bc.RawDex = (int)(bc.RawDex * HalloweenEventController.DexBuff);

            bc.Hits = bc.HitsMax;
            bc.Mana = bc.ManaMax;
            bc.Stam = bc.StamMax;

            bc.Tamable = false;

            foreach (SkillName skill in skills)
            {
                bc.SetSkill(skill, 100.0, 120.0);
            }

            bc.PassiveSpeed /= HalloweenEventController.SpeedBuff;
            bc.ActiveSpeed  /= HalloweenEventController.SpeedBuff;
            bc.CurrentSpeed  = bc.PassiveSpeed;

            bc.DamageMin += HalloweenEventController.DamageBuff;
            bc.DamageMax += HalloweenEventController.DamageBuff;

            if (bc.Fame > 0)
            {
                bc.Fame = (int)(bc.Fame * HalloweenEventController.FameBuff);
            }

            if (bc.Fame > 32000)
            {
                bc.Fame = 32000;
            }

            if (bc.Karma == 0)
            {
                return;
            }

            bc.Karma = (int)(bc.Karma * HalloweenEventController.KarmaBuff);

            if (Math.Abs(bc.Karma) > 32000)
            {
                bc.Karma = 32000 * Math.Sign(bc.Karma);
            }
        }