mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Added full ddraw.ini + other config files and all relevant artifacts from latest modderspack.
This commit is contained in:
Binary file not shown.
@@ -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
|
||||
|
||||
Binary file not shown.
@@ -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
|
||||
Reference in New Issue
Block a user