Changed the way Corporation valuation is calculated (now based on outstanding shares). Updated gameplay documentation for RTD

This commit is contained in:
danielyxie 2019-01-04 16:50:27 -08:00
parent 3a439d8208
commit f4e0eaeffb
17 changed files with 307 additions and 171698 deletions

60701
dist/engine.bundle.js vendored

File diff suppressed because one or more lines are too long

111082
dist/vendor.bundle.js vendored

File diff suppressed because one or more lines are too long

@ -11,7 +11,7 @@ user's physical and mental faculties.
Augmentations provide persistent upgrades in the form of multipliers. Augmentations provide persistent upgrades in the form of multipliers.
These multipliers apply to a wide variety of things such as stats, These multipliers apply to a wide variety of things such as stats,
experience gain, and hacking, just to name a few. Your multipliers experience gain, and hacking, just to name a few. Your multipliers
can be viewed in the 'Character' page (keyboard shortcut Alt + c) can be viewed in the 'Character' page (:ref:`keyboard shortcut <shortcuts>` Alt + c)
How to acquire Augmentations How to acquire Augmentations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

@ -2,3 +2,11 @@
Companies Companies
========= =========
When exploring the :ref:`world <World>`, you can visit various companies. At
these companies, you can apply for jobs.
Working a job lets you earn money, experience, and reputation with that company.
Information about all Companies
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TODO

@ -2,3 +2,28 @@
Crimes Crimes
====== ======
Commiting crimes is an active gameplay mechanic that allows the player to train
their stats and potentially earn money. The player can attempt to commit crimes
by visiting 'The Slums' through the 'City' tab (:ref:`Keyboard shortcut <_shortcuts>` Alt + w).
'The Slums' is available in every city.
Basic Mechanics
^^^^^^^^^^^^^^^
When you visit the 'Slums' you will see a list of buttons that show all of the
available crimes. Simply select one of the options to begin attempting that
crime. Attempting to commit a crime takes a certain amount of time. This time
varies between crimes. During this time, you cannot do anything else.
Crimes are not always successful. Your rate of success is determined by your
stats (and Augmentation multipliers) and can be seen on the crime-selection
page. If you are unsuccessful at committing a crime you will gain EXP,
but you will not earn money. If you are successful at committing the crime
you will gain extra EXP (double of what an unsuccessful attempt would give)
and earn money.
Harder crimes are typically more profitable, and also give more EXP.
Crime details
^^^^^^^^^^^^^
TODO

@ -40,7 +40,7 @@ List of Factions and their Requirements
| | Tian Di Hui | * $1m | | | | Tian Di Hui | * $1m | |
| | | * Hacking Level 50 | | | | | * Hacking Level 50 | |
| | | * Be in Chongqing, New Tokyo, or Ishima | | | | | * Be in Chongqing, New Tokyo, or Ishima | |
+---------------------+----------------+-----------------------------------------+-------------------------------+ + +----------------+-----------------------------------------+-------------------------------+
| | Netburners | * Hacking Level 80 | | | | Netburners | * Hacking Level 80 | |
| | | * Total Hacknet Levels of 100 | | | | | * Total Hacknet Levels of 100 | |
| | | * Total Hacknet RAM of 8 | | | | | * Total Hacknet RAM of 8 | |

@ -78,7 +78,7 @@ Server Security
Each server has a security level, typically between 1 and 100. Each server has a security level, typically between 1 and 100.
A higher number means the server has stronger security. It is A higher number means the server has stronger security. It is
possible for a server to have a security of level 100 or higher, in possible for a server to have a security of level 100 or higher, in
which case hacking a server will become impossible (0% chance for which case hacking that server will become impossible (0% chance for
hack to succeed). hack to succeed).
As mentioned above, a server's security level is an important factor As mentioned above, a server's security level is an important factor

@ -152,6 +152,7 @@ Displays all active scripts and their RAM usage
Working with Scripts in Netscript Working with Scripts in Netscript
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TODO/Coming Soon...
Notes about how Scripts Work Offline Notes about how Scripts Work Offline
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

