#W# Bounty: Bounty tiers are done.
This commit is contained in:
parent
9394d7cc3e
commit
9e2e6c13b6
6 changed files with 1784 additions and 45 deletions
|
|
@ -146,7 +146,7 @@ public class BountyBoardGump : Gump
|
|||
{
|
||||
profile.ActiveBountyID = -1;
|
||||
profile.CurrentKills = 0;
|
||||
profile.NextAvailableTime = DateTime.UtcNow + TimeSpan.FromMinutes(ValidSettings.BountyBoardDelay());
|
||||
profile.NextAvailableTime = DateTime.UtcNow + TimeSpan.FromMinutes(ValidSettings.BountyRefusalDelay());
|
||||
_player.SendMessage(33, $"You paid the {cost} gold refusal fee and abandoned the bounty.");
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -65,36 +65,66 @@ public static class BountyRegistry
|
|||
// ==========================================
|
||||
// TIER 1: Local Adventurer (Fame 0) - Rewards: 5 Tokens, 500g
|
||||
// ==========================================
|
||||
Add(1, new BountyDefinition(1, "Goats in the lands of Veridia.", new[] { typeof(Goat) }, 10, 0, 5, 500, "Veridia"));
|
||||
Add(1, new BountyDefinition(2, "Great Harts in the lands of Veridia.", new[] { typeof(GreatHart) }, 10, 0, 5, 500, "Veridia"));
|
||||
Add(1, new BountyDefinition(3, "Hinds in the lands of Veridia.", new[] { typeof(Hind) }, 10, 0, 5, 500, "Veridia"));
|
||||
Add(1, new BountyDefinition(4, "Brown Bears in the lands of Veridia.", new[] { typeof(BrownBear) }, 10, 0, 5, 500, "Veridia"));
|
||||
Add(1, new BountyDefinition(1, "Headless Ones in the lands of Veridia.", new[] { typeof(HeadlessOne) }, 10, 0, 5, 500, "Veridia"));
|
||||
Add(1, new BountyDefinition(2, "Orcs in the lands of Veridia.", new[] { typeof(Orc) }, 10, 0, 5, 500, "Veridia"));
|
||||
Add(1, new BountyDefinition(3, "Ogres in the lands of Veridia.", new[] { typeof(Ogre) }, 10, 0, 5, 500, "Veridia"));
|
||||
Add(1, new BountyDefinition(4, "Ettins in the lands of Veridia.", new[] { typeof(Ettin) }, 10, 0, 5, 500, "Veridia"));
|
||||
Add(1, new BountyDefinition(5, "Imps in the lands of Veridia.", new[] { typeof(Imp) }, 10, 0, 5, 500, "Veridia"));
|
||||
Add(1, new BountyDefinition(6, "Mongbats in the New Player Dungeon.", new[] { typeof(Mongbat) }, 10, 0, 5, 500, "New Player Dungeon"));
|
||||
Add(1, new BountyDefinition(7, "Giant Rats in the New Player Dungeon.", new[] { typeof(GiantRat) }, 10, 0, 5, 500, "New Player Dungeon"));
|
||||
Add(1, new BountyDefinition(8, "Frail Skeletons in the New Player Dungeon.", new[] { typeof(FrailSkeleton) }, 10, 0, 5, 500, "New Player Dungeon"));
|
||||
Add(1, new BountyDefinition(9, "Cowardly Brigands in the New Player Dungeon.", new[] { typeof(CowardlyBrigand) }, 10, 0, 5, 500, "New Player Dungeon"));
|
||||
Add(1, new BountyDefinition(10, "Feeble Orcs in the New Player Dungeon.", new[] { typeof(FeebleOrc) }, 10, 0, 5, 500, "New Player Dungeon"));
|
||||
|
||||
// ==========================================
|
||||
// TIER 2: Estimable Hunter (Fame 1250) - Rewards: 15 Tokens, 1200g
|
||||
// ==========================================
|
||||
Add(2, new BountyDefinition(5, "Skeletal Knights in the Dungeon Deceit", new[] { typeof(SkeletalKnight) }, 10, 1250, 15, 1200, "Deceit"));
|
||||
Add(2, new BountyDefinition(6, "Drakes in the Dungeon Destard", new[] { typeof(Drake) }, 10, 1250, 15, 1200, "Destard"));
|
||||
Add(2, new BountyDefinition(11, "Earth Elementals in the Dungeon Shame", new[] { typeof(EarthElemental) }, 10, 1250, 15, 1200, "Shame"));
|
||||
Add(2, new BountyDefinition(12, "Drakes in the Dungeon Destard", new[] { typeof(Drake) }, 10, 1250, 15, 1200, "Destard"));
|
||||
Add(2, new BountyDefinition(13, "Lizardmen in the Dungeon Despise", new[] { typeof(Lizardman) }, 10, 1250, 15, 1200, "Despise"));
|
||||
Add(2, new BountyDefinition(14, "Ghosts in the Dungeon Deceit", new[] { typeof(Spectre), typeof(Shade), typeof(Wraith), typeof(Ghoul) }, 10, 1250, 15, 1200, "Deceit"));
|
||||
Add(2, new BountyDefinition(15, "Harpies in the Dungeon Covetous", new[] { typeof(Harpy) }, 10, 1250, 15, 1200, "Covetous"));
|
||||
Add(2, new BountyDefinition(16, "Hell Hounds in the Dungeon Destard", new[] { typeof(HellHound) }, 10, 1250, 15, 1200, "Hythloth"));
|
||||
Add(2, new BountyDefinition(17, "Ratmen in the Dungeon of Ice", new[] { typeof(Ratman), typeof(RatmanMage), typeof(RatmanArcher) }, 10, 1250, 15, 1200, "Ice"));
|
||||
|
||||
// ==========================================
|
||||
// TIER 3: Great Slayer (Fame 2500) - Rewards: 30 Tokens, 2500g
|
||||
// ==========================================
|
||||
Add(3, new BountyDefinition(7, "Despise Titans", new[] { typeof(Titan) }, 8, 2500, 30, 2500, "Despise"));
|
||||
Add(3, new BountyDefinition(18, "Cyclops in the Dungeon Despise", new[] { typeof(Cyclops) }, 8, 2500, 30, 2500, "Despise"));
|
||||
Add(3, new BountyDefinition(19, "Dread Spiders in the Dungeon Covetous", new[] { typeof(DreadSpider) }, 8, 2500, 30, 2500, "Covetous"));
|
||||
Add(3, new BountyDefinition(20, "Liches in the Dungeon Deceit", new[] { typeof(Lich) }, 8, 2500, 30, 2500, "Deceit"));
|
||||
Add(3, new BountyDefinition(21, "Dragons in the Dungeon Destard", new[] { typeof(Dragon) }, 8, 2500, 30, 2500, "Destard"));
|
||||
Add(3, new BountyDefinition(22, "Daemons in the Dungeon Hythloth", new[] { typeof(Daemon) }, 8, 2500, 30, 2500, "Hythloth"));
|
||||
Add(3, new BountyDefinition(23, "Arctic Ogre Lords in the Dungeon of Ice", new[] { typeof(ArcticOgreLord) }, 8, 2500, 30, 2500, "Ice"));
|
||||
Add(3, new BountyDefinition(24, "Fire Elementals in the Dungeon Shame", new[] { typeof(FireElemental) }, 8, 2500, 30, 2500, "Shame"));
|
||||
|
||||
// ==========================================
|
||||
// TIER 4: Illustrious Champion (Fame 5000) - Rewards: 60 Tokens, 5000g
|
||||
// ==========================================
|
||||
Add(4, new BountyDefinition(8, "Destard Dragons", new[] { typeof(Dragon) }, 3, 5000, 60, 5000, "Destard"));
|
||||
Add(4, new BountyDefinition(25, "Shadow Wyrms in the Dungeon Destard", new[] { typeof(ShadowWyrm) }, 3, 5000, 60, 5000, "Destard"));
|
||||
Add(4, new BountyDefinition(26, "Rotting Corpses in the Dungeon Covetous", new[] { typeof(RottingCorpse) }, 3, 5000, 60, 5000, "Covetous"));
|
||||
Add(4, new BountyDefinition(27, "Ancient Liches in the Dungeon Deceit", new[] { typeof(AncientLich) }, 3, 5000, 60, 5000, "Deceit"));
|
||||
Add(4, new BountyDefinition(28, "Titans in the Dungeon Despise", new[] { typeof(Titan) }, 3, 5000, 60, 5000, "Despise"));
|
||||
Add(4, new BountyDefinition(29, "Fire Gaargoyles in the Dungeon Hythloth", new[] { typeof(FireGargoyle) }, 3, 5000, 60, 5000, "Hythloth"));
|
||||
Add(4, new BountyDefinition(30, "White Wyrms in the Dungeon of Ice", new[] { typeof(WhiteWyrm) }, 3, 5000, 60, 5000, "Ice"));
|
||||
Add(4, new BountyDefinition(31, "Blood Elementals in the Dungeon Shame", new[] { typeof(BloodElemental) }, 3, 5000, 60, 5000, "Shame"));
|
||||
|
||||
// ==========================================
|
||||
// TIER 5: Glorious Lord (Fame 10000) - Rewards: 100 Tokens, 10000g
|
||||
// ==========================================
|
||||
Add(5, new BountyDefinition(9, "Hythloth Balrons", new[] { typeof(Balron) }, 2, 10000, 100, 10000, "Hythloth"));
|
||||
Add(5, new BountyDefinition(32, "Balrons in the Dungeon Hythloth", new[] { typeof(Balron) }, 2, 10000, 100, 10000, "Hythloth"));
|
||||
Add(5, new BountyDefinition(33, "Ancient Wyrms in the Dungeon Destard", new[] { typeof(AncientWyrm) }, 2, 10000, 100, 10000, "Destard"));
|
||||
Add(5, new BountyDefinition(34, "Ancient Liches in the Dungeon Deceit", new[] { typeof(AncientLich) }, 2, 10000, 100, 10000, "Deceit"));
|
||||
Add(5, new BountyDefinition(35, "Poison Elementals in the Dungeon Shame", new[] { typeof(PoisonElemental) }, 2, 10000, 100, 10000, "Shame"));
|
||||
Add(5, new BountyDefinition(36, "Skeletal Dragons in the Dungeon Covetous", new[] { typeof(SkeletalDragon) }, 2, 10000, 100, 10000, "Covetous"));
|
||||
Add(5, new BountyDefinition(37, "Ice Fiends in the Dugneon of Ice", new[] { typeof(IceFiend) }, 2, 10000, 100, 10000, "Ice"));
|
||||
Add(5, new BountyDefinition(38, "Titan Lord in the Dungeon of Despise", new[] { typeof(TitanLord) }, 2, 10000, 100, 10000, "Despise"));
|
||||
}
|
||||
|
||||
private static void Add(int tier, BountyDefinition bounty)
|
||||
{
|
||||
if (!Tiers.ContainsKey(tier))
|
||||
|
||||
{
|
||||
Tiers[tier] = new List<BountyDefinition>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,5 +55,14 @@ namespace Server
|
|||
mins = 1;
|
||||
return (double)mins;
|
||||
}
|
||||
public static double BountyRefusalDelay()
|
||||
{
|
||||
int mins = Settings.S_DungeonBountyRefusalDelay;
|
||||
if ( mins > 1440 )
|
||||
mins = 1440;
|
||||
if (mins < 1 )
|
||||
mins = 1;
|
||||
return (double)mins;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,59 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class TitanLord : BaseCreature
|
||||
{
|
||||
[Constructible]
|
||||
public TitanLord() : base(AIType.AI_Melee)
|
||||
{
|
||||
Body = 189; //76;
|
||||
|
||||
SetStr(822, 930);
|
||||
SetDex(401, 415);
|
||||
SetInt(128, 138);
|
||||
|
||||
SetHits(800, 975);
|
||||
|
||||
SetDamage(16, 30);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 100);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 62);
|
||||
SetResistance(ResistanceType.Fire, 74);
|
||||
SetResistance(ResistanceType.Cold, 54);
|
||||
SetResistance(ResistanceType.Poison, 56);
|
||||
SetResistance(ResistanceType.Energy, 54);
|
||||
|
||||
SetSkill(SkillName.Wrestling, 110.1, 111.0);
|
||||
SetSkill(SkillName.Tactics, 100.7, 102.8);
|
||||
SetSkill(SkillName.MagicResist, 104.3, 116.3);
|
||||
|
||||
Fame = 20000;
|
||||
Karma = -20000;
|
||||
}
|
||||
|
||||
public override string CorpseName => "a titan lord corpse";
|
||||
public override string DefaultName => "a titan lord";
|
||||
public override Poison PoisonImmune => Poison.Deadly;
|
||||
public override int TreasureMapLevel => 3;
|
||||
//public override WeaponAbility GetWeaponAbility() => WeaponAbility.Dismount;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.FilthyRich, 3);
|
||||
}
|
||||
|
||||
public override int GetDeathSound() => 0x596;
|
||||
|
||||
public override int GetAttackSound() => 0x597;
|
||||
|
||||
public override int GetIdleSound() => 0x598;
|
||||
|
||||
public override int GetAngerSound() => 0x599;
|
||||
|
||||
public override int GetHurtSound() => 0x59A;
|
||||
}
|
||||
}
|
||||
|
|
@ -7,6 +7,7 @@ namespace Server
|
|||
public static bool S_LineOfSight = true; // Mobs are hidden in Dungeons
|
||||
public static int S_BondDays = 1; // 1-30 Days to bond with pet
|
||||
public static int S_Stables = 3; // 0-20 Extra stable slots
|
||||
public static int S_DungeonBountyBoardDelay = 60; //1440 minutes delay between bountie quests
|
||||
public static int S_DungeonBountyBoardDelay = 60; // 1-1440 minutes delay between bountie quests
|
||||
public static int S_DungeonBountyRefusalDelay = 10; // 1-1440 minutes delay between refusing a quest
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue