Fallout 2 mod EcCo Gameplay Overhaul (new version for RPU)

The existing systems works fine with the present items. I'm questioning whether it will work with more advanced items, though. Take HPA or APA MKII for examples, it would seems strange if the same NPC teacher who teaches you beginner level armor was to also teach you those advanced techniques for armor that you don't even have yet. It would work only if you can add a certain 'check' before they appear in the crafting categories, like maybe a level check or if certain locations are discovered like for example they appear only when PC enters Military Base/Navarro.

About the Fuel ammo, here's an idea. It is possible to just delete them as items from the game and then re-create 2 identical items in their place like the new Bozar ammo for example?
 
Just going to drop in again and say how bad ass this mod is. I'm doing my yearly playthrough of Fallout 2, and this mod is now a necessity for me. The crafting, the traps, the barter, the extra weapons... just amazing.


However, phobos, I've noticed something a bit strange (though certainly not gamebreaking). When I put on the mirrored shades (+1 CHA), my barter and speech go up, but so do the prices I pay! Not by much, but a stack of .44 ammo was 425 caps without the glasses, and 428 with. I tried a few times, and other items go up as well. I have ~80 barter and 6 CHA (with shades, 76 and 5 without).

What do you think it could be? My prices should go down with barter, right? I know you used a non-linear barter function (log or arc tangent, IIRC), but it should be strictly decreasing in barter, right? Just something weird. It's by no means game breaking, and it could be the RP or my own mods conflicting with it.

Once again, this mod is awesome Phobos. Just wanted your opinion on this.
 
Ahh, one more thing...

Where in the hell do I find the teacher for electronics? I knew at one time, but on this playthrough I can't for the life of me figure it out. Vic suggests to go to Vault City. I've checked the computers in the vault, talked to Val, she didn't teach me anything (though it the prompt said I learned something, go figure). I don't know who else would teach me? Thanks!

edit- found it. Vault 15 computer. Sneaky!
 
Last edited:
Hi! I'm trying to play my 2nd playthrough with your mod but there is some complications regarding entering different cities. It's all black and I can't leave. I made sure that Restoration Project 2.3.3 was installed first before your mod or is it the other way around? Please help I'm dying of excitement. :wiggle:
 
Nevermind. I manage to run the game by setting the "Proto folder" to read-only. Took me a whole day to figure this out. Great mod by the way! :aiee:
 
Here are lockpicks recipes:

Code:
{4100}{}{[ITEM]}
{4101}{}{84}  # PID_LOCKPICKS
{4102}{}{pcx/items/lockpick.pcx}  # in-game image
{4103}{}{91063}  # image width * 1000 + height
{4104}{}{}  # no schematic
{4105}{}{72000}  # 2 h 00 m
{4106}{}{NO}
{4107}{}{11}  # Misc
{4108}{}{[TOOLS]}
{4109}{}{75|308}  # PID_MULTI_TOOL | PID_SUPER_TOOL_KIT
{4110}{}{[SKILLS]}
{4111}{}{REPAIR:45}
{4112}{}{LOCKPICK:45}
{4113}{}{[COMPONENTS]}
{4114}{}{98:1}  # Junk

{4200}{}{[ITEM]}
{4201}{}{410}  # PID_EXPANDED_LOCKPICKS
{4202}{}{pcx/items/lockpick2.pcx}  # in-game image
{4203}{}{75044}  # image width * 1000 + height
{4204}{}{}  # no schematic
{4205}{}{144000}  # 4 h 00 m
{4206}{}{NO}
{4207}{}{11}  # Misc
{4208}{}{[TOOLS]}
{4209}{}{308}  # PID_SUPER_TOOL_KIT
{4210}{}{[SKILLS]}
{4211}{}{REPAIR:65}
{4212}{}{LOCKPICK:55}
{4213}{}{[COMPONENTS]}
{4214}{}{84:1}  # Lockpicks
{4215}{}{98:2}  # Junk


