tukkek / javelin

Party-based roguelike (open-source strategy-RPG game).
https://javelinrl.wordpress.com/
64 stars 7 forks source link

Productive district #52

Open tukkek opened 7 years ago

tukkek commented 7 years ago

capitol: 15 labor, allows you to pay to complete a labor. The exchange rate is 1 labor = treasure(level)/level, where level is the city size

tukkek commented 7 years ago

bank (industrious): allows players to store money, on which interest is taken and store items for later use

tukkek commented 7 years ago

It's not clear how to to synchronize them with the district though. turn() isn't the most efficient way to loop through a district, but may be the best option. It would also require keeping a HashSet of all buildings to avoid repetition, but this can be transient (a simple cache lost at restart). Then maybe once a week (1/7 chance) to rescan all non-cached building - or force it and clear cache when the building itself is upgraded.

Both can probably share the same code, with one overriding the other and changing #providebonus(). It's also necessary to recalculate all monster CRs after the upgrade (also probably cloning the source just to be safe).

They'd cost 5 labor with +5 labor and +1 minimum town rank per upgrade step. +1 damage is probably lower than +1 AC, so make sure to bump it accordingly.

An icon of a anvil should suffice, maybe with a imposed armor or weapon. Should be easy enough to pick from the item library.

tukkek commented 7 years ago

Auction House: buy / sell items depending on Diplomacy - unlike the criminal Slums where it's a fixed rate. Also, the auction house is always open with an offer and willing to buy, while Slums are either only willing to buy or sell and only generate items periodically.

tukkek commented 7 years ago

Marketplace (industrious, 10, singleton, requires town): increases labor production by 10%. Bazaar (upgrade, 10, requires city): also serves as a shop with a 1d4+1 random Artifacts each week.

Farm (industrious, 5 labor), decreases growth cost by 10%, 1 per city rank

tukkek commented 7 years ago

Fishery

tukkek commented 6 years ago

Workshop (5/10/15/20, requires hamlet/village/town/city): autonomously adds labor to any Construction Site in the district. May be built multiple times. Could be flavored as "tool shed / workshop / masons guild / architects guild".

tukkek commented 6 years ago

Logistics office (20 labor, requires City): adds +1 to city size, removes it if Location is destroyed.

tukkek commented 6 years ago

Vault (town, 15 labor): generates a small amount of daily work on its own - 1% town size?

tukkek commented 6 years ago

Junkyard (10, requires village): has a daily percentage chance of adding 1 junk token equal to the number of locations in the town. Once it reaches 100 tokens, it can be visited by any unit with the crafting skill #197 to receive an amount of components equal to RewardCalculator#getgold(unit#cr).

tukkek commented 6 years ago

Focus (0, human only): select a project to receive more labor than the others. This will become a new project ("Focus: [project name"), which will repass all incoming labor to it and invalidate itself once the other work is completed. Is only valid if the city is working on multiple projects to begin with.

tukkek commented 5 years ago

Rename to mercantile.