- Added more future ML craftables that already drop as loot to the special repair lists.
- Fixed Bloodwood Spirit and Totem of the Void sometimes not spawning with a protection attribute. (Prepatch ones are fixed on server start.) - Fixed crashes in BaseTalisman resulting from setting Summoner to null. - Paragon perks added to mobs dropping ML artifacts (by making them paragon "under the hood", seems to be the case on OSI as well). This also means the named mobs will now drop paragon chests. - Poison immunity level is now also increased by 1 for paragons. - Rend now drops ML minor artifacts. - ML named mobs no longer use the AoS specific loot packs, but will adjust to the era the server is set in. - The 'current speed' of paragons is now updated to account for the speed boost after spawning.
This commit is contained in:
parent
aacae9f7b8
commit
c0206c6f7e
30 changed files with 197 additions and 126 deletions
|
|
@ -119,7 +119,17 @@ namespace Server
|
|||
typeof( DemonKnight ), typeof( GiantBlackWidow ), typeof( SummonedAirElemental ),
|
||||
typeof( LesserHiryu ), typeof( Hiryu ), typeof( LadyOfTheSnow ),
|
||||
typeof( RaiJu ), typeof( Ronin ), typeof( RuneBeetle ),
|
||||
typeof( Changeling )
|
||||
typeof( Changeling ),
|
||||
#region ML named mobs - before Paragon speedboost
|
||||
typeof( LadyJennifyr ), typeof( LadyMarai ), typeof( MasterJonath ),
|
||||
typeof( MasterMikael ), typeof( MasterTheophilus ), typeof( RedDeath ),
|
||||
typeof( SirPatrick ), typeof( Miasma ), typeof( Rend ),
|
||||
typeof( Grobu ), typeof( Gnaw ), typeof( Guile ),
|
||||
typeof( Irk ), typeof( Spite ), typeof( LadyLissith ),
|
||||
typeof( LadySabrix ), typeof( Malefic ), typeof( Silk ),
|
||||
typeof( Virulent )
|
||||
// TODO: Where to put Lurg, Putrefier, Swoop and Pyre? They seem slower.
|
||||
#endregion
|
||||
} ),
|
||||
/* Very Fast */
|
||||
new SpeedInfo( 0.175, 0.350, new Type[]
|
||||
|
|
@ -132,21 +142,7 @@ namespace Server
|
|||
typeof( FactionHenchman ), typeof( FactionMercenary ), typeof( FactionNecromancer ),
|
||||
typeof( FactionSorceress ), typeof( FactionWizard ), typeof( FactionBerserker ),
|
||||
typeof( FactionPaladin ), typeof( Leviathan ), typeof( FireBeetle ),
|
||||
typeof( FanDancer ),
|
||||
#region ML named mobs
|
||||
typeof( LadyJennifyr ), typeof( LadyMarai ), typeof( MasterJonath ),
|
||||
typeof( MasterMikael ), typeof( MasterTheophilus ), typeof( RedDeath ),
|
||||
typeof( SirPatrick ), typeof( Miasma ), typeof( Rend ),
|
||||
typeof( Grobu ), typeof( Gnaw ), typeof( Guile ),
|
||||
typeof( Irk ), typeof( Spite ), typeof( LadyLissith ),
|
||||
typeof( LadySabrix ), typeof( Malefic ), typeof( Silk ),
|
||||
typeof( Virulent )
|
||||
/*
|
||||
// These don't seem to be fast?
|
||||
typeof( Lurg ), typeof( Putrefier ), typeof( Swoop),
|
||||
typeof( Pyre )
|
||||
*/
|
||||
#endregion
|
||||
typeof( FanDancer )
|
||||
} ),
|
||||
/* Medium */
|
||||
new SpeedInfo( 0.25, 0.5, new Type[]
|
||||
|
|
|
|||
|
|
@ -715,7 +715,7 @@ namespace Server.Mobiles
|
|||
#endregion
|
||||
|
||||
#region Flee!!!
|
||||
public virtual bool CanFlee{ get{ return ( !m_Paragon && !GivesMLMinorArtifact ); } }
|
||||
public virtual bool CanFlee{ get{ return !m_Paragon; } }
|
||||
|
||||
private DateTime m_EndFlee;
|
||||
|
||||
|
|
@ -880,7 +880,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override string ApplyNameSuffix( string suffix )
|
||||
{
|
||||
if ( IsParagon )
|
||||
if ( IsParagon && !GivesMLMinorArtifact )
|
||||
{
|
||||
if ( suffix.Length == 0 )
|
||||
suffix = "(Paragon)";
|
||||
|
|
@ -1088,7 +1088,10 @@ namespace Server.Mobiles
|
|||
if ( base.CheckPoisonImmunity( from, poison ) )
|
||||
return true;
|
||||
|
||||
Poison p = this.PoisonImmune;
|
||||
Poison p = PoisonImmune;
|
||||
|
||||
if ( m_Paragon )
|
||||
p = PoisonImpl.IncreaseLevel( p );
|
||||
|
||||
return ( p != null && p.Level >= poison.Level );
|
||||
}
|
||||
|
|
@ -2780,13 +2783,15 @@ namespace Server.Mobiles
|
|||
if ( m_Paragon )
|
||||
p = PoisonImpl.IncreaseLevel( p );
|
||||
|
||||
if ( p != null && HitPoisonChance >= Utility.RandomDouble() ) {
|
||||
if ( p != null && HitPoisonChance >= Utility.RandomDouble() )
|
||||
{
|
||||
defender.ApplyPoison( this, p );
|
||||
if ( this.Controlled )
|
||||
this.CheckSkill(SkillName.Poisoning, 0, this.Skills[SkillName.Poisoning].Cap);
|
||||
|
||||
if ( Controlled )
|
||||
CheckSkill( SkillName.Poisoning, 0, Skills[SkillName.Poisoning].Cap );
|
||||
}
|
||||
|
||||
if( AutoDispel && defender is BaseCreature && ((BaseCreature)defender).IsDispellable && AutoDispelChance > Utility.RandomDouble() )
|
||||
if ( AutoDispel && defender is BaseCreature && ((BaseCreature)defender).IsDispellable && AutoDispelChance > Utility.RandomDouble() )
|
||||
Dispel( defender );
|
||||
}
|
||||
|
||||
|
|
@ -4493,13 +4498,18 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual void OnKilledBy( Mobile mob )
|
||||
{
|
||||
if ( m_Paragon && Paragon.CheckArtifactChance( mob, this ) )
|
||||
Paragon.GiveArtifactTo( mob );
|
||||
|
||||
#region Mondain's Legacy
|
||||
if ( GivesMLMinorArtifact && MondainsLegacy.CheckArtifactChance( mob, this ) )
|
||||
MondainsLegacy.GiveArtifactTo( mob );
|
||||
if ( GivesMLMinorArtifact )
|
||||
{
|
||||
if ( MondainsLegacy.CheckArtifactChance( mob, this ) )
|
||||
MondainsLegacy.GiveArtifactTo( mob );
|
||||
}
|
||||
#endregion
|
||||
else if ( m_Paragon )
|
||||
{
|
||||
if ( Paragon.CheckArtifactChance( mob, this ) )
|
||||
Paragon.GiveArtifactTo( mob );
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDeath( Container c )
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public LadyJennifyr()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Lady Jennifyr";
|
||||
Hue = 0x76D;
|
||||
|
||||
|
|
@ -42,7 +44,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
public override void OnGaveMeleeAttack( Mobile defender )
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public LadyMarai()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Lady Marai";
|
||||
Hue = 0x21;
|
||||
|
||||
|
|
@ -42,7 +44,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public MasterJonath()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Master Jonath";
|
||||
Hue = 0x455;
|
||||
|
||||
|
|
@ -52,7 +54,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
// TODO: Special move?
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public MasterMikael()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Master Mikael";
|
||||
Hue = 0x8FD;
|
||||
|
||||
|
|
@ -51,7 +53,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
// TODO: Special move?
|
||||
|
|
|
|||
|
|
@ -10,8 +10,11 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public MasterTheophilus()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Master Theophilus";
|
||||
Title = "the necromancer";
|
||||
Hue = 0;
|
||||
|
||||
SetStr( 137, 187 );
|
||||
SetDex( 253, 301 );
|
||||
|
|
@ -59,7 +62,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
@ -67,17 +70,6 @@ namespace Server.Mobiles
|
|||
return WeaponAbility.ParalyzingBlow;
|
||||
}
|
||||
|
||||
/*
|
||||
// TODO: Needs verification
|
||||
public override void OnDeath( Container c )
|
||||
{
|
||||
base.OnDeath( c );
|
||||
|
||||
if ( Paragon.ChestChance > Utility.RandomDouble() )
|
||||
c.DropItem( new ParagonChest( Name, TreasureMapLevel ) );
|
||||
}
|
||||
*/
|
||||
|
||||
public override bool GivesMLMinorArtifact{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 5; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ namespace Server.Mobiles
|
|||
public RedDeath()
|
||||
: base( "Red Death" )
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Hue = 0x21;
|
||||
BaseSoundID = 0x1C3;
|
||||
|
||||
|
|
@ -51,7 +53,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public SirPatrick()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Sir Patrick";
|
||||
Hue = 0x47E;
|
||||
|
||||
|
|
@ -43,7 +45,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
public override void OnGaveMeleeAttack( Mobile defender )
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Miasma()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Miasma";
|
||||
Hue = 0x8FD;
|
||||
|
||||
|
|
@ -38,13 +40,11 @@ namespace Server.Mobiles
|
|||
|
||||
Fame = 21000;
|
||||
Karma = -21000;
|
||||
|
||||
Tamable = false;
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
@ -80,16 +80,11 @@ namespace Server.Mobiles
|
|||
case 15: c.DropItem( new HunterLegs() ); break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( Paragon.ChestChance > Utility.RandomDouble() )
|
||||
c.DropItem( new ParagonChest( Name, TreasureMapLevel ) );
|
||||
}
|
||||
*/
|
||||
|
||||
public override bool GivesMLMinorArtifact{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 5; } }
|
||||
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
|
||||
public override Poison HitPoison{ get{ return Poison.Lethal; } }
|
||||
|
||||
public Miasma( Serial serial )
|
||||
: base( serial )
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Pyre()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Pyre";
|
||||
Hue = 0x489;
|
||||
|
||||
|
|
@ -48,7 +50,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Rend()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Rend";
|
||||
Hue = 0x455;
|
||||
|
||||
|
|
@ -38,19 +40,11 @@ namespace Server.Mobiles
|
|||
|
||||
Fame = 21000;
|
||||
Karma = -21000;
|
||||
|
||||
Tamable = false;
|
||||
|
||||
/*
|
||||
// TODO: Needs verification
|
||||
if ( Paragon.ChestChance > Utility.RandomDouble() )
|
||||
PackItem( new ParagonChest( Name, TreasureMapLevel ) );
|
||||
*/
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
@ -61,6 +55,8 @@ namespace Server.Mobiles
|
|||
return WeaponAbility.BleedAttack;
|
||||
}
|
||||
|
||||
public override bool GivesMLMinorArtifact{ get{ return true; } }
|
||||
|
||||
public Rend( Serial serial )
|
||||
: base( serial )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Grobu()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Grobu";
|
||||
Hue = 0x455;
|
||||
|
||||
|
|
@ -40,13 +42,11 @@ namespace Server.Mobiles
|
|||
|
||||
Fame = 1000;
|
||||
Karma = 1000;
|
||||
|
||||
Tamable = false;
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosFilthyRich, 3 );
|
||||
AddLoot( LootPack.FilthyRich, 2 );
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Lurg()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Lurg";
|
||||
Hue = 0x455;
|
||||
|
||||
|
|
@ -39,16 +41,11 @@ namespace Server.Mobiles
|
|||
|
||||
Fame = 10000;
|
||||
Karma = -10000;
|
||||
|
||||
/*
|
||||
if ( Paragon.ChestChance > Utility.RandomDouble() ) // TODO: Needs verification
|
||||
PackItem( new ParagonChest( Name, TreasureMapLevel ) );
|
||||
*/
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Putrefier()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Putrefier";
|
||||
Hue = 63;
|
||||
|
||||
|
|
@ -41,13 +43,16 @@ namespace Server.Mobiles
|
|||
SetSkill( SkillName.Meditation, 41.4, 85.0 );
|
||||
SetSkill( SkillName.Poisoning, 45.0, 50.0 );
|
||||
|
||||
Fame = 24000;
|
||||
Karma = -24000;
|
||||
|
||||
PackScroll( 4, 7 );
|
||||
PackScroll( 4, 7 );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -60,15 +65,11 @@ namespace Server.Mobiles
|
|||
|
||||
if ( Utility.RandomDouble() < 0.6 )
|
||||
c.DropItem( new ParrotItem() );
|
||||
|
||||
if ( Paragon.ChestChance > Utility.RandomDouble() )
|
||||
c.DropItem( new ParagonChest( Name, TreasureMapLevel ) );
|
||||
}
|
||||
*/
|
||||
|
||||
public override bool GivesMLMinorArtifact{ get{ return true; } }
|
||||
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
|
||||
public override Poison HitPoison{ get{ return Poison.Lethal; } }
|
||||
public override Poison HitPoison{ get{ return Poison.Deadly; } } // Becomes Lethal with Paragon bonus
|
||||
public override int TreasureMapLevel{ get{ return 5; } }
|
||||
|
||||
public Putrefier( Serial serial )
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Gnaw()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Gnaw";
|
||||
Hue = 0x130;
|
||||
|
||||
|
|
@ -37,13 +39,11 @@ namespace Server.Mobiles
|
|||
|
||||
Fame = 17500;
|
||||
Karma = -17500;
|
||||
|
||||
Tamable = false;
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosFilthyRich, 3 );
|
||||
AddLoot( LootPack.FilthyRich, 2 );
|
||||
}
|
||||
|
||||
public override bool GivesMLMinorArtifact{ get{ return true; } }
|
||||
|
|
|
|||
|
|
@ -13,6 +13,10 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Guile()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Hue = DefaultHue;
|
||||
|
||||
SetStr( 53, 214 );
|
||||
SetDex( 243, 367 );
|
||||
SetInt( 369, 586 );
|
||||
|
|
@ -61,7 +65,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
public Guile( Serial serial )
|
||||
|
|
|
|||
|
|
@ -13,6 +13,10 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Irk()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Hue = DefaultHue;
|
||||
|
||||
SetStr( 23, 183 );
|
||||
SetDex( 259, 360 );
|
||||
SetInt( 374, 600 );
|
||||
|
|
@ -46,7 +50,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public LadyLissith()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Lady Lissith";
|
||||
Hue = 0x452;
|
||||
|
||||
|
|
@ -44,7 +46,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public LadySabrix()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Lady Sabrix";
|
||||
Hue = 0x497;
|
||||
|
||||
|
|
@ -43,7 +45,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Malefic()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Malefic";
|
||||
Hue = 0x455;
|
||||
|
||||
|
|
@ -51,7 +53,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Silk()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Silk";
|
||||
Hue = 0x47E;
|
||||
|
||||
|
|
@ -43,7 +45,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
@ -52,8 +54,6 @@ namespace Server.Mobiles
|
|||
}
|
||||
|
||||
public override bool GivesMLMinorArtifact{ get{ return true; } }
|
||||
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
|
||||
public override Poison HitPoison{ get{ return Poison.Lethal; } }
|
||||
|
||||
public Silk( Serial serial )
|
||||
: base( serial )
|
||||
|
|
|
|||
|
|
@ -13,6 +13,10 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Spite()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Hue = DefaultHue;
|
||||
|
||||
SetStr( 53, 214 );
|
||||
SetDex( 243, 367 );
|
||||
SetInt( 369, 586 );
|
||||
|
|
@ -44,7 +48,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
public override bool GivesMLMinorArtifact{ get{ return true; } }
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Swoop()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Swoop";
|
||||
Hue = 0xE0;
|
||||
|
||||
|
|
@ -39,15 +41,13 @@ namespace Server.Mobiles
|
|||
Fame = 18000;
|
||||
Karma = 0;
|
||||
|
||||
Tamable = false;
|
||||
|
||||
PackReg( 4 );
|
||||
PackArcaneScroll( 0, 1 );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
AddLoot( LootPack.UltraRich, 2 );
|
||||
}
|
||||
|
||||
// TODO: Put this attack shared with Hiryu and Lesser Hiryu in one place
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Mobiles
|
|||
[Constructable]
|
||||
public Virulent()
|
||||
{
|
||||
IsParagon = true;
|
||||
|
||||
Name = "Virulent";
|
||||
Hue = 0x8FD;
|
||||
|
||||
|
|
@ -45,7 +47,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosUltraRich, 4 );
|
||||
AddLoot( LootPack.UltraRich, 3 );
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ namespace Server.Mobiles
|
|||
|
||||
public static Type[] Artifacts = new Type[]
|
||||
{
|
||||
typeof( GoldBricks ), typeof( PhillipsWoodenSteed ),
|
||||
typeof( GoldBricks ), typeof( PhillipsWoodenSteed ),
|
||||
typeof( AlchemistsBauble ), typeof( ArcticDeathDealer ),
|
||||
typeof( BlazeOfDeath ), typeof( BowOfTheJukaKing ),
|
||||
typeof( BurglarsBandana ), typeof( CavortingClub ),
|
||||
|
|
@ -23,13 +23,13 @@ namespace Server.Mobiles
|
|||
typeof( NightsKiss ), typeof( NoxRangersHeavyCrossbow ),
|
||||
typeof( OrcishVisage ), typeof( PolarBearMask ),
|
||||
typeof( ShieldOfInvulnerability ), typeof( StaffOfPower ),
|
||||
typeof( VioletCourage ), typeof( HeartOfTheLion ),
|
||||
typeof( WrathOfTheDryad ), typeof( PixieSwatter ),
|
||||
typeof( VioletCourage ), typeof( HeartOfTheLion ),
|
||||
typeof( WrathOfTheDryad ), typeof( PixieSwatter ),
|
||||
typeof( GlovesOfThePugilist )
|
||||
};
|
||||
|
||||
public static int Hue = 0x501; // Paragon hue
|
||||
|
||||
|
||||
// Buffs
|
||||
public static double HitsBuff = 5.0;
|
||||
public static double StrBuff = 1.05;
|
||||
|
|
@ -50,7 +50,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( bc.HitsMaxSeed >= 0 )
|
||||
bc.HitsMaxSeed = (int)( bc.HitsMaxSeed * HitsBuff );
|
||||
|
||||
|
||||
bc.RawStr = (int)( bc.RawStr * StrBuff );
|
||||
bc.RawInt = (int)( bc.RawInt * IntBuff );
|
||||
bc.RawDex = (int)( bc.RawDex * DexBuff );
|
||||
|
|
@ -69,6 +69,7 @@ namespace Server.Mobiles
|
|||
|
||||
bc.PassiveSpeed /= SpeedBuff;
|
||||
bc.ActiveSpeed /= SpeedBuff;
|
||||
bc.CurrentSpeed = bc.PassiveSpeed;
|
||||
|
||||
bc.DamageMin += DamageBuff;
|
||||
bc.DamageMax += DamageBuff;
|
||||
|
|
@ -99,7 +100,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( bc.HitsMaxSeed >= 0 )
|
||||
bc.HitsMaxSeed = (int)( bc.HitsMaxSeed / HitsBuff );
|
||||
|
||||
|
||||
bc.RawStr = (int)( bc.RawStr / StrBuff );
|
||||
bc.RawInt = (int)( bc.RawInt / IntBuff );
|
||||
bc.RawDex = (int)( bc.RawDex / DexBuff );
|
||||
|
|
@ -115,9 +116,10 @@ namespace Server.Mobiles
|
|||
if ( skill.Base > 0.0 )
|
||||
skill.Base /= SkillsBuff;
|
||||
}
|
||||
|
||||
|
||||
bc.PassiveSpeed *= SpeedBuff;
|
||||
bc.ActiveSpeed *= SpeedBuff;
|
||||
bc.CurrentSpeed = bc.PassiveSpeed;
|
||||
|
||||
bc.DamageMin -= DamageBuff;
|
||||
bc.DamageMax -= DamageBuff;
|
||||
|
|
@ -141,7 +143,7 @@ namespace Server.Mobiles
|
|||
if ( Array.IndexOf( Maps, m ) == -1 )
|
||||
return false;
|
||||
|
||||
if ( bc is BaseChampion || bc is Harrower || bc is BaseVendor || bc is BaseEscortable || bc is Clone || bc.GivesMLMinorArtifact )
|
||||
if ( bc is BaseChampion || bc is Harrower || bc is BaseVendor || bc is BaseEscortable || bc is Clone || bc.IsParagon )
|
||||
return false;
|
||||
|
||||
int fame = bc.Fame;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue