
================================================================
    The ZRP Support Utilities (AKA 'Modolith Wish Granter')
================================================================
2009/12/18 NatVac - Release (with support scripts over time)
2010/03/31 NatVac - Hotkey support, quick weather fix script

Somehow you are enemies with Duty or Freedom, and you don't know 
how it happened. Or you joined Freedom because you had no choice 
in the matter. How do you fix that? 

Or the game is too hard in places. Is there a way of turning on 
"god mode" to get past that? 

Hey, you missed out on the good ending everyone is talking about. 
How can you use an existing late-game save to fix that?

The answers are at hand, once you enable the ZRP Support 
Utilities option. 

STALKER doesn't come with any real cheats or godmode options. And 
yes, you can mod your game to do a lot to get around that. But 
many folks don't have the bent, inclination or perhaps even just 
the time to do that. 

The ZRP Support Utilities functionality is provided to the casual 
user to get around these limitations. And it can be extended by 
just dropping in third-party or custom script text files as 
needed. And there's a command line tool to execute Lua statements 
for modders and scripters and folks who want more.

Straylock:  "If you only knew where I've just been and what I 
saw!"  (Unfolds hand, revealing ... something.)  "I got it from 
the Modolith Wish Granter.  (Smiles a smug smile.)

Dock:  (Shakes head.)  "You're going to finish badly, Straylock!"

Special Note: This is similar to the normal Wish Granter in you 
need to be careful what you wish for, but you will find more 
choices here. However, this can seriously change your game 
experience. PLEASE make a named save before using this power, for 
you (or possibly your saves) may be corrupted. 

Generally, you will know what you can do safely. But be aware 
that spawning quest items or giving yourself info_portions can 
affect tasks and/or game progress. 


================================================================
    How to install the ZRP Support Utilities
================================================================

The ZRP Support Utilities (ZSU) are script files that start with 
"z_" and end with ".script".  To avoid tempting folks too easily 
the utilities are in the scripts\optional\ subdirectory.

There are two ways to install them:  1) Copy the one(s) you want 
to use to the scripts\ subdirectory (one directory above the 
optional\ subdirectory) or 2) use the Modifier's SupportUtilities 
configuration to install the utility groups you want to use.

================================================================
    How to enable the ZRP Support Utilities
================================================================

To do that via the Modifier: In the SupportUtilities.cfg 
configuration, select the "Enable ZRP Support Utilities" entry. 
Check the "Allow ZRP Support Utilities" checkbox if it is not 
checked already. Click the Apply button. 

To enable it manually: Edit gamedata\scripts\ui_main_menu.script. 
Find the variable 'allow_zrp_utilities'. If it is set equal to 
'false', change the 'false' to 'true' (without the quotes). Save 
the change. 

================================================================
    How to use the ZRP Support Utilities
================================================================

You must be in an active game session, and your character must be 
alive. Press Esc to get to the main menu, then press Z to open 
the ZRP Support Utilities dialog. 

The listbox shows the available tweaks, cheats, workarounds, and 
fixes.  Some are selectable via hotkey if none are yet selected. 
All can be selected via a click of the left mouse button.

Below the listbox is the Description area, showing what the 
selected utility does when executed. Additional info may be 
displayed here as you use the utility.

The edit box below that is for any parameters if required. 

At the bottom of the dialog are the 'Go' and 'Exit' buttons. 

'Go' executes the chosen utility, which will automatically close 
the dialog and return you to the game if the input requirements 
are satisfied. If information is missing or the script is not 
valid, you'll see a note to that effect in the Description area. 
Keyboard shortcut: Enter. 

'Exit' returns you to the main menu. Keyboard shortcut: Esc. 

================================================================

      **** CAUTION ****

Some of these utilities can crash your game if you enter invalid 
data. The description area will tell you that. Practice saving 
your game before using those kinds of functions. You can remove 
these utilities by moving the corresponding script files to 
another directory, if you wish. 

================================================================

Click on each utility to see a description of the utility's 
purpose. With these functions, you can spawn an invulnerability 
artifact, you can patch up faction relationships that have turned 
sour, you can spawn other stuff and repair items. 

If a command with an option is successfully executed, the option 
line is stored. The last option line can be recalled during the 
current game session by pressing F8 in the dialog. This is reset 
when you change levels or load a saved game. 

Other function keys include F4 to clear the parameter line and F9 
to prepend "print " to a line.  This latter function is useful if 
you tried to view a result from a script command (see "Execute 
Script Command") which happened to be a function (i.e., ending in 
parentheses).

Some of the default utilities are discussed below. 


ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Execute Script Command:  This is the "cheats of last resort" 
function.  The other functions give quick and easy fixes, cheats, 
workarounds, spawns, etc., like an invulnerability artifact (see 
the Spawn Tools entry).

This tool permits in-game access to the innards of STALKER.  If 
you can do or access something via a script, you can do that 
here, too.

Because this is a very powerful function, instructions and 
examples are given in a separate file:

gamedata\docs\ZSU_ExecuteLuaCommand.txt


ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Faction Relationship Management

The faction utilities are fairly self-explanatory. They do not 
work on factions inimical to the Marked One: Bandits, 
Mercenaries, Military and Monolith. 

"Faction Friendship" will make typically neutral factions friends 
with you. (Note that if you are a member of Freedom, ecologists 
are enemy while bandits and mercs are neutral, so this doesn't 
apply.) 

"Faction Relationship Repair" will set neutral (0) any 
normally-neutral faction whose goodwill is below 0. It won't 
change the goodwill if already positive. 

"Faction Join or Leave" is mainly provided to correct the 
accidental joining with Freedom in vanilla by allowing you to 
rejoin the loners, but you can use it to join Duty or Freedom if 
you wish. 


ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Fix Broken NPCs:

