public ArcherGuard( Mobile target ) : base( target ) { InitStats( 100, 125, 25 ); Title = "the guard"; SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); if ( Female = Utility.RandomBool() ) { Body = 0x191; Name = NameList.RandomName( "female" ); } else { Body = 0x190; Name = NameList.RandomName( "male" ); } new Horse().Rider = this; AddItem( new StuddedChest() ); AddItem( new StuddedArms() ); AddItem( new StuddedGloves() ); AddItem( new StuddedGorget() ); AddItem( new StuddedLegs() ); AddItem( new Boots() ); AddItem( new SkullCap() ); Bow bow = new Bow(); bow.Movable = false; bow.Crafter = this; bow.Quality = WeaponQuality.Exceptional; AddItem( bow ); Container pack = new Backpack(); pack.Movable = false; Arrow arrows = new Arrow( 250 ); arrows.LootType = LootType.Newbied; pack.DropItem( arrows ); pack.DropItem( new Gold( 10, 25 ) ); AddItem( pack ); Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 120.0; Skills[SkillName.Archery].Base = 120.0; Skills[SkillName.MagicResist].Base = 120.0; Skills[SkillName.DetectHidden].Base = 100.0; this.NextCombatTime = DateTime.Now + TimeSpan.FromSeconds( 0.5 ); this.Focus = target; }
public Hunter() : base(AIType.AI_Archer, FightMode.Aggressor, 10, 1, 0.2, 0.4) { InitStats( 300, 300, 100 ); Title = "the hunter"; SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); if ( Female = Utility.RandomBool() ) { Body = 0x191; Name = NameList.RandomName( "female" ); } else { Body = 0x190; Name = NameList.RandomName( "male" ); } AddItem( new StuddedChest() ); AddItem( new StuddedArms() ); AddItem( new StuddedGloves() ); AddItem( new StuddedGorget() ); AddItem( new StuddedLegs() ); AddItem( new ThighBoots() ); AddItem( new BodySash(2118)); AddItem(Utility.RandomBool() ? (Item)new BearMask() : (Item)new DeerMask()); AddItem(Utility.RandomBool() ? (Item)new Bow() : (Item)new Crossbow()); Container pack = new Backpack(); pack.Movable = false; Arrow arrows = new Arrow( 250 ); arrows.LootType = LootType.Newbied; pack.DropItem( arrows ); pack.DropItem( new Gold( 10, 25 ) ); AddItem( pack ); Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 120.0; Skills[SkillName.Archery].Base = 120.0; Skills[SkillName.MagicResist].Base = 120.0; Skills[SkillName.DetectHidden].Base = 100.0; }
public AGhostlyBlacksmith() { InitStats(31, 41, 51); Name = "A Ghostly Blacksmith"; Title = ""; Body = 0x190; Hue = 1072; AddItem(new Server.Items.DeathShroud()); AddItem(new SmithHammer()); Blessed = true; CantWalk = true; Container pack = new Backpack(); pack.DropItem(new Gold(250, 300)); pack.Movable = false; AddItem(pack); }
[Constructable]public Crystal(){ ///////////STR/DEX/INT InitStats( 31, 41, 51 ); ///////////name Name = "Crystal"; ///////////title Title = "Quest Giver"; ///////////sex. 0x191 is female, 0x190 is male. Body = 0x191; ///////////skincolor Hue = Utility.RandomSkinHue(); ///////////Random hair and haircolor Utility.AssignRandomHair( this ); ///////////clothing and hues AddItem( new Server.Items.Shirt( Utility.RandomBlueHue() ) ); AddItem( new Server.Items.LongPants( Utility.RandomBlueHue() ) ); AddItem( new Server.Items.Sandals( Utility.RandomBlueHue() ) ); ///////////immortal and frozen to-the-spot features below: Blessed = true; CantWalk = true; ///////////Adding a backpack Container pack = new Backpack(); pack.DropItem( new Gold( 250, 300 ) ); pack.Movable = false; AddItem( pack ); }
public IchabodCrane() : base(AIType.AI_Animal, FightMode.None, 10, 1, 0.2, 0.4) { InitStats(31, 41, 51); Name = "Ichabod Crane"; Body = 0x190; Hue = 1002; AddItem(new Server.Items.FancyShirt()); AddItem(new Server.Items.LongPants()); AddItem(new Server.Items.Boots()); int hairHue = 1865; Utility.AssignRandomHair(this); Blessed = true; Container pack = new Backpack(); pack.DropItem(new Gold(250, 300)); pack.Movable = false; AddItem(pack); }
[Constructable]public Marrow(){ InitStats( 100, 100, 100 ); Name = "Marrow"; Title = "the chemist"; Body = 0x191; Fame = 2000; Karma = 3000; Hue = Utility.RandomSkinHue(); Utility.AssignRandomHair( this ); AddItem( new Server.Items.Shirt( Utility.RandomRedHue() ) ); AddItem( new Server.Items.Skirt( Utility.RandomRedHue() ) ); AddItem( new Server.Items.Boots( Utility.RandomNeutralHue() ) ); Blessed = true; CantWalk = true; Container pack = new Backpack(); pack.DropItem( new Gold( 150, 200 ) ); pack.Movable = false; AddItem( pack ); }
public static void CombineBackpacks( BaseCreature animal ) { if ( Core.AOS ) return; //if ( animal.IsBonded || animal.IsDeadPet ) // return; Container pack = animal.Backpack; if ( pack != null ) { Container newPack = new Backpack(); for ( int i = pack.Items.Count - 1; i >= 0; --i ) { if ( i >= pack.Items.Count ) continue; newPack.DropItem( pack.Items[i] ); } pack.DropItem( newPack ); } }
public Sculptor() : base(AIType.AI_Animal, FightMode.None, 10, 1, 0.2, 0.4) { this.InitStats(31, 41, 51); this.SpeechHue = Utility.RandomDyedHue(); this.Title = "the sculptor"; this.Hue = Utility.RandomSkinHue(); if (this.Female = Utility.RandomBool()) { this.Body = 0x191; this.Name = NameList.RandomName("female"); this.AddItem(new Kilt(Utility.RandomNeutralHue())); } else { this.Body = 0x190; this.Name = NameList.RandomName("male"); this.AddItem(new LongPants(Utility.RandomNeutralHue())); } this.AddItem(new Doublet(Utility.RandomNeutralHue())); this.AddItem(new HalfApron()); Utility.AssignRandomHair(this); Container pack = new Backpack(); pack.DropItem(new Gold(250, 300)); pack.Movable = false; this.AddItem(pack); }
public override void OnDoubleClick( Mobile from ) { Backpack bankbag = new Backpack(); Container mobilePack = from.Backpack; BankBox mobileBox = from.BankBox; ArrayList equipitems = new ArrayList(from.Items); mobileBox.AddItem( bankbag ); // this.AddPlayer( player ); from.Frozen = true; from.SendMessage( "All your belongings were transported to your bankbox. You will need to close you backpack and re-open it for it to display the correct contents."); // if ( Teams.Contains( from ) ) // { // from.Frozen = true; // } foreach (Item item in equipitems) { if ((item.Layer != Layer.Bank) && (item.Layer != Layer.Backpack) && (item.Layer != Layer.Hair) && (item.Layer != Layer.FacialHair) && (item.Layer != Layer.Mount)) { mobilePack.DropItem( item ); } } ArrayList packitems = new ArrayList( mobilePack.Items ); foreach (Item items in packitems) { bankbag.DropItem(items); } }
public Olin() : base(AIType.AI_Archer, FightMode.Aggressor, 10, 1, 0.2, 0.4) { InitStats(500, 400, 100); Title = "the head hunter"; SpeechHue = Utility.RandomDyedHue(); Hue = 0x840E; Body = 0x190; Name = "Lord Olin"; HairItemID = 8252; HairHue = 1107; FacialHairItemID = 0; AddItem(new StuddedChest()); AddItem(new PlateArms()); AddItem(new StuddedGloves()); AddItem(new PlateGorget()); AddItem(new StuddedLegs()); AddItem(new ThighBoots(1907)); AddItem(new Cloak(2118)); AddItem(new BodySash(2118)); AddItem(new Bow()); Container pack = new Backpack(); pack.Movable = false; Arrow arrows = new Arrow(250); arrows.LootType = LootType.Newbied; pack.DropItem(arrows); pack.DropItem(new Gold(10, 25)); AddItem(pack); Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 120.0; Skills[SkillName.Archery].Base = 120.0; Skills[SkillName.MagicResist].Base = 120.0; Skills[SkillName.DetectHidden].Base = 100.0; }
public EithkaUlesra() : base( AIType.AI_Archer, FightMode.Closest, 10, 5, 0.2, 0.4 ) { Name = "Eithka Ulesra"; Body = 0x190; Hue = 0x798; SetStr( 100 ); //I've set him up with normal stats since we've defined his Hits and his weapons speed elsewhere. SetDex( 100 ); SetInt( 100 ); SetHits( 250, 350 ); // here are his hits according to the spherescript. random between 250 and 350 SetStam( 350, 450 ); SetDamage( 10, 15 ); //i set his damage to be low since he hits like 3 times a second. This will probably need to be tweaked. SetSkill( SkillName.Archery, 110.0 ); //we dont need to give him uberskillz SetSkill( SkillName.Tactics, 110.0 ); SetSkill( SkillName.MagicResist, 100.0 ); Fame = 3900; Karma = -4000; VirtualArmor = 70; //this might need to be tweaked //Here we add his loot. I'm omitting his gloves since that's later in his dress. //no here do you NOT add the loot, onyl whats in hes backpack. Container pack = new Backpack(); pack.Movable = false; pack.DropItem( new Arrow( 50 ) ); AddItem( pack ); //Now we dress him Item shroud = new HoodedShroudOfShadows(); //since we want a custom shroud, we define it here. shroud.Movable = false; //this way we dont let the shroud drop shroud.Hue = 0x798; //omg more props AddItem( shroud ); //add the item Item smurfshoes = new Sandals(); //since sandals are already a class i've named it smurfshoes. It doesnt matter what we call it. smurfshoes.Movable = false; // leet shoes for the players? GM tailoring kthx. smurfshoes.Hue = 0x798; // more props AddItem( smurfshoes ); //add the item Bow weapon = new Bow(); //same thing. define the weapon. weapon.Skill = SkillName.Archery; //props weapon.Hue = 0x798; //we're leet weapon.Speed = 90; //set the speed to 5 higher than the cho ku no. weapon.DamageLevel = WeaponDamageLevel.Force; //bow of force weapon.Movable = false; // not for players AddItem( weapon ); //add the weapon Item gloves = new PlateGloves(); // here we add his gloves. this time we let them drop gloves.Hue = 0x798; //omg more props AddItem( gloves ); //add the item }
public TillerManHS(BaseGalleon galleon, uint keyValue, Point3D initOffset) : base() { Location = initOffset; galleon.Embark(this); galleon.TillerManMobile = this; m_Galleon = galleon; m_KeyValue = keyValue; CantWalk = true; Blessed = true; InitStats(31, 41, 51); SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); if (this.Female = Utility.RandomBool()) { this.Body = 0x191; this.Name = NameList.RandomName("female"); AddItem(new Kilt(Utility.RandomDyedHue())); AddItem(new Shirt(Utility.RandomDyedHue())); AddItem(new ThighBoots()); Title = "the tillerman"; } else { this.Body = 0x190; this.Name = NameList.RandomName("male"); AddItem(new ShortPants(Utility.RandomNeutralHue())); AddItem(new Shirt(Utility.RandomDyedHue())); AddItem(new Sandals()); Title = "the tillerman"; } AddItem(new Bandana(Utility.RandomDyedHue())); Utility.AssignRandomHair(this); Container pack = new Backpack(); pack.DropItem(new Gold(250, 300)); pack.Movable = false; AddItem(pack); }
public OutlanderLord() : base(AIType.AI_Archer, FightMode.Closest, 10, 3, 0.2, 0.4) { Name = "an outlander lord"; Body = 773; Team = 2; SetStr(401, 500); SetDex(81, 100); SetInt(151, 200); SetHits(241, 300); SetDamage(10, 12); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 40, 50); SetResistance(ResistanceType.Fire, 45, 50); SetResistance(ResistanceType.Cold, 40, 50); SetResistance(ResistanceType.Poison, 20, 25); SetResistance(ResistanceType.Energy, 40, 50); SetSkill(SkillName.Anatomy, 90.1, 100.0); SetSkill(SkillName.Archery, 95.1, 100.0); SetSkill(SkillName.Healing, 80.1, 100.0); SetSkill(SkillName.MagicResist, 120.1, 130.0); SetSkill(SkillName.Swords, 90.1, 100.0); SetSkill(SkillName.Tactics, 95.1, 100.0); SetSkill(SkillName.Wrestling, 90.1, 100.0); Fame = 15000; Karma = -15000; VirtualArmor = 28; Container pack = new Backpack(); pack.DropItem(new Arrow(Utility.RandomMinMax(25, 35))); pack.DropItem(new Arrow(Utility.RandomMinMax(25, 35))); pack.DropItem(new Bandage(Utility.RandomMinMax(5, 15))); pack.DropItem(new Bandage(Utility.RandomMinMax(5, 15))); pack.DropItem(Loot.RandomGem()); pack.DropItem(new ArcaneGem()); pack.DropItem(new OutlanderHead()); PackItem(pack); //AddItem(new JukaBow()); // TODO: Bandage self }
public Gypsy() : base(AIType.AI_Animal, FightMode.None, 10, 1, 0.2, 0.4) { InitStats( 31, 41, 51 ); SpeechHue = Utility.RandomDyedHue(); SetSkill( SkillName.Cooking, 65, 88 ); SetSkill( SkillName.Snooping, 65, 88 ); SetSkill( SkillName.Stealing, 65, 88 ); Hue = Utility.RandomSkinHue(); if( this.Female = Utility.RandomBool() ) { this.Body = 0x191; this.Name = NameList.RandomName( "female" ); AddItem( new Kilt( Utility.RandomDyedHue() ) ); AddItem( new Shirt( Utility.RandomDyedHue() ) ); AddItem( new ThighBoots() ); Title = "a cigana"; } else { this.Body = 0x190; this.Name = NameList.RandomName( "male" ); AddItem( new ShortPants( Utility.RandomNeutralHue() ) ); AddItem( new Shirt( Utility.RandomDyedHue() ) ); AddItem( new Sandals() ); Title = "o cigano"; } AddItem( new Bandana( Utility.RandomDyedHue() ) ); AddItem( new Dagger() ); Utility.AssignRandomHair( this ); Container pack = new Backpack(); pack.DropItem( new Gold( 250, 300 ) ); pack.Movable = false; AddItem( pack ); }
public GoblinBountyHunter() { Title = "the goblin bounty hunter"; Body = 0x190; Name = NameList.RandomName("male"); AddItem(new PlateChest()); AddItem(new PlateArms()); AddItem(new PlateLegs()); AddItem(new BodySash(Utility.RandomYellowHue())); //DropItem(Robe()); Utility.AssignRandomHair(this); if (Utility.RandomBool()) Utility.AssignRandomFacialHair(this, HairHue); Halberd weapon = new Halberd(); weapon.Movable = false; weapon.Crafter = this; weapon.Quality = WeaponQuality.Exceptional; AddItem(weapon); Container pack = new Backpack(); pack.Movable = false; pack.DropItem(new Factions.Silver(10, 25)); AddItem(pack); Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 120.0; Skills[SkillName.Swords].Base = 120.0; Skills[SkillName.MagicResist].Base = 120.0; Skills[SkillName.DetectHidden].Base = 100.0; SetSkill(SkillName.Camping, 80.0, 100.0); SetSkill(SkillName.Forensics, 80.0, 100.0); SetSkill(SkillName.SpiritSpeak, 80.0, 100.0); }
public TillerMan(BaseGalleon galleon) : base() { m_Galleon = galleon; CantWalk = true; InitStats(31, 41, 51); SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); if (this.Female = Utility.RandomBool()) { this.Body = 0x191; this.Name = NameList.RandomName("female"); AddItem(new Kilt(Utility.RandomDyedHue())); AddItem(new Shirt(Utility.RandomDyedHue())); AddItem(new ThighBoots()); Title = "the tillerman"; } else { this.Body = 0x190; this.Name = NameList.RandomName("male"); AddItem(new ShortPants(Utility.RandomNeutralHue())); AddItem(new Shirt(Utility.RandomDyedHue())); AddItem(new Sandals()); Title = "the tillerman"; } AddItem(new Bandana(Utility.RandomDyedHue())); Utility.AssignRandomHair(this); Container pack = new Backpack(); pack.DropItem(new Gold(250, 300)); pack.Movable = false; AddItem(pack); }
public OutlanderWarrior() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "an outlander warrior"; Body = 771; Team = 2; SetStr(251, 350); SetDex(61, 80); SetInt(101, 150); SetHits(151, 210); SetDamage(7, 9); SetDamageType(ResistanceType.Physical, 100); SetResistance(ResistanceType.Physical, 40, 50); SetResistance(ResistanceType.Fire, 30, 40); SetResistance(ResistanceType.Cold, 25, 35); SetResistance(ResistanceType.Poison, 10, 20); SetResistance(ResistanceType.Energy, 10, 20); SetSkill(SkillName.Anatomy, 80.1, 90.0); SetSkill(SkillName.Fencing, 80.1, 90.0); SetSkill(SkillName.Macing, 80.1, 90.0); SetSkill(SkillName.MagicResist, 120.1, 130.0); SetSkill(SkillName.Swords, 80.1, 90.0); SetSkill(SkillName.Tactics, 80.1, 90.0); SetSkill(SkillName.Wrestling, 80.1, 90.0); Fame = 10000; Karma = -10000; VirtualArmor = 22; Container pack = new Backpack(); pack.DropItem(new OutlanderHead()); PackItem(pack); if (Utility.RandomDouble() < 0.1) PackItem(new ArcaneGem()); }
public override void InitBody( Faction faction ) { Utility.AssignRandomHair( this ); if ( Female = Utility.RandomBool() ) { Body = 0x191; Name = NameList.RandomName( "female" ); } else { Body = 0x190; Name = NameList.RandomName( "male" ); if( Utility.RandomBool() ) Utility.AssignRandomFacialHair( this, HairHue ); } InitStats( 1000, 1000, 1000 ); if ( faction != null ) Title = String.Format( "the {0} guard", faction.Definition.FriendlyName.ToLower() ); else Title = "the guard"; SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); Container pack = new Backpack(); pack.Movable = false; pack.DropItem( new Gold( 10, 25 ) ); AddItem( pack ); Skills[SkillName.Anatomy].Base = 120.0; Skills[SkillName.Tactics].Base = 120.0; Skills[SkillName.Swords].Base = 120.0; Skills[SkillName.MagicResist].Base = 120.0; Skills[SkillName.DetectHidden].Base = 100.0; }
public Beggar() : base(AIType.AI_Thief, FightMode.None, 10, 1, 0.4, 1.6) { InitStats(85, 75, 65); Title = "the beggar"; Hue = Utility.RandomSkinHue(); if (Female == Utility.RandomBool()) { Body = 0x191; Name = NameList.RandomName("female"); } else { Body = 0x190; Name = NameList.RandomName("male"); } // Start with some rags to wear AddItem(new Shirt(Utility.RandomNeutralHue())); AddItem(new ShortPants(Utility.RandomNeutralHue())); // Beggers need hair too Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A)) { Hue = Utility.RandomNondyedHue(), Layer = Layer.Hair, Movable = false }; AddItem(hair); // Start with just a little gold Container pack = new Backpack(); pack.DropItem(new Gold(10, 50)); pack.Movable = false; AddItem(pack); // Give some street skills Skills[SkillName.Stealing].Base = Utility.Random(50, 70); Skills[SkillName.Wrestling].Base = Utility.Random(50, 25); Skills[SkillName.Begging].Base = Utility.Random(80, 95); // toughen him up a tad VirtualArmor = 10; }
public Ludwig() { ///////////STR/DEX/INT InitStats(100, 41, 51); ///////////name Name = "Ludwig"; ///////////title Title = "Quest Giver"; ///////////sex. 0x191 is female, 0x190 is male. Body = 0x190; Fame = 5000; Karma = 5000; ///////////skincolor Hue = 0x83F8; ///////////Random hair and haircolor HairItemID = 0x2045; HairHue = 986; ///////////clothing and hues AddItem(new LongPants(656)); AddItem(new Boots()); AddItem(new Shirt(785)); ///////////immortal and frozen to-the-spot features below: Blessed = true; CantWalk = true; ///////////Adding a backpack Container pack = new Backpack(); pack.DropItem(new Gold(250, 300)); pack.Movable = false; AddItem(pack); }
public HarborMaster() : base( AIType.AI_Animal, FightMode.None, 10, 1, 0.2, 0.4 ) { InitStats( 31, 41, 51 ); SetSkill( SkillName.Mining, 36, 68 ); Karma = 200; SpeechHue = 0; Hue = Utility.RandomSkinHue(); Blessed = true; if( Female = Utility.RandomBool() ) { Body = 0x191; Name = NameList.RandomName( "female" ); Title = "the Harbor Mistress"; } else { Body = 0x190; Name = NameList.RandomName( "male" ); Title = "the Harbor Master"; } AddItem( new Shirt( Utility.RandomDyedHue() ) ); AddItem( new Boots() ); AddItem( new LongPants( Utility.RandomNeutralHue() ) ); AddItem( new QuarterStaff() ); Utility.AssignRandomHair( this ); Container pack = new Backpack(); pack.DropItem( new Gold( 20, 30 ) ); pack.Movable = false; AddItem( pack ); }
public Brent() { ///////////STR/DEX/INT InitStats(100, 41, 51); ///////////name Name = "Brent"; ///////////title Title = "The Sewer Engineer"; ///////////sex. 0x191 is female, 0x190 is male. Body = 0x190; Fame = 5000; Karma = 5000; ///////////skincolor Hue = Utility.RandomSkinHue(); ///////////Random hair and haircolor Utility.AssignRandomHair(this); ///////////clothing and hues AddItem(new FancyShirt(Utility.RandomYellowHue())); AddItem(new LongPants(Utility.RandomYellowHue())); AddItem(new ThighBoots(Utility.RandomNeutralHue())); ///////////immortal and frozen to-the-spot features below: Blessed = true; CantWalk = true; ///////////Adding a backpack Container pack = new Backpack(); pack.DropItem(new Gold(250, 300)); pack.Movable = false; AddItem(pack); }
public Artist() : base( AIType.AI_Animal, FightMode.None, 10, 1, 0.2, 0.4 ) { InitStats( 31, 41, 51 ); SetSkill( SkillName.Healing, 36, 68 ); SpeechHue = Utility.RandomDyedHue(); Title = "the artist"; Hue = Utility.RandomSkinHue(); if( this.Female = Utility.RandomBool() ) { this.Body = 0x191; this.Name = NameList.RandomName( "female" ); } else { this.Body = 0x190; this.Name = NameList.RandomName( "male" ); } AddItem( new Doublet( Utility.RandomDyedHue() ) ); AddItem( new Sandals( Utility.RandomNeutralHue() ) ); AddItem( new ShortPants( Utility.RandomNeutralHue() ) ); AddItem( new HalfApron( Utility.RandomDyedHue() ) ); Utility.AssignRandomHair( this ); Container pack = new Backpack(); pack.DropItem( new Gold( 250, 300 ) ); pack.Movable = false; AddItem( pack ); }
public RealEstateBroker() : base(AIType.AI_Animal, FightMode.None, 10, 1, 0.2, 0.4) { InitStats(31, 41, 51); SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); if (this.Female = Utility.RandomBool()) { this.Body = 0x191; this.Name = NameList.RandomName("female"); AddItem(new LongPants(Utility.RandomNeutralHue())); AddItem(new FancyShirt(Utility.RandomDyedHue())); //Title = "the actress"; } else { this.Body = 0x190; this.Name = NameList.RandomName("male"); AddItem(new LongPants(Utility.RandomNeutralHue())); AddItem(new FancyShirt(Utility.RandomDyedHue())); //Title = "the actor"; } AddItem(new Boots(Utility.RandomNeutralHue())); Utility.AssignRandomHair(this); Container pack = new Backpack(); pack.DropItem(new Gold(250, 300)); pack.Movable = false; AddItem(pack); }
public JukaLord() : base( AIType.AI_Archer, FightMode.Closest, 10, 3, 0.2, 0.4 ) { Name = "a juka lord"; Body = 766; SetStr( 401, 500 ); SetDex( 81, 100 ); SetInt( 151, 200 ); SetHits( 241, 300 ); SetDamage( 10, 12 ); SetSkill( SkillName.Anatomy, 90.1, 100.0 ); SetSkill( SkillName.Archery, 95.1, 100.0 ); SetSkill( SkillName.Healing, 80.1, 100.0 ); SetSkill( SkillName.MagicResist, 120.1, 130.0 ); SetSkill( SkillName.Swords, 90.1, 100.0 ); SetSkill( SkillName.Tactics, 95.1, 100.0 ); SetSkill( SkillName.Wrestling, 90.1, 100.0 ); Fame = 15000; Karma = -15000; VirtualArmor = 28; Container pack = new Backpack(); pack.DropItem( new Arrow( Utility.RandomMinMax( 5, 35 ) ) ); pack.DropItem( new Arrow( Utility.RandomMinMax( 5, 35 ) ) ); pack.DropItem( new Bandage( Utility.RandomMinMax( 1, 15 ) ) ); pack.DropItem( new Bandage( Utility.RandomMinMax( 1, 15 ) ) ); pack.DropItem( Loot.RandomGem() ); pack.DropItem( new ArcaneGem() ); PackItem( pack ); PackGold( 300, 500 ); PackArmor( 0, 4 ); PackWeapon( 0, 4 ); AddItem( new JukaBow() ); // TODO: Bandage self }
public Wench() : base( AIType.AI_Animal, FightMode.None, 10, 1, 0.2, 0.4 ) { InitStats( 31, 41, 51 ); Title = "the wench"; Body = 0x191; // female Name = NameList.RandomName(" female"); switch (Utility.Random(3)) { case 0: AddItem(new GoldNecklace()); break; case 1: AddItem(new GoldRing()); break; case 2: AddItem(new GoldBracelet()); break; } AddItem(new PlainDress(Utility.RandomYellowHue())); Container pack = new Backpack(); pack.DropItem( new Gold( 250, 300 ) ); pack.Movable = false; AddItem( pack ); }
public Eurystheus() { Name = "Eurystheus"; Title = "The Brother"; Body = 0x190; CantWalk = true; Hue = Utility.RandomSkinHue(); InitStats( 31, 41, 51 ); Blessed = true; Utility.AssignRandomHair( this ); AddItem( new Server.Items.FancyShirt( Utility.RandomNeutralHue() ) ); AddItem( new Server.Items.LongPants( Utility.RandomNeutralHue() ) ); AddItem( new Server.Items.Boots( Utility.RandomNeutralHue() ) ); Container pack = new Backpack(); pack.DropItem( new Gold( 250, 300 ) ); pack.Movable = false; AddItem( pack ); }
public MeerCaptain() : base( AIType.AI_Archer, FightMode.Evil, 10, 1, 0.2, 0.4 ) { Body = 773; SetStr( 96, 110 ); SetDex( 186, 200 ); SetInt( 96, 110 ); SetHits( 58, 66 ); SetDamage( 5, 15 ); SetSkill( SkillName.Archery, 90.1, 100.0 ); SetSkill( SkillName.MagicResist, 91.0, 100.0 ); SetSkill( SkillName.Swords, 90.1, 100.0 ); SetSkill( SkillName.Tactics, 91.0, 100.0 ); SetSkill( SkillName.Wrestling, 80.9, 89.9 ); Fame = 2000; Karma = 5000; VirtualArmor = 28; Container pack = new Backpack(); pack.DropItem( new Bolt( Utility.RandomMinMax( 10, 20 ) ) ); pack.DropItem( new Bolt( Utility.RandomMinMax( 10, 20 ) ) ); switch ( Utility.Random( 6 ) ) { case 0: pack.DropItem( new Broadsword() ); break; case 1: pack.DropItem( new Cutlass() ); break; case 2: pack.DropItem( new Katana() ); break; case 3: pack.DropItem( new Longsword() ); break; case 4: pack.DropItem( new Scimitar() ); break; case 5: pack.DropItem( new VikingSword() ); break; } Container bag = new Bag(); int count = Utility.RandomMinMax( 10, 20 ); for ( int i = 0; i < count; ++i ) { Item item = Loot.RandomReagent(); if ( item == null ) continue; if ( !bag.TryDropItem( this, item, false ) ) item.Delete(); } pack.DropItem( bag ); AddItem( new Crossbow() ); PackItem( pack ); m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) ); }
public WarriorGuard(Mobile target) : base(target) { SpeechHue = Utility.RandomDyedHue(); Hue = Utility.RandomSkinHue(); Title = "the guard"; if (Female = Utility.RandomBool()) { Body = 0x191; Name = NameList.RandomName("female"); switch (Utility.Random(2)) { case 0: AddItem(new LeatherSkirt()); break; case 1: AddItem(new LeatherShorts()); break; } AddItem(new FemalePlateChest()); } else { Body = 0x190; Name = NameList.RandomName("male"); Item item = new Shirt(); AddItem(item); item.Hue = Utility.RandomNondyedHue(); item = new ShortPants(); AddItem(item); item.Hue = Utility.RandomNondyedHue(); item = new PlateChest(); AddItem(item); item = new PlateLegs(); AddItem(item); item = new PlateArms(); AddItem(item); item = new Tunic(); AddItem(item); item.Hue = Utility.RandomNondyedHue(); } Utility.AssignRandomHair(this); if (Female) Utility.AssignRandomFacialHair(this, HairHue); Halberd weapon = new Halberd(); weapon.Movable = false; weapon.Quality = WeaponQuality.Exceptional; AddItem(weapon); Container pack = new Backpack(); pack.Movable = false; pack.DropItem(new Gold(10, 25)); AddItem(pack); }
public static void Fill(LockableContainer cont, int luck, int level, bool isSos) { // Apply Felucca luck bonus if (cont.Map == Map.Felucca) { luck += Mobiles.RandomItemGenerator.FeluccaLuckBonus; } cont.Movable = false; cont.Locked = true; int numberItems; if (level == 0) { cont.LockLevel = 0; // Can't be unlocked cont.DropItem(new Gold(Utility.RandomMinMax(50, 100))); if (Utility.RandomDouble() < 0.75) { cont.DropItem(new TreasureMap(0, Map.Trammel)); } } else { cont.TrapType = TrapType.ExplosionTrap; cont.TrapPower = level * 25; cont.TrapLevel = level; switch (level) { case 1: cont.RequiredSkill = 5; break; case 2: cont.RequiredSkill = 45; break; case 3: cont.RequiredSkill = 65; break; case 4: cont.RequiredSkill = 75; break; case 5: cont.RequiredSkill = 75; break; case 6: cont.RequiredSkill = 80; break; case 7: cont.RequiredSkill = 80; break; } cont.LockLevel = cont.RequiredSkill - 10; cont.MaxLockLevel = cont.RequiredSkill + 40; cont.DropItem(new Gold(level * 5000)); for (int i = 0; i < level * 5; ++i) { cont.DropItem(Loot.RandomScroll(0, 63, SpellbookType.Regular)); } double propsScale = 1.0; if (Core.SE) { switch (level) { case 1: numberItems = 32; propsScale = 0.5625; break; case 2: numberItems = 40; propsScale = 0.6875; break; case 3: numberItems = 48; propsScale = 0.875; break; case 4: numberItems = 56; break; case 5: numberItems = 64; break; case 6: numberItems = 72; break; case 7: numberItems = 80; break; default: numberItems = 0; break; } } else { numberItems = level * 6; } for (int i = 0; i < numberItems; ++i) { Item item; if (Core.AOS) { item = Loot.RandomArmorOrShieldOrWeaponOrJewelry(); } else { item = Loot.RandomArmorOrShieldOrWeapon(); } if (item != null && Core.HS && RandomItemGenerator.Enabled) { int min, max; GetRandomItemStat(out min, out max, propsScale); RunicReforging.GenerateRandomItem(item, LootPack.GetLuckChance(luck), min, max); cont.DropItem(item); } else if (item is BaseWeapon) { BaseWeapon weapon = (BaseWeapon)item; if (Core.AOS) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(weapon, attributeCount, min, max); } else { weapon.DamageLevel = (WeaponDamageLevel)Utility.Random(6); weapon.AccuracyLevel = (WeaponAccuracyLevel)Utility.Random(6); weapon.DurabilityLevel = (WeaponDurabilityLevel)Utility.Random(6); } cont.DropItem(item); } else if (item is BaseArmor) { BaseArmor armor = (BaseArmor)item; if (Core.AOS) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(armor, attributeCount, min, max); } else { armor.ProtectionLevel = (ArmorProtectionLevel)Utility.Random(6); armor.Durability = (ArmorDurabilityLevel)Utility.Random(6); } cont.DropItem(item); } else if (item is BaseHat) { BaseHat hat = (BaseHat)item; if (Core.AOS) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(hat, attributeCount, min, max); } cont.DropItem(item); } else if (item is BaseJewel) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo((BaseJewel)item, attributeCount, min, max); cont.DropItem(item); } } } int reagents; if (level == 0) { reagents = 12; } else { reagents = level + 1; } for (int i = 0; i < reagents; i++) { Item item = Loot.RandomPossibleReagent(); item.Amount = Utility.RandomMinMax(40, 60); cont.DropItem(item); } int gems; if (level == 0) { gems = 2; } else { gems = (level * 3) + 1; } for (int i = 0; i < gems; i++) { Item item = Loot.RandomGem(); cont.DropItem(item); } if (level > 1) { Item item = Loot.Construct(m_ImbuingIngreds[Utility.Random(m_ImbuingIngreds.Length)]); item.Amount = level; cont.DropItem(item); } Item arty = null; Item special = null; if (isSos) { if (0.004 * level > Utility.RandomDouble()) { arty = Loot.Construct(m_SOSArtifacts); } if (0.006 * level > Utility.RandomDouble()) { special = Loot.Construct(m_SOSDecor); } else if (0.009 * level > Utility.RandomDouble()) { special = new TreasureMap(Utility.RandomMinMax(level, Math.Min(7, level + 1)), cont.Map); } } else { if (level >= 7) { if (0.025 > Utility.RandomDouble()) { special = Loot.Construct(m_LevelSevenOnly); } else if (0.10 > Utility.RandomDouble()) { special = Loot.Construct(m_LevelFiveToSeven); } else if (0.25 > Utility.RandomDouble()) { special = GetRandomSpecial(level, cont.Map); } arty = Loot.Construct(m_Artifacts); } else if (level >= 6) { if (0.025 > Utility.RandomDouble()) { special = Loot.Construct(m_LevelFiveToSeven); } else if (0.10 > Utility.RandomDouble()) { special = GetRandomSpecial(level, cont.Map); } arty = Loot.Construct(m_Artifacts); } else if (level >= 5) { if (0.05 > Utility.RandomDouble()) { special = Loot.Construct(m_LevelFiveToSeven); } else if (0.25 > Utility.RandomDouble()) { special = GetRandomSpecial(level, cont.Map); } } else if (.10 > Utility.RandomDouble()) { special = GetRandomSpecial(level, cont.Map); } } if (arty != null) { Container pack = new Backpack(); pack.Hue = 1278; pack.DropItem(arty); cont.DropItem(pack); } if (special != null) { cont.DropItem(special); } }
public virtual void Destroy( bool toBackpack ) { Return(); if ( !BaseHouse.NewVendorSystem ) FixDresswear(); /* Possible cases regarding item return: * * 1. No item must be returned * -> do nothing. * 2. ( toBackpack is false OR the vendor is in the internal map ) AND the vendor is associated with a AOS house * -> put the items into the moving crate or a vendor inventory, * depending on whether the vendor owner is also the house owner. * 3. ( toBackpack is true OR the vendor isn't associated with any AOS house ) AND the vendor isn't in the internal map * -> put the items into a backpack. * 4. The vendor isn't associated with any house AND it's in the internal map * -> do nothing (we can't do anything). */ ArrayList list = GetItems(); if ( list.Count > 0 || HoldGold > 0 ) // No case 1 { if ( ( !toBackpack || this.Map == Map.Internal ) && House != null && House.IsAosRules ) // Case 2 { if ( House.IsOwner( Owner ) ) // Move to moving crate { if ( House.MovingCrate == null ) House.MovingCrate = new MovingCrate( House ); if ( HoldGold > 0 ) Banker.Deposit( House.MovingCrate, HoldGold ); foreach ( Item item in list ) { House.MovingCrate.DropItem( item ); } } else // Move to vendor inventory { VendorInventory inventory = new VendorInventory( House, Owner, Name, ShopName ); inventory.Gold = HoldGold; foreach ( Item item in list ) { inventory.AddItem( item ); } House.VendorInventories.Add( inventory ); } } else if ( ( toBackpack || House == null || !House.IsAosRules ) && this.Map != Map.Internal ) // Case 3 - Move to backpack { Container backpack = new Backpack(); if ( HoldGold > 0 ) Banker.Deposit( backpack, HoldGold ); foreach ( Item item in list ) { backpack.DropItem( item ); } backpack.MoveToWorld( this.Location, this.Map ); } } Delete(); }
private bool MoveItemsToBank(Mobile m) { Backpack bag = new Backpack(); ArrayList equip = new ArrayList(m.Items); if (m.Backpack != null) { // count clothing items int WornCount = 0; foreach (Item i in equip) { if (Moongate.RestrictedItem(m, i) == false) { continue; // not clothes } else { WornCount++; } } // erl: added check for Mobile.Alive property... will not return false if mobile is not alive if (125 - m.BankBox.TotalItems - 1 - m.Backpack.TotalItems - WornCount < 0 && m.Alive) { return(false); } // Unequip any items being worn foreach (Item i in equip) { if (Moongate.RestrictedItem(m, i) == false) { continue; } else { m.Backpack.DropItem(i); } } // Get a count of all items in the player's backpack. ArrayList items = new ArrayList(m.Backpack.Items); // Drop our new bag in the player's bank m.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) { // If there's room, drop the item in the bank, otherwise drop it on the ground if (bag.TryDropItem(m, i, false) || !m.Alive) { bag.DropItem(i); } else { i.DropToWorld(m, m.Location); } } } // Give them a Deathrobe, Stinger dagger, and a blank spell book if (m.Alive) { Item robe = new Server.Items.DeathRobe(); if (!m.EquipItem(robe)) { robe.Delete(); } } Item aiStinger = new Server.Items.AIStinger(); if (!m.AddToBackpack(aiStinger)) { aiStinger.Delete(); } Item spellbook = new Server.Items.Spellbook(); if (!m.AddToBackpack(spellbook)) { spellbook.Delete(); } return(true); }
public static void Fill(LockableContainer cont, int luck, int level, bool isSos, Map map) { cont.Movable = false; cont.Locked = true; int count; if (level == 0) { cont.LockLevel = 0; // Can't be unlocked cont.DropItem(new Gold(Utility.RandomMinMax(50, 100))); if (Utility.RandomDouble() < 0.75) { cont.DropItem(new TreasureMap(0, Map.Trammel)); } } else { cont.TrapType = TrapType.ExplosionTrap; cont.TrapPower = level * 25; cont.TrapLevel = level; switch (level) { case 1: cont.RequiredSkill = 5; break; case 2: cont.RequiredSkill = 45; break; case 3: cont.RequiredSkill = 65; break; case 4: cont.RequiredSkill = 75; break; case 5: cont.RequiredSkill = 75; break; case 6: cont.RequiredSkill = 80; break; case 7: cont.RequiredSkill = 80; break; } cont.LockLevel = cont.RequiredSkill - 10; cont.MaxLockLevel = cont.RequiredSkill + 40; #region gold cont.DropItem(new Gold(isSos ? level * 10000 : level * 5000)); #endregion #region Scrolls if (isSos) { switch (level) { default: count = 20; break; case 0: case 1: count = Utility.RandomMinMax(2, 5); break; case 2: count = Utility.RandomMinMax(10, 15); break; } } else { count = level * 5; } for (int i = 0; i < count; ++i) { cont.DropItem(Loot.RandomScroll(0, 63, SpellbookType.Regular)); } #endregion #region Magical Items double propsScale = 1.0; if (Core.SE) { switch (level) { case 1: count = isSos ? Utility.RandomMinMax(2, 6) : 32; propsScale = 0.5625; break; case 2: count = isSos ? Utility.RandomMinMax(10, 15) : 40; propsScale = 0.6875; break; case 3: count = isSos ? Utility.RandomMinMax(15, 20) : 48; propsScale = 0.875; break; case 4: count = isSos ? Utility.RandomMinMax(15, 20) : 56; break; case 5: count = isSos ? Utility.RandomMinMax(15, 20) : 64; break; case 6: count = isSos ? Utility.RandomMinMax(15, 20) : 72; break; case 7: count = isSos ? Utility.RandomMinMax(15, 20) : 80; break; default: count = 0; break; } } else { count = level * 6; } for (int i = 0; i < count; ++i) { Item item; if (Core.AOS) { item = Loot.RandomArmorOrShieldOrWeaponOrJewelry(); } else { item = Loot.RandomArmorOrShieldOrWeapon(); } if (item != null && Core.HS && RandomItemGenerator.Enabled) { int min, max; GetRandomItemStat(out min, out max, propsScale); RunicReforging.GenerateRandomItem(item, luck, min, max, map); cont.DropItem(item); } else if (item is BaseWeapon) { BaseWeapon weapon = (BaseWeapon)item; if (Core.AOS) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(weapon, attributeCount, min, max); } else { weapon.DamageLevel = (WeaponDamageLevel)Utility.Random(6); weapon.AccuracyLevel = (WeaponAccuracyLevel)Utility.Random(6); weapon.DurabilityLevel = (WeaponDurabilityLevel)Utility.Random(6); } cont.DropItem(item); } else if (item is BaseArmor) { BaseArmor armor = (BaseArmor)item; if (Core.AOS) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(armor, attributeCount, min, max); } else { armor.ProtectionLevel = (ArmorProtectionLevel)Utility.Random(6); armor.Durability = (ArmorDurabilityLevel)Utility.Random(6); } cont.DropItem(item); } else if (item is BaseHat) { BaseHat hat = (BaseHat)item; if (Core.AOS) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo(hat, attributeCount, min, max); } cont.DropItem(item); } else if (item is BaseJewel) { int attributeCount; int min, max; GetRandomAOSStats(out attributeCount, out min, out max); BaseRunicTool.ApplyAttributesTo((BaseJewel)item, attributeCount, min, max); cont.DropItem(item); } } } #endregion #region Reagents if (isSos) { switch (level) { default: count = Utility.RandomMinMax(45, 60); break; case 0: case 1: count = Utility.RandomMinMax(15, 20); break; case 2: count = Utility.RandomMinMax(25, 40); break; } } else { count = level == 0 ? 12 : Utility.RandomMinMax(40, 60) * (level + 1); } for (int i = 0; i < count; i++) { cont.DropItemStack(Loot.RandomPossibleReagent()); } #endregion #region Gems if (level == 0) { count = 2; } else { count = (level * 3) + 1; } for (int i = 0; i < count; i++) { cont.DropItem(Loot.RandomGem()); } #endregion #region Imbuing Ingreds if (level > 1) { Item item = Loot.Construct(m_ImbuingIngreds[Utility.Random(m_ImbuingIngreds.Length)]); item.Amount = level; cont.DropItem(item); } #endregion Item arty = null; Item special = null; if (isSos) { if (0.004 * level > Utility.RandomDouble()) { arty = Loot.Construct(m_SOSArtifacts); } if (0.006 * level > Utility.RandomDouble()) { special = Loot.Construct(m_SOSDecor); } else if (0.009 * level > Utility.RandomDouble()) { special = new TreasureMap(Utility.RandomMinMax(level, Math.Min(7, level + 1)), cont.Map); } } else { if (level >= 7) { if (0.025 > Utility.RandomDouble()) { special = Loot.Construct(m_LevelSevenOnly); } else if (0.10 > Utility.RandomDouble()) { special = Loot.Construct(m_LevelFiveToSeven); } else if (0.25 > Utility.RandomDouble()) { special = GetRandomSpecial(level, cont.Map); } arty = Loot.Construct(m_Artifacts); } else if (level >= 6) { if (0.025 > Utility.RandomDouble()) { special = Loot.Construct(m_LevelFiveToSeven); } else if (0.20 > Utility.RandomDouble()) { special = GetRandomSpecial(level, cont.Map); } arty = Loot.Construct(m_Artifacts); } else if (level >= 5) { if (0.005 > Utility.RandomDouble()) { special = Loot.Construct(m_LevelFiveToSeven); } else if (0.15 > Utility.RandomDouble()) { special = GetRandomSpecial(level, cont.Map); } } else if (.10 > Utility.RandomDouble()) { special = GetRandomSpecial(level, cont.Map); } } if (arty != null) { Container pack = new Backpack(); pack.Hue = 1278; pack.DropItem(arty); cont.DropItem(pack); } if (special != null) { cont.DropItem(special); } if (Core.SA) { int rolls = 2; if (level >= 5) { rolls += level - 2; } RefinementComponent.Roll(cont, rolls, 0.10); } }