2007 valentines gifts package. See comments in RedVelvetGiftBox.cs.
This commit is contained in:
parent
fa5b25ffa7
commit
bfa04544c6
3 changed files with 284 additions and 0 deletions
65
Scripts/Items/Special/Valentines/2007/RedVelvetGiftBox.cs
Normal file
65
Scripts/Items/Special/Valentines/2007/RedVelvetGiftBox.cs
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using Server;
|
||||
|
||||
/*
|
||||
* Simply add this box with param true to create the entire valentine's 2007 package.
|
||||
* Adding it with no params or false will create an empty box.
|
||||
*/
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RedVelvetGiftBox : BaseContainer
|
||||
{
|
||||
public override int DefaultGumpID { get { return 0x3f; } }
|
||||
public override int LabelNumber { get { return 1077596; } } // A Red Velvet Box
|
||||
|
||||
[Constructable]
|
||||
public RedVelvetGiftBox()
|
||||
: this( false )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public RedVelvetGiftBox( bool fill )
|
||||
: base( 0xE7A )
|
||||
{
|
||||
Hue = 0x20;
|
||||
|
||||
if (fill)
|
||||
{
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
AddToBox(new ValentinesCardSouth(), new Point3D(60 + (i * 10), 47, 0));
|
||||
AddToBox(new ValentinesCardEast(), new Point3D(20 + (i * 10), 72, 0));
|
||||
}
|
||||
AddToBox(new Bacon(), new Point3D(90, 85, 0));
|
||||
AddToBox(new RoseInAVase(), new Point3D(130, 55, 0));
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void AddToBox(Item item, Point3D loc)
|
||||
{
|
||||
DropItem(item);
|
||||
item.Location = loc;
|
||||
}
|
||||
|
||||
public RedVelvetGiftBox( Serial serial )
|
||||
: base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
37
Scripts/Items/Special/Valentines/2007/RoseInAVase.cs
Normal file
37
Scripts/Items/Special/Valentines/2007/RoseInAVase.cs
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RoseInAVase : Item /* TODO: when dye tub changes are implemented, furny dyable this */
|
||||
{
|
||||
public override int LabelNumber { get { return 1023760; } } // A Rose in a Vase 1023760
|
||||
|
||||
[Constructable]
|
||||
public RoseInAVase( )
|
||||
: base( 0x0EB0 )
|
||||
{
|
||||
Hue = 0x20;
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public RoseInAVase( Serial serial )
|
||||
: base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
182
Scripts/Items/Special/Valentines/2007/ValentinesCard.cs
Normal file
182
Scripts/Items/Special/Valentines/2007/ValentinesCard.cs
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class ValentinesCard : Item
|
||||
{
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public virtual string From { get { return m_From; } set { m_From = value; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public virtual string To { get { return m_To; } set { m_To = value; } }
|
||||
|
||||
private static string Unsigned = "___";
|
||||
|
||||
private int m_LabelNumber;
|
||||
private string m_From;
|
||||
private string m_To;
|
||||
|
||||
[Constructable]
|
||||
public ValentinesCard( int itemid )
|
||||
: base(itemid)
|
||||
{
|
||||
Hue = Utility.RandomDouble() < .001 ? 0x47E : 0xE8;
|
||||
m_LabelNumber = Utility.Random(1077589, 5);
|
||||
}
|
||||
|
||||
/*
|
||||
* Five possible messages to be signed:
|
||||
*
|
||||
* To my one true love, ~1_target_player~. Signed: ~2_player~ 1077589
|
||||
* You’ve pwnd my heart, ~1_target_player~. Signed: ~2_player~ 1077590
|
||||
* Happy Valentine’s Day, ~1_target_player~. Signed: ~2_player~ 1077591
|
||||
* Blackrock has driven me crazy... for ~1_target_player~! Signed: ~2_player~ 1077592
|
||||
* You light my Candle of Love, ~1_target_player~! Signed: ~2_player~ 1077593
|
||||
*
|
||||
*/
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
{
|
||||
list.Add(m_LabelNumber, String.Format("{0}\t{1}", (m_To != null) ? m_To : Unsigned, (m_From != null) ? m_From : Unsigned));
|
||||
list.Add("Blessed");
|
||||
AddWeightProperty(list);
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (m_To == null)
|
||||
{
|
||||
if (this.IsChildOf(from))
|
||||
{
|
||||
from.BeginTarget(10, false, TargetFlags.None, new TargetCallback(OnTarget));
|
||||
|
||||
from.SendLocalizedMessage(1077497); //To whom do you wish to give this card?
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1080063); // This must be in your backpack to use it.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void OnTarget(Mobile from, object targeted)
|
||||
{
|
||||
if (!Deleted)
|
||||
{
|
||||
if (targeted != null && targeted is Mobile)
|
||||
{
|
||||
Mobile to = targeted as Mobile;
|
||||
|
||||
if (to is PlayerMobile)
|
||||
{
|
||||
if (to != from)
|
||||
{
|
||||
m_From = from.Name;
|
||||
m_To = to.Name;
|
||||
from.SendLocalizedMessage(1077498); //You fill out the card. Hopefully the other person actually likes you...
|
||||
InvalidateProperties();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1077495); //You can't give yourself a card, silly!
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1077496); //You can't possibly be THAT lonely!
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1077488); //That's not another player!
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ValentinesCard(Serial serial)
|
||||
: base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int)0 ); // version
|
||||
writer.Write((int)m_LabelNumber);
|
||||
writer.Write((string)m_From);
|
||||
writer.Write((string)m_To);
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
m_LabelNumber = reader.ReadInt();
|
||||
m_From = reader.ReadString();
|
||||
m_To = reader.ReadString();
|
||||
|
||||
Utility.Intern(ref m_From);
|
||||
Utility.Intern(ref m_To);
|
||||
}
|
||||
}
|
||||
|
||||
public class ValentinesCardSouth : ValentinesCard
|
||||
{
|
||||
[Constructable]
|
||||
public ValentinesCardSouth()
|
||||
: base(0x0EBD)
|
||||
{
|
||||
}
|
||||
|
||||
public ValentinesCardSouth(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
public class ValentinesCardEast : ValentinesCard
|
||||
{
|
||||
[Constructable]
|
||||
public ValentinesCardEast()
|
||||
: base(0x0EBE)
|
||||
{
|
||||
}
|
||||
|
||||
public ValentinesCardEast(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue