• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Digimon Rumble Arena

Status
Not open for further replies.
Level 12
Joined
Aug 20, 2007
Messages
866
Oh no, your gonna do this using GUI?!?!

If you'd like, I could take some time on a Sunday or Saturday and update your triggers to healthy vJASS

I hate when good maps are done in GUI
 
Level 7
Joined
May 23, 2008
Messages
307
WOW! I wasn't shure if your game gets really good, but it WILL be VERY VERY good :)
I'm really lucky to see this!
I hope you can make it very balanced! Don't release it unbalanced!
 
Level 20
Joined
Jun 6, 2008
Messages
997
Off-topic: Wasn't it uploaded on Wc3 Unlimited? I don't remember if it was or not. But I believe it is.

On-topic: Uh my personal opinion is that GUI seems to have less chance for errors. While just one simple thing wrong in your jass script can make things work incorrectly. I'd say leave it all in GUI until you at least finish one version. That way you have a stable one and then you may possibly make a jass version.
 
Level 3
Joined
Oct 10, 2008
Messages
27
Cool project, I can make the icons for you if you want.
Oh, and I have models of Terriermon, Lopmon and DemiDevimon if u want them.
 
Level 7
Joined
May 23, 2008
Messages
307
Okay... Also i'd like to volunteer you to be a tester :p
So if you like, just PM me. I will find all bugs ;D
 
Level 12
Joined
Aug 20, 2007
Messages
866
Yeah, GUI is ok for small things, especially object/map specific code

I thought I saw a picture somewhere of a hero using "Blue Blaster!", which looked to me like a movement trigger involving physics. Physics is handled very poorly in GUI, and perhaps if there are any ridiculous physics spells you'd like done, I could do it in vJASS and you could decide to put it in or not.

EDIT - Whoops, sorry redscores, didn't see that ><, don't mean to try to steal your job, just here to assist
 
Yeah, GUI is ok for small things, especially object/map specific code

I thought I saw a picture somewhere of a hero using "Blue Blaster!", which looked to me like a movement trigger involving physics. Physics is handled very poorly in GUI, and perhaps if there are any ridiculous physics spells you'd like done, I could do it in vJASS and you could decide to put it in or not.

EDIT - Whoops, sorry redscores, didn't see that ><, don't mean to try to steal your job, just here to assist

I can convert those spell into JASS if I want to.. in the further version.. if I need those spells to be MUI.
 
JASS:
function Trig_Pepper_Breath_Cast_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A001' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Pepper_Breath_Loop_Func001Func010002003001 takes nothing returns boolean
 local unit caster = GetTriggerUnit()
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(caster)) == true )
endfunction

function Trig_Pepper_Breath_Loop_Func001Func010002003002 takes nothing returns boolean
    return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction

function Trig_Pepper_Breath_Loop_Func001Func010002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Pepper_Breath_Loop_Func001Func010002003001(), Trig_Pepper_Breath_Loop_Func001Func010002003002() )
endfunction

