Snippet Weather Type

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
I was bored of keep finding the weathers' rawcode in GUI interface, so I made this for easy finding their' rawcode.

JASS:
library WeatherType

    globals
        constant integer WEATHER_ASHENVALE_HEAVY_RAIN = 'RAhr'
        constant integer WEATHER_ASHENVALE_LIGHT_RAIN = 'RAlr'
        constant integer WEATHER_DALARAN_SHIELD = 'MEds'
        constant integer WEATHER_DUNGEON_HEAVY_BLUE_FOG = 'FDbh'
        constant integer WEATHER_DUNGEON_LIGHT_BLUE_FOG = 'FDbl'
        constant integer WEATHER_DUNGEON_HEAVY_GREEN_FOG = 'FDgh'
        constant integer WEATHER_DUNGEON_LIGHT_GREEN_FOG = 'FDgl'
        constant integer WEATHER_DUNGEON_HEAVY_RED_FOG = 'FDrh'
        constant integer WEATHER_DUNGEON_LIGHT_RED_FOG = 'FDrl'
        constant integer WEATHER_DUNGEON_HEAVY_WHITE_FOG = 'FDwh'
        constant integer WEATHER_DUNGEON_LIGHT_WHITE_FOG = 'FDwl'
        constant integer WEATHER_LORDAERON_HEAVY_RAIN = 'RLhr'
        constant integer WEATHER_LORDARON_LIGHT_RAIN = 'RLlr'
        constant integer WEATHER_NORTHREND_BLIZZARD = 'SNbs'
        constant integer WEATHER_NORTHREND_HEAVY_SNOW = 'SNhs'
        constant integer WEATHER_NORTHREND_LIGHT_SNOW = 'SNls'
        constant integer WEATHER_OUTLAND_HEAVY_WIND = 'WOcw'
        constant integer WEATHER_OUTLAND_LIGHT_WIND = 'WOlw'
        constant integer WEATHER_RAY_OF_LIGHT = 'LRaa'
        constant integer WEATHER_RAY_OF_MOONLIGHT = 'LRma'
        constant integer WEATHER_HEAVY_WIND = 'WNcw'
    endglobals
    
endlibrary
 

Azlier

Old World Ghost
Reaction score
461
I wish that every global was prefixed with WEATHER_TYPE_, despite how annoying it might get using them.

Just like LightningTypes, aye?
 
Reaction score
456
I think these things are useless. I am ABSOLUTELY sure no one comes here searching for a library with list of weather type constants.
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
>For lightning types, I've pinched that list before. But I've never even had to use weather types in JASS...
When doing map, I had a hard time to find it out. ><
(-weather command)
 

quraji

zap
Reaction score
144
Obviously not everyone will make use of this (or the other "Type" libraries), but there's no reason not to have em around in case you do..
 

Romek

Super Moderator
Reaction score
963
> I'm pretty sure someone wrote these out already... And it was Graveyarded....
It'd be interesting to find out why those were graveyarded; though the names don't follow current naming conventions.

> I wish that every global was prefixed with WEATHER_TYPE_, despite how annoying it might get using them.
This.
Though perhaps WEATHER_ instead?
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
I am thinking, is it good to add some functions like, onChangeWeather, ChangeWeatherForPlayer.....?
 

Nestharus

o-o
Reaction score
84
I am thinking, is it good to add some functions like, onChangeWeather, ChangeWeatherForPlayer.....?

Don't think you should : ). Release that as a separate resource ;o.

Anywho... this is a list of weather types regardless of how often it's used. Wc3 doesn't have a list like this, so I think it should be approved ; ). It's useful if you're dealing with weather, it's that simple.
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
JASS:
library Testy initializer Init requires Event
    
    globals
        private weathereffect MapWeather = null
        private integer array WeatherIdStack
        private integer StackLevel = 0
        private Event onWeatherChange
    endglobals
    
    function GetTriggerWeatherId takes nothing returns integer
        return WeatherIdStack[StackLevel]
    endfunction

    function TriggerRegisterMapWeatherChange takes trigger trig returns EventReg
        return onWeatherChange.register(trig)
    endfunction
    
    function CreateWeatherForPlayer takes player whichPlayer, integer whichWeather returns weathereffect
        set bj_lastCreatedWeatherEffect = AddWeatherEffect(bj_mapInitialPlayableArea,whichWeather)
        call EnableWeatherEffect(bj_lastCreatedWeatherEffect,GetLocalPlayer() == whichPlayer)
        return bj_lastCreatedWeatherEffect
    endfunction
    
    function SetWeatherVisibleForPlayer takes weathereffect whichWeather, player whichPlayer returns nothing
        call EnableWeatherEffect(whichWeather,GetLocalPlayer() == whichPlayer)
    endfunction
    
    function RemoveMapWeather takes nothing returns nothing
        if MapWeather != null then
            call RemoveWeatherEffect(MapWeather)
        endif
        set MapWeather = null
    endfunction
    
    function SetMapWeather takes integer whichWeather returns nothing //bj?
        if MapWeather != null then
            call RemoveWeatherEffect(MapWeather)
        endif
        set MapWeather = AddWeatherEffect(bj_mapInitialPlayableArea,whichWeather)
        set StackLevel = StackLevel + 1
        set WeatherIdStack[StackLevel] = whichWeather
        call onWeatherChange.fire()
        set StackLevel = StackLevel - 1
    endfunction
    
    private function Init takes nothing returns nothing
        set onWeatherChange = Event.create()
    endfunction
endlibrary


=O
 

Azlier

Old World Ghost
Reaction score
461
JASS:
function SetWeatherVisibleForPlayer takes weathereffect whichWeather, player whichPlayer returns nothing
    call EnableWeatherEffect(whichWeather,GetLocalPlayer() == whichPlayer)
endfunction

This function is broken and does not work like the function name sounds like it should. The function name should be SetWeatherVisibleOnlyForPlayer.
 

Romek

Super Moderator
Reaction score
963
Approved, lists like this are useful.

Put that crap in post #14 into the resource, and I'll graveyard this instantly.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top