In fact, pretty much all standard weapon upgrades could be added to the crafting system, if someone wanted to expand it.

BTW, for anyone doing PCX: background color hex code is 282828
 

Attachments

Last edited:
Seems that "Switch ammo" party order doesn't work in combat. I think that could be useful.
 
Crafting window could probably use some intermidiate options between "Make 1" and "Make all". 5, 10, 20, etc.


And, those Morton brothers are really a bitch. The only way to get through those encounters without losses is to have power armor. I guess the dude alone could survive on Psycho, but NPCs get shredded to pieces.
 
Last edited:
So I installed your mod and I'm digging it so far. No bugs encountered.

Initial thoughts:

1) I find myself just not buying or selling anything from anyone (I intentionally didn't tag barter), which is fine I guess. Tagging barter and pumping it to 100 brings prices into the reasonable realm, which is fine.

2) The crafting recipes seem useless, but maybe that changes as I get further into the game (I just finished the Den). Maybe if the costs of the components were lower, I'd consider making some of it (even rope is too expensive to buy when I see it). I look at the recipes, and the costs of the components without barter tagged, and I think: "Not worth it." I think it would play out better if the components were very cheap, but crafting useful things required tagging and pumping other skills (like taps, I suppose). Just use traps as generic crafting skill and ditch the repair requirement since Vic takes care of that anyways. Having to tag + pump up Traps is as balanced as you're going to get. I dunno, but for now I'm just going to see how this goes plays out the way it is. EDIT: It looks like it's worth using if you find the components and want to make things out of it you actually want to use -- but not to sell, unless you pump up your barter skill maybe. If that was the goal, then that's cool. I haven't seen anything that makes me want to tag traps or repair instead of something else, though.

3) I like what you did with throwing, EDIT: Woops, forgot flares are different in fallout 2... you can't aim them (or it was "fixed" in some unofficial patch I have installed now). Disregard the rest! haha ... but I don't think people realize just how broken op throwing really is and was because of flares. Flares only cost 1 AP to throw. The fact that they do only 1 damage doesn't matter because with finesse (10%) + aimed shots to the eyes (60%) + 10 luck (10%)+ 3 levels of more criticals (15%) you have 2ap (because using aimed shots) ranged attacks that have a 95% chance to crit, and with better criticals, you have a 20% chance of outright killing anything on each throw. Not to mention grenades, which are decent (but not so decent with finesse because it adds 30% DR to enemies even when using grenades which can never crit). Really the more criticals are just gravy. 80% to crit is usually good enough. So, really, even if your mod added 5% more damage per percentage of throw, it wouldn't be overpowered compared to throwing flares at eyes. I almost forgot to mention they have the accurate weapon trait. So, I recommend upping the AP cost of un-burning and burnt-out flares to 2ap (and also remove their accurate trait). Leave the OPness of burning flares (and change their damage type to fire for the lols) since they eventually burn out, and then balance your throwing damage bonus and thrown weapon AP around around that to keep every other weapon competitive. The fact that things are broken op if you build your character that way isn't a problem... it's only a problem when things are op without spending perks/traits/many skill points. You'll need to drop the AP on them some and set the damage bonus to 3%. Also increase the throwing range on throwing knives and throwing axes to something closer to 30.

4) This only touches on this mod tangentially, but I noticed steal is way overpowered even without any points spent in it. I don't know if it's always been that way in fallout 2, or if sfall touched the engine's formula, or maybe someone changed the size field for the items in the proto files, but stealing is way too easy even at 27% skill. I succeed like 80% of the time on stacks of golden gecko hides, kinda defeating the point of the economy balance of the mod. My personal solution was to modify all the sizes of the items to be between 15 and 100:
a) weight 0: size = 5
b) weight 1 - 4: size = weight * 15
c) weight 5+: size = 100
At 15 (for ammo for example), it required too much save scumming to steal stuff without putting some points into it (I also set everything with weight of 0 to have a size of just 5). I also set all drugs to have a weight of at least 1. So stuff with really high weights would require getting the pickpocket perk (which I personally changed to being a level 3 perk)... that's about as balanced as steal is going to get. Note: if increasing sizes of items then the max size of all containers need to be increased as well.
5) I like what you did with sneak because normally points spent past 100 were a waste. So, I can set it to give bonus to crit chance past 100 (100% crit chance at 300 skill). Sneak 100 is already pretty damn powerful, but now it might be worth tagging.

