public Death() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4) { Name = "Death"; Title = " The 4th Horseman"; Body = 400; SpeechHue = 2128; Hue = 161; VirtualArmor = 45; Kills = 10; SetStr( 125 ); SetDex( 251 ); SetInt( 130 ); SetHits(12000); SetDamage(25,45); SetDamageType(ResistanceType.Poison, 100); SetResistance(ResistanceType.Physical, 45,55); SetResistance(ResistanceType.Fire, 45, 55); SetResistance(ResistanceType.Cold, 45, 55); SetResistance(ResistanceType.Energy, 45, 55); SetResistance(ResistanceType.Poison, 100); SetSkill(SkillName.Wrestling, 85.0, 92.5); SetSkill(SkillName.Tactics, 78.5, 87.2); SetSkill(SkillName.Anatomy, 68.7, 85.6); SetSkill(SkillName.Fencing, 92.5, 95.6); Fame = 0; Karma = -10000; Item Weapon = new ScytheOfDeath(); Weapon.Movable = false; AddItem(Weapon); // PackItem(new MasterCoin(40)); VirtualArmor = 30; new PaleHorse().Rider = this; Item apron = new HalfApron(161); apron.Movable = false; AddItem( apron ); Item hair = new ShortHair( 161 ); hair.Movable = false; AddItem( hair ); Item shoes = new Sandals(161); shoes.Movable = false; AddItem( shoes ); Item mask = new OrcishKinMask(161); mask.Movable = false; AddItem( mask ); Item robe = new Robe(161); robe.Movable = false; AddItem( robe ); Item gloves = new LeatherGloves(); gloves.Movable = false; gloves.Hue = 161; AddItem( gloves ); Item gorget = new LeatherGorget(); gorget.Movable = false; gorget.Hue = 161; AddItem( gorget ); }
public static Item RandomIOB() { switch (Utility.Random(7)) { case 0: // Undead - GUL { if (Utility.RandomBool()) return new BloodDrenchedBandana(); else { BodySash sash = new BodySash(); sash.Hue = 0x66C; sash.IOBAlignment = IOBAlignment.Council; sash.Name = "blood drenched sash"; sash.Dyable = false; sash.Scissorable = false; return sash; } } case 1: // Undead - UND { Sandals sandals = new Sandals(); if (Utility.RandomBool()) sandals.Hue = 0x66C; else sandals.Hue = 0x1; sandals.IOBAlignment = IOBAlignment.Undead; sandals.Name = "sandals of the walking dead"; sandals.Dyable = false; sandals.Scissorable = false; return sandals; } case 2: // Orcish { if (Utility.RandomBool()) { // green mask (brute color) if (Utility.RandomBool()) return new OrcishKinMask(); else { // old style mask (orc colored) OrcishKinMask mask = new OrcishKinMask(); mask.Hue = 0; return mask; } } else { return new OrcishKinHelm(); } } case 3: //Savage { if (Utility.RandomBool()) { if (Utility.RandomBool()) { BearMask mask = new BearMask(); mask.IOBAlignment = IOBAlignment.Savage; mask.Name = "bear mask of savage kin"; mask.Dyable = false; return mask; } else { DeerMask mask = new DeerMask(); mask.IOBAlignment = IOBAlignment.Savage; mask.Name = "deer mask of savage kin"; mask.Dyable = false; return mask; } } else { SavageMask mask = new SavageMask(); mask.IOBAlignment = IOBAlignment.Savage; mask.Name = "tribal mask of savage kin"; mask.Dyable = false; return mask; } } case 4: // Pirates { if (Utility.RandomBool()) { if (Utility.RandomBool()) { SkullCap skullcap = new SkullCap(); skullcap.IOBAlignment = IOBAlignment.Pirate; skullcap.Name = "a pirate skullcap"; skullcap.Hue = 0x66C; skullcap.Dyable = false; skullcap.Scissorable = false; return skullcap; } else { Boots boots = new Boots(); boots.IOBAlignment = IOBAlignment.Pirate; boots.Name = "pirate kin boots"; boots.Hue = 0x66c; boots.Dyable = false; boots.Scissorable = false; return boots; } } else { return new PirateHat(); } } case 5: // Brigands { if (Utility.RandomBool()) { return new BrigandKinBandana(); } else { return new BrigandKinBoots(); } } case 6: // Good { switch ( Utility.Random( 4 )) { case 0: Boots boots = new Boots(0x5E4); boots.IOBAlignment = IOBAlignment.Good; boots.Name = "Britannian Militia"; boots.Dyable = false; return boots; case 1: Cloak cloak = new Cloak(Utility.RandomSpecialVioletHue()); cloak.IOBAlignment = IOBAlignment.Good; cloak.Name = "Britannian Militia"; cloak.Dyable = false; cloak.Scissorable = false; return cloak; case 2: Surcoat surcoat = new Surcoat(Utility.RandomSpecialVioletHue()); surcoat.IOBAlignment = IOBAlignment.Good; surcoat.Name = "Britannian Militia"; surcoat.Dyable = false; surcoat.Scissorable = false; return surcoat; case 3: BodySash bodySash = new BodySash(Utility.RandomSpecialRedHue()); bodySash.IOBAlignment = IOBAlignment.Good; bodySash.Name = "Britannian Militia"; bodySash.Dyable = false; bodySash.Scissorable = false; return bodySash; } break; } } return null; }
public static void Fill(LockableContainer cont, int level) { cont.Movable = false; cont.Locked = true; cont.TrapType = TrapType.ExplosionTrap; cont.TrapPower = level * 25; switch (level) { case 0: cont.RequiredSkill = 1; break; case 1: cont.RequiredSkill = 36; break; case 2: cont.RequiredSkill = 76; break; case 3: cont.RequiredSkill = 84; break; case 4: cont.RequiredSkill = 92; break; case 5: cont.RequiredSkill = 100; break; } cont.LockLevel = cont.RequiredSkill - 10; cont.MaxLockLevel = cont.RequiredSkill + 40; double maskChance = 0.1 * level; if (Utility.RandomDouble() < maskChance) { Item mask = null; switch (Utility.Random(4)) { case 0: mask = new OrcishKinMask(); break; case 1: mask = new TribalMask(); break; case 2: mask = new DeerMask(); break; case 3: default: mask = new BearMask(); break; } cont.DropItem(mask); } //int gold = 1000 * level; //cont.DropItem( new Gold( gold ) ); for (int i = 0; i < level * 5; ++i) { cont.DropItem(Loot.RandomScroll(0, 63, SpellbookType.Regular)); } /*for (int i = 0; i < level * 2; i++) * { * cont.DropItem(new Gold(Utility.RandomMinMax(100, 600))); * * // this give magic weapons over 25% of the time with a 15% chance for a vanq even at level 1. That is insane. * Item item = Loot.RandomArmorOrShieldOrWeapon(); * * if (item is BaseWeapon) * { * BaseWeapon weapon = (BaseWeapon)item; * * 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; * * armor.ProtectionLevel = (ArmorProtectionLevel)Utility.Random(6); * armor.Durability = (ArmorDurabilityLevel)Utility.Random(6); * * cont.DropItem(item); * } * }*/ for (int i = 0; i < level; ++i) { // This is much more sane. LootPack.OldSuperBoss.Generate(cont); } int reagents; if (level == 0) { reagents = 12; } else { reagents = level * 3; } for (int i = 0; i < reagents; i++) { Item item = Loot.RandomPossibleReagent(); item.Amount = Utility.RandomMinMax(20, 60); cont.DropItem(item); } int gems; if (level == 0) { gems = 2; } else { gems = level * 3; } for (int i = 0; i < gems; i++) { Item item = Loot.RandomGem(); cont.DropItem(item); } }
/// <summary> /// This is the function gives weaponry to players. /// </summary> private static void ArmPlayer(CTFPlayerGameData pgd) { Mobile m = pgd.Mob; if (!m.Alive) m.Resurrect(); for (int i = m.Items.Count - 1; i >= 0; --i) { Item item = (Item)m.Items[i]; if (item.Layer == Layer.OuterTorso) { item.Delete(); break; } } List<Item> armthis = new List<Item>(); if(GiveRobe) armthis.Add(new CTFRobe(pgd.Team)); Item rankedCloth = null; CTFTeam team = pgd.Team; // 21 Ranks switch (CTFData.GetRank(m)) { default: case 0: rankedCloth = new JesterHat(team.Hue); break; case 1: rankedCloth = new TallStrawHat(team.Hue); break; case 2: rankedCloth = new FloppyHat(team.Hue); break; case 3: rankedCloth = new WideBrimHat(team.Hue); break; case 4: rankedCloth = new Cap(team.Hue); break; case 5: rankedCloth = new SkullCap(team.Hue); break; case 6: rankedCloth = new FlowerGarland(team.Hue); break; case 7: rankedCloth = new StrawHat(team.Hue); break; case 8: rankedCloth = new FeatheredHat(team.Hue); break; case 9: rankedCloth = new TricorneHat(team.Hue); break; case 10: rankedCloth = new TribalMask(team.Hue); break; case 11: rankedCloth = new HornedTribalMask(team.Hue); break; case 12: rankedCloth = new BearMask(team.Hue); break; case 13: rankedCloth = new DeerMask(team.Hue); break; case 14: rankedCloth = new OrcishKinMask(team.Hue); break; case 15: rankedCloth = new SavageMask(team.Hue); break; case 16: rankedCloth = new WizardsHat(team.Hue); break; case 17: rankedCloth = new Bandana(team.Hue); break; case 18: rankedCloth = new ClothNinjaHood(team.Hue); break; case 19: rankedCloth = new Kasa(team.Hue); break; case 20: rankedCloth = new BoneHelm(); rankedCloth.Hue = team.Hue; ((BaseArmor)rankedCloth).ArmorAttributes.MageArmor = 1; break; } if (rankedCloth != null) { rankedCloth.Movable = false; armthis.Add(rankedCloth); } //Alchemy removed by Blady /* if (m.Skills[SkillName.Alchemy].Value >= (m_MinSupplySkill + 15)) //80 Alchemy req - by Blady { for (int i = 0; i < 6; i++) //Amount reduced to 6 by Blady - used to be 10 { armthis.Add(new ExplosionPotion()); armthis.Add(new GreaterHealPotion()); armthis.Add(new GreaterCurePotion()); armthis.Add(new GreaterAgilityPotion()); armthis.Add(new RefreshPotion()); armthis.Add(new GreaterStrengthPotion()); } } */ if (m.Skills[SkillName.Chivalry].Value >= m_MinSupplySkill) { BookOfChivalry book = new BookOfChivalry(); book.Content = 1023;//all spells armthis.Add(book); } if (m.Skills[SkillName.Necromancy].Value >= m_MinSupplySkill) { NecromancerSpellbook book = new NecromancerSpellbook(); book.Content = 0x1FFFF; armthis.Add(book); } if (m.Skills[SkillName.Magery].Value >= m_MinSupplySkill) { GnarledStaff gs = new GnarledStaff(); gs.Attributes.SpellChanneling = 1; gs.WeaponAttributes.MageWeapon = 20; armthis.Add(gs); Spellbook book = new Spellbook(); book.Content = ulong.MaxValue; armthis.Add(book); } if (m.Skills[SkillName.Healing].Value >= m_MinSupplySkill) armthis.Add(new Bandage(1000)); if (m.Skills[SkillName.Fencing].Value >= m_MinSupplySkill) { Spear sp = new Spear(); sp.Attributes.SpellChanneling = 1; armthis.Add(sp); ShortSpear ssp = new ShortSpear(); ssp.Attributes.SpellChanneling = 1; armthis.Add(ssp); WarFork wf = new WarFork(); wf.Attributes.SpellChanneling = 1; armthis.Add(wf); Kryss k = new Kryss(); k.Attributes.SpellChanneling = 1; armthis.Add(k); } if (m.Skills[SkillName.Swords].Value >= m_MinSupplySkill) { if (m.Skills[SkillName.Lumberjacking].Value >= m_MinSupplySkill) { ExecutionersAxe ea = new ExecutionersAxe(); ea.Attributes.SpellChanneling = 1; armthis.Add(ea); } Katana k = new Katana(); k.Attributes.SpellChanneling = 1; armthis.Add(k); Longsword ls = new Longsword(); ls.Attributes.SpellChanneling = 1; armthis.Add(ls); Cleaver c = new Cleaver(); c.Attributes.SpellChanneling = 1; armthis.Add(c); BoneHarvester bh = new BoneHarvester(); bh.Attributes.SpellChanneling = 1; armthis.Add(bh); } if (m.Skills[SkillName.Macing].Value >= m_MinSupplySkill) { WarAxe wa = new WarAxe(); wa.Attributes.SpellChanneling = 1; armthis.Add(wa); HammerPick hp = new HammerPick(); hp.Attributes.SpellChanneling = 1; armthis.Add(hp); QuarterStaff qs = new QuarterStaff(); qs.Attributes.SpellChanneling = 1; armthis.Add(qs); } if (m.Skills[SkillName.Archery].Value >= m_MinSupplySkill) { Bow b = new Bow(); b.Attributes.SpellChanneling = 1; armthis.Add(b); Crossbow xb = new Crossbow(); xb.Attributes.SpellChanneling = 1; armthis.Add(xb); CompositeBow cb = new CompositeBow(); cb.Attributes.SpellChanneling = 1; armthis.Add(cb); armthis.Add(new Arrow(150)); armthis.Add(new Bolt(150)); } if (m.Skills[SkillName.Poisoning].Value >= m_MinSupplySkill) { for (int i = 0; i < 2; i++) armthis.Add(new GreaterPoisonPotion()); } if (m.Skills[SkillName.Parry].Value >= m_MinSupplySkill) { MetalKiteShield ks = new MetalKiteShield(); ks.Attributes.SpellChanneling = 1; armthis.Add(ks); } SunnySystem.ArmPlayer(m, armthis); }
public static void Fill(LockableContainer cont, int level) { cont.Movable = false; cont.Locked = true; cont.TrapType = TrapType.ExplosionTrap; cont.TrapPower = level * 25; switch ( level ) { case 0: cont.RequiredSkill = 1; break; case 1: cont.RequiredSkill = 36; break; case 2: cont.RequiredSkill = 76; break; case 3: cont.RequiredSkill = 84; break; case 4: cont.RequiredSkill = 92; break; case 5: cont.RequiredSkill = 100; break; } cont.LockLevel = cont.RequiredSkill - 10; cont.MaxLockLevel = cont.RequiredSkill + 40; double maskChance = 0.1 * level; if ( Utility.RandomDouble() < maskChance ) { Item mask = null; switch ( Utility.Random( 4 ) ) { case 0: mask = new OrcishKinMask(); break; case 1: mask = new TribalMask(); break; case 2: mask = new DeerMask(); break; case 3: default:mask = new BearMask(); break; } cont.DropItem( mask ); } //int gold = 1000 * level; //cont.DropItem( new Gold( gold ) ); for ( int i = 0; i < level * 5; ++i ) cont.DropItem( Loot.RandomScroll( 0, 63, SpellbookType.Regular ) ); /*for (int i = 0; i < level * 2; i++) { cont.DropItem(new Gold(Utility.RandomMinMax(100, 600))); // this give magic weapons over 25% of the time with a 15% chance for a vanq even at level 1. That is insane. Item item = Loot.RandomArmorOrShieldOrWeapon(); if (item is BaseWeapon) { BaseWeapon weapon = (BaseWeapon)item; 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; armor.ProtectionLevel = (ArmorProtectionLevel)Utility.Random(6); armor.Durability = (ArmorDurabilityLevel)Utility.Random(6); cont.DropItem(item); } }*/ for ( int i = 0; i < level; ++i ) { // This is much more sane. LootPack.OldSuperBoss.Generate( cont ); } int reagents; if ( level == 0 ) reagents = 12; else reagents = level * 3; for ( int i = 0; i < reagents; i++ ) { Item item = Loot.RandomPossibleReagent(); item.Amount = Utility.RandomMinMax( 20, 60 ); cont.DropItem( item ); } int gems; if ( level == 0 ) gems = 2; else gems = level * 3; for ( int i = 0; i < gems; i++ ) { Item item = Loot.RandomGem(); cont.DropItem( item ); } }