<h1>Netscript Singularity Functions<aclass="headerlink"href="#netscript-singularity-functions"title="Permalink to this headline">¶</a></h1>
<p>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.</p>
<p>The Singularity Functions are <strong>not</strong> immediately available to the player and must be unlocked later in the game.</p>
<p><strong>WARNING: This page contains spoilers for the game</strong>.</p>
<p>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.</p>
<p>Note that Singularity Functions require a lot of RAM outside of BitNode-4 (their RAM costs are multiplied by 10 if you are not in BitNode-4)</p>
<divclass="section"id="universitycourse">
<h2>universityCourse<aclass="headerlink"href="#universitycourse"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="universityCourse">
<codeclass="descname">universityCourse</code><spanclass="sig-paren">(</span><em>universityName</em>, <em>courseName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#universityCourse"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>universityName</strong> (<em>string</em>) -- <p>Name of university. Not case-sensitive. You must be in the correct city for whatever university you specify.</p>
<ul>
<li>Summit University</li>
<li>Rothman University</li>
<li>ZB Institute Of Technology</li>
</ul>
</li>
<li><strong>courseName</strong> (<em>string</em>) -- <p>Name of course. Not case-sensitive.</p>
<ul>
<li>Study Computer Science</li>
<li>Data Strucures</li>
<li>Networks</li>
<li>Algorithms</li>
<li>Management</li>
<li>Leadership</li>
</ul>
<p>If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to use this function.</p>
<p>This function will automatically set you to start taking a course at a university. If you are already in the middle of some
"working" action (such as working at a company, for a faction, or on a program), then running this function will automatically
cancel that action and give you your earnings.</p>
<p>The cost and experience gains for all of these universities and classes are the same as if you were to manually visit and take these classes.</p>
<p>This function will return true if you successfully start taking the course, and false otherwise.</p>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<divclass="section"id="gymworkout">
<h2>gymWorkout<aclass="headerlink"href="#gymworkout"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="gymWorkout">
<codeclass="descname">gymWorkout</code><spanclass="sig-paren">(</span><em>gymName</em>, <em>stat</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#gymWorkout"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>gymName</strong> (<em>string</em>) -- <p>Name of gym. Not case-sensitive. You must be in the correct city for whatever gym you specify.</p>
<ul>
<li>Crush Fitness Gym</li>
<li>Snap Fitness Gym</li>
<li>Iron Gym</li>
<li>Powerhouse Gym</li>
<li>Millenium Fitness Gym</li>
</ul>
</li>
<li><strong>stat</strong> (<em>string</em>) -- <p>The stat you want to train. Not case-sensitive.</p>
<ul>
<li>strength OR str</li>
<li>defense OR def</li>
<li>dexterity OR dex</li>
<li>agility OR agi</li>
</ul>
<p>If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to use this function.</p>
<p>This function will automatically set you to start working out at a gym to train a particular stat. If you are
already in the middle of some "working" action (such as working at a company, for a faction, or on a program),
then running this function will automatically cancel that action and give you your earnings.</p>
<p>The cost and experience gains for all of these gyms are the same as if you were to manually visit these gyms and train</p>
<p>This function will return true if you successfully start working out at the gym, and false otherwise.</p>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<divclass="section"id="traveltocity">
<h2>travelToCity<aclass="headerlink"href="#traveltocity"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="travelToCity">
<codeclass="descname">travelToCity</code><spanclass="sig-paren">(</span><em>cityName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#travelToCity"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>cityName</strong> (<em>string</em>) -- <p>City to travel to. CASE-SENSITIVE.</p>
<ul>
<li>Aevum</li>
<li>Chongqing</li>
<li>Sector-12</li>
<li>New Tokyo</li>
<li>Ishima</li>
<li>Volhaven</li>
</ul>
<p>If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to use this function.</p>
<p>This function allows the player to travel to any city. The cost for using this function is the same as the cost for traveling through the Travel Agency.</p>
<p>This function will return true if you successfully travel to the specified city and false otherwise.</p>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<divclass="section"id="purchasetor">
<h2>purchaseTor<aclass="headerlink"href="#purchasetor"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="purchaseTor">
<codeclass="descname">purchaseTor</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#purchaseTor"title="Permalink to this definition">¶</a></dt>
<dd><p>If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to use this function.</p>
<p>This function allows you to automatically purchase a TOR router. The cost for purchasing a TOR router using this
function is the same as if you were to manually purchase one.</p>
<p>This function will return true if it successfully purchase a TOR router and false otherwise.</p>
</dd></dl>
</div>
<divclass="section"id="purchaseprogram">
<h2>purchaseProgram<aclass="headerlink"href="#purchaseprogram"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="purchaseProgram">
<codeclass="descname">purchaseProgram</code><spanclass="sig-paren">(</span><em>programName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#purchaseProgram"title="Permalink to this definition">¶</a></dt>
<p>This function will return true if the specified program is purchased, and false otherwise.</p>
</dd></dl>
</div>
<divclass="section"id="getstats">
<h2>getStats<aclass="headerlink"href="#getstats"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getStats">
<codeclass="descname">getStats</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#getStats"title="Permalink to this definition">¶</a></dt>
<dd><p>If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to run this function.</p>
<p>Returns an object with the Player's stats. The object has the following properties:</p>
<spanclass="nb">print</span><spanclass="p">(</span><spanclass="s1">'My charisma level is: '</span><spanclass="o">+</span><spanclass="n">res</span><spanclass="o">.</span><spanclass="n">charisma</span><spanclass="p">);</span>
<h2>isBusy<aclass="headerlink"href="#isbusy"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="isBusy">
<codeclass="descname">isBusy</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#isBusy"title="Permalink to this definition">¶</a></dt>
<dd><p>If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to run this function.</p>
<p>Returns a boolean indicating whether or not the player is currently performing an 'action'. These actions include
working for a company/faction, studying at a univeristy, working out at a gym, creating a program, or committing a crime.</p>
<h2>stopAction<aclass="headerlink"href="#stopaction"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="stopAction">
<codeclass="descname">stopAction</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#stopAction"title="Permalink to this definition">¶</a></dt>
<dd><p>If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to run this function.
This function is used to end whatever 'action' the player is currently performing. The player
will receive whatever money/experience/etc. he has earned from that action.</p>
<p>The actions that can be stopped with this function are:</p>
<ulclass="simple">
<li>Studying at a university</li>
<li>Working for a company/faction</li>
<li>Creating a program</li>
<li>Committing a Crime</li>
</ul>
<p>This function will return true if the player's action was ended. It will return false if the player was not
performing an action when this function was called.</p>
<h2>upgradeHomeRam<aclass="headerlink"href="#upgradehomeram"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="upgradeHomeRam">
<codeclass="descname">upgradeHomeRam</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#upgradeHomeRam"title="Permalink to this definition">¶</a></dt>
<dd><p>If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function.</p>
<p>This function will upgrade amount of RAM on the player's home computer. The cost is the same as if you were to do it manually.</p>
<p>This function will return true if the player's home computer RAM is successfully upgraded, and false otherwise.</p>
</dd></dl>
</div>
<divclass="section"id="getupgradehomeramcost">
<h2>getUpgradeHomeRamCost<aclass="headerlink"href="#getupgradehomeramcost"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getUpgradeHomeRamCost">
<codeclass="descname">getUpgradeHomeRamCost</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#getUpgradeHomeRamCost"title="Permalink to this definition">¶</a></dt>
<dd><p>If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function.</p>
<p>Returns the cost of upgrading the player's home computer RAM.</p>
</dd></dl>
</div>
<divclass="section"id="workforcompany">
<h2>workForCompany<aclass="headerlink"href="#workforcompany"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="workForCompany">
<codeclass="descname">workForCompany</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#workForCompany"title="Permalink to this definition">¶</a></dt>
<dd><p>If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function.</p>
<p>This function will automatically set you to start working at the company at which you are employed.
If you are already in the middle of some "working" action (such as working for a faction, training at
a gym, or creating a program), then running this function will automatically cancel that action and give you your earnings.</p>
<p>This function will return true if the player starts working, and false otherwise.</p>
<p>Note that when you are working for a company, you will not actually receive your earnings
(reputation, money, experience) until you FINISH the action. This can be an issue if, for example,
you only want to work until you get 100,000 company reputation. One small hack to get around this is to
continuously restart the action to receive your earnings:</p>
<p>This way, your company reputation will be updated every minute.</p>
</dd></dl>
</div>
<divclass="section"id="applytocompany">
<h2>applyToCompany<aclass="headerlink"href="#applytocompany"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="applyToCompany">
<codeclass="descname">applyToCompany</code><spanclass="sig-paren">(</span><em>companyName</em>, <em>field</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#applyToCompany"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>companyName</strong> (<em>string</em>) -- Name of company to apply to. CASE-SENSITIVE.</li>
<li><strong>field</strong> (<em>string</em>) -- <p>Field to which you want to apply. Not case-sensitive</p>
<ul>
<li>software</li>
<li>software consultant</li>
<li>it</li>
<li>security engineer</li>
<li>network engineer</li>
<li>business</li>
<li>business consultant</li>
<li>security</li>
<li>agent</li>
<li>employee</li>
<li>part-time employee</li>
<li>waiter</li>
<li>part-time waiter</li>
</ul>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function.</p>
<p>This function will automatically try to apply to the specified company for a position in the specified
field. This function can also be used to apply for promotions by specifying the company and field you
are already employed at.</p>
<p>This function will return true if you successfully get a job/promotion, and false otherwise. Note that
if you are trying to use this function to apply for a promotion and you don't get one, it will return false.</p>
</dd></dl>
</div>
<divclass="section"id="getcompanyrep">
<h2>getCompanyRep<aclass="headerlink"href="#getcompanyrep"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getCompanyRep">
<codeclass="descname">getCompanyRep</code><spanclass="sig-paren">(</span><em>companyName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#getCompanyRep"title="Permalink to this definition">¶</a></dt>
<h2>getCompanyFavor<aclass="headerlink"href="#getcompanyfavor"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getCompanyFavor">
<codeclass="descname">getCompanyFavor</code><spanclass="sig-paren">(</span><em>companyName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#getCompanyFavor"title="Permalink to this definition">¶</a></dt>
<h2>checkFactionInvitations<aclass="headerlink"href="#checkfactioninvitations"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="checkFactionInvitations">
<codeclass="descname">checkFactionInvitations</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#checkFactionInvitations"title="Permalink to this definition">¶</a></dt>
<dd><p>If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function.</p>
<p>Returns an array with the name of all Factions you currently have oustanding invitations from.</p>
</dd></dl>
</div>
<divclass="section"id="joinfaction">
<h2>joinFaction<aclass="headerlink"href="#joinfaction"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="joinFaction">
<codeclass="descname">joinFaction</code><spanclass="sig-paren">(</span><em>name</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#joinFaction"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>name</strong> (<em>string</em>) -- Name of faction to join. CASE-SENSITIVE</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function.</p>
<p>This function will automatically accept an invitation from a faction and join it.</p>
</dd></dl>
</div>
<divclass="section"id="workforfaction">
<h2>workForFaction<aclass="headerlink"href="#workforfaction"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="workForFaction">
<codeclass="descname">workForFaction</code><spanclass="sig-paren">(</span><em>factionName</em>, <em>workType</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#workForFaction"title="Permalink to this definition">¶</a></dt>
<p>This way, your faction reputation will be updated every minute.</p>
</dd></dl>
</div>
<divclass="section"id="getfactionrep">
<h2>getFactionRep<aclass="headerlink"href="#getfactionrep"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getFactionRep">
<codeclass="descname">getFactionRep</code><spanclass="sig-paren">(</span><em>factionName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#getFactionRep"title="Permalink to this definition">¶</a></dt>
<h2>getFactionFavor<aclass="headerlink"href="#getfactionfavor"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getFactionFavor">
<codeclass="descname">getFactionFavor</code><spanclass="sig-paren">(</span><em>factionName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#getFactionFavor"title="Permalink to this definition">¶</a></dt>
<h2>createProgram<aclass="headerlink"href="#createprogram"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="createProgram">
<codeclass="descname">createProgram</code><spanclass="sig-paren">(</span><em>programName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#createProgram"title="Permalink to this definition">¶</a></dt>
<codeclass="descname">commitCrime</code><spanclass="sig-paren">(</span><em>crime</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#commitCrime"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>crime</strong> (<em>string</em>) -- <p>Name of crime to attempt. Not case-sensitive. This argument is fairly lenient in terms of what inputs it accepts.
Here is a list of valid inputs for all of the crimes:</p>
<ul>
<li>shoplift</li>
<li>rob store</li>
<li>mug</li>
<li>larceny</li>
<li>deal drugs</li>
<li>bond forgery</li>
<li>traffick arms</li>
<li>homicide</li>
<li>grand theft auto</li>
<li>kidnap</li>
<li>assassinate</li>
<li>heist</li>
</ul>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function.</p>
<p>This function is used to automatically attempt to commit crimes. If you are already in the middle of some 'working' action
(such as working for a company or training at a gym), then running this function will automatically cancel that action and give you your earnings.</p>
<p>Note that crimes committed using this function will have all of their earnings halved (this applied for both money and experience!)</p>
<p>This function returns the number of seconds it takes to attempt the specified crime (e.g It takes 60 seconds to attempt the 'Rob Store' crime,
so running <em>commitCrime('rob store')</em> will return 60).</p>
<p>Warning: I do not recommend using the time returned from this function to try and schedule your crime attempts.
Instead, I would use the isBusy() Singularity function to check whether you have finished attempting a crime.
This is because although the game sets a certain crime to be X amount of seconds, there is no guarantee that your
<h2>getCrimeChance<aclass="headerlink"href="#getcrimechance"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getCrimeChance">
<codeclass="descname">getCrimeChance</code><spanclass="sig-paren">(</span><em>crime</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#getCrimeChance"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>crime</strong> (<em>string</em>) -- Name of crime. Not case-sensitive. This argument is fairlyn lenient in terms of what inputs it accepts.
Check the documentation for the <em>commitCrime()</em> function for a list of example inputs.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function.</p>
<p>This function returns your chance of success at commiting the specified crime. The chance is returned as a decimal (i.e. 60% would be returned as 0.6).</p>
</dd></dl>
</div>
<divclass="section"id="getownedaugmentations">
<h2>getOwnedAugmentations<aclass="headerlink"href="#getownedaugmentations"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getOwnedAugmentations">
<codeclass="descname">getOwnedAugmentations</code><spanclass="sig-paren">(</span><em>purchased=false</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#getOwnedAugmentations"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>purchase</strong> (<em>boolean</em>) -- Specifies whether the returned array should include Augmentations you have purchased but not yet installed.
By default, this argument is false which means that the return value will NOT have the purchased Augmentations.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function.</p>
<p>This function returns an array containing the names (as strings) of all Augmentations you have.</p>
<h2>getAugmentationsFromFaction<aclass="headerlink"href="#getaugmentationsfromfaction"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getAugmentationsFromFaction">
<codeclass="descname">getAugmentationsFromFaction</code><spanclass="sig-paren">(</span><em>facName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#getAugmentationsFromFaction"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>facName</strong> (<em>string</em>) -- Name of faction. CASE-SENSITIVE</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function.</p>
<p>Returns an array containing the names (as strings) of all Augmentations that are available from the specified faction.</p>
</dd></dl>
</div>
<divclass="section"id="getaugmentationcost">
<h2>getAugmentationCost<aclass="headerlink"href="#getaugmentationcost"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="getAugmentationCost">
<codeclass="descname">getAugmentationCost</code><spanclass="sig-paren">(</span><em>augName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#getAugmentationCost"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>augName</strong> (<em>string</em>) -- Name of Augmentation. CASE-SENSITIVE</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function.</p>
<p>This function returns an array with two elements that gives the cost for the specified Augmentation.
The first element in the returned array is the reputation requirement of the Augmentation, and the second element is the money cost.</p>
<p>If an invalid Augmentation name is passed in for the <em>augName</em> argument, this function will return the array [-1, -1].</p>
</dd></dl>
</div>
<divclass="section"id="purchaseaugmentation">
<h2>purchaseAugmentation<aclass="headerlink"href="#purchaseaugmentation"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="purchaseAugmentation">
<codeclass="descname">purchaseAugmentation</code><spanclass="sig-paren">(</span><em>factionName</em>, <em>augName</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#purchaseAugmentation"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>factionName</strong> (<em>string</em>) -- Name of faction to purchase Augmentation from. CASE-SENSITIVE</li>
<li><strong>augName</strong> (<em>string</em>) -- Name of Augmentation to purchase. CASE-SENSITIVE</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function.</p>
<p>This function will try to purchase the specified Augmentation through the given Faction.</p>
<p>This function will return true if the Augmentation is successfully purchased, and false otherwise.</p>
</dd></dl>
</div>
<divclass="section"id="installaugmentations">
<h2>installAugmentations<aclass="headerlink"href="#installaugmentations"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="installAugmentations">
<codeclass="descname">installAugmentations</code><spanclass="sig-paren">(</span><em>cbScript</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#installAugmentations"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Arguments:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>cbScript</strong> (<em>string</em>) -- Optional callback script. This is a script that will automatically be run after Augmentations are installed (after the reset).
This script will be run with no arguments and 1 thread. It must be located on your home computer.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>If you are not in BitNode-4, then you must have Level 3 of Source-File 4 in order to use this function.</p>
<p>This function will automatically install your Augmentations, resetting the game as usual.</p>
<p>It will return true if successful, and false otherwise.</p>