- Joined
- Jun 14, 2008
- Messages
- 176
I'm newb at JASS, and basically a "semi" newb at GUI also.
Story Introduction - Basically, I imported this triggered spell. I want to have two versions of the spells, one weak, and one strong but I don't know how to do it.
I am using emjlr3's Omnislash ability from here(click).
Anyway, I know how to import, and imported everything right, I got the spell to work, etc.
Now, what I want to do is however, make 2 "different" Omnislashes.
Right now, I have one set as a regular(non-ultimate) ability for a hero. It's a weak version of the spell.
What I want to do is add another version of the spell that's an ultimate but really strong.
For example, I'll make two abilities. One is "Weak Slash", the other is "Ultimate Slash".
emjlr3's Omnislash code(So you don't have download the map to see it)
So, right now, I have this trigger work on "Weak Slash"(Based on Cripple ability) for example.
I want to add a more powerful version of Omnislash based on another ability, it's called "Ultimate Slash"(Based on Cripple ability also).
I want to have 2 of the same spells for my map on 2 different heroes.
Since the trigger only allows you to edit the damage/power of one spell. What I did was just copy and paste the trigger, so that there was 2 triggers.
I changed the second(copied) raw ability names.
I tried saving, got compile errors. I guess it has to do with having clone triggers or clone variables or something.
So it seems that isn't how you make two abilities based off of the same trigger.
So, the question is - How can I make "two versions" of Omnislash(basically, one weak, and one strong) based off of the same trigger?
Story Introduction - Basically, I imported this triggered spell. I want to have two versions of the spells, one weak, and one strong but I don't know how to do it.
I am using emjlr3's Omnislash ability from here(click).
Anyway, I know how to import, and imported everything right, I got the spell to work, etc.
Now, what I want to do is however, make 2 "different" Omnislashes.
Right now, I have one set as a regular(non-ultimate) ability for a hero. It's a weak version of the spell.
What I want to do is add another version of the spell that's an ultimate but really strong.
For example, I'll make two abilities. One is "Weak Slash", the other is "Ultimate Slash".
emjlr3's Omnislash code(So you don't have download the map to see it)
JASS:
function Trig_Omnislash_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A005'
endfunction
function Unit_Group takes nothing returns boolean
return GetBooleanAnd( IsUnitAliveBJ(GetFilterUnit()) == true, IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true )
endfunction
function Trig_Omnislash_Actions takes nothing returns nothing
local unit Caster = GetTriggerUnit()
local integer i = 0
local group UnitGroup
local unit TargetRandom
local unit Target = GetSpellTargetUnit()
local effect Phoenix
local location R
local real Damage = 100
local integer Amount = 1 + ( GetUnitAbilityLevelSwapped('A005', Caster) * 2 )
call TriggerSleepAction( 0.20 )
call SelectUnitRemove( Caster )
call SetUnitVertexColor( Caster, 150, 150, 150, 150 )
call SetUnitInvulnerable( Caster, true )
set Phoenix = AddSpecialEffectTarget("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl",Caster,"weapon" )
call DestroyEffect(AddSpecialEffectTarget( "Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl", Caster, "chest" ))
call SetUnitPositionLocFacingBJ( Caster, PolarProjectionBJ(GetUnitLoc(Target), 50.00, GetRandomDirectionDeg()), AngleBetweenPoints(GetUnitLoc(Caster), GetUnitLoc(Target)) )
call UnitDamageTarget( Caster, Target, Damage, false, true, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_AXE_MEDIUM_CHOP )
call SetUnitAnimation( Caster, "attack" )
call TriggerSleepAction( 0.25 )
call SelectUnitRemove( Caster )
loop
set i = i + 1
exitwhen i > Amount
set UnitGroup = GetUnitsInRangeOfLocMatching(600.00, GetUnitLoc(Caster), Condition(function Unit_Group))
if ( IsUnitGroupEmptyBJ(UnitGroup) == false ) then
set TargetRandom = GroupPickRandomUnit(UnitGroup)
set R = GetUnitLoc(TargetRandom)
call DestroyEffect(AddSpecialEffectTarget( "Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl", Caster, "chest" ))
call SetUnitPositionLocFacingBJ( Caster, PolarProjectionBJ(R, 50.00, GetRandomDirectionDeg()), AngleBetweenPoints(GetUnitLoc(Caster), GetUnitLoc(TargetRandom)) )
call UnitDamageTarget( Caster, TargetRandom, Damage, false, true, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_AXE_MEDIUM_CHOP )
call SetUnitAnimation( Caster, "attack" )
call RemoveLocation ( R )
call TriggerSleepAction( 0.25 )
call SelectUnitRemove( Caster )
else
endif
call DestroyGroup(UnitGroup)
endloop
call SelectUnitForPlayerSingle( Caster, GetTriggerPlayer() )
call SetUnitInvulnerable( Caster, false )
call SetUnitVertexColor( Caster, 255, 255, 255, 255 )
call DestroyEffect( Phoenix )
set Phoenix = null
set Caster = null
set UnitGroup = null
set TargetRandom = null
set Target = null
set Amount = 0
set R = null
set Damage = 0
endfunction
//===========================================================================
function InitTrig_Omnislash takes nothing returns nothing
set gg_trg_Omnislash = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Omnislash, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Omnislash, Condition( function Trig_Omnislash_Conditions ) )
call TriggerAddAction( gg_trg_Omnislash, function Trig_Omnislash_Actions )
endfunction
So, right now, I have this trigger work on "Weak Slash"(Based on Cripple ability) for example.
I want to add a more powerful version of Omnislash based on another ability, it's called "Ultimate Slash"(Based on Cripple ability also).
I want to have 2 of the same spells for my map on 2 different heroes.
Since the trigger only allows you to edit the damage/power of one spell. What I did was just copy and paste the trigger, so that there was 2 triggers.
I changed the second(copied) raw ability names.
I tried saving, got compile errors. I guess it has to do with having clone triggers or clone variables or something.
So it seems that isn't how you make two abilities based off of the same trigger.
So, the question is - How can I make "two versions" of Omnislash(basically, one weak, and one strong) based off of the same trigger?