Finalize Surgery
This commit is contained in:
@@ -4,6 +4,7 @@ using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Events;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
|
||||
namespace ReallifeGamemode.Server.Managers
|
||||
@@ -31,6 +32,21 @@ 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);
|
||||
@@ -161,14 +177,26 @@ namespace ReallifeGamemode.Server.Managers
|
||||
ChestHairColor = chestHairColor
|
||||
};
|
||||
|
||||
|
||||
saveCharacter.Characters.Add(character);
|
||||
saveCharacter.SaveChanges();
|
||||
|
||||
var userId = player.GetUser().Id;
|
||||
var user = saveCharacter.Users.SingleOrDefault(u => u.Id == userId);
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
for (var x = 1; x <= 11; x++)
|
||||
{
|
||||
var s = 0;
|
||||
@@ -232,16 +260,19 @@ namespace ReallifeGamemode.Server.Managers
|
||||
break;
|
||||
};
|
||||
}
|
||||
var createClothes = new Database.Entities.CharacterCloth()
|
||||
if (!charExists || genderSwap)
|
||||
{
|
||||
UserId = userId,
|
||||
Duty = false,
|
||||
SlotType = 1,
|
||||
SlotId = x,
|
||||
ClothId = y,
|
||||
Texture = 0
|
||||
};
|
||||
saveCharacter.CharacterClothes.Add(createClothes);
|
||||
var createClothes = new Database.Entities.CharacterCloth()
|
||||
{
|
||||
UserId = userId,
|
||||
Duty = false,
|
||||
SlotType = 1,
|
||||
SlotId = x,
|
||||
ClothId = y,
|
||||
Texture = 0
|
||||
};
|
||||
saveCharacter.CharacterClothes.Add(createClothes);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -249,6 +280,12 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (charExists)
|
||||
{
|
||||
user.BankAccount.Balance -= 15000;
|
||||
if(user.FreeSurgery == true) user.FreeSurgery = false;
|
||||
}
|
||||
saveCharacter.SaveChanges();
|
||||
}
|
||||
//HeadOverlay makeupHo = new HeadOverlay()
|
||||
@@ -270,6 +307,12 @@ namespace ReallifeGamemode.Server.Managers
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -424,6 +467,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
public static void StartSurgery(Player player)
|
||||
{
|
||||
/*
|
||||
Character c = player.GetUser().GetCharacter();
|
||||
|
||||
var PlayerCharacterData = new
|
||||
@@ -487,7 +531,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
BlushColor = c.BlushColor,
|
||||
LipstickColor = c.LipstickColor,
|
||||
ChestHairColor = c.ChestHairColor
|
||||
};
|
||||
};*/
|
||||
|
||||
var currentPlayerCreatorDimension = (uint)NAPI.Data.GetWorldData("playerCreatorDimension");
|
||||
currentPlayerCreatorDimension++;
|
||||
@@ -495,7 +539,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
player.Dimension = NAPI.Data.GetWorldData("playerCreatorDimension");
|
||||
player.SafeTeleport(new Vector3(266.472, -1339.1357, 24.5378));
|
||||
player.Heading = 146.35101f;
|
||||
player.TriggerEvent("toggleSurgery", JsonConvert.SerializeObject(PlayerCharacterData));
|
||||
player.TriggerEvent("toggleCreator", true);
|
||||
}
|
||||
|
||||
[RemoteEvent("surgeryLeave")]
|
||||
@@ -504,6 +548,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
player.Dimension = 0;
|
||||
player.SafeTeleport(new Vector3(258.581, -1345.1406, 24.5378), Main.DEFAULT_SPAWN_HEADING, true);
|
||||
ApplyCharacter(player);
|
||||
UpdateCharacterCloth.LoadCharacterDefaults(player);
|
||||
}
|
||||
[RemoteEvent("SaveSurgery")]
|
||||
public static void SaveSurgery(Player player, bool gender, string parentData, string featureData, string appearanceData, string hairAndColorData)
|
||||
|
||||
Reference in New Issue
Block a user