Need help with Jass Spell Code

Lufion

New Member
Reaction score
0
Code:
scope KatonJutsu initialitzer KatonInit
/////////////////Setup///////////////////////////////////////////
globals
private contstant integer SPELL_ID = 'ANcl'

private function Katon_DMG takes integer Katonlevel returns real
return level *50
endfunction

private function Katon_Range takes integer Katonlevel returns real
return level *150
endfunction

private function unit KatonTargets takes nothing returns boolean
return (GetWidgetLife(KatonTargets) > 0.405) and (IsUnitType(KatonTargets, UNIT_TYPE_STRUCTURE) == false) and (IsUnitType(KatonTargets, UNIT_TYPE_MAGIC_IMMUNE) == false)

/////////////////Globals///////////////////////////////////////////
globals

private group Enemies // if the spell can be used by multiple ppl/characters then I should create a global group, because the spell wouldnt have to create a new group for every Caster then which could create lag)
private boolexpr K    // "This offtipic is for group aswell" also, if CreateGroup is used in automatic functions like the inizializer, it can crash the Game sometimes unless u only set it in the initializer which only works if u created a group beforehand which we did now

/////////////////PickedUnitsInRange///////////////////////////////////////////
private function KatonPick takes nothing returns boolean

return KatonTargets(GetFilterUnit())

/////////////////Conditions///////////////////////////////////////////
private function Katon_Condition takes nothing returns nothing
return GetSpellAbilityId() == SPELL_ID  // The Same as the GUI Condition : " abillity beeing cast equal to ..." 
endfunction
/////////////////Actions///////////////////////////////////////////
private function Katon_Action takes nothing returns nothing
 local location KatonLoc = GetSpellTargetLoc()     // We need to get the Spell Target Location with these 3 Calls ( "","")
        local real KatonX = GetLocationX(KatonLoc) // "
        local real KatonY = GetLocationY(KatonLoc) // "
        local unit KatonCaster = GetTriggerUnit()  // sets the Caster of the Spell
        local integer Katonlevel = GetUnitAbilityLevel(caster, SPELL_ID) //
        local unit CurrentUnit
        
        call GroupEnumUnitsInRange (Enemies, KatonX,KatonY,Katon_Range,K)
        
        loop
        set CurrentUnit = FirstOfGroup(Enemies)
        exitwhen (CurrentUnit == null)
        call GroupRemoveUnit (Enemies, CurrentUnit)
        if IsUnitEnemy (CurrentUnit, GetOwningPlayer(KatonCaster) then
        call UnitDamageTarget(KatonCaster, CurrentUnit, Katon_DMG(Katonlevel), true, false, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_NORMAL, null
        endloop
        
        
        call RemoveLocation(spellLoc)  // This removes the Location and the one below sets the Variable to null (which prevents leak aswell)
        set KatonLoc = null           // caster and Spell Location has to be set 0 to prevent leak
        set KatonCaster = null       // "
endfunction
/////////////////Initializer///////////////////////////////////////////
private function KatonInit takes nothing returns nothing
    local trigger KatonTrigger = CreateTrigger( )
    call TriggerRegisterAnyUnitEventBJ ( KatonTrigger, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition ( KatonTrigger, Condition( function Katon_Condition ))
    call TriggerAddAction( KatonTrigger, function Katon_Action )


//setting globals
set Enemies = CreateGroup ()
set K = Condition(function KatonPick)


//preloading effects
endfunction

endscope
Soo I need help with this Spell I made in vJass. I'm a newbie so go easy on me. I've looked over it for a few times now and re-read severel tutorials, but I can't find my mistakes allthough there are probably quite a few. So I'd be really glad if someone could point out the mistakes I made here so I can improve and do it better next time. PS: Dont mind the // cuz they are meant to remind me of things I thought would be good to know. Anyway thanks in advance
 

Attachments

General chit-chat
Help Users
  • No one is chatting at the moment.
  • V-SNES V-SNES:
    Happy Sunday!
    +1
  • ToshibaNuon ToshibaNuon:
    Happy sunday!
    +2
  • The Helper The Helper:
    And its Friday!
  • The Helper The Helper:
    Happy Saturday!
    +1
  • V-SNES V-SNES:
    Happy Saturday!
  • The Helper The Helper:
    Happy Monday!
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    Happy Friday!
    +1
  • tom_mai78101 tom_mai78101:
    Starting this upcoming Thursday, I will be in Japan for 10 days.
  • tom_mai78101 tom_mai78101:
    Thursday - Friday will be my Japan arrival flight. 9 days later, on a Sunday, will be my return departure flight.
    +2
  • The Helper The Helper:
    Hope you have safe travels my friend!
    +1
  • vypur85 vypur85:
    Wow spring time in Japan is awesome. Enjoy!
  • The Helper The Helper:
    Hopefully it will be more pleasure than work
  • vypur85 vypur85:
    Recently tried out ChatGPT about WE triggering. Wow it's capable of giving a somewhat legitimate response.
  • The Helper The Helper:
    I am sure it has read all the info on the forums here
  • The Helper The Helper:
    i think triggering is just scripting and chatgpt is real good at code
  • vypur85 vypur85:
    Yeah I suppose so. It's interesting how it can explain in so much detail.
  • vypur85 vypur85:
    But yet it won't work.
  • The Helper The Helper:
    it does a bad ass job doing excel vba code it has leveled me up at my job when I deal with excel that is for sure
  • vypur85 vypur85:
    Nice! I love Excel coding as well. Has always been using Google to help me. Maybe I'll use ChatGPT next time when I need it.
  • The Helper The Helper:
    yeah whatever it puts out even if it is not perfect I can fix it and the latest version of chatgpt can create websites from pictures it will not be long until it can do that with almost all the tools
    +1
  • The Helper The Helper:
    These new Chat AI programs are going to change everything everyone better Buckle the Fuck Up!
  • The Helper The Helper:
    oh and Happy Tuesday Evening! :)

    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