@ -49,7 +49,7 @@ certain locations in the World.
2. The home computer persists through Augmentation Installations. This means 2. The home computer persists through Augmentation Installations. This means
that you will not lose any RAM upgrades or Scripts on your that you will not lose any RAM upgrades or Scripts on your
home computer when you install Augmentations (you will home computer when you install :ref:`gameplay_augmentations` (you will
however, lose programs and messages on your home computer). however, lose programs and messages on your home computer).
The player can also purchase additional servers. This can be The player can also purchase additional servers. This can be

@ -19,6 +19,7 @@ Affects:
* Success rate of Hacking option during Infiltration * Success rate of Hacking option during Infiltration
* Time it takes to create a program * Time it takes to create a program
* Faction reputation gain when carrying out Hacking Contracts or Field Work * Faction reputation gain when carrying out Hacking Contracts or Field Work
* Company reputation gain for certain jobs
Gain experience by: Gain experience by:
@ -27,7 +28,7 @@ Gain experience by:
* Committing certain crimes * Committing certain crimes
* Infiltration * Infiltration
* Carrying out Hacking Contracts or doing Field work for Factions * Carrying out Hacking Contracts or doing Field work for Factions
* Working software/IT-related jobs at a company * Working certain jobs at a company
* Studying at a university * Studying at a university
Strength Strength
@ -47,6 +48,7 @@ Gain experience by:
* Infiltration * Infiltration
* Working out at a gym * Working out at a gym
* Doing Security/Field Work for a faction * Doing Security/Field Work for a faction
* Working certain jobs at a company
Defense Defense
^^^^^^^ ^^^^^^^
@ -67,6 +69,7 @@ Gain experience by:
* Infiltration * Infiltration
* Working out at a gym * Working out at a gym
* Doing Security/Field Work for a faction * Doing Security/Field Work for a faction
* Working certain jobs at a company
Dexterity Dexterity
^^^^^^^^^ ^^^^^^^^^
@ -85,6 +88,7 @@ Gain experience by:
* Infiltration * Infiltration
* Working out at a gym * Working out at a gym
* Doing Security/Field Work for a faction * Doing Security/Field Work for a faction
* Working certain jobs at a company
Agility Agility
^^^^^^^ ^^^^^^^
@ -103,6 +107,7 @@ Gain experience by:
* Infiltration * Infiltration
* Working out at a gym * Working out at a gym
* Doing Security/Field Work for a faction * Doing Security/Field Work for a faction
* Working certain jobs at a company
Charisma Charisma
^^^^^^^^ ^^^^^^^^

@ -2,3 +2,67 @@
Stock Market Stock Market
============ ============
The Stock Market refers to the World Stock Exchange (WSE), through which you can
buy and sell stocks in order to make money.
The WSE can be found in the 'City' tab, and is accessible in every city.
Positions: Long vs Short
^^^^^^^^^^^^^^^^^^^^^^^^
When making a transaction on the stock market, there are two types of positions:
Long and Short. A Long position is the typical scenario where you buy a stock and
earn a profit if the price of that stock increases. Meanwhile, a Short position
is the exact opposite. In a Short position you purchase shares of a stock and
earn a profit if the price of that stock decreases. This is also called 'shorting'
a stock.
NOTE: Shorting stocks is not available immediately, and must be unlocked later in the
game.
Order Types
^^^^^^^^^^^
There are three different types of orders you can make to buy or sell stocks on the exchange:
Market Order, Limit Order, and Stop Order.
Note that Limit Orders and Stop Orders are not available immediately, and must be unlocked
later in the game.
When you place a Market Order to buy or sell a stock, the order executes immediately at
whatever the current price of the stock is. For example if you choose to short a stock
with 5000 shares using a Market Order, you immediately purchase those 5000 shares in a
Short position at whatever the current market price is for that stock.
A Limit Order is an order that only executes under certain conditions. A Limit Order is
used to buy or sell a stock at a specified price or better. For example, lets say you
purchased a Long position of 100 shares of some stock at a price of $10 per share. You
can place a Limit Order to sell those 100 shares at $50 or better. The Limit Order will
execute when the price of the stock reaches a value of $50 or higher.
A Stop Order is the opposite of a Limit Order. It is used to buy or sell a stock at a
specified price (before the price gets 'worse'). For example, lets say you purchased a
Short position of 100 shares of some stock at a price of $100 per share. The current
price of the stock is $80 (a profit of $20 per share). You can place a Stop Order to
sell the Short position if the stock's price reaches $90 or higher. This can be used
to lock in your profits and limit any losses.
Here is a summary of how each order works and when they execute:
**In a LONG Position:**
A Limit Order to buy will execute if the stock's price <= order's price
A Limit Order to sell will execute if the stock's price >= order's price
A Stop Order to buy will execute if the stock's price >= order's price
A Stop Order to sell will execute if the stock's price <= order's price
**In a SHORT Position:**
A Limit Order to buy will execute if the stock's price >= order's price
A Limit Order to sell will execute if the stock's price <= order's price
A Stop Order to buy will execute if the stock's price <= order's price
A Stop Order to sell will execute if the stock's price >= order's price.

