Add profiles

This commit is contained in:
SilicaAndPina 2021-03-04 00:34:30 +13:00
parent 4758fd0200
commit 524c7f2214
7 changed files with 295 additions and 63 deletions
Horse Isle Server/HorseIsleServer/Server

View file

@ -1152,6 +1152,15 @@ namespace HISP.Server
Messages.LoginMessageFormat = gameData.messages.login_format;
Messages.LogoutMessageFormat = gameData.messages.logout_format;
// Pronoun
Messages.PronounFemaleShe = gameData.messages.meta.stats_page.pronouns.female_she;
Messages.PronounFemaleHer = gameData.messages.meta.stats_page.pronouns.female_her;
Messages.PronounMaleHe = gameData.messages.meta.stats_page.pronouns.male_he;
Messages.PronounMaleHis = gameData.messages.meta.stats_page.pronouns.male_his;
Messages.PronounYouYour = gameData.messages.meta.stats_page.pronouns.you_your;
// Stats
Messages.StatsBarFormat = gameData.messages.meta.stats_page.stats_bar_format;
Messages.StatsAreaFormat = gameData.messages.meta.stats_page.stats_area_format;
@ -1172,11 +1181,21 @@ namespace HISP.Server
Messages.JewelrySlot3Format = gameData.messages.meta.stats_page.jewelry.slot_3;
Messages.JewelrySlot4Format = gameData.messages.meta.stats_page.jewelry.slot_4;
Messages.JewelryRemoveSlot1Button = gameData.messages.meta.stats_page.competition_gear.remove_slot_1;
Messages.JewelryRemoveSlot2Button = gameData.messages.meta.stats_page.competition_gear.remove_slot_2;
Messages.JewelryRemoveSlot3Button = gameData.messages.meta.stats_page.competition_gear.remove_slot_3;
Messages.JewelryRemoveSlot4Button = gameData.messages.meta.stats_page.competition_gear.remove_slot_4;
Messages.CompetitionGearHeadFormat = gameData.messages.meta.stats_page.competition_gear.head_format;
Messages.CompetitionGearBodyFormat = gameData.messages.meta.stats_page.competition_gear.body_format;
Messages.CompetitionGearLegsFormat = gameData.messages.meta.stats_page.competition_gear.legs_format;
Messages.CompetitionGearFeetFormat = gameData.messages.meta.stats_page.competition_gear.feet_format;
Messages.CompetitionGearRemoveHeadButton = gameData.messages.meta.stats_page.competition_gear.remove_head;
Messages.CompetitionGearRemoveBodyButton = gameData.messages.meta.stats_page.competition_gear.remove_body;
Messages.CompetitionGearRemoveLegsButton = gameData.messages.meta.stats_page.competition_gear.remove_legs;
Messages.CompetitionGearRemoveFeetButton = gameData.messages.meta.stats_page.competition_gear.remove_feet;
Messages.StatsPrivateNotesButton = gameData.messages.meta.stats_page.stats_private_notes;
Messages.StatsQuestsButton = gameData.messages.meta.stats_page.stats_quests;
Messages.StatsMinigameRankingButton = gameData.messages.meta.stats_page.stats_minigame_ranking;
@ -1184,14 +1203,23 @@ namespace HISP.Server
Messages.StatsMiscButton = gameData.messages.meta.stats_page.stats_misc;
Messages.JewelrySelected = gameData.messages.meta.stats_page.msg.jewelry_selected;
Messages.JewelrySelectedOther = gameData.messages.meta.stats_page.msg.jewelry_other;
Messages.NoJewerlyEquipped = gameData.messages.meta.stats_page.msg.no_jewelry_equipped;
Messages.NoJewerlyEquippedOther = gameData.messages.meta.stats_page.msg.no_jewelry_other;
Messages.NoCompetitionGear = gameData.messages.meta.stats_page.msg.no_competition_gear;
Messages.NoCompetitionGearOther = gameData.messages.meta.stats_page.msg.no_competition_gear_other;
Messages.CompetitionGearSelected = gameData.messages.meta.stats_page.msg.competition_gear_selected;
Messages.CompetitionGearSelectedOther = gameData.messages.meta.stats_page.msg.competition_gear_other_selected;
Messages.StatHunger = gameData.messages.meta.stats_page.hunger_stat_name;
Messages.StatThirst = gameData.messages.meta.stats_page.thirst_stat_name;
Messages.StatTired = gameData.messages.meta.stats_page.tired_stat_name;
Messages.StatsOtherHorses = gameData.messages.meta.stats_page.msg.other_horses;
Messages.StatPlayerFormats = gameData.messages.meta.stats_page.player_stats.ToObject<string[]>();
// Misc Stats

View file

@ -235,13 +235,36 @@ namespace HISP.Server
if (sender.LoggedinUser.TradingWith != null)
sender.LoggedinUser.TradingWith.AcceptTrade();
break;
case PacketBuilder.PLAYER_INTERACTION_PROFILE:
string packetStr = Encoding.UTF8.GetString(packet);
string playerIdStr = packetStr.Substring(2, packetStr.Length - 4);
int playerId = -1;
try
{
playerId = int.Parse(playerIdStr);
}
catch (FormatException)
{
Logger.ErrorPrint(sender.LoggedinUser.Username + " tried to trade with User ID NaN.");
break;
}
if(IsUserOnline(playerId))
{
User user = GetUserById(playerId);
sender.LoggedinUser.MetaPriority = true;
byte[] metaTag = PacketBuilder.CreateMetaPacket(Meta.BuildStatsMenu(user, true));
sender.SendPacket(metaTag);
}
break;
case PacketBuilder.PLAYER_INTERACTION_ADD_ITEM:
if (sender.LoggedinUser.TradingWith == null)
break;
if (packet.Length < 5)
break;
string packetStr = Encoding.UTF8.GetString(packet);
packetStr = Encoding.UTF8.GetString(packet);
string idStr = packetStr.Substring(2, packetStr.Length - 4);
char firstChar = idStr[0];
switch(firstChar)
@ -313,8 +336,8 @@ namespace HISP.Server
break;
case PacketBuilder.PLAYER_INTERACTION_TRADE:
packetStr = Encoding.UTF8.GetString(packet);
string playerIdStr = packetStr.Substring(2, packetStr.Length - 4);
int playerId = -1;
playerIdStr = packetStr.Substring(2, packetStr.Length - 4);
playerId = -1;
try
{
playerId = int.Parse(playerIdStr);

View file

@ -56,6 +56,7 @@ namespace HISP.Server
public const byte SOCIALS_MENU = 0x14;
public const byte SOCIALS_USE = 0x15;
public const byte PLAYER_INTERACTION_PROFILE = 0x14;
public const byte PLAYER_INTERACTION_TRADE = 0x28;
public const byte PLAYER_INTERACTION_ADD_ITEM = 0x29;
public const byte PLAYER_INTERACTION_ACCEPT = 0x2A;