tdauth / wowr

Warcraft III: Reforged funmap World of Warcraft Reforged.
https://wowreforged.org
8 stars 0 forks source link

Add initial custom resources system and custom resources #2103

Closed tdauth closed 1 week ago

tdauth commented 1 year ago

The resources should be listed in the player info. There should be a custom GUI to show resources with optional sell buttons. Add a quest log entry about resources describing it and with all chat commands.

WoW has currencies: https://wowpedia.fandom.com/wiki/Currency

Standard Resources

Support the standard resources gold, lumber and food by hooking the natives and updating it on certain events:

Standard Resources

Resource Properties

Player Properties

Chat commands

-resources X where X is the player. -give X Y -sell X Y Sells the resource for gold. -buy X Y Buys the resource for gold. -saveres X Saves all resources into a savecode. -loadres X Loads all resources from a savecode. -resgui/resguion X Shows the resources of player X in the multiboard. -resguioff Hides the resources for the typing player and shows the stats.

Harvest System

Possible Resources

Buildings

Conversion from Items into Resources

Items could be converted into resources:

Inspiration

https://wowpedia.fandom.com/wiki/Mining https://wowpedia.fandom.com/wiki/Prospecting https://mightandmagic.fandom.com/wiki/Resource https://liquipedia.net/starcraft2/Resources

Custom Systems

Worker Types

Hunting

tdauth commented 1 year ago

Add Resources page to website:

<!-- Resources generated with chat command "-website". -->
<tr id="Oil">
<td>
<img src="ReplaceableTextures\\CommandButtons\\BTNOilStation.blp" width="64" height="64"
title="Oil"
alt="ReplaceableTextures\\CommandButtons\\BTNOilStation.blp"
/></a>
</a>
</td>
<td>
Oil
</td>
<td>
2.0
</td>
<td>
Oil can be gathered from Oil Fields on land or water.
It is burned as fuel for mechanical vehicles.
</td>
</tr>
<tr id="Copper">
<td>
<img src="ReplaceableTextures\\CommandButtons\\BTNCopperCoins.blp" width="64" height="64"
title="Copper"
alt="ReplaceableTextures\\CommandButtons\\BTNCopperCoins.blp"
/></a>
</a>
</td>
<td>
Copper
</td>
<td>
0.25
</td>
<td>
Copper is the cheapest currency of Azeroth.
</td>
</tr>
<!-- Resources generated with chat command "-website". -->
tdauth commented 1 year ago

Add Water Mine buildings which can be discovered and harvested by boats.

tdauth commented 1 year ago

Create a minimizable resources UI which will be over the multiboard and show ALL resources with tooltips if I have time for it.

tdauth commented 1 year ago

Experiment with a cost API:

library ResourcesCosts

function SetObjectTypeCost takes integer objectTypeId, Resource r, integer amount returns nothing
function GetObjectTypeCost takes integer objectTypeId, Resource r returns integer

function SetObjectTypeRepairCost takes integer objectTypeId, Resource r, integer amount returns nothing
function GetObjectTypeRepairCost takes integer objectTypeId, Resource r returns integer

endlibrary

Should work for training and buying units and items and for repairing, constructing, upgrade buildings.

tdauth commented 1 year ago

Split Food into Meat and Grain/Corn to avoid confusion with Warcraft.

tdauth commented 1 year ago

Update resources on the website.

tdauth commented 1 year ago

Make sure that autosaving also saves the researches savecode.

tdauth commented 1 year ago

Maybe let Random Mines drop a Tiny Mine item on land so they won't block anything.

tdauth commented 1 week ago

Everything has been added. Open new issues for specific stuff.