Finalize Surgery
This commit is contained in:
@@ -32,21 +32,6 @@ namespace ReallifeGamemode.Server.Managers
|
||||
[RemoteEvent("creatorSave")]
|
||||
public void CreatorSave(Player player, bool gender, string parentData, string featureData, string appearanceData, string hairAndColorData)
|
||||
{
|
||||
|
||||
var charExists = false;
|
||||
var genderSwap = false;
|
||||
|
||||
var cUser = player.GetUser();
|
||||
|
||||
if (cUser.CharacterId != null)
|
||||
{
|
||||
charExists = true;
|
||||
if(cUser.Character.Gender != gender)
|
||||
{
|
||||
genderSwap = true;
|
||||
}
|
||||
}
|
||||
|
||||
var jParentData = JObject.Parse(parentData);
|
||||
var jFeatureData = JArray.Parse(featureData);
|
||||
var jAppearanceData = JArray.Parse(appearanceData);
|
||||
@@ -79,27 +64,27 @@ namespace ReallifeGamemode.Server.Managers
|
||||
float neckWidth = jFeatureData.Value<float>(19);
|
||||
|
||||
byte blemishes = jAppearanceData[0].Value<byte>("Value");
|
||||
float blemishesOpacity = jAppearanceData[0].Value<byte>("Opacity");
|
||||
float blemishesOpacity = jAppearanceData[0].Value<float>("Opacity");
|
||||
byte facialHair = jAppearanceData[1].Value<byte>("Value");
|
||||
float facialHairOpacity = jAppearanceData[1].Value<byte>("Opacity");
|
||||
float facialHairOpacity = jAppearanceData[1].Value<float>("Opacity");
|
||||
byte eyebrows = jAppearanceData[2].Value<byte>("Value");
|
||||
float eyebrowsOpacity = jAppearanceData[2].Value<byte>("Opacity");
|
||||
float eyebrowsOpacity = jAppearanceData[2].Value<float>("Opacity");
|
||||
byte ageing = jAppearanceData[3].Value<byte>("Value");
|
||||
float ageingOpacity = jAppearanceData[3].Value<byte>("Opacity");
|
||||
float ageingOpacity = jAppearanceData[3].Value<float>("Opacity");
|
||||
byte makeup = jAppearanceData[4].Value<byte>("Value");
|
||||
float makeupOpacity = jAppearanceData[4].Value<byte>("Opacity");
|
||||
float makeupOpacity = jAppearanceData[4].Value<float>("Opacity");
|
||||
byte blush = jAppearanceData[5].Value<byte>("Value");
|
||||
float blushOpacity = jAppearanceData[5].Value<byte>("Opacity");
|
||||
float blushOpacity = jAppearanceData[5].Value<float>("Opacity");
|
||||
byte complexion = jAppearanceData[6].Value<byte>("Value");
|
||||
float complexionOpacity = jAppearanceData[6].Value<byte>("Opacity");
|
||||
float complexionOpacity = jAppearanceData[6].Value<float>("Opacity");
|
||||
byte sunDamage = jAppearanceData[7].Value<byte>("Value");
|
||||
float sunDamageOpacity = jAppearanceData[7].Value<byte>("Opacity");
|
||||
float sunDamageOpacity = jAppearanceData[7].Value<float>("Opacity");
|
||||
byte lipstick = jAppearanceData[8].Value<byte>("Value");
|
||||
float lipstickOpacity = jAppearanceData[8].Value<byte>("Opacity");
|
||||
float lipstickOpacity = jAppearanceData[8].Value<float>("Opacity");
|
||||
byte freckles = jAppearanceData[9].Value<byte>("Value");
|
||||
float frecklesOpacity = jAppearanceData[9].Value<byte>("Opacity");
|
||||
float frecklesOpacity = jAppearanceData[9].Value<float>("Opacity");
|
||||
byte chestHair = jAppearanceData[10].Value<byte>("Value");
|
||||
float chestHairOpacity = jAppearanceData[10].Value<byte>("Opacity");
|
||||
float chestHairOpacity = jAppearanceData[10].Value<float>("Opacity");
|
||||
|
||||
byte hair = jHairAndColorData.Value<byte>(0);
|
||||
byte hairColor = jHairAndColorData.Value<byte>(1);
|
||||
@@ -111,8 +96,26 @@ namespace ReallifeGamemode.Server.Managers
|
||||
byte lipstickColor = jHairAndColorData.Value<byte>(7);
|
||||
byte chestHairColor = jHairAndColorData.Value<byte>(8);
|
||||
|
||||
var charExists = false;
|
||||
var genderSwap = false;
|
||||
|
||||
using (var saveCharacter = new DatabaseContext())
|
||||
{
|
||||
|
||||
var userId = player.GetUser(saveCharacter).Id;
|
||||
var user = saveCharacter.Users.SingleOrDefault(u => u.Id == userId);
|
||||
|
||||
var oldChar = saveCharacter.Characters.FirstOrDefault(c => c.UserId == user.Id);
|
||||
|
||||
if (user.CharacterId != null)
|
||||
{
|
||||
charExists = true;
|
||||
if (oldChar.Gender != gender)
|
||||
{
|
||||
genderSwap = true;
|
||||
}
|
||||
}
|
||||
|
||||
var character = new Database.Entities.Character
|
||||
{
|
||||
UserId = player.GetUser().Id,
|
||||
@@ -181,20 +184,15 @@ namespace ReallifeGamemode.Server.Managers
|
||||
saveCharacter.Characters.Add(character);
|
||||
saveCharacter.SaveChanges();
|
||||
|
||||
var userId = player.GetUser().Id;
|
||||
var user = saveCharacter.Users.SingleOrDefault(u => u.Id == userId);
|
||||
|
||||
|
||||
user.CharacterId = character.Id;
|
||||
|
||||
if (genderSwap)
|
||||
{
|
||||
var charClothes = saveCharacter.CharacterClothes.Where(c => c.UserId == user.Id);
|
||||
|
||||
foreach(var cloth in charClothes)
|
||||
{
|
||||
saveCharacter.Remove(cloth);
|
||||
saveCharacter.SaveChanges();
|
||||
}
|
||||
var charClothes = saveCharacter.CharacterClothes.Where(c => c.UserId == user.Id);
|
||||
saveCharacter.RemoveRange(charClothes);
|
||||
saveCharacter.SaveChanges();
|
||||
}
|
||||
|
||||
for (var x = 1; x <= 11; x++)
|
||||
@@ -280,12 +278,12 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (charExists)
|
||||
{
|
||||
user.BankAccount.Balance -= 15000;
|
||||
if(user.FreeSurgery == true) user.FreeSurgery = false;
|
||||
}
|
||||
saveCharacter.Remove(oldChar);
|
||||
}
|
||||
saveCharacter.SaveChanges();
|
||||
}
|
||||
//HeadOverlay makeupHo = new HeadOverlay()
|
||||
@@ -304,14 +302,15 @@ namespace ReallifeGamemode.Server.Managers
|
||||
//};
|
||||
//player.SetHeadOverlay(4, makeupHo);
|
||||
//player.SetHeadOverlay(5, blushHo);
|
||||
player.SafeTeleport(Main.DEFAULT_SPAWN_POSITION, Main.DEFAULT_SPAWN_HEADING, true);
|
||||
player.TriggerEvent("draw", player.Name, player.Handle.Value);
|
||||
player.Dimension = 0;
|
||||
|
||||
if (charExists)
|
||||
{
|
||||
ApplyCharacter(player);
|
||||
UpdateCharacterCloth.LoadCharacterDefaults(player);
|
||||
{
|
||||
LeaveSurgery(player);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.SafeTeleport(Main.DEFAULT_SPAWN_POSITION, Main.DEFAULT_SPAWN_HEADING, true);
|
||||
player.TriggerEvent("draw", player.Name, player.Handle.Value);
|
||||
player.Dimension = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user