.. _netscript_singularityfunctions:

Netscript Singularity Functions
===============================

The Singularity Functions are a special set of Netscript functions. These functions allow you to control
many additional aspects of the game through scripts, such as working for factions/companies, purchasing/installing Augmentations,
and creating programs.

The Singularity Functions are **not** immediately available to the player and must be unlocked later in the game.

.. warning:: This page contains spoilers for the game

The Singularity Functions are unlocked in BitNode-4. If you are in BitNode-4, then you will automatically have access to all of these functions.
You can use the Singularity Functions in other BitNodes if and only if you have the Source-File for BitNode-4 (aka Source-File 4). Each level of
Source-File 4 will open up additional Singularity Functions that you can use in other BitNodes. If your Source-File 4 is upgraded all the way to
level 3, then you will be able to access all of the Singularity Functions.

.. toctree::
    :caption: Functions:

    universityCourse() <singularityfunctions/universityCourse>
    gymWorkout() <singularityfunctions/gymWorkout>
    travelToCity() <singularityfunctions/travelToCity>
    purchaseTor() <singularityfunctions/purchaseTor>
    purchaseProgram() <singularityfunctions/purchaseProgram>
    connect() <singularityfunctions/connect>
    manualHack() <singularityfunctions/manualHack>
    getStats() <singularityfunctions/getStats>
    getCharacterInformation() <singularityfunctions/getCharacterInformation>
    isBusy() <singularityfunctions/isBusy>
    stopAction() <singularityfunctions/stopAction>
    upgradeHomeRam() <singularityfunctions/upgradeHomeRam>
    getUpgradeHomeRamCost() <singularityfunctions/getUpgradeHomeRamCost>
    workForCompany() <singularityfunctions/workForCompany>
    applyToCompany() <singularityfunctions/applyToCompany>
    getCompanyRep() <singularityfunctions/getCompanyRep>
    getCompanyFavor() <singularityfunctions/getCompanyFavor>
    getCompanyFavorGain() <singularityfunctions/getCompanyFavorGain>
    checkFactionInvitations() <singularityfunctions/checkFactionInvitations>
    joinFaction() <singularityfunctions/joinFaction>
    workForFaction() <singularityfunctions/workForFaction>
    getFactionRep() <singularityfunctions/getFactionRep>
    getFactionFavor() <singularityfunctions/getFactionFavor>
    getFactionFavorGain() <singularityfunctions/getFactionFavorGain>
    donateToFaction() <singularityfunctions/donateToFaction>
    createProgram() <singularityfunctions/createProgram>
    commitCrime() <singularityfunctions/commitCrime>
    getCrimeChance() <singularityfunctions/getCrimeChance>
    getCrimeStats() <singularityfunctions/getCrimeStats>
    getOwnedAugmentations() <singularityfunctions/getOwnedAugmentations>
    getOwnedSourceFiles() <singularityfunctions/getOwnedSourceFiles>
    getAugmentationsFromFaction() <singularityfunctions/getAugmentationsFromFaction>
    getAugmentationPrereq() <singularityfunctions/getAugmentationPrereq>
    getAugmentationCost() <singularityfunctions/getAugmentationCost>
    getAugmentationStats() <singularityfunctions/getAugmentationStats>
    purchaseAugmentation() <singularityfunctions/purchaseAugmentation>
    installAugmentations() <singularityfunctions/installAugmentations>
    softReset() <singularityfunctions/softReset>