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

[GUI] - Taking Spell Requests

Status
Not open for further replies.
Level 12
Joined
Apr 26, 2008
Messages
830
Spell Information
Name of the Spell*
Oni Giri
Type
Slash/Wave
Level(s)*
5
Minimum and maximum damage*
lvl 1 120 dmg +50 damge with every level
Hotkey
O
Description*
[Demon Slash=Oni Giri] The hero slashes through numerous enemys dealing aoe damage.
Model
Hero:none SFX:illidan (morph)
Icon
unimportant
Small info on the spell:
The hero waits like 3 secoonds and does the channel animation and in those 2 seconds there should appear illidan in morph behind the caster (its´s for sfx) and then dissapear when the caster moves for the slash (it should last 3 seconds) then the caster slashes through every unit reaching the target points and does the damage shown above... it would be cool if you could add some sfx on (weapon, chest) that way it looks cooler.
 
Level 4
Joined
May 31, 2009
Messages
109
my request
Name of the Spell
Platinum Wind Strike
Type
No Target
Level(s)*
4
Minimum and maximum damage
100 Maximum Heal For Casting Unit(Increases by 20 per level) 90 Damage(Increases by 50 per level).
Hotkey
[M]
Description
Creates a wave around the caster, healing the hero by 15 per unit(increases by 5 per level, 100 maximum heal for casting unit, and increases by 20 per level.) and damaging nearby enemies.
Model
Wave: http://www.hiveworkshop.com/forums/models-530/frozen-orb-53035/?prev=search%3DFrozenOrb%26d%3Dlist%26r%3D20%26t%3D10
Icon
http://www.hiveworkshop.com/forums/icons-541/btnblueenergy-137089/?prev=d%3Dlist%26r%3D20%26t%3D14

Thanks In Advance:thumbs_up:
:spell_breaker::spell_breaker:
 
Level 7
Joined
Aug 30, 2008
Messages
347
Spell problem, sorry for the long barrage of text

umm Azeroc, theres a problem when i tried editing the spell, here:
JASS:
[QUOTE]//===========================================================================
// 
// Mark of The Abyss
// 
//   Warcraft III map script
//   Generated by the Warcraft III World Editor
//   Date: Sun Jul 26 08:53:38 2009
//   Map Author: Azerock / Azeroc
// 
//===========================================================================

//***************************************************************************
//*
//*  Global Variables
//*
//***************************************************************************

globals
    // User-defined
    unit                    udg_Caster                 = null
    group                   udg_EnemyGroup             = null
    location                udg_tempLoc                = null
    unit                    udg_Dummy                  = null
    integer                 udg_Level                  = 0
    integer                 udg_DummyAbility           = 0
    effect                  udg_SFX                    = null
    unit                    udg_Target                 = null
    real                    udg_Damage                 = 0
    real                    udg_AoE                    = 0

    // Generated
    trigger                 gg_trg_Mark_of_The_Abyss   = null
    trigger                 gg_trg_Notice_Msgs         = null
    trigger                 gg_trg_Fog_On              = null
    trigger                 gg_trg_No_Fog              = null
    trigger                 gg_trg_Respawn             = null
    trigger                 gg_trg_Map                 = null
    unit                    gg_unit_Hblm_0000          = null
endglobals

function InitGlobals takes nothing returns nothing
    set udg_EnemyGroup = CreateGroup()
    set udg_Level = 0
    set udg_Damage = 0
    set udg_AoE = 0
endfunction

//***************************************************************************
//*
//*  Unit Creation
//*
//***************************************************************************

//===========================================================================
function CreateUnitsForPlayer0 takes nothing returns nothing
    local player p = Player(0)
    local unit u
    local integer unitID
    local trigger t
    local real life

    set gg_unit_Hblm_0000 = CreateUnit( p, 'Hblm', -248.1, -399.4, 34.267 )
    call SetUnitState( gg_unit_Hblm_0000, UNIT_STATE_MANA, 0 )
    set u = CreateUnit( p, 'hfoo', -23.1, -337.8, 22.612 )
    set u = CreateUnit( p, 'hfoo', -212.9, -148.0, 76.913 )
    set u = CreateUnit( p, 'hfoo', -487.8, -223.8, 139.030 )
    set u = CreateUnit( p, 'hfoo', -474.8, -520.7, 194.009 )
    set u = CreateUnit( p, 'hfoo', -256.7, -648.8, 268.681 )
    set u = CreateUnit( p, 'hfoo', -79.4, -588.2, 314.441 )
