Companion Mod for Fallout of Nevada

Discussion in 'Fallout General Modding' started by arroyoman, Sep 21, 2020.

  1. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    Edited Dec 23, 2020
    I felt like Fallout of Nevada was missing an important element from past fallout games, that is companions. Companions are very good. They can act as pack mules for players with low strength, and absorb damage for players with lousy combat skills. This mod attempts to enhance the experience of the original game by adding 3 companions to the game.

    Made with love and spaghetti code. :postviper:

    Instructions:
    -Best compatibility with Fallout of Nevada: Fixed Mod. Link:
    https://www.nma-fallout.com/threads/fallout-of-nevada-Фаллаут-Невада.207311/
    -Drop in Fallout of Nevada root folder.
    -Start a new game.

    Here's the link to the latest version of the mod (Google Drive):

    What this mod does:
    -Adds Dogmeat to the game.
    -Makes Jasmine in Black Rock a companion
    -Adds a new ghoul companion, Raster.

    Location of the Companion NPCs:
    -Dogmeat : New Reno Train Depo
    -Jasmine : Black Rock
    -Raster : Dead Hotel



    Original Post:
    I am adding some companions into the Fallout of Nevada game. However I find that for an NPC (Jasmine in Black Rock) that I converted into a companion, she does not speak when I click on her in certain maps. Such maps include all desert random encounter maps and Area 51 map (and some other maps too!). The NPC also appears to be 'unresponsive' as she will not follow me around in these maps.

    I would greatly appreciate if anyone knows why the NPC is behaving like that. :confused:

    P.S I also added dogmeat NPC to the game. The script for dogmeat I took from Fallout 2. Dogmeat does not display behavior such as Jasmine in aforementioned maps.
     
    Last edited: Apr 6, 2021
    • [Rad] [Rad] x 2
  2. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    Nobody can tell you without seeing the scripts.
     
    • [Rad] [Rad] x 1
  3. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    Here is the script that I had modified, sorry for not including it earlier
     
  4. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    Ugh, these raw, decompiled models are a real pain.

    No idea what would be causing that. Maybe the critter proto is not unique and that breaks the game in certain maps.
     
    • [Rad] [Rad] x 1
  5. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    Thanks for the analysis, Lexx! I will try to create a new unique critter proto and run another test.
     
  6. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    I have been working on this little project for a couple of months and recently, I've managed to found the source of the unresponsive bug and fixed it (thanks to Lexx!).

    However, I've got another question now, completely unrelated to the previous one.

    I've been trying to add personalized combat taunts to the NPC, by editing the script of the NPC. I learned that the function 'combat_is_initialized' can be used to detect if combat mode is on. I wanted to detect if combat is initialized by sticking 'combat_is_initialized' into 'critter_p_proc', but that didn't go very well.

    After some trial and error, I realized that 'critter_p_proc' does not run when combat mode is initialized. So, the question is:

    How does a script properly detect if combat mode is on?
    I'm thinking of something like this:

    if (combat_is_initialized) then begin
    //do something
    end
    As usual, any advice would be very much appreciated. Sorry for the terrible English, and thanks in advance.

    Side note:
    I've also been looking into Fallout 2 companion's scripts to see how the function 'combat_is_initialized' is used. So far, I've only seen it being used in 'map_update_p_proc'.

    Here's my script, decompiled (raw) from FoN's .int file, if anyone's interested. (I've added .txt at the end because NMA doesn't allow .ssl extensions.)
     

    Attached Files:

    Last edited: Dec 4, 2020
  7. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    I cannot believe how i missed this but combat_p_proc was removed when the script was uncompiled... Problem solved!
     
  8. gustarballs1983

    gustarballs1983 Water Chip? Been There, Done That

    807
    Oct 28, 2009
    @arroyoman
    mind shareing those companion mods You've made for Nevada?
    I myself am not a programer, but I'd gladly check out companion NPC mod for Nevada other than that useless mutt in Crazy Edition. Jasmine seemes to fit in just right story-wise to be a companion NPC. just like Vodka in Resurrection.
     
  9. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    My work for FoN isn't really done yet. I've added Jasmine and Dogmeat to the game, but I plan to add another companion to the game too.

    Future plans:
    I'm thinking of a ghoul mercenary type of character, either at the ghoul's motel in Las Vegas; or, with Hardy's caravan.

    Info regarding companions added:
    Jasmine:
    Recruiting
    Jasmine can be found in Black Rock. The original quest design/ dialogue is untouched. After the player has cured Jasmine using "Blood Purifier", I have added an option (iirc the first option) that asks her to join you in your travels. It goes something like this.

    Player "Now that you're cured, will you be alright in this town?"

    Jasmine "Well... [she sighs] I'm... Lonely. No one's gonna try to make me leave or kill me now, but everyone still knows what I did in Reno. I've... I've always wanted a family, but... [she shakes her head] Never gonna happen."

    Player <ask to join> "Do you really want to be stuck here forever? How about leaving this place and see the world for ourselves? We could watch each others' backs out there, you and me."


    I'm not a writer, so if there's anyone who wants to change the cheesy dialogue, please go ahead. The dialogue files in "data/text/english/dialog/BCProsti.msg" should have comments that will help you if you want to do that.

    Combat
    Due to limitations of the prostitute sprite, Jasmine can only use handguns, unarmed, knife and grenades. I have decided to keep that even though she gets new sprites with jacket or metal armor.

    She levels up 6 times, and she actually gets quite skilled with pistols at higher levels. Recommend to give her the "Stryker" shotgun/handgun. However, she is absolute trash at combat in lower levels.

    Also, she only wears leather jackets and metal armor. Technically, you can go to the combat control panel and give her whatever armor you need her to wear, but the correct animation won't show up if she wears something other than a leather jacket or a metal armor. All variants of leather jackets and metal armor are included. (caravan suit, reinforced jacket, worn jacket, tesla armor, etc..)

    Note
    As you might have guessed, she is heavily based on the Miria mod, by Endocore. Some of the dialogue are taken directly from there.

    Also, the talking heads are made using screen recording software and Fallout: New Vegas... (not a 3d artist, that's the best i could come up with)

    More features
    - scripted talking heads.
    (metal armor TH is out of place, may fix in future)
    - added a variety of floating messages.
    - fixed a bug that causes Jasmine to aggro when traps are placed, even when she is in the party.
    - fixed the unresponsive bug in desert.
    - added new dialogue about combat. Her response changes as small guns skill increases.
    - added new dialogue branch that will give comment based on karma.
    - added dialogue that leads to sex ;)
    - implemented a countdown tally

    The tally represents Jasmine's familiarity with the player character. It functions like a timer that counts down, and when it reaches a certain value, i.e when Jasmine is familiar enough with the player, certain dialogue branches are unlocked - The player can ask about her past, etc.
    - added location-specific dialogue for most places.
    (i got the idea from Fallout: Resurrection where you can ask companions about a location)
    - scripted correct backgrounds using new header file, partyBKG_FoN.h

    Dogmeat
    Placed Fo2 dogmeat in New Reno, by the train station (same as Crazy Edition). Maybe will add talking head and background in the future.
     
    Last edited: Dec 14, 2020
    • [Rad] [Rad] x 1
  10. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    Here are the files for the mod. Drop it in the data folder for Fallout of Nevada. Should be overwriting 6 files in total. This was made and tested on FoN fixed edition (the official one on NMA), so it would be better to use that:

    link to FoN fixed edition: https://www.nma-fallout.com/threads/fallout-of-nevada-Фаллаут-Невада.207311/

    Required to start a new game to use the mod, or else will crash.

    Link to Google drive:
    [removed] See top post for an updated version
     
    Last edited: Dec 25, 2020
    • [Rad] [Rad] x 2
  11. gustarballs1983

    gustarballs1983 Water Chip? Been There, Done That

    807
    Oct 28, 2009
    @arroyoman
    Thanks!
    I see You've used npcarmor.int script.
    However You're missing npcarmor.ini . The script is useless without it. and it's in npcarmor.ini where you configure all the armor appearance and weapon animations party critter uses. Combat, Metal, Metal MkII, newly enabled "Improoved Metal MkII", Tesla Armor and Police Armor, all should be added to possible appearance. Possibly Power Armor appearance for cheaters too :p especially combat armor can be found in quantity of more than 1 (last time I've found a total of 5 Combat Armors befor ending the game as far as i can remember).

    I sure do hope You haven't just scripted the armor appearance changes, as it potentially could conflict wth settings in npcarmor.ini .

    Actually I do hope You made appearance changes in npcarmor.ini , just that You've forgot to add them to Your modpack.

    On a side note Sgt. Graves would make an excelent addition to player's party if player is able to keep him past endgame :)

    Edit:
    Also Vodka could be a mighty fine addition to the party in Fo1.5: resurrection ;)
     
  12. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    Well, actually, I accidentally included those scripts in my mod... (gl_ammoMod.int, gl_autodoors.int, gl_highlighting.int, gl_npcarmor.int, gl_partycontrol.int, gl_sfall-mods.int) I didn't check the scripts folder, heheh, my bad.

    Unfortunately, the changes to the NPC armor appearance is done via the NPC's original script, in this case, BCProsti.int. I didn't use gl_npcarmor.int as I wasn't entirely sure what it did before.

    But I think there won't be any conflicts, (so far I've seen none), since the original game did not have any companions or NPC that would use the script.

    PS: Might add combat armor and power armor in the future, but don't get your hopes up...
     
  13. gustarballs1983

    gustarballs1983 Water Chip? Been There, Done That

    807
    Oct 28, 2009
    If You're ever in the mood of doing this, why not do it the proper way by configuring npcarmor.ini . The npcarmor.int that you accidentally added to your mod does all the heavy lifting for the armor change. It's as simple as setting armor PIDs (as they may differ from original Fo2 settings) and align them with animations, and next set base character PID and Base character FID plus what FIDs are to be used for all armor animations types configured and which weapon animations for each NPC that you want the appearance change. Everything is self explanatory once you look up the npcarmor.ini flie it's a shitload easier and or a lot less work than implementing everything inside a given npc script. Since here you do it once and don't have to fuck around doing the same work all over agin for every NPC companion script.

    npcarmor.int and npcarmor.ini are not included in standard sfall, rather inside an downloadable add-on called "sfall modder's pack". A quick config of npcarmor.ini and everything should be good to go. besides it's the official way of armor change now in latest RPU for Fallout2 for example. Anyways the scipt goes where sfall is configured to hold global scripts, and the .ini should go either to fallout root folder or wherever you configured in sfall should the .ini's go.

    And sorry for any english grammar logic failures, my neighbour turned up her shitty music up, and it's so loud i can't focus my thoughts properly.

    EDIT:

    Ok I'll manage to make npcarmor.ini for Jasmine compatible with Fo:Nevada however I You need to provide animations set for either Leather Armor or Leather Jacket. there's some nfmax2 and nfmet2 which i assume are 'blondie' or 'red hair' leather jacket and metal armor from "Hero Appearance Mod".

    New animations of leather jacket, leather armor and metal armor need to be present since they dont have the helmet on like combat armor and power armor, where hero female critter can be used in npc armor.ini
    adding comat armor and power armor animations in npcarmor.ini for Jasmie is a piece of cake, and i can do it
    Also besides having the new animations (named properlyand properly added to the .lst file ) I must know the new sets of animation FIDs, otherwise I won't be able to use them you know the 16777xxx.

    You don't have to cut out specific weapon animations from the sets. There is a hilariously easy way in npcarmor.ini to regulate which weapon animations party npc uses. So you don't You worry about that.

    One more thing: I'm not so sure if doubling the animation change done by both npcarmor.int and Jasmine's script would do good to game's stability, hence why the Fo2 Restoration Project Update had armor animation changes remooved from party member scripts (aka no more B-Team mod) and RPU lets npcarmor.int and npcarmor.ini do the work instead. It's really super simple few lines of plain text instead of bazillions lines of coding. So it would be advisable to remove armor animation changes from Jasmine's script, as it could make everything super buggy. At least i remember @NovaRain mentioning something like this, when asked about whether animations could cause problems when the same change is executed from two separate scripts in two different ways at the same time. Such stuff usually was the cause of glitchy behaviour or a crash to desktop. It sure was long time ago, but the answer was someting in the lines of: "it can cause problems". Now I know sfall has mooved on forward from that time, but I'm not so sure that this sentece lost on it's meaning.

    Uh damn sorry for the wall of text...
     
    Last edited: Dec 15, 2020
  14. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    thanks for the pointers gustarballs! Will definitely check it out! I'm working on combat armor and power armor already!
     
  15. gustarballs1983

    gustarballs1983 Water Chip? Been There, Done That

    807
    Oct 28, 2009
    Here it should look like this I've used base female model for Combat Armor...
    It's still missing Leather Armor since you didn't include it...

    Anyways better make her blonde as there's an armor in game that makes use of tux/mrs bishop look when worn...
    so setting Jasmine to ginger would make it awkward to switch from ginger to blondie once the armor is worn. You could in theory set it to different animation, but there are no elegant animations for ginger woman.
     

    Attached Files:

    • [Rad] [Rad] x 1
  16. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    Here's an updated version for Jasmine:

    Changes:
    - Now supports combat armor, power armor, gas suit, and radiation suit.
    - Jasmine can't wear metal armor and combat armor at low levels
    - talking heads added for combat armor, power armor, gas suit and radiation suit.
    - New Fallout Tactics Style critter animation for gas suit/radiation suit, taken from FoN Crazy Edition.

    As usual, new game is required.
    Link to Google Drive
    removed. see top post for link to latest version

    Thanks for the suggestions, gustarballs! However, I felt like using npcarmor.int was unnecessary since the other companion wouldn't be able to wear any armor at all, due to lack of armored ghouls animations... Plus, all of talking heads would need to be redone. So I've decided to keep it the way it is.
     
    Last edited: Dec 23, 2020
  17. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    Updated the mod to its latest (and final) version. See top post of this thread for download link.

    Changelog:
    -With sufficient small guns skill, can have target practice session with Jasmine, which will give her 3 different perks in total if certain conditions are met.
    condition 1: 3 target practice sessions have been carried out
    perk 1: Sharpshooter

    condition 2: Raster is in your party
    perk 2: Bonus Ranged Damage

    condition 3: above 2 conditions met, and 1 out of 10 chance (RNG)
    perk 3: Bonus Rate of Fire

    -added ghoul merc, Raster to dead motel.
    Conditions to recruit Raster: must complete quest "find evidence to proof the ghoul's innocence"
    Easy way to complete this quest:
    Go to SlaverTown, steal receipt from slaver boss safe, and hand it to clean city police.
    other requirements:
    -cult of personality perk + caps
    -speech 50 + karma
    -speech 50 + caps
    -barter 30 + caps
    -level 10 + caps
     
  18. Valerij Bosch

    Valerij Bosch First time out of the vault

    15
    Nov 15, 2018
    Cant find the Download link. Is the mod dead ? I always play as a female when there are no female companions and this would be a nice chance to play as a guy.
     
  19. arroyoman

    arroyoman First time out of the vault

    69
    Jun 11, 2019
    No, it's not dead. It's already completed, as in I will not be adding in any new features.

    To download the latest version, there is a link at the top post/ the first post of this thread, to my google drive.

    Here's the link to the latest version of the mod:
     
  20. Valerij Bosch

    Valerij Bosch First time out of the vault

    15
    Nov 15, 2018
    Real ? Thats a bummer... Im happy to have at least Jasmine in the group now. Would be awesome to have more female companions though.