fix: Localizes specialized books, codegens instruments (#1352)

This commit is contained in:
Kamron Batman 2023-02-25 10:56:05 -08:00 • committed by GitHub
parent ac7c3522f4
commit f2fdc0321c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 1527 additions and 1866 deletions

View file

@ -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();
}
}
}

View file

@ -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();
}
}
}

View file

@ -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;
}

View file

@ -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();
}
}
}

View file

@ -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();
}
}
}