Very well, math shall ensue. =w=
weather_datum const& weather_data(weather_type const type)
{
/**
* Weather types data definition.
* Name, color in UI, ranged penalty, sight penalty,
* light modifier, sound attenuation, warn player?
* Note light modifier assumes baseline of DAYLIGHT_LEVEL at 60
*/
static std::array<weather_datum, NUM_WEATHER_TYPES> const data {{
weather_datum {
“NULL Weather - BUG (weather_data.cpp:weather_data)”, c_magenta,
0, 0, 0, 0, false,
&weather_effect::none
},
weather_datum {
_(“Clear”), c_cyan, 0, 0, 0, 0, false,
&weather_effect::none
},
weather_datum {
_(“Sunny”), c_ltcyan, 0, 0, 20, 0, false,
&weather_effect::glare
},
weather_datum {
_(“Cloudy”), c_ltgray, 0, 2, -20, 0, false,
&weather_effect::none
},
weather_datum {
_(“Drizzle”), c_ltblue, 1, 3, -30, 1, true,
&weather_effect::wet
},
weather_datum {
_(“Rain”), c_blue, 3, 5, -40, 4, true,
&weather_effect::very_wet
},
weather_datum {
_(“Thunder Storm”), c_dkgray, 4, 7, -50, 8, true,
&weather_effect::thunder
},
weather_datum {
_(“Lightning Storm”), c_yellow, 4, 8, -50, 8, true,
&weather_effect::lightning
},
weather_datum {
_(“Acidic Drizzle”), c_ltgreen, 2, 3, -30, 1, true,
&weather_effect::light_acid
},
weather_datum {
_(“Acid Rain”), c_green, 4, 6, -40, 4, true,
&weather_effect::acid
},
weather_datum {
_(“Flurries”), c_white, 2, 4, -30, 2, true,
&weather_effect::flurry
},
weather_datum {
_(“Snowing”), c_white, 4, 7, -30, 4, true,
&weather_effect::snow
},
weather_datum {
_(“Snowstorm”), c_white, 6, 10, -55, 6, true,
&weather_effect::snowstorm
}
}};
Hmm, positive and negative numbers, with the worst being -55. This was what led me to realize that these are apparently not multiplied but added, in some cases. Simple math is annoyingly hard to work through when it’s presented in the medium of clusterfuck.
Alright, so for the code-challenged here, I’m assuming the end result is that the EFFECTIVE power of a normal solar panel (epower of 111) in the worst-case scenario (night, new moon, snowstorm) is either 60 or…0. Coolthulhu, would love some corrections here if I fucked the math up. =w=