protected override void OnTick()
				{
				i++;
				switch (effect)
					{
					case 1:
					{
					Item randomreg = null;
					switch (i)
						{
						case 4:
							{
							from.PlaySound(0x222);
							break;
							}
						case 8:
							{
							from.PlaySound(0x21F);
							break;
							}
						case 13:
							{
							from.PrivateOverheadMessage( MessageType.Regular, 0x3B2, true, "*The ground erupts with chaotic growth!*", from.NetState);
							from.PlaySound(0x12D);
							randomreg = RandomReg();
							randomreg.Amount = Utility.RandomMinMax(15,22);
							randomreg.MoveToWorld( p, from.Map);
							randomreg = RandomReg();
							randomreg.MoveToWorld( new Point3D( p.X-1, p.Y-1, p.Z) , from.Map );
							randomreg.Amount = Utility.RandomMinMax(14,20);
							break;
							}
						case 15:
							{
							from.PlaySound(0x12D);
							randomreg = RandomReg();
							randomreg.MoveToWorld( new Point3D( p.X, p.Y+1, p.Z) , from.Map );
							randomreg.Amount = Utility.RandomMinMax(13,18);
							randomreg = RandomReg();
							randomreg.MoveToWorld( new Point3D( p.X+1, p.Y-1, p.Z) , from.Map );
							randomreg.Amount = Utility.RandomMinMax(16,22);
							break;
							}
						case 17:
							{
							from.PlaySound(0x12D);
							randomreg = RandomReg();
							randomreg.MoveToWorld( new Point3D( p.X, p.Y-1, p.Z) , from.Map );
							randomreg.Amount = Utility.RandomMinMax(16,20);
							randomreg = RandomReg();
							randomreg.MoveToWorld( new Point3D( p.X+1, p.Y-1, p.Z) , from.Map );
							randomreg.Amount = Utility.RandomMinMax(14,18);
							break;
							}
						case 20:
							{
							from.PlaySound(0x12D);
							randomreg = RandomReg();
							randomreg.MoveToWorld( new Point3D( p.X+1, p.Y+1, p.Z) , from.Map );
							randomreg.Amount = Utility.RandomMinMax(16,20);
							randomreg = RandomReg();
							randomreg.MoveToWorld( new Point3D( p.X-1, p.Y, p.Z) , from.Map );
							randomreg.Amount = Utility.RandomMinMax(16,20);
							Stop();
							break;
							}
						}
					break;
					}
					case 2:
					{
					switch (i)
						{
						case 4:
							{
							from.PlaySound(0x222);
							break;
							}
						case 8:
							{
							from.PlaySound(0x21F);
							break;
							}
						case 9:
							{
							from.PlaySound(0x2B0);
							from.PrivateOverheadMessage( MessageType.Regular, 0x3B2, true, "*Strange green tendrils rise from the ground, whipping wildly!*", from.NetState);
							BaseCreature WV = new WhippingVine();
							WV.Map = from.Map;
							WV.Location = p;
							WV.Combatant = from;
							break;
							}
						}
					break;
					}
					case 3:
					{
					switch (i)
						{
						case 4:
							{
							from.PlaySound(0x222);
							break;
							}
						case 8:
							{
							from.PlaySound(0x21F);
							break;
							}
						case 13:
							{
							from.PrivateOverheadMessage( MessageType.Regular, 0x3B2, true, "*The sand collapses, revealing a dark hole.*", from.NetState);
							Item SH = new SolenHiveEntrance();
							SH.MoveToWorld( p, from.Map );
							break;
							}
						}
					break;
					}
					case 4://ToDO Ice Worm
					{
					switch (i)
						{
						case 4:
							{
							from.PlaySound(0x222);
							break;
							}
						case 8:
							{
							from.PlaySound(0x21F);
							break;
							}
						case 12:
							{
							from.PrivateOverheadMessage( MessageType.Regular, 0x3B2, true, "*Slithering ice serpaents rise to the surface to investigate the disturbance!*", from.NetState);
							BaseCreature IW = new GiantIceWorm();
							IW.Map = from.Map;
							IW.Location = p;
							IW.Combatant = from;
							for (int j=0; j < 3; j++)
								{
								BaseCreature IS = new IceSnake();
								IS.Map = from.Map;
								IS.Location = p;
								IS.Combatant = from;
								}
							break;
							}
						}
					break;
					}
					case 5:
					{
					switch (i)
						{
						case 4:
							{
							Item hole = new Item(0X913);
							hole.MoveToWorld( p, from.Map );
							hole.Movable = false;
							temp = hole;
							from.PlaySound(0x222);
							break;
							}
						case 8:
							{
							from.PlaySound(0x21F);
							break;
							}
						case 12:
							{
							from.PrivateOverheadMessage( MessageType.Regular, 0x3B2, true, "*A magical bunny leaps out of its hole, disturbed by the thorn's effect!*", from.NetState);
							BaseCreature VB = new VorpalBunny();
							VB.Map = from.Map;
							VB.Location = p;
							VB.Combatant = from;
							((Item)temp).Delete();
							break;
							}
						}
					break;
					}
					}
				}
Ejemplo n.º 2
0
		protected override TimeSpan Play( int step )
		{
			switch ( step )
			{
				case 0:
				{
					Effects.PlaySound( Location, Map, 0x106 );
					Effects.SendLocationParticles( EffectItem.Create( Location, Map, EffectItem.DefaultDuration ), 0x3735, 1, 182, 0xBE3 );

					return TimeSpan.FromSeconds( 4.0 );
				}
				case 1:
				{
					Effects.PlaySound( Location, Map, 0x222 );

					return TimeSpan.FromSeconds( 4.0 );
				}
				case 2:
				{
					Effects.PlaySound( Location, Map, 0x21F );

					return TimeSpan.FromSeconds( 4.0 );
				}
				default:
				{
					EffectItem dummy = EffectItem.Create( Location, Map, TimeSpan.FromSeconds( 20.0 ) );
					dummy.PublicOverheadMessage( MessageType.Regular, 0x3B2, true, "* Slithering ice serpents rise to the surface to investigate the disturbance! *" );

					BaseCreature spawn = new GiantIceWorm();
					if ( !SpawnCreature( spawn ) )
						spawn.Delete();

					for ( int i = 0; i < 3; i++ )
					{
						BaseCreature snake = new IceSnake();
						if ( !SpawnCreature( snake ) )
							snake.Delete();
					}

					return TimeSpan.Zero;
				}
			}
		}