People keep telling me to get rid of BJs. Now I thought I'd do something about it, but I'm not quite sure how. My first guess was to look up the Bj in JassCraft and see what it says, so this is what I get: JASS: //GetLastCreatedLightningBJ = function GetLastCreatedLightningBJ takes nothing returns lightning return bj_lastCreatedLightning endfunction So I thought I'd just put that function above my actions, and change the function name. JASS: //Like so: function LastEffect takes nothing returns lightning return bj_lastCreatedLightning endfunction //and then call for set LightningEffect = LastEffect() Now I get confused. The 'LastEffect' function contains a new bj? (return bj_lastCreatedLightning), what good does that do? I figured I might as well search for that too and found: JASS: lightning bj_lastCreatedLightning = null ..hmm. What the heck is this? What do I do about it? Do I keep 'bj_lastCreatedLightning' in my 'LastEffect' function, or do I replace it with something else? Am I doing this all wrong? On top of it, almost every other BJ I can find develops the same way, and ends up confusing me. -As if conditions and loops weren't enough for me to handle..