function Trig_Pepper_Breath_Loop_Actions takes nothing returns nothing
 local unit caster = GetTriggerUnit()
 local unit target
 local real angle = GetUnitFacing(missle)
 local real mr = 750.00
 local location mpoint
 local location mmpoint
 local group units
 local integer damage = ((GetUnitAbilityLevel(caster, 'A001') * 50))
    if ( not ( cr < mr ) ) then
        set cr = ( cr + ( mr / 25.00) )
        set mpoint = GetUnitLoc(missile)
        set mmpoint = PolarProjectionBJ(mpoint, ( mr / 25.00 ), angle)
        call SetUnitPositionLoc( missile, mmpoint )
        if ( not ( IsTerrainPathableBJ(mmpoint, PATHING_TYPE_WALKABILITY) == true ) ) then
            call DestroyTimer(move)
            call KillUnit( missile )
            set missile = null
            set caster = null
        else
        endif
        set units = GetUnitsInRangeOfLocMatching(90.00, mmpoint, Condition(function Trig_Pepper_Breath_Loop_Func001Func010002003))
        set target = GroupPickRandomUnit(units)
        if ( not ( target != null ) ) then
            call UnitDamageTargetBJ( caster, target, damage, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
            call KnockbackTarget(target, angle, 200, 20, false)
            call DestroyTimer(move)
            call KillUnit( missile )
            set missile = null
            set caster = null
        else
        endif
        set target = null
        call GroupClear( units )
        call RemoveLocation(mpoint)
        call RemoveLocation(mmpoint)
    else
        call DestroyTimer(move)
        call KillUnit( missile )
        set missile = null
        set caster = null
    endif
endfunction

function Trig_Pepper_Breath_Cast_Actions takes nothing returns nothing
    local unit caster = GetTriggerUnit()
    local unit target = GetSpellTargetUnit()
    local unit missle
    local real angle
    local real cr = 0.00
    local location cpoint = GetUnitLoc(caster)
    local location tpoint
    local location mpoint 
    local timer move = CreateTimer()
    if ( not ( target == null ) ) then
        set tpoint = GetSpellTargetLoc()
    else
        set tpoint = GetUnitLoc(target)
        set target = null
    endif
    set mpoint = PolarProjectionBJ(cpoint, 50.00, AngleBetweenPoints(cpoint, tpoint))
    set angle = AngleBetweenPoints(cpoint, tpoint)
    call CreateNUnitsAtLoc( 1, 'n000', GetOwningPlayer(caster), mpoint, angle)
    set missile = GetLastCreatedUnit()
    call RemoveLocation(cpoint)
    call RemoveLocation(tpoint)
    call RemoveLocation(mpoint)
    call TimerStart(move, 0.03, true, function Trig_Pepper_Breath_Loop_Actions)
endfunction

//===========================================================================
function InitTrig_Pepper_Breath_Cast takes nothing returns nothing
    local trigger Pepper_Breath_Cast = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( Pepper_Breath_Cast, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( Pepper_Breath_Cast, Condition( function Trig_Pepper_Breath_Cast_Conditions ) )
    call TriggerAddAction( Pepper_Breath_Cast, function Trig_Pepper_Breath_Cast_Actions )
endfunction
Can anyone help me make this work?
When the timer expires, those local variables aren't there anymore, that's the problem I'm having now. =(
 
Level 12
Joined
Aug 20, 2007
Messages
866
Oh dear, that looks like GUI -> JASS alright ><

Sure, I can code it up for you, except it will be totally different from what you have posted up there

I could probably figure out what the spell is supposed to do via the code, but it may be easier if you just tell me (although in rare cases the code has been easier to use to understand what the programmer wants the spell to do)

EDIT - The first thing I need to suggest to you is that you get the jassnewgenpack upgrade for your WE, any code I give you in vJASS won't be useable without it. This would make it much easier for me to code for you, otherwise I gotta convert my vJASS back to JASS (is a nuisance, and unnecessary)

EDIT 2 - Took a quick peek, its just a missile :), lucky for you I've been working on a QuadraticArc system lately, and I'd have no problem adding a little function for moving missles from point to point (+collision)

I won't make this into a function, I'll just code it as a spell (don't worry if you don't know what that means)
 
Level 12
Joined
Aug 20, 2007
Messages
866
Chances are I won't be done today, I'm having issues with my systems that I need to work out. When I finish them, I'll finish this spell. Most likely by tomorrow.
 
Level 12
Joined
Aug 20, 2007
Messages
866
I finished the pepper breath spell, it looks pretty good, I'm not sure how it's supposed to look exactly, and I have to say adding the collision to it was a little tricky

I'm going to post it in the spells section of the resources inside a spellpack, because this spell requires a few system libraries that aren't too common.

I'll add the link when I upload the spellpack
 
Level 12
Joined
Aug 20, 2007
Messages
866
If you can't fix the bugs with your system, I did make few function libraries that do what appears to be what your looking for. Feel free to take a look at it, and if you think you can use it, it may save you some time :)

Heres the link - QuadArc Systems
 
Status
Not open for further replies.
Top