Supply and Demand Mod (Download Added)

JimTheDinosaur

Vault Dweller
Modder
This should help to make the game a lot more balanced. Right now, the game starts out nice and challenging because you need to marshal your resources, making every new gun you manage to find or purchase vital; by the end you're lugging around dozens of desert eagles which shopkeepers are inexplicably willing to shell out enormous quantities of cash for. Now, when a map is flush with desert eagles, shopkeeps won't spend nearly as much on them as they would previously.

Another improvement will be that the barter ability will finally serve a gameplay purpose. Now you can use the skill to buy in Jet in New Reno, Gold in Redding, Gecko pelts in Klamath and sell them elsewhere for a profit. It will also let us improve the quests in Fallout 2 which should have used the barter skill, but don't, like the booze running quest in Vault City. Now it won't even have to be an official quest; just place cash in the bartender's inventory, let the player buy booze in the courtyard on the cheap and sell it at a profit to the bartender after smuggling it in.

EDIT: Download (along with my other scripts) here.
 
Great idea and kudos if you succeed in implementing it. Personally I've always thought the raw amount of loot needs to be drastically reduced as well.
 
Hmmm... not that I know how to script this but couldn't you approach it this way:
1- Build a list dynamically of all protos that have a price (given only weapons and items should have that value)
2- Do a compare of those proto ids against the proto ids the player has in his/her inventory, and build that list
3- Do what you do to set their prices

Just a thought.

EDIT:
Duh - I think that's what you already purposed. *hand smacks face*
 
Boy does FO2 need this. The lack of *any* economic system really drags the mid-late game down. But back in 1998 i guess no games had economic systems.
 
Well, I tried a couple of things with arrays, but I'm now pretty sure I need something else. It's really frustrating, because I'm pretty sure there has to be some way to make a very simple list of values; I mean, you already have pretty much that principle with "random(1,n)", except I just want a regular list going from 1 to n.

Josan12 said:
Boy does FO2 need this. The lack of *any* economic system really drags the mid-late game down. But back in 1998 i guess no games had economic systems.

The weird thing is, judging by the Den orphan script, there must have been at least one scripter working on the game who was interested in at least some basic economic stuff. Because the system used in the orphan script is surprisingly complex (orphans steal items, go back to boss, sell items to him for quarter price).

Could be that they intended to introduce some economics, but it was just one of the many ideas that got cut in the rush. I can't imagine they didn't notice how incredibly broken the economics of Fallout 1 were (on my last playthrough, I remember I didn't spend a single bottlecap throughout the game).
 
Surprisingly, I actually managed to produce something:

Code:
procedure start;


#include "C:\Program Files (x86)\GOG.com\Fallout 2 Mapper\scripts\HEADERS\sfall.h"
#include "C:\Program Files (x86)\GOG.com\Fallout 2 Mapper\scripts\HEADERS\define.h"
#include "C:\Program Files (x86)\GOG.com\Fallout 2 Mapper\scripts\HEADERS\command.h"


procedure start begin
  variable critter;
  variable container;
  variable n;
    variable amount;
  if game_loaded then begin
    set_global_script_type(1);
    set_global_script_repeat(100);
  end else begin
  if get_sfall_global_int("priceset") ^ 524 then begin 
    n:=get_sfall_global_int("priceset");
    //display_msg("GVAR SET" + get_sfall_global_int("priceset"));
  if (get_sfall_global_int("priceset") == n)  then begin
      foreach critter in list_as_array(LIST_CRITTERS) begin
      amount+=obj_is_carrying_obj_pid(critter,n);
    //display_msg("amount" + amount);
      end
      foreach container in list_as_array(LIST_GROUNDITEMS) begin
      amount+=obj_is_carrying_obj_pid(container,n);
      end
    if amount > 0 and not (n == 41) then begin
    set_proto_data(n, 120, (pid_cost(n)/(amount)));
    //display_msg("cost" + pid_cost(n));
    end
    amount:=0;
    set_sfall_global("priceset", n+1);  
    //display_msg("what" + n);
    end
    end
  end
end
(Had to change the "lesser than" symbol into ^ for the site)

The sequence gets fired by the player entering a new map, which causes the sfall global to be reset to 1 (hence the dude_obj script in the download; if you're wary of accepting a stranger's dude_obj, then just add "set_sfall_global("priceset", 1);" under map_enter_p_proc and you're set). The script checks for every item proto (1-524) how many of it someone or some container is carrying, and if this number is more than 0 the price gets adjusted. For the moment, the formula is still quite (too) simple: original price divided by amount on map. The practical consequence is that, for instance, your spear will now net only 13 dollars in Arroyo, instead of the original 80. I've tested it in the Arroyo and Klamath maps, and it seems to work great. Hope you find some use for it (the download is in the original post).

EDIT: Whoops, forgot that I of course have to exclude money from the equation (as it is now, money becomes literally worthless), will have a new download up in a while.

EDIT: Fixed. I briefly considered also exempting stimpacks and the like from the supply and demand mechanic, but I think they should also be affected. After all, aren't the slags always whining about medical supplies? A trader should have the opportunity to make some money off of them and others.
 
I'm very interested in this mod. But your download has no instructions!

And I'm a modding newbie :oops:

How do I apply it?
 
lujo said:
I'm very interested in this mod. But your download has no instructions!

And I'm a modding newbie :oops:

How do I apply it?

Sorry, but I think I'll only add a readme by the time I can make it compatible with RP/UP, which shouldn't take too long. Practically everybody who'd potentially be interested in it has RP/UP installed anyway, so I figured I might as well wait, and keep this version only for the few modders who might be interested to give it a try.
 
JimTheDinosaur said:
lujo said:
I'm very interested in this mod. But your download has no instructions!

And I'm a modding newbie :oops:

How do I apply it?

Sorry, but I think I'll only add a readme by the time I can make it compatible with RP/UP, which shouldn't take too long. Practically everybody who'd potentially be interested in it has RP/UP installed anyway, so I figured I might as well wait, and keep this version only for the few modders who might be interested to give it a try.

So this will be available through a future RP update? :)
 
lujo said:
So this will be available through a future RP update? :)

No, no, no; I just have to make them compatible, which I can only do when they finish the final release (long story). But after that I think installation will be extremely easy anyway (it will probably just be a matter of copy pasting the scripts to the scripts folder if you already have the RP installed).
 
Thanks. I did an extensive bit of reading on your mods after seeing this one. I like your general outlook on the concepts of canon and putting gameplay considerations before realism (yet proposing it well enough that you catch flak from people trying to explain the whole "realism in games not always the best idea" thing :) ).

I've been meaning to propose a bit of sprucing up on the "game was criminally phoned in" front, and volunteer for dialogue and quest material. I'm a pretty experienced writer, and I've been through PT and FO plenty of times, so I'm sure I could match the original writing (brevity is key most of the time). My ideas include quests which use caravan rides to "move" people/groups from one town to another (no need to involve them in combat though) - and since it's mostly people who'd be non-interactive, are fictive, or would be killed anyway, the game wouldn't lose much. Ideas include moving the racist humans from broken hills to redding as a replacement workforce for the miners that the enclave took to mariposa, bringing a detachment from vault city (nurse phylis) to the den to cure it's drug problems (set her up in the residential), moving NCR settlers to a safehouse, traveling with new recruits to the raiders outpost from New Reno and possible quests there for evil characters (or a chance to talk to shadow-who-walks...

Also, livelying the politics of different fractions a bit - early Brotherhood quests in the den/modoc area (simply tying them into existing ones) and in the NCR tied with enclave going-ons around New Reno. Introducing hubologists earlier the vault city courtyard and the abbey (sources of information), so that you only discover the shi in san fran. Possibly tying a few factions to EPA, SAD, Mariposa and Vault 15 (info and minor fetch quests, with the possibility gradual, repeated trips to the EPA).

I'd try tying all that to existing stuff, and rearranging the XP a bit. It'd mostly patch the world together and make more use out of the tiny towns and all the blank/disjointed elements already present. Srry for typing it all up here, just though you might be interested. I could write you up a full plan if you'd like, and delete all this if it's spam.
 
lujo said:
Thanks. I did an extensive bit of reading on your mods after seeing this one. I like your general outlook on the concepts of canon and putting gameplay considerations before realism (yet proposing it well enough that you catch flak from people trying to explain the whole "realism in games not always the best idea" thing :) ).

I've been meaning to propose a bit of sprucing up on the "game was criminally phoned in" front, and volunteer for dialogue and quest material. I'm a pretty experienced writer, and I've been through PT and FO plenty of times, so I'm sure I could match the original writing (brevity is key most of the time). My ideas include quests which use caravan rides to "move" people/groups from one town to another (no need to involve them in combat though) - and since it's mostly people who'd be non-interactive, are fictive, or would be killed anyway, the game wouldn't lose much. Ideas include moving the racist humans from broken hills to redding as a replacement workforce for the miners that the enclave took to mariposa, bringing a detachment from vault city (nurse phylis) to the den to cure it's drug problems (set her up in the residential), moving NCR settlers to a safehouse, traveling with new recruits to the raiders outpost from New Reno and possible quests there for evil characters (or a chance to talk to shadow-who-walks...

Also, livelying the politics of different fractions a bit - early Brotherhood quests in the den/modoc area (simply tying them into existing ones) and in the NCR tied with enclave going-ons around New Reno. Introducing hubologists earlier the vault city courtyard and the abbey (sources of information), so that you only discover the shi in san fran. Possibly tying a few factions to EPA, SAD, Mariposa and Vault 15 (info and minor fetch quests, with the possibility gradual, repeated trips to the EPA).

I'd try tying all that to existing stuff, and rearranging the XP a bit. It'd mostly patch the world together and make more use out of the tiny towns and all the blank/disjointed elements already present. Srry for typing it all up here, just though you might be interested. I could write you up a full plan if you'd like, and delete all this if it's spam.

Sorry for the late response. I originally wanted to do something more or less similar; I wanted to make a mod which'd develop on the factional politics and just generally add some more potential for C&C (mainly to not have the consequences played out in slide shows, but in the game itself). Got distracted by the mechanics modding though, and now I've lost the motivation to do it (only thing I actually finished was an extended "stupid" "quest" where you'd come into the service of Keeng Ra'at and you'd spawn lots and lots of rats on each map who'd fight for you, so you can tell the level of devotion). But good look to you if you end up trying something. My advice'd be to work in small bite-sized bits and build on what's already there in the core game (specifically, wait for the RP source to come out and build on that).
 
JimTheDinosaur said:
(only thing I actually finished was an extended "stupid" "quest" where you'd come into the service of Keeng Ra'at and you'd spawn lots and lots of rats on each map who'd fight for you, so you can tell the level of devotion). But good look to you if you end up trying something. My advice'd be to work in small bite-sized bits and build on what's already there in the core game (specifically, wait for the RP source to come out and build on that).

I love the Keeng Rat idea. Freindly rats pouring out of the sewers to aid the player in a fight after completing a quest for the Keeng. Really nice. :ok:

I agree also very much with the bite-sized mods.
I've been working on and off on a mod that would/could share the mechanics for your idea to move people around. When you join the Metzger and the slavers i wanted the player to be able to KO tribals and other NPC's and then 'use' chains on them to make them slaves. They would follow the player (and escape under certain circumstances like if the player got more than x hexes away or didn't have a weapon out) as part of the players party. The player could then sell them like any other commodity (and ideally even be affected by Jim's economy mod).
I encountered minor scripting problems to do with adding party members over the limit that a more experienced could overcome with ease....
 
Josan12 said:
When you join the Metzger and the slavers i wanted the player to be able to KO tribals and other NPC's and then 'use' chains on them to make them slaves.
Great idea. That would be fun. :ok:
 
Back
Top