fix: Localizes specialized books, codegens instruments (#1352)
This commit is contained in:
parent
ac7c3522f4
commit
f2fdc0321c
39 changed files with 1527 additions and 1866 deletions
|
|
@ -1,54 +1,36 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Items
|
||||
namespace Server.Items;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class GlassblowingBook : Item
|
||||
{
|
||||
public class GlassblowingBook : Item
|
||||
[Constructible]
|
||||
public GlassblowingBook() : base(0xFF4) => Weight = 1.0;
|
||||
|
||||
public override int LabelNumber => 1153528; // Crafting glass with Glassblowing
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
[Constructible]
|
||||
public GlassblowingBook() : base(0xFF4) => Weight = 1.0;
|
||||
|
||||
public GlassblowingBook(Serial serial) : base(serial)
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
|
||||
public override string DefaultName => "Crafting Glass With Glassblowing";
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
else if (from is not PlayerMobile pm || from.Skills.Alchemy.Base < 100.0)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
from.SendLocalizedMessage(1080042); // Only a Grandmaster Alchemist can learn from this book.
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
else if (pm.Glassblowing)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
from.SendLocalizedMessage(1080066); // You have already learned this information.
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
else
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else if (from is not PlayerMobile pm || from.Skills.Alchemy.Base < 100.0)
|
||||
{
|
||||
from.SendMessage("Only a Grandmaster Alchemist can learn from this book.");
|
||||
}
|
||||
else if (pm.Glassblowing)
|
||||
{
|
||||
from.SendMessage("You have already learned this information.");
|
||||
}
|
||||
else
|
||||
{
|
||||
pm.Glassblowing = true;
|
||||
from.SendMessage(
|
||||
"You have learned to make items from glass. You will need to find miners to mine find sand for you to make these items."
|
||||
);
|
||||
Delete();
|
||||
}
|
||||
pm.Glassblowing = true;
|
||||
// You have learned to make items from glass. You will need to find miners to mine fine sand for you to make these items.
|
||||
from.SendLocalizedMessage(1111702);
|
||||
Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,54 +1,36 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Items
|
||||
namespace Server.Items;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class MasonryBook : Item
|
||||
{
|
||||
public class MasonryBook : Item
|
||||
[Constructible]
|
||||
public MasonryBook() : base(0xFBE) => Weight = 1.0;
|
||||
|
||||
public override int LabelNumber => 1153527; // Making valuables with Stonecrafting
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
[Constructible]
|
||||
public MasonryBook() : base(0xFBE) => Weight = 1.0;
|
||||
|
||||
public MasonryBook(Serial serial) : base(serial)
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
|
||||
public override string DefaultName => "Making Valuables With Stonecrafting";
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
else if (from is not PlayerMobile pm || from.Skills.Carpentry.Base < 100.0)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
from.SendLocalizedMessage(1080043); // Only a Grandmaster Carpenter can learn from this book.
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
else if (pm.Masonry)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
from.SendLocalizedMessage(1080066); // You have already learned this information.
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
else
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else if (from is not PlayerMobile pm || from.Skills.Carpentry.Base < 100.0)
|
||||
{
|
||||
from.SendMessage("Only a Grandmaster Carpenter can learn from this book.");
|
||||
}
|
||||
else if (pm.Masonry)
|
||||
{
|
||||
from.SendMessage("You have already learned this information.");
|
||||
}
|
||||
else
|
||||
{
|
||||
pm.Masonry = true;
|
||||
from.SendMessage(
|
||||
"You have learned to make items from stone. You will need miners to gather stones for you to make these items."
|
||||
);
|
||||
Delete();
|
||||
}
|
||||
pm.Masonry = true;
|
||||
// You have learned to make items from stone. You will need miners to gather stones for you to make these items.
|
||||
from.SendLocalizedMessage(1080044);
|
||||
Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,40 +1,19 @@
|
|||
namespace Server.Items
|
||||
using ModernUO.Serialization;
|
||||
|
||||
namespace Server.Items;
|
||||
|
||||
[Flippable(0x11EA, 0x11EB)]
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class Sand : Item, ICommodity
|
||||
{
|
||||
[Flippable(0x11EA, 0x11EB)]
|
||||
public class Sand : Item, ICommodity
|
||||
[Constructible]
|
||||
public Sand(int amount = 1) : base(0x11EA)
|
||||
{
|
||||
[Constructible]
|
||||
public Sand(int amount = 1) : base(0x11EA)
|
||||
{
|
||||
Stackable = Core.ML;
|
||||
Weight = 1.0;
|
||||
}
|
||||
|
||||
public Sand(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1044626; // sand
|
||||
int ICommodity.DescriptionNumber => LabelNumber;
|
||||
bool ICommodity.IsDeedable => true;
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(1); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Name == "sand")
|
||||
{
|
||||
Name = null;
|
||||
}
|
||||
}
|
||||
Stackable = Core.ML;
|
||||
Weight = 1.0;
|
||||
}
|
||||
|
||||
public override int LabelNumber => 1044626; // sand
|
||||
int ICommodity.DescriptionNumber => LabelNumber;
|
||||
bool ICommodity.IsDeedable => true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,54 +1,36 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Items
|
||||
namespace Server.Items;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class SandMiningBook : Item
|
||||
{
|
||||
public class SandMiningBook : Item
|
||||
[Constructible]
|
||||
public SandMiningBook() : base(0xFF4) => Weight = 1.0;
|
||||
public override int LabelNumber => 1153531; // Find Glass-Quality Sand
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
[Constructible]
|
||||
public SandMiningBook() : base(0xFF4) => Weight = 1.0;
|
||||
|
||||
public SandMiningBook(Serial serial) : base(serial)
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
|
||||
public override string DefaultName => "Find Glass-Quality Sand";
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
else if (from is not PlayerMobile pm || from.Skills.Mining.Base < 100.0)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
// Only a Grandmaster Miner can learn from this book.
|
||||
from.SendLocalizedMessage(1080041);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
else if (pm.SandMining)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
from.SendLocalizedMessage(1080066); // You have already learned this information.
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
else
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else if (from is not PlayerMobile pm || from.Skills.Mining.Base < 100.0)
|
||||
{
|
||||
from.SendMessage("Only a Grandmaster Miner can learn from this book.");
|
||||
}
|
||||
else if (pm.SandMining)
|
||||
{
|
||||
from.SendMessage("You have already learned this information.");
|
||||
}
|
||||
else
|
||||
{
|
||||
pm.SandMining = true;
|
||||
from.SendMessage(
|
||||
"You have learned how to mine fine sand. Target sand areas when mining to look for fine sand."
|
||||
);
|
||||
Delete();
|
||||
}
|
||||
pm.SandMining = true;
|
||||
// You have learned to make items from glass. You will need to find miners to mine fine sand for you to make these items.
|
||||
from.SendLocalizedMessage(1080065);
|
||||
Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,54 +1,38 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Items
|
||||
namespace Server.Items;
|
||||
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class StoneMiningBook : Item
|
||||
{
|
||||
public class StoneMiningBook : Item
|
||||
[Constructible]
|
||||
public StoneMiningBook() : base(0xFBE) => Weight = 1.0;
|
||||
|
||||
public override int LabelNumber => 1153530; // Mining For Quality Stone
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
[Constructible]
|
||||
public StoneMiningBook() : base(0xFBE) => Weight = 1.0;
|
||||
var pm = from as PlayerMobile;
|
||||
|
||||
public StoneMiningBook(Serial serial) : base(serial)
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
|
||||
public override string DefaultName => "Mining For Quality Stone";
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
else if (pm == null || from.Skills.Mining.Base < 100.0)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
from.SendLocalizedMessage(1080041); // Only a Grandmaster Miner can learn from this book.
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
else if (pm.StoneMining)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
from.SendLocalizedMessage(1080066); // You have already learned this information.
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
else
|
||||
{
|
||||
var pm = from as PlayerMobile;
|
||||
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else if (pm == null || from.Skills.Mining.Base < 100.0)
|
||||
{
|
||||
from.SendMessage("Only a Grandmaster Miner can learn from this book.");
|
||||
}
|
||||
else if (pm.StoneMining)
|
||||
{
|
||||
pm.SendMessage("You have already learned this knowledge.");
|
||||
}
|
||||
else
|
||||
{
|
||||
pm.StoneMining = true;
|
||||
pm.SendMessage("You have learned to mine for stones. Target mountains when mining to find stones.");
|
||||
Delete();
|
||||
}
|
||||
pm.StoneMining = true;
|
||||
// You have learned to mine for stones. Target mountains when mining to find stones.
|
||||
pm.SendLocalizedMessage(1080045);
|
||||
Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue