Ejemplo n.º 1
0
        public Sköllwulf()
            : base(AIType.AI_Predator, FightMode.Weakest, Utility.RandomMinMax(25,50), 1, 0.175, 0.4)
        {
            Name = "a sköllwulf";
            Body = 225;
            BaseSoundID = 0x52B;
            Hue = Utility.RandomList(1886, 1887, 1888, 1889, 1890, 1895, 1896, 1897, 1898, 1899, 1905, 1906, 1907, 1908);
            CreatureGroup = CreatureGroup.Canine;

            SetStr(200,300);
            SetDex(150,250);
            SetInt(35,85);
            SetHits(200,500);
            SetStam(100,200);
            SetMana(100,200);

            SetDamage(Utility.RandomMinMax(3,11), Utility.RandomMinMax(10,18));
            SetDamageType(ResistanceType.Piercing, 70);
            SetDamageType(ResistanceType.Slashing, 30);

            SetResistance(ResistanceType.Blunt, 30, 45);
            SetResistance(ResistanceType.Piercing, 30, 45);
            SetResistance(ResistanceType.Slashing, 20, 35);
            SetResistance(ResistanceType.Fire, 1, 10);
            SetResistance(ResistanceType.Cold, 30, 40);
            SetResistance(ResistanceType.Poison, 30, 40);

            SetSkill(SkillName.MagicResist, 50.0);
            SetSkill(SkillName.Tactics, 25.0, 75.0);
            SetSkill(SkillName.UnarmedFighting, 50.0, 100.0);

            switch (Utility.Random(10))
            {
                case 0:
                    GiveFeat = "BleedingStrike " + Utility.RandomMinMax(1,3).ToString();
                    FavouriteManeuver = "BleedingStrike";
                    break;
                case 1:
                    GiveFeat = "FocusedAttack " + Utility.RandomMinMax(1, 3).ToString();
                    FavouriteStance = "FocusedAttack";
                    break;
                case 2:
                    GiveFeat = "Buildup " + Utility.RandomMinMax(1, 3).ToString();
                    GiveFeat = "QuickReflexes " + Utility.RandomMinMax(1, 3).ToString();
                    break;
                case 3:
                    GiveFeat = "SwipingClaws " + Utility.RandomMinMax(1, 3).ToString();
                    FavouriteStance = "SwipingClaws";
                    break;
                case 4:
                    GiveFeat = "BruteStrength " + Utility.RandomMinMax(1, 3).ToString();
                    GiveFeat = "Cleave " + Utility.RandomMinMax(1, 3).ToString();
                    break;
            }

            Fame = (((RawStr + RawDex + RawInt + RawHits) / 10) + DamageMin + DamageMax) * 100;
            Karma = Fame * -1;
            Tamable = false;
            if (Utility.RandomBool())
                IsSneaky = true;

            AddItem(new BonePile());
            AddItem(new Blood());

            if (Utility.RandomMinMax(1, 100) > 75)
            {
                EmptyJar wolfFang = new EmptyJar();
                wolfFang.ItemID = 0x0f83;
                wolfFang.Hue = 2986;
                wolfFang.Name = "a sköllwulf fang";
                wolfFang.Stackable = false;
            }

            if (Utility.RandomMinMax(1, 100) == 100)
            {
                Name = "a sköllwulf alpha";
                RawStr *= 2;
                RawDex *= 2;
                RawInt *= 2;
                RawHits *= 2;
                RawStam *= 2;

                GiveFeat = "BruteStrength 3";
                GiveFeat = "QuickReflexes 3";
                GiveFeat = "FastHealing 3";

                if (FavouriteStance == null)
                {
                    GiveFeat = "Rage 3";
                    FavouriteStance = "Rage";
                }

                if (FavouriteManeuver == null)
                {
                    GiveFeat = "CriticalStrike 3";
                    FavouriteManeuver = "CriticalStrike";
                }

                Fame *= 2;
                AI = AIType.AI_Berserk;
                FightMode = FightMode.Strongest;
                IsSneaky = true;
            }

            Description = "a large, slavering wolf, fur matted with blood long-since dried, and eyes wild with hunger and rage";
        }
Ejemplo n.º 2
0
        public void SetNodeAppearance()
        {
            switch (m_Resource)
            {
                case ResourceType.None: ItemID = 0x0DDA; Visible = false; BaseName = "Resource Node"; break;
                case ResourceType.Metals:
                    if (Utility.RandomBool())
                    {
                        ItemID = 0x1A83;

                        EmptyJar front = new EmptyJar(0x1A86);
                        front.Movable = false;
                        front.Name = "";
                        front.MoveToWorld(this.Location, this.Map);
                        front.Y--;

                        EmptyJar back = new EmptyJar(0x1A82);
                        back.Movable = false;
                        back.Name = "";
                        front.MoveToWorld(this.Location, this.Map);
                        back.Y++;
                    }
                    else
                    {
                        ItemID = 0x1A88;

                        EmptyJar front = new EmptyJar(0x1A8B);
                        front.Movable = false;
                        front.Name = "";
                        front.MoveToWorld(this.Location, this.Map);
                        front.X--;

                        EmptyJar back = new EmptyJar(0x1A87);
                        back.Movable = false;
                        back.Name = "";
                        back.MoveToWorld(this.Location, this.Map);
                        back.X++;
                    }
                    BaseName = "Metal Resources";
                    break;
                case ResourceType.Food: ItemID = 0x0E5B; BaseName = "Food Resources"; break;
                case ResourceType.Water: ItemID = 0x0E7B; BaseName = "Water Resources"; break;
                case ResourceType.Cloth: ItemID = 0x0DEF; BaseName = "Cloth Resources"; break;
                case ResourceType.Wood: { if (Utility.RandomBool()) ItemID = 0x1BDF; else ItemID = 0x1BE2; } BaseName = "Wood Resources"; break;
                case ResourceType.Influence: BaseName = "Influence Resources"; break;
                default: goto case 0;
            }

            Name = BaseName;
            if (m_Government != null && !m_Government.Deleted)
                Name = BaseName + " [" + m_Government.Name.ToString() + "]";
        }