public HordeMinionFamiliar() { Name = "a horde minion"; Body = 776; BaseSoundID = 0x39D; SetStr( 100 ); SetDex( 110 ); SetInt( 100 ); SetHits( 70 ); SetStam( 110 ); SetMana( 0 ); SetDamage( 5, 10 ); SetSkill( SkillName.Wrestling, 70.1, 75.0 ); SetSkill( SkillName.Tactics, 50.0 ); ControlSlots = 1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public PackLlama() : base(AIType.AI_Animal, FightMode.Aggressor, 12, 1, 0.5, 0.75) { Body = 292; Name = "a pack llama"; SetStr( 21, 49 ); SetHits( 21, 49 ); SetDex( 36, 55 ); SetStam( 36, 55 ); SetInt( 16, 30 ); SetMana( 0 ); Tamable = true; MinTameSkill = 50; BaseSoundID = 181; SetSkill( SkillName.Wrestling, 19.2, 29 ); SetSkill( SkillName.Parry, 35.1, 45 ); SetSkill( SkillName.Tactics, 19.2, 29 ); SetSkill( SkillName.MagicResist, 15.1, 20 ); VirtualArmor = 8; SetDamage( 2, 6 ); Fame = 0; Karma = 200; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public EvilSara() : base( AIType.AI_Animal, FightMode.Closest, 10, 5, 0.175, 0.75 ) { Name = "Evil Sara"; //Title = ""; Body = 205; Hue = 0x481; BaseSoundID = 0; SetStr( 45, 55 ); SetDex( 45, 55 ); SetInt( 31, 43 ); SetHits( 300, 400 ); SetDamage( 15, 20 ); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 30, 34); SetResistance(ResistanceType.Fire, 10, 14); SetResistance(ResistanceType.Cold, 30, 35); SetResistance(ResistanceType.Poison, 20, 25); SetResistance(ResistanceType.Energy, 20, 25); SetSkill(SkillName.MagicResist, 120.0); SetSkill(SkillName.Tactics, 120.0); SetSkill(SkillName.Wrestling, 120.0); Fame = 500; Karma = 100; VirtualArmor = 15; //Tamable = true; //ControlSlots = 1; //MinTameSkill = 11.1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); double gschance = Utility.RandomDouble(); //If the random generated number is higher then 70, or exacly 70, a staff will drop. //Meaning: there's a 30% chance that one will drop. if ( gschance <= 0.7 ) { Item EvilSaraPickaxe = new EvilSaraPickaxe(); AddItem( EvilSaraPickaxe ); } }
public Squire(): base( AIType.AI_Melee, FightMode.Evil, 10, 1, 0.2, 0.4 ) { Name = GetName(); Body = 401; BaseSoundID = 0x31B; Hue = Utility.RandomSkinHue(); SpeechHue = 1170; CanHearGhosts = true; Summoned = false; SummonMaster = null; SetStr( 150 ); SetDex( 110 ); SetInt( 200 ); SetHits( 215 ); SetStam( 110 ); SetMana( 100 ); SetDamage( 15, 45 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 70, 90 ); SetResistance( ResistanceType.Fire, 80, 85 ); SetResistance( ResistanceType.Poison, 95, 100 ); SetResistance( ResistanceType.Energy, 25, 30 ); SetSkill( SkillName.Swords, 25.0, 35.0 ); SetSkill( SkillName.Parry, 170.1, 175.0 ); SetSkill( SkillName.Tactics, 150.0 ); AddItem( new TwoPigTails( Utility.RandomHairHue() ) ); AddItem( new NeonWep() ); AddItem( new LongPants( Utility.RandomNeutralHue() ) ); AddItem( new FancyShirt( Utility.RandomNeutralHue() ) ); AddItem( new Boots( Utility.RandomNeutralHue() ) ); AddItem( new Cloak( Utility.RandomNeutralHue() ) ); AddItem( new BodySash( Utility.RandomNeutralHue() ) ); new Horse().Rider = this; ControlSlots = 2; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public PackWyrm () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Body = Core.AOS ? 180 : 49; Name = "a Pack Wyrm"; BaseSoundID = 362; Hue = 1164; SetStr( 721, 760 ); SetDex( 101, 130 ); SetInt( 386, 425 ); SetHits( 433, 456 ); SetDamage( 17, 25 ); SetDamageType( ResistanceType.Physical, 50 ); SetDamageType( ResistanceType.Cold, 50 ); SetResistance( ResistanceType.Physical, 55, 70 ); SetResistance( ResistanceType.Fire, 15, 25 ); SetResistance( ResistanceType.Cold, 80, 90 ); SetResistance( ResistanceType.Poison, 40, 50 ); SetResistance( ResistanceType.Energy, 40, 50 ); SetSkill( SkillName.EvalInt, 99.1, 100.0 ); SetSkill( SkillName.Magery, 99.1, 100.0 ); SetSkill( SkillName.MagicResist, 99.1, 100.0 ); SetSkill( SkillName.Tactics, 97.6, 100.0 ); SetSkill( SkillName.Wrestling, 90.1, 100.0 ); Fame = 18000; Karma = -18000; VirtualArmor = 64; Tamable = true; ControlSlots = 3; MinTameSkill = 96.3; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public Beetle( string name ) : base(name, 0x317, 0x3EBC, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { SetStr( 300 ); SetDex( 100 ); SetInt( 500 ); SetHits( 200 ); SetDamage( 7, 20 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 30, 40 ); SetResistance( ResistanceType.Fire, 20, 30 ); SetResistance( ResistanceType.Cold, 20, 30 ); SetResistance( ResistanceType.Poison, 20, 30 ); SetResistance( ResistanceType.Energy, 20, 30 ); SetSkill( SkillName.MagicResist, 80.0 ); SetSkill( SkillName.Tactics, 100.0 ); SetSkill( SkillName.Wrestling, 100.0 ); Fame = 4000; Karma = -4000; Tamable = true; ControlSlots = 3; MinTameSkill = 29.1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); if ( 0.001 > Utility.RandomDouble() ) { Name = "a shiny giant beetle"; Hue = 94; this.Skills.Tactics.Cap = 120.0; this.Skills.Wrestling.Cap = 120.0; } }
public PackDragon () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "a Pack Dragon"; Body = Utility.RandomList( 12, 59 ); BaseSoundID = 362; SetStr( 796, 825 ); SetDex( 86, 105 ); SetInt( 436, 475 ); SetHits( 478, 495 ); SetDamage( 16, 22 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 55, 65 ); SetResistance( ResistanceType.Fire, 60, 70 ); SetResistance( ResistanceType.Cold, 30, 40 ); SetResistance( ResistanceType.Poison, 25, 35 ); SetResistance( ResistanceType.Energy, 35, 45 ); SetSkill( SkillName.EvalInt, 30.1, 40.0 ); SetSkill( SkillName.Magery, 30.1, 40.0 ); SetSkill( SkillName.MagicResist, 99.1, 100.0 ); SetSkill( SkillName.Tactics, 97.6, 100.0 ); SetSkill( SkillName.Wrestling, 90.1, 92.5 ); Fame = 15000; Karma = -15000; Hue = 1148; VirtualArmor = 60; Tamable = true; ControlSlots = 4; MinTameSkill = 93.9; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public rideablepackhorse( string name ) : base( name, 0x123, 0x3E9F, AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 ) { BaseSoundID = 0xA8; SetStr( 44, 120 ); SetDex( 36, 55 ); SetInt( 6, 10 ); SetHits( 61, 80 ); SetStam( 81, 100 ); SetMana( 0 ); SetDamage( 5, 11 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 20, 25 ); SetResistance( ResistanceType.Fire, 10, 15 ); SetResistance( ResistanceType.Poison, 10, 15 ); SetResistance( ResistanceType.Energy, 10, 15 ); SetSkill( SkillName.MagicResist, 25.1, 30.0 ); SetSkill( SkillName.Wrestling, 29.3, 44.0 ); SetSkill( SkillName.Tactics, 29.3, 44.0 ); Tamable = true; ControlSlots = 1; MinTameSkill = 0.0; Fame = 0; Karma = 200; VirtualArmor = 16; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); PackItem( new Gold( 100 ) ); //PackItem( new KevinD() ); }
public rideablepackllama( string name ) : base( name, 0x124, 0x3EA6, AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 ) { BaseSoundID = 0x3F3; SetStr( 52, 80 ); SetDex( 36, 55 ); SetInt( 16, 30 ); SetHits( 50 ); SetStam( 86, 105 ); SetMana( 0 ); SetDamage( 2, 6 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 25, 35 ); SetResistance( ResistanceType.Fire, 10, 15 ); SetResistance( ResistanceType.Poison, 10, 15 ); SetResistance( ResistanceType.Energy, 10, 15 ); SetSkill( SkillName.MagicResist, 15.1, 20.0 ); SetSkill( SkillName.Wrestling, 19.2, 29.0 ); SetSkill( SkillName.Tactics, 19.2, 29.0 ); Tamable = true; ControlSlots = 1; MinTameSkill = 0.0; Fame = 0; Karma = 200; VirtualArmor = 16; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); PackItem( new Gold( 100 ) ); //PackItem( new KevinD() ); }
public PackLlama() : base(AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4) { Name = "a pack llama"; Body = 292; BaseSoundID = 0x3F3; SetStr( 52, 80 ); SetDex( 36, 55 ); SetInt( 16, 30 ); SetHits( 52, 80 ); SetStam( 86, 105 ); SetMana( 0 ); SetDamage( 2, 6 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 25, 35 ); SetResistance( ResistanceType.Fire, 10, 15 ); SetResistance( ResistanceType.Cold, 10, 15 ); SetResistance( ResistanceType.Poison, 10, 15 ); SetResistance( ResistanceType.Energy, 10, 15 ); SetSkill( SkillName.MagicResist, 15.1, 20.0 ); SetSkill( SkillName.Tactics, 19.2, 29.0 ); SetSkill( SkillName.Wrestling, 19.2, 29.0 ); Fame = 0; Karma = 0; VirtualArmor = 16; Tamable = true; ControlSlots = 1; MinTameSkill = 50.0; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public PackHorse() : base(AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4) { this.Name = "a pack horse"; this.Body = 291; this.BaseSoundID = 0xA8; this.SetStr(44, 120); this.SetDex(36, 55); this.SetInt(6, 10); this.SetHits(61, 80); this.SetStam(81, 100); this.SetMana(0); this.SetDamage(5, 11); this.SetDamageType(ResistanceType.Physical, 100); this.SetResistance(ResistanceType.Physical, 20, 25); this.SetResistance(ResistanceType.Fire, 10, 15); this.SetResistance(ResistanceType.Cold, 20, 25); this.SetResistance(ResistanceType.Poison, 10, 15); this.SetResistance(ResistanceType.Energy, 10, 15); this.SetSkill(SkillName.MagicResist, 25.1, 30.0); this.SetSkill(SkillName.Tactics, 29.3, 44.0); this.SetSkill(SkillName.Wrestling, 29.3, 44.0); this.Fame = 0; this.Karma = 200; this.VirtualArmor = 16; this.Tamable = true; this.ControlSlots = 1; this.MinTameSkill = 11.1; Container pack = this.Backpack; if (pack != null) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; this.AddItem(pack); }
private static void AddBackpack( Mobile m ) { Container pack = m.Backpack; if ( pack == null ) { pack = new StrongBackpack(); pack.Movable = false; m.AddItem( pack ); } PackItem(new Gold(Utility.Random(999, 1111))); PackItem(new Dagger()); PackItem(new Lantern()); PackItem(new RedBook("Journal", m.Name, 20, true)); PackItem(new BreadLoaf(5)); PackItem(new Pitcher(BeverageType.Water)); // PackItem(new Brush()); /* Checks if already has a house. If not, we give him a deed. Account a = m.Account as Account; int houses = 0; if (a != null) { for (int i = 0; i < a.Length; ++i) { Mobile mob = a[i]; if (mob != null) houses += Multis.BaseHouse.GetHouses(mob).Count; } } if (houses == 0) { PackItem(new Multis.Deeds.FieldStoneHouseDeed()); } // PackItem(new VendorRentalContract()); // PackItem(new InteriorDecorator()); // PackItem(new Server.ACC.YS.YardShovel()); */ }
public Beetle( string name ) : base(name, 0x317, 0x3EA6, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Body = 220; Hue = 15; SetStr( 300 ); SetDex( 100 ); SetInt( 500 ); SetHits( 200 ); SetDamage( 7, 20 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 30, 40 ); SetResistance( ResistanceType.Fire, 20, 30 ); SetResistance( ResistanceType.Cold, 20, 30 ); SetResistance( ResistanceType.Poison, 20, 30 ); SetResistance( ResistanceType.Energy, 20, 30 ); SetSkill( SkillName.MagicResist, 80.0 ); SetSkill( SkillName.Tactics, 100.0 ); SetSkill( SkillName.Wrestling, 100.0 ); Fame = 4000; Karma = -4000; Tamable = true; ControlSlots = 3; MinTameSkill = 29.1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public UltraBeetle() : base( "an ultra beetle", 0xA9, 0x3E95, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { SetStr( 300 ); SetDex( 100 ); SetInt( 500 ); SetHits( 200 ); SetDamage( 7, 20 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 30, 40 ); SetResistance( ResistanceType.Fire, 20, 30 ); SetResistance( ResistanceType.Cold, 20, 30 ); SetResistance( ResistanceType.Poison, 20, 30 ); SetResistance( ResistanceType.Energy, 20, 30 ); SetSkill( SkillName.MagicResist, 80.0 ); SetSkill( SkillName.Tactics, 100.0 ); SetSkill( SkillName.Wrestling, 100.0 ); Fame = 4000; Karma = -4000; Tamable = true; ControlSlots = 4; MinTameSkill = 93.9; Hue = 1172; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public PackRatFamiliar() { Name = "a pack rat"; Body = 0xD7; BaseSoundID = 0x188; SetStr(32, 74); SetDex(46, 65); SetInt(16, 30); SetHits(26, 39); SetMana(0); SetDamage(4, 8); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 15, 20); SetResistance(ResistanceType.Fire, 5, 10); SetResistance(ResistanceType.Poison, 25, 35); SetSkill(SkillName.MagicResist, 25.1, 30.0); SetSkill(SkillName.Tactics, 29.3, 44.0); SetSkill(SkillName.Wrestling, 29.3, 44.0); Fame = 300; Karma = -300; VirtualArmor = 18; ControlSlots = 1; Container pack = Backpack; if (pack != null) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem(pack); }
public TamableHordeMinion() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "a horde minion"; Body = 776; BaseSoundID = 0x39D; SetStr( 100 ); SetDex( 110 ); SetInt( 100 ); SetHits( 100 ); SetStam( 110 ); SetMana( 100 ); SetDamage( 5, 10 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 50, 60 ); SetResistance( ResistanceType.Fire, 50, 55 ); SetResistance( ResistanceType.Poison, 25, 30 ); SetResistance( ResistanceType.Energy, 25, 30 ); SetSkill( SkillName.Wrestling, 70.1, 75.0 ); SetSkill( SkillName.Tactics, 50.0 ); Tamable = true; ControlSlots = 2; MinTameSkill = 75.1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public FemaleFerret() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "a female ferret"; Body = 279; SetStr( 1000, 1200 ); SetDex( 1000, 1200 ); SetInt( 1000, 1200 ); SetHits( 4500, 8000 ); SetStam( 800, 1000 ); SetMana( 500, 750 ); SetDamage( 15 ); SetDamageType( ResistanceType.Physical, 100 ); SetSkill( SkillName.MagicResist, 200.0 ); SetSkill( SkillName.Tactics, 75.0 ); SetSkill( SkillName.Wrestling, 95.0 ); Fame = 1000; Karma = 2500; VirtualArmor = 70; Tamable = true; ControlSlots = 2; MinTameSkill = 40.0; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public Beetle( string name ) : base( name, 0x317, 0x3EBC, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.25, 0.5 ) { SetStr( Utility.RandomMinMax( 200, 400 )); SetDex( Utility.RandomMinMax( 100, 200 )); SetInt( Utility.RandomMinMax( 40, 80 )); SetHits(Utility.RandomMinMax(200, 400)); SetDamage( 7, 20 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 50, 70 ); SetResistance( ResistanceType.Fire, 40, 60 ); SetResistance( ResistanceType.Cold, 50, 70 ); SetResistance( ResistanceType.Poison, 70, 80 ); SetResistance( ResistanceType.Energy, 20, 30 ); SetSkill( SkillName.MagicResist, 80.0 ); SetSkill( SkillName.Tactics, 100.0 ); SetSkill( SkillName.Wrestling, 100.0 ); Fame = 4000; Karma = -4000; Tamable = true; ControlSlots = 3; MinTameSkill = 29.1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public SkitteringHopperFamiliar() { Name = "a skittering hopper"; Body = 302; BaseSoundID = 959; SetStr( 41, 65 ); SetDex( 91, 115 ); SetInt( 26, 50 ); SetHits( 31, 45 ); SetDamage( 3, 5 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 5, 10 ); SetResistance( ResistanceType.Cold, 10, 20 ); SetResistance( ResistanceType.Energy, 5, 10 ); SetSkill( SkillName.MagicResist, 30.1, 45.0 ); SetSkill( SkillName.Tactics, 45.1, 70.0 ); SetSkill( SkillName.Wrestling, 40.1, 60.0 ); Fame = 300; Karma = 0; ControlSlots = 1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public Beetle() : base( 0x317, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { SetStr( 300 ); SetDex( 100 ); SetInt( 500 ); SetHits( 200 ); SetDamage( 7, 20 ); SetSkill( SkillName.MagicResist, 80.0 ); SetSkill( SkillName.Tactics, 100.0 ); SetSkill( SkillName.Wrestling, 100.0 ); Fame = 4000; Karma = -4000; Tamable = true; ControlSlots = 3; MinTameSkill = 29.1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public PackHorse() : base( AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 ) { Name = "a pack horse"; Body = 291; BaseSoundID = 0xA8; SetStr( 44, 120 ); SetDex( 36, 55 ); SetInt( 6, 10 ); SetHits( 61, 80 ); SetStam( 81, 100 ); SetMana( 0 ); SetDamage( 5, 11 ); SetSkill( SkillName.MagicResist, 25.1, 30.0 ); SetSkill( SkillName.Tactics, 29.3, 44.0 ); SetSkill( SkillName.Wrestling, 29.3, 44.0 ); Fame = 0; Karma = 200; VirtualArmor = 16; Tamable = true; ControlSlots = 1; MinTameSkill = 11.1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public ThePickUpBeetle( string name ) : base( name, 0x317, 0x3EBC, AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { SetStr( 000 ); SetDex( 110 ); SetInt( 500 ); SetHits( 200 ); SetStam( 110 ); SetMana( 100 ); SetDamage( 7, 20 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 50, 60 ); SetResistance( ResistanceType.Fire, 50, 55 ); SetResistance( ResistanceType.Poison, 25, 30 ); SetResistance( ResistanceType.Energy, 25, 30 ); SetSkill( SkillName.Wrestling, 70.1, 75.0 ); SetSkill( SkillName.Tactics, 50.0 ); Tamable = true; ControlSlots = 2; MinTameSkill = 80.0; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public TravelersHorse( string name ) : base( name, 0xE2, 0x3EA0, AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 ) { SetStr( 22, 98 ); SetDex( 56, 75 ); SetInt( 6, 10 ); SetHits( 28, 45 ); SetMana( 0 ); SetDamage( 3, 4 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 15, 20 ); SetSkill( SkillName.MagicResist, 25.1, 30.0 ); SetSkill( SkillName.Tactics, 29.3, 44.0 ); SetSkill( SkillName.Wrestling, 29.3, 44.0 ); Fame = 300; Karma = 300; Tamable = true; ControlSlots = 1; MinTameSkill = 29.1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public IronBeetle() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "an Iron beetle"; Body = 714; BaseSoundID = 397; SetStr(760, 886 ); SetDex(66, 75); SetInt(36, 51); SetHits(765, 880); SetMana(36, 51); SetDamage(15, 20); SetDamageType(ResistanceType.Physical, 90); SetResistance(ResistanceType.Physical, 55, 65); SetResistance(ResistanceType.Fire, 20, 30); SetResistance(ResistanceType.Cold, 20, 30); SetResistance(ResistanceType.Poison, 20, 40); SetResistance(ResistanceType.Energy, 45, 55); SetSkill(SkillName.Anatomy, 80, 89); SetSkill(SkillName.MagicResist, 120, 129); SetSkill(SkillName.Tactics, 82.6, 97); SetSkill(SkillName.Wrestling, 94.8, 108); SetSkill(SkillName.Blacksmith, 120.0); SetSkill(SkillName.Mining, 70); Skills.Mining.Cap = 105; Fame = 10000; Karma = -10000; VirtualArmor = 38; Tamable = true; ControlSlots = 4; MinTameSkill = 98; Container pack = Backpack; //if (pack != null) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; pack.DropItem(new Pickaxe()); }
public BonBon() : base(AIType.AI_Animal, FightMode.Closest, 10, 5, 0.175, 0.75) { Name = "BonBon"; Title = "The Bunny"; Body = 205; Hue = 0x481; BaseSoundID = 0; SetStr(45, 55); SetDex(45, 55); SetInt(31, 43); SetHits(100, 200); SetDamage(11, 20); SetDamageType(ResistanceType.Physical, 5); SetDamageType(ResistanceType.Fire, 0); SetDamageType(ResistanceType.Cold, 0); SetDamageType(ResistanceType.Energy, 0); SetDamageType(ResistanceType.Poison, 0); SetResistance(ResistanceType.Physical, 8, 18); SetResistance(ResistanceType.Fire, 18, 21); SetResistance(ResistanceType.Cold, 13, 23); SetResistance(ResistanceType.Energy, 0, 5); SetResistance(ResistanceType.Poison, 11, 23); SetSkill(SkillName.Parry, 25, 45); SetSkill(SkillName.Wrestling, 80, 95); Fame = 500; Karma = 100; VirtualArmor = 15; Tamable = true; ControlSlots = 1; MinTameSkill = 11.1; Container pack = Backpack; if (pack != null) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem(pack); double gschance = Utility.RandomDouble(); //If the random generated number is higher then 70, or exacly 70, a staff will drop. //Meaning: there's a 30% chance that one will drop. if (gschance <= 0.7) { Item BonBonPickaxe = new BonBonPickaxe(); AddItem(BonBonPickaxe); } }
public Werewolf( string name ) : base( name, 277, 0x3e91, AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )//mounted nightmare { Title = "The Werewolf"; Hue = Utility.RandomList ( 0, 2310, 1175, 1109 ); BaseSoundID = 1248; if ( this.Female = Utility.RandomBool() )//this is the random sex of unmounted mobile { Body = 0x191; Name = NameList.RandomName( "female" ); } else { Body = 0x190; Name = NameList.RandomName( "male" ); } SetStr( 496, 525 ); SetDex( 86, 105 ); SetInt( 86, 125 ); SetHits( 298, 315 ); SetDamage( 16, 22 ); SetDamageType( ResistanceType.Physical, 40 ); SetDamageType( ResistanceType.Fire, 40 ); SetDamageType( ResistanceType.Energy, 20 ); SetResistance( ResistanceType.Physical, 55, 65 ); SetResistance( ResistanceType.Fire, 30, 40 ); SetResistance( ResistanceType.Cold, 30, 40 ); SetResistance( ResistanceType.Poison, 30, 40 ); SetResistance( ResistanceType.Energy, 20, 30 ); SetSkill( SkillName.EvalInt, 10.4, 50.0 ); SetSkill( SkillName.Magery, 10.4, 50.0 ); SetSkill( SkillName.MagicResist, 85.3, 100.0 ); SetSkill( SkillName.Tactics, 97.6, 100.0 ); SetSkill( SkillName.Wrestling, 80.5, 92.5 ); Fame = 5; Karma = 5; VirtualArmor = 70; Tamable = true; ControlSlots = 4; MinTameSkill = 95.1; AddItem( new Sandals(1) );//This is their only rare drop Unless you comment out the movable : false int hue = Utility.RandomMinMax( 1410, 1450 ); //Random Zog Green Item chest = new ChainChest(); chest.Hue = hue; chest.Movable = false;//can remove this to make Zog Green colored armored drop AddItem( chest ); Item gloves = new LeatherGloves(); gloves.Hue = hue; gloves.Movable = false;//can remove this to make Zog Green colored armored drop AddItem( gloves ); Item legs = new ChainLegs(); legs.Hue = hue; legs.Movable = false;//can remove this to make Zog Green colored armored drop AddItem( legs ); Item hair = new Item( Utility.RandomList( 0x203B, 0x203C, 0x203D, 0x2049 ) ); hair.Hue = 0; hair.Layer = Layer.Hair; hair.Movable = false; AddItem( hair ); Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public BaseBioCreature() : base( AIType.AI_Animal, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "a bio-engienered clone"; Body = 775; SetStr( 1 ); SetDex( 1 ); SetInt( 1 ); SetSkill( SkillName.MagicResist, 25.0 ); SetSkill( SkillName.Tactics, 25.0 ); SetSkill( SkillName.Wrestling, 25.0 ); SetSkill( SkillName.Meditation, 25.0 ); SetSkill( SkillName.Magery, 25.0 ); SetSkill( SkillName.EvalInt, 25.0 ); SetSkill( SkillName.Poisoning, 25.0 ); Fame = 0; Karma = 0; VirtualArmor = 1; Tamable = true; ControlSlots = 4; MinTameSkill = 110.0; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); }
public PackHuman() : base( AIType.AI_Animal, FightMode.Agressor, 10, 1, 0.2, 0.4 ) { Name = "A Pack Human"; Body = 401; Hue = 33770; BaseSoundID = 0; SetStr( 52, 80 ); SetDex( 36, 55 ); SetInt( 16, 30 ); SetHits( 500 ); SetStam( 86, 105 ); SetMana( 0 ); SetDamage( 2, 6 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 25, 35 ); SetResistance( ResistanceType.Fire, 10, 15 ); SetResistance( ResistanceType.Cold, 10, 15 ); SetResistance( ResistanceType.Poison, 10, 15 ); SetResistance( ResistanceType.Energy, 10, 15 ); SetSkill( SkillName.MagicResist, 15.1, 20.0 ); SetSkill( SkillName.Tactics, 19.2, 29.0 ); SetSkill( SkillName.Wrestling, 19.2, 29.0 ); Fame = 0; Karma = 200; VirtualArmor = 16; Tamable = true; ControlSlots = 1; MinTameSkill = 50.1; Container pack = Backpack; if ( pack != null ) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem( pack ); Item shirt = new Shirt(); shirt.Hue = 1157; shirt.LootType = LootType.Blessed; EquipItem( shirt ); Item longpants = new LongPants(); longpants.Hue = 45; longpants.LootType = LootType.Blessed; EquipItem( longpants ); Item shoes = new Shoes(); shoes.Hue = 72; shoes.LootType = LootType.Blessed; EquipItem( shoes ); Item longhair = new LongHair(); longhair.Hue = 59; longhair.LootType = LootType.Blessed; EquipItem( longhair ); }
public IronBeetle() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "an Iron beetle"; Body = 714; BaseSoundID = 397; SetStr(831); SetDex(74, 80); SetInt(45); SetHits(801); SetMana(45); SetDamage(15, 20); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 55, 60); SetResistance(ResistanceType.Fire, 20, 25); SetResistance(ResistanceType.Cold, 20, 25); SetResistance(ResistanceType.Poison, 35, 40); SetResistance(ResistanceType.Energy, 50, 60); SetSkill(SkillName.Anatomy, 85, 90); SetSkill(SkillName.MagicResist, 30.1, 35); SetSkill(SkillName.Tactics, 91.5, 92); SetSkill(SkillName.Wrestling, 99.8, 100); SetSkill(SkillName.Blacksmith, 100.0); SetSkill(SkillName.Mining, 01.0); Skills.Mining.Cap = 100; Fame = 2000; Karma = -2000; VirtualArmor = 38; Tamable = true; ControlSlots = 4; MinTameSkill = 71.1; Container pack = Backpack; if (pack != null) pack.Delete(); pack = new StrongBackpack(); pack.Movable = false; AddItem(pack); AddItem(new Gold(600)); PackItem(new IronOre(5)); }
public static void LevelUp( BaseCreature player ) { player.NextLevel += ( player.Level + 1 ) * (5000 / player.XPScale); player.Level++; if( player.Level % 2 != 0 ) player.DamageMin++; else player.DamageMax++; double i = 0.5 * player.SkillScale; if (player is Serpent) { player.RawStr += player.StatScale; player.RawDex += player.StatScale; player.RawStam += player.StatScale; player.RawMana += player.StatScale; if (player.XPScale == 1) { player.RawInt += 1; player.RawHits += 1; } else { player.RawInt += (player.StatScale / 2); player.RawHits += (player.StatScale / 2); } } else if (player is BirdOfPrey) { if (player.StatScale == 1) { player.RawStr += 1; player.RawHits += 1; } else { player.RawStr += (player.StatScale / 2); player.RawHits += (player.StatScale / 2); } player.RawDex += (int)(player.StatScale * Utility.RandomMinMax(1,2)); player.RawInt += player.StatScale; player.RawStam += player.StatScale; player.RawMana += player.StatScale; } else if (player is Bear) { int statBonus = Utility.Random(player.StatScale); int armorBonus = Utility.Random(5); if (player.XPScale == 1) { player.RawStr += 1; player.RawDex += Utility.Random(2); } else { player.RawStr += (player.StatScale / 2); player.RawDex += ((player.StatScale - (statBonus + 1)) / 2); } player.RawInt += (player.StatScale - statBonus); player.RawHits += (player.StatScale + (statBonus + 1)); player.RawStam += (player.StatScale + statBonus); player.RawMana += (player.StatScale / 2); if (armorBonus == 0) player.BluntResistSeed += (player.StatScale - 1); else if (armorBonus == 1) player.SlashingResistSeed += (player.StatScale - 1); else if (armorBonus == 2) player.PiercingResistSeed += (player.StatScale - 1); else if (armorBonus == 3) { player.PoisonResistSeed += (player.StatScale - 1); player.EnergyResistSeed += (player.StatScale - 1); } else { if (player.Level % 2 != 0) player.DamageMin--; else player.DamageMax--; } } else if (player is Mercenary) { int statUpgrade = Utility.RandomMinMax(1, 4); switch (statUpgrade) { case 1: { player.RawStr += player.StatScale; player.RawDex += Utility.RandomMinMax(1, player.StatScale); player.RawInt += 1; player.RawHits += Utility.RandomMinMax(1, player.StatScale); player.RawStam += Utility.RandomMinMax(1, player.StatScale); break; } case 2: { player.RawStr += Utility.RandomMinMax(1, player.StatScale); player.RawDex += player.StatScale; player.RawInt += 1; player.RawHits += Utility.RandomMinMax(1, player.StatScale); player.RawStam += Utility.RandomMinMax(1, player.StatScale); break; } case 3: { player.RawStr += Utility.RandomMinMax(1, player.StatScale); player.RawDex += Utility.RandomMinMax(1, player.StatScale); player.RawInt += 1; player.RawHits += player.StatScale; player.RawStam += Utility.RandomMinMax(1, player.StatScale); break; } case 4: { player.RawStr += Utility.RandomMinMax(1, player.StatScale); player.RawDex += Utility.RandomMinMax(1, player.StatScale); player.RawInt += 1; player.RawHits += Utility.RandomMinMax(1, player.StatScale); player.RawStam += player.StatScale; break; } } if (player.ControlMaster != null) { switch (((PlayerMobile)player.ControlMaster).Nation) { case Nation.Alyrian: { if (Utility.RandomBool()) player.RawDex += Utility.Random(player.StatScale); else player.RawInt += Utility.Random(player.StatScale); break; } case Nation.Azhuran: { player.RawDex += Utility.Random(player.StatScale); break; } case Nation.Khemetar: { player.RawInt += Utility.Random(player.StatScale); break; } case Nation.Mhordul: { player.RawStr += Utility.Random(player.StatScale); break; } case Nation.Tyrean: { if (Utility.RandomBool()) player.RawStr += Utility.Random(player.StatScale); else player.RawStam += Utility.Random(player.StatScale); break; } case Nation.Vhalurian: { player.RawHits += Utility.Random(player.StatScale); break; } } } } else { player.RawStr += player.StatScale; player.RawDex += player.StatScale; player.RawInt += player.StatScale; player.RawHits += player.StatScale; player.RawStam += player.StatScale; player.RawMana += player.StatScale; } if( player is Dragon ) { if( player.Level > 19 && player.BodyValue == 61 ) { Gold newloot = new Gold( Utility.RandomMinMax( 1, 3 ) ); Container pack = player.Backpack; if( pack != null ) pack.DropItem( newloot ); player.BodyValue = 59; } if( player.Level > 38 && player.BodyValue == 59 ) { Gold newloot = new Gold( Utility.RandomMinMax( 3, 6 ) ); Container pack = player.Backpack; if( pack != null ) pack.DropItem( newloot ); player.BodyValue = 46; } } if( player is Mercenary && ((Mercenary)player).Lives < 8 ) ((Mercenary)player).Lives++; else if( player is BaseBreedableCreature ) { BaseBreedableCreature bbc = player as BaseBreedableCreature; if( player.Level % 5 == 0 && bbc.PetEvolution > 0 ) { bbc.RaiseRandomFeat(); bbc.PetEvolution--; } bbc.UpdateSpeeds(); if( ((BaseBreedableCreature)player).Lives < (8 + ((BaseBreedableCreature)player).ExtraLives) ) ((BaseBreedableCreature)player).Lives++; if (player is Serpent) { if (player.Level == 40) { if (player is GrassSnake) { ((GrassSnake)player).SetConstrict(true); player.SetDex(player.RawDex / 3); player.BodyValue = 89; player.Emote("*" + player.Name + " has grown more langurous but also more powerful!*"); player.PlaySound(0x05E); } else { player.BodyValue = 89; player.Emote("*" + player.Name + " is growing!*"); player.PlaySound(0x05E); } } if(player is Viper) ((Viper)player).incSerpentPoison(); else if(player is Copperhead) ((Copperhead)player).incSerpentPoison(); else if(player is Cobra) ((Cobra)player).incSerpentPoison(); else if(player is BlackMamba) ((BlackMamba)player).incSerpentPoison(); } if (player is WorkHorse) { List<Item> packItems = new List<Item>(); foreach (Item item in (player as WorkHorse).Backpack.Items) packItems.Add(item); StrongBackpack newPack = new StrongBackpack((player as WorkHorse).Backpack.MaxWeight + player.StatScale); newPack.MaxItems += Utility.Random(player.StatScale); foreach (Item item in packItems) newPack.AddItem(item); (player as WorkHorse).Backpack.Delete(); (player as WorkHorse).AddItem(newPack); } } else if( player.Controlled && player.Lives < 8 ) player.Lives++; AwardSkill( player, i ); if( player.Level < 50 ) CheckLevel( player ); }
public static List <Mobile> ReadMobiles() { var output = new List <Mobile>(); try { var mobiles = new List <MobileEntry>(); if (File.Exists(MobileIndexPath) && File.Exists(MobileTypesPath)) { using ( FileStream idx = new FileStream(MobileIndexPath, FileMode.Open, FileAccess.Read, FileShare.Read) ) { BinaryReader idxReader = new BinaryReader(idx); using ( FileStream tdb = new FileStream(MobileTypesPath, FileMode.Open, FileAccess.Read, FileShare.Read)) { BinaryReader tdbReader = new BinaryReader(tdb); var types = ReadTypes(tdbReader); int mobileCount = idxReader.ReadInt32(); for (int i = 0; i < mobileCount; ++i) { int typeID = idxReader.ReadInt32(); int serial = idxReader.ReadInt32(); long pos = idxReader.ReadInt64(); int length = idxReader.ReadInt32(); var objs = types[typeID]; if (objs == null) { continue; } ConstructorInfo ctor = objs.Item1; string typeName = objs.Item2; try { Mobile value; Mobile m = null; if (World.Mobiles.TryGetValue(serial, out value)) { Mobile sameSerialMob = value; BaseCreature bc = sameSerialMob as BaseCreature; // Don't use the real serial number, get a new serial number for it serial = Serial.NewMobile; m = (Mobile)(ctor.Invoke(new object[] { (Serial)serial })); // this constructor gets a new, unused serial number if (m.GetType() != sameSerialMob.GetType()) { // the serial has already been reused by a different type of mob // which means the original stabled mob is gone. Therefore add the original mob output.Add(m); World.AddMobile(m); /*LoggingCustom.Log("PetReassignedSerials.txt", * "serial was previously replaced by: " + sameSerialMob.Name + "\t" + * sameSerialMob.Serial + "\tDeleted:" + * sameSerialMob.Deleted + "\t|new serial assigned for pet:" + m.Serial);*/ } else // it's a very safe bet that it's the same mob (though we can't be absolutely sure)... { /*LoggingCustom.Log("PetStillExists.txt", * "Now Existing: " + sameSerialMob.Name + "\t" + sameSerialMob.Serial + * "\tDeleted:" + sameSerialMob.Deleted);*/ // don't add mob to output } } else { // construct mob with it's original serial number... this probably won't happen much m = (Mobile)(ctor.Invoke(new object[] { (Serial)serial })); // this constructor adds this mob into the World.Mobiles dictionary at this serial World.AddMobile(m); output.Add(m); //LoggingCustom.Log("PetSameSerialRestored.txt", m.Serial + ""); } // always add it to this list regardless mobiles.Add(new MobileEntry(m, typeID, typeName, pos, length)); } catch (Exception e) { Console.WriteLine("LostStabledPetRecorder error!: " + e.Message); Console.WriteLine(e.StackTrace); } } tdbReader.Close(); } idxReader.Close(); } } else { Console.WriteLine("Lost stable files not found! Should be at " + Path.GetFullPath(MobileIndexPath)); } Serial failedSerial = Serial.Zero; if (File.Exists(MobileDataPath)) { using ( FileStream bin = new FileStream(MobileDataPath, FileMode.Open, FileAccess.Read, FileShare.Read)) { BinaryFileReader reader = new BinaryFileReader(new BinaryReader(bin)); for (int i = 0; i < mobiles.Count; ++i) { MobileEntry entry = mobiles[i]; Mobile m = entry.Mobile; if (m != null) { reader.Seek(entry.Position, SeekOrigin.Begin); try { if (!output.Contains(m)) { // same mob already exist in the world, but // m has been assigned a new serial number so it's ok to delete it } else { m_LoadingType = entry.TypeName; m.Deserialize(reader); m.Map = Map.Internal; if (m is Beetle || m is HordeMinion || m is PackHorse || m is PackLlama) { // pack animals: make sure they have their pack Container pack = m.Backpack; if (pack == null) { pack = new StrongBackpack { Movable = false }; m.AddItem(pack); } } if (reader.Position != (entry.Position + entry.Length)) { throw new Exception(String.Format("***** Bad serialize on {0} *****", m.GetType())); } } } catch { mobiles.RemoveAt(i); Type failedType = m.GetType(); int failedTypeID = entry.TypeID; failedSerial = m.Serial; Console.WriteLine(failedType); Console.WriteLine(failedTypeID); Console.WriteLine(failedSerial); break; } } } reader.Close(); } } } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } return(output); }