public bool AddConsignment(int startValue) { // check to make sure a consignment merchant doesn't already exist for this house. var obj = GameServer.Database.SelectObject<Mob>("HouseNumber = '" + HouseNumber + "'"); if (obj != null) return false; var merchant = GameServer.Database.SelectObject<DBHouseMerchant>("HouseNumber = '" + HouseNumber + "'"); if (merchant != null) return false; // create a new consignment merchant entry, and add it to the DB var newM = new DBHouseMerchant {HouseNumber = HouseNumber, Quantity = startValue}; GameServer.Database.AddObject(newM); float[] consignmentCoords = HousingConstants.ConsignmentPositioning[Model]; double multi = consignmentCoords[0]; var range = (int) consignmentCoords[1]; var zaddition = (int) consignmentCoords[2]; var realm = (int) consignmentCoords[3]; double angle = Heading*((Math.PI*2)/360); // angle*2pi/360; var heading = (ushort) ((Heading < 180 ? Heading + 180 : Heading - 180)/0.08789); var tX = (int) ((X + (500*Math.Sin(angle))) - Math.Sin(angle - multi)*range); var tY = (int) ((Y - (500*Math.Cos(angle))) + Math.Cos(angle - multi)*range); var con = new GameConsignmentMerchant { CurrentRegionID = RegionID, X = tX, Y = tY, Z = Z + zaddition, Level = 50, Realm = (eRealm) realm, HouseNumber = (ushort)HouseNumber, Name = "GameConsignmentMerchant Merchant", Heading = heading, Model = 144 }; con.Flags |= GameNPC.eFlags.PEACE; con.LoadedFromScript = false; con.RoamingRange = 0; if (DatabaseItem.GuildHouse) con.GuildName = DatabaseItem.GuildName; con.AddToWorld(); con.SaveIntoDatabase(); DatabaseItem.HasConsignment = true; SaveIntoDatabase(); return true; }