Cleric NetBots Class Based Healer

Discussion in 'Macros' started by ultrax, Apr 26, 2022.

  1. ultrax

    ultrax Chetari Dominator

    Messages:
    435
    Will heal connected characters to NetBots. Can cast large heals on tanks and smaller heals on other classes.
    Adjust the (2) SpellHealLarge/Small spells as needed.
    SpellHealLarge is set for gem2
    SpellHealSmall is set for gem3
    HealAt is when character is @ 85% health as posted

    Code:
    | 2022/1/10
    | Cleric NetHealer Macro
    
    
    | Events++++++++++++++++++++++++++
    #event mydeath        "You have been slain by #*#!"
    #event zoned        "You have entered#*#"
    
    #turbo 40
    
    Sub Main
    | Declares++++++++++++++++++++++++
        /declare i                int        outer    0
        /declare j                int        outer    0
        /declare Toons            string    outer    ${NetBots.Client}
        /declare ToonName        string    outer
        /declare SpellHealLarge    string    outer    "Supernal Light"
        /declare SpellHealSmall    string    outer    "Divine Light"
        /declare HealAt            int        outer    85
    
    
    |+++++++++++++++++++++++++++++++++
    /echo Cleric NetHealer (H4) has Started
    /bct all Cleric NetHealer (H4) has Started
    
    |+++++++++++++++++++++++++++++++++
    :Main_Loop
    /delay 2
    /if (${Me.Casting.ID} || ${Me.Moving}) /goto :Main_Loop
    
    /call HealingLoop
    /doevents
    /goto :Main_Loop
    /return
    |+++++++++++++++++++++++++++++++++
    
    
    |+++++++++++++++++++++++++++++++++
    Sub HealingLoop
        /for i 0 to ${NetBots.Counts}
            /varset ToonName ${Toons.Arg[${i}, ]}
            /if (${NetBots[${ToonName}].InZone} && ${Spawn[${ToonName}].Distance3D} <= ${Spell[${SpellHealLarge}].MyRange} && ${NetBots[${ToonName}].PctHPs}<${HealAt}) {
                /target ID ${NetBots[${ToonName}].ID}
                /delay 1s ${Target.ID}==${NetBots[${ToonName}].ID}
                
                    /if (${Target.ID}==${NetBots[${ToonName}].ID} && ${NetBots[${ToonName}].Class.ShortName.Equal[WAR]} || ${NetBots[${ToonName}].Class.ShortName.Equal[PAL]} || ${NetBots[${ToonName}].Class.ShortName.Equal[SHD]}) {
                        /delay 15s ${Cast.Ready[2]}
                        /casting ${SpellHealLarge} gem2 -maxtries|5
                        /delay 5s ${Cast.Ready[2]}
                    }
                    /if (${Target.ID}==${NetBots[${ToonName}].ID} && !${NetBots[${ToonName}].Class.ShortName.Equal[WAR]} || !${NetBots[${ToonName}].Class.ShortName.Equal[PAL]} || !${NetBots[${ToonName}].Class.ShortName.Equal[SHD]}) {
                        /delay 15s ${Cast.Ready[3]}
                        /casting ${SpellHealSmall} gem3 -maxtries|5
                        /delay 5s ${Cast.Ready[3]}
                    }
            }
        /next i
        }
    /return
    
    |+++++++++++++++++++++++++++++++++
    
    
    Sub mydeath
    /echo Died. Starting Wait4Rez
    /macro wait4rez
    /delay 1s
    /endmacro
    /return
    
    Sub event_zoned
    /echo Unexpected zoning encounterd. Macro ending.
    /endmacro
    /return
    
    |+++++++++++++++++++++++++++++++++
    /endmacro
    
     
  2. Skream

    Skream Orc Legionnaire

    Messages:
    133
    You can use e3 to do this by just turning "All" healing on.
     
  3. ultrax

    ultrax Chetari Dominator

    Messages:
    435
    This isn't the E3 forum though