mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-26 07:57:32 +01:00
278 lines
8.5 KiB
ReStructuredText
278 lines
8.5 KiB
ReStructuredText
Netscript Gang API
|
|
==================
|
|
|
|
Netscript provides the following API for interacting with the game's Gang mechanic.
|
|
|
|
The Gang API is **not** immediately available to the player and must be unlocked
|
|
later in the game
|
|
|
|
**WARNING: This page contains spoilers for the game**
|
|
|
|
The Gang API is unlocked in BitNode-2. Currently, BitNode-2 is the only location
|
|
where the Gang mechanic is accessible. This may change in the future
|
|
|
|
**Gang API functions must be accessed through the 'gang' namespace**
|
|
|
|
In :ref:`netscript1`::
|
|
|
|
gang.getMemberNames();
|
|
gang.recruitMember("Fry");
|
|
|
|
In :ref:`netscriptjs`::
|
|
|
|
ns.gang.getMemberNames();
|
|
ns.gang.recruitMember("Fry");
|
|
|
|
getMemberNames
|
|
--------------
|
|
|
|
.. js:function:: getMemberNames()
|
|
|
|
Get the names of all Gang members
|
|
|
|
:returns: An array of the names of all Gang members as strings
|
|
|
|
getGangInformation
|
|
------------------
|
|
|
|
.. js:function:: getGangInformation()
|
|
|
|
Get general information about the gang
|
|
|
|
:returns: An object with the gang information.
|
|
|
|
The object has the following structure::
|
|
|
|
{
|
|
faction: Name of faction that the gang belongs to ("Slum Snakes", etc.)
|
|
isHacking: Boolean indicating whether or not its a hacking gang
|
|
moneyGainRate: Money earned per second
|
|
power: Gang's power for territory warfare
|
|
respect: Gang's respect
|
|
respectGainRate: Respect earned per second
|
|
territory: Amount of territory held. Returned in decimal form, not percentage
|
|
territoryClashChance: Clash chance. Returned in decimal form, not percentage
|
|
wantedLevel: Gang's wanted level
|
|
wantedLevelGainRate: Wanted level gained/lost per second (negative for losses)
|
|
}
|
|
|
|
getOtherGangInformation
|
|
-----------------------
|
|
|
|
.. js:function:: getOtherGangInformation()
|
|
|
|
Get territory and power information about all gangs
|
|
|
|
:returns: An object with information about all gangs
|
|
|
|
The object has the following structure::
|
|
|
|
{
|
|
"Slum Snakes" : {
|
|
power: Slum Snakes' power
|
|
territory: Slum Snakes' territory, in decimal form
|
|
},
|
|
"Tetrads" : {
|
|
power: ...
|
|
territory: ...
|
|
},
|
|
"The Syndicate" : {
|
|
power: ...
|
|
territory: ...
|
|
},
|
|
... (for all six gangs)
|
|
}
|
|
|
|
getMemberInformation
|
|
--------------------
|
|
|
|
.. js:function:: getMemberInformation(name)
|
|
|
|
:param string name: Name of member
|
|
|
|
Get stat and equipment-related information about a Gang Member
|
|
|
|
:returns: An object with the gang member information.
|
|
|
|
The object has the following structure::
|
|
|
|
{
|
|
agility: Agility stat
|
|
agilityEquipMult: Agility multiplier from equipment. Decimal form
|
|
agilityAscensionMult: Agility multiplier from ascension. Decimal form
|
|
augmentations: Array of names of all owned Augmentations
|
|
charisma: Charisma stat
|
|
charismaEquipMult: Charisma multiplier from equipment. Decimal form
|
|
charismaAscensionMult: Charisma multiplier from ascension. Decimal form
|
|
defense: Defense stat
|
|
defenseEquipMult: Defense multiplier from equipment. Decimal form
|
|
defenseAscensionMult: Defense multiplier from ascension. Decimal form
|
|
dexterity: Dexterity stat
|
|
dexterityEquipMult: Dexterity multiplier from equipment. Decimal form
|
|
dexterityAscensionMult: Dexterity multiplier from ascension. Decimal form
|
|
equipment: Array of names of all owned Non-Augmentation Equipment
|
|
hacking: Hacking stat
|
|
hackingEquipMult: Hacking multiplier from equipment. Decimal form
|
|
hackingAscensionMult: Hacking multiplier from ascension. Decimal form
|
|
strength: Strength stat
|
|
strengthEquipMult: Strength multiplier from equipment. Decimal form
|
|
strengthAscensionMult: Strength multiplier from ascension. Decimal form
|
|
task: Name of currently assigned task
|
|
}
|
|
|
|
canRecruitMember
|
|
----------------
|
|
|
|
.. js:function:: canRecruitMember()
|
|
|
|
:returns: Boolean indicating whether a member can currently be recruited
|
|
|
|
recruitMember
|
|
-------------
|
|
|
|
.. js:function:: recruitMember(name)
|
|
|
|
:param string name: Name of member to recruit
|
|
|
|
Attempt to recruit a new gang member.
|
|
|
|
Possible reasons for failure:
|
|
* Cannot currently recruit a new member
|
|
* There already exists a member with the specified name
|
|
|
|
:returns: True if the member was successfully recruited. False otherwise
|
|
|
|
getTaskNames
|
|
------------
|
|
|
|
.. js:function:: getTaskNames()
|
|
|
|
Get the name of all valid tasks that Gang members can be assigned to
|
|
|
|
:returns: Array of strings of all task names
|
|
|
|
setMemberTask
|
|
-------------
|
|
|
|
.. js:function:: setMemberTask(memberName, taskName)
|
|
|
|
:param string memberName: Name of Gang member to assign
|
|
:param string taskName: Task to assign
|
|
|
|
Attempts to assign the specified Gang Member to the specified task.
|
|
If an invalid task is specified, the Gang member will be set to idle ("Unassigned")
|
|
|
|
:returns: True if the Gang Member was successfully assigned to the task. False otherwise
|
|
|
|
getEquipmentNames
|
|
-----------------
|
|
|
|
.. js:function:: getEquipmentNames()
|
|
|
|
Get the name of all possible equipment/upgrades you can purchase for your
|
|
Gang Members. This includes Augmentations.
|
|
|
|
:returns: Array of strings of the names of all Equpiment/Augmentations
|
|
|
|
getEquipmentCost
|
|
----------------
|
|
|
|
.. js:function:: getEquipmentCost(equipName)
|
|
|
|
:param string equipName: Name of equipment
|
|
|
|
Get the amount of money it takes to purchase a piece of Equipment or an Augmentation.
|
|
If an invalid Equipment/Augmentation is specified, this function will return Infinity.
|
|
|
|
:returns: Cost to purchase the specified Equipment/Augmentation (number). Infinity
|
|
for invalid arguments
|
|
|
|
getEquipmentType
|
|
----------------
|
|
|
|
.. js:function:: getEquipmentType(equipName)
|
|
|
|
:param string equipName: Name of equipment
|
|
|
|
Get the specified equipment type, which can be one of the following:
|
|
|
|
* Weapon
|
|
* Armor
|
|
* Vehicle
|
|
* Rootkit
|
|
* Augmentation
|
|
|
|
:returns: A string stating the type of the equipment
|
|
|
|
purchaseEquipment
|
|
-----------------
|
|
|
|
.. js:function:: purchaseEquipment(memberName, equipName)
|
|
|
|
:param string memberName: Name of Gang member to purchase the equipment for
|
|
:param string equipName: Name of Equipment/Augmentation to purchase
|
|
|
|
Attempt to purchase the specified Equipment/Augmentation for the specified
|
|
Gang member.
|
|
|
|
:returns: True if the equipment was successfully purchased. False otherwise
|
|
|
|
|
|
ascendMember
|
|
------------
|
|
|
|
.. js:function:: ascendMember(name)
|
|
|
|
:param string name: Name of member to ascend
|
|
|
|
Ascend the specified Gang Member.
|
|
|
|
:returns: An object with info about the ascension results.
|
|
|
|
The object has the following structure::
|
|
|
|
{
|
|
respect: Amount of respect lost from ascending
|
|
hack: Hacking multiplier gained from ascending. Decimal form
|
|
str: Strength multiplier gained from ascending. Decimal form
|
|
def: Defense multiplier gained from ascending. Decimal form
|
|
dex: Dexterity multiplier gained from ascending. Decimal form
|
|
agi: Agility multiplier gained from ascending. Decimal form
|
|
cha: Charisma multiplier gained from ascending. Decimal form
|
|
}
|
|
|
|
|
|
setTerritoryWarfare
|
|
-------------------
|
|
|
|
.. js:function:: setTerritoryWarfare(engage)
|
|
|
|
:param bool engage: Whether or not to engage in territory warfare
|
|
|
|
Set whether or not the gang should engage in territory warfare
|
|
|
|
getChanceToWinClash
|
|
-------------------
|
|
|
|
.. js:function:: getChanceToWinClash(gangName)
|
|
|
|
:param string gangName: Target gang
|
|
|
|
Returns the chance you have to win a clash with the specified gang. The chance
|
|
is returned in decimal form, not percentage
|
|
|
|
|
|
getBonusTime
|
|
------------
|
|
|
|
.. js:function:: getBonusTime()
|
|
|
|
Returns the amount of accumulated "bonus time" (seconds) for the Gang mechanic.
|
|
|
|
"Bonus time" is accumulated when the game is offline or if the game is
|
|
inactive in the browser.
|
|
|
|
"Bonus time" makes the game progress faster, up to 10x the normal speed.
|
|
|
|
:returns: Bonus time for the Gang mechanic in seconds
|