endfunction

//===========================================================================
function CreateNeutralHostile takes nothing returns nothing
    local player p = Player(PLAYER_NEUTRAL_AGGRESSIVE)
    local unit u
    local integer unitID
    local trigger t
    local real life

    set u = CreateUnit( p, 'hfoo', -1682.2, 2415.4, 283.994 )
    set u = CreateUnit( p, 'hfoo', -1429.0, 1503.6, 194.025 )
    set u = CreateUnit( p, 'hfoo', -2024.4, 1753.4, 336.554 )
    set u = CreateUnit( p, 'hfoo', -1598.8, 1938.6, 167.536 )
    set u = CreateUnit( p, 'hfoo', -2202.7, 982.4, 238.839 )
    set u = CreateUnit( p, 'hfoo', -2535.4, 2071.3, 213.372 )
    set u = CreateUnit( p, 'hfoo', -1259.1, 2663.2, 280.512 )
    set u = CreateUnit( p, 'hfoo', -339.5, 2273.6, 114.316 )
    set u = CreateUnit( p, 'hfoo', -277.0, 2118.0, 44.485 )
    set u = CreateUnit( p, 'hfoo', -117.3, 2273.3, 72.193 )
    set u = CreateUnit( p, 'hfoo', 120.1, 2543.6, 239.147 )
    set u = CreateUnit( p, 'hfoo', 436.4, 1462.5, 76.841 )
    set u = CreateUnit( p, 'hfoo', 1251.4, 2006.3, 72.842 )
    set u = CreateUnit( p, 'hfoo', 829.6, 2602.5, 275.062 )
    set u = CreateUnit( p, 'hfoo', 1648.8, 1551.1, 109.966 )
    set u = CreateUnit( p, 'hfoo', 1498.0, 769.9, 175.578 )
    set u = CreateUnit( p, 'hfoo', 1992.3, 1529.5, 126.500 )
    set u = CreateUnit( p, 'hfoo', 1994.1, 1800.5, 0.857 )
    set u = CreateUnit( p, 'hfoo', 2427.6, 2469.6, 9.229 )
    set u = CreateUnit( p, 'hfoo', 934.3, 1626.2, 136.586 )
    set u = CreateUnit( p, 'hfoo', 2205.4, 2017.5, 320.701 )
    set u = CreateUnit( p, 'hfoo', 2223.8, 2175.1, 32.169 )
    set u = CreateUnit( p, 'hfoo', 2571.9, 1321.0, 59.482 )
    set u = CreateUnit( p, 'hfoo', 2461.6, 299.2, 24.808 )
    set u = CreateUnit( p, 'hfoo', 2127.9, -449.4, 315.889 )
    set u = CreateUnit( p, 'hfoo', 2171.9, -171.8, 262.625 )
    set u = CreateUnit( p, 'hfoo', 2150.0, 307.0, 110.812 )
    set u = CreateUnit( p, 'hfoo', 2243.3, -340.7, 156.703 )
    set u = CreateUnit( p, 'hfoo', 2339.5, -1183.5, 153.484 )
    set u = CreateUnit( p, 'hfoo', 1855.8, -1422.8, 116.382 )
    set u = CreateUnit( p, 'hfoo', 1442.1, -1820.1, 114.668 )
    set u = CreateUnit( p, 'hfoo', 1370.6, -934.1, 247.936 )
    set u = CreateUnit( p, 'hfoo', 2161.6, -2211.3, 143.068 )
    set u = CreateUnit( p, 'hfoo', 2007.9, -2620.5, 144.639 )
    set u = CreateUnit( p, 'hfoo', 2566.6, -2922.6, 293.641 )
    set u = CreateUnit( p, 'hfoo', 1604.3, -1732.9, 93.628 )
    set u = CreateUnit( p, 'hfoo', 716.5, -2835.1, 40.739 )
    set u = CreateUnit( p, 'hfoo', 733.6, -2896.2, 51.758 )
    set u = CreateUnit( p, 'hfoo', 318.4, -3116.3, 146.903 )
    set u = CreateUnit( p, 'hfoo', 271.9, -2830.7, 187.597 )
    set u = CreateUnit( p, 'hfoo', -826.4, -2341.6, 43.419 )
    set u = CreateUnit( p, 'hfoo', -525.8, -2251.4, 255.033 )
    set u = CreateUnit( p, 'hfoo', -1718.4, -2884.4, 345.168 )
    set u = CreateUnit( p, 'hfoo', -1290.1, -2896.9, 244.058 )
    set u = CreateUnit( p, 'hfoo', -2940.4, -2644.9, 164.745 )
    set u = CreateUnit( p, 'hfoo', -2207.1, -2372.2, 111.570 )
    set u = CreateUnit( p, 'hfoo', -1963.6, -2095.6, 97.485 )
    set u = CreateUnit( p, 'hfoo', -2854.5, -374.7, 216.536 )
    set u = CreateUnit( p, 'hfoo', -2836.7, -1071.8, 291.630 )
    set u = CreateUnit( p, 'hfoo', -2580.1, -856.7, 356.067 )
    set u = CreateUnit( p, 'hfoo', -2678.7, 324.3, 89.355 )
    set u = CreateUnit( p, 'hfoo', -2102.9, -384.5, 223.007 )
    set u = CreateUnit( p, 'hfoo', -2012.5, -36.5, 210.417 )
    set u = CreateUnit( p, 'hfoo', -2121.6, 701.0, 197.057 )
    set u = CreateUnit( p, 'hfoo', -2614.1, 566.6, 319.075 )
    set u = CreateUnit( p, 'hfoo', -2978.9, 1020.2, 14.667 )
endfunction

//===========================================================================
function CreatePlayerBuildings takes nothing returns nothing
endfunction

//===========================================================================
function CreatePlayerUnits takes nothing returns nothing
    call CreateUnitsForPlayer0(  )
endfunction

//===========================================================================
function CreateAllUnits takes nothing returns nothing
    call CreatePlayerBuildings(  )
    call CreateNeutralHostile(  )
    call CreatePlayerUnits(  )
endfunction

//***************************************************************************
//*
//*  Triggers
//*
//***************************************************************************

//===========================================================================
// Trigger: Mark of The Abyss
//===========================================================================
function Trig_Mark_of_The_Abyss_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A000' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Mark_of_The_Abyss_Func009002003001 takes nothing returns boolean
    return ( IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), GetOwningPlayer(udg_Caster)) == true )
endfunction

function Trig_Mark_of_The_Abyss_Func009002003002 takes nothing returns boolean
    return ( IsUnitType(GetFilterUnit(), Error) == false )
endfunction

function Trig_Mark_of_The_Abyss_Func009002003 takes nothing returns boolean
    return GetBooleanAnd( Trig_Mark_of_The_Abyss_Func009002003001(), Trig_Mark_of_The_Abyss_Func009002003002() )
endfunction

function Trig_Mark_of_The_Abyss_Func018Func012C takes nothing returns boolean
    if ( not ( udg_Level == 5 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Mark_of_The_Abyss_Func018A takes nothing returns nothing
    set udg_Target = GetEnumUnit()
    call CreateNUnitsAtLoc( 1, 'h000', GetOwningPlayer(udg_Caster), udg_tempLoc, bj_UNIT_FACING )
    set udg_Dummy = GetLastCreatedUnit()
    call UnitApplyTimedLifeBJ( 1.50, 'BTLF', udg_Dummy )
    call UnitAddAbilityBJ( udg_DummyAbility, udg_Dummy )
    call SetUnitAbilityLevelSwapped( udg_DummyAbility, udg_Dummy, udg_Level )
    call IssueTargetOrderBJ( udg_Dummy, "faeriefire", udg_Target )
    call AddSpecialEffectTargetUnitBJ( "origin", udg_Target, "Abilities\\Spells\\Undead\\DarkRitual\\DarkRitualTarget.mdl" )
    set udg_SFX = GetLastCreatedEffectBJ()
    call DestroyEffect(udg_SFX)
    // Since damage change is only on level 5, I made this.
    if ( Trig_Mark_of_The_Abyss_Func018Func012C() ) then
        call UnitDamageTargetBJ( udg_Caster, udg_Target, ( udg_Damage + 125.00 ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
    else
        call UnitDamageTargetBJ( udg_Caster, udg_Target, udg_Damage, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
    endif
endfunction

function Trig_Mark_of_The_Abyss_Actions takes nothing returns nothing
    set udg_Caster = GetTriggerUnit()
    // Changable Damage and AoE for your desire
    set udg_Damage = 125.00
    set udg_AoE = 450.00
    // |-|
    set udg_tempLoc = GetSpellTargetLoc()
    set udg_Level = GetUnitAbilityLevelSwapped('A000', udg_Caster)
    set udg_DummyAbility = 'A001'
    set udg_EnemyGroup = GetUnitsInRangeOfLocMatching(udg_AoE, udg_tempLoc, Condition(function Trig_Mark_of_The_Abyss_Func009002003))
    // -------------------
    call AddSpecialEffectLocBJ( udg_tempLoc, "Shockwave_Darkness.mdx" )
    set udg_SFX = GetLastCreatedEffectBJ()
    call DestroyEffect(udg_SFX)
    call AddSpecialEffectLocBJ( udg_tempLoc, "Objects\\Spawnmodels\\Undead\\UndeadDissipate\\UndeadDissipate.mdl" )
    set udg_SFX = GetLastCreatedEffectBJ()
    call DestroyEffect(udg_SFX)
    // -------------------
    call ForGroupBJ( udg_EnemyGroup, function Trig_Mark_of_The_Abyss_Func018A )
    // Removing Leaks....
    call DestroyGroup(udg_EnemyGroup)
    call RemoveLocation(udg_tempLoc)
endfunction

//===========================================================================
function InitTrig_Mark_of_The_Abyss takes nothing returns nothing
    set gg_trg_Mark_of_The_Abyss = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Mark_of_The_Abyss, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_Mark_of_The_Abyss, Condition( function Trig_Mark_of_The_Abyss_Conditions ) )
    call TriggerAddAction( gg_trg_Mark_of_The_Abyss, function Trig_Mark_of_The_Abyss_Actions )
endfunction

//===========================================================================
// Trigger: Notice Msgs
//===========================================================================
function Trig_Notice_Msgs_Actions takes nothing returns nothing
    call DisplayTextToForce( GetPlayersAll(), "TRIGSTR_046" )
endfunction

//===========================================================================
function InitTrig_Notice_Msgs takes nothing returns nothing
    set gg_trg_Notice_Msgs = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( gg_trg_Notice_Msgs, 0.01 )
    call TriggerAddAction( gg_trg_Notice_Msgs, function Trig_Notice_Msgs_Actions )
endfunction

//===========================================================================
// Trigger: Fog On
//===========================================================================
function Trig_Fog_On_Actions takes nothing returns nothing
    call DestroyFogModifier( GetLastCreatedFogModifier() )
endfunction

//===========================================================================
function InitTrig_Fog_On takes nothing returns nothing
    set gg_trg_Fog_On = CreateTrigger(  )
    call TriggerRegisterPlayerChatEvent( gg_trg_Fog_On, Player(0), "-fogon", true )
    call TriggerAddAction( gg_trg_Fog_On, function Trig_Fog_On_Actions )
endfunction

//===========================================================================
// Trigger: No Fog
//===========================================================================
function Trig_No_Fog_Actions takes nothing returns nothing
    call DestroyFogModifier( GetLastCreatedFogModifier() )
    call CreateFogModifierRectBJ( true, Player(0), FOG_OF_WAR_VISIBLE, GetPlayableMapRect() )
endfunction

//===========================================================================
function InitTrig_No_Fog takes nothing returns nothing
    set gg_trg_No_Fog = CreateTrigger(  )
    call TriggerRegisterPlayerChatEvent( gg_trg_No_Fog, Player(0), "-nofog", true )
    call TriggerAddAction( gg_trg_No_Fog, function Trig_No_Fog_Actions )
endfunction

//===========================================================================
// Trigger: Respawn
//===========================================================================
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Respawn_Actions takes nothing returns nothing
    local unit t = GetTriggerUnit()
    local unit d = GetDyingUnit()
    local real w = 15.00
    call TriggerSleepAction( w )
    call ReplaceUnitBJ( t, GetUnitTypeId(d), bj_UNIT_STATE_METHOD_MAXIMUM )
endfunction

//===========================================================================
function InitTrig_Respawn takes nothing returns nothing
    set gg_trg_Respawn = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Respawn, EVENT_PLAYER_UNIT_DEATH )
    call TriggerAddAction( gg_trg_Respawn, function Trig_Respawn_Actions )
endfunction

//===========================================================================
// Trigger: Map
//===========================================================================
function Trig_Map_Actions takes nothing returns nothing
    call AddHeroXPSwapped( 100000000, gg_unit_Hblm_0000, true )
endfunction

//===========================================================================
function InitTrig_Map takes nothing returns nothing
    set gg_trg_Map = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Map, function Trig_Map_Actions )
endfunction

//===========================================================================
function InitCustomTriggers takes nothing returns nothing
    call InitTrig_Mark_of_The_Abyss(  )
    call InitTrig_Notice_Msgs(  )
    call InitTrig_Fog_On(  )
    call InitTrig_No_Fog(  )
    call InitTrig_Respawn(  )
    call InitTrig_Map(  )
endfunction

//===========================================================================
function RunInitializationTriggers takes nothing returns nothing
    call ConditionalTriggerExecute( gg_trg_Map )
endfunction

//***************************************************************************
//*
//*  Players
//*
//***************************************************************************

function InitCustomPlayerSlots takes nothing returns nothing

    // Player 0
    call SetPlayerStartLocation( Player(0), 0 )
    call SetPlayerColor( Player(0), ConvertPlayerColor(0) )
    call SetPlayerRacePreference( Player(0), RACE_PREF_HUMAN )
    call SetPlayerRaceSelectable( Player(0), true )
    call SetPlayerController( Player(0), MAP_CONTROL_USER )

endfunction

function InitCustomTeams takes nothing returns nothing
    // Force: TRIGSTR_002
    call SetPlayerTeam( Player(0), 0 )

endfunction

//***************************************************************************
//*
//*  Main Initialization
//*
//***************************************************************************

//===========================================================================
function main takes nothing returns nothing
    call SetCameraBounds( -3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), -3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), -3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), -3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM) )
    call SetDayNightModels( "Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl", "Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl" )
    call NewSoundEnvironment( "Default" )
    call SetAmbientDaySound( "LordaeronSummerDay" )
    call SetAmbientNightSound( "LordaeronSummerNight" )
    call SetMapMusic( "Music", true, 0 )
    call CreateAllUnits(  )
    call InitBlizzard(  )
    call InitGlobals(  )
    call InitCustomTriggers(  )
    call RunInitializationTriggers(  )

