This commit is contained in:
parent
4ee6ca5951
commit
06e5c8b732
70 changed files with 2798 additions and 286 deletions
|
|
@ -4,6 +4,7 @@ using Server.Targeting;
|
|||
using Server.Network;
|
||||
using Server.Misc;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Spells.Fifth
|
||||
{
|
||||
|
|
@ -183,7 +184,9 @@ namespace Server.Spells.Fifth
|
|||
p = Poison.Regular;
|
||||
}
|
||||
|
||||
m.ApplyPoison( m_Caster, p );
|
||||
if ( m.ApplyPoison( m_Caster, p ) == ApplyPoisonResult.Poisoned )
|
||||
if ( SpellHelper.CanRevealCaster( m ) )
|
||||
m_Caster.RevealingAction();
|
||||
}
|
||||
|
||||
public override bool OnMoveOver( Mobile m )
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ using Server.Targeting;
|
|||
using Server.Network;
|
||||
using Server.Misc;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Spells.Fourth
|
||||
{
|
||||
|
|
@ -184,6 +185,9 @@ namespace Server.Spells.Fourth
|
|||
{
|
||||
if ( Visible && m_Caster != null && (!Core.AOS || m != m_Caster) && SpellHelper.ValidIndirectTarget( m_Caster, m ) && m_Caster.CanBeHarmful( m, false ) )
|
||||
{
|
||||
if ( SpellHelper.CanRevealCaster( m ) )
|
||||
m_Caster.RevealingAction();
|
||||
|
||||
m_Caster.DoHarmful( m );
|
||||
|
||||
int damage = m_Damage;
|
||||
|
|
@ -257,6 +261,9 @@ namespace Server.Spells.Fourth
|
|||
while ( m_Queue.Count > 0 )
|
||||
{
|
||||
Mobile m = (Mobile)m_Queue.Dequeue();
|
||||
|
||||
if ( SpellHelper.CanRevealCaster( m ) )
|
||||
caster.RevealingAction();
|
||||
|
||||
caster.DoHarmful( m );
|
||||
|
||||
|
|
|
|||
|
|
@ -62,9 +62,12 @@ namespace Server.Spells.Necromancy
|
|||
if( map != null )
|
||||
{
|
||||
List<Mobile> targets = new List<Mobile>();
|
||||
|
||||
if ( Caster.CanBeHarmful(m, false ) )
|
||||
targets.Add( m );
|
||||
|
||||
foreach( Mobile targ in m.GetMobilesInRange( 2 ) )
|
||||
if( (Caster == targ || m == targ || SpellHelper.ValidIndirectTarget( Caster, targ )) && Caster.CanBeHarmful( targ, false ) )
|
||||
if( ( targ != Caster ) && ( SpellHelper.ValidIndirectTarget( Caster, targ ) && Caster.CanBeHarmful( targ, false) ) )
|
||||
targets.Add( targ );
|
||||
|
||||
for( int i = 0; i < targets.Count; ++i )
|
||||
|
|
|
|||
|
|
@ -120,8 +120,7 @@ namespace Server.Spells.Ninjitsu
|
|||
{
|
||||
m_Owner.FinishSequence();
|
||||
|
||||
if ( !from.CheckSkill( SkillName.Hiding, 0.0, 100.0 ) ) //TODO: Hiding check or stealth check?
|
||||
from.RevealingAction();
|
||||
Server.SkillHandlers.Stealth.OnUse( from );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using Server.Targeting;
|
|||
using Server.Items;
|
||||
using Server.Network;
|
||||
using Server.Misc;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Spells.Sixth
|
||||
{
|
||||
|
|
@ -161,6 +162,9 @@ namespace Server.Spells.Sixth
|
|||
{
|
||||
if ( Visible && m_Caster != null && (!Core.AOS || m != m_Caster) && SpellHelper.ValidIndirectTarget( m_Caster, m ) && m_Caster.CanBeHarmful( m, false ) )
|
||||
{
|
||||
if ( SpellHelper.CanRevealCaster( m ) )
|
||||
m_Caster.RevealingAction();
|
||||
|
||||
m_Caster.DoHarmful( m );
|
||||
|
||||
double duration;
|
||||
|
|
|
|||
|
|
@ -69,18 +69,14 @@ namespace Server.Spells.Spellweaving
|
|||
if ( house != null)
|
||||
if ( !house.IsFriend ( Caster ) )
|
||||
return;
|
||||
|
||||
if( !SpellHelper.FindValidSpawnLocation( map, ref p, m_MobileTarg ) )
|
||||
if (m != null) //say "Target can not be seen" if you target directly a mobile, like in OSI
|
||||
{
|
||||
Caster.SendLocalizedMessage( 500237 ); // Target can not be seen.
|
||||
}
|
||||
else if ( map == null || !map.CanSpawnMobile( p.X, p.Y, p.Z ) )
|
||||
{
|
||||
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
|
||||
}
|
||||
|
||||
//say "Target can not be seen" if you target directly a mobile, like in OSI
|
||||
if (m != null)
|
||||
{
|
||||
Caster.SendLocalizedMessage(500237); // Target can not be seen.
|
||||
}
|
||||
|
||||
else if( SpellHelper.CheckTown( p, Caster ) && (m_MobileTarg ? CheckHSequence( m ) : CheckSequence()) )
|
||||
{
|
||||
TimeSpan duration = TimeSpan.FromSeconds( Caster.Skills.Spellweaving.Value/24 + 25 + FocusLevel*2 );
|
||||
|
|
@ -89,8 +85,7 @@ namespace Server.Spells.Spellweaving
|
|||
m = null;
|
||||
|
||||
NatureFury nf = new NatureFury( m );
|
||||
if ( !Caster.InLOS ( p ) )
|
||||
return;
|
||||
|
||||
BaseCreature.Summon( nf, false, Caster, p , 0x5CB, duration );
|
||||
|
||||
Timer t = null;
|
||||
|
|
@ -112,8 +107,7 @@ namespace Server.Spells.Spellweaving
|
|||
{
|
||||
private NatureFurySpell m_Owner;
|
||||
|
||||
public InternalTarget( NatureFurySpell owner )
|
||||
: base( 10, true, TargetFlags.None )
|
||||
public InternalTarget( NatureFurySpell owner ) : base( 10, true, TargetFlags.None )
|
||||
{
|
||||
m_Owner = owner;
|
||||
CheckLOS = true;
|
||||
|
|
@ -124,8 +118,6 @@ namespace Server.Spells.Spellweaving
|
|||
if( o is IPoint3D )
|
||||
m_Owner.Target( (IPoint3D)o );
|
||||
}
|
||||
|
||||
|
||||
protected override void OnTargetFinish( Mobile from )
|
||||
{
|
||||
if( m_Owner != null )
|
||||
|
|
|
|||
|
|
@ -95,6 +95,16 @@ namespace Server.Spells.Third
|
|||
}
|
||||
|
||||
m.PlaySound( 0x1FE );
|
||||
|
||||
IPooledEnumerable eable = m.GetItemsInRange( 0 );
|
||||
|
||||
foreach ( Item item in eable )
|
||||
{
|
||||
if ( item is ParalyzeFieldSpell.InternalItem || item is PoisonFieldSpell.InternalItem || item is FireFieldItem )
|
||||
item.OnMoveOver( m );
|
||||
}
|
||||
|
||||
eable.Free();
|
||||
}
|
||||
|
||||
FinishSequence();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue