Fallout 2 mod FO2 Engine Tweaks (Sfall)

I have a new request, it should be a similiar function to add like the weather.

Would it be possible to add new weapon effect overlays on the screen. So for example I giant spider shoots a web at the player, the player model then has a new 'web' graphic over layed on top. Kind of like the spell effects in baldurs gate. The 'effect' just needs to be an image that sfall can be scritped to draw on a certian place on the screen for a set duration of time. The script would need to be able to tell where the obj_dude (player) is on the screen on draw the effect there (also on NPCs as well). It could let to making new weapons that have a long term effect on an area of the screen.

- A gas grenade that leaves a gas floating around the screen for a few turns
- A flame thrower than continues to burn an area if you dump enough gas there
- A web effect that get stuck to the player for a few turns

I figure that if you can draw rain overlaying the game then you can overlay special effects in set locations.


*Off Topic*
Would it be possible to script the player/npcs so he cant move for a few rounds if 'webbed'?
 
Wild_qwerty said:
Would it be possible to add new weapon effect overlays on the screen. So for example I giant spider shoots a web at the player, the player model then has a new 'web' graphic over layed on top.
Not really; the big difference between the rain and this sort of effect is that the rain appears on top of everything. For an effect at ground level it might need to be behind other bits of scenery. (e.g. if the player was behind a tree or something.)
 
I just had another idea, is is possible to remove the maximum value of the SPECIAL stats from 10 to a scriptable value?

So if the player was a super mutant you could cap the max strength at 12 instead of 10 but the intelligence max would only be 5 etc...

How I would like to see it work would be on the player creation screen we replace a couple of the traits with new ones called "Super Mutant" and "Ghoul" if the player uses those traits then it sets the maximum stat value for that race.

What do you think?
 
sounds somewhat arcanumish :)

I would be interresting though but you would have to play as a super mutant then.
 
Replace Chem Reliant and Chem Resistant. Both are kind of lame, as you can cold turkey your way out of addiction by resting anyway.
 
sfall already lets the player change its model to a super mutant etc... this would just let you adjust your stat's accordingly.
 
Wild_qwerty said:
I just had another idea, is is possible to remove the maximum value of the SPECIAL stats from 10 to a scriptable value?
I already tried this a while back, although trying to change the limit of all stats rather than individually. Can't remember why I gave it up; I think there was some problems with the character creation screen, and some extra checks outside of the normal get stat functions that I couldn't find. I've worked out a bit more about how stats work since then though, so I'll give it another go.
 
That would be awesome thanks :)

But can you change the number of tag skills from 3? Also is it possible to change what levels the player receives a perk? I think in Fallout Tactics different races receive perks at different levels.
 
OK, got stat modifications working, and as I remembered it buggers up the character creation screen. :(

I don't think I can fix the character creation screen, so I'll have to add it in as set_stat_max(stat, value) script function. My extra traits mod fakes the extra traits as perks that you get to choose at level 1, so if you use that method for the player to pick their race it would occur after game start anyway. (And iirc I've already added script functions to change the players appearance, so that's no issue either.)

Edit: And 1.29b is now out with your extra script function. There's also a fix for Glovz's damage tweak.

Wild_qwerty said:
But can you change the number of tag skills from 3?
There's only 4 slots in the save file. I could probably reduce the number of skills, but not increase.

Wild_qwerty said:
Also is it possible to change what levels the player receives a perk?
Already in. (As I mentioned, my extra traits mod works by granting a perk at level 1.)
 
Cool, so having a stat higher than 10 will give you a bigger bonus? Also for the new traits does it let you pick them at level 1 but not level 2? That way the player has to mutate at the start of the game for example.
 
Wild_qwerty said:
Cool, so having a stat higher than 10 will give you a bigger bonus?
There wouldn't really be much point otherwise...

I've only checked the obvious, (increasing strength above 10 increases your carry weight, skills increase correctly, etc.) but there could still be bits of the game that are expecting a value of 10 or less. Just let me know if you come across any.

Wild_qwerty said:
Also for the new traits does it let you pick them at level 1 but not level 2? That way the player has to mutate at the start of the game for example.
Yes. Here's the relevent bit of the script that handles giving the player an extra perk:

Code:
procedure start begin
	variable mode;
	if (game_loaded) then begin
		mode:=get_sfall_global_int("ts_trt00");
		call setup_choices;
		call setup_perks;
		if(mode==-1) then begin
			call unset_perks;
			return;
		end else if(mode==0) then begin
			if(dude_level>1) then begin
				display_msg("Error: Extra trait mod works for new games only");
				set_sfall_global("ts_trt00", -1);
				return;
			end
			display_msg("Visit the character screen before your first level up to pick your new trait");
			set_perk_owed(1);
			set_global_script_repeat(100);
		end else begin
			call apply_traits_repeat;
			call unset_perks;
		end
	end else begin
		if(dude_level>1) then begin
			display_msg("Warning: Extra trait mod active, but no trait was chosen");
			call unset_perks;
			set_perk_owed(get_perk_owed - 1);
			set_global_script_repeat(0);
			set_sfall_global("ts_trt00", -1);
			return;
		end
		if(get_perk_owed>0) then begin
			return;
		end
		call unset_perks;
		set_global_script_repeat(0);
		set_sfall_global("ts_trt00", 1);
		call apply_traits;
		call apply_traits_repeat;
	end
end
 
An now for some more crazy ideas from me :)

