Added full ddraw.ini + other config files and all relevant artifacts from latest modderspack.

This commit is contained in:
VladislavKolosovsky
2015-07-07 00:44:58 +07:00
parent cafa0158a7
commit b82348ed33
65 changed files with 5078 additions and 1 deletions
Binary file not shown.
@@ -0,0 +1,77 @@
/*
AP costs mod for fallout 2 by phobos2077
----------------------------------------
- increases AP cost of using all non-weapon items from main interface to 4
- AP are reduced even when using items (eg. stimpaks) from the inventory
Requires sfall 3.5 or higher
*/
#include "..\headers\define.h"
#include "sfall.h"
#include "define_extra.h"
#define ITEM_USE_COST (4)
variable last_used_item;
procedure item_by_attack_type(variable critter, variable type) begin
variable slot;
if (type > 3 and type != ATKTYPE_LWEP_RELOAD and type != ATKTYPE_RWEP_RELOAD) then
return 0;
if (type < 2 or type == ATKTYPE_LWEP_RELOAD) then
slot := INVEN_TYPE_LEFT_HAND;
else
slot := INVEN_TYPE_RIGHT_HAND;
return critter_inven_obj(critter, slot);
end
procedure apcost_handler begin
variable args := get_sfall_args, item;
item := item_by_attack_type(args[0], args[1]);
if (obj_item_subtype(item) != item_type_weapon) then begin
set_sfall_return(ITEM_USE_COST);
last_used_item := item;
end
end
procedure useobjon_handler begin
variable target, critter, item, ap, cost;
target := get_sfall_arg;
critter := get_sfall_arg;
item := get_sfall_arg;
if (combat_is_initialized) then begin
if (get_game_mode bwand INVENTORY) then
cost := ITEM_USE_COST;
else if (last_used_item != item) then
cost := ITEM_USE_COST - 2;
else
cost := 0;
if (cost > 0) then begin
ap := get_critter_current_ap(critter);
if (ap >= ITEM_USE_COST) then begin
set_critter_current_ap(critter, ap - cost);
end else begin
if (cost < ITEM_USE_COST) then
set_critter_current_ap(critter, ap + ITEM_USE_COST - cost);
set_sfall_return(0);
end
end
end
last_used_item := 0;
end
procedure start begin
if game_loaded then begin
// if you only want to reduce AP when using stuff from inventory by 2,
// comment out following line and change ITEM_USE_COST to 2
register_hook_proc(HOOK_CALCAPCOST, apcost_handler);
register_hook_proc(HOOK_USEOBJON, useobjon_handler);
end
end
+11
View File
@@ -0,0 +1,11 @@
AP costs mod for fallout 2 by phobos2077
----------------------------------------
- increases AP cost of using all misc items to 4
- AP are reduced even when using items (eg. stimpaks) from the inventory
To use, copy gl_itemapcost.int to your scripts folder.
This mod is a simple example of a global script, so I've also included an uncompiled copy in the scripts folder.
@@ -0,0 +1,93 @@
procedure start;
procedure update_shader;
variable perception;
variable boozes;
variable shader1;
variable shader2;
variable shader3;
variable shader4;
variable drunk_level;
variable next_reduction;
procedure start begin
variable new_pe;
variable new_booze;
variable drunk_count;
if (metarule(22,0)) then return;
if (game_loaded) then begin
if(not graphics_funcs_available) then begin
display_msg("ERROR: You must set sfall to use graphics mode 4 or 5 to use this mod");
return;
end else begin
//new_pe:=create_object_sid(125, 0, 0, -1);
//add_mult_objs_to_inven(dude_obj, new_pe, 10);
perception:=get_pc_extra_stat(1);
boozes:=obj_is_carrying_obj_pid(dude_obj, 125);
set_global_script_repeat(25);
set_global_script_repeat(-1);
shader1:=load_shader("booze1.fx");
shader2:=load_shader("booze2.fx");
shader3:=load_shader("booze3.fx");
shader4:=load_shader("booze4.fx");
drunk_level:=0;
next_reduction:=0;
//display_msg("Init: " + perception + ", " + boozes);
end
end else begin
new_pe:=get_pc_extra_stat(1);
new_booze:=obj_is_carrying_obj_pid(dude_obj, 125);
if( (perception != new_pe) or (boozes != new_booze) ) then begin
//display_msg("var change: " + perception + ", " + boozes + " -> " + new_pe + ", " + new_booze);
if ( (perception > new_pe) and (boozes > new_booze) ) then begin
if ( (perception - new_pe) < (boozes - new_booze) ) then begin
drunk_count:=perception - new_pe;
end else begin
drunk_count:=boozes - new_booze;
end
drunk_level:=drunk_level + (drunk_count*10);
//display_msg("Increasing booze count: " + drunk_level);
call update_shader;
next_reduction:=game_time + game_ticks(6);
end
perception:=new_pe;
boozes:=new_booze;
end
if( (next_reduction != 0 ) and (game_time >= next_reduction) ) then begin
drunk_level:=drunk_level - 1;
if(drunk_level == 0) then next_reduction:=0;
else next_reduction:=next_reduction + game_ticks(6);
call update_shader;
//display_msg("Decreasing booze count: " + drunk_level);
end
end
end
procedure update_shader begin
if(drunk_level >= 100) then begin
deactivate_shader(shader1);
deactivate_shader(shader2);
deactivate_shader(shader3);
activate_shader(shader4);
end else if(drunk_level >= 50) then begin
deactivate_shader(shader1);
deactivate_shader(shader2);
activate_shader(shader3);
deactivate_shader(shader4);
end else if(drunk_level >= 25) then begin
deactivate_shader(shader1);
activate_shader(shader2);
deactivate_shader(shader3);
deactivate_shader(shader4);
end else if(drunk_level > 0) then begin
activate_shader(shader1);
deactivate_shader(shader2);
deactivate_shader(shader3);
deactivate_shader(shader4);
end else begin
deactivate_shader(shader1);
deactivate_shader(shader2);
deactivate_shader(shader3);
deactivate_shader(shader4);
end
end
@@ -0,0 +1,25 @@
sampler s0;
static const float2 rcpres =
{
0.0015625,
0.0020833333333333333333333333333333
};
float4 Blur( float2 Tex : TEXCOORD0 ) : COLOR0
{
float4 Color = 0;
Color += tex2D( s0, float2(Tex.x, Tex.y));
Color += tex2D( s0, float2(Tex.x + rcpres.x, Tex.y));
Color += tex2D( s0, float2(Tex.x - rcpres.x, Tex.y));
Color += tex2D( s0, float2(Tex.x, Tex.y + rcpres.y));
Color += tex2D( s0, float2(Tex.x, Tex.y - rcpres.y));
return Color * 0.2;
}
Technique blur
{
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
}
@@ -0,0 +1,26 @@
sampler s0;
static const float2 rcpres =
{
0.0015625,
0.0020833333333333333333333333333333
};
float4 Blur( float2 Tex : TEXCOORD0 ) : COLOR0
{
float4 Color = 0;
Color += tex2D( s0, float2(Tex.x, Tex.y));
Color += tex2D( s0, float2(Tex.x + rcpres.x, Tex.y));
Color += tex2D( s0, float2(Tex.x - rcpres.x, Tex.y));
Color += tex2D( s0, float2(Tex.x, Tex.y + rcpres.y));
Color += tex2D( s0, float2(Tex.x, Tex.y - rcpres.y));
return Color * 0.2;
}
Technique blur
{
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
Pass P1 { PixelShader = compile ps_2_0 Blur(); }
}
@@ -0,0 +1,34 @@
sampler s0;
static const float2 rcpres =
{
0.0015625,
0.0020833333333333333333333333333333
};
float4 Blur(float2 Tex : TEXCOORD0) : COLOR0
{
float4 Color = 0;
Color += tex2D( s0, float2(Tex.x, Tex.y));
Color += tex2D(s0, float2(Tex.x + rcpres.x, Tex.y));
Color += tex2D(s0, float2(Tex.x - rcpres.x, Tex.y));
Color += tex2D(s0, float2(Tex.x, Tex.y + rcpres.y));
Color += tex2D(s0, float2(Tex.x, Tex.y - rcpres.y));
return Color * 0.2;
}
float4 Blind(float2 Tex : TEXCOORD0) : COLOR0
{
float4 Color = tex2D(s0, Tex);
return Color * saturate(1.8 - (length(Tex - 0.5)*2));
}
Technique blur
{
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
Pass P1 { PixelShader = compile ps_2_0 Blur(); }
Pass P2 { PixelShader = compile ps_2_0 Blur(); }
Pass P3 { PixelShader = compile ps_2_0 Blind(); }
}
@@ -0,0 +1,36 @@
sampler s0;
static const float2 rcpres =
{
0.0015625,
0.0020833333333333333333333333333333
};
float4 Blur(float2 Tex : TEXCOORD0) : COLOR0
{
float4 Color = 0;
Color += tex2D( s0, float2(Tex.x, Tex.y));
Color += tex2D(s0, float2(Tex.x + rcpres.x, Tex.y));
Color += tex2D(s0, float2(Tex.x - rcpres.x, Tex.y));
Color += tex2D(s0, float2(Tex.x, Tex.y + rcpres.y));
Color += tex2D(s0, float2(Tex.x, Tex.y - rcpres.y));
return Color * 0.2;
}
float4 Blind(float2 Tex : TEXCOORD0) : COLOR0
{
float4 Color = tex2D(s0, Tex);
return Color * saturate(1.5 - (length(Tex - 0.5)*2));
}
Technique blur
{
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
Pass P1 { PixelShader = compile ps_2_0 Blur(); }
Pass P2 { PixelShader = compile ps_2_0 Blur(); }
Pass P3 { PixelShader = compile ps_2_0 Blur(); }
Pass P4 { PixelShader = compile ps_2_0 Blur(); }
Pass P5 { PixelShader = compile ps_2_0 Blind(); }
}
@@ -0,0 +1,8 @@
Get drunk mod for fallout 2 by Timeslip
----------------------------------------
To use, extract the contents of this archive to your fallout 2 directory, and then go and drink some booze. You will suffer varying levels of blurred vision which cap out after drinking 10 bottles. It takes one minute for the effects of each bottle to wear off. Only booze is affected; other alcoholic drinks aren't changed.
This mod is a simple example of a global script, so I've also included an uncompiled copy in the scripts folder.
Obviously you need to be using sfall with the script extender turned on in order to use this mod. You also need to set the graphics mode to 4 or 5 in order for the shaders to work.
Binary file not shown.
@@ -0,0 +1,22 @@
procedure start;
// adjust include paths if needed
#include "..\..\scripting_docs\headers\sfall.h"
#define RESULT_SUCCESS (1)
#define RESULT_FAIL (0)
procedure start begin
if not init_hook then begin
variable
thief := get_sfall_arg,
target := get_sfall_arg,
item := get_sfall_arg,
action := get_sfall_arg,
result := RESULT_SUCCESS;
if (thief == dude_obj) then begin
display_msg(sprintf(mstr_skill(570 + result + action*2), obj_name(item)));
set_sfall_return(result);
end
end
end
@@ -0,0 +1,9 @@
Master Theif cheat for fallout 2 by phobos2077
----------------------------------------
- forces all steal attempts to succeed
To use, copy *.int file to your scripts folder.
This mod is an example of how you can use HOOK_STEAL hooks.
@@ -0,0 +1,170 @@
procedure start;
//nuka cola effects
//extra traits, lowered stats
#define dude_level (get_pc_stat(1))
//Traits
#define LowGravity "Low gravity"
#define Ironwall "Ironwall"
#define Swift "Swift"
#define RapidLearner "Rapid learner"
#define JackOfTrades "Jack of all trades"
#define DiligentLearner "Diligent learner"
#define CautiousPickpocket "Cautious pickpocket"
#define BrazenThief "Brazen thief"
#define PerfectAim "Perfect aim"
#define PatheticAim "Pathetic aim"
#define VileBreath "Vile breath"
#define NightPerson "Night person"
#define AnimalFriend "Animal friend"
//Perks
procedure setup_perk_dialog begin
set_perkbox_title("Choose a trait");
hide_real_perks;
perk_add_mode(1);
set_selectable_perk(LowGravity, 1, 46, "You've always found that the lightest touch has been enough to send your opponents flying. Unfortunately, the same applies to your opponents attacks against you, too.");
//set_selectable_perk(Ironwall, 1, 171, "You stand where you like, and even a rocket to the face isn't going to move you. Heck, even _you_ sometimes find it difficult to move you.");
//set_selectable_perk(Swift, 1, 19, "You can move a little faster than those around you, but you lack a little of the reflexes required to use your excessive speed.");
set_selectable_perk(RapidLearner, 1, 4, "Although you don't have the natural gifts held by others, you make up for it by being able to make much better use of your day to day experiences.");
set_selectable_perk(JackOfTrades, 1, 4, "Although you seem to be able to succeed in anything you put your mind too, you lack the concentration to master any one ability.");
set_selectable_perk(DiligentLearner, 1, 4, "You might take a little longer than most to fully grasp a lesson, but you usually manage to pick up a few extra ticks that no one else would have noticed.");
//set_selectable_perk(CautiousPickpocket, 1, 156, "You have a cautious personality that harms your chances of pulling of a theft. Perhaps with practise, that weakness could be turned into a strength.");
//set_selectable_perk(BrazenThief, 1, 112, "Your lack of reflexes has never harmed your skill as a thief; your approach to theft is to simply take whatever you like no matter who's watching. You find it helps if you look like you have a right to be somewhere.");
//set_selectable_perk(PerfectAim, 1, 86, "You don't make stupid mistakes with your weapon; if an opportunity presents itself, you will not miss. Your increased focus on harming your opponents obviously hurts your abilities to dodge, however.");
set_selectable_perk(PatheticAim, 1, 129, "No matter how hard you aim, you just can't seem to hit anything. On the other hand, no matter how long you stand around doing nothing, nobody seems to be able to hit you either.");
if(get_pc_base_stat(3) > 2) then begin
set_selectable_perk(VileBreath, 1, 129, "You are afflicted by a serious case of oral misodor. People tend to avoid your company, but your ability to dazzle your foes with a single exhalation gives you a head start in combat.");
end
/*if(get_pc_base_stat(3)>1 and get_pc_base_stat(6)>1 and get_pc_base_stat(3)<10) and get_pc_base_stat(6)<10) then begin
set_selectable_perk(AnimalFriend, 1, 1, "You are a pet lover. When your four-legged friends are nearby, you flourish and anything you put your mind to sorts itself out just easily. Without a pet's company you're a little grumpy and hapeless, though.");
end
if(get_pc_base_stat(1)>1 and get_pc_base_stat(4)>1 and get_pc_base_stat(1)<10) and get_pc_base_stat(4)<10) then begin
set_selectable_perk(AnimalFriend, 1, 1, "As a night-time person, you are more awake when the sun goes down. Your Intelligence and Perception are improved at night, but dulled during the day.");
end*/
end
procedure apply_traits_repeat begin
if(has_fake_trait(LowGravity)) then begin
set_attacker_knockback(dude_obj, 1, 3.0);
set_target_knockback(dude_obj, 1, 3.0);
end
/*if(has_fake_trait(Ironwall)) then begin
set_target_knockback(dude_obj, 0, 0);
end*/
if(has_fake_trait(RapidLearner)) then begin
set_xp_mod(200);
end
if(has_fake_trait(LowGravity)) then begin
set_attacker_knockback(dude_obj, 1, 3.0);
set_target_knockback(dude_obj, 1, 3.0);
end
if(has_fake_trait(JackOfTrades)) then begin
set_critter_skill_mod(dude_obj, 100);
end
if(has_fake_trait(DiligentLearner)) then begin
set_xp_mod(90);
set_perk_level_mod(6);
end
/*if(has_fake_trait(CautiousPickpocket)) then begin
set_pickpocket_mod(has_skill(dude_obj, 10) / 2);
end
if(has_fake_trait(BrazenThief)) then begin
set_pickpocket_mod(80);
end
if(has_fake_trait(PerfectAim)) then begin
set_hit_chance_mod(100);
end*/
if(has_fake_trait(PatheticAim)) then begin
set_base_hit_chance_mod(50, -5);
end
end
procedure apply_traits begin
if(has_fake_trait(Ironwall)) then begin
set_pc_extra_stat(8, get_pc_extra_stat(8) - 1);
critter_add_trait(dude_obj, 0, 104, 1);
end
/*if(has_fake_trait(Swift)) then begin
set_pc_extra_stat(8, get_pc_extra_stat(8) + 1);
set_pc_extra_stat(13, get_pc_extra_stat(13) - get_pc_base_stat(13) );
end*/
if(has_fake_trait(RapidLearner)) then begin
set_pc_base_stat(0, get_pc_base_stat(0) - 1);
set_pc_base_stat(1, get_pc_base_stat(1) - 1);
set_pc_base_stat(2, get_pc_base_stat(2) - 1);
set_pc_base_stat(3, get_pc_base_stat(3) - 1);
set_pc_base_stat(4, get_pc_base_stat(4) - 1);
set_pc_base_stat(5, get_pc_base_stat(5) - 1);
set_pc_base_stat(6, get_pc_base_stat(6) - 1);
end
if(has_fake_trait(JackOfTrades)) then begin
critter_mod_skill(dude_obj, 00, 10);
critter_mod_skill(dude_obj, 01, 10);
critter_mod_skill(dude_obj, 02, 10);
critter_mod_skill(dude_obj, 03, 10);
critter_mod_skill(dude_obj, 04, 10);
critter_mod_skill(dude_obj, 05, 10);
critter_mod_skill(dude_obj, 06, 10);
critter_mod_skill(dude_obj, 07, 10);
critter_mod_skill(dude_obj, 08, 10);
critter_mod_skill(dude_obj, 09, 10);
critter_mod_skill(dude_obj, 10, 10);
critter_mod_skill(dude_obj, 11, 10);
critter_mod_skill(dude_obj, 12, 10);
critter_mod_skill(dude_obj, 13, 10);
critter_mod_skill(dude_obj, 14, 10);
critter_mod_skill(dude_obj, 15, 10);
critter_mod_skill(dude_obj, 16, 10);
critter_mod_skill(dude_obj, 17, 10);
end
/*if(has_fake_trait(BrazenThief)) then begin
critter_mod_skill(dude_obj, 10, get_pc_base_stat(3)*3);
end*/
if(has_fake_trait(VileBreath)) then begin
set_pc_base_stat(3, get_pc_base_stat(3) - 2);
set_pc_base_stat(13, get_pc_base_stat(13) + 15);
end
end
procedure start begin
variable mode;
if (game_loaded) then begin
mode:=get_sfall_global_int("ts_trt00");
if(mode==-1) then begin
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);
call setup_perk_dialog;
end else begin
call apply_traits_repeat;
end
end else begin
if(dude_level>1) then begin
clear_selectable_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
clear_selectable_perks;
set_global_script_repeat(0);
set_sfall_global("ts_trt00", 1);
call apply_traits;
call apply_traits_repeat;
end
end
@@ -0,0 +1,146 @@
procedure start;
#define dude_level (get_pc_stat(1))
//perks
#define Steadfast "Steadfast" //ts_chp00
#define Grappler "Grappler" //ts_chp01
#define HawkEyed "Hawk eyed" //ts_chp02
#define PerfectAim "Perfect aim" //ts_chp03
#define Teacher "Teacher" //ts_chp04
procedure LevelChange begin
//display_msg("Level change");
if(dude_level>=3 and has_fake_perk(Steadfast)==0 and get_pc_base_stat(2) >= 5) then begin
//display_msg("Steadfast available");
set_selectable_perk(Steadfast, 1, 1, "You stand where you like, and even a rocket to the face isn't going to move you.");
end else begin
set_selectable_perk(Steadfast, 0, 1, "");
end
if(dude_level>=12 and has_fake_perk(Grappler)==0 and get_pc_base_stat(5) >= 6) then begin
//display_msg("Grappler available");
set_selectable_perk(Grappler, 1, 1, "You like to fight up close and personal. Enemies will not be pushed away from you when you fight with your fists.");
end else begin
set_selectable_perk(Grappler, 0, 1, "");
end
if(dude_level>=6 and has_fake_perk(HawkEyed)==0 and get_pc_base_stat(1) >= 7) then begin
//display_msg("Hawk Eyed available");
set_selectable_perk(HawkEyed, 1, 1, "You watch your property like a hawk. Other critters will be unable to steal from you.");
end else begin
set_selectable_perk(HawkEyed, 0, 1, "");
end
if(dude_level>=18 and has_fake_perk(PerfectAim)==0 and get_pc_base_stat(6) >= 6 and get_pc_base_stat(1) >= 6) then begin
//display_msg("Perfect aim available");
set_selectable_perk(PerfectAim, 1, 1, "Combat has become second nature to you. You now make less unforced mistakes than the less experienced wanderers of the wastes.");
end else begin
set_selectable_perk(PerfectAim, 0, 1, "");
end
if(dude_level>=9 and has_fake_perk(Teacher)==0 and get_pc_base_stat(4) >= 7) then begin
//display_msg("Teacher available");
set_selectable_perk(Teacher, 1, 1, "Passing on your experiences to your companions will no doubt prove useful. All npcs in your party gain a level.");
end else begin
set_selectable_perk(Teacher, 0, 1, "");
end
end
procedure PickedPerk begin
//display_msg("Picked perk");
if(has_fake_perk(Steadfast)==1 and get_sfall_global_int("ts_chp00")==0) then begin
//display_msg("Steadfast applied");
set_sfall_global("ts_chp00", 1);
set_target_knockback(dude_obj, 0, 0);
end
if(has_fake_perk(Grappler)==1 and get_sfall_global_int("ts_chp01")==0) then begin
//display_msg("Grappler applied");
set_sfall_global("ts_chp01", 1);
end
if(has_fake_perk(HawkEyed)==1 and get_sfall_global_int("ts_chp02")==0) then begin
//display_msg("HawkEyed applied");
set_sfall_global("ts_chp02", 1);
set_base_pickpocket_mod(5, -5);
set_critter_pickpocket_mod(dude_obj, 95, 0);
end
if(has_fake_perk(PerfectAim)==1 and get_sfall_global_int("ts_chp03")==0) then begin
set_sfall_global("ts_chp03", 1);
set_critter_hit_chance_mod(dude_obj, 98, 0);
end
if(has_fake_perk(Teacher)==1 and get_sfall_global_int("ts_chp04")==0) then begin
set_sfall_global("ts_chp04", 1);
inc_npc_level("Vic");
inc_npc_level("Myron");
inc_npc_level("Marcus");
inc_npc_level("MacRae");
inc_npc_level("Sulik");
inc_npc_level("Lenny");
inc_npc_level("Cyberdog");
inc_npc_level("Doc");
inc_npc_level("Goris");
inc_npc_level("Robobrain");
inc_npc_level("K9");
end
call LevelChange;
end
procedure PerksRepeat begin
if(get_sfall_global_int("ts_chp01")==1) then begin
if((active_hand==0 or critter_inven_obj(dude_obj, 1)==0) and (active_hand==1 or critter_inven_obj(dude_obj, 2)==0)) then begin
set_target_knockback(dude_obj, 0, 0);
end else begin
remove_target_knockback(dude_obj);
end
end
end
procedure SetupPerks begin
if(get_sfall_global_int("ts_chp00")==1) then begin
set_target_knockback(dude_obj, 0, 0);
end
if(get_sfall_global_int("ts_chp02")==1) then begin
set_base_pickpocket_mod(0, 0);
set_critter_pickpocket_mod(dude_obj, 95, 0);
end
if(get_sfall_global_int("ts_chp03")==1) then begin
set_critter_hit_chance_mod(dude_obj, 98, 0);
end
end
procedure start begin
variable mode;
mode:=get_sfall_global_int("ts_trt00");
//mode:=1;
if (game_loaded) then begin
if(mode!=-1) then begin
call SetupPerks;
set_swiftlearner_mod(25);
apply_heaveho_fix;
set_pyromaniac_mod(10);
set_perk_stat_mag(11, 40);
set_perk_stat_mag(30, 40);
set_perk_desc(11, "You are better able to avoid radiation and the bad effects radiation causes. Each level of this Perk improves your Radiation Resistance by 40%");
set_perk_desc(30, "Yum! Tastes like chicken. For each level of this Perk, you gain +40% to your Poison Resistance.");
set_perk_desc(35, "Each level of the Heave Ho! Perk gives you an additional +2 to Strength for purposes of determining range with thrown weapons only.");
set_perk_desc(50, "You are indeed a Swift Learner with this Perk, as each level gives you an additional +20% bonus whenever you earn experience points. This is best taken early.");
set_global_script_repeat(100);
end
return;
end
if(mode!=1) then begin
if(mode==-1) then begin
set_global_script_repeat(0);
end
return;
end
mode:=get_sfall_global_int("ts_trt02");
if(mode!=dude_level) then begin
call LevelChange;
set_sfall_global("ts_trt02", dude_level);
end
mode:=get_sfall_global_int("ts_trt01");
if(mode!=get_perk_owed) then begin
if(mode>get_perk_owed) then begin
call PickedPerk;
end
set_sfall_global("ts_trt01", get_perk_owed);
end
call PerksRepeat;
end
+32
View File
@@ -0,0 +1,32 @@
Improved character development mod for fallout 2 by Timeslip
v1.4
----------------------------------------
To use, simply extract the contents of this archive to your fallout 2 directory. If you are using a version of this mod from before 1.3, or have not used this mod before, you will need to start a new game. If you are already using 1.3 or newer, updating will not effect you save games.
There are currently a total of 6 traits and 5 perks available. You can only pick one extra trait per character, which must be chosen from the character screen at any time before advancing to level 2. Perks will become available at specific levels just like the normal ones.
This mod should be compatible with any other mods, as long as they don't use conflicting sfall functions.
----------------------------------------
v1.4 (1/9/08)
Pyromaniac now increases fire damage by 10
Heave ho will now increase thrown weapon range beyond their usual maximums
Swift learner xp bonus increased to 20%
Snake eater and rad resist perks changed to give +40% resistance each.
New perk: Teacher
Added stat requirements for the new perks
v1.3 (30/8/08)
Converted to use the new functions in 1.33, resulting in a few fixed bugs and less script hackery.
Removed some of the more pointless traits. Readded a couple as perks, and added a couple of completely new perks.
v1.2 (30/6/08)
Fixes and balance tweaks
v1.1 (17/5/08)
Added new traits rapid learner and diligent learner
v1.0 (09/02/08)
First release. Included 8 additional traits.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Some files were not shown because too many files have changed in this diff Show More