Fallout New Vegas

About this mod

Showcase for an upcoming mod that add a unique hotel to Freeside called the Freeside Hotel.
Complete with a bar, restaurant, and working elevator!
Guaranteed to be different from all the generic accommodation mods.

Permissions and credits
DEMO - Freeside Hotel

Author: FalloutNVDefault


Version:
DEMO 1.10

Description:
Adds a new hotel to Freeside, Named the "Freeside Hotel".


Note. This is only a demo of the mod, a full version is to come when it is completed.


Conflicts:
Occupies the same space as "Hotel Apache" in Prodlimen's Mod "FLVJOD-Freeside"


Requirements:
None. Although some debugging features of NVSE are used in this DEMO. They will be removed in the final product.


Special Features:
  • Cross Mod Communication (Read further down for an explanation of how it works)
  • Alternative food ordering system (Similar to what I used in Rita's Cafe)

    This time when you take a seat, the waitress will come over to you and take your order.
    After that she will go and prepare the food and bring it to your table.

    Some food items will only be available to purchase every now and then. Their availability changes every few hours.
  • Rent [strike]or buy[/strike] a hotel room

    You can purchase a room at the Freeside Hotel for an amount of caps. Cost varies based on days stayed and floor.
    Ground for has basic accommodation, first floor has a more permanent residence feel with a fridge, oven, computer system, TV.
  • Security

    Guards will frisk you if they think you have a weapon.
    Guards will investigate sounds of gunfire.
    Guards will become alerted when discovering dead guards.
  • Special services

    All hotel rooms can be flagged as "Do not disturb" and "Please Tidy My room" using door notes. (see screenshots)
  • Room Service

    Feature is yet to be introduced. (Room service man will be named "Jerry" (Late Late Show reference)
  • Fire alarm system

    Incase of emergencies the hotel also has a fully functional fire alarm and sprinkler system.
  • A fully working elevator
    The elevator works by allowing you access to the floor of you room key.
    Example: If you have room key 101, 102, or 103 etc you'll have access to ground floor
    If you have room key 201, 202, 203 etc you'll have access to first floor


Identified things that need attention:
  • Elevator sound will be replaced
  • Voice files will need to be recorded. Most NPCs will use dialog already contained in the game.
    Some NPCs will need unique dialog recordings
    (Mainly the ghoul receptionist)
    (Also the security will likely need some voice acting)
  • Basement will need creating. Third floor needs finishing.
  • Making use of cross mod communication.
  • The tileset still needs a little attention (mainly the shadows of the walls)
  • Hotel Staff Outfits


    Things I could use some help with in the mod:
    [list]
  • Custom mesh for the lights.
    I want to combine two meshes into one mesh that has 2 "States" (On, Off)
    These are the two meshes:
    dlc04lightwall01on.nif
    dlc04lightwall01off.nif
    I would greatly appreciate somebody with mesh animation knowledge doing this for me or explaining step-by-step how to do it.


Explanation of Cross Mod Communication:

This mod introduces a new modding feature which I call "Cross Mod Communication". What it does is provides a way for one mod to announce its' presence to other mods. This can be used to enable unique dialog, scenarios, weapons, clothing, references to other mods, etc.

How it works:

Each mod needs to be able to have access to a common reference between them. The only things common between all mods is that they can all see references from the "Base Game".
Every mod is able to tell how many stimpaks Doc Mitchell Has (DocMitchellREF.GetItemCount Stimpak) and every mod can give him more (DocMitchellREF.AddItem Stimpak 1) but how does that help?
If "Mod X" gives Doc Mitchell 200 miniguns and "MOD Y" checks to see if Doc Mitchell has 200+ miniguns then "Mod Y" knows that "Mod X" is installed.
But won't messing around with Doc Mitchell screw the game up? Yes it would. But if we use another reference one that is not used for anything important, one the player can interfere with then we have a safe way to communicate between mods,.
So what is a safe reference? The one I intended to make use of is the "NarratorREF" he only has one item in his inventory. Strangely it is Legion Centurion Armor.
Then what items do we use for each mod to announce their presence?
Each mod will need to use a unique item to give to the Narrator, no other mod should use that item.
So we need to compile a list of mods and unique items that those mods will use. Below is a list of some of my mods and the items I intend to use for them.

Items List For Mods:
Item Base ID Mod NameMod Filename
NarratorREF(161EB1)- Common Reference used for cross mod communication
BrahminSkull (3405E) - Rita's Cafe - FNVD_Ritas_Cafe.esp / FNVD_Ritas_Cafe.esm
MQ04Undies (270F0) - Freeside Hotel - FNVD_Freeside_Hotel.esp (to become FNVD_Freeside_Hotel.esm)
ToyCay (22110) - NV Trains- NV_Trains.esp
HVBrokenWeapLaserRifle (D777D) - Freeside Arms Merchant - FreesideWeapVendor.esp
Lunchbox(22107) - Freeside Food Store - Freeside_Food_Store.esp
OutfitWastelandMerchantHat(78648) - Traveling Merchants - FNVD_TravelingMerchants.esp
DuctTape(13B2B2)- Duct Tape Recipes - FNVD_DuctTapeRecipes.esm
Turpentine (22105) - Portable Campfire - FNVD_PortableCampfire.esp
MS06AssassinationPoster(45256) - Viper Assassins- FNVD_Viper_Assassin.esp
CoffeeMug01(3406C) - Useable Coffee Brewer- Coffee Brewer.esp

Note. Some of the mods listed have not yet been released and to date the only one using cross mod communication is the Freeside Hotel. Expect update for the others.


So how do I announce the presence of my mod?
You could do it many ways but the way I'll demonstrate is to do it in a quest.

Make a new Quest. Check "Start game enabled", give the quest a script.

Here is an example of a script that could be used for the Freeside Hotel

============================================================================================
Scn FreesideHotelCrossModCommunicationQuestScript

Short bDoOnce

BEGIN GameMode

If bDoOnce == 0
NarratorREF.AddItem MQ04Undies 1;Announce Presence of Freeside Hotel
Set bDoOnce to 1;Only do this once
StopQuest FreesideHotelCrossModCommunicationQuest
EndIf

END
============================================================================================

The Narrator now has the item MQ04Undies (check the table to see this is the item for Freeside Hotel)
Now it is up to other mods to check if the Freeside Hotel is installed.

How would it help other mods to know the Freeside Hotel mod is installed?
You could have a mod where you ask an NPC where the is suitable accommodation in Freeside. If the Freeside Hotel is installed then the NPC could reply "There is a great Hotel here in Freeside that has just opened up".

This is just one example of how it could be used.

How do I make my mod check if the Freeside Hotel is installed?

Simply Check if the NarratorRef has 1 or more of MQ04Undies in his inventory, if he does then you can set a variable to 1.
Example:


===========================================
Short bFreesideHotelInstalled

If NarratorRef.GetItemCount MQ04Undies >= 1
Set bFreesideHotelInstalled to 1
EndIf
===========================================


Then use the bFreesideHotelInstalled variable as a condition for whether a certain dialog can be said.




Questions and Answers:

Q. Do I need archiveinvalidation turned on?
A. Yes, It does have some custom meshes and textures.

Q. Does this mod need NVSE?
A. No, but some of the debugging features make use of it.

Q. Does this mod work with mods that merge the two sides of Freeside?
A. Yes. The builing resides in the south side of Freeside which means that it won't need a patch to make it compatible with FSO anyway.

Q. Is this compatible with NVInteriors.
A. Yes, I believe I am running the latest build of NVInteriors and this does NOT interfere with it.

Q. You stated that this mod has "Cross mod communication" what does that mean?
A. Cross Mod Communication is a means of announcing the presence of a mod.