System Lightning

Frozenhelfir

set Gwypaas = Guhveepaws
Reaction score
56
A feature request: If the hits enemies boolean is false on the Ex version, have it bounce to units that are missing health rather than ones at full health, or have a boolean for that :eek:.
 

Frozenhelfir

set Gwypaas = Guhveepaws
Reaction score
56
I don't understand. The attachment had nothing to do with that. I used it to learn how to use the system. It is too complicated for me to understand. Same with nesths stuff, and there don't seem to be any tutorials that cover the ground from beginning level to your level :|
 

Jesus4Lyf

Good Idea™
Reaction score
397
>If the hits enemies boolean is false on the Ex version, have it bounce to units that are missing health rather than ones at full health, or have a boolean for that

I assume that is because you wanted to use both ChainLightning and ChainLightningEx at the same time? You could deal the damage through ChainLightningEx instead... ;)
 

Frozenhelfir

set Gwypaas = Guhveepaws
Reaction score
56
No, when you set the boolean to hit allies, it will go for the closest ally, instead of going for ones that are missing hitpoints. This is my request, to make a boolean so that it bounces towards the closest unit missing hp (boolean toggled)
 

Frozenhelfir

set Gwypaas = Guhveepaws
Reaction score
56
It is too complicated for me to understand. Same with nesths stuff, and there don't seem to be any tutorials that cover the ground from beginning level to your level :|

I already said I don't understand it >_<
 

Jesus4Lyf

Good Idea™
Reaction score
397
This code is great for editing...
JASS:
    //===========================================================
    // Callback Snippets
    // 
    
    //! textmacro CL__OnAoE takes DIPLOMACY, DIPLOMACY_CAPS
        private static method onAoE$DIPLOMACY$ takes nothing returns boolean
            set Unit=GetFilterUnit()
            if IsUnit$DIPLOMACY$(Unit,Owner) and IsUnitAlive(Unit) then
                if not (IsUnitInGroup(Unit,Hit) or IsUnitType(Unit,UNIT_TYPE_MAGIC_IMMUNE)) then
                    set X2=GetUnitX(Unit)-X
                    set Y2=GetUnitY(Unit)-Y
                    set ThisRange=X2*X2+Y2*Y2
                    if ThisRange&lt;Range then
                        set Range=ThisRange
                        set Target=Unit
                    endif
                endif
            endif
            return false
        endmethod
        static boolexpr FILTER_ON_AOE_$DIPLOMACY_CAPS$
    //! endtextmacro

Change
JASS:
                    set X2=GetUnitX(Unit)-X
                    set Y2=GetUnitY(Unit)-Y
                    set ThisRange=X2*X2+Y2*Y2

to
JASS:
                    set ThisRange=GetWidgetLife(Unit)

Should do it.
Edit: Oh, should also change:
JASS:
set Range=this.maxHopDistance*this.maxHopDistance

to
JASS:
set Range=&#039;HUGE&#039;

or something. ;)
 

Lmfaocj

Active Member
Reaction score
1
Sorry for being noob but anyone know why I keep crashing I think i did it right

JASS:
function Trig_MoonKey_Effect_Conditions takes nothing returns boolean
    if ( not ( UnitHasItemOfTypeBJ(GetEventDamageSource(), &#039;kymn&#039;) == true ) ) then
        return false
    endif
    if ( not ( GetRandomInt(1, 100) &lt;= 50 ) ) then
        return false
    endif
    return true
endfunction

function Trig_MoonKey_Effect_Actions takes nothing returns nothing
    call ChainLightning(GetEventDamageSource(),GetEventDamageSource(),GetTriggerUnit(), &quot;FORK&quot;,120.00,3)
    call ChainLightning_ColorLast(1,0,1)
endfunction

//===========================================================================
function InitTrig_MoonKey_Effect takes nothing returns nothing
    local trigger t= CreateTrigger()
    call TriggerAddCondition( t, Condition( function Trig_MoonKey_Effect_Conditions ) )
    call TriggerAddAction( t, function Trig_MoonKey_Effect_Actions )
    call Damage_RegisterEvent(t)
endfunction


Edit: lol, Copy and Paste FTW

JASS:
//
//      What is this?
//     ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
//          Implementing this allows the TESH syntax highlighter in Jass NewGen
//          to highlight the syntax for this system (and autocomplete the functions).
//          
//      How to import?
//     ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
//          Copy this into a blank text file, and save it at:
//          &lt;Your Jass NewGen folder&gt;\tesh\includes\name.j
function ChainLightning takes unit caster, unit source, unit target, string whichCode, real damage, integer hops returns nothing
    //              - Casts a simple damage chain lightning, dealing less damage each
    //                bounce.
    //              - The caster is the damage source (the unit dealing the damage).
    //              - The source is where the first hop comes from (usually the caster).
    //              - The target is where the first hop will land.
    //              - The damage is the damage on the first hop. After that, it will
    //                reduce by the hop damage factor on each hop - either the default
    //                or that explicitly set by using the SetLast function.
endfunction
function ChainLightning_SetLastHopDamageFactor takes real factor returns nothing
    //              - Use this to set the damage factor for the ChainLightning instance
    //                last created. Does not work with ChainLightningEx.
    //              - This must only be called immediately after calling ChainLightning..
endfunction
function ChainLightningEx takes unit caster, unit source, string whichCode, ChainLightning_Callback onHop, boolean hitsEnemies, integer hops returns integer
    //              - Similar to above, but takes a ChainLightning_Callback which
    //                will be called on each hop, passing in the target.
    //              - &quot;boolean hitsEnemies&quot; is true for hitting enemies, and false for
    //                hitting allies (healing wave, etc).
    //              - The integer returned is an index for attaching data to. It will
    //                be between 1 and 8191, and will be passed into the onHop callback
    //                when it is called.
endfunction
function interface ChainLightning_Callback takes integer id, unit target returns nothing
    //              - This is for passing a callback into ChainLightningEx. The callback
    //                passed in will be called every hop.
    //              - &quot;integer id&quot; is the integer returned from the ChainLightningEx
    //                call.
    //              - &quot;unit target&quot; is the unit being hopped to.
endfunction
function ChainLightning_StartLastEx takes unit target returns nothing
    //              - To be called after ChainLightningEx, and after all data has been
    //                attached to be used in the callback.
    //              - Only call this once for each ChainLightningEx.
    //              - This is necessary for the first hop (which occurs immediately).
    //                Otherwise, it would not be possible to pass the data to the onHop
    //                callback.
endfunction
function ChainLightning_Sound takes unit target returns nothing
    //              - For use in your callback, if you wish to have the lightning sound.
endfunction
function ChainLightning_ColorLast takes real r, real g, real b returns nothing
    //              - Sets the colour of the last created chain lightning to the red,
    //                greed and blue values passed into the function (r, g, b).
    //              - The values are real numbers ranging from 0 to 1.
    //              - This must only be called immediately after calling ChainLightning
    //                or ChainLightning_StartLastEx.
    //          
endfunction
function ChainLightning_SetLastTimeBetweenHops takes real time returns nothing
    //              - This sets the time between hops.
    //              - This must only be called immediately after calling ChainLightning
    //                or ChainLightning_StartLastEx.
endfunction
function ChainLightning_SetlastMaxHopDistance takes real distance returns nothing
    //              - Sets the maximum distance a chain lightning instance will bounce
    //                to get a new target.
    //              - This must only be called immediately after calling ChainLightning
    //                or ChainLightning_StartLastEx.
endfunction
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top