From e17d6355bb83fd38b6f52e503255bb45e5489e70 Mon Sep 17 00:00:00 2001 From: Foereaper Date: Sat, 9 Aug 2014 16:42:44 +0200 Subject: [PATCH] Added Weather documentation --- WeatherMethods.h | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/WeatherMethods.h b/WeatherMethods.h index 60b3757..2a093f4 100644 --- a/WeatherMethods.h +++ b/WeatherMethods.h @@ -9,14 +9,35 @@ namespace LuaWeather { - /* GETTERS */ + /** + * Returns the Zone ID of the &Weather as an uint32. + * + * @return uint32 ZoneID + */ int GetZoneId(lua_State* L, Weather* weather) { Eluna::Push(L, weather->GetZone()); return 1; } - /* SETTERS */ + /** + * Sets the &Weather type based on &Weather type and grade supplied. + * + *
+     * enum WeatherType
+     * {
+     *     WEATHER_TYPE_FINE       = 0,
+     *     WEATHER_TYPE_RAIN       = 1,
+     *     WEATHER_TYPE_SNOW       = 2,
+     *     WEATHER_TYPE_STORM      = 3,
+     *     WEATHER_TYPE_THUNDERS   = 86,
+     *     WEATHER_TYPE_BLACKRAIN  = 90
+     * };
+     * 
+ * + * @param uint32 type : the &Weather type, see above available weather types + * @param float grade : the intensity/grade of the &Weather, ranges from 0 to 1 + */ int SetWeather(lua_State* L, Weather* weather) { uint32 weatherType = Eluna::CHECKVAL(L, 2); @@ -26,6 +47,11 @@ namespace LuaWeather return 0; } + /** + * Sends a &Weather update to the &Player supplied. + * + * @param &Player + */ int SendWeatherUpdateToPlayer(lua_State* L, Weather* weather) { Player* player = Eluna::CHECKOBJ(L, 2); @@ -34,13 +60,27 @@ namespace LuaWeather return 0; } - /* OTHER */ + /** + * Regenerates the &Weather, causing it to change based on the below statistics. + * + * 30% - No change + * 30% - &Weather gets better (if not fine) or change &Weather type + * 30% - &Weather worsens (if not fine) + * 10% - Radical change (if not fine) + * + * @return bool Changed : returns 'true' if &Weather changed + */ int Regenerate(lua_State* L, Weather* weather) { Eluna::Push(L, weather->ReGenerate()); return 1; } + /** + * Sends a &Weather update to the all &Player in the zone. + * + * @param bool : Returns 'true' if weather changed for any &Player in the zone, 'false' if no &Player is within the zone + */ int UpdateWeather(lua_State* L, Weather* weather) { Eluna::Push(L, weather->UpdateWeather());