bool CSector::r_LoadVal( CScript &s ) { ADDTOCALLSTACK("CSector::r_LoadVal"); EXC_TRY("LoadVal"); switch ( FindTableSorted( s.GetKey(), sm_szLoadKeys, COUNTOF( sm_szLoadKeys )-1 )) { case SC_COLDCHANCE: SetWeatherChance( false, s.HasArgs() ? s.GetArgVal() : -1 ); return( true ); case SC_FLAGS: m_dwFlags = s.GetArgVal(); return true; case SC_LIGHT: if ( g_Cfg.m_bAllowLightOverride ) m_Env.m_Light = static_cast<unsigned char>(s.GetArgVal() | LIGHT_OVERRIDE); return true; case SC_RAINCHANCE: SetWeatherChance( true, s.HasArgs() ? s.GetArgVal() : -1 ); return( true ); case SC_SEASON: SetSeason(s.HasArgs() ? static_cast<SEASON_TYPE>(s.GetArgVal()) : SEASON_Summer); return (true); case SC_WEATHER: SetWeather(s.HasArgs() ? static_cast<WEATHER_TYPE>(s.GetArgVal()) : WEATHER_DRY); return( true ); } EXC_CATCH; EXC_DEBUG_START; EXC_ADD_SCRIPT; EXC_DEBUG_END; return false; }
bool CSector::r_LoadVal( CScript &s ) { ADDTOCALLSTACK("CSector::r_LoadVal"); EXC_TRY("LoadVal"); switch ( FindTableSorted( s.GetKey(), sm_szLoadKeys, CountOf( sm_szLoadKeys )-1 )) { case SC_COLDCHANCE: SetWeatherChance( false, s.HasArgs() ? s.GetArgVal() : -1 ); return true; case SC_FLAGS: m_dwFlags = s.GetArgVal(); return true; case SC_LIGHT: if ( g_Cfg.m_bAllowLightOverride ) SetLight( (s.HasArgs()) ? s.GetArgVal() : -1 ); else g_Log.EventWarn("AllowLightOverride flag is disabled in sphere.ini, so sector's LIGHT property wasn't set\n"); return true; case SC_RAINCHANCE: SetWeatherChance( true, s.HasArgs() ? s.GetArgVal() : -1 ); return true; case SC_SEASON: SetSeason(s.HasArgs() ? static_cast<SEASON_TYPE>(s.GetArgVal()) : SEASON_Summer); return (true); case SC_WEATHER: SetWeather(s.HasArgs() ? static_cast<WEATHER_TYPE>(s.GetArgVal()) : WEATHER_DRY); return true; } EXC_CATCH; EXC_DEBUG_START; EXC_ADD_SCRIPT; EXC_DEBUG_END; return false; }