Add pirate treasures, and pot of gold (Though, text is missing for Pot of Gold- i have to find one in public server first.)

This commit is contained in:
SilicaAndPina 2021-02-07 23:04:09 +13:00
parent e326dd2bf7
commit cfdea72b6c
9 changed files with 346 additions and 2 deletions

View file

@ -412,6 +412,62 @@ namespace HISP.Server
}
public static void SetTreasureValue(int randomId, int value)
{
using (MySqlConnection db = new MySqlConnection(ConnectionString))
{
db.Open();
MySqlCommand sqlCommand = db.CreateCommand();
sqlCommand.CommandText = "UPDATE Treasure SET value=@value";
sqlCommand.Parameters.AddWithValue("@value", value);
sqlCommand.Prepare();
sqlCommand.ExecuteNonQuery();
sqlCommand.Dispose();
}
}
public static void AddTreasure(int randomId, int x, int y, int value, string type)
{
using (MySqlConnection db = new MySqlConnection(ConnectionString))
{
db.Open();
MySqlCommand sqlCommand = db.CreateCommand();
sqlCommand.CommandText = "INSERT INTO Treasure VALUES(@randomId, @x, @y, @value, @type)";
sqlCommand.Parameters.AddWithValue("@randomId", randomId);
sqlCommand.Parameters.AddWithValue("@x", x);
sqlCommand.Parameters.AddWithValue("@y", y);
sqlCommand.Parameters.AddWithValue("@value", value);
sqlCommand.Parameters.AddWithValue("@type", type);
sqlCommand.Prepare();
sqlCommand.ExecuteNonQuery();
sqlCommand.Dispose();
}
}
public static Treasure[] GetTreasures()
{
List<Treasure> treasures = new List<Treasure>();
using (MySqlConnection db = new MySqlConnection(ConnectionString))
{
db.Open();
MySqlCommand sqlCommand = db.CreateCommand();
sqlCommand.CommandText = "SELECT * FROM Treasure";
MySqlDataReader reader = sqlCommand.ExecuteReader();
while(reader.Read())
{
int randomId = reader.GetInt32(0);
int x = reader.GetInt32(1);
int y = reader.GetInt32(2);
int value = reader.GetInt32(3);
string type = reader.GetString(4);
Treasure treasure = new Treasure(x, y, type, randomId, value);
treasures.Add(treasure);
}
sqlCommand.Dispose();
return treasures.ToArray();
}
}
public static void AddTrackedItem(int playerId, Tracking.TrackableItem what, int count)
{

View file

@ -592,6 +592,9 @@ namespace HISP.Server
Map.NewUserStartX = gameData.messages.new_user.starting_x;
Map.NewUserStartY = gameData.messages.new_user.starting_y;
// Treasure
Messages.PirateTreasureFormat = gameData.messages.treasure.pirate_treasure;
// Records
Messages.ProfileSavedMessage = gameData.messages.profile_save;
Messages.PrivateNotesSavedMessage = gameData.messages.private_notes_save;

View file

@ -84,8 +84,7 @@ namespace HISP.Server
}
}
Treasure.AddValue();
Database.IncPlayerTirednessForOfflineUsers();
DroppedItems.Update();
WildHorse.Update();
@ -951,6 +950,12 @@ namespace HISP.Server
}
sender.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.HorseCapture).Count++;
if(sender.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.HorseCapture).Count >= 100)
sender.LoggedinUser.Awards.AddAward(Award.GetAwardById(24)); // Wrangler
if (sender.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.HorseCapture).Count >= 1000)
sender.LoggedinUser.Awards.AddAward(Award.GetAwardById(25)); // Pro Wrangler
Logger.InfoPrint(sender.LoggedinUser.Username + " Captured a: " + capturing.Instance.Breed.Name + " new location: " + capturing.X + ", " + capturing.Y);
sender.LoggedinUser.MetaPriority = true;
@ -2819,6 +2824,12 @@ namespace HISP.Server
sender.LoggedinUser.Teleport(transportLocation.GotoX, transportLocation.GotoY);
sender.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.Transport).Count++;
if (sender.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.Transport).Count >= 500)
sender.LoggedinUser.Awards.AddAward(Award.GetAwardById(27)); // Traveller
if (sender.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.Transport).Count >= 5000)
sender.LoggedinUser.Awards.AddAward(Award.GetAwardById(28)); // Globetrotter
byte[] welcomeToIslePacket = PacketBuilder.CreateChat(Messages.FormatWelcomeToAreaMessage(transportLocation.LocationTitle), PacketBuilder.CHAT_BOTTOM_RIGHT);
sender.SendPacket(welcomeToIslePacket);
@ -3469,6 +3480,11 @@ namespace HISP.Server
sender.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.Crafting).Count++;
if (sender.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.Crafting).Count >= 100)
sender.LoggedinUser.Awards.AddAward(Award.GetAwardById(22)); // Craftiness
if (sender.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.Crafting).Count >= 1000)
sender.LoggedinUser.Awards.AddAward(Award.GetAwardById(23)); // Workmanship
byte[] itemCraftSuccess = PacketBuilder.CreateChat(Messages.WorkshopCraftingSuccess, PacketBuilder.CHAT_BOTTOM_RIGHT);
sender.SendPacket(itemCraftSuccess);
break;