Reorganizes Project (#41)

This commit is contained in:
Kamron Batman 2019-08-02 18:13:40 -07:00 • committed by GitHub
parent 08bf44af9a
commit 3614a66aee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3499 changed files with 79 additions and 55 deletions

View file

@ -0,0 +1,33 @@
using System;
namespace Server.Items
{
public class AgilityPotion : BaseAgilityPotion
{
[Constructible]
public AgilityPotion() : base(PotionEffect.Agility)
{
}
public AgilityPotion(Serial serial) : base(serial)
{
}
public override int DexOffset => 10;
public override TimeSpan Duration => TimeSpan.FromMinutes(2.0);
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,59 @@
using System;
using Server.Engines.ConPVP;
using Server.Spells;
namespace Server.Items
{
public abstract class BaseAgilityPotion : BasePotion
{
public BaseAgilityPotion(PotionEffect effect) : base(0xF08, effect)
{
}
public BaseAgilityPotion(Serial serial) : base(serial)
{
}
public abstract int DexOffset{ get; }
public abstract TimeSpan Duration{ get; }
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
public bool DoAgility(Mobile from)
{
// TODO: Verify scaled; is it offset, duration, or both?
if (SpellHelper.AddStatOffset(from, StatType.Dex, Scale(from, DexOffset), Duration))
{
from.FixedEffect(0x375A, 10, 15);
from.PlaySound(0x1E7);
return true;
}
from.SendLocalizedMessage(502173); // You are already under a similar effect.
return false;
}
public override void Drink(Mobile from)
{
if (DoAgility(from))
{
PlayDrinkEffect(from);
if (!DuelContext.IsFreeConsume(from))
Consume();
}
}
}
}

View file

@ -0,0 +1,33 @@
using System;
namespace Server.Items
{
public class GreaterAgilityPotion : BaseAgilityPotion
{
[Constructible]
public GreaterAgilityPotion() : base(PotionEffect.AgilityGreater)
{
}
public GreaterAgilityPotion(Serial serial) : base(serial)
{
}
public override int DexOffset => 20;
public override TimeSpan Duration => TimeSpan.FromMinutes(2.0);
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}