Skip to content
Snippets Groups Projects
Commit 6b884736 authored by lowercasedonkey's avatar lowercasedonkey
Browse files

start corpo

parent 77bbdab4
No related branches found
No related tags found
1 merge request!8236Corp econ (ready)
:: Corporation Developments [nobr]
/*Main Corporation Pass*/
<<if App.Corporate.cash < 0>>
<<set App.Corporate.cash = Math.trunc(App.Corporate.cash * 1.02)>> /*2% weekly interest rate on negative cash*/
<</if>>
<h1>Corporation Management</h1>
<h2>Operational Results</h2>
/*Divisions doing their thing*/
<<set _weekLedger = App.Corporate.endWeek()>>
<<for _d range _weekLedger.divisionLedgers>>
<<set _div = _d.division>>
/* Reporting on number of slaves being processed or completed processing */
<br><<= _div.name>>: The division <<= _div.message_endWeek_Slaves(_d) >>
<<if _d.market.originalBuy != null>>
<br>
<<if _d.market.buy == 0>>
It couldn't purchase <<= numberWithPlural(_d.market.originalBuy, "slave") >> to replenish its stock from the market because it couldn't afford to purchase price.
<<else>>
It needed to replenish its slave stock of <<= numberWithPlural(_d.market.originalBuy, "slave")>>, but couldn't afford to buy all of them. It bought <<= numberWithPlural(_d.market.buy, _div.nounSlaveFromMarket)>> for <<= cashFormatColor(_d.market.finalPurchase, true) >>.
<</if>>
<<elseif _d.market.buy > 0>>
<br>It replenished its slave stock and bought <<= numberWithPlural(_d.market.buy, _div.nounSlaveFromMarket) >> from the market for <<= cashFormatColor(_d.market.finalPurchase, true) >>.
<</if>>
<<if _d.transfer.total > 0>>
<<for _nextDivLedger range _d.transfer.divisions>>
<<set _nextDiv = _nextDivLedger.division>>
<<set _slavesToNext = _nextDivLedger.fill>>
It moved <<= numberWithPlural(_slavesToNext, "slave")>> to the <<= _nextDiv.name>> Division.
<</for>>
<</if>>
<<if _div.toMarket>>
<<if _div.heldSlaves == 0>>
<<if _d.market.sell > 0>>
It immediately sold <<= numberWithPlural(_d.market.sell, _div.nounFinishedSlave) >> to the market and made <<= cashFormatColor(_d.market.finalSale)>>.
<</if>>
<<else>>
It holds @@.green;<<= numberWithPlural(_div.heldSlaves, _div.nounFinishedSlave)>>@@ at the end of the
<<if _d.market.sell > 0>>
week, but it ran out of storage space and had to sell @@.red;<<= numberWithPlural(_d.market.sell, "slave")>>@@ and made <<= cashFormatColor(_d.market.finalSale)>>.
<<else>>
week.
<</if>>
<</if>>
<</if>>
<<if _d.revenue.value > 0>>
It earned <<= cashFormatColor(_d.revenue.value)>> in revenue.
<</if>>
<</for>>
/*Aggregate Corporation Results*/
<<includeDOM App.Corporate.writeLedger(App.Corporate.ledger.current, $week)>>
/*Division Expansion Tokens*/
<<if _weekLedger.canExpandNow>>
<div class="majorText">Your corporation is ready to start an additional division!</div>
<</if>>
/*Specializations tokens*/
<<if _weekLedger.canSpecializeNow>>
<div class="majorText">Your corporation is ready to specialize its slaves further!</div>
<</if>>
/*Calculating cash set aside for dividend*/
<h2>Dividend</h2>
<div>
<<if App.Corporate.dividendRatio > 0>>
The corporation is currently reserving <<= Math.floor(App.Corporate.dividendRatio * 100)>>% of its profit to be paid out as dividends.
<<else>>
The corporation is currently not reserving a portion of its profit to be paid out as dividends.
<</if>>
<<if App.Corporate.payoutCash>>
It is putting aside unused cash reserves to be paid out as dividends.
<</if>>
</div>
<div>
<<if App.Corporate.dividend > 0>>
<<if _weekLedger.hasDividend>>
It reserved <<print cashFormatColor(_weekLedger.dividend)>> this week.
<</if>>
A total of <<print cashFormatColor(App.Corporate.dividend)>> has been put aside for its shareholders.
<</if>>
</div>
<<if _weekLedger.hasPayout>>
<div>This week the dividends were paid out, you received <<print cashFormatColor(_weekLedger.payout)>>.</div>
<</if>>
/*Bankrupted the Corporation*/
<<if App.Corporate.value < 0>>
<<run App.Corporation.Dissolve()>>
<br>@@.red;Your corporation went bankrupt.@@
<</if>>
/*This needs to be at the very end of the financials*/
<<run App.Corporate.ledger.swap()>>
App.EndWeek.corporationDevelopments = function() {
const el = document.createElement("p");
let r = [];
/* Main Corporation Pass*/
if (App.Corporate.cash < 0) {
App.Corporate.cash = Math.trunc(App.Corporate.cash * 1.02); /* 2% weekly interest rate on negative cash*/
}
App.UI.DOM.appendNewElement("h1", el, "Corporation Management");
App.UI.DOM.appendNewElement("h2", el, "Operational Results");
/* Divisions doing their thing*/
const _weekLedger = App.Corporate.endWeek();
for (const _d in _weekLedger.divisionLedgers) {
const _div = _d.division;
const r = [];
/* Reporting on number of slaves being processed or completed processing */
r.push(`${_div.name}: The division ${_div.message_endWeek_Slaves(_d)}`);
if (_d.market.originalBuy !== null) {
if (_d.market.buy === 0) {
r.push(App.UI.DOM.makeElement("div", `It couldn't purchase ${numberWithPlural(_d.market.originalBuy, "slave")} to replenish its stock from the market because it couldn't afford to purchase price.`));
} else {
r.push(App.UI.DOM.makeElement("div", `It needed to replenish its slave stock of ${numberWithPlural(_d.market.originalBuy, "slave")}, but couldn't afford to buy all of them. It bought ${numberWithPlural(_d.market.buy, _div.nounSlaveFromMarket)} for ${cashFormatColor(_d.market.finalPurchase, true)}.`));
}
} else if (_d.market.buy > 0) {
r.push(App.UI.DOM.makeElement("div", `It replenished its slave stock and bought ${numberWithPlural(_d.market.buy, _div.nounSlaveFromMarket)} from the market for ${cashFormatColor(_d.market.finalPurchase, true)}.`));
}
if (_d.transfer.total > 0) {
for (const _nextDivLedger of _d.transfer.divisions) {
const _nextDiv = _nextDivLedger.division;
const _slavesToNext = _nextDivLedger.fill;
r.push(`It moved ${numberWithPlural(_slavesToNext, "slave")} to the ${_nextDiv.name} Division.`);
}
}
if (_div.toMarket) {
if (_div.heldSlaves === 0) {
if (_d.market.sell > 0) {
r.push(`It immediately sold ${numberWithPlural(_d.market.sell, _div.nounFinishedSlave)} to the market and made ${cashFormatColor(_d.market.finalSale)}.`);
}
} else {
r.push(`It holds <span class="green">${numberWithPlural(_div.heldSlaves, _div.nounFinishedSlave)}</span> at the end of the`);
if (_d.market.sell > 0) {
r.push(`week, but it ran out of storage space and had to sell <span class="red">${numberWithPlural(_d.market.sell, "slave")}</span> and made ${cashFormatColor(_d.market.finalSale)}.`);
} else {
r.push(`week.`);
}
}
}
if (_d.revenue.value > 0) {
r.push(`It earned ${cashFormatColor(_d.revenue.value)} in revenue.`);
}
App.Events.addNode(el, r, "div");
}
App.Events.addNode(el, r);
/* Aggregate Corporation Results*/
el.append(App.Corporate.writeLedger(App.Corporate.ledger.current, V.week));
/* Division Expansion Tokens*/
if (_weekLedger.canExpandNow) {
App.UI.DOM.appendNewElement("div", el, "Your corporation is ready to start an additional division!", "majorText");
}
/* Specializations tokens*/
if (_weekLedger.canSpecializeNow) {
App.UI.DOM.appendNewElement("div", el, "Your corporation is ready to specialize its slaves further!", "majorText");
}
/* Calculating cash set aside for dividend*/
App.UI.DOM.appendNewElement("h2", el, "Dividend");
r = [];
if (App.Corporate.dividendRatio > 0) {
r.push(`The corporation is currently reserving ${Math.floor(App.Corporate.dividendRatio * 100)}% of its profit to be paid out as dividends.`);
} else {
r.push(`The corporation is currently not reserving a portion of its profit to be paid out as dividends.`);
}
if (App.Corporate.payoutCash) {
r.push(`It is putting aside unused cash reserves to be paid out as dividends.`);
}
App.Events.addNode(el, r, "div");
if (App.Corporate.dividend > 0) {
r = [];
if (_weekLedger.hasDividend) {
r.push(`It reserved ${cashFormatColor(_weekLedger.dividend)} this week.`);
}
r.push(`A total of ${cashFormatColor(App.Corporate.dividend)} has been put aside for its shareholders.`);
App.Events.addNode(el, r, "div");
}
if (_weekLedger.hasPayout) {
App.UI.DOM.appendNewElement("div", el, `This week the dividends were paid out, you received ${cashFormatColor(_weekLedger.payout)}.`);
}
/* Bankrupted the Corporation*/
if (App.Corporate.value < 0) {
App.Corporation.Dissolve();
App.UI.DOM.appendNewElement("div", el, "Your corporation went bankrupt.", "red");
}
/* This needs to be at the very end of the financials*/
App.Corporate.ledger.swap();
};
......@@ -27,8 +27,7 @@
<</if>>
<<if $corp.Incorporated == 1>>
<br><br>
<<include "Corporation Developments">>
<<includeDOM App.EndWeek.corporationDevelopments()>>
<</if>>
<<if $secExpEnabled > 0>>
......@@ -89,7 +88,7 @@
<<if $corp.Incorporated == 1>>
<div id="Corporation" class="tab-content">
<div class="content">
<<include "Corporation Developments">>
<<includeDOM App.EndWeek.corporationDevelopments()>>
</div>
</div>
<</if>>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment