Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
86
Scripts/Items/Functional/Switches.cs
Normal file
86
Scripts/Items/Functional/Switches.cs
Normal file
@@ -0,0 +1,86 @@
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class UnderworldSwitchWE : BaseSwitch
|
||||
{
|
||||
[Constructable]
|
||||
public UnderworldSwitchWE()
|
||||
: base(0x1091, 0x1092, 1042901, 1042900, true)
|
||||
{
|
||||
//1042901 = You hear a deep rumbling as something seems to happen.
|
||||
//1042900 = There seems to be no further effect right now.
|
||||
//true = It do something, it is not useless or broken switch.
|
||||
}
|
||||
|
||||
public UnderworldSwitchWE(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void DoSomethingSpecial(Mobile from)
|
||||
{
|
||||
foreach (Item item in this.GetItemsInRange(8))
|
||||
{
|
||||
if (item.ItemID == 0x3660 && item.Hue == 1000) //Dark Globe of Sosaria
|
||||
{
|
||||
Timer m_timerA = new MoveTimer(item, 1);
|
||||
m_timerA.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
private class MoveTimer : Timer
|
||||
{
|
||||
private readonly Item item;
|
||||
private readonly int num;
|
||||
private int m_Stage;
|
||||
private int m_Cicle;
|
||||
public MoveTimer(Item sphere, int coord)
|
||||
: base(TimeSpan.FromSeconds(0.0), TimeSpan.FromSeconds(1.5))
|
||||
{
|
||||
this.item = sphere;
|
||||
this.num = coord;
|
||||
}
|
||||
|
||||
protected override void OnTick()
|
||||
{
|
||||
if (this.item.Deleted)
|
||||
{
|
||||
this.Stop();
|
||||
return;
|
||||
}
|
||||
|
||||
this.m_Stage++;
|
||||
|
||||
if (this.m_Cicle == 0)
|
||||
this.item.Z += 1;
|
||||
else if (this.m_Cicle == 1)
|
||||
this.item.Z += 0;
|
||||
else
|
||||
this.item.Z += -1;
|
||||
|
||||
if (this.m_Stage == 8)
|
||||
this.m_Cicle++;
|
||||
else if (this.m_Stage == 14)
|
||||
this.m_Cicle++;
|
||||
else if (this.m_Stage == 22)
|
||||
this.Stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user