public RoyalArchivistSF() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "Llewellyn"; Body = 400; Hue = 33777; SpecialTitle = "Royal Archivist"; TitleHue = 1926; Blessed = true; CantWalk = true; SpeechHue = YellHue = 2049; VirtualArmor = 36; TranscriptionBooks = new Dictionary<PlayerMobile, bool>(); AddItem(new Robe(Utility.RandomYellowHue())); AddItem(new Sandals(Utility.RandomYellowHue())); var book = new Spellbook(); book.Name = "Tome of Chaos"; book.Hue = 1194; book.LootType = LootType.Newbied; AddItem(Immovable(book)); HairItemID = 8265; FacialHairItemID = 8254; HairHue = 2577; FacialHairHue = 2577; }
public SlayerSelectSpellbookGump( Spellbook item ) : base( 0, 0 ) { m_Item = item; this.Closable=true; this.Disposable=true; this.Dragable=true; this.Resizable=false; AddPage(0); AddBackground(131, 90, 185, 292, 9200); AddAlphaRegion(137, 96, 172, 25); AddAlphaRegion(137, 130, 172, 247); AddHtml( 137, 96, 172, 25, @"<BASEFONT COLOR=#FFFFFF><CENTER>Select A Slayer</CENTER></BASEFONT>", (bool)false, (bool)false); AddButton(145, 140, 4023, 4024, 1, GumpButtonType.Reply, 0); AddLabel(180, 140, 1152, @"Repond Slayer"); AddButton(145, 170, 4023, 4024, 2, GumpButtonType.Reply, 0); AddLabel(180, 170, 1152, @"Reptile Slayer"); AddButton(145, 200, 4023, 4024, 3, GumpButtonType.Reply, 0); AddLabel(180, 200, 1152, @"Demon Slayer"); AddButton(145, 230, 4023, 4024, 4, GumpButtonType.Reply, 0); AddLabel(180, 230, 1152, @"Elemental Slayer"); AddButton(145, 260, 4023, 4024, 5, GumpButtonType.Reply, 0); AddLabel(180, 260, 1152, @"Undead Slayer"); AddButton(145, 290, 4023, 4024, 6, GumpButtonType.Reply, 0); AddLabel(180, 290, 1152, @"Arachnid Slayer"); AddButton(145, 320, 4023, 4024, 7, GumpButtonType.Reply, 0); AddLabel(180, 320, 1152, @"Fey Slayer"); }
public Beholder() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Beholder"; Body = 22; Hue = 0x0492; BaseSoundID = 377; SetStr( 1500 ); SetDex( 200 ); SetInt( 800 ); SetHits( 1500 ); SetStam( 200 ); SetMana( 800 ); SetDamage( 30, 50 ); SetSkill( SkillName.Magery, 200.0 ); SetSkill( SkillName.MagicResist, 100.0 ); SetSkill( SkillName.Tactics, 150.0 ); SetSkill( SkillName.Wrestling, 200.0 ); Fame = 19000; Karma = -9000; VirtualArmor = 50; Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); }
public Altageas() : base(AIType.AI_SphereMage, FightMode.Closest, 10, 5, 0.2, 0.4) { Name = "Altageas"; Body = 0x03ca; Hue = 0x1; SetStr(600, 700); SetDex(350, 450); SetInt(300, 400); SetHits(610, 720); SetStam(350, 450); SetMana(400); SetDamage(38, 51); SetSkill(SkillName.Magery, 120.0); SetSkill(SkillName.Tactics, 300.0, 400.0); SetSkill(SkillName.MagicResist, 100.0, 150.0); SetSkill(SkillName.Parry, 200.0, 250.0); SetSkill(SkillName.Wrestling, 100.0); SetSkill(SkillName.EvalInt, 120.0); Fame = Utility.RandomMinMax(2500, 4000); Karma = Utility.RandomMinMax(-4000, -6000); VirtualArmor = 80; PackGold(650, 1150); PlateGloves glo = new PlateGloves {Hue = 0x1}; PackItem(glo); Spellbook book = new Spellbook {Content = ulong.MaxValue, LootType = LootType.Regular}; AddItem(book); }
public Khalnga() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4) { Body = 0x190; Title = "the Bone Lord"; SetStr(1254, 1381); SetDex(93, 135); SetInt(745, 810); SetHits(3000, 4500); SetDamage(30, 45); SetSkill(SkillName.Wrestling, 90.1, 100.0); SetSkill(SkillName.Tactics, 90.1, 100.0); SetSkill(SkillName.MagicResist, 90.1, 100.0); SetSkill(SkillName.Magery, 90.1, 100.0); SetSkill(SkillName.EvalInt, 100.0); SetSkill(SkillName.Meditation, 120.1, 130.0); VirtualArmor = 50; Fame = 10000; Karma = -10000; PlateHelm helm = new PlateHelm(); helm.Hue = 1157; helm.Identified = true; AddItem(Immovable(helm)); PlateArms arms = new PlateArms(); arms.Hue = 1157; arms.Identified = true; AddItem(Immovable(arms)); PlateLegs legs = new PlateLegs(); legs.Hue = 1157; legs.Identified = true; AddItem(Immovable(legs)); PlateGloves gloves = new PlateGloves(); gloves.Hue = 1157; gloves.Identified = true; AddItem(Immovable(gloves)); PlateChest chest = new PlateChest(); chest.Hue = 1157; chest.Identified = true; AddItem(Immovable(chest)); PlateGorget gorget = new PlateGorget(); gorget.Hue = 1157; gorget.Identified = true; AddItem(Immovable(gorget)); Spellbook spellbook = new Spellbook(); spellbook.Hue = 1157; spellbook.Name = "red book of spells"; AddItem(Immovable(spellbook)); }
public FrostElfShaman() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Title = "the Frost Elf"; Hue = 1328; AddItem( new Robe() ); AddItem( new Spellbook() ); AddItem( new Sandals() ); Female = Utility.RandomBool(); if( Female ) { Body = 0x191; Name = NameList.RandomName( "pixie" ); AddItem( new LongHair( Serial.NewItem ) ); } else { Body = 0x190; Name = NameList.RandomName( "golem controller" ); AddItem( new KrisnaHair( Serial.NewItem ) ); } SetStr( 126, 150 ); SetDex( 96, 120 ); SetInt( 151, 175 ); SetHits( 150, 200 ); SetDamage( 3, 9 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 30, 40 ); SetResistance( ResistanceType.Fire, 25, 35 ); SetResistance( ResistanceType.Cold, 35, 45 ); SetResistance( ResistanceType.Poison, 5, 15 ); SetResistance( ResistanceType.Energy, 15, 25 ); SetSkill( SkillName.EvalInt, 95.1, 100.0 ); SetSkill( SkillName.Magery, 95.1, 100.0 ); SetSkill( SkillName.Meditation, 95.1, 100.0 ); SetSkill( SkillName.MagicResist, 102.5, 125.0 ); SetSkill( SkillName.Tactics, 65.0, 87.5 ); SetSkill( SkillName.Wrestling, 65.0, 87.5 ); Fame = Utility.RandomMinMax( 2500, 1500 ); Karma = Utility.RandomMinMax( -5000, 2000 ); VirtualArmor = 16; if (Utility.RandomDouble() <= 0.7) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public DemonScholar() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "a demonic scholar"; Body = 400; BaseSoundID = 412; Hue = 1175; SetStr( 416, 505 ); SetDex( 146, 165 ); SetInt( 566, 655 ); SetHits( 250, 303 ); SetDamage( 11, 13 ); SetSkill( SkillName.EvalInt, 90.1, 100.0 ); SetSkill( SkillName.Magery, 90.1, 100.0 ); SetSkill( SkillName.MagicResist, 150.5, 200.0 ); SetSkill( SkillName.Tactics, 50.1, 70.0 ); SetSkill( SkillName.Wrestling, 60.1, 80.0 ); Fame = 18000; Karma = -18000; VirtualArmor = 50; Lantern hands = new Lantern(); hands.Name = "latern of souls"; hands.Hue = 1258; hands.Movable = false; AddItem( hands ); Spellbook hands2 = new Spellbook(); hands2.Name = "ancient spellbook"; hands2.Hue = 1158; hands2.Movable = false; hands2.Content = ulong.MaxValue; AddItem( hands2 ); HoodedShroudOfShadows chest = new HoodedShroudOfShadows(); chest.Name = "hooded shroud"; chest.Hue = 1175; chest.Movable = false; AddItem( chest ); Sandals feet = new Sandals(); feet.Name = "sandals"; feet.Hue = 1258; feet.Movable = false; AddItem( feet ); PackReg( 30 ); if ( Utility.Random( 2500 ) == 0 ) PackItem( new DemonSandals() ); if ( Utility.Random( 2500 ) == 0 ) PackItem( new DemonDoublet() ); if ( Utility.Random( 2500 ) == 0 ) PackItem( new DemonWizardsHat() ); if ( Utility.Random( 2500 ) == 0 ) PackItem( new DemonHalfApron() ); if ( Utility.Random( 2500 ) == 0 ) PackItem( new DemonSkirt() ); }
public Spellbook FullSpellbook() { Spellbook book = new Spellbook(); book.Movable = false; book.LootType = LootType.Blessed; book.Content =0xFFFFFFFFFFFFFFFF; return book; }
public VampireCount() : base( AIType.AI_SphereMelee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Vampire Count"; Body = 0x0190; Hue = 0x497; SetStr( 50 ); SetDex( 50 ); SetInt( 50 ); SetHits( 50 ); SetStam( 50 ); SetDamage( 10, 20 ); SetSkill( SkillName.Poisoning, 90.0, 100.0 ); SetSkill( SkillName.Tactics, 100.0 ); SetSkill( SkillName.MagicResist, 65.0, 88.0 ); SetSkill( SkillName.Parry, 75.0, 98.0 ); SetSkill( SkillName.Wrestling, 67.0, 90.0 ); SetSkill( SkillName.DetectHidden, 90.0, 100.0 ); SetSkill( SkillName.Swords, 150.0 ); SetSkill(SkillName.EvalInt, 95.0, 100.0); Fame = 0; VirtualArmor = 10; //Here we add his loot. //PackGold(1000, 1500); //PackItem(new VampireHeart()); //PackItem(new VampireBone(10)); HairItemID = 8252; HairHue = Utility.RandomHairHue(); PlateGloves glo = new PlateGloves(); glo.Hue = 0x1; PackItem( glo ); Item temp = new Doublet( 0x1 ); temp.Movable = false; AddItem( temp ); temp = new ThighBoots( 0x1 ); temp.Movable = false; AddItem( temp ); temp = new FancyShirt( 0x0496 ); temp.Movable = false; AddItem( temp ); temp = new ShortPants( 0x1 ); temp.Movable = false; AddItem( temp ); temp = null; Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); }
public override void GiveEquipment() { var spellbook = new Spellbook(); spellbook.Name = "a book of chaos"; spellbook.Hue = 1920; spellbook.Movable = false; AddItem(Immovable(spellbook)); base.GiveEquipment(); }
public LysanderGathenwale() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4) { Title = "the Cursed"; Hue = 0x8838; Body = 0x190; Name = "Lysander Gathenwale"; AddItem( new Boots( 0x599 ) ); AddItem( new Cloak( 0x96F ) ); Spellbook spellbook = new Spellbook(); RingmailGloves gloves = new RingmailGloves(); StuddedChest chest = new StuddedChest(); PlateArms arms = new PlateArms(); spellbook.Hue = 0x599; gloves.Hue = 0x599; chest.Hue = 0x96F; arms.Hue = 0x599; AddItem( spellbook ); AddItem( gloves ); AddItem( chest ); AddItem( arms ); SetStr( 111, 120 ); SetDex( 71, 80 ); SetInt( 121, 130 ); SetHits( 180, 207 ); SetMana( 227, 265 ); SetDamage( 5, 13 ); SetResistance( ResistanceType.Physical, 35, 45 ); SetResistance( ResistanceType.Fire, 25, 30 ); SetResistance( ResistanceType.Cold, 50, 60 ); SetResistance( ResistanceType.Poison, 25, 35 ); SetResistance( ResistanceType.Energy, 25, 35 ); SetSkill( SkillName.UnarmedFighting, 80.1, 90.0 ); SetSkill( SkillName.Tactics, 90.1, 100.0 ); SetSkill( SkillName.MagicResist, 80.1, 90.0 ); SetSkill( SkillName.Magery, 90.1, 100.0 ); SetSkill( SkillName.Invocation, 95.1, 100.0 ); SetSkill( SkillName.Meditation, 90.1, 100.0 ); Fame = 5000; Karma = -10000; Item reags = Loot.RandomReagent(); reags.Amount = 30; PackItem( reags ); }
public LysanderGathenwale() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Title = "the Cursed"; Hue = 0x8838; Body = 0x190; AddItem( Immovable( new Boots( 0x599 )) ); AddItem( Immovable(new Cloak( 0x96F )) ); Spellbook spellbook = new Spellbook(); spellbook.LootType = LootType.Blessed; RingmailGloves gloves = new RingmailGloves(); StuddedChest chest = new StuddedChest(); PlateArms arms = new PlateArms(); spellbook.Hue = 0x599; gloves.Hue = 0x599; chest.Hue = 0x96F; arms.Hue = 0x599; AddItem( Immovable(spellbook) ); AddItem( Immovable( gloves) ); AddItem( Immovable(chest) ); AddItem( Immovable(arms) ); SetStr( 111, 120 ); SetDex( 71, 80 ); SetInt( 121, 130 ); SetHits( 180, 207 ); SetMana( 227, 265 ); SetDamage( 5, 13 ); SetSkill( SkillName.Wrestling, 80.1, 90.0 ); SetSkill( SkillName.Tactics, 90.1, 100.0 ); SetSkill( SkillName.MagicResist, 80.1, 90.0 ); SetSkill( SkillName.Magery, 90.1, 100.0 ); SetSkill( SkillName.EvalInt, 95.1, 100.0 ); SetSkill( SkillName.Meditation, 90.1, 100.0 ); Fame = 5000; Karma = -10000; Item reags = Loot.RandomReagent(); reags.Amount = 30; PackItem( reags ); }
public Imp() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Imp"; Body = 74; BaseSoundID = 422; SetStr( 91, 115 ); SetDex( 61, 80 ); SetInt( 86, 98 ); SetHits( 55, 70 ); SetDamage( 10, 14 ); SetDamageType( ResistanceType.Physical, 0 ); SetDamageType( ResistanceType.Fire, 50 ); SetDamageType( ResistanceType.Poison, 50 ); SetResistance( ResistanceType.Physical, 25, 35 ); SetResistance( ResistanceType.Fire, 40, 50 ); SetResistance( ResistanceType.Cold, 20, 30 ); SetResistance( ResistanceType.Poison, 30, 40 ); SetResistance( ResistanceType.Energy, 30, 40 ); SetSkill( SkillName.EvalInt, 20.1, 40.0 ); SetSkill( SkillName.Magery, 85.1, 90.0 ); SetSkill( SkillName.MagicResist, 39.1, 59.0 ); SetSkill( SkillName.Tactics, 42.1, 50.0 ); SetSkill( SkillName.Wrestling, 40.1, 44.0 ); Fame = 2500; VirtualArmor = 30; Tamable = true; ControlSlots = 2; MinTameSkill = 83.1; if (Core.ML && Utility.RandomDouble() < 0.09) PackItem(Engines.Plants.Seed.RandomPeculiarSeed(2)); if (Utility.RandomDouble() <= 0.2) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public EvilMageLord() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "evil mage lord" ); Body = Utility.RandomList( 125, 126 ); PackItem( new Robe( Utility.RandomMetalHue() ) ); PackItem( new WizardsHat( Utility.RandomMetalHue() ) ); SetStr( 81, 105 ); SetDex( 191, 215 ); SetInt( 126, 150 ); SetHits( 49, 63 ); SetDamage( 5, 10 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 35, 40 ); SetResistance( ResistanceType.Fire, 30, 40 ); SetResistance( ResistanceType.Cold, 30, 40 ); SetResistance( ResistanceType.Poison, 30, 40 ); SetResistance( ResistanceType.Energy, 30, 40 ); SetSkill( SkillName.EvalInt, 80.2, 100.0 ); SetSkill( SkillName.Magery, 95.1, 100.0 ); SetSkill( SkillName.Meditation, 27.5, 50.0 ); SetSkill( SkillName.MagicResist, 77.5, 100.0 ); SetSkill( SkillName.Tactics, 65.0, 87.5 ); SetSkill( SkillName.Wrestling, 20.3, 80.0 ); Fame = 10500; Karma = -7000; VirtualArmor = 16; PackReg( 23 ); if ( Utility.RandomBool() ) PackItem( new Shoes() ); else PackItem( new Sandals() ); if (Utility.RandomDouble() <= 0.3) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public Lich() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Lich"; Body = 24; BaseSoundID = 0x3E9; SetStr( 171, 200 ); SetDex( 126, 145 ); SetInt( 276, 305 ); SetHits( 103, 120 ); SetDamage( 24, 26 ); SetDamageType( ResistanceType.Physical, 10 ); SetDamageType( ResistanceType.Cold, 40 ); SetDamageType( ResistanceType.Energy, 50 ); SetResistance( ResistanceType.Physical, 40, 60 ); SetResistance( ResistanceType.Fire, 20, 30 ); SetResistance( ResistanceType.Cold, 50, 60 ); SetResistance( ResistanceType.Poison, 55, 65 ); SetResistance( ResistanceType.Energy, 40, 50 ); //SetSkill(SkillName.Necromancy, 89, 99.1); //SetSkill(SkillName.SpiritSpeak, 90.0, 99.0); SetSkill(SkillName.EvalInt, 100.0); SetSkill( SkillName.Magery, 70.1, 80.0 ); SetSkill( SkillName.Meditation, 85.1, 95.0 ); SetSkill( SkillName.MagicResist, 80.1, 100.0 ); SetSkill( SkillName.Tactics, 70.1, 90.0 ); Fame = 8000; Karma = -4000; VirtualArmor = 50; PackItem( new GnarledStaff() ); PackNecroReg( 17, 24 ); if (Utility.RandomDouble() <= 0.3) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public override void InitOutfit() { FloppyHat head = new FloppyHat(); head.Hue = 1175; AddItem( head ); PlainDress chest = new PlainDress(); chest.Hue = 1175; AddItem( chest ); AddItem( new GoldNecklace() ); Spellbook lefthand = new Spellbook(); lefthand.Hue = 1217; AddItem( lefthand ); Sandals feet = new Sandals(); feet.Hue = 1175; AddItem( feet ); }
public OrcishMage () : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Orcish Mage"; Body = 140; BaseSoundID = 0x45A; SetStr( 116, 150 ); SetDex( 91, 115 ); SetInt( 161, 180 ); SetHits( 70, 90 ); SetDamage( 4, 14 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 25, 35 ); SetResistance( ResistanceType.Fire, 30, 40 ); SetResistance( ResistanceType.Cold, 20, 30 ); SetResistance( ResistanceType.Poison, 30, 40 ); SetResistance( ResistanceType.Energy, 30, 40 ); SetSkill( SkillName.EvalInt, 60.1, 69.5 ); SetSkill( SkillName.Magery, 60.1, 69.5 ); SetSkill( SkillName.MagicResist, 60.1, 75.0 ); SetSkill( SkillName.Tactics, 50.1, 65.0 ); SetSkill( SkillName.Wrestling, 40.1, 50.0 ); Fame = 3000; VirtualArmor = 30; PackReg( 6 ); if ( 0.05 > Utility.RandomDouble() ) PackItem( new OrcishKinMask() ); if (Utility.RandomDouble() <= 0.7) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public RatmanMage() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "ratman" ); Body = 0x8F; BaseSoundID = 437; SetStr( 146, 180 ); SetDex( 101, 130 ); SetInt( 186, 200 ); SetHits( 88, 108 ); SetDamage( 7, 14 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 40, 45 ); SetResistance( ResistanceType.Fire, 10, 20 ); SetResistance( ResistanceType.Cold, 10, 20 ); SetResistance( ResistanceType.Poison, 10, 20 ); SetResistance( ResistanceType.Energy, 10, 20 ); SetSkill( SkillName.EvalInt, 70.1, 75.0 ); SetSkill( SkillName.Magery, 70.1, 75.0 ); SetSkill( SkillName.MagicResist, 65.1, 90.0 ); SetSkill( SkillName.Tactics, 50.1, 75.0 ); SetSkill( SkillName.Wrestling, 50.1, 75.0 ); Fame = 7500; VirtualArmor = 44; PackReg( 6 ); if ( 0.02 > Utility.RandomDouble() ) PackStatue(); if (Utility.RandomDouble() <= 0.7) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public AncientLich() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "Ancient Lich" ); Body = 78; BaseSoundID = 412; SetStr( 216, 305 ); SetDex( 96, 115 ); SetInt( 966, 1045 ); SetHits( 560, 595 ); SetDamage( 15, 27 ); SetDamageType( ResistanceType.Physical, 20 ); SetDamageType( ResistanceType.Cold, 40 ); SetDamageType( ResistanceType.Energy, 40 ); SetResistance( ResistanceType.Physical, 55, 65 ); SetResistance( ResistanceType.Fire, 25, 30 ); SetResistance( ResistanceType.Cold, 50, 60 ); SetResistance( ResistanceType.Poison, 50, 60 ); SetResistance( ResistanceType.Energy, 25, 30 ); SetSkill( SkillName.EvalInt, 120.1, 130.0 ); SetSkill( SkillName.Magery, 120.1, 130.0 ); SetSkill( SkillName.Meditation, 100.1, 101.0 ); SetSkill( SkillName.Poisoning, 100.1, 101.0 ); SetSkill( SkillName.MagicResist, 175.2, 200.0 ); SetSkill( SkillName.Tactics, 90.1, 100.0 ); SetSkill( SkillName.Wrestling, 75.1, 100.0 ); Fame = 23000; Karma = -16000; VirtualArmor = 60; PackNecroReg( 30, 275 ); Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); }
public Balron () : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "Balron" ); Body = 40; BaseSoundID = 357; SetStr( 986, 1185 ); SetDex( 177, 255 ); SetInt( 151, 250 ); SetHits( 592, 711 ); SetDamage( 22, 29 ); SetDamageType( ResistanceType.Physical, 50 ); SetDamageType( ResistanceType.Fire, 25 ); SetDamageType( ResistanceType.Energy, 25 ); SetResistance( ResistanceType.Physical, 65, 80 ); SetResistance( ResistanceType.Fire, 60, 80 ); SetResistance( ResistanceType.Cold, 50, 60 ); SetResistance( ResistanceType.Poison, 100 ); SetResistance( ResistanceType.Energy, 40, 50 ); SetSkill( SkillName.Anatomy, 25.1, 50.0 ); SetSkill( SkillName.EvalInt, 90.1, 100.0 ); SetSkill( SkillName.Magery, 95.5, 100.0 ); SetSkill( SkillName.Meditation, 25.1, 50.0 ); SetSkill( SkillName.MagicResist, 100.5, 150.0 ); SetSkill( SkillName.Tactics, 90.1, 100.0 ); SetSkill( SkillName.Wrestling, 90.1, 100.0 ); Fame = 24000; Karma = -18000; VirtualArmor = 90; PackItem( new Longsword() ); Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); }
public Gazer () : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Gazer"; Body = 22; BaseSoundID = 377; SetStr( 96, 125 ); SetDex( 86, 105 ); SetInt( 141, 155 ); SetHits( 58, 75 ); SetDamage( 5, 10 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 35, 40 ); SetResistance( ResistanceType.Fire, 40, 50 ); SetResistance( ResistanceType.Cold, 20, 30 ); SetResistance( ResistanceType.Poison, 10, 20 ); SetResistance( ResistanceType.Energy, 20, 30 ); SetSkill( SkillName.EvalInt, 50.1, 65.0 ); SetSkill( SkillName.Magery, 50.1, 65.0 ); SetSkill( SkillName.MagicResist, 60.1, 75.0 ); SetSkill( SkillName.Tactics, 50.1, 70.0 ); SetSkill( SkillName.Wrestling, 50.1, 70.0 ); Fame = 3500; Karma = -3500; VirtualArmor = 36; PackItem( new Nightshade( 4 ) ); if (Utility.RandomDouble() <= 0.7) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public EvilMage() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "evil mage" ); Title = "the evil mage"; Body = 124; SetStr( 81, 105 ); SetDex( 91, 115 ); SetInt( 96, 110 ); SetHits( 49, 63 ); SetDamage( 5, 10 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 15, 20 ); SetResistance( ResistanceType.Fire, 5, 10 ); SetResistance( ResistanceType.Poison, 5, 10 ); SetResistance( ResistanceType.Energy, 5, 10 ); SetSkill( SkillName.EvalInt, 75.1, 90.0 ); SetSkill( SkillName.Magery, 75.1, 90.0 ); SetSkill( SkillName.MagicResist, 75.0, 97.5 ); SetSkill( SkillName.Tactics, 65.0, 87.5 ); SetSkill( SkillName.Wrestling, 20.2, 60.0 ); Fame = 2500; VirtualArmor = 16; PackReg( 6 ); PackItem( new Robe( Utility.RandomNeutralHue() ) ); // TODO: Proper hue PackItem( new Sandals() ); if (Utility.RandomDouble() <= 0.3) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public Wraith() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Wraith"; Body = 26; Hue = 0x4001; BaseSoundID = 0x482; SetStr( 76, 100 ); SetDex( 76, 95 ); SetInt( 36, 55 ); SetHits( 46, 60 ); SetDamage( 7, 11 ); SetDamageType( ResistanceType.Physical, 50 ); SetDamageType( ResistanceType.Cold, 50 ); SetResistance( ResistanceType.Physical, 25, 30 ); SetResistance( ResistanceType.Cold, 15, 25 ); SetResistance( ResistanceType.Poison, 10, 20 ); SetSkill( SkillName.EvalInt, 55.1, 65.0 ); SetSkill( SkillName.Magery, 55.1, 65.0 ); SetSkill( SkillName.MagicResist, 55.1, 70.0 ); SetSkill( SkillName.Tactics, 45.1, 60.0 ); SetSkill( SkillName.Wrestling, 45.1, 55.0 ); Fame = 4000; VirtualArmor = 28; PackReg( 10 ); if (Utility.RandomDouble() <= 0.3) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public FireGargoyle() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "Fire Gargoyle" ); Body = 130; BaseSoundID = 0x174; SetStr( 351, 400 ); SetDex( 126, 145 ); SetInt( 226, 250 ); SetHits( 211, 240 ); SetDamage( 7, 14 ); SetDamageType( ResistanceType.Physical, 20 ); SetDamageType( ResistanceType.Fire, 80 ); SetResistance( ResistanceType.Physical, 30, 35 ); SetResistance( ResistanceType.Fire, 50, 60 ); SetResistance( ResistanceType.Poison, 20, 30 ); SetResistance( ResistanceType.Energy, 20, 30 ); SetSkill( SkillName.Anatomy, 75.1, 85.0 ); SetSkill( SkillName.EvalInt, 90.1, 105.0 ); SetSkill( SkillName.Magery, 90.1, 105.0 ); SetSkill( SkillName.Meditation, 90.1, 105.0 ); SetSkill( SkillName.MagicResist, 90.1, 105.0 ); SetSkill( SkillName.Tactics, 80.1, 100.0 ); SetSkill( SkillName.Wrestling, 40.1, 80.0 ); Fame = 3500; VirtualArmor = 32; if (Utility.RandomDouble() <= 0.7) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } }
public Gargoyle() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Gargoyle"; Body = 4; BaseSoundID = 372; SetStr( 146, 175 ); SetDex( 76, 95 ); SetInt( 81, 105 ); SetHits( 88, 105 ); SetDamage( 7, 14 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 30, 35 ); SetResistance( ResistanceType.Fire, 25, 35 ); SetResistance( ResistanceType.Cold, 5, 10 ); SetResistance( ResistanceType.Poison, 15, 25 ); SetSkill( SkillName.EvalInt, 70.1, 85.0 ); SetSkill( SkillName.Magery, 70.1, 85.0 ); SetSkill( SkillName.MagicResist, 70.1, 85.0 ); SetSkill( SkillName.Tactics, 50.1, 70.0 ); SetSkill( SkillName.Wrestling, 40.1, 80.0 ); Fame = 3500; VirtualArmor = 32; if (Utility.RandomDouble() <= 0.7) { Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); } //if ( 0.025 > Utility.RandomDouble() ) // PackItem( new GargoylesPickaxe() ); }
public RuinedWizard() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "BacktrolMale" ) + ", the ruined wizard"; BodyValue = 985; BaseSoundID = 0; SetStr( 400, 500 ); SetDex( 145, 165 ); SetInt( 550, 650 ); SetHits( 250, 300 ); SetDamage( 8, 10 ); SetDamageType( ResistanceType.Physical, 0 ); SetDamageType( ResistanceType.Fire, 20 ); SetDamageType( ResistanceType.Cold, 20 ); SetDamageType( ResistanceType.Energy, 60 ); SetResistance( ResistanceType.Physical, 40, 50 ); SetResistance( ResistanceType.Fire, 30, 40 ); SetResistance( ResistanceType.Cold, 50, 60 ); SetResistance( ResistanceType.Poison, 50, 60 ); SetResistance( ResistanceType.Energy, 40, 50 ); SetSkill( SkillName.Meditation, 65, 75 ); SetSkill( SkillName.EvalInt, 90, 105 ); SetSkill( SkillName.Magery, 85, 100 ); SetSkill( SkillName.MagicResist, 100, 120 ); SetSkill( SkillName.Tactics, 50, 70 ); SetSkill( SkillName.Wrestling, 60, 75 ); Fame = 12000; Karma = -12000; VirtualArmor = 35; Spellbook book = new Spellbook(); book.Content = 74813425443667967; book.LootType = LootType.Cursed; PackItem( book ); }
public RoyalArchivist() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "Llewellyn"; Body = 400; Hue = 33777; SpecialTitle = "Royal Archivist"; TitleHue = 1926; Blessed = true; CantWalk = true; SpeechHue = YellHue = 34; foreach (SkillName skill in _Skills) { SetSkill(skill, 80.0, 110); } VirtualArmor = 36; NotesAquired = 0; NotesGiven = new Dictionary<PlayerMobile, int>(); AddItem(new Robe(Utility.RandomYellowHue())); AddItem(new Sandals(Utility.RandomYellowHue())); var book = new Spellbook(); book.Name = "Tome of Chaos"; book.Hue = 1194; book.LootType = LootType.Newbied; AddItem(Immovable(book)); HairItemID = 8265; FacialHairItemID = 8254; HairHue = 2577; FacialHairHue = 2577; }
public ArcaneDaemon() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Arcane Daemon"; Body = 0x310; BaseSoundID = 0x47D; SetStr( 131, 150 ); SetDex( 126, 145 ); SetInt( 301, 350 ); SetHits( 101, 115 ); SetDamage( 12, 16 ); SetDamageType( ResistanceType.Physical, 80 ); SetDamageType( ResistanceType.Fire, 20 ); SetResistance( ResistanceType.Physical, 50, 60 ); SetResistance( ResistanceType.Fire, 70, 80 ); SetResistance( ResistanceType.Cold, 10, 20 ); SetResistance( ResistanceType.Poison, 50, 60 ); SetResistance( ResistanceType.Energy, 30, 40 ); SetSkill( SkillName.MagicResist, 85.1, 95.0 ); SetSkill( SkillName.Tactics, 70.1, 80.0 ); SetSkill( SkillName.Wrestling, 60.1, 80.0 ); SetSkill( SkillName.Magery, 80.1, 90.0 ); SetSkill( SkillName.EvalInt, 70.1, 80.0 ); SetSkill( SkillName.Meditation, 70.1, 80.0 ); Fame = 7000; Karma = -10000; VirtualArmor = 55; Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); }
public ReactiveBalron() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "balron" ); Body = 40; BaseSoundID = 357; Hue = 1957; SetStr( 1000, 1250 ); SetDex( 255, 300 ); SetInt( 151, 250 ); SetHits( 1100, 1250 ); SetStam( 255, 300 ); SetMana( 400 ); SetDamage( 45, 60 ); SetDamageType( ResistanceType.Physical, 50 ); SetDamageType( ResistanceType.Fire, 25 ); SetDamageType( ResistanceType.Energy, 25 ); SetSkill( SkillName.Parry, 120.0 ); SetSkill( SkillName.Magery, 120.0 ); SetSkill( SkillName.Meditation, 70.0 ); SetSkill( SkillName.MagicResist, 150.0 ); SetSkill( SkillName.Tactics, 150.0 ); SetSkill( SkillName.Wrestling, 150.0 ); Fame = 24000; Karma = -24000; VirtualArmor = 90; PackItem( new Longsword() ); //PackItem(new DaemonsBlood(8)); Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; book.LootType = LootType.Regular; AddItem(book); }
public static bool ValidateSpellbook( Spellbook book, int spellID, SpellbookType type ) { return ( book.SpellbookType == type && ( spellID == -1 || book.HasSpell( spellID ) ) ); }
protected override void OnTarget(Mobile from, object target) { Item item = target as Item; Type type = item.GetType(); if (item is BaseArmor || item is BaseWeapon || item is BaseHat || item is BaseJewel || item is BaseTalisman || item is BaseQuiver || item is Spellbook) { if (Runescribing.GetProps(item) >= 7) { from.SendMessage("This item cannot be enhanced any further"); } else if (item.ChantSlots >= 3) { from.SendMessage("This item cannot handle any more enhancments."); } else if (Runescribing.CheckBlacklist(type) == true) { from.SendMessage("This item cannot be enhanced."); } else { int value = m_Rune.BaseAmount; int max = m_Rune.MaxAmount; if (item is BaseArmor) { BaseArmor i = item as BaseArmor; if (i.Attributes.LowerManaCost + value <= max) { i.Attributes.LowerManaCost += value; } else { i.Attributes.LowerManaCost = max; } } if (item is BaseWeapon) { BaseWeapon i = item as BaseWeapon; if (i.Attributes.LowerManaCost + value <= max) { i.Attributes.LowerManaCost += value; } else { i.Attributes.LowerManaCost = max; } } if (item is BaseHat) { BaseHat i = item as BaseHat; if (i.Attributes.LowerManaCost + value <= max) { i.Attributes.LowerManaCost += value; } else { i.Attributes.LowerManaCost = max; } } if (item is BaseJewel) { BaseJewel i = item as BaseJewel; if (i.Attributes.LowerManaCost + value <= max) { i.Attributes.LowerManaCost += value; } else { i.Attributes.LowerManaCost = max; } } if (item is BaseTalisman) { BaseTalisman i = item as BaseTalisman; if (i.Attributes.LowerManaCost + value <= max) { i.Attributes.LowerManaCost += value; } else { i.Attributes.LowerManaCost = max; } } if (item is BaseQuiver) { BaseQuiver i = item as BaseQuiver; if (i.Attributes.LowerManaCost + value <= max) { i.Attributes.LowerManaCost += value; } else { i.Attributes.LowerManaCost = max; } } if (item is Spellbook) { Spellbook i = item as Spellbook; if (i.Attributes.LowerManaCost + value <= max) { i.Attributes.LowerManaCost += value; } else { i.Attributes.LowerManaCost = max; } } item.ChantSlots += 1; m_Rune.Delete(); } } else { from.SendMessage("You cannot use this enhancement on that."); } }
public static void ApplyAttributesTo(Spellbook spellbook, int attributeCount, int min, int max) { ApplyAttributesTo(spellbook, false, 0, attributeCount, min, max); }
public static void ApplyAttributesTo(Spellbook spellbook, bool isRunicTool, int luckChance, int attributeCount, int min, int max) { m_IsRunicTool = isRunicTool; m_LuckChance = luckChance; AosAttributes primary = spellbook.Attributes; AosSkillBonuses skills = spellbook.SkillBonuses; m_Props.SetAll(false); m_Props.Set(0, true); // no lower stat requirements for weapons for (int i = 0; i < attributeCount; ++i) { int random = GetUniqueRandom(16); if (random == -1) { break; } switch (random) { case 0: case 1: case 2: case 3: { ApplyAttribute(primary, min, max, AosAttribute.BonusInt, 1, 8); for (int j = 0; j < 4; ++j) { m_Props.Set(j, true); } break; } case 4: ApplyAttribute(primary, min, max, AosAttribute.BonusMana, 1, 8); break; case 5: ApplyAttribute(primary, min, max, AosAttribute.CastSpeed, 1, 1); break; case 6: ApplyAttribute(primary, min, max, AosAttribute.CastRecovery, 1, 3); break; case 7: ApplyAttribute(primary, min, max, AosAttribute.SpellDamage, 1, 12); break; case 8: ApplySkillBonus(skills, min, max, 0, 1, 15); break; case 9: ApplySkillBonus(skills, min, max, 1, 1, 15); break; case 10: ApplySkillBonus(skills, min, max, 2, 1, 15); break; case 11: ApplySkillBonus(skills, min, max, 3, 1, 15); break; case 12: ApplyAttribute(primary, min, max, AosAttribute.LowerRegCost, 1, 20); break; case 13: ApplyAttribute(primary, min, max, AosAttribute.LowerManaCost, 1, 8); break; case 14: ApplyAttribute(primary, min, max, AosAttribute.RegenMana, 1, 2); break; case 15: spellbook.Slayer = GetRandomSlayer(); break; } } }
public static bool ValidateSpellbook(Spellbook book, int spellID, SpellbookType type) { return(book.SpellbookType == type && (spellID == -1 || book.HasSpell(spellID))); }
public SlayerSelectEntry(Mobile from, Spellbook item) : base(5089, -1) { m_From = from; m_Item = item; }
public void GoToPrison() { try { if (m_Player == null || m_Player.Deleted) { return; } Account acct = m_Player.Account as Account; // stable the players pets StablePets(m_Staff, m_Player); // drop holding Item held = m_Player.Holding; if (held != null) { held.ClearBounce(); if (m_Player.Backpack != null) { m_Player.Backpack.DropItem(held); } } m_Player.Holding = null; // move their items to the bank, overload if needed Backpack bag = new Backpack(); ArrayList equip = new ArrayList(m_Player.Items); if (m_Player.Backpack != null) { // count clothing items int WornCount = 0; foreach (Item i in equip) { if (Moongate.RestrictedItem(m_Player, i) == false) { continue; // not clothes } else { WornCount++; } } // Unequip any items being worn foreach (Item i in equip) { if (Moongate.RestrictedItem(m_Player, i) == false) { continue; } else { m_Player.Backpack.DropItem(i); } } // Get a count of all items in the player's backpack. ArrayList items = new ArrayList(m_Player.Backpack.Items); // Drop our new bag in the player's bank m_Player.BankBox.DropItem(bag); // Run through all items in player's pack, move them to the bag we just dropped in the bank foreach (Item i in items) { m_Player.Backpack.RemoveItem(i); bag.DropItem(i); } } // handle imprisoning of logged out players m_Player.MoveToWorld(m_Location, Map.Felucca); if (m_Player.NetState == null) { m_Player.LogoutLocation = m_Location; m_Player.Map = Map.Internal; } // make them an inmate m_Player.Inmate = true; // Give them a Deathrobe, Stinger dagger, and a blank spell book if (m_Player.Alive) { Item robe = new Server.Items.DeathRobe(); if (!m_Player.EquipItem(robe)) { robe.Delete(); } } Item aiStinger = new Server.Items.AIStinger(); if (!m_Player.AddToBackpack(aiStinger)) { aiStinger.Delete(); } Item spellbook = new Server.Items.Spellbook(); if (!m_Player.AddToBackpack(spellbook)) { spellbook.Delete(); } m_Player.ShortTermCriminalCounts += 3; // how long you will stay m_Player.LongTermCriminalCounts++; // how many times you've been to prison if (!m_Player.Alive && m_Player.NetState != null) { m_Player.CloseGump(typeof(Server.Gumps.ResurrectGump)); m_Player.SendGump(new Server.Gumps.ResurrectGump(m_Player, Server.Gumps.ResurrectMessage.Healer)); } int sentence = (int)m_Player.ShortTermCriminalCounts * 4; // decay time in prison is 4 hours per count m_Player.SendMessage("You have been imprisoned for {0} hours.", sentence); m_Staff.SendMessage("{0} has been imprisoned for {1} hours.", m_Player.Name, sentence); LogHelper Logger = new LogHelper("Prison.log", false, true); Logger.Log(LogType.Mobile, m_Player, string.Format("{0}:{1}:{2}:{3}", m_Staff.Name, m_Staff.Location, m_Comment, sentence)); Logger.Finish(); Commands.CommandLogging.WriteLine(m_Staff, "{0} imprisoned {1}(Username: {2}) for {4} hours with reason: {3}.", m_Staff.Name, m_Player.Name, acct.Username, m_Comment, sentence); acct.Comments.Add(new AccountComment(m_Staff.Name, DateTime.Now + "\nTag count: " + (acct.Comments.Count + 1) + "\nImprisoned for " + sentence + " hours. Reason: " + m_Comment)); } catch (Exception ex) { LogHelper.LogException(ex); } }