Is it possible to add new weapons to the engine code and new attack types?

If you look at the following chart you can see the different FRM codes, in fact you can even see a few extra ones that the engine supports but were never used in FO2 (example: pistol burst fire mode)

Would it be possible add options for weapons such as a 'O' for a Crossbow weapon.

It would also be good to have new attacks added to the existing weapons:

DM = Knife Throw - Implemented
EM = Stick/Club Throw - Not Implemented
GM = Hammer Throw - Not Implemented

DF = Knife Thrust - Implemented
DG = Knife Slash - Implemented
HG = Pistol Slash (pistol whip) - Not Implemented
JF = Rifle Thrust (Bayonet stab) - Not Implemented

All this could be controled by a weapon.ini file with code something like below:

Code:
###########
#PREFIXTAG#
###########
HA = HERO ANDROGENOUS
HM = HERO MALE
HF = HERO FEMALE

MA = MONSTER ANDROGENOUS
NA = NPC ADROGENOUS
NF = NPC FEMALE
NM = NPC MALE

DF = Knife Thrust
DG = Knife Slash

#########################################
#A = Base Character Animations (Unarmed)#
#########################################
AA = Idle (Default FRM)
AB = Walk
AE = Climb Up
AK = Pick Up
AL = Use
AN = Dodge
AO = Hit from front
AP = Hit from behind
AQ = Punch
AR = Kick
AS = Throw
AT = Run

######################
#B = Death Animations#
######################
BA = Knockdown BACKWARDS
BB = Knockdown FORWARDS
*BC* = Fem Combat Armor fall
BD = Chunk death
BE = Crispyfall
BF = Ripped to pieces
BG = Chestburst
BH = Electricrisp
BI = Chopped
*BJ* = Burnout
BK = Electricrisp
BL = Explode
BM = Meltdown
*BN* = Flaming
BO = Bleed on back
BP = Bleed on chest

#########################
#C = Stand Up Animations#
#########################
CH = Stand Up (On chest)
CJ = Stand Up (On back)

#########################
#KNIFE WEAPON ANIMATIONS#
#########################
D = Knife Animations
DA = Knife Idle
DB = Knife Walk
DC = Knife Equip
DD = Knife Unequip
DE = Knife Dodge
DF = Knife Thrust
DG = Knife Slash
DM = Knife Throw

#########################
#STICK WEAPON ANIMATIONS#
#########################
E = Stick Animations
EA = Stick Idle
EB = Stick Walk
EC = Stick Equip
ED = Stick Unequip
EE = Stick Dodge
EF = Stick Thrust
EG = Stick Slash

##########################
#HAMMER WEAPON ANIMATIONS#
##########################
F = Hammer Animations
FA = Hammer Idle
FB = Hammer Walk
FC = Hammer Equip
FD = Hammer Unequip
FE = Hammer Dodge
FF = Hammer Thrust
FG = Hammer Slash

#########################
#SPEAR WEAPON ANIMATIONS#
#########################
G = Spear Animations
GA = Spear Idle
GB = Spear Walk
GC = Spear Equip
GD = Spear Unequip
GE = Spear Dodge
GF = Spear Thrust
GM = Spear Throw

