diff --git a/ReallifeGamemode.Database/Migrations/20210601205501_LockRiot.Designer.cs b/ReallifeGamemode.Database/Migrations/20210601205501_LockRiot.Designer.cs
new file mode 100644
index 00000000..5956fed8
--- /dev/null
+++ b/ReallifeGamemode.Database/Migrations/20210601205501_LockRiot.Designer.cs
@@ -0,0 +1,2229 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using ReallifeGamemode.Database.Models;
+
+namespace ReallifeGamemode.Database.Migrations
+{
+ [DbContext(typeof(DatabaseContext))]
+ [Migration("20210601205501_LockRiot")]
+ partial class LockRiot
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "3.1.3")
+ .HasAnnotation("PropertyAccessMode", PropertyAccessMode.PreferFieldDuringConstruction)
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.ATM", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.Property("Faulty")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("ATMs");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Ban", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Applied")
+ .HasColumnType("int");
+
+ b.Property("BannedBy")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Reason")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("UntilDateTime")
+ .HasColumnType("int");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("Bans");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.BusRoute", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Description")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.ToTable("BusRoutes");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.BusRoutePoint", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BusRouteId")
+ .HasColumnType("int");
+
+ b.Property("Description")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BusRouteId");
+
+ b.ToTable("BusRoutesPoints");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.BusinessBankAccount", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.Property("BusinessId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BusinessId")
+ .IsUnique();
+
+ b.ToTable("BusinessBankAccounts");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.BusinessData", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BusinessId")
+ .HasColumnType("int");
+
+ b.Property("Price")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("BusinessData");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.CannabisPlant", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ b.Property("Harvested")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("PlantDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("PlantedById")
+ .HasColumnType("int");
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PlantedById");
+
+ b.ToTable("CannabisPlants");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Character", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Ageing")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("AgeingOpacity")
+ .HasColumnType("float");
+
+ b.Property("BeardColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Blemishes")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("BlemishesOpacity")
+ .HasColumnType("float");
+
+ b.Property("Blush")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("BlushColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("BlushOpacity")
+ .HasColumnType("float");
+
+ b.Property("BrowDepth")
+ .HasColumnType("float");
+
+ b.Property("BrowHeight")
+ .HasColumnType("float");
+
+ b.Property("CheekDepth")
+ .HasColumnType("float");
+
+ b.Property("CheekboneHeight")
+ .HasColumnType("float");
+
+ b.Property("CheekboneWidth")
+ .HasColumnType("float");
+
+ b.Property("ChestHair")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ChestHairColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ChestHairOpacity")
+ .HasColumnType("float");
+
+ b.Property("ChinDepth")
+ .HasColumnType("float");
+
+ b.Property("ChinHeight")
+ .HasColumnType("float");
+
+ b.Property("ChinIndent")
+ .HasColumnType("float");
+
+ b.Property("ChinWidth")
+ .HasColumnType("float");
+
+ b.Property("Complexion")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ComplexionOpacity")
+ .HasColumnType("float");
+
+ b.Property("EyeColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("EyeSize")
+ .HasColumnType("float");
+
+ b.Property("EyebrowColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Eyebrows")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("EyebrowsOpacity")
+ .HasColumnType("float");
+
+ b.Property("FacialHair")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("FacialHairOpacity")
+ .HasColumnType("float");
+
+ b.Property("Father")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Freckles")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("FrecklesOpacity")
+ .HasColumnType("float");
+
+ b.Property("Gender")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Hair")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("HairColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("HairHighlightColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("JawShape")
+ .HasColumnType("float");
+
+ b.Property("JawWidth")
+ .HasColumnType("float");
+
+ b.Property("LipThickness")
+ .HasColumnType("float");
+
+ b.Property("Lipstick")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("LipstickColor")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("LipstickOpacity")
+ .HasColumnType("float");
+
+ b.Property("Makeup")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("MakeupOpacity")
+ .HasColumnType("float");
+
+ b.Property("Mother")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("NeckWidth")
+ .HasColumnType("float");
+
+ b.Property("NoseBottomHeight")
+ .HasColumnType("float");
+
+ b.Property("NoseBridgeDepth")
+ .HasColumnType("float");
+
+ b.Property("NoseBroken")
+ .HasColumnType("float");
+
+ b.Property("NoseTipHeight")
+ .HasColumnType("float");
+
+ b.Property("NoseTipLength")
+ .HasColumnType("float");
+
+ b.Property("NoseWidth")
+ .HasColumnType("float");
+
+ b.Property("Similarity")
+ .HasColumnType("float");
+
+ b.Property("SkinSimilarity")
+ .HasColumnType("float");
+
+ b.Property("SunDamage")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("SunDamageOpacity")
+ .HasColumnType("float");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("Characters");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.CharacterCloth", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("ClothId")
+ .HasColumnType("int");
+
+ b.Property("Duty")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("SlotId")
+ .HasColumnType("int");
+
+ b.Property("SlotType")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Texture")
+ .HasColumnType("int");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("CharacterClothes");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.ClothCombination", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Gender")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Top")
+ .HasColumnType("int");
+
+ b.Property("Torso")
+ .HasColumnType("int");
+
+ b.Property("Undershirt")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("ClothCombinations");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Door", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("AlwaysOpen")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Category")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("FactionId")
+ .HasColumnType("int");
+
+ b.Property("Locked")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Model")
+ .HasColumnType("int");
+
+ b.Property("Name")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Radius")
+ .HasColumnType("float");
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FactionId");
+
+ b.ToTable("Doors");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.DutyCloth", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("ClothId")
+ .HasColumnType("int");
+
+ b.Property("FactionId")
+ .HasColumnType("int");
+
+ b.Property("Gender")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("SlotId")
+ .HasColumnType("int");
+
+ b.Property("SlotType")
+ .HasColumnType("tinyint unsigned");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FactionId");
+
+ b.ToTable("DutyClothes");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Faction", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BankAccountId")
+ .HasColumnType("int");
+
+ b.Property("GangOwned")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Name")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("StateOwned")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("WeaponDealTime")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BankAccountId");
+
+ b.ToTable("Factions");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.FactionBankAccount", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.Property("Bic")
+ .HasColumnType("varchar(12) CHARACTER SET utf8mb4")
+ .HasMaxLength(12);
+
+ b.Property("Iban")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.HasKey("Id");
+
+ b.ToTable("FactionBankAccounts");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.FactionRank", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("FactionId")
+ .HasColumnType("int");
+
+ b.Property("Order")
+ .HasColumnType("int");
+
+ b.Property("RankName")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FactionId");
+
+ b.ToTable("FactionRanks");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.FactionWeapon", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Ammount")
+ .HasColumnType("int");
+
+ b.Property("FactionId")
+ .HasColumnType("int");
+
+ b.Property("Rank")
+ .HasColumnType("int");
+
+ b.Property("SlotID")
+ .HasColumnType("int");
+
+ b.Property("WeaponModel")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FactionId");
+
+ b.ToTable("FactionWeapons");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.GotoPoint", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Description")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("GotoPoints");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Group", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BankAccountId")
+ .HasColumnType("int");
+
+ b.Property("Name")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BankAccountId");
+
+ b.ToTable("Groups");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.GroupBankAccount", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("GroupBankAccounts");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.House", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("BankAccountId")
+ .HasColumnType("int");
+
+ b.Property("CanRentIn")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("LastRentSetTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("OwnerId")
+ .HasColumnType("int");
+
+ b.Property("Price")
+ .HasColumnType("int");
+
+ b.Property("RentalFee")
+ .HasColumnType("int");
+
+ b.Property("Type")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("X")
+ .HasColumnType("float");
+
+ b.Property("Y")
+ .HasColumnType("float");
+
+ b.Property("Z")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("BankAccountId");
+
+ b.HasIndex("OwnerId");
+
+ b.ToTable("Houses");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.HouseBankAccount", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Balance")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("HouseBankAccounts");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.HouseRental", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("HouseId")
+ .HasColumnType("int");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("HouseId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("HouseRentals");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Interior", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("EnterPositionStr")
+ .HasColumnName("EnterPosition")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("ExitPositionStr")
+ .HasColumnName("ExitPosition")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Name")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.ToTable("Interiors");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Location", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Description")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Heading")
+ .HasColumnType("double");
+
+ b.Property("X")
+ .HasColumnType("double");
+
+ b.Property("Y")
+ .HasColumnType("double");
+
+ b.Property("Z")
+ .HasColumnType("double");
+
+ b.HasKey("Id");
+
+ b.ToTable("Locations");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Logs.BankAccountTransactionHistory", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Fee")
+ .HasColumnType("int");
+
+ b.Property("MoneySent")
+ .HasColumnType("int");
+
+ b.Property("NewReceiverBalance")
+ .HasColumnType("int");
+
+ b.Property("NewSenderBalance")
+ .HasColumnType("int");
+
+ b.Property("Origin")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("Receiver")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("ReceiverBalance")
+ .HasColumnType("int");
+
+ b.Property("Sender")
+ .HasColumnType("varchar(32) CHARACTER SET utf8mb4")
+ .HasMaxLength(32);
+
+ b.Property("SenderBalance")
+ .HasColumnType("int");
+
+ b.Property("Timestamp")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("datetime(6)");
+
+ b.HasKey("Id");
+
+ b.ToTable("BankAccountTransactionLogs");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Logs.Chat.ChatLogEntry", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ b.Property("Discriminator")
+ .IsRequired()
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Text")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Time")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("datetime(6)");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("ChatLogs");
+
+ b.HasDiscriminator("Discriminator").HasValue("ChatLogEntry");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Logs.CommandLogEntry", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ b.Property("Command")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Time")
+ .HasColumnType("datetime(6)");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("CommandLogs");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Logs.Death", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("CauseOfDeath")
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4")
+ .HasMaxLength(64);
+
+ b.Property("KillerHeading")
+ .HasColumnType("float");
+
+ b.Property("KillerId")
+ .HasColumnType("int");
+
+ b.Property("KillerPositionX")
+ .HasColumnType("float");
+
+ b.Property("KillerPositionY")
+ .HasColumnType("float");
+
+ b.Property("KillerPositionZ")
+ .HasColumnType("float");
+
+ b.Property("Timestamp")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("datetime(6)");
+
+ b.Property("VictimHeading")
+ .HasColumnType("float");
+
+ b.Property("VictimId")
+ .HasColumnType("int");
+
+ b.Property("VictimPositionX")
+ .HasColumnType("float");
+
+ b.Property("VictimPositionY")
+ .HasColumnType("float");
+
+ b.Property("VictimPositionZ")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("KillerId");
+
+ b.HasIndex("VictimId");
+
+ b.ToTable("DeathLogs");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Logs.LoginLogoutLogEntry", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ b.Property("IpAddress")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("LoginLogout")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("PlayerId")
+ .HasColumnType("bigint");
+
+ b.Property("SocialClubName")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Time")
+ .HasColumnType("datetime(6)");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.Property("Username")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("LoginLogoutLogs");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.News", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Caption")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Content")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("Timestamp")
+ .HasColumnType("int");
+
+ b.Property("UserId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("News");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Saves.SavedBlip", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Alpha")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Color")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Dimension")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("DrawDistance")
+ .HasColumnType("float");
+
+ b.Property("Name")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.Property("PositionX")
+ .HasColumnType("float");
+
+ b.Property("PositionY")
+ .HasColumnType("float");
+
+ b.Property("PositionZ")
+ .HasColumnType("float");
+
+ b.Property("Rotation")
+ .HasColumnType("float");
+
+ b.Property("Scale")
+ .HasColumnType("float");
+
+ b.Property("ShortRange")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Sprite")
+ .HasColumnType("smallint");
+
+ b.HasKey("Id");
+
+ b.ToTable("Blips");
+ });
+
+ modelBuilder.Entity("ReallifeGamemode.Database.Entities.Saves.SavedMarker", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Active")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ColorA")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ColorB")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ColorG")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("ColorR")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("Dimension")
+ .HasColumnType("tinyint unsigned");
+
+ b.Property("DirectionX")
+ .HasColumnType("float");
+
+ b.Property("DirectionY")
+ .HasColumnType("float");
+
+ b.Property("DirectionZ")
+ .HasColumnType("float");
+
+ b.Property("PositionX")
+ .HasColumnType("float");
+
+ b.Property("PositionY")
+ .HasColumnType("float");
+
+ b.Property("PositionZ")
+ .HasColumnType("float");
+
+ b.Property