loan_util¶
Source: base/tealdef/game_mechanics/finance/loan_util.d.tl
Notes
Creation and payment calculation of loans.
LoanUtil¶
record global base/tealdef/game_mechanics/finance/loan_util.d.tl:3
global record LoanUtil
Notes
Creation and payment calculation of loans.
Fields
| Name | Type | Description |
|---|---|---|
maximalObtainableLoans |
integer |
Maximum number of loans at the same time (4). |
Functions
createSmallLoan() : Loan base/tealdef/game_mechanics/finance/loan_util.d.tl:6
Notes
Creates a random small offer. The amount range scales with the game year (1900 to 2020).
Returns Loan: Loan offer.
createMediumLoan() : Loan base/tealdef/game_mechanics/finance/loan_util.d.tl:7
Notes
Creates a random medium offer.
Returns Loan: Loan offer.
createLargeLoan() : Loan base/tealdef/game_mechanics/finance/loan_util.d.tl:8
Notes
Creates a random large offer.
Returns Loan: Loan offer.
createExtraLargeLoan() : Loan base/tealdef/game_mechanics/finance/loan_util.d.tl:9
Notes
Creates a random extra-large offer.
Returns Loan: Loan offer.
createAvailableLoans() : {Loan} base/tealdef/game_mechanics/finance/loan_util.d.tl:10
Notes
Creates four offers labelled Small, Medium, Large and ExtraLarge, each with random terms of any size class.
Returns {Loan}: Loan offers.
createNewObtainedLoan(Loan, integer) : Loan base/tealdef/game_mechanics/finance/loan_util.d.tl:11
Notes
Turns an offer into a taken loan.
| Parameter | Type | Description |
|---|---|---|
#1 |
Loan |
Offer to copy. |
#2 |
integer |
Loan id. |
Returns Loan: Taken loan with timesPaid = 0.
getDurationInMonths(integer) : integer base/tealdef/game_mechanics/finance/loan_util.d.tl:12
Notes
Converts a term into game months.
| Parameter | Type | Description |
|---|---|---|
#1 |
integer |
Term in ms. |
Returns integer: Number of months, rounded.
getMonthlyLoanAndInterestWithErrors(integer, integer, number) : integer, integer, integer, integer base/tealdef/game_mechanics/finance/loan_util.d.tl:13
Notes
Splits a loan into rounded monthly repayment and interest, plus the rounding remainders.
| Parameter | Type | Description |
|---|---|---|
#1 |
integer |
Amount. |
#2 |
integer |
Term in ms. |
#3 |
number |
Interest fraction. |
Returns integer, integer, integer, integer: Monthly repayment, monthly interest, repayment remainder, interest remainder.
getMonthlyPaymentRounded(integer, integer, number, integer) : integer base/tealdef/game_mechanics/finance/loan_util.d.tl:14
Notes
Returns the monthly payment (repayment plus interest) rounded to a step.
| Parameter | Type | Description |
|---|---|---|
#1 |
integer |
Amount. |
#2 |
integer |
Term in ms. |
#3 |
number |
Interest fraction. |
#4 |
integer |
Rounding step (0 returns 0). |
Returns integer: Monthly payment.
getAnnualPaymentRounded(integer, integer, number) : integer base/tealdef/game_mechanics/finance/loan_util.d.tl:15
Notes
Returns the yearly payment (repayment plus interest), counting at least one year.
| Parameter | Type | Description |
|---|---|---|
#1 |
integer |
Amount. |
#2 |
integer |
Term in ms. |
#3 |
number |
Interest fraction. |
Returns integer: Yearly payment.
getPaymentRoundedPerMinute(integer, integer, number) : integer base/tealdef/game_mechanics/finance/loan_util.d.tl:16
Notes
Returns the payment per minute of game time.
| Parameter | Type | Description |
|---|---|---|
#1 |
integer |
Amount. |
#2 |
integer |
Term in ms. |
#3 |
number |
Interest fraction. |
Returns integer: Payment per minute.
getPaymentLeftoverRounded(integer, integer, number, integer, integer) : integer base/tealdef/game_mechanics/finance/loan_util.d.tl:17
Notes
Returns the amount still to repay (without interest) rounded to a step.
| Parameter | Type | Description |
|---|---|---|
#1 |
integer |
Amount. |
#2 |
integer |
Term in ms. |
#3 |
number |
Interest fraction. |
#4 |
integer |
Monthly payments made. |
#5 |
integer |
Rounding step (0 returns 0). |
Returns integer: Remaining amount.
getFullLoanAndInterestPayBack(Loan) : integer, integer base/tealdef/game_mechanics/finance/loan_util.d.tl:18
Notes
Returns what an early full repayment costs.
| Parameter | Type | Description |
|---|---|---|
#1 |
Loan |
Taken loan. |
Returns integer, integer: Remaining repayment and remaining interest.
isEqual({Loan}, {Loan}) : boolean base/tealdef/game_mechanics/finance/loan_util.d.tl:19
Notes
Compares two loan lists field by field.
| Parameter | Type | Description |
|---|---|---|
#1 |
{Loan} |
First list. |
#2 |
{Loan} |
Second list. |
Returns boolean: true if equal.
makeLoan(integer, integer) : JournalEntry base/tealdef/game_mechanics/finance/loan_util.d.tl:20
Notes
Builds a journal entry of type LOAN.
| Parameter | Type | Description |
|---|---|---|
#1 |
integer |
Amount. |
#2 |
integer |
Time. |
Returns JournalEntry: Journal entry.
makeInterest(integer, integer) : JournalEntry base/tealdef/game_mechanics/finance/loan_util.d.tl:21
Notes
Builds a journal entry of type INTEREST.
| Parameter | Type | Description |
|---|---|---|
#1 |
integer |
Amount. |
#2 |
integer |
Time. |
Returns JournalEntry: Journal entry.