endfunction

//***************************************************************************
//*
//*  Map Configuration
//*
//***************************************************************************

function config takes nothing returns nothing
    call SetMapName( "TRIGSTR_043" )
    call SetMapDescription( "" )
    call SetPlayers( 1 )
    call SetTeams( 1 )
    call SetGamePlacement( MAP_PLACEMENT_USE_MAP_SETTINGS )

    call DefineStartLocation( 0, -256.0, -384.0 )

    // Player setup
    call InitCustomPlayerSlots(  )
    call SetPlayerSlotAvailable( Player(0), MAP_CONTROL_USER )
    call InitGenericPlayerSlots(  )
endfunction[/QUOTE]

how do you add hidden tags?
anyways the spell trigger got disabled and you know, dosen't work anymore.

Once again sorry for the text.
 
Level 10
Joined
Aug 15, 2008
Messages
720
Right
JASS:
return ( IsUnitType(GetFilterUnit(), Error) == false )

That "Error" must be
JASS:
UNIT_TYPE_DEAD


If you know JASS replace it with it, if not, then check trigger in GUI and check EnemyGroup variable there are 2 conditions, first one that checks that targets are enemies of owner of caster and second one checks if unit is dead.

That "Error" applies in second condition

  • Set EnemyGroup = (Units within AoE of tempLoc matching ((((Owner of (Matching unit)) is an enemy of (Owner of Caster)) Equal to (==) True) and (((Matching unit) is Dead) Equal to (==) False)))
This is how it should be, so set second condition to
  • (((Matching unit) is Dead) Equal to (==) false)))
Also about hidden tags it's
JASS:
[HIDDEN="<Your Title>"]<Your Text>[/HIDDEN]
 
Status
Not open for further replies.
Top