EDIT: The sneak attack bonus crit chance seems to work just for the first round of combat. Which is fair enough. I'll probably use these settings then:

sneak_attack_min_skill=101
; max skill at wich you get 100% critical
sneak_attack_max_skill=150

That might make stealth worth tagging because at 150 I wouldn't need to aim my shots for the first round, which could be a significant advantage with fast enough weapons (flares!). Not sure.

EDIT2: On second thought, it's still not worth tagging to bring it all the way to 150 just for some extra AP the first round... so, I'm going with this:

sneak_attack_min_skill=36 ; since you start at 35 with 10 agility
; max skill at wich you get 100% critical
sneak_attack_max_skill=100 ;since it'll never be worth it to go over 100

EDIT3: The only way I'd ever tag sneak is if the silent death perk were changed to be a level 3 perk. I think I'll do that.

EDIT4: Silent Death turns out to be a pretty shitty use of a perk even at level 3, since it doesn't stack with crits. I could modify some traits (like heavy handed adding something like 15 melee damage) to make a non-crit melee build viable if I change the fast hands trait to work with melee/unarmed. That's fine, I guess. But either the sneak attack bonus damage needs to stack with silent death (I think I'd need the uncompiled scripts) or I'd have to reduce the bonus chance to something insignificant. Otherwise, a non-crit hth/melee build becomes a very bad choice once again.

@phobos EDIT: found the ssl files! Can we get access to the ssl script files? I want to modify sneak attack to work with silent death somehow. Anyways, I'm going to do a full playthrough without tagging barter, steal, or gambling... so I should be poor the whole game if I don't put points into them, right?

EDIT 5 and 6: error in mod.h (updated after double-checking the PID numbers -- under 15 doesn't match the file numbers, which is weird but correct):
#define is_club_weapon_pid(x) ((x== 5) or (x==20) or (x==384) or (x==386))
#define is_club_weapon(x) is_club_weapon_pid(obj_pid(x))

// is weapon hammer-like --
#define is_hammer_weapon_pid(x) ((x==6) or (x==115))
#define is_hammer_weapon(x) is_hammer_weapon_pid(obj_pid(x))

... is_club_weapon_pid was in both places, so it skipped checking hammers in hs_combatdamage.

EDIT7: So, here's what I did to integrate silent death into the whole sneak attack thing:

mod.h defines:
Code:
#define is_small_gun_pid(x)    ((x==241) or (x==313) or (x==398) or (x==18) or (x==404) or (x==122) or (x==8) or (x==22) or (x==388) or  (x==394) or (x==300) or (x==332) or (x==283) or (x==9) or (x==296) or (x==23) or (x==405) or (x==353) or (x==351) or (x==403) or (x==500) or (x==352) or (x==391) or (x==299) or (x==261) or (x==161) or (x==162) or (x==10) or (x==287) or (x==143) or (x==392) or (x==385) or (x==94) or (x==242) or (x==268) or (x==354))
#define is_small_gun(x) is_small_gun_pid(obj_pid(x))
     
#define is_big_gun_pid(x)  ((x==355) or (x==350) or (x==387) or (x==12) or (x==389) or (x==395) or (x==11) or (x==400) or (x==13) or (x==575) or (x==630))
#define is_big_gun(x) is_big_gun_pid(obj_pid(x))
         
#define is_energy_gun_pid(x) ((x==16) or (x==402) or (x==393) or (x==390) or (x==24) or (x==406) or (x==396) or (x==120) or (x==28) or (x==118) or (x==401) or (x==15) or (x==233) or (x==397))
#define is_energy_gun(x) is_energy_gun_pid(obj_pid(x))
         
#define is_grenade_pid(x)   ((x==25) or (x==26) or (x==27) or (x==421) or (x==159) or (x==613))
#define is_grenade(x) is_grenade_pid(obj_pid(x))

#define is_sharp_thrown_pid(x) ((x==45) or (x==365))

hs_afterroll.ssh
Code:
procedure start;
#include ".\headers\define_lite.h"
#include ".\headers\lib.arrays.h"
#include ".\headers\mod.h"

/**
    Runs after fallout has decided if an attack will hit or miss

    int     arg1 - If the attack will hit. (0 - critical miss, 1 - miss, 2 - hit, 3 - critical hit)
    critter arg2 - The attacker
    critter arg3 - The target of the attack
    int     arg4 - The bodypart
    int     arg5 - The hit chance

    int     ret1 - Override the hit/miss
    int     ret2 - Override the targeted bodypart
    critter ret3 - Override the target of the attack
*/

export variable pbs_last_hit_roll_result; //dj note: I don't know where this is actually used
export variable dj_dude_last_hit_roll_result; // dj: added -- this one is only for dude_obj, just to be sure
export variable dj_dude_last_hit_was_sneak_attack := 0; // dj: added
export variable dj_set_who_see_dude; //dj: change to exported

variable begin
    ini_sneak_attack;
    ini_sneak_attack_min_skill;
    ini_sneak_attack_max_skill;
end

procedure start begin
    variable willHit;
    variable attacker;
    variable target;
    variable bodyPart;
    variable hitChance;
    variable wpn, i;
    variable skill;
    variable damageType;
    //variable agility;
    //variable attackTypes_8;
    //variable attackTypes;
    //variable bonusDamage;


    if (init_hook) then begin
        ini_sneak_attack := atoi(get_ini_string("combat.ini|STEALTH|sneak_attack"));
        ini_sneak_attack_min_skill := atoi(get_ini_string("combat.ini|STEALTH|sneak_attack_min_skill"));
        ini_sneak_attack_max_skill := atoi(get_ini_string("combat.ini|STEALTH|sneak_attack_max_skill"));

        dj_set_who_see_dude := load_create_array(ARR_CRITTERS_SEE_DUDE, 0);

    end else begin
        willHit   := get_sfall_arg;
        attacker  := get_sfall_arg;
        target    := get_sfall_arg;
        bodyPart  := get_sfall_arg;
        hitChance := get_sfall_arg;

        pbs_last_hit_roll_result := willHit;

        if (target and attacker) then begin
            //display_array(pbs_set_who_see_dude);
            //debug_msg("afterhitroll: "+willHit+" chance="+hitChance+"%% t="+target+" type="+obj_type(target)+" tpid="+obj_pid(target));
            // for Molotov:
           if (obj_type(target) == OBJ_TYPE_CRITTER and (willHit == 2 or willHit == 3)) then begin
               damageType := DMG_fire;
           end else begin
               damageType := DMG_explosion;
               set_proto_data(PID_MOLOTOV_COCKTAIL, 48, damageType);
           end //end Molotov code

           // fix for grenade launcher, this is required because one weapon has different damage types!
           if (damageType == DMG_fire) then begin
               damageType := DMG_explosion;
                 for (i:=1; i<=2; i++) begin
                    wpn := critter_inven_obj(attacker, i);
                    if (wpn) then begin
                        if (get_weapon_ammo_pid(wpn) == PID_PBS_40MM_IC) then begin
                            damageType := DMG_fire;
                        end
                    end
                end
            end

            set_proto_data(PID_PBS_M79, 48, damageType);
            set_proto_data(PID_PBS_MGL, 48, damageType);          

            // sneak attack stuff
            if (attacker == dude_obj) then begin
                dj_dude_last_hit_was_sneak_attack := 0; //DJ: exported so this info can be used in hs_combatdamage hook script
                dj_dude_last_hit_roll_result := willHit; //DJ: exported so this info can be used in hs_combatdamage hook script
               if (has_trait(TRAIT_PERK, dude_obj, PERK_silent_death)) then begin
                   if (ini_sneak_attack and obj_type(target) == OBJ_TYPE_CRITTER) then begin
                       skill := has_skill(attacker, SKILL_SNEAK);   
                        if ((willHit == 2) and using_skill(attacker, SKILL_SNEAK) //DJ: Fixed -- don't do anything if it was already a crit!
                        and random(ini_sneak_attack_min_skill,ini_sneak_attack_max_skill) < skill) then begin
                           //display_array(dj_set_who_see_dude); //DJ: debug message used to verify export works both ways (it does!)
                           if (not(is_in_array(target, dj_set_who_see_dude))) then begin //DJ: exported so this info can be used in hs_combatdamage hook script
                               // DJ: Sneak attack!  Upgrade normal hit to critical
                               dj_dude_last_hit_was_sneak_attack := 1;
                               dj_dude_last_hit_roll_result := 3;       
                               //display_msg(combat_mstr(5001));                               
                               set_sfall_return(3);
                            end
                        end                         
                   end
               end
            end //end of: (attacker == dude_obj)

        end // end of: (target and attacker)
    end // end of: if (init_hook) then begin + end else begin
end

hs_combatdamage.ssl
Code:
procedure start;
//#include "..\headers\ITEMPID.H"
//#include "..\headers\SCENEPID.H"
#include ".\headers\sfall.h"
#include ".\headers\DEFINE_lite.H"
#include ".\headers\mod.h"
#include ".\headers\lib.arrays.h"

#define ATTACK_TYPE_THROW 5
#define BODYPART_HEAD 0
#define BODYPART_LEFT_ARM 1
#define BODYPART_RIGHT_ARM 2
#define ITEMTYPE_WEAPON (3)

/**
    Runs whenever the target takes damage in combat. Does not run for misses, or on extra targets when bursting.

    critter arg1 - The target
    critter arg2 - The attacker
    int     arg3 - The amount of damage to the target
    int     arg4 - The amount of damage to the attacker
    int     arg5 - The special effect flags for the target
    int     arg6 - The special effect flags for the attacker
    int     arg7 - The weapon used in the attack
    int     arg8 - The bodypart that was struck

    int     ret1 - The damage to the target
    int     ret1 - The damage to the attacker
    int     ret1 - The special effect flags for the target
    int     ret1 - The special effect flags for the attacker
*/

variable begin
    ini_knockout;
    ini_knockout_min_skill;
    ini_knockout_max_skill;
end

import variable dj_dude_last_hit_roll_result;
import variable dj_dude_last_hit_was_sneak_attack;
import variable dj_set_who_see_dude;

procedure start begin
    variable target;
    variable attacker;
    variable target_damage;
    variable attacker_damage;
    variable target_flags;
    variable attacker_flags;
    variable weapon;
    variable body_part;
    variable skill;
    variable weaponPid;
    variable stealth_weapon;

    if (init_hook) then begin
        ini_knockout := atoi(get_ini_string("combat.ini|STEALTH|knockout"));
        ini_knockout_min_skill := atoi(get_ini_string("combat.ini|STEALTH|knockout_min_skill"));
        ini_knockout_max_skill := atoi(get_ini_string("combat.ini|STEALTH|knockout_max_skill"));
    end
    else begin
        target := get_sfall_arg;
        attacker := get_sfall_arg;
        target_damage := get_sfall_arg;
        attacker_damage := get_sfall_arg;
        target_flags := get_sfall_arg;
        attacker_flags := get_sfall_arg;
        weapon := get_sfall_arg;
        body_part := get_sfall_arg;

        if (target and attacker) then begin     
           if (weapon) then weaponPid := obj_pid(weapon);
           //display_msg("weaponPID: " + weaponPid); //debug message
            if (obj_type(target) == OBJ_TYPE_CRITTER) then begin 
                //debug_msg("combatdamage: "+target+" (type:"+obj_type(target)+"), wpn: "+weaponPid+", flags: "+target_flags+", part: "+body_part);
                if (attacker == dude_obj and has_trait(TRAIT_PERK, dude_obj, PERK_silent_death)) then begin             
                   if (using_skill(attacker, SKILL_SNEAK) and attacker_behind_target(attacker, target)) then begin         
                       if (is_small_gun_pid(weaponPid) or is_big_gun_pid(weaponPid)
                       or is_energy_gun_pid(weaponPid) or is_grenade_pid(weaponPid)) then begin
                           stealth_weapon := 0;
                       end         
                       else begin
                           stealth_weapon := 1;
                       end
                       if (dj_dude_last_hit_roll_result == 3) then begin
                           if (stealth_weapon) then begin
                               target_damage := target_damage * 2;    //DJ: so silent death works with crits
                               if (dj_dude_last_hit_was_sneak_attack) then begin
                                   display_msg("Silent Death sneak attack!");                                         
                               end else begin
                                   display_msg("Silent Death!");                                         
                               end
                           end
                           else if (dj_dude_last_hit_was_sneak_attack) then begin //is using stealth weapon and it's a crit              
                               call add_array_set(dj_set_who_see_dude, target);
                               //display_msg("debug: added " + target);
                            end
                       end
                       else if (dj_dude_last_hit_roll_result == 2) then begin
                           if (stealth_weapon) then display_msg("Silent Death!"); //DJ: Normally there's no feedback
                           if (weaponPid) then begin         
                               if (is_sharp_thrown_pid(weaponPid)) then begin
                                   target_damage := target_damage * 2;    //silent death already handles melee/unarmed on non-crits                 
                                end              
                                else if (ini_knockout
                                and (body_part == BODYPART_HEAD)
                                and is_human(target)
                                and (is_club_weapon_pid(weaponPid) or is_hammer_weapon_pid(weaponPid))
                                and not ((target_flags bwand DAM_KNOCKED_OUT) == DAM_KNOCKED_OUT)) then begin //dj: prevent multiple triggering of stealth knockout
                                    //knockout people, hitting them in head with a club from behind
                                   skill := has_skill(attacker, SKILL_SNEAK);
                                   if (random(ini_knockout_min_skill, ini_knockout_max_skill) < skill) then begin
                                       target_flags := target_flags bwor DAM_CRITICAL bwor DAM_KNOCKED_OUT;
                                       display_msg("Stealth knockout!");
                                   end
                               end                                                                             
                           end // end of: weaponPid)
                       end    // end of: dj_dude_last_hit_roll_result == 3) + else if ((dj_dude_last_hit_roll_result == 2) 
                   end // end of: (using_skill(attacker, SKILL_SNEAK) and attacker_behind_target(attacker, target))
               end // end of: if (attacker == dude_obj and has_trait(TRAIT_PERK, dude_obj, PERK_silent_death))
     
               //taser stuff
                if (weaponPid == PID_PBS_TASER) then begin
                    if ((is_human(target) or is_animal(target)) and get_critter_stat(target, STAT_dmg_thresh_electrical) < 10) then begin
                        target_flags := target_flags bwor DAM_LOSE_TURN;
                        if (random(0,99) < (110 - (10 * get_critter_stat(target, STAT_en)))) then begin
                            target_flags := target_flags bwor DAM_CRITICAL bwor DAM_KNOCKED_DOWN;
                        end
                    end
                end    //end of: (weaponPid == PID_PBS_TASER)
            end // end of: (obj_type(target) == OBJ_TYPE_CRITTER)
        end // end of: (target and attacker)

        //debug_msg("combatdamage after, target was "+target);

        set_sfall_return(target_damage);
        set_sfall_return(attacker_damage);
        set_sfall_return(target_flags);
        set_sfall_return(attacker_flags);
    end
end

What I like about this is that it makes silent death worth taking, and I made it work with thrown weapons... and crits for melee/unarmed/pure thrown (except grenades). But, if you use a non-stealthy weapon (like a gun), then a sneak attack is still possible but only once (it then adds the target to the array). The array should essentially be cleared whenever you leave combat, though. Something left to do -- just not sure how to do it. I might have to move the array export to another script (hs_mouseclick or dube_obj should work). What's the best way to remove all elements from an array? Free and create it again, or just resize it to 0? There's no array_clear(...) afaik. I'm not even sure what's a good way to detect the first round of combat or even when combat is over.
 
Last edited:
Hi,

I found the mod recently. Absolutely love the idea. However, I kinda hate changes to AP on pistol, turbo plasma (and removal of bonus rate of fire as a consequnece). IMO this has a undesired effect of pistols being too good and fast shot being just too obvious choice to pick as a trait. Changes on range are not enough to compensate IMO especially once you get to end game with sniper. Character has a choice of max 2 aimed rifle shots per turn vs. up to 4 pistol/turbo plasma normal shots (5 with some extreme character configuration and extreme drug use).

Is there any way to make pistols modyfing mod files as they were in Vanilla game?

Unfortunately this opiton does not seem to be possible to turn off in the installation menu.
 
Here are lockpicks recipes:

[...]

In fact, pretty much all standard weapon upgrades could be added to the crafting system, if someone wanted to expand it.

BTW, for anyone doing PCX: background color hex code is 282828

Yes, it's really easy to mod items into crafting. I've added most upgraded armors, numerous weapons, and a few different ammo types. It makes the crafting so amazing. The only issue is that it gets over powered if you have Vic and Myron, since their repair/science skills are over 100 once fully leveled.


Hi,

I found the mod recently. Absolutely love the idea. However, I kinda hate changes to AP on pistol, turbo plasma (and removal of bonus rate of fire as a consequnece). IMO this has a undesired effect of pistols being too good and fast shot being just too obvious choice to pick as a trait. Changes on range are not enough to compensate IMO especially once you get to end game with sniper. Character has a choice of max 2 aimed rifle shots per turn vs. up to 4 pistol/turbo plasma normal shots (5 with some extreme character configuration and extreme drug use).

Is there any way to make pistols modyfing mod files as they were in Vanilla game?

Unfortunately this opiton does not seem to be possible to turn off in the installation menu.

You can just use F2wedit to change anything about the weapons you want (AP cost, range, damage, cost, weight, ammo type... anything really). Put it in your main Fallout2 folder and edit away. I would make a backup of the proto files just in case though.
 
I tried to send a pull with lockpicks on github, but it seems test0.msg isn't included in the sources. Is that intentional?
 
[QUOTE="J
You can just use F2wedit to change anything about the weapons you want (AP cost, range, damage, cost, weight, ammo type... anything really). Put it in your main Fallout2 folder and edit away. I would make a backup of the proto files just in case though.[/QUOTE]

I came to terms with the change and I am already half way through. In the end it is not that important of a change for someone who knows the game inside out. I later realized that you made plasma rifle accessible much later and that changes to economy and that economy makes acquiring good weapons more diificult. Ergo it does not make that big of a deal. I think that in the end I even came to like this change ;).
 
Phobos,

I'm trying to add some items to the vendors, but notice the scripts for their appropriate item boxes are a bit different than vanilla formulas.

Say I wanted to add an item to Flick's stock in the Den, usually I would just add the line:

check_restock_item(itemPID, 1, 2, 100)

Below the restock call.

However, I don't find this in the script for Tubby's inventory (ditubbox.int). I admit I'm very much a novice, but was wondering if you could point me in the right direction so that I may add items to the vendors while using your mod.


Thanks! Loving the mod, as always.
 
I am finishing the game with the mod installed. I must say I kinda enjoyed. However I have a few suggestions. However, please bear in mind that my observations are biased by how I play the game. I always Ironman with permadeath (and I am adamant about it) and I like to keep companions in my party to add variaty to gameplay (which might not always be optimal for ironmaning)

1. Mod felt a little "grindy" at times.
Due to changes to barter prices I had to spend more time selling useless junk, to get things I wanted (mostly drugs). I think that lowering the price for drugs somewhat might be something worth considering. Just for the sake of convenience. When Ironmaning use of drugs is almost unavoidable. With changes to how ammo and guns applied by the mod this is even more true i.e. most early game thugs can shoot now twice with pistols. Without psycho it is almost impossible to survive any encounter etc.

2. There should be added some powerful single shot rifle to the game other than Gauss.
This is with the sole purpose of equiping NPCs with it. The mod made Cassidy one of the most usless NPCs while elevating Sulik to probably be the best (at least for 80% of the game). The problem with Cassidy now is that I cannot give him any burst weapon i.e. FN FAL as he is likely to kill some of my other companions with it or me. I can give him sniper rifle to shoot once, but sniper now has low range penalties and companion AI is unable to take this into account (and switching Cassidy to snipe the enemy is an overall bad idea since I need my companions close to me to be able to heal them). The best I can give him is normal shotgun or hunting rifle which he will be able to fire once (as he cannot use drugs for the most of the game). In vanila there is Red Ryder Le BB that he can fire twice, but this is not true in the mod. Late game I cannot give him Gauss as ammo is so severly limited that you simply cannot afford to give him Gauss.... at the same time he cannot even use 14mm pistols (which are one of the best mid game weapon in the mod). He is stuck with hunting rifle for the entire game. Most of this is true for VIC as well BUT VIC can use drugs meaning 2 shots and not one. Also late game he can use Laser rifle which keeps his usefulness.

3. 14mm pistol vs. .233 pistol
I understand the reasoning for changes for those two pistols but the end result is that .223 pistol now is almost useless. 14mm pistol is now a GREAT weapon, like really great. For 80% of the game it ignores all armor. Sulik and Lenny simply wreak havoc with it (and ammo is cheap). .233 pistol you get very very late into the game now. At that point in time all the enemies you encounter are heavily armored. .223 pistol does more damage on unarmored targets but on armored ones it deals more or less same as 14mm pistol. With the .223 AP ammo (craftable), it does slightly more but the difference is difficult to even notice. Ergo .233 pistol comes into play way too late to make any difference for your NPCs. 14mm you can get rather early in the game (Redding or Gecko) and basically it can well be your NPC go to weapon for most of the game. Please note that this is somewhat biased again by my playstyle. Since I am ironmanning I want to delay Valut 15 encounter as long as possible as it is kinda dangerous. This means that .233 pistol I get really late. I also avoid things like going straight to San Fran, since it spoils any kind of challange....
 
Last edited:
@kordi, some points regarding 2):
- there's bozar (although it's even more rare)
- I think you're mistaken about sniper rifle. It doesn't have close range penalties.
- and lastly, for the solution of the burst problem - check out my mod
 
@kordi, some points regarding 2):
- there's bozar (although it's even more rare)
- I think you're mistaken about sniper rifle. It doesn't have close range penalties.
- and lastly, for the solution of the burst problem - check out my mod

- I believe that Cassidy cannot use Bozar. Can he? However, even if he can Ammo is as rare as Gauss. So it does not help in this regards.
- I am 99,5% certain that in the Ecco mod sniper rifle has short range penalties. I know that in vanilla it does not but in the Ecco mod it has. (which kinda makes sense)
- Is it possible to combine your mod with Ecco Mod? Won't it cause problems?
 
With Ecco, bozar is just another rifle, so why not. Not sure where did you get that info about penalties, but you can check the actual item with f2wedit. Yes, my mod is (supposed to be) compatible with Ecco, or just about any other mod.
 
Back
Top