1
0
forked from 0ad/0ad

Display gather rates per subtype

Currently gather rates per subtype of resource are averaged , which
hides important information for players. Therefore they do not realise
some units may be better collecting grain or fruit.

Also removing todo from the code.

Thank @Stan for fruit and grain icons without cursor and new fish.

Differential revision: D3310
Accepted by: wraitii
Comments by: Freagarach, Nescio
Ref: #4077

This was SVN commit r24549.
This commit is contained in:
Angen 2021-01-11 16:03:16 +00:00
parent 1b2ef6988a
commit 7148aa5554
12 changed files with 76 additions and 11 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<setup>
<icon name="icon_food_fish"
sprite="stretched:session/icons/resources/fish_small.png"
size="16 16"
/>
</setup>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<setup>
<icon name="icon_food_fruit"
sprite="stretched:session/icons/resources/fruit_small.png"
size="16 16"
/>
</setup>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<setup>
<icon name="icon_food_grain"
sprite="stretched:session/icons/resources/grain_small.png"
size="16 16"
/>
</setup>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<setup>
<icon name="icon_food_meat"
sprite="stretched:session/icons/resources/meat_small.png"
size="16 16"
/>
</setup>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<setup>
<icon name="icon_metal_ore"
sprite="stretched:session/icons/resources/metal_small.png"
size="16 16"
/>
</setup>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<setup>
<icon name="icon_stone_rock"
sprite="stretched:session/icons/resources/stone_small.png"
size="16 16"
/>
</setup>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<setup>
<icon name="icon_wood_tree"
sprite="stretched:session/icons/resources/wood_small.png"
size="16 16"
/>
</setup>

View File

@ -703,23 +703,20 @@ function getGatherTooltip(template)
if (!template.resourceGatherRates)
return "";
// Average the resource rates (TODO: distinguish between subtypes)
let rates = {};
for (let resource of g_ResourceData.GetResources())
{
let types = [resource.code];
for (let subtype in resource.subtypes)
// We ignore ruins as those are not that common and skew the results
if (subtype !== "ruins")
types.push(resource.code + "." + subtype);
{
// We ignore ruins as those are not that common
if (subtype == "ruins")
continue;
let [rate, count] = types.reduce((sum, t) => {
let r = template.resourceGatherRates[t];
return [sum[0] + (r > 0 ? r : 0), sum[1] + (r > 0 ? 1 : 0)];
}, [0, 0]);
if (rate > 0)
rates[resource.code] = +(rate / count).toFixed(2);
let rate = template.resourceGatherRates[resource.code + "." + subtype];
if (rate > 0)
rates[resource.code + "_" + subtype] = rate;
}
}
if (!Object.keys(rates).length)