• 🏆 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!

[JASS] NES DDS How to use

Status
Not open for further replies.
Level 8
Joined
Feb 3, 2013
Messages
277
JASS:
scope DDSTest

    private struct Test extends array
        private static integer PRIORITY = 10
        private static string FX        = "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl"
        
        private static method onDamage takes nothing returns nothing    
            if GetRandomInt(0, 2) == 0 and archetype == Archetype.PHYSICAL then
                set damage = damage * 1.75          // Modify damage by 1.75
                call DestroyEffect(AddSpecialEffect(FX, GetUnitX(target), GetUnitY(target)))
                call ArcingTextTag.create(R2S(damageOriginal) + "+" + R2S(damageModifiedAmount), target)
            else
                call ArcingTextTag.create(R2S(damage), target)
            endif
        endmethod
        
        implement DDS
    endstruct
    
endscope

here's an example 33% chance to create thunderclap effect and deal extra damage
I'm not sure how much you understand about Nes' DDS - but just incase you didn't know, it requires:
-structs
-static methods inside the struct specifically called 'onDamage'
-'implement DDS' inside the struct

i'm sure the man himself will come to explain indepth on how to use it...

PRIORITY integer just sets ordering of damage events, the higher it is, the faster up in line it is run.

i think he makes most of this clear in his guide :O
 
Level 31
Joined
Jul 10, 2007
Messages
6,306
i'm very graceful if someone make a simple trigger passive skill on hit for a example.
Yea, it sounds like you want GUI. DDS has no GUI support and will not have any GUI support in the future. The reason for this is because there is no good way to support some of the features in GUI, like damageOriginal and damageModifiedAmount.

lfh's thing has GUI support and many of the same features as DDS. It won't run as well and doesn't have absolutely everything, but it should probably be enough for what you want.
 
Status
Not open for further replies.
Top