##########################
#PISTOL WEAPON ANIMATIONS#
##########################
H = Pistol Animations
HA = Pistol Idle
HB = Pistol Walk
HC = Pistol Equip
HD = Pistol Unequip
HE = Pistol Dodge
HH = Pistol Aim Gun
HI = Pistol Lower Gun
HJ = Pistol Single Shot
HK = Heavy Burst - supported by engine but not used in FO2
HL = Heavy Continous (Flame) - supported by engine but not used in FO2

#######################
#SMG WEAPON ANIMATIONS#
#######################
I = SMG Animations
IA = Smg Idle
IB = Smg Walk
IC = Smg Equip
ID = Smg Unequip
IE = Smg Dodge
IH = Smg Aim Gun
II = Smg Lower Gun
IJ = Smg Single Shot
IK = Smg Burst
IL = Heavy Continous (Flame) - supported by engine but not used in FO2

#########################
#RIFLE WEAPON ANIMATIONS#
#########################
J = Rifle Animations
JA = Rifle Idle
JB = Rifle Walk
JC = Rifle Equip
JD = Rifle Unequip
JE = Rifle Dodge
JH = Rifle Aim Gun
JI = Rifle Lower Gun
JJ = Rifle Single Shot
JK = Rifle Burst
JL = Heavy Continous (Flame) - supported by engine but not used in FO2

#########################
#HEAVY WEAPON ANIMATIONS#
#########################
K = Heavy Weapon Animations
KA = Heavy Idle
KB = Heavy Walk
KC = Heavy Equip
KD = Heavy Unequip
KE = Heavy Dodge
KH = Heavy Aim Gun
KI = Heavy Lower Gun
KJ = Heavy Single Shot
KK = Heavy Burst
KL = Heavy Continous (Flame)

###########################
#MINIGUN WEAPON ANIMATIONS#
###########################
L = Minigun
LA = Minigun Idle
LB = Minigun Walk
LC = Minigun Equip
LD = Minigun Unequip
LE = Minigun Dodge
LH = Minigun Aim Gun
LI = Minigun Lower Gun
LJ = Heavy Single Shot - supported by engine but not used in FO2
LK = Minigun Burst
LL = Heavy Continous (Flame) - supported by engine but not used in FO2

##########################
#ROCKET WEAPON ANIMATIONS#
##########################
M = Rocket Launcher Animations
MA = Rocket Idle
MB = Rocket Walk
MC = Rocket Equip
MD = Rocket Unequip
ME = Rocket Dodge
MH = Rocket Aim Gun
MI = Rocket Lower Gun
MJ = Rocket Single Shot
MK = Minigun Burst - supported by engine but not used in FO2
ML = Heavy Continous (Flame) - supported by engine but not used in FO2

#############
#TARGET GRID#
#############
NA = Target Aiming Grid

##########################
#STATIC CORPSE ANIMATIONS#
##########################
RA = LayStill on Back
RB = LayStill on Chest
RD = LayStill on Chest Mutilated right side
RF = LayStill on Chest Mutilated left side
RG = LayStill on Back Shot Chest
RI = LayStill on Back Chopped
RL = LayStill in Pieces
RM = LayStill Fleshpile
RO = LayStill on Back Bloodpool
RP = LayStill on Chest Bloodpool
 
I have a question - how to make this mod work with the Restoration Project v1.2?

P.S. great work with the mod
 
Ravager69 said:
I have a question - how to make this mod work with the Restoration Project v1.2?

You can put more points into INT in your next life :lol: the latest version is already in the resto, and installing it is ridiculously easy, which of course you would know if you read the "read me".
 
Ah, yes, I realised it as soon as I noticed that I can scroll through the inventory x]

Forgot to write it here.
 
1.29c is out, to hopefully help killap with his car troubles.

Code:
Expanded set_stat_max to work on most of the derived stats
Added new script functions: set_stat_min, set_car_current_town
 
TF said:
Something even better to bring over from Fallout 1 would be "Tell Me About", it'd certainly make those FO1 to FO2 conversions a bit more accurate, and you could use it for cool stuff too.

I spent all day editing some FO2 text and found one original FO2 dialogue with "Tell Me Abouts": KChild.msg, I am not sure how many more have them, but it looks like a feature they scrapped last minute.
 
Back
Top