branch sync
This commit is contained in:
parent
e10ca1fe1e
commit
24490dff69
5 changed files with 87 additions and 54 deletions
|
|
@ -128,6 +128,9 @@ namespace Server.Engines.ConPVP
|
|||
if ( CantDoAnything( from ) )
|
||||
return false;
|
||||
|
||||
if ( spell is Server.Spells.Fourth.RecallSpell )
|
||||
from.SendMessage( "You may not cast this spell." );
|
||||
|
||||
string title = null, option = null;
|
||||
|
||||
if( spell is ArcanistSpell )
|
||||
|
|
@ -273,6 +276,9 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
if ( weapon.PoisonCharges > 0 && weapon.Poison != null && !m_Ruleset.GetOption( "Weapons", "Poisoned" ) )
|
||||
return false;
|
||||
|
||||
if ( weapon is BaseWand && !m_Ruleset.GetOption( "Items", "Wands" ) )
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
@ -313,10 +319,10 @@ namespace Server.Engines.ConPVP
|
|||
if ( pl == null || pl.Eliminated )
|
||||
return true;
|
||||
|
||||
if ( item is EtherealMount )
|
||||
if ( !(item is BaseRefreshPotion) )
|
||||
{
|
||||
from.SendMessage( "You may not mount an ethereal while dueling." );
|
||||
return false;
|
||||
if ( CantDoAnything( from ) )
|
||||
return false;
|
||||
}
|
||||
|
||||
string title = null, option = null;
|
||||
|
|
@ -365,6 +371,11 @@ namespace Server.Engines.ConPVP
|
|||
title = "Items";
|
||||
option = "Orange Petals";
|
||||
}
|
||||
else if ( item is EtherealMount || item.Layer == Layer.Mount )
|
||||
{
|
||||
title = "Items";
|
||||
option = "Mounts";
|
||||
}
|
||||
else if ( item is LeatherNinjaBelt )
|
||||
{
|
||||
title = "Items";
|
||||
|
|
@ -380,6 +391,11 @@ namespace Server.Engines.ConPVP
|
|||
title = "Items";
|
||||
option = "Fire Horns";
|
||||
}
|
||||
else if ( item is BaseWand )
|
||||
{
|
||||
title = "Items";
|
||||
option = "Wands";
|
||||
}
|
||||
|
||||
if ( title != null && option != null && m_StartedBeginCountdown && !m_Started )
|
||||
{
|
||||
|
|
@ -397,12 +413,6 @@ namespace Server.Engines.ConPVP
|
|||
return false;
|
||||
}
|
||||
|
||||
if ( !(item is BaseRefreshPotion) )
|
||||
{
|
||||
if ( CantDoAnything( from ) )
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( title == null || option == null || m_Ruleset.GetOption( title, option ) )
|
||||
return true;
|
||||
|
||||
|
|
@ -2372,6 +2382,8 @@ namespace Server.Engines.ConPVP
|
|||
public TournyMatch m_Match;
|
||||
public EventGame m_EventGame;
|
||||
|
||||
public Tournament Tournament { get { return m_Tournament; } }
|
||||
|
||||
public void SendReadyGump( int count )
|
||||
{
|
||||
if ( !m_Registered )
|
||||
|
|
|
|||
|
|
@ -299,8 +299,10 @@ namespace Server.Engines.ConPVP
|
|||
new string[]
|
||||
{
|
||||
"Bandages",
|
||||
"Wands",
|
||||
"Trapped Containers",
|
||||
"Bolas",
|
||||
"Mounts",
|
||||
"Orange Petals",
|
||||
"Shurikens",
|
||||
"Fukiya Darts",
|
||||
|
|
@ -326,9 +328,12 @@ namespace Server.Engines.ConPVP
|
|||
new string[]
|
||||
{
|
||||
"Bandages",
|
||||
"Wands",
|
||||
"Trapped Containers",
|
||||
"Bolas",
|
||||
"Orange Petals"
|
||||
"Mounts",
|
||||
"Orange Petals",
|
||||
"Fire Horns"
|
||||
} ) );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -78,8 +78,10 @@ namespace Server.Mobiles
|
|||
|
||||
VirtualArmor = 44;
|
||||
|
||||
PackResources( 8 );
|
||||
PackTalismans( 5 );
|
||||
if ( Core.ML ) {
|
||||
PackResources( 8 );
|
||||
PackTalismans( 5 );
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void PackResources( int amount )
|
||||
|
|
@ -119,30 +121,32 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.OnDeath( c );
|
||||
|
||||
c.DropItem( new GrizzledBones() );
|
||||
if ( Core.ML ) {
|
||||
c.DropItem( new GrizzledBones() );
|
||||
|
||||
// TODO: Parrots
|
||||
/*if ( Utility.RandomDouble() < 0.6 )
|
||||
c.DropItem( new ParrotItem() ); */
|
||||
// TODO: Parrots
|
||||
/*if ( Utility.RandomDouble() < 0.6 )
|
||||
c.DropItem( new ParrotItem() ); */
|
||||
|
||||
if( Utility.RandomDouble() < 0.05 )
|
||||
c.DropItem( new GrizzledMareStatuette() );
|
||||
if( Utility.RandomDouble() < 0.05 )
|
||||
c.DropItem( new GrizzledMareStatuette() );
|
||||
|
||||
if( Utility.RandomDouble() < 0.025 )
|
||||
c.DropItem( new CrimsonCincture() );
|
||||
if( Utility.RandomDouble() < 0.025 )
|
||||
c.DropItem( new CrimsonCincture() );
|
||||
|
||||
// TODO: Armor sets
|
||||
/*if ( Utility.RandomDouble() < 0.05 )
|
||||
{
|
||||
switch ( Utility.Random(5) )
|
||||
// TODO: Armor sets
|
||||
/*if ( Utility.RandomDouble() < 0.05 )
|
||||
{
|
||||
case 0: c.DropItem( new GrizzleGauntlets() ); break;
|
||||
case 1: c.DropItem( new GrizzleGreaves() ); break;
|
||||
case 2: c.DropItem( new GrizzleHelm() ); break;
|
||||
case 3: c.DropItem( new GrizzleTunic() ); break;
|
||||
case 4: c.DropItem( new GrizzleVambraces() ); break;
|
||||
}
|
||||
}*/
|
||||
switch ( Utility.Random(5) )
|
||||
{
|
||||
case 0: c.DropItem( new GrizzleGauntlets() ); break;
|
||||
case 1: c.DropItem( new GrizzleGreaves() ); break;
|
||||
case 2: c.DropItem( new GrizzleHelm() ); break;
|
||||
case 3: c.DropItem( new GrizzleTunic() ); break;
|
||||
case 4: c.DropItem( new GrizzleVambraces() ); break;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
public override bool Unprovokable { get { return true; } }
|
||||
|
|
|
|||
|
|
@ -67,8 +67,10 @@ namespace Server.Mobiles
|
|||
|
||||
VirtualArmor = 28; // Don't know what it should be
|
||||
|
||||
PackResources(8);
|
||||
PackTalismans(5);
|
||||
if ( Core.ML ) {
|
||||
PackResources(8);
|
||||
PackTalismans(5);
|
||||
}
|
||||
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(1), new TimerCallback(SpawnTormented));
|
||||
}
|
||||
|
|
@ -99,25 +101,29 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.OnDeath( c );
|
||||
|
||||
c.DropItem( new MalletAndChisel() );
|
||||
if ( Core.ML ) {
|
||||
c.DropItem( new MalletAndChisel() );
|
||||
|
||||
switch ( Utility.Random( 3 ) )
|
||||
{
|
||||
case 0: c.DropItem( new MinotaurHedge() ); break;
|
||||
case 1: c.DropItem( new BonePile() ); break;
|
||||
case 2: c.DropItem( new LightYarn() ); break;
|
||||
switch ( Utility.Random( 3 ) )
|
||||
{
|
||||
case 0: c.DropItem( new MinotaurHedge() ); break;
|
||||
case 1: c.DropItem( new BonePile() ); break;
|
||||
case 2: c.DropItem( new LightYarn() ); break;
|
||||
}
|
||||
|
||||
if ( Utility.RandomBool() )
|
||||
c.DropItem( new TormentedChains() );
|
||||
|
||||
if ( Utility.RandomDouble() < 0.025 )
|
||||
c.DropItem(new CrimsonCincture());
|
||||
}
|
||||
|
||||
if ( Utility.RandomBool() )
|
||||
c.DropItem( new TormentedChains() );
|
||||
|
||||
if ( Utility.RandomDouble() < 0.025 )
|
||||
c.DropItem(new CrimsonCincture());
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.AosSuperBoss, 5 ); // Need to verify
|
||||
if ( Core.ML ) {
|
||||
AddLoot( LootPack.AosSuperBoss, 5 ); // Need to verify
|
||||
}
|
||||
}
|
||||
|
||||
public override int GetAngerSound()
|
||||
|
|
|
|||
|
|
@ -568,6 +568,7 @@ namespace Server.Spells
|
|||
private static TravelValidator[] m_Validators = new TravelValidator[]
|
||||
{
|
||||
new TravelValidator( IsFeluccaT2A ),
|
||||
new TravelValidator( IsKhaldun ),
|
||||
new TravelValidator( IsIlshenar ),
|
||||
new TravelValidator( IsTrammelWind ),
|
||||
new TravelValidator( IsFeluccaWind ),
|
||||
|
|
@ -589,14 +590,14 @@ namespace Server.Spells
|
|||
|
||||
private static bool[,] m_Rules = new bool[,]
|
||||
{
|
||||
/*T2A(Fel) Ilshenar Wind(Tram), Wind(Fel), Dungeons(Fel), Solen(Tram), Solen(Fel), CrystalCave(Malas), Gauntlet(Malas), Gauntlet(Ferry), SafeZone, Stronghold, ChampionSpawn, Dungeons(Tokuno[Malas]), LampRoom(Doom), GuardianRoom(Doom), Heartwood, MLDungeons */
|
||||
/* Recall From */ { false, true, true, false, false, true, false, false, false, false, true, true, false, true, false, false, false, false },
|
||||
/* Recall To */ { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
|
||||
/* Gate From */ { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
|
||||
/* Gate To */ { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
|
||||
/* Mark In */ { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
|
||||
/* Tele From */ { true, true, true, true, true, true, true, false, true, true, true, false, true, true, true, true, false, true },
|
||||
/* Tele To */ { true, true, true, true, true, true, true, false, true, false, false, false, true, true, true, true, false, false },
|
||||
/*T2A(Fel), Khaldun, Ilshenar, Wind(Tram), Wind(Fel), Dungeons(Fel), Solen(Tram), Solen(Fel), CrystalCave(Malas), Gauntlet(Malas), Gauntlet(Ferry), SafeZone, Stronghold, ChampionSpawn, Dungeons(Tokuno[Malas]), LampRoom(Doom), GuardianRoom(Doom), Heartwood, MLDungeons */
|
||||
/* Recall From */ { false, false, true, true, false, false, true, false, false, false, false, true, true, false, true, false, false, false, false },
|
||||
/* Recall To */ { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
|
||||
/* Gate From */ { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
|
||||
/* Gate To */ { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
|
||||
/* Mark In */ { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
|
||||
/* Tele From */ { true, true, true, true, true, true, true, true, false, true, true, true, false, true, true, true, true, false, true },
|
||||
/* Tele To */ { true, true, true, true, true, true, true, true, false, true, false, false, false, true, true, true, true, false, false },
|
||||
};
|
||||
|
||||
public static void SendInvalidMessage( Mobile caster, TravelCheckType type )
|
||||
|
|
@ -721,6 +722,11 @@ namespace Server.Spells
|
|||
return (region.IsPartOf( typeof( DungeonRegion ) ) && region.Map == Map.Felucca);
|
||||
}
|
||||
|
||||
public static bool IsKhaldun( Map map, Point3D loc )
|
||||
{
|
||||
return ( Region.Find( loc, map ).Name == "Khaldun" );
|
||||
}
|
||||
|
||||
public static bool IsCrystalCave( Map map, Point3D loc )
|
||||
{
|
||||
if( map != Map.Malas || loc.Z >= -80 )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue