Introduce any sort of interest and most players would pretty much have to go off the game and into Google Docs spreadsheets. Wouldn't it be awesome if the normal bank process could also keep track of outstanding loans?! Yeah!
New helpfile:
Changes to existing helpfile:help loan wrote: Syntax:
loan <borrower> <amount> [interest]
loan [guildname] <borrower> <amount> [interest]
loan adjust <borrower> <amount>
This command facilitates a single bank payment from you to a borrower, which may be either a person or a guild. Amount is in silver and interest is a percentage, compounded each OOC week (IC approximately monthly). If no interest rate is specified, it is equal to zero. This means the borrower should pay back exactly the amount borrowed. You may specify a fractional interest rate, but the number cannot be negative.
The second syntax issues a loan from your guild account, rather than your personal account. For example: loan merchants Daffyd 1000 2.5 would loan Daffyd ten gold at 2.5% from the Merchants' guild account. Not all characters have access to guild funds; see your guildleader for details.
Loan adjust adds or subtracts an amount of silver from the current value of the loan. This might be used when a third party pays back some of the loan, or if part of the loan is worked off via barter or other instrument external to the banking system. Since you can only have one outstanding loan to each particular borrower, loan adjust can also be used to add more silver to an existing loan.
Some notes about the whole thing:Addendum to help pay wrote: Syntax:
pay loan <lender> <amount> [frequency]
gpay loan <lender> <amount> [frequency]
The pay command can also be used to repay a loan from a person or guild. As with other forms of the pay command, the optional frequency can be used to set up a recurring payment.
Example:
pay loan ImaLender 50 weekly
The above command would reduce your loan by 100 silver each week when bank transactions normally execute. Note that interest is compounded BEFORE payments are made.
Loan repayments cannot exceed the amount of a loan. To continue the above example, after a number of weeks if the loan value is less than 100 silver, then the remaining amount is paid and your payment is automatically canceled.
Loans should be visible in "pay list" or "gpay list" on the lender and borrower side, preferably in a separate list from normal payments (or not, I don't feel strongly about the list thing). If there could be a way to indicate how much silver remains to be paid, that would be super great.
I dunno how much of a headache autocanceling a recurring payment would be once the loan is repaid, but the important thing is that "pay loan" will never transfer MORE than the outstanding value of a loan. So if it remains in the list that's probably fine, it would just get skipped each week (because the loan amount has dropped to 0) and the borrower can just cancel it normally.
This was mentioned above in the helpfile, but interest should be calculated BEFORE payments are made each week. So if you borrow 100 at 2%, and set up a payment of 100 the very same day, there will still be 2 silver outstanding on the loan after bank transactions are processed for the week.
One question I have is what should we do about fractional silver? IRL lenders always round up to the nearest penny, so it seems reasonable to me to always round up to the nearest whole silver. But rounding up or down to the actual closest number per normal math rules is probably fine too.
Generally speaking, nothing about this loan system has any enforced repayment component. If someone is out of town or inactive for a few weeks, and the players agree to process back pay without interest, that can be handled using "loan adjust". If someone skips town or shrugs off the loan and their interest balloons the outstanding amount to 1730192 silver, so be it. The lenders and borrowers are at liberty to decide amongst themselves how to resolve these situations - the loan system is only for convenience of calculation, not to lock characters or players into any particular situation.