@ -5,8 +5,8 @@ Terminal
The Terminal is a console emulator program that lets you interface with all of the The Terminal is a console emulator program that lets you interface with all of the
Servers in the game. The Terminal can be accessed by clicking the 'Terminal' tab Servers in the game. The Terminal can be accessed by clicking the 'Terminal' tab
on the navigation menu on the left-hand side of the game (you may need to expand on the navigation menu on the left-hand side of the game (you may need to expand
the 'Hacking' header in order to see the 'Terminal' tab). Alternatively, the keyboard the 'Hacking' header in order to see the 'Terminal' tab). Alternatively, the :ref:`keyboard
shortcut Alt + t can be used to open the Terminal. shortcut <shortcuts>` Alt + t can be used to open the Terminal.
Configuration Configuration
------------- -------------

@ -75,7 +75,7 @@ weaken
weaken("foodnstuff"); weaken("foodnstuff");
hackAnalyzeThreads hackAnalyzeThreads
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
.. js:function:: hackAnalyzeThreads(hostname/ip, hackAmount) .. js:function:: hackAnalyzeThreads(hostname/ip, hackAmount)

@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Bitburner - development</title> <title>Bitburner</title>
<link rel="apple-touch-icon" sizes="180x180" href="dist/apple-touch-icon.png"> <link rel="apple-touch-icon" sizes="180x180" href="dist/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="dist/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="dist/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="dist/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="dist/favicon-16x16.png">
@ -474,8 +474,7 @@
<!-- Tutorial content --> <!-- Tutorial content -->
<div id="tutorial-container" class="generic-menupage-container"> <div id="tutorial-container" class="generic-menupage-container">
<a id="tutorial-getting-started-link" class="a-link-button" <a id="tutorial-getting-started-link" class="a-link-button" href="http://bitburner.wikia.com/wiki/Chapt3rs_Guide_to_Getting_Started_with_Bitburner" target="_blank"> Getting Started </a>
href="http://bitburner.wikia.com/wiki/Chapt3rs_Guide_to_Getting_Started_with_Bitburner" target="_blank"> Getting Started </a>
<a id="tutorial-networking-link" class="a-link-button"> Servers & Networking </a> <a id="tutorial-networking-link" class="a-link-button"> Servers & Networking </a>
<a id="tutorial-hacking-link" class="a-link-button"> Hacking </a> <a id="tutorial-hacking-link" class="a-link-button"> Hacking </a>
<a id="tutorial-scripts-link" class="a-link-button"> Scripts </a> <a id="tutorial-scripts-link" class="a-link-button"> Scripts </a>
@ -484,8 +483,7 @@
<a id="tutorial-jobs-link" class="a-link-button"> Companies and Infiltration </a> <a id="tutorial-jobs-link" class="a-link-button"> Companies and Infiltration </a>
<a id="tutorial-factions-link" class="a-link-button"> Factions </a> <a id="tutorial-factions-link" class="a-link-button"> Factions </a>
<a id="tutorial-augmentations-link" class="a-link-button"> Augmentations </a> <a id="tutorial-augmentations-link" class="a-link-button"> Augmentations </a>
<a id="tutorial-shortcuts-link" class="a-link-button" <a id="tutorial-shortcuts-link" class="a-link-button" href="https://bitburner.wikia.com/wiki/Shortcuts" target="_blank"> Keyboard Shortcuts </a>
href="https://bitburner.wikia.com/wiki/Shortcuts" target="_blank"> Keyboard Shortcuts </a>
<a id="tutorial-back-button" class="a-link-button"> Back </a> <a id="tutorial-back-button" class="a-link-button"> Back </a>
<p id="tutorial-text"> </p> <p id="tutorial-text"> </p>
@ -1012,11 +1010,5 @@
<!-- Misc Scripts --> <!-- Misc Scripts -->
<script src="src/ThirdParty/raphael.min.js"></script> <script src="src/ThirdParty/raphael.min.js"></script>
<script src="src/ThirdParty/Treant.js"></script> <script src="src/ThirdParty/Treant.js"></script>
<!--
<script src="/bitburner/src/ThirdParty/raphael.min.js"></script>
<script src="/bitburner/src/ThirdParty/Treant.js"></script>
<script src="/bitburner-beta/src/ThirdParty/raphael.min.js"></script>
<script src="/bitburner-beta/src/ThirdParty/Treant.js"></script>
-->
</html> </html>

