I am using RunUO Version 2.1 and today I had a live Server Crash. I am having a problem understanding exactly why.
The 'Crash Log' indicates a NullReferenceException and it seems the problem is in the 'SendEBolt' section of the script. I have looked closely at 'SendEBolt' and believe I have my NullReference checks in order (but obviously not).
Below is:
1) the Crash Log text
2) the SendEBolt section of the script
3) the entire Script with the SendEbolt section way down at line 1340
I have no hair left so if anyone can help me sort this out it would be greatly appreciated.
1) Crash Log text:
2) the SendEBolt section of the script
3) the entire Script (the SendEbolt section is way down at line 1340)
Sorry this newb is stuck.
My thanks to the community here for taking time to look at this for me.
*bows*
The 'Crash Log' indicates a NullReferenceException and it seems the problem is in the 'SendEBolt' section of the script. I have looked closely at 'SendEBolt' and believe I have my NullReference checks in order (but obviously not).
Below is:
1) the Crash Log text
2) the SendEBolt section of the script
3) the entire Script with the SendEbolt section way down at line 1340
I have no hair left so if anyone can help me sort this out it would be greatly appreciated.
1) Crash Log text:
Code:
Server Crash Report
===================
RunUO Version 2.1, Build 6905.732
Operating System: Microsoft Windows NT 6.2.9200.0
.NET Framework: 4.0.30319.42000
Time: 2020-11-14 1:34:47 AM
Mobiles: 26182
Items: 957589
Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
at Server.Mobile.CanSee(Mobile m)
at Server.Mobiles.VenatorCrystalis.SendEBolt(Mobile to)
at Server.Mobiles.VenatorCrystalis.OnDamage(Int32 amount, Mobile from, Boolean willKill)
at Server.Mobile.Damage(Int32 amount, Mobile from, Boolean informMount)
at Server.Mobiles.BaseCreature.Damage(Int32 amount, Mobile from)
at Server.Items.FirePool.OnMoveOver(Mobile m)
at Server.Mobile.Move(Direction d)
at Server.Mobiles.BaseAI.DoMoveImpl(Direction d)
at Server.Mobiles.BaseAI.DoMove(Direction d, Boolean badStateOk)
at Server.Mobiles.BaseAI.MoveTo(Mobile m, Boolean run, Int32 range)
at Server.Mobiles.MageAI.RunTo(Mobile m)
at Server.Mobiles.MageAI.DoActionCombat()
at Server.Mobiles.BaseAI.AITimer.OnTick()
at Server.Timer.Slice()
at Server.Core.Main(String[] args)
2) the SendEBolt section of the script
Code:
public void SendEBolt( Mobile to )
{
this.Mana = this.ManaMax;
if ( !this.CanSee( to ) )
{
return;
}
if ( to != null && !to.Deleted && to.Alive && !to.IsDeadBondedPet )
{
this.MovingParticles( to, 0x379F, 7, 0, false, true, 0xBE3, 0xFCB, 0x211 );
to.PlaySound( 0x229 );
this.DoHarmful( to );
AOS.Damage( to, this, 0, 0, 30, 30, 0, 40 );// dmg,phy,fir,cold,pois,ener
}
}
3) the entire Script (the SendEbolt section is way down at line 1340)
Code:
using Server;
using Server.Items;
using Server.Mobiles;
using Server.Targeting;
using Server.Spells;
using Server.Spells.Seventh;
using Server.Spells.Fifth;
using System;
using System.Collections;
using Server.Factions;
using Xanthos.Interfaces;
using Xanthos.Evo;
namespace Server.Mobiles
{
[CorpseName( "an evil corpse" )]
public class VenatorCrystalis : BaseCreature
{
private DateTime m_Delay = DateTime.Now;
private Timer m_TeleTimer;
[Constructable]
public VenatorCrystalis( ) : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a Crysis";
Body = 300;
BaseSoundID = 278;
Hue = 2716; //2;
SetStr( 450, 500 );
SetDex( 225, 275 );
SetInt( 800, 875 );
SetHits( 25000 );
SetDamage( 20, 24 );
switch ( Utility.Random( 3 ) )
{
case 0:
SetDamageType( ResistanceType.Physical, 70 );
SetDamageType( ResistanceType.Cold, 30 );
SetResistance( ResistanceType.Physical, 65, 75 );
SetResistance( ResistanceType.Fire, 60, 70 );
SetResistance( ResistanceType.Cold, 95 );
SetResistance( ResistanceType.Poison, 85 );
SetResistance( ResistanceType.Energy, 70, 80 );
break;
case 1:
SetDamageType( ResistanceType.Physical, 80 );
SetDamageType( ResistanceType.Energy, 20 );
SetResistance( ResistanceType.Physical, 65, 75 );
SetResistance( ResistanceType.Fire, 95 );
SetResistance( ResistanceType.Cold, 75 );
SetResistance( ResistanceType.Poison, 85 );
SetResistance( ResistanceType.Energy, 70, 80 );
break;
case 2:
SetDamageType( ResistanceType.Physical, 60 );
SetDamageType( ResistanceType.Fire, 40 );
SetResistance( ResistanceType.Physical, 65, 75 );
SetResistance( ResistanceType.Fire, 65, 75 );
SetResistance( ResistanceType.Cold, 55, 65 );
SetResistance( ResistanceType.Poison, 85 );
SetResistance( ResistanceType.Energy, 95 );
break;
}
SetSkill( SkillName.EvalInt, 150.0 ); // 200
SetSkill( SkillName.MagicResist, 150.0 );
SetSkill( SkillName.Magery, 150.0 );
SetSkill( SkillName.Meditation, 150.0 );
SetSkill( SkillName.Anatomy, 150.0 );
SetSkill( SkillName.Tactics, 150.0 );
SetSkill( SkillName.Wrestling, 150.0 );
Fame = 25000;
Karma = -25000;
VirtualArmor = 65;
Tamable = false;
IsParagon = false;
m_TeleTimer = new TeleportTimer( this );
m_TeleTimer.Start();
}
public override void GenerateLoot()
{
AddLoot( LootPack.SuperBoss, 3 );
AddLoot( LootPack.FilthyRich, 3 );
AddLoot( LootPack.Gems, Utility.Random( 10, 15 ) );
}
public override void OnBeforeSpawn(Point3D location, Map m)
{
BaseCreature bc = this as BaseCreature;
switch ( Utility.Random( 3 ) )
{
case 0: bc.AI = AIType.AI_Melee;
SetStr( 800, 875 );
SetDex( 450, 500 );
SetInt( 225, 275 );
SetHits( 25000 );
SetDamage( 20, 24 );
SetSkill( SkillName.MagicResist, 80.1, 90.0 );
SetSkill( SkillName.Tactics, 100.1, 110.0 );
SetSkill( SkillName.Wrestling, 100.1, 110.0 );
SetSkill( SkillName.Anatomy, 100.1, 110.0 ); break;
case 1: bc.AI = AIType.AI_NecroMage;
SetStr( 450, 500 );
SetDex( 225, 275 );
SetInt( 800, 875 );
SetHits( 25000 );
SetMana( 25000 );
SetDamage( 18, 22 );
SetSkill( SkillName.EvalInt, 85.1, 100.0 );
SetSkill( SkillName.MagicResist, 80.1, 90.0 );
SetSkill( SkillName.Magery, 80.1, 90.0 );
SetSkill( SkillName.Necromancy, 100.1, 110.0 );
SetSkill( SkillName.SpiritSpeak, 95.1, 100.0 );
SetSkill( SkillName.Anatomy, 90.1, 100.0 );
SetSkill( SkillName.Wrestling, 100.1, 110.0 ); break;
case 2: bc.AI = AIType.AI_Mage;
SetStr( 450, 500 );
SetDex( 225, 275 );
SetInt( 800, 875 );
SetMana( 25000 );
SetDamage( 20, 24 );
SetSkill( SkillName.EvalInt, 85.1, 100.0 );
SetSkill( SkillName.MagicResist, 80.1, 90.0 );
SetSkill( SkillName.Magery, 100.1, 110.0 );
SetSkill( SkillName.SpiritSpeak, 90.1, 100.0 );
SetSkill( SkillName.Anatomy, 90.1, 100.0 );
SetSkill( SkillName.Wrestling, 100.1, 110.0 ); break;
}
base.OnBeforeSpawn(location, m);
}
public override void OnDeath( Container c )
{
c.DropItem( new Gold( 2000, 3000 ) );
c.DropItem( new Tradium( 500, 2000 ) );
switch ( Utility.Random( 7 ) )
{
case 0: c.DropItem( new Blight(5) ); break;
case 1: c.DropItem( new CapturedEssence(5) ); break;
case 2: c.DropItem( new Corruption(5) ); break;
case 3: c.DropItem( new DiseasedBark(5) ); break;
case 4: c.DropItem( new DreadHornMane(5) ); break;
case 5: c.DropItem( new EyeOfTheTravesty(5) ); break;
case 6: c.DropItem( new GrizzledBones(5) ); break;
}
switch ( Utility.Random( 7 ) )
{
case 0: c.DropItem( new LardOfParoxysmus(2) ); break;
case 1: c.DropItem( new LuminescentFungi(2) ); break;
case 2: c.DropItem( new Muculent(2) ); break;
case 3: c.DropItem( new ParasiticPlant(2) ); break;
case 4: c.DropItem( new Putrefication(2) ); break;
case 5: c.DropItem( new Scourge(2) ); break;
case 6: c.DropItem( new Taint(2) ); break;
}
if ( Utility.RandomDouble() <= 0.25 ) //.05
{
switch ( Utility.Random( 8 ))
{
case 0: c.DropItem( new Aegis() ); break;
case 1: c.DropItem( new DragonheartShield() ); break;
case 2: c.DropItem( new GuardianCrest() ); break;
case 3: c.DropItem( new ShieldOfInvulnerability() ); break;
case 4: c.DropItem( new BladeOfInsanity() ); break;
case 5: c.DropItem( new SerpentsFang() ); break;
case 6: c.DropItem( new Infamia() ); break;
case 7: c.DropItem( new BoneCrusher() ); break;
}
}
if ( Utility.RandomDouble() <= 0.99 ) //.05
{
int lvl = 6;
TreasureMap map = new TreasureMap( lvl, Map.Felucca );
Point2D loc = map.ChestLocation;
if ( loc.X >= 5116 && loc.X <= 6144 && loc.Y >= 2304 && loc.Y <= 4095 ) //Lost Lands Area
map.ChestMap = Map.Felucca;
else
map.ChestMap = Map.Trammel;
c.DropItem( map );
}
switch ( Utility.Random( 282 ) )
{
case 0: c.DropItem( new Aegis() ); break;
case 1: c.DropItem( new AlchemistsBauble() ); break;
case 2: c.DropItem( new ArcaneArms() ); break;
case 3: c.DropItem( new ArcaneCap() ); break;
case 4: c.DropItem( new ArcaneGloves() ); break;
case 5: c.DropItem( new ArcaneGorget() ); break;
case 6: c.DropItem( new ArcaneLeggings() ); break;
case 7: c.DropItem( new ArcaneShield() ); break;
case 8: c.DropItem( new ArcaneTunic() ); break;
case 9: c.DropItem( new ArcticDeathDealer() ); break;
case 10: c.DropItem( new ArmorOfFortune() ); break;
case 11: c.DropItem( new ArmorOfInsight() ); break;
case 12: c.DropItem( new ArmorOfNobility() ); break;
case 13: c.DropItem( new ArmsOfAegis() ); break;
case 14: c.DropItem( new ArmsOfBane() ); break;
case 15: c.DropItem( new ArmsOfFire() ); break;
case 16: c.DropItem( new ArmsOfFortune() ); break;
case 17: c.DropItem( new ArmsOfHunter() ); break;
case 18: c.DropItem( new ArmsOfInsight() ); break;
case 19: c.DropItem( new ArmsOfNobility() ); break;
case 20: c.DropItem( new ArmsOfTheFallenKing() ); break;
case 21: c.DropItem( new ArmsOfTheHarrower() ); break;
case 22: c.DropItem( new AssassinArms() ); break;
case 23: c.DropItem( new AssassinChest() ); break;
case 24: c.DropItem( new AssassinGloves() ); break;
case 25: c.DropItem( new AssassinGorget() ); break;
case 26: c.DropItem( new AssassinHood() ); break;
case 27: c.DropItem( new AssassinLegs() ); break;
case 28: c.DropItem( new AwesomeDisturbingPortraitDeed() ); break;
case 29: c.DropItem( new AxeOfTheHeavens() ); break;
case 31: c.DropItem( new BanditsBlade() ); break;
case 32: c.DropItem( new BaneEnlighten() ); break;
case 33: c.DropItem( new BedOfNailsDeed() ); break;
case 34: c.DropItem( new BladeOfInsanity() ); break;
case 35: c.DropItem( new BladeofTorment() ); break;
case 36: c.DropItem( new BlazeOfDeath() ); break;
case 37: c.DropItem( new BlueDecorativeRugDeed() ); break;
case 38: c.DropItem( new BlueFancyRugDeed() ); break;
case 39: c.DropItem( new BluePlainRugDeed() ); break;
case 40: c.DropItem( new BoilingCauldronDeed() ); break;
case 41: c.DropItem( new BoneCouchDeed() ); break;
case 42: c.DropItem( new BoneCrusher() ); break;
case 43: c.DropItem( new BoneTableDeed() ); break;
case 44: c.DropItem( new BoneThroneDeed() ); break;
case 45: c.DropItem( new BowOfTheJukaKing() ); break;
case 46: c.DropItem( new BraceletOfHealth() ); break;
case 47: c.DropItem( new BraceletOfTheElements() ); break;
case 48: c.DropItem( new BraceletOfTheVile() ); break;
case 49: c.DropItem( new BreathOfTheDead() ); break;
case 50: c.DropItem( new BrokenArmoireDeed() ); break;
case 51: c.DropItem( new BrokenBedDeed() ); break;
case 52: c.DropItem( new BrokenBookcaseDeed() ); break;
case 53: c.DropItem( new BrokenChestOfDrawersDeed() ); break;
case 54: c.DropItem( new BrokenCoveredChairDeed() ); break;
case 55: c.DropItem( new BrokenFallenChairDeed() ); break;
case 56: c.DropItem( new BrokenVanityDeed() ); break;
case 57: c.DropItem( new BucBow() ); break;
case 58: c.DropItem( new CandelabraOfSouls() ); break;
case 59: c.DropItem( new CapOfFortune() ); break;
case 60: c.DropItem( new CapOfTheFallenKing() ); break;
case 61: c.DropItem( new CaptainQuacklebushsCutlass() ); break;
case 62: c.DropItem( new CavortingClub() ); break;
case 63: c.DropItem( new CinnamonFancyRugDeed() ); break;
case 64: c.DropItem( new CoifOfBane() ); break;
case 65: c.DropItem( new CoifOfFire() ); break;
case 66: c.DropItem( new CoifOfNobility() ); break;
case 67: c.DropItem( new ColdBlood() ); break;
case 68: c.DropItem( new ConjurersGarb() ); break;
case 69: c.DropItem( new ConjurersGrimoire() ); break;
case 70: c.DropItem( new ConjurersTrinket() ); break;
case 71: c.DropItem( new CreepyPortraitDeed() ); break;
case 72: c.DropItem( new CurtainsDeed() ); break;
case 73: c.DropItem( new DisturbingPortraitDeed() ); break;
case 74: c.DropItem( new DivineArms() ); break;
case 75: c.DropItem( new DivineCountenance() ); break;
case 76: c.DropItem( new DivineGloves() ); break;
case 77: c.DropItem( new DivineGorget() ); break;
case 78: c.DropItem( new DivineLeggings() ); break;
case 79: c.DropItem( new DivineTunic() ); break;
case 80: c.DropItem( new DragClaw() ); break;
case 81: c.DropItem( new DragonHeartArms() ); break;
case 82: c.DropItem( new DragonHeartChest() ); break;
case 83: c.DropItem( new DragonHeartGloves() ); break;
case 84: c.DropItem( new DragonHeartGorget() ); break;
case 85: c.DropItem( new DragonHeartHelm() ); break;
case 86: c.DropItem( new DragonHeartLegs() ); break;
case 87: c.DropItem( new DragonheartSword() ); break;
case 88: c.DropItem( new DragonsEnd() ); break;
case 89: c.DropItem( new DruidFemaleLeafChest() ); break;
case 90: c.DropItem( new DruidLeafArms() ); break;
case 91: c.DropItem( new DruidLeafChest() ); break;
case 92: c.DropItem( new DruidLeafGloves() ); break;
case 93: c.DropItem( new DruidLeafGorget() ); break;
case 94: c.DropItem( new DruidLeafLegs() ); break;
case 95: c.DropItem( new DupresShield() ); break;
case 96: c.DropItem( new EarringsOfHealth() ); break;
case 97: c.DropItem( new EarringsOfTheElements() ); break;
case 98: c.DropItem( new EarringsOfTheMagician() ); break;
case 99: c.DropItem( new EarringsOfTheVile() ); break;
case 100: c.DropItem( new EnchantedTitanLegBone() ); break;
case 101: c.DropItem( new EtoileBleue() ); break;
case 102: c.DropItem( new FlorianeArms() ); break;
case 103: c.DropItem( new FlorianeBustier() ); break;
case 104: c.DropItem( new FlorianeChest() ); break;
case 105: c.DropItem( new FlorianeGloves() ); break;
case 106: c.DropItem( new FlorianeHeaddress() ); break;
case 107: c.DropItem( new FlorianeSkirt() ); break;
case 108: c.DropItem( new FountainDeed() ); break;
case 109: c.DropItem( new FountainOfLifeDeed() ); break;
case 110: c.DropItem( new Frostbringer() ); break;
case 111: c.DropItem( new Glacial2() ); break;
case 112: c.DropItem( new GlovesOfAegis() ); break;
case 113: c.DropItem( new GlovesOfBane() ); break;
case 114: c.DropItem( new GlovesOfFire() ); break;
case 115: c.DropItem( new GlovesOfFortune() ); break;
case 116: c.DropItem( new GlovesOfHunter() ); break;
case 117: c.DropItem( new GlovesOfInsight() ); break;
case 118: c.DropItem( new GlovesOfTheFallenKing() ); break;
case 119: c.DropItem( new GlovesOfTheHarrower() ); break;
case 120: c.DropItem( new GoldenDecorativeRugDeed() ); break;
case 121: c.DropItem( new GorgetOfAegis() ); break;
case 122: c.DropItem( new GorgetOfBane() ); break;
case 123: c.DropItem( new GorgetOfFire() ); break;
case 124: c.DropItem( new GorgetOfFortune() ); break;
case 125: c.DropItem( new GorgetOfHunter() ); break;
case 126: c.DropItem( new GorgetOfInsight() ); break;
case 127: c.DropItem( new GorgetOfNobility() ); break;
case 128: c.DropItem( new GorgetOfTheFallenKing() ); break;
case 129: c.DropItem( new GorgetOfTheHarrower() ); break;
case 130: c.DropItem( new GuillotineDeed() ); break;
case 131: c.DropItem( new HangingAxesDeed() ); break;
case 132: c.DropItem( new HangingSwordsDeed() ); break;
case 133: c.DropItem( new HatOfTheMagi() ); break;
case 134: c.DropItem( new HaunterMirrorDeed() ); break;
case 135: c.DropItem( new HearthOfHomeFireDeed() ); break;
case 136: c.DropItem( new HelmOfAegis() ); break;
case 137: c.DropItem( new HelmOfHunter() ); break;
case 138: c.DropItem( new HelmOfInsight() ); break;
case 139: c.DropItem( new HolyKnightsArms() ); break;
case 140: c.DropItem( new HolyKnightsBreastplate() ); break;
case 141: c.DropItem( new HolyKnightsGloves() ); break;
case 142: c.DropItem( new HolyKnightsGorget() ); break;
case 143: c.DropItem( new HolyKnightsHelm() ); break;
case 144: c.DropItem( new HolyKnightsLegs() ); break;
case 145: c.DropItem( new HolySword() ); break;
case 146: c.DropItem( new HonestyGorget() ); break;
case 147: c.DropItem( new HouseLadderDeed() ); break;
case 148: c.DropItem( new Infamia() ); break;
case 149: c.DropItem( new InquisitorsArms() ); break;
case 150: c.DropItem( new InquisitorsGorget() ); break;
case 151: c.DropItem( new InquisitorsHelm() ); break;
case 152: c.DropItem( new InquisitorsLegs() ); break;
case 153: c.DropItem( new InquisitorsTunic() ); break;
case 154: c.DropItem( new IrkBane() ); break;
case 155: c.DropItem( new IronMaidenDeed() ); break;
case 156: c.DropItem( new JackalsArms() ); break;
case 157: c.DropItem( new JackalsCollar() ); break;
case 158: c.DropItem( new JackalsGloves() ); break;
case 159: c.DropItem( new JackalsHelm() ); break;
case 160: c.DropItem( new JackalsLegging() ); break;
case 161: c.DropItem( new JackalsTunic() ); break;
case 162: c.DropItem( new JukaCrossbow() ); break;
case 163: c.DropItem( new KnightsFemalePlateChest() ); break;
case 164: c.DropItem( new KnightsNorseHelm() ); break;
case 165: c.DropItem( new KnightsPlateArms() ); break;
case 166: c.DropItem( new KnightsPlateChest() ); break;
case 167: c.DropItem( new KnightsPlateGloves() ); break;
case 168: c.DropItem( new KnightsPlateGorget() ); break;
case 169: c.DropItem( new KnightsPlateLegs() ); break;
case 170: c.DropItem( new LargeFishingNetDeed() ); break;
case 171: c.DropItem( new LegacyOfTheDreadLord() ); break;
case 172: c.DropItem( new LeggingsOfBane() ); break;
case 173: c.DropItem( new LeggingsOfEmbers() ); break;
case 174: c.DropItem( new LeggingsOfFire() ); break;
case 175: c.DropItem( new LegsOfAegis() ); break;
case 176: c.DropItem( new LegsOfCourage() ); break;
case 177: c.DropItem( new LegsOfFortune() ); break;
case 178: c.DropItem( new LegsOfHunter() ); break;
case 179: c.DropItem( new LegsOfInsight() ); break;
case 180: c.DropItem( new LegsOfNobility() ); break;
case 181: c.DropItem( new LegsOfTheFallenKing() ); break;
case 182: c.DropItem( new LegsOfTheHarrower() ); break;
case 183: c.DropItem( new LordBlackthornsExemplar() ); break;
case 184: c.DropItem( new LunaLance() ); break;
case 185: c.DropItem( new Malati() ); break;
case 186: c.DropItem( new MidnightBracers() ); break;
case 187: c.DropItem( new MidnightGloves() ); break;
case 188: c.DropItem( new MidnightGorget() ); break;
case 189: c.DropItem( new MidnightHelm() ); break;
case 190: c.DropItem( new MidnightLegs() ); break;
case 191: c.DropItem( new MidnightTunic() ); break;
case 192: c.DropItem( new NightsKiss() ); break;
case 193: c.DropItem( new NovoBleue() ); break;
case 194: c.DropItem( new NoxRangersHeavyCrossbow() ); break;
case 195: c.DropItem( new Nurture() ); break;
case 196: c.DropItem( new OrnamentOfTheMagician() ); break;
case 197: c.DropItem( new OrnateCrownOfTheHarrower() ); break;
case 198: c.DropItem( new PhoenixChest() ); break;
case 199: c.DropItem( new PhoenixFemaleChest() ); break;
case 200: c.DropItem( new PhoenixGloves() ); break;
case 201: c.DropItem( new PhoenixGorget() ); break;
case 202: c.DropItem( new PhoenixHelm() ); break;
case 203: c.DropItem( new PhoenixLegs() ); break;
case 204: c.DropItem( new PhoenixSleeves() ); break;
case 205: c.DropItem( new PinkFancyRugDeed() ); break;
case 206: c.DropItem( new PixieSwatter() ); break;
case 207: c.DropItem( new Pulp() ); break;
case 208: c.DropItem( new Reclusa() ); break;
case 209: c.DropItem( new RedPlainRugDeed() ); break;
case 210: c.DropItem( new RingOfHealth() ); break;
case 211: c.DropItem( new RingOfTheElements() ); break;
case 212: c.DropItem( new RingOfTheMagician() ); break;
case 213: c.DropItem( new RingOfTheVile() ); break;
case 214: c.DropItem( new RoseOfTrinsic() ); break;
case 215: c.DropItem( new SacrificialAltarDeed() ); break;
case 216: c.DropItem( new SamuraiHelm() ); break;
case 217: c.DropItem( new ScarecrowDeed() ); break;
case 218: c.DropItem( new ScoutArms() ); break;
case 219: c.DropItem( new ScoutBustier() ); break;
case 220: c.DropItem( new ScoutChest() ); break;
case 221: c.DropItem( new ScoutCirclet() ); break;
case 222: c.DropItem( new ScoutFemaleChest() ); break;
case 223: c.DropItem( new ScoutGloves() ); break;
case 224: c.DropItem( new ScoutGorget() ); break;
case 225: c.DropItem( new ScoutLegs() ); break;
case 226: c.DropItem( new ScoutSmallPlateJingasa() ); break;
case 227: c.DropItem( new SentinelsGuard() ); break;
case 228: c.DropItem( new SerpentsFang() ); break;
case 229: c.DropItem( new ShadowDancerArms() ); break;
case 230: c.DropItem( new ShadowDancerBustier() ); break;
case 231: c.DropItem( new ShadowDancerGloves() ); break;
case 232: c.DropItem( new ShadowDancerGorget() ); break;
case 233: c.DropItem( new ShadowDancerLeggings() ); break;
case 234: c.DropItem( new ShadowDancerMask() ); break;
case 235: c.DropItem( new ShadowDancerTunic() ); break;
case 236: c.DropItem( new ShaminoCrossbow() ); break;
case 237: c.DropItem( new SmallFishingNetDeed() ); break;
case 238: c.DropItem( new SolesOfProvidence() ); break;
case 239: c.DropItem( new SorceressArms() ); break;
case 240: c.DropItem( new SorceressBustier() ); break;
case 241: c.DropItem( new SorceressFemaleChest() ); break;
case 242: c.DropItem( new SorceressGloves() ); break;
case 243: c.DropItem( new SorceressGorget() ); break;
case 244: c.DropItem( new SorceressHeadband() ); break;
case 245: c.DropItem( new SorceressPants() ); break;
case 246: c.DropItem( new SorceressSkirt() ); break;
case 247: c.DropItem( new SoulReaver() ); break;
case 248: c.DropItem( new StaffOfPower() ); break;
case 249: c.DropItem( new StaffOfTheMagi() ); break;
case 250: c.DropItem( new StandingBrokenChairDeed() ); break;
case 251: c.DropItem( new StoneStatueDeed() ); break;
case 252: c.DropItem( new SuitOfGoldArmorDeed() ); break;
case 253: c.DropItem( new SuitOfSilverArmorDeed() ); break;
case 254: c.DropItem( new TableWithBlueClothDeed() ); break;
case 255: c.DropItem( new TableWithOrangeClothDeed() ); break;
case 256: c.DropItem( new TableWithPurpleClothDeed() ); break;
case 257: c.DropItem( new TableWithRedClothDeed() ); break;
case 258: c.DropItem( new TapestryOfSosaria() ); break;
case 259: c.DropItem( new TheBeserkersMaul() ); break;
case 260: c.DropItem( new TheDragonSlayer() ); break;
case 261: c.DropItem( new TheDryadBow() ); break;
case 262: c.DropItem( new TheTaskmaster() ); break;
case 263: c.DropItem( new TitansHammer() ); break;
case 264: c.DropItem( new TotemArms() ); break;
case 265: c.DropItem( new TotemCap() ); break;
case 266: c.DropItem( new TotemGloves() ); break;
case 267: c.DropItem( new TotemGorget() ); break;
case 268: c.DropItem( new TotemLeggings() ); break;
case 269: c.DropItem( new TotemTunic() ); break;
case 270: c.DropItem( new TunicOfAegis() ); break;
case 271: c.DropItem( new TunicOfBane() ); break;
case 272: c.DropItem( new TunicOfFire() ); break;
case 273: c.DropItem( new TunicOfHunter() ); break;
case 274: c.DropItem( new TunicOfTheFallenKing() ); break;
case 275: c.DropItem( new TunicOfTheHarrower() ); break;
case 276: c.DropItem( new UnmadeBedDeed() ); break;
case 277: c.DropItem( new UnsettlingPortraitDeed() ); break;
case 278: c.DropItem( new VanityDeed() ); break;
case 279: c.DropItem( new WallTorchDeed() ); break;
case 280: c.DropItem( new WoodenCoffinDeed() ); break;
case 281: c.DropItem( new ZyronicClaw() ); break;
}
switch ( Utility.Random( 282 ) )
{
case 0: c.DropItem( new Aegis() ); break;
case 1: c.DropItem( new AlchemistsBauble() ); break;
case 2: c.DropItem( new ArcaneArms() ); break;
case 3: c.DropItem( new ArcaneCap() ); break;
case 4: c.DropItem( new ArcaneGloves() ); break;
case 5: c.DropItem( new ArcaneGorget() ); break;
case 6: c.DropItem( new ArcaneLeggings() ); break;
case 7: c.DropItem( new ArcaneShield() ); break;
case 8: c.DropItem( new ArcaneTunic() ); break;
case 9: c.DropItem( new ArcticDeathDealer() ); break;
case 10: c.DropItem( new ArmorOfFortune() ); break;
case 11: c.DropItem( new ArmorOfInsight() ); break;
case 12: c.DropItem( new ArmorOfNobility() ); break;
case 13: c.DropItem( new ArmsOfAegis() ); break;
case 14: c.DropItem( new ArmsOfBane() ); break;
case 15: c.DropItem( new ArmsOfFire() ); break;
case 16: c.DropItem( new ArmsOfFortune() ); break;
case 17: c.DropItem( new ArmsOfHunter() ); break;
case 18: c.DropItem( new ArmsOfInsight() ); break;
case 19: c.DropItem( new ArmsOfNobility() ); break;
case 20: c.DropItem( new ArmsOfTheFallenKing() ); break;
case 21: c.DropItem( new ArmsOfTheHarrower() ); break;
case 22: c.DropItem( new AssassinArms() ); break;
case 23: c.DropItem( new AssassinChest() ); break;
case 24: c.DropItem( new AssassinGloves() ); break;
case 25: c.DropItem( new AssassinGorget() ); break;
case 26: c.DropItem( new AssassinHood() ); break;
case 27: c.DropItem( new AssassinLegs() ); break;
case 28: c.DropItem( new AwesomeDisturbingPortraitDeed() ); break;
case 29: c.DropItem( new AxeOfTheHeavens() ); break;
case 31: c.DropItem( new BanditsBlade() ); break;
case 32: c.DropItem( new BaneEnlighten() ); break;
case 33: c.DropItem( new BedOfNailsDeed() ); break;
case 34: c.DropItem( new BladeOfInsanity() ); break;
case 35: c.DropItem( new BladeofTorment() ); break;
case 36: c.DropItem( new BlazeOfDeath() ); break;
case 37: c.DropItem( new BlueDecorativeRugDeed() ); break;
case 38: c.DropItem( new BlueFancyRugDeed() ); break;
case 39: c.DropItem( new BluePlainRugDeed() ); break;
case 40: c.DropItem( new BoilingCauldronDeed() ); break;
case 41: c.DropItem( new BoneCouchDeed() ); break;
case 42: c.DropItem( new BoneCrusher() ); break;
case 43: c.DropItem( new BoneTableDeed() ); break;
case 44: c.DropItem( new BoneThroneDeed() ); break;
case 45: c.DropItem( new BowOfTheJukaKing() ); break;
case 46: c.DropItem( new BraceletOfHealth() ); break;
case 47: c.DropItem( new BraceletOfTheElements() ); break;
case 48: c.DropItem( new BraceletOfTheVile() ); break;
case 49: c.DropItem( new BreathOfTheDead() ); break;
case 50: c.DropItem( new BrokenArmoireDeed() ); break;
case 51: c.DropItem( new BrokenBedDeed() ); break;
case 52: c.DropItem( new BrokenBookcaseDeed() ); break;
case 53: c.DropItem( new BrokenChestOfDrawersDeed() ); break;
case 54: c.DropItem( new BrokenCoveredChairDeed() ); break;
case 55: c.DropItem( new BrokenFallenChairDeed() ); break;
case 56: c.DropItem( new BrokenVanityDeed() ); break;
case 57: c.DropItem( new BucBow() ); break;
case 58: c.DropItem( new CandelabraOfSouls() ); break;
case 59: c.DropItem( new CapOfFortune() ); break;
case 60: c.DropItem( new CapOfTheFallenKing() ); break;
case 61: c.DropItem( new CaptainQuacklebushsCutlass() ); break;
case 62: c.DropItem( new CavortingClub() ); break;
case 63: c.DropItem( new CinnamonFancyRugDeed() ); break;
case 64: c.DropItem( new CoifOfBane() ); break;
case 65: c.DropItem( new CoifOfFire() ); break;
case 66: c.DropItem( new CoifOfNobility() ); break;
case 67: c.DropItem( new ColdBlood() ); break;
case 68: c.DropItem( new ConjurersGarb() ); break;
case 69: c.DropItem( new ConjurersGrimoire() ); break;
case 70: c.DropItem( new ConjurersTrinket() ); break;
case 71: c.DropItem( new CreepyPortraitDeed() ); break;
case 72: c.DropItem( new CurtainsDeed() ); break;
case 73: c.DropItem( new DisturbingPortraitDeed() ); break;
case 74: c.DropItem( new DivineArms() ); break;
case 75: c.DropItem( new DivineCountenance() ); break;
case 76: c.DropItem( new DivineGloves() ); break;
case 77: c.DropItem( new DivineGorget() ); break;
case 78: c.DropItem( new DivineLeggings() ); break;
case 79: c.DropItem( new DivineTunic() ); break;
case 80: c.DropItem( new DragClaw() ); break;
case 81: c.DropItem( new DragonHeartArms() ); break;
case 82: c.DropItem( new DragonHeartChest() ); break;
case 83: c.DropItem( new DragonHeartGloves() ); break;
case 84: c.DropItem( new DragonHeartGorget() ); break;
case 85: c.DropItem( new DragonHeartHelm() ); break;
case 86: c.DropItem( new DragonHeartLegs() ); break;
case 87: c.DropItem( new DragonheartSword() ); break;
case 88: c.DropItem( new DragonsEnd() ); break;
case 89: c.DropItem( new DruidFemaleLeafChest() ); break;
case 90: c.DropItem( new DruidLeafArms() ); break;
case 91: c.DropItem( new DruidLeafChest() ); break;
case 92: c.DropItem( new DruidLeafGloves() ); break;
case 93: c.DropItem( new DruidLeafGorget() ); break;
case 94: c.DropItem( new DruidLeafLegs() ); break;
case 95: c.DropItem( new DupresShield() ); break;
case 96: c.DropItem( new EarringsOfHealth() ); break;
case 97: c.DropItem( new EarringsOfTheElements() ); break;
case 98: c.DropItem( new EarringsOfTheMagician() ); break;
case 99: c.DropItem( new EarringsOfTheVile() ); break;
case 100: c.DropItem( new EnchantedTitanLegBone() ); break;
case 101: c.DropItem( new EtoileBleue() ); break;
case 102: c.DropItem( new FlorianeArms() ); break;
case 103: c.DropItem( new FlorianeBustier() ); break;
case 104: c.DropItem( new FlorianeChest() ); break;
case 105: c.DropItem( new FlorianeGloves() ); break;
case 106: c.DropItem( new FlorianeHeaddress() ); break;
case 107: c.DropItem( new FlorianeSkirt() ); break;
case 108: c.DropItem( new FountainDeed() ); break;
case 109: c.DropItem( new FountainOfLifeDeed() ); break;
case 110: c.DropItem( new Frostbringer() ); break;
case 111: c.DropItem( new Glacial2() ); break;
case 112: c.DropItem( new GlovesOfAegis() ); break;
case 113: c.DropItem( new GlovesOfBane() ); break;
case 114: c.DropItem( new GlovesOfFire() ); break;
case 115: c.DropItem( new GlovesOfFortune() ); break;
case 116: c.DropItem( new GlovesOfHunter() ); break;
case 117: c.DropItem( new GlovesOfInsight() ); break;
case 118: c.DropItem( new GlovesOfTheFallenKing() ); break;
case 119: c.DropItem( new GlovesOfTheHarrower() ); break;
case 120: c.DropItem( new GoldenDecorativeRugDeed() ); break;
case 121: c.DropItem( new GorgetOfAegis() ); break;
case 122: c.DropItem( new GorgetOfBane() ); break;
case 123: c.DropItem( new GorgetOfFire() ); break;
case 124: c.DropItem( new GorgetOfFortune() ); break;
case 125: c.DropItem( new GorgetOfHunter() ); break;
case 126: c.DropItem( new GorgetOfInsight() ); break;
case 127: c.DropItem( new GorgetOfNobility() ); break;
case 128: c.DropItem( new GorgetOfTheFallenKing() ); break;
case 129: c.DropItem( new GorgetOfTheHarrower() ); break;
case 130: c.DropItem( new GuillotineDeed() ); break;
case 131: c.DropItem( new HangingAxesDeed() ); break;
case 132: c.DropItem( new HangingSwordsDeed() ); break;
case 133: c.DropItem( new HatOfTheMagi() ); break;
case 134: c.DropItem( new HaunterMirrorDeed() ); break;
case 135: c.DropItem( new HearthOfHomeFireDeed() ); break;
case 136: c.DropItem( new HelmOfAegis() ); break;
case 137: c.DropItem( new HelmOfHunter() ); break;
case 138: c.DropItem( new HelmOfInsight() ); break;
case 139: c.DropItem( new HolyKnightsArms() ); break;
case 140: c.DropItem( new HolyKnightsBreastplate() ); break;
case 141: c.DropItem( new HolyKnightsGloves() ); break;
case 142: c.DropItem( new HolyKnightsGorget() ); break;
case 143: c.DropItem( new HolyKnightsHelm() ); break;
case 144: c.DropItem( new HolyKnightsLegs() ); break;
case 145: c.DropItem( new HolySword() ); break;
case 146: c.DropItem( new HonestyGorget() ); break;
case 147: c.DropItem( new HouseLadderDeed() ); break;
case 148: c.DropItem( new Infamia() ); break;
case 149: c.DropItem( new InquisitorsArms() ); break;
case 150: c.DropItem( new InquisitorsGorget() ); break;
case 151: c.DropItem( new InquisitorsHelm() ); break;
case 152: c.DropItem( new InquisitorsLegs() ); break;
case 153: c.DropItem( new InquisitorsTunic() ); break;
case 154: c.DropItem( new IrkBane() ); break;
case 155: c.DropItem( new IronMaidenDeed() ); break;
case 156: c.DropItem( new JackalsArms() ); break;
case 157: c.DropItem( new JackalsCollar() ); break;
case 158: c.DropItem( new JackalsGloves() ); break;
case 159: c.DropItem( new JackalsHelm() ); break;
case 160: c.DropItem( new JackalsLegging() ); break;
case 161: c.DropItem( new JackalsTunic() ); break;
case 162: c.DropItem( new JukaCrossbow() ); break;
case 163: c.DropItem( new KnightsFemalePlateChest() ); break;
case 164: c.DropItem( new KnightsNorseHelm() ); break;
case 165: c.DropItem( new KnightsPlateArms() ); break;
case 166: c.DropItem( new KnightsPlateChest() ); break;
case 167: c.DropItem( new KnightsPlateGloves() ); break;
case 168: c.DropItem( new KnightsPlateGorget() ); break;
case 169: c.DropItem( new KnightsPlateLegs() ); break;
case 170: c.DropItem( new LargeFishingNetDeed() ); break;
case 171: c.DropItem( new LegacyOfTheDreadLord() ); break;
case 172: c.DropItem( new LeggingsOfBane() ); break;
case 173: c.DropItem( new LeggingsOfEmbers() ); break;
case 174: c.DropItem( new LeggingsOfFire() ); break;
case 175: c.DropItem( new LegsOfAegis() ); break;
case 176: c.DropItem( new LegsOfCourage() ); break;
case 177: c.DropItem( new LegsOfFortune() ); break;
case 178: c.DropItem( new LegsOfHunter() ); break;
case 179: c.DropItem( new LegsOfInsight() ); break;
case 180: c.DropItem( new LegsOfNobility() ); break;
case 181: c.DropItem( new LegsOfTheFallenKing() ); break;
case 182: c.DropItem( new LegsOfTheHarrower() ); break;
case 183: c.DropItem( new LordBlackthornsExemplar() ); break;
case 184: c.DropItem( new LunaLance() ); break;
case 185: c.DropItem( new Malati() ); break;
case 186: c.DropItem( new MidnightBracers() ); break;
case 187: c.DropItem( new MidnightGloves() ); break;
case 188: c.DropItem( new MidnightGorget() ); break;
case 189: c.DropItem( new MidnightHelm() ); break;
case 190: c.DropItem( new MidnightLegs() ); break;
case 191: c.DropItem( new MidnightTunic() ); break;
case 192: c.DropItem( new NightsKiss() ); break;
case 193: c.DropItem( new NovoBleue() ); break;
case 194: c.DropItem( new NoxRangersHeavyCrossbow() ); break;
case 195: c.DropItem( new Nurture() ); break;
case 196: c.DropItem( new OrnamentOfTheMagician() ); break;
case 197: c.DropItem( new OrnateCrownOfTheHarrower() ); break;
case 198: c.DropItem( new PhoenixChest() ); break;
case 199: c.DropItem( new PhoenixFemaleChest() ); break;
case 200: c.DropItem( new PhoenixGloves() ); break;
case 201: c.DropItem( new PhoenixGorget() ); break;
case 202: c.DropItem( new PhoenixHelm() ); break;
case 203: c.DropItem( new PhoenixLegs() ); break;
case 204: c.DropItem( new PhoenixSleeves() ); break;
case 205: c.DropItem( new PinkFancyRugDeed() ); break;
case 206: c.DropItem( new PixieSwatter() ); break;
case 207: c.DropItem( new Pulp() ); break;
case 208: c.DropItem( new Reclusa() ); break;
case 209: c.DropItem( new RedPlainRugDeed() ); break;
case 210: c.DropItem( new RingOfHealth() ); break;
case 211: c.DropItem( new RingOfTheElements() ); break;
case 212: c.DropItem( new RingOfTheMagician() ); break;
case 213: c.DropItem( new RingOfTheVile() ); break;
case 214: c.DropItem( new RoseOfTrinsic() ); break;
case 215: c.DropItem( new SacrificialAltarDeed() ); break;
case 216: c.DropItem( new SamuraiHelm() ); break;
case 217: c.DropItem( new ScarecrowDeed() ); break;
case 218: c.DropItem( new ScoutArms() ); break;
case 219: c.DropItem( new ScoutBustier() ); break;
case 220: c.DropItem( new ScoutChest() ); break;
case 221: c.DropItem( new ScoutCirclet() ); break;
case 222: c.DropItem( new ScoutFemaleChest() ); break;
case 223: c.DropItem( new ScoutGloves() ); break;
case 224: c.DropItem( new ScoutGorget() ); break;
case 225: c.DropItem( new ScoutLegs() ); break;
case 226: c.DropItem( new ScoutSmallPlateJingasa() ); break;
case 227: c.DropItem( new SentinelsGuard() ); break;
case 228: c.DropItem( new SerpentsFang() ); break;
case 229: c.DropItem( new ShadowDancerArms() ); break;
case 230: c.DropItem( new ShadowDancerBustier() ); break;
case 231: c.DropItem( new ShadowDancerGloves() ); break;
case 232: c.DropItem( new ShadowDancerGorget() ); break;
case 233: c.DropItem( new ShadowDancerLeggings() ); break;
case 234: c.DropItem( new ShadowDancerMask() ); break;
case 235: c.DropItem( new ShadowDancerTunic() ); break;
case 236: c.DropItem( new ShaminoCrossbow() ); break;
case 237: c.DropItem( new SmallFishingNetDeed() ); break;
case 238: c.DropItem( new SolesOfProvidence() ); break;
case 239: c.DropItem( new SorceressArms() ); break;
case 240: c.DropItem( new SorceressBustier() ); break;
case 241: c.DropItem( new SorceressFemaleChest() ); break;
case 242: c.DropItem( new SorceressGloves() ); break;
case 243: c.DropItem( new SorceressGorget() ); break;
case 244: c.DropItem( new SorceressHeadband() ); break;
case 245: c.DropItem( new SorceressPants() ); break;
case 246: c.DropItem( new SorceressSkirt() ); break;
case 247: c.DropItem( new SoulReaver() ); break;
case 248: c.DropItem( new StaffOfPower() ); break;
case 249: c.DropItem( new StaffOfTheMagi() ); break;
case 250: c.DropItem( new StandingBrokenChairDeed() ); break;
case 251: c.DropItem( new StoneStatueDeed() ); break;
case 252: c.DropItem( new SuitOfGoldArmorDeed() ); break;
case 253: c.DropItem( new SuitOfSilverArmorDeed() ); break;
case 254: c.DropItem( new TableWithBlueClothDeed() ); break;
case 255: c.DropItem( new TableWithOrangeClothDeed() ); break;
case 256: c.DropItem( new TableWithPurpleClothDeed() ); break;
case 257: c.DropItem( new TableWithRedClothDeed() ); break;
case 258: c.DropItem( new TapestryOfSosaria() ); break;
case 259: c.DropItem( new TheBeserkersMaul() ); break;
case 260: c.DropItem( new TheDragonSlayer() ); break;
case 261: c.DropItem( new TheDryadBow() ); break;
case 262: c.DropItem( new TheTaskmaster() ); break;
case 263: c.DropItem( new TitansHammer() ); break;
case 264: c.DropItem( new TotemArms() ); break;
case 265: c.DropItem( new TotemCap() ); break;
case 266: c.DropItem( new TotemGloves() ); break;
case 267: c.DropItem( new TotemGorget() ); break;
case 268: c.DropItem( new TotemLeggings() ); break;
case 269: c.DropItem( new TotemTunic() ); break;
case 270: c.DropItem( new TunicOfAegis() ); break;
case 271: c.DropItem( new TunicOfBane() ); break;
case 272: c.DropItem( new TunicOfFire() ); break;
case 273: c.DropItem( new TunicOfHunter() ); break;
case 274: c.DropItem( new TunicOfTheFallenKing() ); break;
case 275: c.DropItem( new TunicOfTheHarrower() ); break;
case 276: c.DropItem( new UnmadeBedDeed() ); break;
case 277: c.DropItem( new UnsettlingPortraitDeed() ); break;
case 278: c.DropItem( new VanityDeed() ); break;
case 279: c.DropItem( new WallTorchDeed() ); break;
case 280: c.DropItem( new WoodenCoffinDeed() ); break;
case 281: c.DropItem( new ZyronicClaw() ); break;
}
switch ( Utility.Random( 282 ) )
{
case 0: c.DropItem( new Aegis() ); break;
case 1: c.DropItem( new AlchemistsBauble() ); break;
case 2: c.DropItem( new ArcaneArms() ); break;
case 3: c.DropItem( new ArcaneCap() ); break;
case 4: c.DropItem( new ArcaneGloves() ); break;
case 5: c.DropItem( new ArcaneGorget() ); break;
case 6: c.DropItem( new ArcaneLeggings() ); break;
case 7: c.DropItem( new ArcaneShield() ); break;
case 8: c.DropItem( new ArcaneTunic() ); break;
case 9: c.DropItem( new ArcticDeathDealer() ); break;
case 10: c.DropItem( new ArmorOfFortune() ); break;
case 11: c.DropItem( new ArmorOfInsight() ); break;
case 12: c.DropItem( new ArmorOfNobility() ); break;
case 13: c.DropItem( new ArmsOfAegis() ); break;
case 14: c.DropItem( new ArmsOfBane() ); break;
case 15: c.DropItem( new ArmsOfFire() ); break;
case 16: c.DropItem( new ArmsOfFortune() ); break;
case 17: c.DropItem( new ArmsOfHunter() ); break;
case 18: c.DropItem( new ArmsOfInsight() ); break;
case 19: c.DropItem( new ArmsOfNobility() ); break;
case 20: c.DropItem( new ArmsOfTheFallenKing() ); break;
case 21: c.DropItem( new ArmsOfTheHarrower() ); break;
case 22: c.DropItem( new AssassinArms() ); break;
case 23: c.DropItem( new AssassinChest() ); break;
case 24: c.DropItem( new AssassinGloves() ); break;
case 25: c.DropItem( new AssassinGorget() ); break;
case 26: c.DropItem( new AssassinHood() ); break;
case 27: c.DropItem( new AssassinLegs() ); break;
case 28: c.DropItem( new AwesomeDisturbingPortraitDeed() ); break;
case 29: c.DropItem( new AxeOfTheHeavens() ); break;
case 31: c.DropItem( new BanditsBlade() ); break;
case 32: c.DropItem( new BaneEnlighten() ); break;
case 33: c.DropItem( new BedOfNailsDeed() ); break;
case 34: c.DropItem( new BladeOfInsanity() ); break;
case 35: c.DropItem( new BladeofTorment() ); break;
case 36: c.DropItem( new BlazeOfDeath() ); break;
case 37: c.DropItem( new BlueDecorativeRugDeed() ); break;
case 38: c.DropItem( new BlueFancyRugDeed() ); break;
case 39: c.DropItem( new BluePlainRugDeed() ); break;
case 40: c.DropItem( new BoilingCauldronDeed() ); break;
case 41: c.DropItem( new BoneCouchDeed() ); break;
case 42: c.DropItem( new BoneCrusher() ); break;
case 43: c.DropItem( new BoneTableDeed() ); break;
case 44: c.DropItem( new BoneThroneDeed() ); break;
case 45: c.DropItem( new BowOfTheJukaKing() ); break;
case 46: c.DropItem( new BraceletOfHealth() ); break;
case 47: c.DropItem( new BraceletOfTheElements() ); break;
case 48: c.DropItem( new BraceletOfTheVile() ); break;
case 49: c.DropItem( new BreathOfTheDead() ); break;
case 50: c.DropItem( new BrokenArmoireDeed() ); break;
case 51: c.DropItem( new BrokenBedDeed() ); break;
case 52: c.DropItem( new BrokenBookcaseDeed() ); break;
case 53: c.DropItem( new BrokenChestOfDrawersDeed() ); break;
case 54: c.DropItem( new BrokenCoveredChairDeed() ); break;
case 55: c.DropItem( new BrokenFallenChairDeed() ); break;
case 56: c.DropItem( new BrokenVanityDeed() ); break;
case 57: c.DropItem( new BucBow() ); break;
case 58: c.DropItem( new CandelabraOfSouls() ); break;
case 59: c.DropItem( new CapOfFortune() ); break;
case 60: c.DropItem( new CapOfTheFallenKing() ); break;
case 61: c.DropItem( new CaptainQuacklebushsCutlass() ); break;
case 62: c.DropItem( new CavortingClub() ); break;
case 63: c.DropItem( new CinnamonFancyRugDeed() ); break;
case 64: c.DropItem( new CoifOfBane() ); break;
case 65: c.DropItem( new CoifOfFire() ); break;
case 66: c.DropItem( new CoifOfNobility() ); break;
case 67: c.DropItem( new ColdBlood() ); break;
case 68: c.DropItem( new ConjurersGarb() ); break;
case 69: c.DropItem( new ConjurersGrimoire() ); break;
case 70: c.DropItem( new ConjurersTrinket() ); break;
case 71: c.DropItem( new CreepyPortraitDeed() ); break;
case 72: c.DropItem( new CurtainsDeed() ); break;
case 73: c.DropItem( new DisturbingPortraitDeed() ); break;
case 74: c.DropItem( new DivineArms() ); break;
case 75: c.DropItem( new DivineCountenance() ); break;
case 76: c.DropItem( new DivineGloves() ); break;
case 77: c.DropItem( new DivineGorget() ); break;
case 78: c.DropItem( new DivineLeggings() ); break;
case 79: c.DropItem( new DivineTunic() ); break;
case 80: c.DropItem( new DragClaw() ); break;
case 81: c.DropItem( new DragonHeartArms() ); break;
case 82: c.DropItem( new DragonHeartChest() ); break;
case 83: c.DropItem( new DragonHeartGloves() ); break;
case 84: c.DropItem( new DragonHeartGorget() ); break;
case 85: c.DropItem( new DragonHeartHelm() ); break;
case 86: c.DropItem( new DragonHeartLegs() ); break;
case 87: c.DropItem( new DragonheartSword() ); break;
case 88: c.DropItem( new DragonsEnd() ); break;
case 89: c.DropItem( new DruidFemaleLeafChest() ); break;
case 90: c.DropItem( new DruidLeafArms() ); break;
case 91: c.DropItem( new DruidLeafChest() ); break;
case 92: c.DropItem( new DruidLeafGloves() ); break;
case 93: c.DropItem( new DruidLeafGorget() ); break;
case 94: c.DropItem( new DruidLeafLegs() ); break;
case 95: c.DropItem( new DupresShield() ); break;
case 96: c.DropItem( new EarringsOfHealth() ); break;
case 97: c.DropItem( new EarringsOfTheElements() ); break;
case 98: c.DropItem( new EarringsOfTheMagician() ); break;
case 99: c.DropItem( new EarringsOfTheVile() ); break;
case 100: c.DropItem( new EnchantedTitanLegBone() ); break;
case 101: c.DropItem( new EtoileBleue() ); break;
case 102: c.DropItem( new FlorianeArms() ); break;
case 103: c.DropItem( new FlorianeBustier() ); break;
case 104: c.DropItem( new FlorianeChest() ); break;
case 105: c.DropItem( new FlorianeGloves() ); break;
case 106: c.DropItem( new FlorianeHeaddress() ); break;
case 107: c.DropItem( new FlorianeSkirt() ); break;
case 108: c.DropItem( new FountainDeed() ); break;
case 109: c.DropItem( new FountainOfLifeDeed() ); break;
case 110: c.DropItem( new Frostbringer() ); break;
case 111: c.DropItem( new Glacial2() ); break;
case 112: c.DropItem( new GlovesOfAegis() ); break;
case 113: c.DropItem( new GlovesOfBane() ); break;
case 114: c.DropItem( new GlovesOfFire() ); break;
case 115: c.DropItem( new GlovesOfFortune() ); break;
case 116: c.DropItem( new GlovesOfHunter() ); break;
case 117: c.DropItem( new GlovesOfInsight() ); break;
case 118: c.DropItem( new GlovesOfTheFallenKing() ); break;
case 119: c.DropItem( new GlovesOfTheHarrower() ); break;
case 120: c.DropItem( new GoldenDecorativeRugDeed() ); break;
case 121: c.DropItem( new GorgetOfAegis() ); break;
case 122: c.DropItem( new GorgetOfBane() ); break;
case 123: c.DropItem( new GorgetOfFire() ); break;
case 124: c.DropItem( new GorgetOfFortune() ); break;
case 125: c.DropItem( new GorgetOfHunter() ); break;
case 126: c.DropItem( new GorgetOfInsight() ); break;
case 127: c.DropItem( new GorgetOfNobility() ); break;
case 128: c.DropItem( new GorgetOfTheFallenKing() ); break;
case 129: c.DropItem( new GorgetOfTheHarrower() ); break;
case 130: c.DropItem( new GuillotineDeed() ); break;
case 131: c.DropItem( new HangingAxesDeed() ); break;
case 132: c.DropItem( new HangingSwordsDeed() ); break;
case 133: c.DropItem( new HatOfTheMagi() ); break;
case 134: c.DropItem( new HaunterMirrorDeed() ); break;
case 135: c.DropItem( new HearthOfHomeFireDeed() ); break;
case 136: c.DropItem( new HelmOfAegis() ); break;
case 137: c.DropItem( new HelmOfHunter() ); break;
case 138: c.DropItem( new HelmOfInsight() ); break;
case 139: c.DropItem( new HolyKnightsArms() ); break;
case 140: c.DropItem( new HolyKnightsBreastplate() ); break;
case 141: c.DropItem( new HolyKnightsGloves() ); break;
case 142: c.DropItem( new HolyKnightsGorget() ); break;
case 143: c.DropItem( new HolyKnightsHelm() ); break;
case 144: c.DropItem( new HolyKnightsLegs() ); break;
case 145: c.DropItem( new HolySword() ); break;
case 146: c.DropItem( new HonestyGorget() ); break;
case 147: c.DropItem( new HouseLadderDeed() ); break;
case 148: c.DropItem( new Infamia() ); break;
case 149: c.DropItem( new InquisitorsArms() ); break;
case 150: c.DropItem( new InquisitorsGorget() ); break;
case 151: c.DropItem( new InquisitorsHelm() ); break;
case 152: c.DropItem( new InquisitorsLegs() ); break;
case 153: c.DropItem( new InquisitorsTunic() ); break;
case 154: c.DropItem( new IrkBane() ); break;
case 155: c.DropItem( new IronMaidenDeed() ); break;
case 156: c.DropItem( new JackalsArms() ); break;
case 157: c.DropItem( new JackalsCollar() ); break;
case 158: c.DropItem( new JackalsGloves() ); break;
case 159: c.DropItem( new JackalsHelm() ); break;
case 160: c.DropItem( new JackalsLegging() ); break;
case 161: c.DropItem( new JackalsTunic() ); break;
case 162: c.DropItem( new JukaCrossbow() ); break;
case 163: c.DropItem( new KnightsFemalePlateChest() ); break;
case 164: c.DropItem( new KnightsNorseHelm() ); break;
case 165: c.DropItem( new KnightsPlateArms() ); break;
case 166: c.DropItem( new KnightsPlateChest() ); break;
case 167: c.DropItem( new KnightsPlateGloves() ); break;
case 168: c.DropItem( new KnightsPlateGorget() ); break;
case 169: c.DropItem( new KnightsPlateLegs() ); break;
case 170: c.DropItem( new LargeFishingNetDeed() ); break;
case 171: c.DropItem( new LegacyOfTheDreadLord() ); break;
case 172: c.DropItem( new LeggingsOfBane() ); break;
case 173: c.DropItem( new LeggingsOfEmbers() ); break;
case 174: c.DropItem( new LeggingsOfFire() ); break;
case 175: c.DropItem( new LegsOfAegis() ); break;
case 176: c.DropItem( new LegsOfCourage() ); break;
case 177: c.DropItem( new LegsOfFortune() ); break;
case 178: c.DropItem( new LegsOfHunter() ); break;
case 179: c.DropItem( new LegsOfInsight() ); break;
case 180: c.DropItem( new LegsOfNobility() ); break;
case 181: c.DropItem( new LegsOfTheFallenKing() ); break;
case 182: c.DropItem( new LegsOfTheHarrower() ); break;
case 183: c.DropItem( new LordBlackthornsExemplar() ); break;
case 184: c.DropItem( new LunaLance() ); break;
case 185: c.DropItem( new Malati() ); break;
case 186: c.DropItem( new MidnightBracers() ); break;
case 187: c.DropItem( new MidnightGloves() ); break;
case 188: c.DropItem( new MidnightGorget() ); break;
case 189: c.DropItem( new MidnightHelm() ); break;
case 190: c.DropItem( new MidnightLegs() ); break;
case 191: c.DropItem( new MidnightTunic() ); break;
case 192: c.DropItem( new NightsKiss() ); break;
case 193: c.DropItem( new NovoBleue() ); break;
case 194: c.DropItem( new NoxRangersHeavyCrossbow() ); break;
case 195: c.DropItem( new Nurture() ); break;
case 196: c.DropItem( new OrnamentOfTheMagician() ); break;
case 197: c.DropItem( new OrnateCrownOfTheHarrower() ); break;
case 198: c.DropItem( new PhoenixChest() ); break;
case 199: c.DropItem( new PhoenixFemaleChest() ); break;
case 200: c.DropItem( new PhoenixGloves() ); break;
case 201: c.DropItem( new PhoenixGorget() ); break;
case 202: c.DropItem( new PhoenixHelm() ); break;
case 203: c.DropItem( new PhoenixLegs() ); break;
case 204: c.DropItem( new PhoenixSleeves() ); break;
case 205: c.DropItem( new PinkFancyRugDeed() ); break;
case 206: c.DropItem( new PixieSwatter() ); break;
case 207: c.DropItem( new Pulp() ); break;
case 208: c.DropItem( new Reclusa() ); break;
case 209: c.DropItem( new RedPlainRugDeed() ); break;
case 210: c.DropItem( new RingOfHealth() ); break;
case 211: c.DropItem( new RingOfTheElements() ); break;
case 212: c.DropItem( new RingOfTheMagician() ); break;
case 213: c.DropItem( new RingOfTheVile() ); break;
case 214: c.DropItem( new RoseOfTrinsic() ); break;
case 215: c.DropItem( new SacrificialAltarDeed() ); break;
case 216: c.DropItem( new SamuraiHelm() ); break;
case 217: c.DropItem( new ScarecrowDeed() ); break;
case 218: c.DropItem( new ScoutArms() ); break;
case 219: c.DropItem( new ScoutBustier() ); break;
case 220: c.DropItem( new ScoutChest() ); break;
case 221: c.DropItem( new ScoutCirclet() ); break;
case 222: c.DropItem( new ScoutFemaleChest() ); break;
case 223: c.DropItem( new ScoutGloves() ); break;
case 224: c.DropItem( new ScoutGorget() ); break;
case 225: c.DropItem( new ScoutLegs() ); break;
case 226: c.DropItem( new ScoutSmallPlateJingasa() ); break;
case 227: c.DropItem( new SentinelsGuard() ); break;
case 228: c.DropItem( new SerpentsFang() ); break;
case 229: c.DropItem( new ShadowDancerArms() ); break;
case 230: c.DropItem( new ShadowDancerBustier() ); break;
case 231: c.DropItem( new ShadowDancerGloves() ); break;
case 232: c.DropItem( new ShadowDancerGorget() ); break;
case 233: c.DropItem( new ShadowDancerLeggings() ); break;
case 234: c.DropItem( new ShadowDancerMask() ); break;
case 235: c.DropItem( new ShadowDancerTunic() ); break;
case 236: c.DropItem( new ShaminoCrossbow() ); break;
case 237: c.DropItem( new SmallFishingNetDeed() ); break;
case 238: c.DropItem( new SolesOfProvidence() ); break;
case 239: c.DropItem( new SorceressArms() ); break;
case 240: c.DropItem( new SorceressBustier() ); break;
case 241: c.DropItem( new SorceressFemaleChest() ); break;
case 242: c.DropItem( new SorceressGloves() ); break;
case 243: c.DropItem( new SorceressGorget() ); break;
case 244: c.DropItem( new SorceressHeadband() ); break;
case 245: c.DropItem( new SorceressPants() ); break;
case 246: c.DropItem( new SorceressSkirt() ); break;
case 247: c.DropItem( new SoulReaver() ); break;
case 248: c.DropItem( new StaffOfPower() ); break;
case 249: c.DropItem( new StaffOfTheMagi() ); break;
case 250: c.DropItem( new StandingBrokenChairDeed() ); break;
case 251: c.DropItem( new StoneStatueDeed() ); break;
case 252: c.DropItem( new SuitOfGoldArmorDeed() ); break;
case 253: c.DropItem( new SuitOfSilverArmorDeed() ); break;
case 254: c.DropItem( new TableWithBlueClothDeed() ); break;
case 255: c.DropItem( new TableWithOrangeClothDeed() ); break;
case 256: c.DropItem( new TableWithPurpleClothDeed() ); break;
case 257: c.DropItem( new TableWithRedClothDeed() ); break;
case 258: c.DropItem( new TapestryOfSosaria() ); break;
case 259: c.DropItem( new TheBeserkersMaul() ); break;
case 260: c.DropItem( new TheDragonSlayer() ); break;
case 261: c.DropItem( new TheDryadBow() ); break;
case 262: c.DropItem( new TheTaskmaster() ); break;
case 263: c.DropItem( new TitansHammer() ); break;
case 264: c.DropItem( new TotemArms() ); break;
case 265: c.DropItem( new TotemCap() ); break;
case 266: c.DropItem( new TotemGloves() ); break;
case 267: c.DropItem( new TotemGorget() ); break;
case 268: c.DropItem( new TotemLeggings() ); break;
case 269: c.DropItem( new TotemTunic() ); break;
case 270: c.DropItem( new TunicOfAegis() ); break;
case 271: c.DropItem( new TunicOfBane() ); break;
case 272: c.DropItem( new TunicOfFire() ); break;
case 273: c.DropItem( new TunicOfHunter() ); break;
case 274: c.DropItem( new TunicOfTheFallenKing() ); break;
case 275: c.DropItem( new TunicOfTheHarrower() ); break;
case 276: c.DropItem( new UnmadeBedDeed() ); break;
case 277: c.DropItem( new UnsettlingPortraitDeed() ); break;
case 278: c.DropItem( new VanityDeed() ); break;
case 279: c.DropItem( new WallTorchDeed() ); break;
case 280: c.DropItem( new WoodenCoffinDeed() ); break;
case 281: c.DropItem( new ZyronicClaw() ); break;
}
switch ( Utility.Random( 50 ))
{
case 0: c.DropItem( new PowerScroll( SkillName.Macing, 115 ) ); break;
case 1: c.DropItem( new PowerScroll( SkillName.Macing, 120 ) ); break;
case 2: c.DropItem( new PowerScroll( SkillName.Swords, 115 ) ); break;
case 3: c.DropItem( new PowerScroll( SkillName.Swords, 120 ) ); break;
case 4: c.DropItem( new PowerScroll( SkillName.Fencing, 115 ) ); break;
case 5: c.DropItem( new PowerScroll( SkillName.Fencing, 120 ) ); break;
case 6: c.DropItem( new PowerScroll( SkillName.Archery, 115 ) ); break;
case 7: c.DropItem( new PowerScroll( SkillName.Archery, 120 ) ); break;
case 8: c.DropItem( new PowerScroll( SkillName.Tactics, 115 ) ); break;
case 9: c.DropItem( new PowerScroll( SkillName.Tactics, 120 ) ); break;
case 10: c.DropItem( new PowerScroll( SkillName.Parry, 115 ) ); break;
case 11: c.DropItem( new PowerScroll( SkillName.Parry, 120 ) ); break;
case 12: c.DropItem( new PowerScroll( SkillName.Anatomy, 115 ) ); break;
case 13: c.DropItem( new PowerScroll( SkillName.Anatomy, 120 ) ); break;
case 14: c.DropItem( new PowerScroll( SkillName.Healing, 115 ) ); break;
case 15: c.DropItem( new PowerScroll( SkillName.Healing, 120 ) ); break;
case 16: c.DropItem( new PowerScroll( SkillName.SpiritSpeak, 115 ) ); break;
case 17: c.DropItem( new PowerScroll( SkillName.SpiritSpeak, 120 ) ); break;
case 18: c.DropItem( new PowerScroll( SkillName.Focus, 115 ) ); break;
case 19: c.DropItem( new PowerScroll( SkillName.Focus, 120 ) ); break;
case 20: c.DropItem( new PowerScroll( SkillName.Chivalry, 115 ) ); break;
case 21: c.DropItem( new PowerScroll( SkillName.Chivalry, 120 ) ); break;
case 22: c.DropItem( new PowerScroll( SkillName.Ninjitsu, 115 ) ); break;
case 23: c.DropItem( new PowerScroll( SkillName.Ninjitsu, 120 ) ); break;
case 24: c.DropItem( new PowerScroll( SkillName.Bushido, 115 ) ); break;
case 25: c.DropItem( new PowerScroll( SkillName.Bushido, 120 ) ); break;
case 26: c.DropItem( new PowerScroll( SkillName.Magery, 115 ) ); break;
case 27: c.DropItem( new PowerScroll( SkillName.Magery, 120 ) ); break;
case 28: c.DropItem( new PowerScroll( SkillName.MagicResist, 115 ) ); break;
case 29: c.DropItem( new PowerScroll( SkillName.MagicResist, 120 ) ); break;
case 30: c.DropItem( new PowerScroll( SkillName.EvalInt, 115 ) ); break;
case 31: c.DropItem( new PowerScroll( SkillName.EvalInt, 120 ) ); break;
case 32: c.DropItem( new PowerScroll( SkillName.Necromancy, 115 ) ); break;
case 33: c.DropItem( new PowerScroll( SkillName.Necromancy, 120 ) ); break;
case 34: c.DropItem( new PowerScroll( SkillName.Veterinary, 115 ) ); break;
case 35: c.DropItem( new PowerScroll( SkillName.Veterinary, 120 ) ); break;
case 36: c.DropItem( new PowerScroll( SkillName.AnimalTaming, 115 ) ); break;
case 37: c.DropItem( new PowerScroll( SkillName.AnimalTaming, 120 ) ); break;
case 38: c.DropItem( new PowerScroll( SkillName.AnimalLore, 115 ) ); break;
case 39: c.DropItem( new PowerScroll( SkillName.AnimalLore, 120 ) ); break;
case 40: c.DropItem( new PowerScroll( SkillName.Musicianship, 115 ) ); break;
case 41: c.DropItem( new PowerScroll( SkillName.Musicianship, 120 ) ); break;
case 42: c.DropItem( new PowerScroll( SkillName.Peacemaking, 115 ) ); break;
case 43: c.DropItem( new PowerScroll( SkillName.Peacemaking, 120 ) ); break;
case 44: c.DropItem( new PowerScroll( SkillName.Provocation, 115 ) ); break;
case 45: c.DropItem( new PowerScroll( SkillName.Provocation, 120 ) ); break;
case 46: c.DropItem( new PowerScroll( SkillName.Veterinary, 115 ) ); break;
case 47: c.DropItem( new PowerScroll( SkillName.Veterinary, 120 ) ); break;
case 48: c.DropItem( new PowerScroll( SkillName.Poisoning, 115 ) ); break;
case 49: c.DropItem( new PowerScroll( SkillName.Poisoning, 120 ) ); break;
}
switch ( Utility.Random( 50 ))
{
case 0: c.DropItem( new PowerScroll( SkillName.Macing, 115 ) ); break;
case 1: c.DropItem( new PowerScroll( SkillName.Macing, 120 ) ); break;
case 2: c.DropItem( new PowerScroll( SkillName.Swords, 115 ) ); break;
case 3: c.DropItem( new PowerScroll( SkillName.Swords, 120 ) ); break;
case 4: c.DropItem( new PowerScroll( SkillName.Fencing, 115 ) ); break;
case 5: c.DropItem( new PowerScroll( SkillName.Fencing, 120 ) ); break;
case 6: c.DropItem( new PowerScroll( SkillName.Archery, 115 ) ); break;
case 7: c.DropItem( new PowerScroll( SkillName.Archery, 120 ) ); break;
case 8: c.DropItem( new PowerScroll( SkillName.Tactics, 115 ) ); break;
case 9: c.DropItem( new PowerScroll( SkillName.Tactics, 120 ) ); break;
case 10: c.DropItem( new PowerScroll( SkillName.Parry, 115 ) ); break;
case 11: c.DropItem( new PowerScroll( SkillName.Parry, 120 ) ); break;
case 12: c.DropItem( new PowerScroll( SkillName.Anatomy, 115 ) ); break;
case 13: c.DropItem( new PowerScroll( SkillName.Anatomy, 120 ) ); break;
case 14: c.DropItem( new PowerScroll( SkillName.Healing, 115 ) ); break;
case 15: c.DropItem( new PowerScroll( SkillName.Healing, 120 ) ); break;
case 16: c.DropItem( new PowerScroll( SkillName.SpiritSpeak, 115 ) ); break;
case 17: c.DropItem( new PowerScroll( SkillName.SpiritSpeak, 120 ) ); break;
case 18: c.DropItem( new PowerScroll( SkillName.Focus, 115 ) ); break;
case 19: c.DropItem( new PowerScroll( SkillName.Focus, 120 ) ); break;
case 20: c.DropItem( new PowerScroll( SkillName.Chivalry, 115 ) ); break;
case 21: c.DropItem( new PowerScroll( SkillName.Chivalry, 120 ) ); break;
case 22: c.DropItem( new PowerScroll( SkillName.Ninjitsu, 115 ) ); break;
case 23: c.DropItem( new PowerScroll( SkillName.Ninjitsu, 120 ) ); break;
case 24: c.DropItem( new PowerScroll( SkillName.Bushido, 115 ) ); break;
case 25: c.DropItem( new PowerScroll( SkillName.Bushido, 120 ) ); break;
case 26: c.DropItem( new PowerScroll( SkillName.Magery, 115 ) ); break;
case 27: c.DropItem( new PowerScroll( SkillName.Magery, 120 ) ); break;
case 28: c.DropItem( new PowerScroll( SkillName.MagicResist, 115 ) ); break;
case 29: c.DropItem( new PowerScroll( SkillName.MagicResist, 120 ) ); break;
case 30: c.DropItem( new PowerScroll( SkillName.EvalInt, 115 ) ); break;
case 31: c.DropItem( new PowerScroll( SkillName.EvalInt, 120 ) ); break;
case 32: c.DropItem( new PowerScroll( SkillName.Necromancy, 115 ) ); break;
case 33: c.DropItem( new PowerScroll( SkillName.Necromancy, 120 ) ); break;
case 34: c.DropItem( new PowerScroll( SkillName.Veterinary, 115 ) ); break;
case 35: c.DropItem( new PowerScroll( SkillName.Veterinary, 120 ) ); break;
case 36: c.DropItem( new PowerScroll( SkillName.AnimalTaming, 115 ) ); break;
case 37: c.DropItem( new PowerScroll( SkillName.AnimalTaming, 120 ) ); break;
case 38: c.DropItem( new PowerScroll( SkillName.AnimalLore, 115 ) ); break;
case 39: c.DropItem( new PowerScroll( SkillName.AnimalLore, 120 ) ); break;
case 40: c.DropItem( new PowerScroll( SkillName.Musicianship, 115 ) ); break;
case 41: c.DropItem( new PowerScroll( SkillName.Musicianship, 120 ) ); break;
case 42: c.DropItem( new PowerScroll( SkillName.Peacemaking, 115 ) ); break;
case 43: c.DropItem( new PowerScroll( SkillName.Peacemaking, 120 ) ); break;
case 44: c.DropItem( new PowerScroll( SkillName.Provocation, 115 ) ); break;
case 45: c.DropItem( new PowerScroll( SkillName.Provocation, 120 ) ); break;
case 46: c.DropItem( new PowerScroll( SkillName.Veterinary, 115 ) ); break;
case 47: c.DropItem( new PowerScroll( SkillName.Veterinary, 120 ) ); break;
case 48: c.DropItem( new PowerScroll( SkillName.Poisoning, 115 ) ); break;
case 49: c.DropItem( new PowerScroll( SkillName.Poisoning, 120 ) ); break;
}
base.OnDeath( c );
}
public override void CheckReflect( Mobile caster, ref bool reflect )
{
// if ( caster.Body.IsMale )
if ( Utility.Random( 3 ) == 0 )
reflect = true;
}
public override void AlterDamageScalarFrom( Mobile caster, ref double scalar )
{
// if ( caster.Body.IsMale )
scalar = 10; // 10x
}
/* public override int GetAngerSound()
{
if ( !Controlled )
return 0x16A;
else
return 0x579; //Notice sound.
return base.GetAngerSound();
}
public override int GetDeathSound()
{
return 0x576;
}
public override int GetAttackSound()
{
return 0x577;
}
public override int GetIdleSound()
{
return 0x578;
}
public override int GetHurtSound()
{
return 0x57A;
} */
public override bool HasBreath{ get{ return true; } } // fire breath enabled
public override bool BardImmune{ get{ return true; } }
public override bool Unprovokable{ get{ return true; } }
public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
public override Poison HitPoison{ get{ return Poison.Deadly; } }
public override bool IsScaredOfScaryThings{ get{ return false; } }
public override bool IsScaryToPets{ get{ return false; } }
public override double BreathDamageScalar{ get{ return (0.004); } }
public override WeaponAbility GetWeaponAbility()
{
switch ( Utility.Random( 6 ) )
{
default:
case 0: return WeaponAbility.Dismount;
case 1: return WeaponAbility.BleedAttack;
case 2: return WeaponAbility.CrushingBlow;
case 3: return WeaponAbility.MortalStrike;
case 4: return WeaponAbility.DoubleStrike;
case 5: return WeaponAbility.WhirlwindAttack;
}
}
public override int BreathComputeDamage()
{
int damage = (int)(Utility.RandomMinMax(40, 50 ) );
return damage;
}
public void DoSpecialAbility( Mobile target )
{
this.Mana = this.ManaMax;
switch ( Utility.Random( 11 ) )
{
case 0: break;
case 1: break;
case 2: break;
case 3: break;
case 4: ThrowFirePool( TimeSpan.FromSeconds( 5 ), 15, 25, target ); break;
case 5: DrainLife(); break;
case 6: SendEBolt( target); break;
case 7: break;
case 8: break;
case 9: break;
case 10: break;
}
}
public void ThrowFirePool( TimeSpan duration, int minDamage, int maxDamage, Mobile target )
{
if ( (target != null && target.Map == null) || this.Map == null )
return;
int pools = Utility.RandomMinMax( 1, 2 );
for ( int i = 0; i < pools; ++i )
{
FirePool fp = new FirePool( duration, minDamage, maxDamage );
if ( target != null && target.Map != null )
{
fp.MoveToWorld( target.Location, target.Map );
continue;
}
bool validLocation = false;
Point3D loc = this.Location;
Map map = this.Map;
for ( int j = 0; !validLocation && j < 10; ++j )
{
int x = X + Utility.Random( 3 ) - 1;
int y = Y + Utility.Random( 3 ) - 1;
int z = map.GetAverageZ( x, y );
if ( validLocation = map.CanFit( x, y, this.Z, 16, false, false ) )
loc = new Point3D( x, y, Z );
else if ( validLocation = map.CanFit( x, y, z, 16, false, false ) )
loc = new Point3D( x, y, z );
}
fp.MoveToWorld( loc, map );
}
}
public void DrainLife()
{
if( this.Map == null )
return;
ArrayList list = new ArrayList();
foreach ( Mobile m in this.GetMobilesInRange( 2 ) )
{
if ( m == this || !CanBeHarmful( m ) )
continue;
if ( m is BaseCreature && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned || ((BaseCreature)m).Team != this.Team) )
list.Add( m );
else if ( m.Player )
list.Add( m );
}
foreach ( Mobile m in list )
{
DoHarmful( m );
m.FixedParticles( 0x374A, 10, 15, 5013, 0x496, 0, EffectLayer.Waist );
m.PlaySound( 0x231 );
m.SendMessage( "You feel the life drain out of you!" );
int toDrain = Utility.RandomMinMax( 10, 20 );
Hits += toDrain;
m.Damage( toDrain, this );
}
}
//Offending 'SendEbolt' ***************************************
public void SendEBolt( Mobile to )
{
this.Mana = this.ManaMax;
if ( !this.CanSee( to ) )
{
return;
}
if ( to != null && !to.Deleted && to.Alive && !to.IsDeadBondedPet )
{
this.MovingParticles( to, 0x379F, 7, 0, false, true, 0xBE3, 0xFCB, 0x211 );
to.PlaySound( 0x229 );
this.DoHarmful( to );
AOS.Damage( to, this, 0, 0, 30, 30, 0, 40 );// dmg,phy,fir,cold,pois,ener
}
}
//*************************************************************
public void ManaSnatch( Mobile to )
{
this.Mana = this.ManaMax;
this.MovingParticles( to, 0x36D4, 7, 0, false, true, 93, 0, 9502, 4019, 0x160, EffectLayer.Waist, 0 ); // fireball
to.Mana -= Utility.Random( 20, 20 );
}
public override void OnGotMeleeAttack( Mobile attacker )
{
base.OnGotMeleeAttack( attacker );
if ( attacker is Clone )
{
BaseCreature clone = (BaseCreature)attacker;
Effects.SendLocationParticles( EffectItem.Create( clone.Location, clone.Map, EffectItem.DefaultDuration ), 0x3728, 8, 20, 5042 );
Effects.PlaySound( clone, clone.Map, 0x201 );
clone.Delete();
}
int st = Utility.Random( 5, 5 );
attacker.Damage( Utility.Random( st, 10 ), this );
attacker.Stam -= Utility.Random( st, 10 );
attacker.Mana -= Utility.Random( st, 10 );
if ( 0.2 > Utility.RandomDouble() && attacker is BaseCreature )
{
BaseCreature c = (BaseCreature)attacker;
c.ControlTarget = c.ControlMaster;
c.ControlOrder = OrderType.Attack;
c.Combatant = c.ControlMaster;
}
//DoSpecialAbility( attacker );
}
public override void OnGaveMeleeAttack( Mobile defender )
{
base.OnGaveMeleeAttack( defender );
this.Mana = this.ManaMax;
defender.Damage( Utility.Random( 10, 10 ), this );
defender.Stam -= Utility.Random( 10, 10 );
defender.Mana -= Utility.Random( 10, 10 );
if ( 0.2 > Utility.RandomDouble() )
{
if ( defender.Title != "a Smilodon" )
{
defender.Combatant = null;
}
}
if ( 0.2 > Utility.RandomDouble() && defender is BaseCreature )
{
BaseCreature c = (BaseCreature)defender;
if ( c.Controlled && c.ControlMaster != null )
{
c.Combatant = null;
c.Hits = (int)(c.Hits / 4);
}
}
DoSpecialAbility( defender );
}
public override void OnDamage( int amount, Mobile from, bool willKill )
{
this.Mana = this.ManaMax;
if ( Utility.RandomDouble() <= 0.15 )
{
switch ( Utility.Random( 3 ) )
{
case 0: ThrowFirePool( TimeSpan.FromSeconds( 5 ), 15, 25, from ); break;
case 1: SendEBolt( from); break;
case 2: SpawnImp( from ); break;
}
}
base.OnDamage( amount, from, willKill );
}
public void SpawnImp( Mobile target )
{
Map map = this.Map;
if ( map == null )
return;
int newImp = Utility.RandomMinMax( 1, 1 ); //3 6
for ( int i = 0; i < newImp; ++i )
{
PowderedGlass imp = new PowderedGlass();
imp.Team = this.Team;
bool validLocation = false;
Point3D loc = this.Location;
for ( int j = 0; !validLocation && j < 10; ++j )
{
int x = X + Utility.Random( 6 ) - 1;
int y = Y + Utility.Random( 6 ) - 1;
int z = map.GetAverageZ( x, y );
if ( validLocation = map.CanFit( x, y, this.Z, 16, false, false ) )
loc = new Point3D( x, y, Z );
else if ( validLocation = map.CanFit( x, y, z, 16, false, false ) )
loc = new Point3D( x, y, z );
}
imp.MoveToWorld( loc, map );
imp.Combatant = target;
}
}
public void TeleportTarget( Mobile target )
{
Map map = target.Map;
if ( map != null )
{
// try 10 times to find a teleport spot
for ( int i = 0; i < 10; ++i )
{
int x = X + (Utility.RandomMinMax( 8, 12 ) * (Utility.RandomBool() ? 1 : -1));
int y = Y + (Utility.RandomMinMax( 8, 12 ) * (Utility.RandomBool() ? 1 : -1));
int z = Z;
if ( !map.CanFit( x, y, z, 16, false, false ) )
continue;
Point3D from = target.Location;
Point3D to = new Point3D( x, y, z );
if ( !InLOS( to ) )
continue;
target.Location = to;
target.ProcessDelta();
target.Combatant = null;
Effects.SendLocationParticles( EffectItem.Create( from, map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 2023 );
Effects.SendLocationParticles( EffectItem.Create( to, map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 5023 );
Effects.PlaySound( to, map, 0x1FE );
break;
}
}
}
private Timer m_SoundTimer;
private bool m_HasTeleportedAway;
public void TeleportMe( Mobile target )
{
if ( Utility.Random(15) == 0 )
{
Map map = this.Map;
if ( map != null )
{
int z = 5;
int x = 5593;
int y = 357;
switch( Utility.Random( 6 ) )
{
case 0: x = 5562; y = 322; break;
case 1: x = 5595; y = 298; break;
case 2: x = 5568; y = 282; break;
case 3: x = 5537; y = 330; break;
case 4: x = 5534; y = 308; break;
case 5: x = 5613; y = 273; break;
}
Point3D from = this.Location;
Point3D to = new Point3D( x, y, z );
this.Location = to;
this.ProcessDelta();
Effects.SendLocationParticles( EffectItem.Create( from, map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 2023 );
Effects.SendLocationParticles( EffectItem.Create( to, map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 5023 );
Effects.PlaySound( to, map, 0x1FE );
// break;
}
}
}
private class TeleportTimer : Timer
{
private Mobile m_Owner;
private static int[] m_Offsets = new int[]
{
-1, -1,
-1, 0,
-1, 1,
0, -1,
0, 1,
1, -1,
1, 0,
1, 1
};
public TeleportTimer( Mobile owner ) : base( TimeSpan.FromSeconds( 15.0 ), TimeSpan.FromSeconds( 15.0 ) )
{
m_Owner = owner;
}
protected override void OnTick()
{
if ( m_Owner.Deleted )
{
Stop();
return;
}
Map map = m_Owner.Map;
if ( map == null )
return;
if ( 0.10 < Utility.RandomDouble() )
return;
Mobile toTeleport = null;
foreach ( Mobile m in m_Owner.GetMobilesInRange( 16 ) )
{
if ( m != m_Owner && m.Player && m_Owner.CanBeHarmful( m ) && m_Owner.CanSee( m ) )
{
toTeleport = m;
break;
}
}
if ( toTeleport != null )
{
int offset = Utility.Random( 8 ) * 2;
Point3D to = m_Owner.Location;
for ( int i = 0; i < m_Offsets.Length; i += 2 )
{
int x = m_Owner.X + m_Offsets[(offset + i) % m_Offsets.Length];
int y = m_Owner.Y + m_Offsets[(offset + i + 1) % m_Offsets.Length];
if ( map.CanSpawnMobile( x, y, m_Owner.Z ) )
{
to = new Point3D( x, y, m_Owner.Z );
break;
}
else
{
int z = map.GetAverageZ( x, y );
if ( map.CanSpawnMobile( x, y, z ) )
{
to = new Point3D( x, y, z );
break;
}
}
}
Mobile m = toTeleport;
Point3D from = m.Location;
m.Location = to;
Server.Spells.SpellHelper.Turn( m_Owner, toTeleport );
Server.Spells.SpellHelper.Turn( toTeleport, m_Owner );
m.ProcessDelta();
Effects.SendLocationParticles( EffectItem.Create( from, m.Map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 2023 );
Effects.SendLocationParticles( EffectItem.Create( to, m.Map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 5023 );
m.PlaySound( 0x1FE );
m_Owner.Combatant = toTeleport;
}
}
}
public VenatorCrystalis( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
if ( BaseSoundID == 0x16A )
BaseSoundID = 0xA8;
m_TeleTimer = new TeleportTimer( this );
m_TeleTimer.Start();
}
}
}
Sorry this newb is stuck.
My thanks to the community here for taking time to look at this for me.
*bows*