public override void OnDeath( Container c ) { base.OnDeath( c ); Item artifact = null;; if ( !Summoned && !NoKillAwards && LLCheckArtifactChance( this ) ) { artifact = LLCreateRandomArtifact(); DemonKnight.DistributeArtifact( this, artifact ); if (m_CurseArtifact) { Timer m_TimerCursed = new CursedArtifactSystem.CursedTimer( artifact, this.m_CursedDurationMinutes ); m_TimerCursed.Start(); } } else c.DropItem( new CopperBar(Utility.Random(1, 5))); CommandHandlers.BroadcastMessage(AccessLevel.Player, 1150, "The Forgotten One has been killed."); if (artifact != null && artifact.Name != null) CommandHandlers.BroadcastMessage(AccessLevel.Player, 1150, String.Format("The reward was {0}.", artifact.Name)); if (m_Timer != null) m_Timer.Stop(); }
public string GiveRewards( Mobile m ) { // Edit by Silver: You can now get Statue + Reward int chance = Utility.Random( 1000 ); bool giveStatue = ( Utility.Random( 1000 ) < 333 ); string b_message = ""; DateTime now = DateTime.Now; if( giveStatue ) { switch ( Utility.Random( 7 ) ) { case 0: m_Reward = new StatueSouth(); break; case 1: m_Reward = new StatueEast(); break; case 2: m_Reward = new StatueEast2(); break; case 3: m_Reward = new StatueNorth(); break; case 4: m_Reward = new StatueSouth2(); break; case 5: m_Reward = new StatueWest(); break; case 6: m_Reward = new StatueSouthEast(); break; } m_Reward.Name = m.Name + " - pentagram event winner - " + now.Day + "/" + now.Month + "/" + now.Year; m_Reward.LootType = LootType.Blessed; m.AddToBackpack( m_Reward ); } m_Reward = null; if ( chance < 200 ) //20% { int bars = Utility.Random(2) + 3; EventRewardSystem.CreateCopperBar(m.Name, m.Backpack, bars, "Pentagram event"); b_message = String.Format("{0} copper bars", bars); } else if( chance < 350 ) //15% { int amount = Utility.Random( 4, 3 )*5000; m_Reward = new BankCheck(amount); b_message = String.Format("a bank check worth {0} gold", amount); } else if( chance < 400 ) //5% { int bonus = Utility.Random(4)*5 + 10; m_Reward = new SkillBall(bonus); b_message = String.Format("a skillball training {0} skill points", bonus); } else if( chance < 500 ) //10% { switch (Utility.Random( 6 )) { case 0: m_Reward = new RunicSewingKit(CraftResource.HornedLeather, 4); b_message = "4 uses horned runic sewing kit"; break; case 1: m_Reward = new RunicSewingKit(CraftResource.BarbedLeather, 2); b_message = "2 uses barbed runic sewing kit"; break; case 2: m_Reward = new RunicHammer(CraftResource.Gold, 3); b_message = "3 uses gold runic hammer"; break; case 3: m_Reward = new RunicHammer(CraftResource.Agapite, 2); b_message = "2 uses agapite runic hammer"; break; case 4: m_Reward = new RunicHammer(CraftResource.Verite, 1); b_message = "1 use verite runic hammer"; break; case 5: m_Reward = new RunicHammer(CraftResource.Valorite, 1); b_message = "1 use valorite runic hammer"; break; } } else if( chance < 550 ) //5% { switch (Utility.Random( 31 )) { case 0: m_Reward = new LunaLance(); break; case 1: m_Reward = new VioletCourage(); break; case 2: m_Reward = new CavortingClub(); break; case 3: m_Reward = new NightsKiss(); break; case 4: m_Reward = new CaptainQuacklebushsCutlass(); break; case 5: m_Reward = new ShipModelOfTheHMSCape(); break; case 6: m_Reward = new AdmiralsHeartyRum(); break; case 7: m_Reward = new CandelabraOfSouls(); break; case 8: m_Reward = new IolosLute(); break; case 9: m_Reward = new GwennosHarp(); break; case 10: m_Reward = new ArcticDeathDealer(); break; case 11: m_Reward = new EnchantedTitanLegBone(); break; case 12: m_Reward = new NoxRangersHeavyCrossbow(); break; case 13: m_Reward = new BlazeOfDeath(); break; case 14: m_Reward = new DreadPirateHat(); break; case 15: m_Reward = new BurglarsBandana(); break; case 16: m_Reward = new GoldBricks(); break; case 17: m_Reward = new AlchemistsBauble(); break; case 18: m_Reward = new PhillipsWoodenSteed(); break; case 19: m_Reward = new PolarBearMask(); break; case 20: m_Reward = new BowOfTheJukaKing(); break; case 21: m_Reward = new GlovesOfThePugilist(); break; case 22: m_Reward = new OrcishVisage(); break; case 23: m_Reward = new StaffOfPower(); break; case 24: m_Reward = new ShieldOfInvulnerability(); break; case 25: m_Reward = new HeartOfTheLion(); break; case 26: m_Reward = new ColdBlood(); break; case 27: m_Reward = new GhostShipAnchor(); break; case 28: m_Reward = new SeahorseStatuette(); break; case 29: m_Reward = new WrathOfTheDryad(); break; case 30: m_Reward = new PixieSwatter(); break; } b_message = "a random minor artifact"; } else if( chance < 600 ) //5% { m_Reward = new ClothingBlessDeed(); b_message = "a clothing bless deed"; } else if( chance < 700 ) //10% { m_Reward = new PowerScroll( PowerScroll.Skills[Utility.Random(PowerScroll.Skills.Count)], (100+(Utility.Random(3)+2)*5) ); b_message = "a random powerscroll"; } else if( chance < 750 ) //5% { Barracoon m_Champ = new Barracoon(); m_Champ.MoveToWorld( m.Location, m.Map ); b_message = "nothing, but managed to spawn Barracoon at the Pentagram!!!"; } else if( chance < 800 ) //5% { m_Reward = new StatCapScroll( (225+(Utility.Random(3)+Utility.Random(2)+1)*5) ); b_message = "a random statscroll"; } else if( chance < 850 ) //5% { m_Reward = new MagicSewingKit(); b_message = "a magic sewing kit"; } else if( chance < 900 ) //5% { m_Reward = new BallOfSummoning(); b_message = "a crystal ball of pet summoning"; } else if( chance < 950 ) //5% { int UsesRemaining = Utility.Random(6,10); m_Reward = new PowderOfTemperament(UsesRemaining); b_message = String.Format("{0} uses of powder of fortifying", UsesRemaining); } else if( chance < 980 ) //3% { m_Reward = new PetBondingDeed(); b_message = "a pet bonding deed"; } else if( chance < 990 ) //1% { m_Reward = new NameChangeDeed(); b_message = "a name change deed"; } else //1% { m_Reward = new SexChangeDeed(); b_message = "a sex change deed"; } if (m_Reward != null) { m.AddToBackpack( m_Reward ); Timer m_TimerCursed = new CursedArtifactSystem.CursedTimer( m_Reward, 6 ); m_TimerCursed.Start(); } if( giveStatue ) b_message += " and a statue"; return b_message; }
public void CreateLoot() { int chance = Utility.Random( 100 ); Item m_Reward = null; if ( chance < 3 ) m_Reward = new NameChangeDeed(); else if ( chance < 33 ) m_Reward = new PowerScroll( PowerScroll.Skills[Utility.Random(PowerScroll.Skills.Count)], (100+(Utility.Random(3)+2)*5) ); else if ( chance < 50 ) m_Reward = new StatCapScroll( (225+(Utility.Random(2)+1)*5) ); else if ( chance < 55 ) m_Reward = new MagicSewingKit(); else if ( chance < 60 ) m_Reward = new ClothingBlessDeed(); else if ( chance < 70 ) m_Reward = new RunicSewingKit(CraftResource.BarbedLeather, ( Utility.Random( 2 ) + 3 ) ); else { int amount = Utility.RandomMinMax( 5, 10 )*10000; m_Reward = new BankCheck(amount); } PackItem( new CopperBar(Utility.Random( 2 ) + 2) ); if (m_Reward != null) { PackItem( m_Reward ); Timer m_TimerCursed = new CursedArtifactSystem.CursedTimer( m_Reward, 6 ); m_TimerCursed.Start(); } }