@ -518,6 +518,7 @@ export let CONSTANTS: IMap<any> = {
** Slightly reduced the amount of money offered to you by investment firms ** Slightly reduced the amount of money offered to you by investment firms
** Employee salaries now slowly increase over time ** Employee salaries now slowly increase over time
** Slightly reduced the effect "Real Estate" has on the Production Multiplier for the Agriculture industry ** Slightly reduced the effect "Real Estate" has on the Production Multiplier for the Agriculture industry
** Changed the way your Corporation's value is calculated (this is what determines stock price)
* Added getOrders() Netscript function to the TIX API * Added getOrders() Netscript function to the TIX API
* Added getAugmentationPrereq() Singularity function (by havocmayhem) * Added getAugmentationPrereq() Singularity function (by havocmayhem)

@ -2938,8 +2938,6 @@ Corporation.prototype.goPublic = function() {
"and you will no longer own them. Your Corporation will receive " + "and you will no longer own them. Your Corporation will receive " +
numeralWrapper.format(initialSharePrice, '$0.000a') + " per share " + numeralWrapper.format(initialSharePrice, '$0.000a') + " per share " +
"(the IPO money will be deposited directly into your Corporation's funds).<br><br>" + "(the IPO money will be deposited directly into your Corporation's funds).<br><br>" +
"Furthermore, issuing more shares now will help drive up " +
"your company's stock price in the future.<br><br>" +
"You have a total of " + numeralWrapper.format(this.numShares, "0.000a") + " of shares that you can issue.", "You have a total of " + numeralWrapper.format(this.numShares, "0.000a") + " of shares that you can issue.",
}); });
var yesBtn; var yesBtn;
@ -2988,7 +2986,7 @@ Corporation.prototype.goPublic = function() {
} }
Corporation.prototype.updateSharePrice = function() { Corporation.prototype.updateSharePrice = function() {
var targetPrice = this.determineValuation() / (TOTALSHARES - this.issuedShares); var targetPrice = this.determineValuation() / (1.5 * TOTALSHARES - this.numShares);
if (this.sharePrice <= targetPrice) { if (this.sharePrice <= targetPrice) {
this.sharePrice *= (1 + (Math.random() * 0.01)); this.sharePrice *= (1 + (Math.random() * 0.01));
} else { } else {