本文整理汇总了C#中InternalItem.MoveToWorld方法的典型用法代码示例。如果您正苦于以下问题:C# InternalItem.MoveToWorld方法的具体用法?C# InternalItem.MoveToWorld怎么用?C# InternalItem.MoveToWorld使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InternalItem
的用法示例。
在下文中一共展示了InternalItem.MoveToWorld方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Effect
public void Effect( Point3D loc, Map map, bool checkMulti )
{
if ( map == null || (!Core.AOS && Caster.Map != map) )
{
Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
}
else if ( !map.CanFit( loc.X, loc.Y, loc.Z, 16 ) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( !SpellHelper.CheckTravel( Caster, loc, map, TravelType.Gate ) && Caster.AccessLevel == AccessLevel.Player )
{
Caster.PlaySound( 0x5C );
}
else if ( CheckSequence() )
{
Caster.SendLocalizedMessage( 501024 ); // You open a magical gate to another location
Effects.PlaySound( Caster.Location, Caster.Map, 0x20E );
InternalItem firstGate = new InternalItem( loc, map );
firstGate.MoveToWorld( Caster.Location, Caster.Map );
Effects.PlaySound( loc, map, 0x20E );
InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
secondGate.MoveToWorld( loc, map );
}
FinishSequence();
}
示例2: Effect
public void Effect( Point3D loc, Map map, bool checkMulti )
{
if( map == null || (Core.AOS && Caster.Map != map) )
{
Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
}
else if( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
{
}
else if( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.GateTo ) )
{
}
else if( Caster.Kills >= 5 && map != Map.Felucca )
{
Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
}
else if( Caster.Criminal )
{
Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
}
else if( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
}
//else if( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
//{
// Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
//}
//else if( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
//{
// Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
//}
else if ( Core.AOS && ( GateExistsAt( map, loc ) || GateExistsAt( Caster.Map, Caster.Location ) ) ) // SE restricted stacking gates
{
Caster.SendLocalizedMessage( 1071242 ); // There is already a gate there.
}
else if( CheckSequence() )
{
Caster.SendLocalizedMessage( 501024 ); // You open a magical gate to another location
Effects.PlaySound( Caster.Location, Caster.Map, 0x20E );
InternalItem firstGate = new InternalItem( loc, map );
firstGate.MoveToWorld( Caster.Location, Caster.Map );
Effects.PlaySound( loc, map, 0x20E );
InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
secondGate.MoveToWorld( loc, map );
((Moongate)firstGate).PairedGate = secondGate;
((Moongate)secondGate).PairedGate = firstGate;
}
FinishSequence();
}
示例3: Effect
public void Effect( Point3D loc, Map map, bool checkMulti )
{
if ( Factions.Sigil.ExistsOn( Caster ) )
{
Caster.SendLocalizedMessage( 1061632 ); // You can't do that while carrying the sigil.
}
else if ( map == null || (!Core.AOS && Caster.Map != map) )
{
Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
}
else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
{
}
else if ( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.GateTo ) )
{
}
else if ( map == Map.Felucca && Caster is PlayerMobile && ((PlayerMobile)Caster).Young )
{
Caster.SendLocalizedMessage( 1049543 ); // You decide against traveling to Felucca while you are still young.
}
else if ( Caster.Kills >= 5 && map != Map.Felucca )
{
Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
}
else if ( Caster.Criminal )
{
Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
}
else if ( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
}
else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( Core.SE && ( GateExistsAt( map, loc ) || GateExistsAt( Caster.Map, Caster.Location ) ) ) // SE restricted stacking gates
{
Caster.SendLocalizedMessage( 1071242 ); // There is already a gate there.
}
else if ( CheckSequence() )
{
Caster.SendLocalizedMessage( 501024 ); // You open a magical gate to another location
Effects.PlaySound( Caster.Location, Caster.Map, 0x20E );
InternalItem firstGate = new InternalItem( loc, map );
firstGate.MoveToWorld( Caster.Location, Caster.Map );
Effects.PlaySound( loc, map, 0x20E );
InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
secondGate.MoveToWorld( loc, map );
}
FinishSequence();
}
示例4: WraithJailEffect
public WraithJailEffect(PlayerMobile prisoner, PlayerMobile jailor)
{
m_jailor = jailor;
m_prisoner = prisoner;
((Mobile)m_prisoner).CantWalk = true;
((Mobile)m_prisoner).Squelched = true;
Effects.PlaySound(jailor.Location, jailor.Map, 0x1DD);
Point3D loc = new Point3D(prisoner.X, prisoner.Y, prisoner.Z);
int mushx;
int mushy;
int mushz;
InternalItem firstFlamea = new InternalItem(prisoner.Location, prisoner.Map, jailor);
mushx = loc.X - 2;
mushy = loc.Y - 2;
mushz = loc.Z;
Point3D mushxyz = new Point3D(mushx, mushy, mushz);
firstFlamea.MoveToWorld(mushxyz, prisoner.Map);
InternalItem firstFlamec = new InternalItem(prisoner.Location, prisoner.Map, jailor);
mushx = loc.X;
mushy = loc.Y - 3;
mushz = loc.Z;
Point3D mushxyzb = new Point3D(mushx, mushy, mushz);
firstFlamec.MoveToWorld(mushxyzb, prisoner.Map);
InternalItem firstFlamed = new InternalItem(prisoner.Location, prisoner.Map, jailor);
firstFlamed.ItemID = 0x3709;
mushx = loc.X + 2;
mushy = loc.Y - 2;
mushz = loc.Z;
Point3D mushxyzc = new Point3D(mushx, mushy, mushz);
firstFlamed.MoveToWorld(mushxyzc, prisoner.Map);
InternalItem firstFlamee = new InternalItem(prisoner.Location, prisoner.Map, jailor);
mushx = loc.X + 3;
firstFlamee.ItemID = 0x3709;
mushy = loc.Y;
mushz = loc.Z;
Point3D mushxyzd = new Point3D(mushx, mushy, mushz);
firstFlamee.MoveToWorld(mushxyzd, prisoner.Map);
InternalItem firstFlamef = new InternalItem(prisoner.Location, prisoner.Map, jailor);
firstFlamef.ItemID = 0x3709;
mushx = loc.X + 2;
mushy = loc.Y + 2;
mushz = loc.Z;
Point3D mushxyze = new Point3D(mushx, mushy, mushz);
firstFlamef.MoveToWorld(mushxyze, prisoner.Map);
InternalItem firstFlameg = new InternalItem(prisoner.Location, prisoner.Map, jailor);
mushx = loc.X;
firstFlameg.ItemID = 0x3709;
mushy = loc.Y + 3;
mushz = loc.Z;
Point3D mushxyzf = new Point3D(mushx, mushy, mushz);
firstFlameg.MoveToWorld(mushxyzf, prisoner.Map);
InternalItem firstFlameh = new InternalItem(prisoner.Location, prisoner.Map, jailor);
mushx = loc.X - 2;
firstFlameh.ItemID = 0x3709;
mushy = loc.Y + 2;
mushz = loc.Z;
Point3D mushxyzg = new Point3D(mushx, mushy, mushz);
firstFlameh.MoveToWorld(mushxyzg, prisoner.Map);
InternalItem firstFlamei = new InternalItem(prisoner.Location, prisoner.Map, jailor);
mushx = loc.X - 3;
firstFlamei.ItemID = 0x3709;
mushy = loc.Y;
mushz = loc.Z;
Point3D mushxyzh = new Point3D(mushx, mushy, mushz);
firstFlamei.MoveToWorld(mushxyzh, prisoner.Map);
new JailWraith(this, prisoner.X + 15, prisoner.Y + 15, m_jailor);
}
示例5: Effect
public void Effect( Point3D loc, Map map, bool checkMulti )
{
if ( map == null || (!Core.AOS && Caster.Map != map) )
{
Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
}
else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
{
}
else if ( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.GateTo ) )
{
}
else if ( Caster.Kills >= 5 && map != Map.Felucca )
{
Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
}
else if ( Caster.Criminal )
{
Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
}
else if ( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
}
else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( CheckSequence() )
{
Caster.SendMessage( "You open a mystical portal in a mushroom circle" ); // You open a magical gate to another location
Effects.PlaySound( Caster.Location, Caster.Map, 0x1 );
int mushx;
int mushy;
int mushz;
InternalItem firstGatea = new InternalItem( loc, map );
mushx=Caster.X;
mushy=Caster.Y;
mushz=Caster.Z;
firstGatea.ItemID=0xD10;
Point3D mushxyz = new Point3D(mushx,mushy,mushz);
firstGatea.MoveToWorld( mushxyz, Caster.Map );
InternalItem firstGateb = new InternalItem( loc, map );
mushx=Caster.X;
mushy=Caster.Y;
firstGateb.ItemID=0x373A;
mushz=Caster.Z+1;
Point3D mushxyza = new Point3D(mushx,mushy,mushz);
firstGateb.MoveToWorld( mushxyza, Caster.Map );
InternalItem firstGatec = new InternalItem( loc, map );
mushx=Caster.X-1;
firstGatec.ItemID=0xD11;
mushy=Caster.Y+1;
mushz=Caster.Z;
Point3D mushxyzb = new Point3D(mushx,mushy,mushz);
firstGatec.MoveToWorld( mushxyzb, Caster.Map );
InternalItem firstGated = new InternalItem( loc, map);
firstGated.ItemID=0xD0C;
mushx=Caster.X;
mushy=Caster.Y+2;
mushz=Caster.Z;
Point3D mushxyzc = new Point3D(mushx,mushy,mushz);
firstGated.MoveToWorld( mushxyzc, Caster.Map );
InternalItem firstGatee = new InternalItem( loc, map );
mushx=Caster.X+1;
firstGatee.ItemID=0xD0D;
mushy=Caster.Y+1;
mushz=Caster.Z;
Point3D mushxyzd = new Point3D(mushx,mushy,mushz);
firstGatee.MoveToWorld( mushxyzd, Caster.Map );
InternalItem firstGatef = new InternalItem( loc, map );
firstGatef.ItemID=0xD0E;
mushx=Caster.X+2;
mushy=Caster.Y;
mushz=Caster.Z;
Point3D mushxyze = new Point3D(mushx,mushy,mushz);
firstGatef.MoveToWorld( mushxyze, Caster.Map );
InternalItem firstGateg = new InternalItem( loc, map );
mushx=Caster.X+1;
firstGateg.ItemID=0xD0F;
mushy=Caster.Y-1;
mushz=Caster.Z;
Point3D mushxyzf = new Point3D(mushx,mushy,mushz);
firstGateg.MoveToWorld( mushxyzf, Caster.Map );
Effects.PlaySound( loc, map, 0x1 );
InternalItem secondGatea = new InternalItem( Caster.Location, Caster.Map );
mushx=loc.X;
mushy=loc.Y;
//.........这里部分代码省略.........
示例6: Effect
public void Effect(Point3D loc, Map map, bool checkMulti)
{
var champregion = Region.Find(loc, map).GetRegion(typeof(ChampionSpawn)) as ChampionSpawnRegion;
if (Sigil.ExistsOn(Caster))
{
Caster.SendLocalizedMessage(1061632); // You can't do that while carrying the sigil.
}
else if (map == null || (!Caster.EraAOS && Caster.Map != map))
{
Caster.SendLocalizedMessage(1005570); // You can not gate to another facet.
}
else if (!SpellHelper.CheckTravel(Caster, TravelCheckType.GateFrom))
{ }
else if (!SpellHelper.CheckTravel(Caster, map, loc, TravelCheckType.GateTo))
{ }
//else if ( map == Map.Felucca && Caster is PlayerMobile && ((PlayerMobile)Caster).Young )
//{
// Caster.SendLocalizedMessage( 1049543 ); // You decide against traveling to Felucca while you are still young.
//}
//else if ( Caster.Kills >= Mobile.MurderCount && map != Map.Felucca )
//{
// Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
//}
else if (Caster.Criminal)
{
Caster.SendLocalizedMessage(1005561, "", 0x22); // Thou'rt a criminal and cannot escape so easily.
}
else if (SpellHelper.CheckCombat(Caster))
{
Caster.SendLocalizedMessage(1005564, "", 0x22); // Wouldst thou flee during the heat of battle??
}
else if (!map.CanSpawnMobile(loc.X, loc.Y, loc.Z))
{
Caster.SendLocalizedMessage(501942); // That location is blocked.
}
else if ((checkMulti && SpellHelper.CheckMulti(loc, map)))
{
Caster.SendLocalizedMessage(501942); // That location is blocked.
}
else if ((!Caster.Alive || (Caster is PlayerMobile && ((PlayerMobile)Caster).Young)) && champregion != null &&
!champregion.CanSpawn())
{
Caster.SendLocalizedMessage(501942); // That location is blocked.
}
else if ((Region.Find(loc, map).IsPartOf(typeof(GuardedRegion))) && Caster.InCombat(TimeSpan.FromSeconds(60.0)) && Caster.Kills >= 5 && Faction.Find(Caster) != null && Caster.AccessLevel == AccessLevel.Player)
{
Caster.SendMessage(54, "You cannot enter town as a murderer and having recently been in combat!");
}
else if ( /*Core.SE &&*/ (GateExistsAt(map, loc) || GateExistsAt(Caster.Map, Caster.Location)))
// SE restricted stacking gates
{
Caster.SendLocalizedMessage(1071242); // There is already a gate there.
}
else if (CheckSequence())
{
Caster.SendLocalizedMessage(501024); // You open a magical gate to another location
Effects.PlaySound(Caster.Location, Caster.Map, 0x20E);
var firstGate = new InternalItem(loc, map);
firstGate.MoveToWorld(Caster.Location, Caster.Map);
Effects.PlaySound(loc, map, 0x20E);
var secondGate = new InternalItem(Caster.Location, Caster.Map);
secondGate.MoveToWorld(loc, map);
firstGate.Link = secondGate;
secondGate.Link = firstGate;
}
FinishSequence();
}
示例7: Target
public void Target( IPoint3D p )
{
if ( !Caster.CanSee( p ) )
{
Caster.SendLocalizedMessage( 500237 ); // Target can not be seen.
}
else if ( SpellHelper.CheckTown( p, Caster ) && CheckSequence() )
{
if(this.Scroll!=null)
Scroll.Consume();
SpellHelper.Turn( Caster, p );
SpellHelper.GetSurfaceTop( ref p );
Effects.PlaySound( p, Caster.Map, 0x2 );
Point3D loc = new Point3D( p.X, p.Y, p.Z );
int grovex;
int grovey;
int grovez;
InternalItem groveStone = new InternalItem( Caster.Location, Caster.Map, Caster );
grovex=loc.X;
grovey=loc.Y;
grovez=loc.Z;
groveStone.ItemID=0x08E3;
groveStone.Name="sacred stone";
Point3D stonexyz = new Point3D(grovex,grovey,grovez);
groveStone.MoveToWorld( stonexyz, Caster.Map );
InternalItem grovea = new InternalItem( Caster.Location, Caster.Map, Caster );
grovex=loc.X-2;
grovey=loc.Y-2;
grovez=loc.Z;
grovea.ItemID=3290;
Point3D grovexyz = new Point3D(grovex,grovey,grovez);
grovea.MoveToWorld( grovexyz, Caster.Map );
InternalItem grovec = new InternalItem( Caster.Location, Caster.Map, Caster );
grovex=loc.X;
grovey=loc.Y-3;
grovez=loc.Z;
grovec.ItemID=3293;
Point3D grovexyzb = new Point3D(grovex,grovey,grovez);
grovec.MoveToWorld( grovexyzb, Caster.Map );
InternalItem groved = new InternalItem( Caster.Location, Caster.Map, Caster );
groved.ItemID=3290;
grovex=loc.X+2;
grovey=loc.Y-2;
grovez=loc.Z;
Point3D grovexyzc = new Point3D(grovex,grovey,grovez);
groved.MoveToWorld( grovexyzc, Caster.Map );
InternalItem grovee = new InternalItem( Caster.Location, Caster.Map, Caster );
grovex=loc.X+3;
grovee.ItemID=3290;
grovey=loc.Y;
grovez=loc.Z;
Point3D grovexyzd = new Point3D(grovex,grovey,grovez);
grovee.MoveToWorld( grovexyzd, Caster.Map );
InternalItem grovef = new InternalItem( Caster.Location, Caster.Map, Caster );
grovef.ItemID=3293;
grovex=loc.X+2;
grovey=loc.Y+2;
grovez=loc.Z;
Point3D grovexyze = new Point3D(grovex,grovey,grovez);
grovef.MoveToWorld( grovexyze, Caster.Map );
InternalItem groveg = new InternalItem( Caster.Location, Caster.Map, Caster );
grovex=loc.X;
groveg.ItemID=3290;
grovey=loc.Y+3;
grovez=loc.Z;
Point3D grovexyzf = new Point3D(grovex,grovey,grovez);
groveg.MoveToWorld( grovexyzf, Caster.Map );
InternalItem groveh = new InternalItem( Caster.Location, Caster.Map, Caster );
grovex=loc.X-2;
groveh.ItemID=3293;
grovey=loc.Y+2;
grovez=loc.Z;
Point3D grovexyzg = new Point3D(grovex,grovey,grovez);
groveh.MoveToWorld( grovexyzg, Caster.Map );
InternalItem grovei = new InternalItem( Caster.Location, Caster.Map, Caster );
grovex=loc.X-3;
grovei.ItemID=3293;
grovey=loc.Y;
grovez=loc.Z;
Point3D grovexyzh = new Point3D(grovex,grovey,grovez);
grovei.MoveToWorld( grovexyzh, Caster.Map );
InternalItem leavesa = new InternalItem( Caster.Location, Caster.Map, Caster );
grovex=loc.X-2;
grovey=loc.Y-2;
grovez=loc.Z;
leavesa.ItemID=3291;
Point3D leafxyz = new Point3D(grovex,grovey,grovez);
leavesa.MoveToWorld( leafxyz, Caster.Map );
InternalItem leavesc = new InternalItem( Caster.Location, Caster.Map, Caster );
grovex=loc.X;
grovey=loc.Y-3;
//.........这里部分代码省略.........
示例8: Effect
public void Effect(Point3D loc, Map map, bool checkMulti)
{
if (!SpellHelper.CheckTravel(Caster, TravelCheckType.GateFrom))
{
}
else if (!SpellHelper.CheckTravel(Caster, map, loc, TravelCheckType.GateTo))
{
}
else if ((checkMulti && SpellHelper.CheckMulti(loc, map)))
{
Caster.SendLocalizedMessage(501942); // That location is blocked.
}
else if (m_Book != null && m_Book.CurCharges <= 0 && m_Scroll != null)
{
Caster.SendLocalizedMessage(502412); // There are no charges left on that item.
}
else if (CheckSequence())
{
/*if (m_Entry != null && m_Book != null && m_Scroll == null)
--m_Entry.ChargesLeft;
else */
if (SphereSpellTarget is RecallRune)
{
RecallRune rune = (RecallRune)SphereSpellTarget;
if (rune.ChargesLeft > 0)
--rune.ChargesLeft;
else if (rune.ChargesLeft == 0)
{
FinishSequence();
return;
}
}
else if (SphereSpellTarget is Runebook)
{
RunebookEntry e = ((Runebook)SphereSpellTarget).Default;
/*if (e.ChargesLeft > 0)
--e.ChargesLeft;
else*/
if (e.ChargesLeft == 0)
{
FinishSequence();
return;
}
}
CustomRegion cR;
ISpell markSpell = new Sixth.MarkSpell(Caster, null);
if ((cR = Caster.Region as CustomRegion) != null && cR.Controller.IsRestrictedSpell(this))
Caster.SendAsciiMessage("You can't gate here.");
else if (Region.Find(loc, map) is HouseRegion || ((cR = Region.Find(loc, map) as CustomRegion) != null && (cR.Controller.IsRestrictedSpell(this) || cR.Controller.IsRestrictedSpell(markSpell))))
Caster.SendAsciiMessage("You can't gate to that spot.");
else
{
InternalItem firstGate = new InternalItem(loc, map);
InternalItem secondGate = new InternalItem(Caster.Location, Caster.Map);
firstGate.MoveToWorld(Caster.Location, Caster.Map);
Effects.PlaySound(Caster.Location, Caster.Map, Sound);
secondGate.MoveToWorld(loc, map);
Effects.PlaySound(loc, map, Sound);
}
}
FinishSequence();
}
示例9: Target
public void Target( IPoint3D p )
{
if ( !Caster.CanSee( p ) )
{
Caster.SendLocalizedMessage( 500237 ); // Target can not be seen.
}
else if ( /*SpellHelper.CheckTown( p, Caster ) &&*/ CheckSequence() )
{
SpellHelper.Turn( Caster, p );
SpellHelper.GetSurfaceTop( ref p );
Effects.PlaySound( p, Caster.Map, 0x222 );
Point3D loc = new Point3D( p.X, p.Y, p.Z );
int mushx;
int mushy;
int mushz;
InternalItem firstFlamea = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X-2;
mushy=loc.Y-2;
mushz=loc.Z;
Point3D mushxyz = new Point3D(mushx,mushy,mushz);
firstFlamea.MoveToWorld( mushxyz, Caster.Map );
InternalItem firstFlamec = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X;
mushy=loc.Y-3;
mushz=loc.Z;
Point3D mushxyzb = new Point3D(mushx,mushy,mushz);
firstFlamec.MoveToWorld( mushxyzb, Caster.Map );
InternalItem firstFlamed = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X+2;
mushy=loc.Y-2;
mushz=loc.Z;
Point3D mushxyzc = new Point3D(mushx,mushy,mushz);
firstFlamed.MoveToWorld( mushxyzc, Caster.Map );
InternalItem hiddenflame = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X+2;
mushy=loc.Y-1;
mushz=loc.Z;
Point3D mushxyzhid = new Point3D(mushx,mushy,mushz);
hiddenflame.MoveToWorld( mushxyzhid, Caster.Map );
InternalItem hiddenrock = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X+2;
mushy=loc.Y+1;
mushz=loc.Z;
Point3D rockaxyz = new Point3D(mushx,mushy,mushz);
hiddenrock.MoveToWorld( rockaxyz, Caster.Map );
InternalItem hiddenflamea = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X-2;
mushy=loc.Y-1;
mushz=loc.Z;
Point3D mushxyzhida = new Point3D(mushx,mushy,mushz);
hiddenflamea.MoveToWorld( mushxyzhida, Caster.Map );
InternalItem hiddenrocks = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X-2;
mushy=loc.Y+1;
mushz=loc.Z;
Point3D rocksaxyz = new Point3D(mushx,mushy,mushz);
hiddenrocks.MoveToWorld( rocksaxyz, Caster.Map );
InternalItem hiddenrocka = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X+1;
mushy=loc.Y+2;
mushz=loc.Z;
Point3D rockbxyz = new Point3D(mushx,mushy,mushz);
hiddenrocka.MoveToWorld( rockbxyz, Caster.Map );
InternalItem hiddenrockb = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X+1;
mushy=loc.Y-2;
mushz=loc.Z;
Point3D rockcxyz = new Point3D(mushx,mushy,mushz);
hiddenrockb.MoveToWorld( rockcxyz, Caster.Map );
InternalItem hiddenrockc = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X-1;
mushy=loc.Y-2;
mushz=loc.Z;
Point3D rockdxyz = new Point3D(mushx,mushy,mushz);
hiddenrockc.MoveToWorld( rockdxyz, Caster.Map );
InternalItem hiddenrockd = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X-1;
mushy=loc.Y+2;
mushz=loc.Z;
Point3D rockexyz = new Point3D(mushx,mushy,mushz);
hiddenrockd.MoveToWorld( rockexyz, Caster.Map );
InternalItem firstFlamee = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X+3;
mushy=loc.Y;
mushz=loc.Z;
Point3D mushxyzd = new Point3D(mushx,mushy,mushz);
firstFlamee.MoveToWorld( mushxyzd, Caster.Map );
InternalItem firstFlamef = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X+2;
mushy=loc.Y+2;
//.........这里部分代码省略.........
示例10: DoTeleport
public virtual void DoTeleport(Mobile m, Point3D loc, Map map)
{
if (Charges >= 1)
{
m.SendLocalizedMessage(501024); // You open a magical gate to another location
Effects.PlaySound(m.Location, m.Map, 0x20E);
var firstGate = new InternalItem(loc, map);
firstGate.MoveToWorld(m.Location, m.Map);
Effects.PlaySound(loc, map, 0x20E);
Charges--;
}
else
{
m.SendMessage(54, "The crystal portal needs more charges. Add charges to it by double clicking the crystal.");
}
}
示例11: Target
public void Target( IPoint3D p )
{
if ( !Caster.CanSee( p ) )
{
Caster.SendLocalizedMessage( 500237 ); // Target can not be seen.
}
else if ( SpellHelper.CheckTown( p, Caster ) && CheckSequence() )
{
if(this.Scroll!=null)
Scroll.Consume();
SpellHelper.Turn( Caster, p );
SpellHelper.GetSurfaceTop( ref p );
Effects.PlaySound( p, Caster.Map, 0x474 );
Point3D loc = new Point3D( p.X, p.Y, p.Z );
int mushx;
int mushy;
int mushz;
InternalItem firstFlamea = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X-2;
mushy=loc.Y-2;
mushz=loc.Z;
Point3D mushxyz = new Point3D(mushx,mushy,mushz);
firstFlamea.MoveToWorld( mushxyz, Caster.Map );
firstFlamea.ItemID = 3267;
InternalItem firstFlamec = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X;
mushy=loc.Y-3;
mushz=loc.Z;
Point3D mushxyzb = new Point3D(mushx,mushy,mushz);
firstFlamec.MoveToWorld( mushxyzb, Caster.Map );
firstFlamec.ItemID = 3267;
InternalItem firstFlamed = new InternalItem( Caster.Location, Caster.Map, Caster );
firstFlamed.ItemID = 3267;
mushx=loc.X+2;
mushy=loc.Y-2;
mushz=loc.Z;
Point3D mushxyzc = new Point3D(mushx,mushy,mushz);
firstFlamed.MoveToWorld( mushxyzc, Caster.Map );
InternalItem firstFlamee = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X+3;
firstFlamee.ItemID = 3267;
mushy=loc.Y;
mushz=loc.Z;
Point3D mushxyzd = new Point3D(mushx,mushy,mushz);
firstFlamee.MoveToWorld( mushxyzd, Caster.Map );
InternalItem firstFlamef = new InternalItem( Caster.Location, Caster.Map, Caster );
firstFlamef.ItemID = 3267;
mushx=loc.X+2;
mushy=loc.Y+2;
mushz=loc.Z;
Point3D mushxyze = new Point3D(mushx,mushy,mushz);
firstFlamef.MoveToWorld( mushxyze, Caster.Map );
InternalItem firstFlameg = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X;
firstFlameg.ItemID = 3267;
mushy=loc.Y+3;
mushz=loc.Z;
Point3D mushxyzf = new Point3D(mushx,mushy,mushz);
firstFlameg.MoveToWorld( mushxyzf, Caster.Map );
InternalItem firstFlameh = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X-2;
firstFlameh.ItemID = 3267;
mushy=loc.Y+2;
mushz=loc.Z;
Point3D mushxyzg = new Point3D(mushx,mushy,mushz);
firstFlameh.MoveToWorld( mushxyzg, Caster.Map );
InternalItem firstFlamei = new InternalItem( Caster.Location, Caster.Map, Caster );
mushx=loc.X-3;
firstFlamei.ItemID = 3267;
mushy=loc.Y;
mushz=loc.Z;
Point3D mushxyzh = new Point3D(mushx,mushy,mushz);
firstFlamei.MoveToWorld( mushxyzh, Caster.Map );
}
FinishSequence();
}
示例12: Effect
public void Effect( Point3D loc, Map map, bool checkMulti )
{
if ( Factions.Sigil.ExistsOn( Caster ) )
{
Caster.SendAsciiMessage( "You can't do that while carrying the sigil." );
}
else if ( map == null || (!Core.AOS && Caster.Map != map) )
{
Caster.SendAsciiMessage( "You can not gate to another facet." );
}
else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
{
}
else if ( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.GateTo ) )
{
}
else if ( map == Map.Felucca && Caster is PlayerMobile && ((PlayerMobile)Caster).Young )
{
Caster.SendAsciiMessage( "You decide against traveling to Felucca while you are still young." );
}
else if ( Caster.Kills >= 5 && map != Map.Felucca )
{
Caster.SendAsciiMessage( "You are not allowed to travel there." );
}
else if ( Caster.Criminal )
{
Caster.SendAsciiMessage( 0x22, "Thou'rt a criminal and cannot escape so easily." );
}
else if ( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendAsciiMessage( 0x22, "Wouldst thou flee during the heat of battle?" );
}
else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
{
Caster.SendAsciiMessage( "That location is blocked." );
}
else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
{
Caster.SendAsciiMessage( "That location is blocked." );
}
else if ( CheckSequence() )
{
Caster.SendAsciiMessage( "You open a magical gate to another location." );
Effects.PlaySound( Caster.Location, Caster.Map, 0x20E );
InternalItem firstGate = new InternalItem( loc, map );
firstGate.MoveToWorld( Caster.Location, Caster.Map );
Effects.PlaySound( loc, map, 0x20E );
InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
secondGate.MoveToWorld( loc, map );
}
FinishSequence();
}
示例13: Effect
public void Effect( Point3D loc, Map map, bool checkMulti )
{
if ( map == null || (!Core.AOS && Caster.Map != map) )
{
Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
}
else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
{
}
else if ( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.GateTo ) )
{
}
else if ( Caster.Kills >= 5 && map != Map.Felucca )
{
Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
}
else if ( Caster.Criminal )
{
Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
}
else if ( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
}
else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( CheckSequence() )
{
Caster.SendMessage( "The clouds open a magical gate to another place" ); // You open a magical gate to another location
Effects.PlaySound( Caster.Location, Caster.Map, 0x482 );
int gravx;
int gravy;
int gravz;
InternalItem firstGatea = new InternalItem( loc, map ); //Top Middle item
gravx=Caster.X-1;
gravy=Caster.Y-1;
gravz=Caster.Z;
firstGatea.ItemID=14138;
firstGatea.Hue = 1174;
Point3D gravxyz = new Point3D(gravx,gravy,gravz);
firstGatea.MoveToWorld( gravxyz, Caster.Map );
InternalItem firstGateb = new InternalItem( loc, map );
gravx=Caster.X;
gravy=Caster.Y;
firstGateb.ItemID=6899; //Moongate
firstGateb.Hue=1153;
gravz=Caster.Z;
Point3D gravxyza = new Point3D(gravx,gravy,gravz);
firstGateb.MoveToWorld( gravxyza, Caster.Map );
InternalItem firstGatec = new InternalItem( loc, map );
gravx=Caster.X-1;
firstGatec.ItemID=14138;
firstGatec.Hue = 1174;
gravy=Caster.Y+1;
gravz=Caster.Z;
Point3D gravxyzb = new Point3D(gravx,gravy,gravz);
firstGatec.MoveToWorld( gravxyzb, Caster.Map );
InternalItem firstGateg = new InternalItem( loc, map );
gravx=Caster.X+1;
firstGateg.ItemID=14138;
firstGateg.Hue = 1174;
gravy=Caster.Y-1;
gravz=Caster.Z;
Point3D gravxyzf = new Point3D(gravx,gravy,gravz);
firstGateg.MoveToWorld( gravxyzf, Caster.Map );
InternalItem firstGatee = new InternalItem( loc, map );
gravx=Caster.X+1;
firstGatee.ItemID=14170;
firstGatee.Hue = 1174;
gravy=Caster.Y+1;
gravz=Caster.Z;
Point3D gravxyzd = new Point3D(gravx,gravy,gravz);
firstGatee.MoveToWorld( gravxyzd, Caster.Map );
//Effects.PlaySound( loc, map, 0x482 );
Caster.PlaySound( 0x212 );
Caster.PlaySound( 0x206 );
InternalItem secondGatea = new InternalItem( Caster.Location, Caster.Map );
gravx=loc.X-1;
gravy=loc.Y-1;
gravz=loc.Z;
secondGatea.ItemID=14138;
secondGatea.Hue = 1151;
Point3D gravaxyz = new Point3D(gravx,gravy,gravz);
secondGatea.MoveToWorld( gravaxyz, map);
InternalItem secondGateb = new InternalItem( Caster.Location, Caster.Map );
gravx=loc.X;
gravy=loc.Y;
secondGateb.ItemID=6899; //Moongate
secondGateb.Hue = 1153;
gravz=loc.Z;
//.........这里部分代码省略.........
示例14: Effect
public void Effect( Point3D loc, Map map, bool checkMulti )
{
if( map == null || (!Core.AOS && Caster.Map != map) )
{
Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
}
else if( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
{
}
else if( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.GateTo ) )
{
}
else if( Caster.Kills >= 5 && map != Map.Felucca )
{
Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
}
else if( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
}
else if( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if( CheckSequence() )
{
Caster.PublicOverheadMessage( Server.Network.MessageType.Regular, Caster.EmoteHue, true, "*slashes through the air, cutting through the fabric of space and time itself*" );
Effects.PlaySound( Caster.Location, Caster.Map, 476 );
InternalItem firstGate = new InternalItem( loc, map );
firstGate.Hue = 1;
firstGate.MoveToWorld( Caster.Location, Caster.Map );
Effects.PlaySound( loc, map, 476 );
InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
secondGate.Hue = 1;
secondGate.MoveToWorld( loc, map );
}
FinishSequence();
}