-

NetscriptJS (Netscript 2.0)¶

+

NetscriptJS (Netscript 2.0)¶

Netscript 2.0, or Netscript JS, is the new and improved version of Netscript that allows users to write (almost) full-fledged Javascript code in their scripts, while still being able to access the Netscript functions.

@@ -278,6 +278,7 @@ NetscriptJS and report any serious exploits.

  • Terminal
  • Keyboard Shortcuts
  • +
  • Changelog
  • diff --git a/doc/build/html/objects.inv b/doc/build/html/objects.inv index 95321496bb7ae03273a08b2e46ca3f05a106793b..4e74911a27b09572f543283c24903715a2fd6b2b 100644 GIT binary patch delta 1266 zcmVBke1A=E<2Dez`&X!Ff$kn0bbH*J<8HF)CXQjd%>qTSV5Eu7gd$ab zIM%-}Nr|$gP=-n662#=ZH^bo!XGkqTij?C*E*X~>DFMWjXYn})xno)KDWPsY$0EJh z$(;QBOER4-INlP~^jvSAwTuYX|459G>75FHgBANoZ=Na&G5j#jPNbtB^%bQraVTxi zE$o3rA8CEio>mj>%#!dI_6UQXbq_{o{R|8io_(9+{Ga8(BY0zD5J2L zj<(z?pY0JQrf|hDEL3h9C$WP66y}h{a76B%QyG8GR6Jw6sPi;FNp17DWCEWmx4o9G zfpI)sj(^@_%;~+xx`N#zVJd#uGXE-c|CPa4ozr@+Ms*txfL?%x7Lzi6VEl!tNWHu2 zRHph=7XRRXFH*)q3|?be(j7PUS!{Q~p>~e*%G--W0G|!P_axNY^=@>;<;N(m<>tsS zb!BBbdz*cXW}|6cxgJHrD8UqLu2`$a$4Gr`8GpqgnMA~%)Ym|PYqyPemvTYDVO&tu zM9tYbnyD@ZAv|Kmn4G04h>$)9Q=$Dz-l5;Z;!=q+7Q0fEYLNiTpBbj3E@=fpDTF*E z6m>h5;6MjRs7Qjw*`H9ZFBmnc^by6+m^Gs5p*S-347S zKI+x6<`{K==ro{PAZ(imnSIV!noK_>&7hS_=I&=tT3NB)k+`Xip`rl%%>q%k@%4~Tv=^iIu#^XWLBHEZF)qmUk z#CTrSIrv^hYVu)o^ZjF&{Mqk-=l;t7TqhrnI)13e*aae1A)C<2De!`&X!Ff$km>bbH*J<8HF)CXQjd%>qTSprwh;gd$Zw z9P8hgq(nU&$}p*178`QDZ-%3Jk)DGTDaVCeFfK1s0*EKi;&Tpi$Fk&8Lfw9jMS8iD zIr;gQ~+X!*27zus|CEVdn)J zj(Nfaz8tWSB7Xq11vypQ9BB1LXH3XA?;H_{YtHgIV4?}Hu$;3D?iG=^AQ<@I$xya8 zF`fB&>fE|Ud&Z-UsY#Yl#8a5~o$ZXJ(Hyl;$DO4n8FQ8!&R*9i($SCliqe-jl(y#% z_CTVLXGG92UW>%zbv{uPdfqu4oMsdMr;^f7@bF3@>wl$V^mkq;p6-x^q zFNfj=VHyLyrMmP(404X*aLeKTFaWcTxzavbL8^==BLcM|F-awNG01y#xMvi~C@iL< zEw{?2dxVK;TrmuDm7BpyEa5+eIb<;$k>Ad#jIT2l&loT2JdICMJNzw}z^B^n(MZ?8 zI38|CZ+|hSdatnVV0TEEjvsc+zY0BnW$;z!wEkA3rj18HFF-?^Ntr(~{=!tG-d$Cd zsjkZ6AN=oS$~cI@YfMMF=f-0eJ6&+7o#VXn_Tmu0XG8Ek3H9fCH#*|-W0co&Q*umS zS(?e-W*?*3Xj<2ShqaBbJQGX_|rvnR74|+OOmt<}EC)lqh4dOGT*`39$T`VLIxPRuGgz$U{O= zkCRbt!7e${wQ0>}SVrckqS)M_^yZ8yE+St6RBwoi<9O9m&^6u-;#1NrTDfHA{ydV_R}I}N-pFg-7O@2#>=_*T0JmE4 z-IDndkvK=xx#XzxbB|6iho24s-}wlG|5@!(N&ZeZlfZ*XPMGhq)Kb! zrmp5@u>v#?%gG;Ig_GgeFE5$@jjY2ytp$>6C()`f&-Jn_z)#)mzA@Om@~DlaW z9R}up*dab`^PsKzx{Xtxq5bCWCH3_G4s+d465CLwi`z-RoOl`ALen8yn2<>MxaoVdOB7Rn%;Ia94 zM#g@%Sx0Kp`xV1W-u%4LA-mUWx+@?GOm#R|VWv>V{Z=-+$7~O7qh+c?oNsM@`1y`x zj#*cA7P$S%$r9$*FjVWhYFe32{9y_}dL-yqj%uyKud4k8+CtU%Qq@0YvslT0gL1G5H^&QKX6MWqgwW diff --git a/doc/build/html/searchindex.js b/doc/build/html/searchindex.js index 4ee4f5be5..b32b2efcd 100644 --- a/doc/build/html/searchindex.js +++ b/doc/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["changelog","index","netscript","netscriptadvancedfunctions","netscriptdatatypes","netscriptfunctions","netscripthacknetnodeapi","netscriptixapi","netscriptjs","netscriptloopsandconditionals","netscriptmisc","netscriptoperators","netscriptscriptarguments","netscriptsingularityfunctions","shortcuts","terminal"],envversion:53,filenames:["changelog.rst","index.rst","netscript.rst","netscriptadvancedfunctions.rst","netscriptdatatypes.rst","netscriptfunctions.rst","netscripthacknetnodeapi.rst","netscriptixapi.rst","netscriptjs.rst","netscriptloopsandconditionals.rst","netscriptmisc.rst","netscriptoperators.rst","netscriptscriptarguments.rst","netscriptsingularityfunctions.rst","shortcuts.rst","terminal.rst"],objects:{"":{applyToCompany:[13,2,1,""],buyStock:[7,2,1,""],cancelOrder:[7,2,1,""],checkFactionInvitations:[13,2,1,""],clearLog:[5,2,1,""],commitCrime:[13,2,1,""],createProgram:[13,2,1,""],deleteServer:[5,2,1,""],disableLog:[5,2,1,""],enableLog:[5,2,1,""],fileExists:[5,2,1,""],getAugmentationCost:[13,2,1,""],getAugmentationsFromFaction:[13,2,1,""],getBitNodeMultipliers:[3,2,1,""],getCompanyFavor:[13,2,1,""],getCompanyRep:[13,2,1,""],getCrimeChance:[13,2,1,""],getFactionFavor:[13,2,1,""],getFactionRep:[13,2,1,""],getGrowTime:[5,2,1,""],getHackTime:[5,2,1,""],getHackingLevel:[5,2,1,""],getHackingMultipliers:[5,2,1,""],getHacknetMultipliers:[5,2,1,""],getHostname:[5,2,1,""],getNextHacknetNodeCost:[5,2,1,""],getOwnedAugmentations:[13,2,1,""],getPurchasedServers:[5,2,1,""],getScriptExpGain:[5,2,1,""],getScriptIncome:[5,2,1,""],getScriptName:[5,2,1,""],getScriptRam:[5,2,1,""],getServerBaseSecurityLevel:[5,2,1,""],getServerGrowth:[5,2,1,""],getServerMaxMoney:[5,2,1,""],getServerMinSecurityLevel:[5,2,1,""],getServerMoneyAvailable:[5,2,1,""],getServerNumPortsRequired:[5,2,1,""],getServerRam:[5,2,1,""],getServerRequiredHackingLevel:[5,2,1,""],getServerSecurityLevel:[5,2,1,""],getStats:[13,2,1,""],getStockPosition:[7,2,1,""],getStockPrice:[7,2,1,""],getTimeSinceLastAug:[5,2,1,""],getUpgradeHomeRamCost:[13,2,1,""],getWeakenTime:[5,2,1,""],gymWorkout:[13,2,1,""],hasRootAccess:[5,2,1,""],installAugmentations:[13,2,1,""],isBusy:[13,2,1,""],isRunning:[5,2,1,""],joinFaction:[13,2,1,""],placeOrder:[7,2,1,""],purchaseAugmentation:[13,2,1,""],purchaseHacknetNode:[5,2,1,""],purchaseProgram:[13,2,1,""],purchaseServer:[5,2,1,""],purchaseTor:[13,2,1,""],scriptKill:[5,2,1,""],scriptRunning:[5,2,1,""],sellShort:[7,2,1,""],sellStock:[7,2,1,""],serverExists:[5,2,1,""],shortStock:[7,2,1,""],stopAction:[13,2,1,""],travelToCity:[13,2,1,""],universityCourse:[13,2,1,""],upgradeHomeRam:[13,2,1,""],workForCompany:[13,2,1,""],workForFaction:[13,2,1,""]},"hacknetnodes[i]":{cores:[6,1,1,""],getCoreUpgradeCost:[6,0,1,""],getLevelUpgradeCost:[6,0,1,""],getRamUpgradeCost:[6,0,1,""],level:[6,1,1,""],moneyGainRatePerSecond:[6,1,1,""],name:[6,1,1,""],onlineTimeSeconds:[6,1,1,""],ram:[6,1,1,""],totalMoneyGenerated:[6,1,1,""],upgradeCore:[6,0,1,""],upgradeLevel:[6,0,1,""],upgradeRam:[6,0,1,""]},NetscriptPort:{clear:[10,0,1,""],data:[10,1,1,""],empty:[10,0,1,""],full:[10,0,1,""],tryWrite:[10,0,1,""],write:[10,0,1,""]}},objnames:{"0":["js","method","JavaScript method"],"1":["js","attribute","JavaScript attribute"],"2":["js","function","JavaScript function"]},objtypes:{"0":"js:method","1":"js:attribute","2":"js:function"},terms:{"000m":0,"05gb":0,"0gb":0,"0x726564646974":0,"100m":0,"1048576gb":[],"15m":0,"1e3":15,"1gb":0,"200k":0,"200m":0,"250m":0,"25gb":0,"25m":0,"25x":0,"2gb":0,"300m":0,"3087e3":8,"400m":0,"4gb":0,"500m":0,"50e3":15,"50x":0,"55k":0,"5gb":0,"64gb":0,"8gb":[0,6],"boolean":[0,4,5,13],"break":[0,12],"case":[0,5,7,13,15],"catch":[0,8],"class":[0,8,13,14],"default":[0,5,13,14,15],"export":[0,8,10],"final":[1,2],"float":4,"function":[0,1,2,4,6,7,8,9,14,15],"import":[0,1,2,5,8,15],"long":[0,7],"new":[0,5,6,8,10,13,14,15],"null":[0,5,8,10],"public":0,"return":[0,3,5,6,7,10,11,13,14],"short":[0,7],"static":[0,8,10],"super":0,"switch":[0,14],"throw":[0,8],"true":[0,4,5,6,7,8,10,11,13],"try":[0,5,8,10,12,13],"var":9,"while":[0,5,6,8,9,10,13,15],AND:11,Ace:[0,14],Added:0,Adding:4,And:10,But:0,Doing:8,For:[0,3,4,5,6,8,9,10,11,12,15],IPs:[0,5],NOT:[0,5,7,11,13,14,15],Not:13,One:13,THE:0,The:[0,1,3,4,5,6,7,8,9,10,12,13,15],Their:4,Then:[6,8,10,15],There:[0,10],These:[0,3,5,6,8,13,14,15],Use:[0,5,8],Used:0,Using:0,WILL:0,WITH:0,Will:[5,7,14],With:[0,8],Yes:5,_termin:[],abbrevi:15,abil:[0,7],abl:[0,8,13],about:[0,4,5,10,13,15],abov:[0,4,5,10,11,15],accept:[0,13],access:[0,4,5,6,7,8,10,12,13,15],accident:0,account:0,accumul:8,acorn:0,across:0,action:[0,13,14],activ:[0,5,14],actual:[0,5,7,10,13,15],add:[0,6,8,15],added:[0,5],addit:[0,5,6,8,11,13],address:[0,5,15],adjac:15,adjust:0,adr:0,advanc:[1,2],advert:0,advertis:0,aevum:13,affect:[0,5],afford:[5,6],after:[0,4,5,7,10,13,15],afterward:15,again:0,against:0,agenc:[13,14],agent:13,agi:13,agil:13,aid:1,aka:[0,13,14],alexei:0,algorithm:[0,7,13],alia:[0,1],alias:[0,15],all:[0,4,5,6,7,8,10,13,15],allow:[0,7,8,10,13,15],almost:[0,2,8,14],alphabet:[5,15],alphanumer:4,alreadi:[0,5,13,15],also:[0,4,5,7,8,12,13,14,15],alt:[14,15],alter:8,altern:15,although:[0,13],alwai:[8,14],amount:[0,5,6,7,12,13,15],analysi:0,analyt:0,analyz:[0,1,14],ani:[0,1,2,4,5,8,13,14,15],annoi:0,anoth:[0,5,10,12,15],anymor:0,anyon:0,anyth:[0,5],anytim:15,anywher:[5,15],api:[0,1,2],appear:5,append:[0,5],appendchild:8,appli:[0,5,8,13],applic:13,applytocompani:[1,2],approxim:0,arbitrari:0,area:0,arg1:8,arg2:8,arg3:8,arg:[0,5,8,10,12,15],argument:[0,1,2,5,6,7,8,10,13,15],arm:13,armor:0,around:[1,13],arrai:[0,4,5,6,7,10,12,13],arrow:[14,15],artifici:0,aspect:[0,13],assassin:13,assign:[0,6,11],assum:[8,10],async:8,asynchron:8,attack:[0,5],attempt:[0,7,10,13,15],augment:[0,5,7,13,14],augmentationmoneycost:3,augmentationrepcost:3,augnam:13,auto:13,autocomplet:[0,14],autolink:[0,13],autom:[0,6,7],automat:[0,5,7,13],automcomplet:0,autosav:0,avail:[0,4,5,7,8,9,13,14,15],averag:7,avgpx:7,avgpxshort:7,avoid:0,awai:15,await:8,awar:0,awesom:0,b1t_flum3:0,back:[0,10],background:15,backspac:14,backstori:0,backup:8,balanc:0,bar:0,base:[0,5,11],bash:[0,1],basic:[0,1,2,15],becaus:[0,3,5,8,13,15],becom:3,been:[0,1,8],befor:[0,5,8,10],begin:[0,14],being:[0,5,8,15],below:[0,5],benefici:0,benefit:0,best:12,beta:[0,1],better:[0,14],between:[0,3,5,8,10,14,15],big:0,billion:7,binari:[0,1,2],bind:[0,14],bit:0,bitburn:[0,2],bitnod:[0,3,13],bitrunn:0,black:0,blade:0,bladeburn:0,blob:8,block:0,blue:8,bluebird:0,board:0,bond:[0,13],bonu:0,boost:0,both:[0,5,13,15],box:[0,5],bribe:0,brief:[0,10,15],bring:0,broken:0,brokerag:0,browser:[0,8,13,14],brutessh:[0,1,2,13,15],buf:0,bug:0,bugfix:0,bui:[0,1,7,13],build:[0,7],built:0,busi:[0,13],button:0,buystock:[0,1,2],calcul:[0,7],call:[0,1,5,6,8,10,12,13,15],callback:[0,13],can:[0,1,4,5,6,7,8,9,10,12,13,14,15],cancel:[0,7,13,14],cancelord:[1,2],cannot:[0,5,6,8,15],cap:0,capabl:[4,8],capac:0,capit:[0,7],cat:[0,1],caus:[0,5],cave:0,caveat:[8,9],cbscript:13,cellel:8,certain:[0,5,7,10,13],cha:13,chanc:[5,13,15],chang:[0,3,4,5,8,11,15],changelog:1,charact:[4,13,14],characterist:0,charisma:13,cheaper:0,check:[0,1,5,9,13],checkfactioninvit:[0,1,2],chongq:13,choos:0,circuit:0,citi:[0,13,14],citynam:13,classgymexpgain:3,classifi:0,classlist:8,clear:[0,1,2,8,10,14],clearanc:0,clearlog:[0,1,2],click:[0,5,15],cloak:0,close:[0,8,10,14,15],cls:1,code:[0,5,7,8,9,10,11,12],codebas:0,collaps:0,collect:8,color:[0,8,15],com:0,combat:0,come:[8,15],command:[0,1,4,5,13,14],comment:[0,1,2,11],commiss:7,commit:[3,13],commitcrim:[0,1,2],common:0,commonli:15,commun:[7,10],compani:[0,7,13,14],companynam:13,companyworkexpgain:3,companyworkmonei:3,compar:0,compens:0,complet:[0,5,8],comput:[0,5,8,13,15],concat:8,concept:0,condit:[0,1,2],config:0,configur:[0,1,14],confirm:[0,1],connect:[0,1],conquer:0,consid:0,consider:0,consist:0,consol:15,constantli:5,constrain:5,constructor:[0,8],consult:13,contain:[0,3,4,5,6,8,10,13],content:[0,1],continu:[0,13],contract:[0,13],control:13,convers:0,convert:[5,8],copi:[0,5,15],core:[0,5,6,15],corecost:[5,6],corpor:0,corporatocraci:0,correct:13,correspond:6,cosmet:15,cost:[0,5,6,7,13,15],could:[0,15],count:[0,5,15],cours:13,coursenam:13,courtesi:0,cplusplu:[],cpp_static_memb:[],cpu:[0,15],crash:[0,8],creat:[0,5,7,13,14,15],createel:8,createprogram:[1,2],credit:0,crime:[0,3,13],crimeexpgain:3,crimemonei:3,crimin:0,crush:13,ctor:8,ctrl:[0,14],current:[0,1,3,5,7,13,14,15],cursor:14,custom:0,cyberpunk:1,cybersec:0,cycl:[0,14],daedalu:0,dai:[],damag:0,dark:[0,1,13,15],darkweb:0,data:[1,2,5,10,13],datamanc:0,date:[0,1,2],deal:[0,10,13],dealt:0,decid:8,decim:[0,13],declar:[0,4,5,8,9,10,15],declin:0,decreas:[0,5],decrement:[0,11],deepscan:0,deepscanv1:[13,15],deepscanv2:[13,15],def:13,defens:[0,13],defin:[0,1,2,8,14,15],definit:10,delai:[0,5],delet:[0,5,8,14,15],deleteserv:[0,1,2],demand:0,denot:[0,5,10],depend:[0,5,8],depth:15,describ:5,descript:[0,15],design:0,desir:15,destin:[0,5],destroi:0,detail:[0,5,15],determin:[0,5],develop:[0,1,2,8],devoidfuri:0,dex:13,dexter:13,dialog:[0,5],did:0,didn:0,die:0,differ:[0,3,4,5,8,14],differenti:15,difficult:0,difficulti:0,digit:[0,15],diminish:0,directli:[0,8],disabl:[0,5],disablelog:[0,1,2],displai:[0,15],divid:0,divis:[0,11],dni:0,doc:0,document:[0,5,8,9,10,13,14,15],doe:[0,2,5,7,8,10,11,14,15],doesn:0,doing:[0,6,8,10,12],dom:8,don:[0,8,10,13],donat:0,done:[0,14],dont:0,doubl:[0,4,6,15],down:[8,14,15],download:[0,1],drag:0,drawback:0,drug:13,due:[0,5],dure:0,dynam:[0,8,15],dystopian:1,each:[0,6,7,13,15],earli:[0,1],earn:[0,5,6,13],easier:0,easili:0,ecp:7,edg:0,edit:[0,8,14,15],editor:[0,1,15],effect:[0,5],effici:0,either:[4,5,15],element:[0,5,6,7,10,12,13],elif:0,els:[0,9,10,13],emac:14,embark:1,emploi:[13,14],employe:[0,13],empti:[0,5,10,15],emul:[14,15],enabl:[0,5,8,14,15],enable_bash_hotkei:14,enable_timestamp:0,enablelog:[0,1,2],encapsul:4,end:[0,5,6,10,13,14],endgam:0,endpoint:10,enemi:0,energi:0,engin:[0,8,13],enough:[0,5,7],enter:[0,14,15],entiti:0,entri:[0,8],environ:8,equal:[0,11],equival:[4,5,6],error:[0,5,8],esc:14,especi:5,essenti:0,estat:0,estim:[0,15],etc:[0,4,5,8,12,13,15],evalu:[8,10],even:[0,5,7,10,11],eventu:0,everi:[0,5,7,8,10,13,15],everyth:0,exampl:[0,1,2,3,4,5,7,9,10,11,12,13,15],exce:7,exceed:5,except:[0,5,8,14,15],exchang:[0,1,2],exe:[0,5,13,15],exec:[0,1,2,8],execarg:8,execut:[0,5,7,8,10,15],exist:[0,5,6,9,15],exit:[0,1,2],exp:0,expand:15,expens:0,experi:[0,5,8,13],explain:10,explanatori:0,exploit:[0,8],exponenti:0,extens:[0,5,8,13,15],facil:0,facnam:13,fact:0,faction:[0,13,14],factionnam:13,factionpassiverepgain:3,factionworkexpgain:3,factionworkrepgain:3,factor:0,fail:[0,5,13,15],failur:5,fairli:13,fairlyn:13,fals:[0,4,5,6,7,10,11,13],far:13,faster:[0,8],favor:[1,13],fconf:[0,14,15],featur:[0,2,8],fee:7,feed:0,feedback:0,feel:[0,2],few:[0,15],ffffff:15,field:[0,13],fieldwork:13,file:[0,3,5,13,14,15],fileexist:[0,1,2],filenam:[0,5,8,10,15],fill:5,find:[0,5,8],findindex:10,fine:5,finish:[0,13],firefox:[1,2],firewal:0,first:[0,4,5,6,7,10,12,13,15],fisg:7,fit:13,fix:[0,5],fl1ght:0,flag:[0,15],flat:0,fledg:8,flesh:0,floor:10,fn1:10,fn2:10,folder:0,follow:[0,3,4,5,6,8,9,10,13,15],foo1:[5,10],foo2:[5,10],foo3:[5,10],foo4:10,foo:[0,5,8,10,15],foodnstuff:[0,5,8,9,10,15],forc:0,foreach:0,forgeri:[0,13],forgot:0,form:[3,5,6,15],format:0,formula:0,fortifi:0,forward:8,found:0,four:[6,7],fourth:[6,7],fraction:5,framework:0,free:[0,1,2],from:[0,5,7,8,10,12,13,15],ftpcrack:[1,2,13],fulcrum:0,full:[0,8,10,15],fulli:[0,4],fund:0,furthermor:[0,5,8],futur:[0,3,5,14],gain:[0,1,5,13],game:[0,1,3,5,7,8,10,12,13,15],gameplai:0,gang:0,garbag:8,gene:0,gener:[0,5,8,11,12],get:[0,5,8,10,12,13,15],getaugment:0,getaugmentationcost:[1,2],getaugmentationsfromfact:[0,1,2],getbitnodemultipli:[0,1,2],getcharacterinform:[0,1,2],getcompanyfavor:[0,1,2],getcompanyrep:[1,2],getcoreupgradecost:[0,6],getcrimech:[0,1,2],getelementbyid:8,getfactionfavor:[0,1,2],getfactionrep:[1,2],getgrowtim:[0,1,2],gethackinglevel:[1,2],gethackingmultipli:[0,1,2],gethacknetmultipli:[0,1,2,6],gethacktim:[0,1,2],gethostnam:[0,1,2,8],getintellig:0,getip:0,getlevelupgradecost:[0,6],getnexthacknetnodecost:[0,1,2,6],getnumhacknetnod:0,getownedaugment:[1,2],getporthandl:[0,10],getpurchasedserv:[0,1,2],getramupgradecost:[0,6],getscriptexpgain:[0,1,2],getscriptincom:[0,1,2],getscriptnam:[0,1,2],getscriptram:[0,1,2],getserv:0,getserverbasesecuritylevel:[0,1,2],getservergrowth:[0,1,2],getservermaxmonei:[0,1,2],getserverminsecuritylevel:[0,1,2],getservermoneyavail:[0,1,2,9],getservernumportsrequir:[0,1,2],getserverram:[0,1,2,10],getserverrequiredhackinglevel:[0,1,2],getserversecuritylevel:[0,1,2],getstat:[0,1,2],getstockposit:[1,2],getstockpric:[1,2],gettimesincelastaug:[0,1,2],getupgradehomeramcost:[1,2],getweakentim:[0,1,2],ghost:0,github:[0,8],give:[0,3,5,13],given:[0,5,7,13,15],global:[0,5,8,15],global_object:0,globalvari:8,goe:0,going:[0,8],googl:15,governor:0,gradual:0,grand:13,grant:0,great:8,greater:[0,11],greatli:0,grep:[0,5,15],grow:[0,1,2,8,9],grown:9,growth:[0,5],guarante:13,guid:0,gym:[0,13,14],gymnam:13,gymworkout:[0,1,2],hack:[0,1,2,8,9,13,14],hacker:1,hackexpgain:3,hackingcontract:13,hacknet:[0,1,2,5,14],hacknetnod:[0,1,2],hacknetnodemonei:3,had:0,half:0,halt:5,halv:[0,13],hand:[0,15],handbook:0,handl:[0,10],happen:0,happi:8,harder:0,hardwar:0,has:[0,2,3,5,6,8,13,15],hasrootaccess:[0,1,2],have:[0,2,3,5,6,7,8,10,13,15],havoc_mayhem:0,header:[0,15],heist:13,helio:[0,5],hello:5,help:[0,1],her:0,here:[0,1,4,5,7,8,9,10,13,15],hex:[0,8,15],hidden:0,high:0,higher:[0,5],highlight:[0,15],his:0,histori:15,hoist:5,hold:4,home:[0,1,5,13,14],homicid:13,hope:1,hopefulli:0,hospit:0,hostnam:[0,1,5],hotkei:0,how:[0,1,2,4,5,6,9,10,15],howev:[0,5,9,10,15],htm:[],html:0,http:0,httpworm:[1,2,13,15],hydroflam:0,hyphen:4,idea:0,ident:2,identifi:[0,5,15],ifconfig:1,immedi:[0,5,7,13,15],implement:[0,2,10,14],importantinfo:15,improv:[0,2,8],inc:0,includ:[0,4,5,8,13,14,15],incom:[0,5,6],incomplet:0,incorrect:0,incorrectli:0,increas:[0,5],increment:[0,1,11],incur:[0,10],index:[1,5,6],indexeddb:0,indexof:0,indic:[0,5,13,15],individu:[0,15],industri:0,inequ:11,infiltr:0,infinit:8,info:0,inform:[0,1,2,5,13,15],initi:[0,4],innertext:8,input:[0,8,13,14],insan:0,insert:0,insid:[5,6,10],instal:[0,5,7,13],installaugment:[0,1,2],instanc:[0,5,8],instead:[0,3,5,6,8,13],institut:13,instrins:5,instruct:0,integ:[3,4,5,6,7],intellig:[0,13],interact:10,interest:0,interfac:[0,15],interpret:0,interv:0,intuit:0,invalid:[0,5,13],invest:0,investor:0,invit:[0,13],involv:0,iron:[0,13],isbusi:[0,1,2],ishima:13,isinteg:10,isn:0,isrun:[0,1,2],issu:[0,13,15],item:[0,10],iter:[6,9],its:[0,5,7,8,10,15],itself:6,jaguilar:8,javascript:[0,1,2,4,5,8,9],job:[0,8,13,14],jobtitl:13,joesgun:5,join:[0,4,13],joinfact:[1,2],jqueri:0,jshint:0,jump3r:[0,1],just:[0,5,8,10,15],karma:0,keep:0,kei:[0,14,15],kernel:0,keybind:0,keyboard:[0,1,15],keyword:[0,9],kidnap:13,kill:[0,1,2],killal:[0,1,2],know:[0,8,10],kopelli:0,label:4,languag:[0,2,4,5],larceni:13,larg:0,last:[0,5,8,10,14],late:0,later:[0,3,4,7,13],latest:0,lead:1,leadership:13,leak:8,least:[0,5,6],left:[0,15],length:[0,5,6,8,12],lenient:13,less:[0,11],let:[0,7,8,9,10,12,15],letter:[4,7],level:[0,5,6,13,15],levelcost:[5,6],librari:[0,10],life:15,lightli:0,like:[0,5,8,10,12,14],limit:[0,5,7,13],limitbui:7,limitsel:7,line:[0,8,10,14],linear:0,linearli:0,link:[0,5,15],list:[0,6,13,15],lit:[0,5,15],literatur:[0,5,15],littl:0,load:[0,8],local:5,localstorag:0,locat:[0,5,13],lock:0,log:[0,5,6,10,14,15],logic:[0,11],longer:0,look:[8,10,12],loop:[0,1,2,8],lore:0,lose:[0,10],lot:[0,8,13],low:0,lower:[0,5],lscpu:[0,1],ltcnugget:0,machin:[0,15],made:[0,7,15],mai:[0,5,8,15],main:8,maintain:0,major:1,make:[0,5,8,12],manag:[0,13],mani:[0,2,4,13],manipul:8,manual:[0,13],manualhackmonei:3,map:6,mark:[0,8,15],market:[0,7],masterscript:15,match:15,mateon1:0,materi:0,math:[0,1,2],matter:15,max:[0,6],maximum:[0,5,15],mayb:[0,10],mean:[0,1,2,3,4,5,6,8,10,13],meant:0,mechan:[0,15],med:0,medic:0,mem:1,member:[0,1,2,4,8,13],memori:[0,5,8,15],mention:0,menu:[0,14,15],messag:[0,1,5,15],method:[0,1,2,4,8,10],mid:0,middl:13,might:0,migrat:0,mild:0,millenium:13,millisecond:[0,5],minigam:0,minimum:[0,5],minor:0,minut:[0,13],misc:[0,1],miscellan:[1,2],mission:[0,14],mode:[0,5,14],modifi:[0,12],modul:[0,1,2,8],modulo:11,monei:[0,1,3,5,6,7,9,13,15],monetari:0,moneygainratepersecond:6,more:[0,4,5,9,14,15],most:[0,4],mostli:0,move:14,mozilla:[0,1,2],mrnuggelz:0,msg:[5,15],much:[0,9,15],mug:13,mult:[3,5,6],multi:[0,10],multidimension:0,multilin:0,multipl:[0,5,8,11,15],multipli:[0,3,5,6,13],multithread:0,must:[0,4,5,6,7,8,10,13,14,15],mute:15,mysteri:1,name:[0,4,5,6,7,11,12,13,15],namespac:10,nano:[0,1,8,14],nativ:0,natur:0,navig:[0,1,15],nearest:[5,6,7],necessari:[0,1,15],need:[0,5,8,10,15],neg:0,negat:[0,11],nerf:0,nest:0,net:7,netscript:[0,1],netscriptj:[0,1,2],netscriptport:10,netsction:0,network:[0,13,15],neuroflux:0,never:[0,8],newer:0,newli:5,newlin:0,next:[5,14],nitesec:0,node:[0,1,2,5,14,15],non:15,none:[5,6],normal:[0,10,12,13],noscript:0,notabl:[0,5],note:[0,1,2,5,6,10,13,14,15],notifi:0,now:[0,1,8,10,15],nuke:[0,1,2,15],num:15,number:[0,1,2,4,5,6,7,8,11,12,13,15],numer:[0,4,7,11],numthread:[0,5,10],object:[0,3,4,5,6,8,13],observ:0,obtain:5,obvious:13,occur:0,off:0,offic:0,offici:0,offlin:[0,5],old:0,omit:[5,15],onc:[0,15],one:[0,5,6,8,9,10,13],ones:0,onli:[0,3,5,6,7,8,10,11,13,14,15],onlin:[0,5],onlinetimesecond:6,onto:4,open:[0,5,8,10,13,14,15],oper:[0,1,2,10,12],operand:11,optim:1,option:[0,5,8,13,14,15],order:[0,3,5,7,13,15],org:0,origin:[0,3],osx:0,other:[0,5,8,10,13,14],otherwis:[0,5,6,7,9,10,13,14,15],our:10,oustand:[0,7,13],out:[0,2,5,10,13],outdat:0,output:5,outsid:[0,5,13],outstand:0,over:[0,5,8],overclock:0,overrid:14,overwrit:[0,5],own:[0,1,2,7,8,15],page:[0,1,3,5,8,10,13,14,15],param:8,paramet:[0,5,15],pars:[0,10],parser:0,part:[0,13,15],particular:13,pass:[0,5,8,10,12,13,15],passiv:0,past:0,path:15,pattern:[0,15],peek:[0,1,2,10],peopl:8,per:0,percentag:[0,5,6],perform:[0,13],perman:15,persist:0,pheromon:0,pick:0,picker:15,pill:0,place:7,placeord:[1,2],plai:1,plan:12,player:[0,1,5,6,7,12,13,15],pleas:[0,8],plenti:8,plot:0,point:[0,8],pointer:0,pop:[0,4,10],popular:0,popup:0,port:[0,1,2,5,15],portfolio:0,pos:7,posit:[0,4,6,7,13],possibl:[0,8,12],post:8,pound:15,power:[0,1,5,8],powerhous:13,pre:[0,8,11],preced:15,prefac:8,prefix:0,prerequisit:0,preset:[14,15],press:0,prestig:0,prevent:12,preventdefault:0,previou:[0,14],previous:0,price:[0,7],primarili:8,primit:4,print:[0,1,2,3,6,8,10,13,15],privat:0,problem:0,process:[0,5],prod:0,produc:[0,11],product:[0,5,6],profit:[0,7],program:[0,2,5,13,14,15],programat:0,programnam:13,progress:0,promis:0,promot:[0,13],prompt:[0,1,2,8],proper:0,properli:0,properti:[0,13],protocol:7,prototyp:8,provid:[0,6,7],pserv:5,puchas:0,purchas:[0,1,2,5,7,13,15],purchaseaugment:[1,2],purchasecost:[5,6],purchasedserver1:8,purchasehacknetnod:[0,1,2,6],purchaseprogram:[1,2],purchaseserv:[0,1,2],purchasetor:[1,2],purpos:[4,5],push:0,put:[3,11],qualifi:0,qualiti:0,queri:0,quest:1,queue:[0,5,10],quickli:[0,5],quit:0,quot:4,quotat:15,rais:[0,5],ram:[0,5,6,10,13,15],ramcost:[5,6],ramus:5,ran:[0,5,8,10,15],random:0,randomarg:8,rank:0,rate:[0,5],rather:[0,8,15],reach:[0,2,15],read:[0,1,2,4,6,10],readthedoc:0,real:[0,15],realli:0,reason:[0,5],rebalanc:1,receiv:[0,3,13],recommend:[8,13],record:0,recurs:0,red:[0,8],reddit:0,reduc:[0,8],refactor:0,refer:[0,4,9],referenc:[0,4],reflect:7,refresh:[0,8],regain:0,regard:0,regardless:[0,5],reject:0,rel:[0,15],relat:[5,6,10,15],relaysmtp:[1,2,13],releas:[0,8],relev:[0,3],reload:[0,8,10],remain:0,rememb:[5,7,8,15],remot:15,remov:[0,5,10,15],rep:0,repeat:0,repeatedli:[0,8],replac:[0,15],report:[0,8],repres:[0,3,4,5,7,10,15],reput:[0,13],request:2,requir:[0,3,5,10,11,13,15],res:[5,10,13],research:0,reset:[0,5,7,13],resolv:5,respect:[0,15],respons:8,rest:[0,4],restart:[0,13],result:[0,5,8,11],retain:[0,7],reusabl:15,revert:5,reward:0,right:[0,10],risk:8,rob:13,robot:0,role:1,room:10,root:[5,15],rothman:[5,13],round:[0,5,6,7],router:[0,13,15],rowel:8,rpg:1,rule:8,run:[0,1,2,3,8,9,10,11,12,13],runarg:8,runtim:[0,5],safe:8,sai:[5,12],sake:10,salari:0,sale:[0,7],same:[0,5,8,9,10,13,14,15],satisfi:0,save:[0,8,10,14],scale:0,scan:[0,1,2],schedul:[8,13],scheme:15,scienc:13,scientif:0,scope:[5,8],scp:[0,1,2,8],screen:[0,14,15],screw:0,script:[0,1,2,5,6,7,8,10,13,15],scripthackmonei:3,scriptjob:8,scriptkil:[0,1,2],scriptnam:[0,5],scriptrun:[0,1,2],scriptschedul:8,scroll:0,search:[1,5],second:[0,4,5,6,7,12,13,15],secondari:0,secret:[0,1],section:[2,5],sector:13,secur:[0,5,13],securitywork:13,see:[0,5,6,8,9,15],select:[0,5],self:0,sell:[0,7],sellshort:[0,1,2],sellstock:[0,1,2],semicolon:0,sensit:[0,5,7,13,15],sent:0,separ:[3,5,15],sequenc:[4,7],sequenti:8,serial:[0,5,10],seriou:8,server:[0,5,9,15],serverexist:[0,1,2],servergrowthr:3,servermaxmonei:3,serverprofil:[0,13],serverstartingmonei:3,serverstartingsecur:3,serverweakenr:3,set:[0,5,8,13,14,15],sever:[0,10],share:[0,7,8],sharesshort:7,she:1,shell:14,shield:0,shift:0,shoplift:13,shortcut:[0,1,15],shorthand:0,shortstock:[0,1,2],should:[0,5,9,13,15],show:[0,4,5,8,9,15],shown:[5,15],side:15,sigma:15,sign:15,signatur:[0,5,8],signific:[0,5],significantli:[0,8],similar:[0,5],simpl:[8,9,10],simplest:5,simpli:[2,4],simplic:10,simulacrum:0,sinc:[0,5,8,10],singl:[0,4,5,11,15],singular:[0,1,2],situat:8,size:0,skill:[0,5],sleep:[0,1,2,6,8,10,13],slice:10,slight:0,slightli:0,slow:8,slower:0,slowli:0,small:[0,8,13],smaller:0,smart:0,snap:13,soft:0,softwar:[0,13],solar:15,sold:7,some:[0,5,8,9,10,11,13],some_valu:5,someth:1,sometim:0,someval1:10,someval2:10,soon:0,sorri:0,sort:[0,5,10],sourc:[0,3,5,13],space:[0,14,15],spaceglac:0,spam:0,spawn:[0,1,2],special:[0,4,6,12,13],specif:[0,5,10],specifi:[0,5,6,7,10,12,13,15],speed:[0,5],splice:[0,4],spoiler:[0,3,13],sprintf:[0,1,2],sqlinject:[1,2,13],stack:0,stage:[0,1],stai:5,stamina:0,start:[0,4,5,8,10,13,15],starter:0,stat:[0,13,14],state:0,statement:[0,9],statist:[0,7,15],steal:[0,5],still:[0,5,8,15],stock:[0,7],stolen:[0,5],stop:[0,5,7,13,15],stopact:[0,1,2],stopbui:7,stopsel:7,storag:0,store:[4,13],str:13,strategi:7,street:0,strength:13,strict:11,string:[0,4,5,7,13,15],structur:[3,5,6,10],strucur:13,studi:[0,13],stupid:0,style:[0,8],subject:3,subreddit:0,subset:2,substitut:15,substr:5,subtract:11,success:[0,5,7,13],successess:0,successfulli:[0,5,6,7,10,13,15],sudov:1,suggest:2,sum:[0,5],summari:8,summit:13,suppli:0,support:[0,4,6,7,8,10,15],suppos:10,suppress:0,sure:0,suspend:5,suspicion:1,sym:7,symbol:7,syntax:[0,2,5,10],system:[1,7],tab:[0,8,14,15],tail:[0,1],take:[0,1,5,13,14,15],target:[0,5,8,15],task:0,technolgi:0,technolog:[0,13],tell:0,templat:5,ten:9,term:[0,13],termin:[0,1,5,8,13],terminalinput:8,territori:0,test2:[],test:[0,5,8],testlib:10,testlibrari:10,text:[0,4,5,8,15],than:[0,5,8,9,11,15],thank:0,theft:13,thei:[0,2,3,5,8,14,15],them:[0,5,10,13],theme:[0,1],themselv:0,therefor:[0,8],theres:0,thi:[0,1,2,3,4,5,6,7,8,10,11,12,13,14,15],thing:15,think:0,third:[0,5,7],those:[5,6,8],though:[0,5,10],thought:[4,8],thread:[0,5,8,12,13,15],three:[4,5,8,10,14,15],through:[0,5,6,8,10,13,14,15],throughout:0,thrown:8,tier:0,time:[0,5,6,8,9,10,13,15],timework:13,tini:2,tip:0,tix:[0,1,2],todo:15,tokyo:13,tolocalestr:0,tolowercas:4,too:0,tooltip:0,top:[0,1,8],tor:[0,13,15],total:[0,5,6,15],totalmoneygener:6,totalram:5,toward:0,tprint:[0,1,2,8,10],tprintcolor:8,tracer:0,track:0,trade:[0,1,2],traffick:13,train:[0,13,14],transact:[0,7],transfer:0,travel:[0,13,14],traveltoc:[1,2],travers:9,treat:0,trend:0,tri:[5,6,15],trigger:0,troubl:0,trywrit:[0,10],tutori:[0,14],tutorialspoint:[],tweak:0,two:[0,5,7,8,10,11,12,13],txt:[0,5,8,15],type:[0,1,2,5,7,8,13,15],typic:5,typo:0,unabl:8,unalia:[0,1],unalias_terminal_command:[],unari:[1,2],uncov:1,undefin:0,underli:[0,5,10],underscor:4,undo:15,undon:15,uni:5,uniqu:[0,5,8,15],univeristi:13,univers:[0,13,14],universitycours:[1,2],universitynam:13,unknown:1,unless:[0,14],unlik:8,unlock:[0,7,13],unrecogn:0,until:[0,5,6,13],untyp:4,updat:[0,13],upgrad:[0,6,13],upgradecor:6,upgradehacknetnod:0,upgradehomeram:[1,2],upgradelevel:6,upgraderam:6,upon:0,url:8,usag:[0,5,10,15],use:[0,1,2,5,7,9,10,13,15],useabl:0,used:[0,2,4,5,6,7,10,13,14,15],useful:0,user:[0,8,15],uses:[0,8,9],using:[0,5,6,7,8,9,10,12,13,15],usual:13,utc:[0,10],util:[0,1,2],valid:[0,5,10,13,15],valu:[0,3,4,5,6,7,8,10,11,13,15],valuat:0,vari:5,variabl:[0,1,2,5,8,9,11,15],varieti:0,variou:[0,13,14],vechain:0,vehicl:0,veri:[0,8],version:8,via:0,viabl:0,view:0,vim:[0,14],visibl:8,visit:[0,7,13],volatil:0,volhaven:13,vsprintf:[0,1,2],w0r1d_d43m0n:0,waer:0,wage:0,wai:[0,5,6,10,13,15],wait:[0,10],waiter:13,wall:0,want:[0,6,8,10,12,13,15],warehous:0,warn:[0,1,2,11,12,13,15],wasn:0,water:0,weaken:[0,1,2,8],weapon:0,web:[0,8,13,15],webpack:0,week:[],well:[0,4,8,14,15],were:[0,5,13,14,15],wese:7,what:[0,5,6,8,13,15],whatev:13,when:[0,1,2,5,8,9,10,13,15],whenev:0,where:[0,1,5,8,10,14],whether:[0,5,7,13,15],which:[0,4,5,6,7,10,13,15],whitespac:[0,5],who:[0,8],whose:15,wiki:0,wikia:0,wilson:0,win:0,window:14,within:8,without:[0,5,8,10,15],won:0,word:[0,5,14,15],work:[0,5,7,8,10,11,13,14,15],workagiexpgain:13,workchaexpgain:13,workdefexpgain:13,workdexexpgain:13,workforcompani:[1,2],workforfact:[1,2],workhackexpgain:13,workmoneygain:13,workrepgain:13,workstrexpgain:13,worktyp:13,world:[0,1,2,5,7],worm:15,would:[0,3,11,12,13,15],wouldnt:0,wraithan:0,wrap:0,write:[0,1,2,6,7,8,10],written:[2,5,10],wrong:1,wrote:10,wse:[0,7],www:[],x10:0,yet:[0,5,13],you:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15],your:[0,1,2,6,7,8,13,14,15],yourself:[0,6],zero:[0,5],zeu:0,zeud:0,zip:[0,15]},titles:["Changelog","Welcome to Bitburner's documentation!","Netscript Documentation","Netscript Advanced Functions","Netscript Data Types and Variables","Netscript Basic Functions","Netscript Hacknet Node API","Netscript Trade Information eXchange (TIX) API","NetscriptJS (Netscript 2.0)","Netscript Loops and Conditionals","Netscript Miscellaneous","Netscript Operators","Netscript Script Arguments","Netscript Singularity Functions","Keyboard Shortcuts","Terminal"],titleterms:{"final":8,"function":[3,5,10,13],"import":10,advanc:3,alia:15,analyz:15,api:[6,7],applytocompani:13,argument:12,bash:14,basic:5,binari:11,bitburn:1,brutessh:5,bui:15,buystock:7,cancelord:7,cat:15,changelog:0,check:15,checkfactioninvit:13,clear:[5,15],clearlog:5,cls:15,command:15,comment:10,commitcrim:13,condit:9,configur:15,connect:15,createprogram:13,data:4,date:10,defin:5,deleteserv:5,disablelog:5,document:[1,2],dom:[],download:15,editor:14,enablelog:5,exampl:[6,8],exchang:7,exec:5,exit:5,favor:0,fileexist:5,firefox:8,free:15,ftpcrack:5,game:14,getaugmentationcost:13,getaugmentationsfromfact:13,getbitnodemultipli:3,getcharacterinform:13,getcompanyfavor:13,getcompanyrep:13,getcrimech:13,getfactionfavor:13,getfactionrep:13,getgrowtim:5,gethackinglevel:5,gethackingmultipli:5,gethacknetmultipli:5,gethacktim:5,gethostnam:5,getnexthacknetnodecost:5,getownedaugment:13,getpurchasedserv:5,getscriptexpgain:5,getscriptincom:5,getscriptnam:5,getscriptram:5,getserverbasesecuritylevel:5,getservergrowth:5,getservermaxmonei:5,getserverminsecuritylevel:5,getservermoneyavail:5,getservernumportsrequir:5,getserverram:5,getserverrequiredhackinglevel:5,getserversecuritylevel:5,getstat:13,getstockposit:7,getstockpric:7,gettimesincelastaug:5,getupgradehomeramcost:13,getweakentim:5,grow:5,gymworkout:13,hack:[5,15],hacknet:6,hacknetnod:6,handl:[],hasrootaccess:5,help:15,home:15,hostnam:15,how:8,httpworm:5,ifconfig:15,indic:1,inform:7,installaugment:13,isbusi:13,isrun:5,javascript:10,joinfact:13,keyboard:14,kill:[5,15],killal:[5,15],loop:9,lscpu:15,major:0,manipul:[],math:10,mem:15,member:6,method:6,misc:14,miscellan:10,modul:10,mozilla:8,nano:15,navig:14,netscript:[2,3,4,5,6,7,8,9,10,11,12,13],netscriptj:8,node:6,note:8,nuke:5,number:10,oper:11,optim:0,own:5,peek:5,placeord:7,port:10,print:5,prompt:5,purchas:6,purchaseaugment:13,purchasehacknetnod:5,purchaseprogram:13,purchaseserv:5,purchasetor:13,read:5,rebalanc:0,relaysmtp:5,round:[],run:[5,15],scan:[5,15],scp:[5,15],script:[12,14],scriptkil:5,scriptrun:5,sellshort:7,sellstock:7,serverexist:5,shortcut:14,shortstock:7,singular:13,sleep:5,spawn:5,sprintf:5,sqlinject:5,stopact:13,sudov:15,system:0,tabl:1,tail:15,termin:[14,15],theme:15,tix:7,top:15,tprint:5,trade:7,traveltoc:13,type:4,unalia:15,unari:11,universitycours:13,upgradehomeram:13,usag:[],use:8,util:6,variabl:[4,6],vsprintf:5,warn:8,weaken:5,welcom:1,what:1,workforcompani:13,workforfact:13,write:5,your:5}}) \ No newline at end of file +Search.setIndex({docnames:["changelog","index","netscript","netscriptadvancedfunctions","netscriptdatatypes","netscriptfunctions","netscripthacknetnodeapi","netscriptixapi","netscriptjs","netscriptloopsandconditionals","netscriptmisc","netscriptoperators","netscriptscriptarguments","netscriptsingularityfunctions","shortcuts","terminal"],envversion:53,filenames:["changelog.rst","index.rst","netscript.rst","netscriptadvancedfunctions.rst","netscriptdatatypes.rst","netscriptfunctions.rst","netscripthacknetnodeapi.rst","netscriptixapi.rst","netscriptjs.rst","netscriptloopsandconditionals.rst","netscriptmisc.rst","netscriptoperators.rst","netscriptscriptarguments.rst","netscriptsingularityfunctions.rst","shortcuts.rst","terminal.rst"],objects:{"":{applyToCompany:[13,2,1,""],buyStock:[7,2,1,""],cancelOrder:[7,2,1,""],checkFactionInvitations:[13,2,1,""],clearLog:[5,2,1,""],commitCrime:[13,2,1,""],createProgram:[13,2,1,""],deleteServer:[5,2,1,""],disableLog:[5,2,1,""],enableLog:[5,2,1,""],fileExists:[5,2,1,""],getAugmentationCost:[13,2,1,""],getAugmentationsFromFaction:[13,2,1,""],getBitNodeMultipliers:[3,2,1,""],getCompanyFavor:[13,2,1,""],getCompanyRep:[13,2,1,""],getCrimeChance:[13,2,1,""],getFactionFavor:[13,2,1,""],getFactionRep:[13,2,1,""],getGrowTime:[5,2,1,""],getHackTime:[5,2,1,""],getHackingLevel:[5,2,1,""],getHackingMultipliers:[5,2,1,""],getHacknetMultipliers:[5,2,1,""],getHostname:[5,2,1,""],getNextHacknetNodeCost:[5,2,1,""],getOwnedAugmentations:[13,2,1,""],getPurchasedServers:[5,2,1,""],getScriptExpGain:[5,2,1,""],getScriptIncome:[5,2,1,""],getScriptName:[5,2,1,""],getScriptRam:[5,2,1,""],getServerBaseSecurityLevel:[5,2,1,""],getServerGrowth:[5,2,1,""],getServerMaxMoney:[5,2,1,""],getServerMinSecurityLevel:[5,2,1,""],getServerMoneyAvailable:[5,2,1,""],getServerNumPortsRequired:[5,2,1,""],getServerRam:[5,2,1,""],getServerRequiredHackingLevel:[5,2,1,""],getServerSecurityLevel:[5,2,1,""],getStats:[13,2,1,""],getStockPosition:[7,2,1,""],getStockPrice:[7,2,1,""],getTimeSinceLastAug:[5,2,1,""],getUpgradeHomeRamCost:[13,2,1,""],getWeakenTime:[5,2,1,""],gymWorkout:[13,2,1,""],hasRootAccess:[5,2,1,""],installAugmentations:[13,2,1,""],isBusy:[13,2,1,""],isRunning:[5,2,1,""],joinFaction:[13,2,1,""],placeOrder:[7,2,1,""],purchaseAugmentation:[13,2,1,""],purchaseHacknetNode:[5,2,1,""],purchaseProgram:[13,2,1,""],purchaseServer:[5,2,1,""],purchaseTor:[13,2,1,""],scriptKill:[5,2,1,""],scriptRunning:[5,2,1,""],sellShort:[7,2,1,""],sellStock:[7,2,1,""],serverExists:[5,2,1,""],shortStock:[7,2,1,""],stopAction:[13,2,1,""],travelToCity:[13,2,1,""],universityCourse:[13,2,1,""],upgradeHomeRam:[13,2,1,""],workForCompany:[13,2,1,""],workForFaction:[13,2,1,""]},"hacknetnodes[i]":{cores:[6,1,1,""],getCoreUpgradeCost:[6,0,1,""],getLevelUpgradeCost:[6,0,1,""],getRamUpgradeCost:[6,0,1,""],level:[6,1,1,""],moneyGainRatePerSecond:[6,1,1,""],name:[6,1,1,""],onlineTimeSeconds:[6,1,1,""],ram:[6,1,1,""],totalMoneyGenerated:[6,1,1,""],upgradeCore:[6,0,1,""],upgradeLevel:[6,0,1,""],upgradeRam:[6,0,1,""]},NetscriptPort:{clear:[10,0,1,""],data:[10,1,1,""],empty:[10,0,1,""],full:[10,0,1,""],tryWrite:[10,0,1,""],write:[10,0,1,""]}},objnames:{"0":["js","method","JavaScript method"],"1":["js","attribute","JavaScript attribute"],"2":["js","function","JavaScript function"]},objtypes:{"0":"js:method","1":"js:attribute","2":"js:function"},terms:{"000m":0,"05gb":0,"0gb":0,"0x726564646974":0,"100m":0,"1048576gb":[],"15m":0,"1e3":15,"1gb":0,"200k":0,"200m":0,"250m":0,"25gb":0,"25m":0,"25x":0,"2gb":0,"300m":0,"3087e3":8,"400m":0,"4gb":0,"500m":0,"50e3":15,"50x":0,"55k":0,"5gb":0,"64gb":0,"8gb":[0,6],"boolean":[0,4,5,13],"break":[0,12],"case":[0,5,7,13,15],"catch":[0,8],"class":[0,8,13,14],"const":5,"default":[0,5,13,14,15],"export":[0,5,8,10],"final":[1,2],"float":4,"function":[0,1,2,4,6,7,8,9,14,15],"import":[0,1,2,5,8,15],"long":[0,7],"new":[0,5,6,8,10,13,14,15],"null":[0,5,8,10],"public":0,"return":[0,3,5,6,7,10,11,13,14],"short":[0,7],"static":[0,8,10],"super":0,"switch":[0,14],"throw":[0,8],"true":[0,4,5,6,7,8,10,11,13],"try":[0,5,8,10,12,13],"var":9,"while":[0,5,6,8,9,10,13,15],AND:11,Ace:[0,14],Added:0,Adding:4,And:10,But:0,Doing:8,For:[0,3,4,5,6,8,9,10,11,12,15],IPs:[0,5],NOT:[0,5,7,11,13,14,15],Not:13,One:13,THE:0,The:[0,1,3,4,5,6,7,8,9,10,12,13,15],Their:4,Then:[6,8,10,15],There:[0,10],These:[0,3,5,6,8,13,14,15],Use:[0,5,8],Used:0,Using:0,WILL:0,WITH:0,Will:[5,7,14],With:[0,8],Yes:5,_termin:[],abbrevi:15,abil:[0,7],abl:[0,8,13],about:[0,4,5,10,13,15],abov:[0,4,5,10,11,15],accept:[0,13],access:[0,4,5,6,7,8,10,12,13,15],accident:0,account:0,accumul:8,acorn:0,across:0,action:[0,13,14],activ:[0,5,14],actual:[0,5,7,10,13,15],add:[0,6,8,15],added:[0,5],addit:[0,5,6,8,11,13],address:[0,5,15],adjac:15,adjust:0,adr:0,advanc:[1,2],advert:0,advertis:0,aevum:13,affect:[0,5],afford:[5,6],after:[0,4,5,7,10,13,15],afterward:15,again:0,against:0,agenc:[13,14],agent:13,agi:13,agil:13,aid:1,aka:[0,13,14],alexei:0,algorithm:[0,7,13],alia:[0,1],alias:[0,15],all:[0,4,5,6,7,8,10,13,15],allow:[0,7,8,10,13,15],almost:[0,2,8,14],alphabet:[5,15],alphanumer:4,alreadi:[0,5,13,15],also:[0,4,5,7,8,12,13,14,15],alt:[14,15],alter:8,altern:15,although:[0,13],alwai:[8,14],amount:[0,5,6,7,12,13,15],analysi:0,analyt:0,analyz:[0,1,14],ani:[0,1,2,4,5,8,13,14,15],annoi:0,anoth:[0,5,10,12,15],anymor:0,anyon:0,anyth:[0,5],anytim:15,anywher:[5,15],api:[0,1,2],appear:5,append:[0,5],appendchild:8,appli:[0,5,8,13],applic:13,applytocompani:[1,2],approxim:0,arbitrari:0,area:0,arg1:8,arg2:8,arg3:8,arg:[0,5,8,10,12,15],argument:[0,1,2,5,6,7,8,10,13,15],arm:13,armor:0,around:[1,13],arrai:[0,4,5,6,7,10,12,13],arrow:[14,15],artifici:0,aspect:[0,13],assassin:13,assign:[0,6,11],assum:[8,10],async:[5,8],asynchron:8,attack:[0,5],attempt:[0,7,10,13,15],augment:[0,5,7,13,14],augmentationmoneycost:3,augmentationrepcost:3,augnam:13,auto:13,autocomplet:[0,14],autolink:[0,13],autom:[0,6,7],automat:[0,5,7,13],automcomplet:0,autosav:0,avail:[0,4,5,7,8,9,13,14,15],averag:7,avgpx:7,avgpxshort:7,avoid:0,awai:15,await:8,awar:0,awesom:0,b1t_flum3:0,back:[0,10],background:15,backspac:14,backstori:0,backup:8,balanc:0,bar:0,base:[0,5,11],bash:[0,1],basic:[0,1,2,15],becaus:[0,3,5,8,13,15],becom:3,been:[0,1,8],befor:[0,5,8,10],begin:[0,14],being:[0,5,8,15],below:[0,5],benefici:0,benefit:0,best:12,beta:[0,1],better:[0,14],between:[0,3,5,8,10,14,15],big:0,billion:7,binari:[0,1,2],bind:[0,14],bit:0,bitburn:[0,2],bitnod:[0,3,13],bitrunn:0,black:0,blade:0,bladeburn:0,blob:8,block:0,blue:8,bluebird:0,board:0,bond:[0,13],bonu:0,boost:0,both:[0,5,13,15],box:[0,5],bribe:0,brief:[0,10,15],bring:0,broken:0,brokerag:0,browser:[0,8,13,14],brutessh:[0,1,2,13,15],buf:0,bug:0,bugfix:0,bui:[0,1,7,13],build:[0,7],built:0,busi:[0,13],button:0,buystock:[0,1,2],calcul:[0,7],call:[0,1,5,6,8,10,12,13,15],callback:[0,13],can:[0,1,4,5,6,7,8,9,10,12,13,14,15],cancel:[0,7,13,14],cancelord:[1,2],cannot:[0,5,6,8,15],cap:0,capabl:[4,8],capac:0,capit:[0,7],cat:[0,1],caus:[0,5],cave:0,caveat:[8,9],cbscript:13,cellel:8,certain:[0,5,7,10,13],cha:13,chanc:[5,13,15],chang:[0,3,4,5,8,11,15],changelog:1,charact:[4,13,14],characterist:0,charisma:13,cheaper:0,check:[0,1,5,9,13],checkfactioninvit:[0,1,2],chongq:13,choos:0,circuit:0,citi:[0,13,14],citynam:13,classgymexpgain:3,classifi:0,classlist:8,clear:[0,1,2,8,10,14],clearanc:0,clearlog:[0,1,2],click:[0,5,15],cloak:0,close:[0,8,10,14,15],cls:1,code:[0,5,7,8,9,10,11,12],codebas:0,collaps:0,collect:8,color:[0,8,15],com:0,combat:0,come:[8,15],command:[0,1,4,5,13,14],comment:[0,1,2,11],commiss:7,commit:[3,13],commitcrim:[0,1,2],common:0,commonli:15,commun:[7,10],compani:[0,7,13,14],companynam:13,companyworkexpgain:3,companyworkmonei:3,compar:0,compens:0,complet:[0,5,8],comput:[0,5,8,13,15],concat:8,concept:0,condit:[0,1,2],config:0,configur:[0,1,14],confirm:[0,1],connect:[0,1],conquer:0,consid:0,consider:0,consist:0,consol:15,constantli:5,constrain:5,constructor:[0,8],consult:13,contain:[0,3,4,5,6,8,10,13],content:[0,1],continu:[0,13],contract:[0,13],control:13,convers:0,convert:[5,8],copi:[0,5,15],core:[0,5,6,15],corecost:[5,6],corpor:0,corporatocraci:0,correct:13,correspond:6,cosmet:15,cost:[0,5,6,7,13,15],could:[0,15],count:[0,5,15],cours:13,coursenam:13,courtesi:0,cplusplu:[],cpp_static_memb:[],cpu:[0,15],crash:[0,8],creat:[0,5,7,13,14,15],createel:8,createprogram:[1,2],credit:0,crime:[0,3,13],crimeexpgain:3,crimemonei:3,crimin:0,crush:13,ctor:8,ctrl:[0,14],current:[0,1,3,5,7,13,14,15],cursor:14,custom:0,cyberpunk:1,cybersec:0,cycl:[0,14],daedalu:0,dai:[],damag:0,dark:[0,1,13,15],darkweb:0,data:[1,2,5,10,13],datamanc:0,date:[0,1,2],deal:[0,10,13],dealt:0,decid:8,decim:[0,13],declar:[0,4,5,8,9,10,15],declin:0,decreas:[0,5],decrement:[0,11],deepscan:0,deepscanv1:[13,15],deepscanv2:[13,15],def:13,defens:[0,13],defin:[0,1,2,8,14,15],definit:10,delai:[0,5],delet:[0,5,8,14,15],deleteserv:[0,1,2],demand:0,denot:[0,5,10],depend:[0,5,8],depth:15,describ:5,descript:[0,15],design:0,desir:15,destin:[0,5],destroi:0,detail:[0,5,15],determin:[0,5],develop:[0,1,2,8],devoidfuri:0,dex:13,dexter:13,dialog:[0,5],did:0,didn:0,die:0,differ:[0,3,4,5,8,14],differenti:15,difficult:0,difficulti:0,digit:[0,15],diminish:0,directli:[0,8],disabl:[0,5],disablelog:[0,1,2],displai:[0,15],divid:0,divis:[0,11],dni:0,doc:0,document:[0,5,8,9,10,13,14,15],doe:[0,2,5,7,8,10,11,14,15],doesn:0,doing:[0,6,8,10,12],dom:8,don:[0,8,10,13],donat:0,done:[0,14],dont:0,doubl:[0,4,6,15],down:[8,14,15],download:[0,1],drag:0,drawback:0,drug:13,due:[0,5],dure:0,dynam:[0,8,15],dystopian:1,each:[0,5,6,7,13,15],earli:[0,1],earn:[0,5,6,13],easier:0,easili:0,ecp:7,edg:0,edit:[0,8,14,15],editor:[0,1,15],effect:[0,5],effici:0,either:[4,5,15],element:[0,5,6,7,10,12,13],elif:0,els:[0,9,10,13],emac:14,embark:1,emploi:[13,14],employe:[0,13],empti:[0,5,10,15],emul:[14,15],enabl:[0,5,8,14,15],enable_bash_hotkei:14,enable_timestamp:0,enablelog:[0,1,2],encapsul:4,end:[0,5,6,10,13,14],endgam:0,endpoint:10,enemi:0,energi:0,engin:[0,8,13],enough:[0,5,7],enter:[0,14,15],entiti:0,entri:[0,8],environ:8,equal:[0,11],equival:[4,5,6],error:[0,5,8],esc:14,especi:5,essenti:0,estat:0,estim:[0,15],etc:[0,4,5,8,12,13,15],evalu:[8,10],even:[0,5,7,10,11],eventu:0,everi:[0,5,7,8,10,13,15],everyth:0,exampl:[0,1,2,3,4,5,7,9,10,11,12,13,15],exce:7,exceed:5,except:[0,5,8,14,15],exchang:[0,1,2],exe:[0,5,13,15],exec:[0,1,2,8],execarg:8,execut:[0,5,7,8,10,15],exist:[0,5,6,9,15],exit:[0,1,2],exp:0,expand:15,expens:0,experi:[0,5,8,13],explain:10,explanatori:0,exploit:[0,8],exponenti:0,extens:[0,5,8,13,15],facil:0,facnam:13,fact:0,faction:[0,13,14],factionnam:13,factionpassiverepgain:3,factionworkexpgain:3,factionworkrepgain:3,factor:0,fail:[0,5,13,15],failur:5,fairli:13,fairlyn:13,fals:[0,4,5,6,7,10,11,13],far:13,faster:[0,8],favor:[1,13],fconf:[0,14,15],featur:[0,2,8],fee:7,feed:0,feedback:0,feel:[0,2],few:[0,15],ffffff:15,field:[0,13],fieldwork:13,file:[0,3,5,13,14,15],fileexist:[0,1,2],filenam:[0,5,8,10,15],fill:5,find:[0,5,8],findindex:10,fine:5,finish:[0,13],firefox:[1,2],firewal:0,first:[0,4,5,6,7,10,12,13,15],fisg:7,fit:13,fix:[0,5],fl1ght:0,flag:[0,15],flat:0,fledg:8,flesh:0,floor:10,fn1:10,fn2:10,folder:0,follow:[0,3,4,5,6,8,9,10,13,15],foo1:[5,10],foo2:[5,10],foo3:[5,10],foo4:10,foo:[0,5,8,10,15],foodnstuff:[0,5,8,9,10,15],forc:0,foreach:0,forgeri:[0,13],forgot:0,form:[3,5,6,15],format:0,formula:0,fortifi:0,forward:8,found:0,four:[6,7],fourth:[6,7],fraction:5,framework:0,free:[0,1,2],from:[0,5,7,8,10,12,13,15],ftpcrack:[1,2,13],fulcrum:0,full:[0,8,10,15],fulli:[0,4],fund:0,furthermor:[0,5,8],futur:[0,3,5,14],gain:[0,1,5,13],game:[0,1,3,5,7,8,10,12,13,15],gameplai:0,gang:0,garbag:8,gene:0,gener:[0,5,8,11,12],get:[0,5,8,10,12,13,15],getaugment:0,getaugmentationcost:[1,2],getaugmentationsfromfact:[0,1,2],getbitnodemultipli:[0,1,2],getcharacterinform:[0,1,2],getcompanyfavor:[0,1,2],getcompanyrep:[1,2],getcoreupgradecost:[0,6],getcrimech:[0,1,2],getelementbyid:8,getfactionfavor:[0,1,2],getfactionrep:[1,2],getgrowtim:[0,1,2],gethackinglevel:[1,2],gethackingmultipli:[0,1,2],gethacknetmultipli:[0,1,2,6],gethacktim:[0,1,2],gethostnam:[0,1,2,8],getintellig:0,getip:0,getlevelupgradecost:[0,6],getnexthacknetnodecost:[0,1,2,6],getnumhacknetnod:0,getownedaugment:[1,2],getporthandl:[0,10],getpurchasedserv:[0,1,2],getramupgradecost:[0,6],getscriptexpgain:[0,1,2],getscriptincom:[0,1,2],getscriptnam:[0,1,2],getscriptram:[0,1,2],getserv:0,getserverbasesecuritylevel:[0,1,2],getservergrowth:[0,1,2],getservermaxmonei:[0,1,2],getserverminsecuritylevel:[0,1,2],getservermoneyavail:[0,1,2,9],getservernumportsrequir:[0,1,2],getserverram:[0,1,2,10],getserverrequiredhackinglevel:[0,1,2],getserversecuritylevel:[0,1,2],getstat:[0,1,2],getstockposit:[1,2],getstockpric:[1,2],gettimesincelastaug:[0,1,2],getupgradehomeramcost:[1,2],getweakentim:[0,1,2],ghost:0,github:[0,8],give:[0,3,5,13],given:[0,5,7,13,15],global:[0,5,8,15],global_object:0,globalvari:8,goe:0,going:[0,8],googl:15,governor:0,gradual:0,grand:13,grant:0,great:8,greater:[0,11],greatli:0,grep:[0,5,15],grow:[0,1,2,8,9],grown:9,growth:[0,5],guarante:13,guid:0,gym:[0,13,14],gymnam:13,gymworkout:[0,1,2],hack:[0,1,2,8,9,13,14],hacker:1,hackexpgain:3,hackingcontract:13,hacknet:[0,1,2,5,14],hacknetnod:[0,1,2],hacknetnodemonei:3,had:0,half:0,halt:5,halv:[0,13],hand:[0,15],handbook:0,handl:[0,10],happen:0,happi:8,harder:0,hardwar:0,has:[0,2,3,5,6,8,13,15],hasrootaccess:[0,1,2],have:[0,2,3,5,6,7,8,10,13,15],havoc_mayhem:0,header:[0,15],heist:13,helio:[0,5],hello:5,help:[0,1],her:0,here:[0,1,4,5,7,8,9,10,13,15],hex:[0,8,15],hidden:0,high:0,higher:[0,5],highlight:[0,15],his:0,histori:15,hoist:5,hold:4,home:[0,1,5,13,14],homicid:13,hope:1,hopefulli:0,hospit:0,hostnam:[0,1,5],hotkei:0,how:[0,1,2,4,5,6,9,10,15],howev:[0,5,9,10,15],htm:[],html:0,http:0,httpworm:[1,2,13,15],hydroflam:0,hyphen:4,idea:0,ident:2,identifi:[0,5,15],ifconfig:1,immedi:[0,5,7,13,15],implement:[0,2,10,14],importantinfo:15,improv:[0,2,8],inc:0,includ:[0,4,5,8,13,14,15],incom:[0,5,6],incomplet:0,incorrect:0,incorrectli:0,increas:[0,5],increment:[0,1,11],incur:[0,10],index:[1,5,6],indexeddb:0,indexof:0,indic:[0,5,13,15],individu:[0,15],industri:0,inequ:11,infiltr:0,infinit:8,info:0,inform:[0,1,2,5,13,15],initi:[0,4],innertext:8,input:[0,8,13,14],insan:0,insert:0,insid:[5,6,10],instal:[0,5,7,13],installaugment:[0,1,2],instanc:[0,5,8],instead:[0,3,5,6,8,13],institut:13,instrins:5,instruct:0,integ:[3,4,5,6,7],intellig:[0,13],interact:10,interest:0,interfac:[0,15],interpret:0,interv:0,intuit:0,invalid:[0,5,13],invest:0,investor:0,invit:[0,13],involv:0,iron:[0,13],isbusi:[0,1,2],ishima:13,isinteg:10,isn:0,isrun:[0,1,2],issu:[0,13,15],item:[0,10],iter:[6,9],its:[0,5,7,8,10,15],itself:6,jaguilar:8,javascript:[0,1,2,4,5,8,9],job:[0,8,13,14],jobtitl:13,joesgun:5,join:[0,4,13],joinfact:[1,2],jqueri:0,jshint:0,jump3r:[0,1],just:[0,5,8,10,15],karma:0,keep:0,kei:[0,14,15],kernel:0,keybind:0,keyboard:[0,1,15],keyword:[0,9],kidnap:13,kill:[0,1,2],killal:[0,1,2],know:[0,8,10],kopelli:0,label:4,languag:[0,2,4,5],larceni:13,larg:0,last:[0,5,8,10,14],late:0,later:[0,3,4,7,13],latest:0,lead:1,leadership:13,leak:8,least:[0,5,6],left:[0,15],length:[0,5,6,8,12],lenient:13,less:[0,11],let:[0,7,8,9,10,12,15],letter:[4,7],level:[0,5,6,13,15],levelcost:[5,6],librari:[0,10],life:15,lightli:0,like:[0,5,8,10,12,14],limit:[0,5,7,13],limitbui:7,limitsel:7,line:[0,8,10,14],linear:0,linearli:0,link:[0,5,15],list:[0,6,13,15],lit:[0,5,15],literatur:[0,5,15],littl:0,load:[0,8],local:5,localstorag:0,locat:[0,5,13],lock:0,log:[0,5,6,10,14,15],logic:[0,11],longer:0,look:[8,10,12],loop:[0,1,2,8],lore:0,lose:[0,10],lot:[0,8,13],low:0,lower:[0,5],lscpu:[0,1],ltcnugget:0,machin:[0,15],made:[0,7,15],mai:[0,5,8,15],main:[5,8],maintain:0,major:1,make:[0,5,8,12],manag:[0,13],mani:[0,2,4,13],manipul:8,manual:[0,13],manualhackmonei:3,map:6,mark:[0,8,15],market:[0,7],masterscript:15,match:15,mateon1:0,materi:0,math:[0,1,2],matter:15,max:[0,6],maximum:[0,5,15],mayb:[0,10],mean:[0,1,2,3,4,5,6,8,10,13],meant:0,mechan:[0,15],med:0,medic:0,mem:1,member:[0,1,2,4,8,13],memori:[0,5,8,15],mention:0,menu:[0,14,15],messag:[0,1,5,15],method:[0,1,2,4,8,10],mid:0,middl:13,might:0,migrat:0,mild:0,millenium:13,millisecond:[0,5],minigam:0,minimum:[0,5],minor:0,minut:[0,13],misc:[0,1],miscellan:[1,2],mission:[0,14],mode:[0,5,14],modifi:[0,12],modul:[0,1,2,8],modulo:11,monei:[0,1,3,5,6,7,9,13,15],monetari:0,moneygainratepersecond:6,more:[0,4,5,9,14,15],most:[0,4],mostli:0,move:14,mozilla:[0,1,2],mrnuggelz:0,msg:[5,15],much:[0,9,15],mug:13,mult:[3,5,6],multi:[0,10],multidimension:0,multilin:0,multipl:[0,5,8,11,15],multipli:[0,3,5,6,13],multithread:0,must:[0,4,5,6,7,8,10,13,14,15],mute:15,mysteri:1,name:[0,4,5,6,7,11,12,13,15],namespac:10,nano:[0,1,8,14],nativ:0,natur:0,navig:[0,1,15],nearest:[5,6,7],necessari:[0,1,15],need:[0,5,8,10,15],neg:0,negat:[0,11],nerf:0,nest:0,net:7,netscript:[0,1],netscriptj:[0,1,2,5],netscriptport:10,netsction:0,network:[0,13,15],neuroflux:0,never:[0,8],newer:0,newli:5,newlin:0,next:[5,14],nitesec:0,node:[0,1,2,5,14,15],non:15,none:[5,6],normal:[0,10,12,13],noscript:0,notabl:[0,5],note:[0,1,2,5,6,10,13,14,15],notifi:0,now:[0,1,8,10,15],nuke:[0,1,2,15],num:15,number:[0,1,2,4,5,6,7,8,11,12,13,15],numer:[0,4,7,11],numthread:[0,5,10],object:[0,3,4,5,6,8,13],observ:0,obtain:5,obvious:13,occur:0,off:0,offic:0,offici:0,offlin:[0,5],old:0,omit:[5,15],onc:[0,15],one:[0,5,6,8,9,10,13],ones:0,onli:[0,3,5,6,7,8,10,11,13,14,15],onlin:[0,5],onlinetimesecond:6,onto:4,open:[0,5,8,10,13,14,15],oper:[0,1,2,10,12],operand:11,optim:1,option:[0,5,8,13,14,15],order:[0,3,5,7,13,15],org:0,origin:[0,3],osx:0,other:[0,5,8,10,13,14],otherwis:[0,5,6,7,9,10,13,14,15],our:10,oustand:[0,7,13],out:[0,2,5,10,13],outdat:0,output:5,outsid:[0,5,13],outstand:0,over:[0,5,8],overclock:0,overrid:14,overwrit:[0,5],own:[0,1,2,7,8,15],page:[0,1,3,5,8,10,13,14,15],param:8,paramet:[0,5,15],pars:[0,10],parser:0,part:[0,13,15],particular:13,pass:[0,5,8,10,12,13,15],passiv:0,past:0,path:15,pattern:[0,15],peek:[0,1,2,10],peopl:8,per:0,percentag:[0,5,6],perform:[0,13],perman:15,persist:0,pheromon:0,pick:0,picker:15,pill:0,place:7,placeord:[1,2],plai:1,plan:12,player:[0,1,5,6,7,12,13,15],pleas:[0,8],plenti:8,plot:0,point:[0,8],pointer:0,pop:[0,4,10],popular:0,popup:0,port:[0,1,2,5,15],portfolio:0,pos:7,posit:[0,4,6,7,13],possibl:[0,8,12],post:8,pound:15,power:[0,1,5,8],powerhous:13,pre:[0,8,11],preced:15,prefac:8,prefix:0,prerequisit:0,preset:[14,15],press:0,prestig:0,prevent:12,preventdefault:0,previou:[0,14],previous:0,price:[0,7],primarili:8,primit:4,print:[0,1,2,3,6,8,10,13,15],privat:0,problem:0,process:[0,5],prod:0,produc:[0,11],product:[0,5,6],profit:[0,7],program:[0,2,5,13,14,15],programat:0,programnam:13,progress:0,promis:0,promot:[0,13],prompt:[0,1,2,8],proper:0,properli:0,properti:[0,13],protocol:7,prototyp:8,provid:[0,6,7],pserv:5,puchas:0,purchas:[0,1,2,5,7,13,15],purchaseaugment:[1,2],purchasecost:[5,6],purchasedserver1:8,purchasehacknetnod:[0,1,2,6],purchaseprogram:[1,2],purchaseserv:[0,1,2],purchasetor:[1,2],purpos:[4,5],push:0,put:[3,11],qualifi:0,qualiti:0,queri:0,quest:1,queue:[0,5,10],quickli:[0,5],quit:0,quot:4,quotat:15,rais:[0,5],ram:[0,5,6,10,13,15],ramcost:[5,6],ramus:5,ran:[0,5,8,10,15],random:0,randomarg:8,rank:0,rate:[0,5],rather:[0,8,15],reach:[0,2,15],read:[0,1,2,4,6,10],readthedoc:0,real:[0,15],realli:0,reason:[0,5],rebalanc:1,receiv:[0,3,13],recommend:[8,13],record:0,recurs:0,red:[0,8],reddit:0,reduc:[0,8],refactor:0,refer:[0,4,9],referenc:[0,4],reflect:7,refresh:[0,8],regain:0,regard:0,regardless:[0,5],reject:0,rel:[0,15],relat:[5,6,10,15],relaysmtp:[1,2,13],releas:[0,8],relev:[0,3],reload:[0,8,10],remain:0,rememb:[5,7,8,15],remot:15,remov:[0,5,10,15],rep:0,repeat:0,repeatedli:[0,8],replac:[0,15],report:[0,8],repres:[0,3,4,5,7,10,15],reput:[0,13],request:2,requir:[0,3,5,10,11,13,15],res:[5,10,13],research:0,reset:[0,5,7,13],resolv:5,respect:[0,15],respons:8,rest:[0,4],restart:[0,13],result:[0,5,8,11],retain:[0,7],reusabl:15,revert:5,reward:0,right:[0,10],risk:8,rob:13,robot:0,role:1,room:10,root:[5,15],rothman:[5,13],round:[0,5,6,7],router:[0,13,15],rowel:8,rpg:1,rule:8,run:[0,1,2,3,8,9,10,11,12,13],runarg:8,runtim:[0,5],safe:8,sai:[5,12],sake:10,salari:0,sale:[0,7],same:[0,5,8,9,10,13,14,15],satisfi:0,save:[0,8,10,14],scale:0,scan:[0,1,2],schedul:[8,13],scheme:15,scienc:13,scientif:0,scope:[5,8],scp:[0,1,2,8],screen:[0,14,15],screw:0,script:[0,1,2,5,6,7,8,10,13,15],scripthackmonei:3,scriptjob:8,scriptkil:[0,1,2],scriptnam:[0,5],scriptrun:[0,1,2],scriptschedul:8,scroll:0,search:[1,5],second:[0,4,5,6,7,12,13,15],secondari:0,secret:[0,1],section:[2,5],sector:13,secur:[0,5,13],securitywork:13,see:[0,5,6,8,9,15],select:[0,5],self:0,sell:[0,7],sellshort:[0,1,2],sellstock:[0,1,2],semicolon:0,sensit:[0,5,7,13,15],sent:0,separ:[3,5,15],sequenc:[4,7],sequenti:8,serial:[0,5,10],seriou:8,server:[0,5,9,15],serverexist:[0,1,2],servergrowthr:3,servermaxmonei:3,serverprofil:[0,13],serverstartingmonei:3,serverstartingsecur:3,serverweakenr:3,set:[0,5,8,13,14,15],sever:[0,10],share:[0,7,8],sharesshort:7,she:1,shell:14,shield:0,shift:0,shoplift:13,shortcut:[0,1,15],shorthand:0,shortstock:[0,1,2],should:[0,5,9,13,15],show:[0,4,5,8,9,15],shown:[5,15],side:15,sigma:15,sign:15,signatur:[0,5,8],signific:[0,5],significantli:[0,8],similar:[0,5],simpl:[8,9,10],simplest:5,simpli:[2,4],simplic:10,simulacrum:0,sinc:[0,5,8,10],singl:[0,4,5,11,15],singular:[0,1,2],situat:8,size:0,skill:[0,5],sleep:[0,1,2,6,8,10,13],slice:10,slight:0,slightli:0,slow:8,slower:0,slowli:0,small:[0,8,13],smaller:0,smart:0,snap:13,soft:0,softwar:[0,13],solar:15,sold:7,some:[0,5,8,9,10,11,13],some_valu:5,someth:1,sometim:0,someval1:10,someval2:10,soon:0,sorri:0,sort:[0,5,10],sourc:[0,3,5,13],space:[0,14,15],spaceglac:0,spam:0,spawn:[0,1,2],special:[0,4,6,12,13],specif:[0,5,10],specifi:[0,5,6,7,10,12,13,15],speed:[0,5],splice:[0,4],spoiler:[0,3,13],sprintf:[0,1,2],sqlinject:[1,2,13],stack:0,stage:[0,1],stai:5,stamina:0,start:[0,4,5,8,10,13,15],starter:0,stat:[0,13,14],state:0,statement:[0,9],statist:[0,7,15],steal:[0,5],still:[0,5,8,15],stock:[0,7],stolen:[0,5],stop:[0,5,7,13,15],stopact:[0,1,2],stopbui:7,stopsel:7,storag:0,store:[4,13],str:13,strategi:7,street:0,strength:13,strict:11,string:[0,4,5,7,13,15],structur:[3,5,6,10],strucur:13,studi:[0,13],stupid:0,style:[0,8],subject:3,subreddit:0,subset:2,substitut:15,substr:5,subtract:11,success:[0,5,7,13],successess:0,successfulli:[0,5,6,7,10,13,15],sudov:1,suggest:2,sum:[0,5],summari:8,summit:13,suppli:0,support:[0,4,6,7,8,10,15],suppos:10,suppress:0,sure:0,suspend:5,suspicion:1,sym:7,symbol:7,syntax:[0,2,5,10],system:[1,7],tab:[0,8,14,15],tail:[0,1],take:[0,1,5,13,14,15],target:[0,5,8,15],task:0,technolgi:0,technolog:[0,13],tell:0,templat:5,ten:9,term:[0,13],termin:[0,1,5,8,13],terminalinput:8,territori:0,test2:[],test:[0,5,8],testlib:10,testlibrari:10,text:[0,4,5,8,15],than:[0,5,8,9,11,15],thank:0,theft:13,thei:[0,2,3,5,8,14,15],them:[0,5,10,13],theme:[0,1],themselv:0,therefor:[0,8],theres:0,thi:[0,1,2,3,4,5,6,7,8,10,11,12,13,14,15],thing:15,think:0,third:[0,5,7],those:[5,6,8],though:[0,5,10],thought:[4,8],thread:[0,5,8,12,13,15],three:[4,5,8,10,14,15],through:[0,5,6,8,10,13,14,15],throughout:0,thrown:8,tier:0,time:[0,5,6,8,9,10,13,15],timework:13,tini:2,tip:0,tix:[0,1,2],todo:15,tokyo:13,tolocalestr:0,tolowercas:4,too:0,tooltip:0,top:[0,1,8],tor:[0,13,15],total:[0,5,6,15],totalmoneygener:6,totalram:5,toward:0,tprint:[0,1,2,8,10],tprintcolor:8,tracer:0,track:0,trade:[0,1,2],traffick:13,train:[0,13,14],transact:[0,7],transfer:0,travel:[0,13,14],traveltoc:[1,2],travers:9,treat:0,trend:0,tri:[5,6,15],trigger:0,troubl:0,trywrit:[0,10],tutori:[0,14],tutorialspoint:[],tweak:0,two:[0,5,7,8,10,11,12,13],txt:[0,5,8,15],type:[0,1,2,5,7,8,13,15],typic:5,typo:0,unabl:8,unalia:[0,1],unalias_terminal_command:[],unari:[1,2],uncov:1,undefin:0,underli:[0,5,10],underscor:4,undo:15,undon:15,uni:5,uniqu:[0,5,8,15],univeristi:13,univers:[0,13,14],universitycours:[1,2],universitynam:13,unknown:1,unless:[0,14],unlik:8,unlock:[0,7,13],unrecogn:0,until:[0,5,6,13],untyp:4,updat:[0,13],upgrad:[0,6,13],upgradecor:6,upgradehacknetnod:0,upgradehomeram:[1,2],upgradelevel:6,upgraderam:6,upon:0,url:8,usag:[0,5,10,15],use:[0,1,2,5,7,9,10,13,15],useabl:0,used:[0,2,4,5,6,7,10,13,14,15],useful:0,user:[0,8,15],uses:[0,8,9],using:[0,5,6,7,8,9,10,12,13,15],usual:13,utc:[0,10],util:[0,1,2],valid:[0,5,10,13,15],valu:[0,3,4,5,6,7,8,10,11,13,15],valuat:0,vari:5,variabl:[0,1,2,5,8,9,11,15],varieti:0,variou:[0,13,14],vechain:0,vehicl:0,veri:[0,8],version:8,via:0,viabl:0,view:0,vim:[0,14],visibl:8,visit:[0,7,13],volatil:0,volhaven:13,vsprintf:[0,1,2],w0r1d_d43m0n:0,waer:0,wage:0,wai:[0,5,6,10,13,15],wait:[0,10],waiter:13,wall:0,want:[0,6,8,10,12,13,15],warehous:0,warn:[0,1,2,11,12,13,15],wasn:0,water:0,weaken:[0,1,2,8],weapon:0,web:[0,8,13,15],webpack:0,week:[],well:[0,4,8,14,15],were:[0,5,13,14,15],wese:7,what:[0,5,6,8,13,15],whatev:13,when:[0,1,2,5,8,9,10,13,15],whenev:0,where:[0,1,5,8,10,14],whether:[0,5,7,13,15],which:[0,4,5,6,7,10,13,15],whitespac:[0,5],who:[0,8],whose:15,wiki:0,wikia:0,wilson:0,win:0,window:14,within:8,without:[0,5,8,10,15],won:0,word:[0,5,14,15],work:[0,5,7,8,10,11,13,14,15],workagiexpgain:13,workchaexpgain:13,workdefexpgain:13,workdexexpgain:13,workforcompani:[1,2],workforfact:[1,2],workhackexpgain:13,workmoneygain:13,workrepgain:13,workstrexpgain:13,worktyp:13,world:[0,1,2,5,7],worm:15,would:[0,3,11,12,13,15],wouldnt:0,wraithan:0,wrap:0,write:[0,1,2,6,7,8,10],written:[2,5,10],wrong:1,wrote:10,wse:[0,7],www:[],x10:0,yet:[0,5,13],you:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15],your:[0,1,2,6,7,8,13,14,15],yourself:[0,6],zero:[0,5],zeu:0,zeud:0,zip:[0,15]},titles:["Changelog","Welcome to Bitburner's documentation!","Netscript Documentation","Netscript Advanced Functions","Netscript Data Types and Variables","Netscript Basic Functions","Netscript Hacknet Node API","Netscript Trade Information eXchange (TIX) API","NetscriptJS (Netscript 2.0)","Netscript Loops and Conditionals","Netscript Miscellaneous","Netscript Operators","Netscript Script Arguments","Netscript Singularity Functions","Keyboard Shortcuts","Terminal"],titleterms:{"final":8,"function":[3,5,10,13],"import":10,advanc:3,alia:15,analyz:15,api:[6,7],applytocompani:13,argument:12,bash:14,basic:5,binari:11,bitburn:1,brutessh:5,bui:15,buystock:7,cancelord:7,cat:15,changelog:0,check:15,checkfactioninvit:13,clear:[5,15],clearlog:5,cls:15,command:15,comment:10,commitcrim:13,condit:9,configur:15,connect:15,createprogram:13,data:4,date:10,defin:5,deleteserv:5,disablelog:5,document:[1,2],dom:[],download:15,editor:14,enablelog:5,exampl:[6,8],exchang:7,exec:5,exit:5,favor:0,fileexist:5,firefox:8,free:15,ftpcrack:5,game:14,getaugmentationcost:13,getaugmentationsfromfact:13,getbitnodemultipli:3,getcharacterinform:13,getcompanyfavor:13,getcompanyrep:13,getcrimech:13,getfactionfavor:13,getfactionrep:13,getgrowtim:5,gethackinglevel:5,gethackingmultipli:5,gethacknetmultipli:5,gethacktim:5,gethostnam:5,getnexthacknetnodecost:5,getownedaugment:13,getpurchasedserv:5,getscriptexpgain:5,getscriptincom:5,getscriptnam:5,getscriptram:5,getserverbasesecuritylevel:5,getservergrowth:5,getservermaxmonei:5,getserverminsecuritylevel:5,getservermoneyavail:5,getservernumportsrequir:5,getserverram:5,getserverrequiredhackinglevel:5,getserversecuritylevel:5,getstat:13,getstockposit:7,getstockpric:7,gettimesincelastaug:5,getupgradehomeramcost:13,getweakentim:5,grow:5,gymworkout:13,hack:[5,15],hacknet:6,hacknetnod:6,handl:[],hasrootaccess:5,help:15,home:15,hostnam:15,how:8,httpworm:5,ifconfig:15,indic:1,inform:7,installaugment:13,isbusi:13,isrun:5,javascript:10,joinfact:13,keyboard:14,kill:[5,15],killal:[5,15],loop:9,lscpu:15,major:0,manipul:[],math:10,mem:15,member:6,method:6,misc:14,miscellan:10,modul:10,mozilla:8,nano:15,navig:14,netscript:[2,3,4,5,6,7,8,9,10,11,12,13],netscriptj:8,node:6,note:8,nuke:5,number:10,oper:11,optim:0,own:5,peek:5,placeord:7,port:10,print:5,prompt:5,purchas:6,purchaseaugment:13,purchasehacknetnod:5,purchaseprogram:13,purchaseserv:5,purchasetor:13,read:5,rebalanc:0,relaysmtp:5,round:[],run:[5,15],scan:[5,15],scp:[5,15],script:[12,14],scriptkil:5,scriptrun:5,sellshort:7,sellstock:7,serverexist:5,shortcut:14,shortstock:7,singular:13,sleep:5,spawn:5,sprintf:5,sqlinject:5,stopact:13,sudov:15,system:0,tabl:1,tail:15,termin:[14,15],theme:15,tix:7,top:15,tprint:5,trade:7,traveltoc:13,type:4,unalia:15,unari:11,universitycours:13,upgradehomeram:13,usag:[],use:8,util:6,variabl:[4,6],vsprintf:5,warn:8,weaken:5,welcom:1,what:1,workforcompani:13,workforfact:13,write:5,your:5}}) \ No newline at end of file diff --git a/doc/source/netscriptfunctions.rst b/doc/source/netscriptfunctions.rst index 49ea0a803..a161bf114 100644 --- a/doc/source/netscriptfunctions.rst +++ b/doc/source/netscriptfunctions.rst @@ -387,6 +387,34 @@ ls Returns an array with the filenames of all files on the specified server (as strings). The returned array is sorted in alphabetic order +ps +^^ + +.. js:function:: ps(hostname/ip=current ip) + + :param string ip: Hostname or IP address of the target server. + If not specified, it will be the current server's IP by default + + Returns an array with general information about all scripts running on the specified + target server. The information for each server is given in an object with + the following structure:: + + { + filename: Script name, + threads: Number of threads script is running with, + args: Script's arguments + } + + Example usage (using :doc:`netscriptjs`):: + + export async function main(ns) { + const ps = ns.ps("home"); + for (let i = 0; i < ps.length; ++i) { + ns.tprint(ps[i].filename + ' ' + ps[i].threads); + ns.tprint(ps[i].args); + } + } + hasRootAccess ^^^^^^^^^^^^^ diff --git a/doc/source/netscriptjs.rst b/doc/source/netscriptjs.rst index 73d5e6dd4..2508d686d 100644 --- a/doc/source/netscriptjs.rst +++ b/doc/source/netscriptjs.rst @@ -1,3 +1,5 @@ +.. _netscriptjs: + NetscriptJS (Netscript 2.0) =========================== Netscript 2.0, or Netscript JS, is the new and improved version of Netscript that diff --git a/src/CompanyManagement.js b/src/CompanyManagement.js index ce3fd1a75..dfe97d78f 100644 --- a/src/CompanyManagement.js +++ b/src/CompanyManagement.js @@ -2696,11 +2696,12 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { //Completed products var cmpAndDmdText = ""; if (company.unlockUpgrades[2] === 1) { - cmpAndDmdText += "
    Competition: " + formatNumber(product.cmp, 3); - } - if (company.unlockUpgrades[3] === 1) { cmpAndDmdText += "
    Demand: " + formatNumber(product.dmd, 3); } + if (company.unlockUpgrades[3] === 1) { + cmpAndDmdText += "
    Competition: " + formatNumber(product.cmp, 3); + } + var totalGain = product.data[city][1] - product.data[city][2]; //Production - sale div.appendChild(createElement("p", { innerHTML: "

    " + product.name + ": " + formatNumber(product.data[city][0], 3) + //Quantity diff --git a/src/Constants.js b/src/Constants.js index b968247fc..a14bf7b85 100644 --- a/src/Constants.js +++ b/src/Constants.js @@ -43,7 +43,7 @@ let CONSTANTS = { /* Netscript Constants */ //RAM Costs for different commands ScriptBaseRamCost: 1.4, - ScriptCheatRamCost: 1e21, // if someone tries to cheat by using window or document we just spike the ram cost. + ScriptDomRamCost: 100, ScriptWhileRamCost: 0.2, ScriptForRamCost: 0.2, ScriptIfRamCost: 0.15, @@ -489,20 +489,17 @@ let CONSTANTS = { "World Stock Exchange account and TIX API Access
    ", LatestUpdate: - "v0.38.0
    " + - "* New BitNode: BN-12 The Recursion - Implemented by Github user hydroflame
    " + - "* Bladeburner Changes:
    " + - "*** Bladeburner progress is no longer reset when installing Augmentations
    " + - "*** The number of successess needed to increase a Contract/Operation's max level now scales with the current max level (gradually gets harder)
    " + - "*** All Bladeburner Augmentations are now slightly more expensive and require more reputation
    " + - "*** Black Operations now give higher rank rewards
    " + - "*** Doubled the base amount of money gained from Contracts
    " + - "*** Increased the amount of experience gained from Contracts/Actions
    " + - "*** Added a new Augmentation: The Blade's Simulacrum
    " + - "*** Bladeburner faction reputation gain is now properly affected by favor
    " + - "* Hacking is now slightly less profitable in BitNode-3
    " + - "* Updated Hacknet Nodes UI - Implemented by Github user kopelli
    " + - "* Bug Fix: Fixed an exploit that allowed calling any Netscript function without incurring any RAM Cost in NetscriptJS
    " + "v0.38.1
    " + + "* Bug Fix: Using 'Object.prototype' functions like toLocaleString() or toString() should no longer cause errors in NetscriptJS
    " + + "* Implemented by Github user hydroflame:
    " + + "*** Accessing the 'window' and 'document' objects in Netscript JS now requires a large amount of RAM (100 GB)
    " + + "*** Added game option to suppress travel confirmation
    " + + "*** Text on buttons can no longer be highlighted
    " + + "*** Bug Fix: Fixed an issue that caused NaN values when exporting Real Estate in Corporations
    " + + "*** Bug Fix: Competition and Demand displays in Corporation are now correct (were reversed before)
    " + + "*** Added ps() Netscript function
    " + + "*** Bug fix: grow() should no longer return/log a negative value when it runs on a server that's already at max money
    " + } export {CONSTANTS}; diff --git a/src/Location.js b/src/Location.js index 1d7fa0702..4b7a15e25 100644 --- a/src/Location.js +++ b/src/Location.js @@ -279,7 +279,10 @@ function displayLocationContent() { purchase256gb.innerHTML = "Purchase 256GB Server - $" + formatNumber(256*CONSTANTS.BaseCostFor1GBOfRamServer, 2); purchase512gb.innerHTML = "Purchase 512GB Server - $" + formatNumber(512*CONSTANTS.BaseCostFor1GBOfRamServer, 2); purchase1tb.innerHTML = "Purchase 1TB Server - $" + formatNumber(1024*CONSTANTS.BaseCostFor1GBOfRamServer, 2); - purchaseTor.innerHTML = "Purchase TOR Router - $" + formatNumber(CONSTANTS.TorRouterCost, 2); + if (!SpecialServerIps.hasOwnProperty("Darkweb Server")) { + purchaseTor.innerHTML = "Purchase TOR Router - $" + formatNumber(CONSTANTS.TorRouterCost, 2); + } + travelAgencyText.style.display = "none"; travelToAevum.style.display = "none"; @@ -2005,7 +2008,7 @@ function purchaseTorRouter() { const purchaseTor = document.getElementById("location-purchase-tor"); purchaseTor.setAttribute("class", "a-link-button-bought"); - purchaseTor.innerHTML = "TOR Router - purchased"; + purchaseTor.innerHTML = "TOR Router - Purchased"; Player.getHomeComputer().serversOnNetwork.push(darkweb.ip); darkweb.serversOnNetwork.push(Player.getHomeComputer().ip); diff --git a/src/NetscriptFunctions.js b/src/NetscriptFunctions.js index f2bfb3b0d..3f0ab4243 100644 --- a/src/NetscriptFunctions.js +++ b/src/NetscriptFunctions.js @@ -81,6 +81,8 @@ var possibleLogs = { relaysmtp: true, httpworm: true, sqlinject: true, + run:true, + exec:true, spawn: true, kill: true, killall: true, @@ -325,7 +327,7 @@ function NetscriptFunctions(workerScript) { } workerScript.scriptRef.onlineExpGained += expGain; Player.gainHackingExp(expGain); - return Promise.resolve(growthPercentage); + return Promise.resolve(moneyAfter/moneyBefore); }); }, weaken : function(ip){ @@ -2292,7 +2294,9 @@ function NetscriptFunctions(workerScript) { AddToAllServers(darkweb); SpecialServerIps.addIp("Darkweb Server", darkweb.ip); - document.getElementById("location-purchase-tor").setAttribute("class", "a-link-button-inactive"); + const purchaseTor = document.getElementById("location-purchase-tor"); + purchaseTor.setAttribute("class", "a-link-button-bought"); + purchaseTor.innerHTML = "TOR Router - Purchased"; Player.getHomeComputer().serversOnNetwork.push(darkweb.ip); darkweb.serversOnNetwork.push(Player.getHomeComputer().ip); @@ -2798,7 +2802,7 @@ function NetscriptFunctions(workerScript) { } // if the player is in a gang and the target faction is any of the gang faction, fail - if(Player.gang != null && AllGangs[name] !== undefined) { + if(Player.inGang() && AllGangs[name] !== undefined) { workerScript.scriptRef.log("ERROR: Faction specified in workForFaction() does not offer work at the moment."); return; } diff --git a/src/Script.js b/src/Script.js index 53d03e3c4..51a55e6d1 100644 --- a/src/Script.js +++ b/src/Script.js @@ -425,7 +425,7 @@ function parseOnlyRamCalculate(server, code, workerScript) { const unresolvedRefs = Object.keys(dependencyMap).filter(s => s.startsWith(initialModule)); const resolvedRefs = new Set(); while (unresolvedRefs.length > 0) { - const ref = unresolvedRefs.shift(); + let ref = unresolvedRefs.shift(); resolvedRefs.add(ref); if (ref.endsWith(".*")) { @@ -448,7 +448,7 @@ function parseOnlyRamCalculate(server, code, workerScript) { if (ref == specialReferenceFOR) ram += CONSTANTS.ScriptForRamCost; if (ref == specialReferenceWHILE) ram += CONSTANTS.ScriptWhileRamCost; if (ref == "hacknetnodes") ram += CONSTANTS.ScriptHacknetNodesRamCost; - if (ref == "document" || ref == "window") ram += CONSTANTS.ScriptCheatRamCost; + if (ref == "document" || ref == "window") ram += CONSTANTS.ScriptDomRamCost; // Check if this ident is a function in the workerscript env. If it is, then we need to // get its RAM cost. We do this by calling it, which works because the running script @@ -509,11 +509,15 @@ function parseOnlyCalculateDeps(code, currentModule) { s.add(name); // For builtins like hack. } + //A list of identifiers that resolve to "native Javascript code" + const objectPrototypeProperties = Object.getOwnPropertyNames(Object.prototype); + // If we discover a dependency identifier, state.key is the dependent identifier. // walkDeeper is for doing recursive walks of expressions in composites that we handle. function commonVisitors() { return { Identifier: (node, st, walkDeeper) => { + if (objectPrototypeProperties.includes(node.name)) {return;} addRef(st.key, node.name); }, WhileStatement: (node, st, walkDeeper) => { diff --git a/src/Settings.js b/src/Settings.js index e8a8c4b08..d219937b1 100644 --- a/src/Settings.js +++ b/src/Settings.js @@ -48,7 +48,7 @@ function setSettingsLabels() { nsPortLimit.innerHTML = Settings.MaxPortCapacity; suppressMsgs.checked = Settings.SuppressMessages; suppressFactionInv.checked = Settings.SuppressFactionInvites; - suppressTravelConfirmation.checked = Settings.suppressTravelConfirmation; + suppressTravelConfirmation.checked = Settings.SuppressTravelConfirmation; autosaveInterval.innerHTML = Settings.AutosaveInterval; disableHotkeys.checked = Settings.DisableHotkeys; diff --git a/src/engine.js b/src/engine.js index 6438aa202..02c8b850a 100644 --- a/src/engine.js +++ b/src/engine.js @@ -1729,7 +1729,9 @@ let Engine = { //If DarkWeb already purchased, disable the button if (SpecialServerIps.hasOwnProperty("Darkweb Server")) { - document.getElementById("location-purchase-tor").setAttribute("class", "a-link-button-inactive"); + const purchaseTor = document.getElementById("location-purchase-tor"); + purchaseTor.setAttribute("class", "a-link-button-bought"); + purchaseTor.innerHTML = "TOR Router - Purchased"; } }, From c365696447966caba0477705be520aea664d8813 Mon Sep 17 00:00:00 2001 From: danielyxie Date: Fri, 15 Jun 2018 00:58:35 -0500 Subject: [PATCH 08/15] Reverse const change in Script RAM parser. Built documentation --- dist/engine.bundle.js | 2 +- doc/build/doctrees/environment.pickle | Bin 1611933 -> 1590081 bytes doc/build/doctrees/netscriptfunctions.doctree | Bin 231623 -> 233299 bytes .../html/_sources/netscriptfunctions.rst.txt | 2 +- doc/build/html/netscriptfunctions.html | 2 +- doc/build/html/searchindex.js | 2 +- src/Script.js | 2 +- 7 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dist/engine.bundle.js b/dist/engine.bundle.js index 26c56de54..92fbdba76 100644 --- a/dist/engine.bundle.js +++ b/dist/engine.bundle.js @@ -25322,7 +25322,7 @@ function parseOnlyRamCalculate(server, code, workerScript) { const unresolvedRefs = Object.keys(dependencyMap).filter(s => s.startsWith(initialModule)); const resolvedRefs = new Set(); while (unresolvedRefs.length > 0) { - let ref = unresolvedRefs.shift(); + const ref = unresolvedRefs.shift(); resolvedRefs.add(ref); if (ref.endsWith(".*")) { diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle index 6f8d77a5d515bc2281360dcab952cf192f4ffd53..2d44f7226df91494eb4100214304b4dc8c6dc402 100644 GIT binary patch literal 1590081 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 z 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