Infinite NPC party members mod?

Discussion in 'Fallout General Modding' started by I Must Be Crazy 2, Apr 9, 2003.

  1. I Must Be Crazy 2

    I Must Be Crazy 2 First time out of the vault

    77
    Apr 9, 2003
    The premise is to edit all potential party members so that they do NOT count toward the maximum party member limit (so a CH of at least 2 is needed). As a bonus, to make the Pariah Dog represent EXTREMELY bad luck, the Pariah Dog could count as 6 party members, meaning that once you get it, no new NPCs will join your party. What would it take to accomplish such a feat?

    1. Can it be done just using the modding tools in the downloads section?

    2. Will I need to somehow obtain a copy of the FO2 source code and somehow find a compiler that will compile it (to create a brand new fallout2.exe file)?

    At least once, I would like to play a goodie 2 shoes character that runs around the desert with Sulik, Vic, Cassidy, Lenny, Myron (drugs rule!), Skynet, Marcus, Cyberdog, Dogmeat, K-9, and Miria/Davin at his/her side. What an army that would make!

    If condition #2 is a necessity for this dream to come true:
    I have noticed that the Holy Hand Grenade patch slighty modifies the Fallout2.exe file and was created by a fan (not a developer). What programs did this person use to concoct this patch? Perhaps a similar technique could be used to make an "Infinite party member patch".

    Any thoughts/suggestions?
     
  2. red

    red Still Mildly Glowing

    271
    Apr 5, 2003
    All you need is a good script decompiler/compiler which I don't really know where to find anymore... It was on the DaC FO modding forums.

    Once you have that decompile the "follower" NPCs and remove the bit where it checks for charisma, recompile, and everything should work out.
     
  3. ABel

    ABel First time out of the vault

    28
    Apr 8, 2003
  4. I Must Be Crazy 2

    I Must Be Crazy 2 First time out of the vault

    77
    Apr 9, 2003
    Not finding that charisma "bit"

    I looked in party.txt but to no avail...

    Does anyone know where in the scripts that this "charisma bit" exists for potential party members?

    Or do I have to *somehow* obtain a copy of the Fallout 2 original source code, edit, and recompile it? (This is MUCH easier said than done...)
     
  5. red

    red Still Mildly Glowing

    271
    Apr 5, 2003
    I'ts NOT in party.txt. It's in each of the NPC's scripts... When you talk to them there's a check wether you have enough charisma, which you need to remove.
     
  6. Corpse

    Corpse Mildly Dipped

    560
    Apr 7, 2003
    I think there must be another check for number of npc's in your party, I disabled the patched version of ocgoris.int and now Goris joins my party which brings my party from 5 to 6 npc's and my character. I have looked for this value check in npc scripts but can't find it, so I would appreciate some help on this issue too.
     
  7. red

    red Still Mildly Glowing

    271
    Apr 5, 2003
    Basically you need to find a line which looks like this:
    Code:
    if (((((metarule(16, 0) - 1) >= (floor(get_critter_stat(dude_obj(), 3) / 2) + has_trait(0, dude_obj(), 98))) or ((metarule(16, 0) - 1) >= 5)) == 0) and ((party_member_obj(16777313) != 0) == 0)) then
    And well, remove the if from the statement (and tweak other stuff so the dialgos work out...)

    Note that I've taken the liberty to remove all the "op_" prefixes and whatnot from Noid's compiler sytax... And I have no idea what that metarule command really is for...
     
  8. Corpse

    Corpse Mildly Dipped

    560
    Apr 7, 2003
    Thanks Red, that helped a bit, I found this line in the NPC scripts:

    if (((op_metarule(16, 0) - op_global_var(18) - 1) >= (floor(op_get_critter_stat(op_dude_obj(), 3) / 2) + op_has_trait(0, op_dude_obj(), 98))) or ((op_metarule(16, 0) - op_global_var(18) - 1) >= 5)) then

    I did a search for "metarule(16" (which you find a varied number which is tied to the number of dialog lines on each script, I pressume) and changed all the 5 values at the end of the line to 12.

    Now all the NPC's with the exception of Goris, join my party if there is less than six NPC party members; Goris joins even if there is 6 bringing the total of NPCs in my party seven instead of five.

    There must be another value that sets the party maximum size, maybe tied to charisma (I tested it with charisma 10) so I am going to be busy trying to find it.
     
  9. red

    red Still Mildly Glowing

    271
    Apr 5, 2003
    The thing is if you remove that "if" statement altogether (and make sure the dialog works out: ie. you don't get the "Your party is full" comment and the "Ok, I'm joining" at the same time, you'll remove the limit entirely.

    Although there might be issues with the engine itself since party members occupy a special space in memory it seems.
     
  10. Valdis

    Valdis First time out of the vault

    44
    Apr 5, 2003
    BTW, removing NPC party member limit screws game balance. And what about the costs of supplying them with ammo and weapons?
     
  11. red

    red Still Mildly Glowing

    271
    Apr 5, 2003
    I don't think it screws it that much... I mean I wouldn't call Fallout 2 a balanced game... His point was to have fun, and the answer was rather easy, unlike other requests like attaining level 999 :P.
     
  12. Spazmo

    Spazmo First time out of the vault

    36
    Apr 5, 2003
    Game balance is important the first time around when you're playing for challenge and discovery. When it's the nth time and you're experimenting, balance can jump out a window.
     
  13. Corpse

    Corpse Mildly Dipped

    560
    Apr 7, 2003
    IT'S WORKING!!!!!!!!!

    Thanks Red, that did it. I tried removing the entire statement as you suggested but it gave me problems with some scripts when I tried to recompile them, then instead of removing the statement I shortened it to:
    if (((op_metarule(16, 0) - 1) >= 12)) then
    And now I am able to take every recruitable NPC (with the exception of Davin, but who cares about him) in my party at once.

    I find that if you use a varied distance setting on NPCs (Snipers on Long, pistols and SMGs on medium and Melee and unarmed npcs on close) then they don't get on each others way too much; another way to reduce the chance of them getting hit by friendly fire is avoid giving NPCs weapons with burst capability, say a Sniper or Gauss rifle for Vic and Cassidy or Turbo Plasma and Pulse Rifle for Marcus.
     
  14. red

    red Still Mildly Glowing

    271
    Apr 5, 2003
    Well, you could still get Davin if you really care... just have to mod the script too... Move the "join line" to some dialog entry closer to Node001 or something similar.
     
  15. Corpse

    Corpse Mildly Dipped

    560
    Apr 7, 2003
    Well, you could if you really wanted to I suppose, but the only way you get Miria or Davin is if you marry one of them; you can't make both join your party. You could mod their scripts so they progress levels though; you would need to create new critter pro files for each level and mod the party.txt but that would be possible.

    I was thinking of creating new NPC's you could recruit, say put a BOS Paladin (in Power Armor) inside the BOS outpost in San Fran, a Shi assassin (martial arts expert) that joins if you accept the quest to kill AHS-9 to mention a few; if anyone got any ideas about new NPCs, what dialogs to give them, etc I would be interested to hear them.
     
  16. Demostrike

    Demostrike Still Mildly Glowing

    227
    Apr 2, 2003
    Hey that's my idea of a bos paladin!!
    :lol:
     
  17. red

    red Still Mildly Glowing

    271
    Apr 5, 2003
    You have to be careful though as even though there are unsunsed entries in the party.txt, they might actually have a prupose in the game... You can't add new NPCs to the list either. Or I think you can't, I beleive I tried it a while ago without success... Although a similar hack as the city patch might be possible.

    But yeah, my idea was to modify Davin's script so that you needn't marry him for him to join you, he'd just join you if you talk to him.
     
  18. Spazmo

    Spazmo First time out of the vault

    36
    Apr 5, 2003
    Hey, could we get a screen of you and your big 'ol army roaming through the wastes, please?
     
  19. Corpse

    Corpse Mildly Dipped

    560
    Apr 7, 2003
    I would but I haven't got a site where I can upload it and don't know if I can upload it to the NMA forum; I can email it to you if you want.

    And that sounds pretty cool red, maybe it would be easier to use Vic's script as a template so he can repair stuff for you, and as someone suggested in the old forum change Miria's script so she waits for you.

    I tested the scripts again and found a problem, I re-started the game and when I first tried to recruit Vic or anyone else; they would not join me; at first I thought my be a level requirement issue so I leveled up my character but still nothing. As soon as I reverted the scripts back to the originals they joined without fuzz; so the edited scripts only seem to work after the NPC has joined your party, which is OK by me for the time being.
     
  20. red

    red Still Mildly Glowing

    271
    Apr 5, 2003
    It's possible that when you just removed that extra line the logic's been changed to "you need 1 NPC for the others to join"... Or a similar bug.

    Of course there needs to be more tweeking then just what I mentioned, I was just outlining the lines you needed to edit to get it to work...