Skip to content

Commit

Permalink
more refactor vcandy
Browse files Browse the repository at this point in the history
  • Loading branch information
burner1024 committed Feb 24, 2024
1 parent 4ecbac0 commit 24365c3
Showing 1 changed file with 75 additions and 110 deletions.
185 changes: 75 additions & 110 deletions scripts_src/valtcity/vcandy.ssl
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ procedure Node034;
procedure Node034a;
procedure Node034b;
procedure Node035;
procedure get_combat_armor;

//~~~~~~~~~~~~~~~~ DESIGN TOOL ENDS HERE
// The Following lines are for anything that is not needed to be
Expand All @@ -141,11 +142,21 @@ procedure Node035;
#define heal_party_member(Var_In_party, Var_Ptr) \
if (Var_In_party) then begin \
if (Is_Injured(Var_Ptr) or Is_Crippled(Var_Ptr)) then begin \
critter_heal(Var_Ptr,Injured_How_Much(Var_Ptr)); \
critter_heal(Var_Ptr, Injured_How_Much(Var_Ptr)); \
critter_uninjure(Var_Ptr, (DAM_CRIP_LEG_LEFT bwor DAM_CRIP_LEG_RIGHT bwor DAM_CRIP_ARM_LEFT bwor DAM_CRIP_ARM_RIGHT)); \
end \
end

#define dude_has_combat_armor \
( ( dude_item_count(PID_COMBAT_ARMOR) > 0) \
or (dude_item_count(PID_COMBAT_ARMOR_MK_II) > 0) \
or (dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) > 0) \
)

/**
* Convince Doc Andrew to give discount for implants.
*/
#define haggle_check ((dude_charisma > 5) or (has_skill(dude_obj, SKILL_BARTER) >= 75))