If Kruglov gets absentminded and doesn't move, this will remind 
him.  For use in Wild Territory.

A more general utility that does the same thing but to any NPC 
in front of you is the NPC Nudge script.  Just walk up to the 
non-responsive NPC and execute the command.  (This is not yet 
proven to work; the latest ZRP build has not yet produced any 
Zone fugue victims.)

It will not work on NPCs in panic, because even after they are 
reset, they will respond to the same stimulous as before.  Wait 
a while and they will calm down.


ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Force Possible Secret:

When installed and executed, this toggles the state of a 
secret_always_possible flag and reports the new state.  If true, 
then the next body searched during the current game session 
will yield a secret -- if one can be had for that body on that 
level.  The flag is then reset.

Note that this installs a new treasure_manager.script file as 
well as the supporting ZSU script.  You might just want to give 
yourself the secret you expect; see the "Execute Script Command" 
entry's corresponding doc file.


ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Info_portion Set/Reset:  You can enable or disable info_portions 
to fix damage or adjust gameplay.  You will need to know the 
info_portions that you want to set or reset.  The main source 
is the script files.  A useful collection of these info_portions 
is the _dev.script file.

Consult the Internet. Search or ask for help with this on the 
forum sites that support STALKER.  Some sites are better for 
getting technical answers than others.  Consider GSC's official 
forum to start.


ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Mark Storming Abakan (Obokan) and NPCs:

The weapon of the Dutyer is not properly marked by the game.  
The location marker is on the spot where the gun bearer last 
had it out (not in backpack or shouldered).  This marks both 
the backpack and the usual gun bearer, as well as a couple of 
other NPCs.  The marks only last for the current game session. 


ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Repair Weapons and Armor:

Does what it says on the tin.  Equip what you want to fix, then 
use this function to repair it.  (One of the large-bore cheats.) 


ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Spawn Tools

Currently, there are two spawning tools, one for spawning stuff 
in your inventory, and one for pretty much anything else.  There 
is some checking to make sure there is a valid section entry to 
match what you enter, but it is still possible to crash the game. 
There is also an example of a custom spawner for AP ammo.  And 
there's the obligatory "god mode" invulnerability artifact.

ŻŻŻŻŻŻŻŻŻŻ
Spawn AP Ammo For Weapon:  Per the online help when you select 
the entry:

Spawn a box of AP ammo (actually, last defined ammo) for the 
weapon in the specified slot.

1 = Pistol, 2 = Rifle

ŻŻŻŻŻŻŻŻŻŻ
Spawn Something: You can spawn creatures or other items that 
would not normally fit in your inventory with this script. 

Please save first! This function requires a VALID item section 
parameter in the parameter box. Otherwise it will crash your 
game. 

Some items (like creatures) may be problematic: If they are 
not normally on a level, creatures will try to move to a smart 
terrain where they belong, and this can cause log spew if they 
can't determine a path to the destination.

Enhancements to this functionality is expected as time permits. 


ŻŻŻŻŻŻŻŻŻŻ
Spawn Something In Inventory:

Again, please save first! This function requires a VALID item 
section parameter in the parameter box. There is already a list 
of spawnable items but you can specify custom items.  You will 
be warned if you attempt to spawn something it does not recognize
and telling it to continue might crash your game. 

Most of the vanilla section names are accessible via the 
auto-complete feature (very highly recommended for use): 

Select the parameter box after selecting the "Spawn Something In 
Inventory" script. Type the starting letters of the section name 
of the item you want to add to your inventory. You can then use 
the keyboard arrow keys to show and select a section name for 
use. 

Arrow key functions:
up arrow    = previous item
down arrow  = next item
left arrow  = reset the input box (quick clear)
right arrow = use the currently-displayed item (puts it into 
              the parameter box)

Type 'af' to start with artifacts, 'am' for ammo, 'w' for 
weapons. You can view the script file in a text editor to see 
other choices, or to add your own custom section names for items 
(e.g., weapons) in your mod. 

Examples:
af_electra_moonlight
ammo_7.62x54_ap
decoder
medkit
outfit_exo_m1
wpn_svd_m1

To spawn the item, press the Enter key or click the Go button.

Be sure your input is complete before pressing the Enter key. The 
right arrow key always completes the input, using the currently 
displayed match. 

While it is possible to spawn items not in the list, be careful 
that the item can be validly spawned in one's inventory.

ŻŻŻŻŻŻŻŻŻŻ
Spawn UltimaShield: This gives you the invulnerability artifact. 
You will have to equip it for use.  You can easily remove it to 
play normally.


ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Weather Reset (Temporary):

If your view fills with flashing triangles during a storm on a 
level, you can try vid_restart in the console.  If that doesn't 
work, you have a couple of choices:  Quit the game, relaunch it, 
and reload the last save, or temporarily remove the rain.

The Weather Reset script uses the "test" weather preset.  It 
might not work with some weather mods if they have removed 
support for that preset.  It also has a constant "early evening"
look regardless of the time of day, making for some bright nights.

It only lasts during the current game session; reloading a save 
or changing levels will reset the effect.  It might also be reset 
by a weather mod updating the weather.


================================================================
    How to get or make new ZRP Support Utilities
================================================================
The utility list can be extended. You can request functionality 
on the forum sites that support the ZRP, or you can "roll your 
own". See the ZRP_SupportUtilities_ModdingNotes.txt file in the 
gamedata\docs\ subdirectory for additional information.

================================================================
This utility support feature is dedicated to romulous, ERForman, 
and all the other folks who have been frustrated by the quirks 
and idiosyncracies of the game.  --NatVac
