Add pot of gold.

This commit is contained in:
SilicaAndPina 2021-02-12 12:13:37 +13:00
parent 2c77957434
commit a7ad6fc60c
6 changed files with 31 additions and 4 deletions

View file

@ -13,7 +13,8 @@
"random_movement":"You are sooo <B>%STAT%</B>. You wander dizzily in a different direction.", "random_movement":"You are sooo <B>%STAT%</B>. You wander dizzily in a different direction.",
"incorrect_password":"Incorrect. You will have to find the correct answer somewhere...", "incorrect_password":"Incorrect. You will have to find the correct answer somewhere...",
"treasure":{ "treasure":{
"pirate_treasure":"Wow! You found buried treasure worth $%PRIZE%! Gotta love those pirates!" "pirate_treasure":"Wow! You found buried treasure worth $%PRIZE%! Gotta love those pirates!",
"pot_of_gold":"YEA! You found the fabled pot of gold at the end of the rainbow! It was worth $%PRIZE%!"
}, },
"new_user":{ "new_user":{
"starting_message":"<B>Welcome Newest Rider of Horse Isle!</B><BR>Start by talking to Welcome Willy in the cabin. Click the TALK button by his name in the right hand window. He will know the location of a buried treasure on this island! Move to the spot he describes using the arrow keys. Then Click the WRENCH Icon at the lower right.", "starting_message":"<B>Welcome Newest Rider of Horse Isle!</B><BR>Start by talking to Welcome Willy in the cabin. Click the TALK button by his name in the right hand window. He will know the location of a buried treasure on this island! Move to the spot he describes using the arrow keys. Then Click the WRENCH Icon at the lower right.",
@ -567,7 +568,7 @@
{"id":"HorsePawn","value":"Sold Horse To Pawneer"}, {"id":"HorsePawn","value":"Sold Horse To Pawneer"},
{"id":"WaterbaloonGameWin","value":"Water Balloon Wins"}, {"id":"WaterbaloonGameWin","value":"Water Balloon Wins"},
{"id":"UnicornTeamup","value":"Unicorn Team-up"}, {"id":"UnicornTeamup","value":"Unicorn Team-up"},
{"id":"PotOfGold","value":"Pot Of Gold"}, {"id":"PotOfGold","value":"Pot Of Golds"},
{"id":"GameUpdates","value":"Game Updates / Resets"}, {"id":"GameUpdates","value":"Game Updates / Resets"},
{"id":"UnipegTeamup","value":"UniPeg Team-up"} {"id":"UnipegTeamup","value":"UniPeg Team-up"}
], ],

View file

@ -419,6 +419,7 @@ namespace HISP.Game
// Treasure // Treasure
public static string PirateTreasureFormat; public static string PirateTreasureFormat;
public static string PotOfGoldFormat;
// Groomer // Groomer
@ -778,6 +779,10 @@ namespace HISP.Game
{ {
return PirateTreasureFormat.Replace("%PRIZE%", prize.ToString("N0")); return PirateTreasureFormat.Replace("%PRIZE%", prize.ToString("N0"));
} }
public static string FormatPotOfGold(int prize)
{
return PotOfGoldFormat.Replace("%PRIZE%", prize.ToString("N0"));
}
public static string FormatWorkshopCraftEntry(int iconId, string itemName, int price, int itemId, int craftId) public static string FormatWorkshopCraftEntry(int iconId, string itemName, int price, int itemId, int craftId)
{ {
return WorkshopCraftEntryFormat.Replace("%ICONID%", iconId.ToString()).Replace("%ITEMNAME%", itemName).Replace("%PRICE%", price.ToString("N0")).Replace("%ITEMID%", itemId.ToString()).Replace("%CRAFTID%", craftId.ToString()); return WorkshopCraftEntryFormat.Replace("%ICONID%", iconId.ToString()).Replace("%ITEMNAME%", itemName).Replace("%PRICE%", price.ToString("N0")).Replace("%ITEMID%", itemId.ToString()).Replace("%CRAFTID%", craftId.ToString());

View file

@ -336,7 +336,9 @@ namespace HISP.Game
// check Treasures // check Treasures
if (Treasure.IsTileTreasure(x, y)) if (Treasure.IsTileTreasure(x, y))
{ {
Treasure.GetTreasureAt(x, y).CollectTreasure(user); Treasure treasure = Treasure.GetTreasureAt(x, y);
if(treasure.Type == "BURIED")
treasure.CollectTreasure(user);
return true; return true;
} }
} }

View file

@ -157,6 +157,9 @@ namespace HISP.Game
} }
else if(this.Type == "RAINBOW") else if(this.Type == "RAINBOW")
{ {
byte[] treasureReceivedPacket = PacketBuilder.CreateChat(Messages.FormatPotOfGold(this.Value), PacketBuilder.CHAT_BOTTOM_RIGHT);
user.LoggedinClient.SendPacket(treasureReceivedPacket);
user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PotOfGold).Count++; user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PotOfGold).Count++;
if (user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PotOfGold).Count >= 3) if (user.TrackedItems.GetTrackedItem(Tracking.TrackableItem.PotOfGold).Count >= 3)

View file

@ -729,6 +729,7 @@ namespace HISP.Server
// Treasure // Treasure
Messages.PirateTreasureFormat = gameData.messages.treasure.pirate_treasure; Messages.PirateTreasureFormat = gameData.messages.treasure.pirate_treasure;
Messages.PotOfGoldFormat = gameData.messages.treasure.pot_of_gold;
// Records // Records
Messages.ProfileSavedMessage = gameData.messages.profile_save; Messages.ProfileSavedMessage = gameData.messages.profile_save;

View file

@ -2809,13 +2809,28 @@ namespace HISP.Server
return; return;
} }
if(loggedInUser.Y != newY || loggedInUser.X != newX)
if (loggedInUser.Y != newY || loggedInUser.X != newX)
{ {
loggedInUser.Facing = direction + (onHorse * 5); loggedInUser.Facing = direction + (onHorse * 5);
if (moveTwo) if (moveTwo)
direction += 20; direction += 20;
loggedInUser.Y = newY; loggedInUser.Y = newY;
loggedInUser.X = newX; loggedInUser.X = newX;
// check Treasures
if (Treasure.IsTileTreasure(loggedInUser.X, loggedInUser.Y))
{
Treasure treasure = Treasure.GetTreasureAt(loggedInUser.X, loggedInUser.Y);
if (treasure.Type == "RAINBOW")
{
treasure.CollectTreasure(loggedInUser);
Update(sender);
return;
}
}
byte[] moveResponse = PacketBuilder.CreateMovementPacket(loggedInUser.X, loggedInUser.Y, loggedInUser.CharacterId, loggedInUser.Facing, direction, true); byte[] moveResponse = PacketBuilder.CreateMovementPacket(loggedInUser.X, loggedInUser.Y, loggedInUser.CharacterId, loggedInUser.Facing, direction, true);
sender.SendPacket(moveResponse); sender.SendPacket(moveResponse);
} }