/* Imported variables from the Map scripts. These should only be
pointers and variables that need not be saved. If a variable
Expand All @@ -167,6 +178,14 @@ variable From_24:=0;
variable From_27:=0;
variable Death_Stage:=0;

procedure get_combat_armor begin
variable combat_armor = 0;
if (dude_item(PID_COMBAT_ARMOR)) then return dude_item(PID_COMBAT_ARMOR);
else if (dude_item(PID_COMBAT_ARMOR_MK_II)) then combat_armor = dude_item(PID_COMBAT_ARMOR_MK_II);
else if (dude_item(PID_BROTHERHOOD_COMBAT_ARMOR)) then combat_armor = dude_item(PID_BROTHERHOOD_COMBAT_ARMOR);
return combat_armor;
end

procedure start begin
Andrew_Ptr := self_obj;
end
Expand Down Expand Up @@ -810,7 +829,7 @@ procedure Node014 begin
else
Reply(204);

if( (Is_Injured(dude_obj)) or ( dude_is_crippled ) ) then //added ( dude_is_crippled ) - killap
if( (Is_Injured(dude_obj)) or ( dude_is_crippled ) ) then
NOption(205, Node002, 004);
if( global_var(GVAR_HAVE_MUTATED) == 1 ) then
NOption(206, Node033, 004);
Expand Down Expand Up @@ -847,7 +866,7 @@ procedure Node016 begin

set_local_var(LVAR_Andrew_Knows_Implants, 1);

if( ( dude_item_count(PID_COMBAT_ARMOR) == 0) and ( dude_item_count(PID_COMBAT_ARMOR_MK_II) == 0) and ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) == 0) )then
if not dude_has_combat_armor then
NOption(216, Node017, 004);
else
NOption(217, Node017, 004);
Expand Down Expand Up @@ -886,15 +905,15 @@ end
procedure Node019 begin
Reply(232);

if( (dude_caps >= 7000) and (( dude_item_count(PID_COMBAT_ARMOR) > 0) or ( dude_item_count(PID_COMBAT_ARMOR_MK_II) > 0) or ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) > 0)) ) then
NOption(233, Node019a, 004);
if( (dude_caps >= 5000) and (( dude_item_count(PID_COMBAT_ARMOR) > 0) or ( dude_item_count(PID_COMBAT_ARMOR_MK_II) > 0) or ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) > 0)) and ( (dude_charisma > 5) or ( has_skill(dude_obj, SKILL_BARTER) >= 75 ) ) ) then
NOption(234, Node019b, 004);
if dude_has_combat_armor then begin
if (dude_caps >= 7000) then NOption(233, Node019a, 004);
if (dude_caps >= 5000) and haggle_check then NOption(234, Node019b, 004);
end
NOption(235, Node018, 004);
NOption(236, Node014, 004);
if(dude_caps < 7000) then
if (dude_caps < 7000) then
NOption(237, Node999, 004);
else if( dude_item_count(PID_COMBAT_ARMOR) == 0) and ( dude_item_count(PID_COMBAT_ARMOR_MK_II) == 0) and ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) == 0) then
else if not dude_has_combat_armor then
NOption(238, Node999, 004);
NOption(239, Node999, 004);
end
Expand All @@ -905,17 +924,10 @@ procedure Node019a begin
if( map_var( MVAR_Auto_Doc_Fixed ) == 0 ) then
call Node028;
else begin
dude_caps_adjust( -7000);
if (dude_item(PID_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR);
//added by killap
else if (dude_item(PID_COMBAT_ARMOR_MK_II)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR_MK_II);
else if (dude_item(PID_BROTHERHOOD_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_BROTHERHOOD_COMBAT_ARMOR);
//end added by killap
rm_obj_from_inven( dude_obj, combatArmor );
destroy_object( combatArmor );
dude_caps_adjust(-7000);
combatArmor = get_combat_armor();
rm_obj_from_inven(dude_obj, combatArmor);
destroy_object(combatArmor);

gfade_out(600);
gfade_in(600);
Expand All @@ -932,17 +944,10 @@ procedure Node019b begin
if( map_var( MVAR_Auto_Doc_Fixed ) == 0 ) then
call Node028;
else begin
dude_caps_adjust( -5000);
if (dude_item(PID_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR);
//added by killap
else if (dude_item(PID_COMBAT_ARMOR_MK_II)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR_MK_II);
else if (dude_item(PID_BROTHERHOOD_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_BROTHERHOOD_COMBAT_ARMOR);
//end added by killap
rm_obj_from_inven( dude_obj, combatArmor );
destroy_object( combatArmor );
dude_caps_adjust(-5000);
combatArmor = get_combat_armor();
rm_obj_from_inven(dude_obj, combatArmor);
destroy_object(combatArmor);

gfade_out(600);
gfade_in(600);
Expand Down Expand Up @@ -989,18 +994,18 @@ procedure Node023 begin
else
Reply( mstr(257) + " " + mstr(258) );

if( (dude_caps >= 40000) and (( dude_item_count(PID_COMBAT_ARMOR) > 0) or ( dude_item_count(PID_COMBAT_ARMOR_MK_II) > 0) or ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) > 0)) ) then begin
if (dude_caps >= 40000) and dude_has_combat_armor then begin
if( (dude_iq > 8) ) then
NOption(348, Node023a, 004);
NOption(259, Node023a, 004);
end
if( (dude_caps >= 30000) and (( dude_item_count(PID_COMBAT_ARMOR) > 0) or ( dude_item_count(PID_COMBAT_ARMOR_MK_II) > 0) or ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) > 0)) and ( (dude_charisma > 5) or ( has_skill(dude_obj, SKILL_BARTER) >= 75 ) ) ) then
if (dude_caps >= 30000) and dude_has_combat_armor then
NOption(260, Node023b, 004);
NOption(261, Node018, 004);
NOption(262, Node014, 004);
if (dude_caps < 40000) then
NOption(263, Node999, 004);
else if( dude_item_count(PID_COMBAT_ARMOR) == 0) and ( dude_item_count(PID_COMBAT_ARMOR_MK_II) == 0) and ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) == 0) then
else if not dude_has_combat_armor then
NOption(264, Node999, 004);
NOption(265, Node999, 004);
end
Expand All @@ -1011,17 +1016,10 @@ procedure Node023a begin
if( map_var( MVAR_Auto_Doc_Fixed ) == 0 ) then
call Node028;
else begin
dude_caps_adjust( -40000);
if (dude_item(PID_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR);
//added by killap
else if (dude_item(PID_COMBAT_ARMOR_MK_II)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR_MK_II);
else if (dude_item(PID_BROTHERHOOD_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_BROTHERHOOD_COMBAT_ARMOR);
//end added by killap
rm_obj_from_inven( dude_obj, combatArmor );
destroy_object( combatArmor );
dude_caps_adjust(-40000);
combatArmor = get_combat_armor();
rm_obj_from_inven(dude_obj, combatArmor);
destroy_object(combatArmor);

gfade_out(600);
gfade_in(600);
Expand All @@ -1038,17 +1036,10 @@ procedure Node023b begin
if( map_var( MVAR_Auto_Doc_Fixed ) == 0 ) then
call Node028;
else begin
dude_caps_adjust( -30000);
if (dude_item(PID_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR);
//added by killap
else if (dude_item(PID_COMBAT_ARMOR_MK_II)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR_MK_II);
else if (dude_item(PID_BROTHERHOOD_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_BROTHERHOOD_COMBAT_ARMOR);
//end added by killap
rm_obj_from_inven( dude_obj, combatArmor );
destroy_object( combatArmor );
dude_caps_adjust(-30000);
combatArmor = get_combat_armor();
rm_obj_from_inven(dude_obj, combatArmor);
destroy_object(combatArmor);

gfade_out(600);
gfade_in(600);
Expand All @@ -1061,15 +1052,15 @@ end
procedure Node024 begin
Reply(266);

if( (dude_caps >= 10000) and (( dude_item_count(PID_COMBAT_ARMOR) > 0) or ( dude_item_count(PID_COMBAT_ARMOR_MK_II) > 0) or ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) > 0)) ) then
NOption(267, Node024a, 004);
if( (dude_caps >= 8000) and (( dude_item_count(PID_COMBAT_ARMOR) > 0) or ( dude_item_count(PID_COMBAT_ARMOR_MK_II) > 0) or ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) > 0)) and ( (dude_charisma > 5) or ( has_skill(dude_obj, SKILL_BARTER) >= 75 ) ) ) then
NOption(268, Node024b, 004);
if dude_has_combat_armor then begin
if (dude_caps >= 10000) then NOption(267, Node024a, 004);
if (dude_caps >= 8000) and haggle_check then NOption(268, Node024b, 004);
end
NOption(269, Node018, 004);
NOption(270, Node014, 004);
if(dude_caps < 10000) then
NOption(271, Node999, 004);
else if( dude_item_count(PID_COMBAT_ARMOR) == 0) and ( dude_item_count(PID_COMBAT_ARMOR_MK_II) == 0) and ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) == 0) then
else if not dude_has_combat_armor then
NOption(272, Node999, 004);
NOption(273, Node999, 004);
end
Expand All @@ -1080,17 +1071,10 @@ procedure Node024a begin
if( map_var( MVAR_Auto_Doc_Fixed ) == 0 ) then
call Node028;
else begin
dude_caps_adjust( -10000);
if (dude_item(PID_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR);
//added by killap
else if (dude_item(PID_COMBAT_ARMOR_MK_II)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR_MK_II);
else if (dude_item(PID_BROTHERHOOD_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_BROTHERHOOD_COMBAT_ARMOR);
//end added by killap
rm_obj_from_inven( dude_obj, combatArmor );
destroy_object( combatArmor );
dude_caps_adjust(-10000);
combatArmor = get_combat_armor();
rm_obj_from_inven(dude_obj, combatArmor);
destroy_object(combatArmor);

gfade_out(600);
gfade_in(600);
Expand All @@ -1107,17 +1091,10 @@ procedure Node024b begin
if( map_var( MVAR_Auto_Doc_Fixed ) == 0 ) then
call Node028;
else begin
dude_caps_adjust( -8000);
if (dude_item(PID_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR);
//added by killap
else if (dude_item(PID_COMBAT_ARMOR_MK_II)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR_MK_II);
else if (dude_item(PID_BROTHERHOOD_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_BROTHERHOOD_COMBAT_ARMOR);
//end added by killap
rm_obj_from_inven( dude_obj, combatArmor );
destroy_object( combatArmor );
dude_caps_adjust(-8000);
combatArmor = get_combat_armor();
rm_obj_from_inven(dude_obj, combatArmor);
destroy_object(combatArmor);

gfade_out(600);
gfade_in(600);
Expand Down Expand Up @@ -1152,15 +1129,17 @@ end
procedure Node027 begin
Reply(285);

if( (dude_caps >= 50000) and (( dude_item_count(PID_COMBAT_ARMOR) > 0) or ( dude_item_count(PID_COMBAT_ARMOR_MK_II) > 0) or ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) > 0)) ) then
NOption(286, Node027a, 004);
if( (dude_caps >= 40000) and (( dude_item_count(PID_COMBAT_ARMOR) > 0) or ( dude_item_count(PID_COMBAT_ARMOR_MK_II) > 0) or ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) > 0)) and ( (dude_charisma > 5) or ( has_skill(dude_obj, SKILL_BARTER) >= 75 ) ) ) then
NOption(287, Node027b, 004);
if dude_has_combat_armor then begin
if (dude_caps >= 50000) then
NOption(286, Node027a, 004);
if (dude_caps >= 40000) and haggle_check then
NOption(287, Node027b, 004);
end
NOption(288, Node018, 004);
NOption(289, Node014, 004);
if (dude_caps < 50000) then
NOption(290, Node999, 004);
else if( dude_item_count(PID_COMBAT_ARMOR) == 0) and ( dude_item_count(PID_COMBAT_ARMOR_MK_II) == 0) and ( dude_item_count(PID_BROTHERHOOD_COMBAT_ARMOR) == 0) then
else if not dude_has_combat_armor then
NOption(291, Node999, 004);
NOption(292, Node999, 004);
end
Expand All @@ -1171,17 +1150,10 @@ procedure Node027a begin
if( map_var( MVAR_Auto_Doc_Fixed ) == 0 ) then
call Node028;
else begin
dude_caps_adjust( -50000);
if (dude_item(PID_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR);
//added by killap
else if (dude_item(PID_COMBAT_ARMOR_MK_II)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR_MK_II);
else if (dude_item(PID_BROTHERHOOD_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_BROTHERHOOD_COMBAT_ARMOR);
//end added by killap
rm_obj_from_inven( dude_obj, combatArmor );
destroy_object( combatArmor );
dude_caps_adjust(-50000);
combatArmor = get_combat_armor();
rm_obj_from_inven(dude_obj, combatArmor);
destroy_object(combatArmor);

gfade_out(600);
gfade_in(600);
Expand All @@ -1198,17 +1170,10 @@ procedure Node027b begin
if( map_var( MVAR_Auto_Doc_Fixed ) == 0 ) then
call Node028;
else begin
dude_caps_adjust( -40000);
if (dude_item(PID_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR);
//added by killap
else if (dude_item(PID_COMBAT_ARMOR_MK_II)) then
combatArmor:=dude_item(PID_COMBAT_ARMOR_MK_II);
else if (dude_item(PID_BROTHERHOOD_COMBAT_ARMOR)) then
combatArmor:=dude_item(PID_BROTHERHOOD_COMBAT_ARMOR);
//end added by killap
rm_obj_from_inven( dude_obj, combatArmor );
destroy_object( combatArmor );
dude_caps_adjust(-40000);
combatArmor = get_combat_armor();
rm_obj_from_inven(dude_obj, combatArmor);
destroy_object(combatArmor);

gfade_out(600);
gfade_in(600);
Expand Down

0 comments on commit 24365c3

Please sign in to comment.