- Joined
- Feb 16, 2011
- Messages
- 595
are my spell requests going to be made or do you need more detail?
But that would make the spell uncastable when the hero has less than 20% health, I don't know if I like that...How about first orb drops at 60%, second at 40% and third at 20% for example?
I've been very busy these days, but tonight Ima focus on Wingthor's spells...
@yvx
VM the spell request to me and give proper description, you're next...
@Ironside
2 & 3 can be done the way like #1, see to it that the unit is in the range of the caster or spelltargetXY, if the unit is NOT null then cast back the spell...
//Spell Mimic Utils
//Made by Mckill2009
//Description:
//- This simply fires back a spell from the caster.
//Bugs:
//- The TargetPoint and TargetNone bugs if the caster and/or the target
// wont move, the mirrored spell spams.
library SM
globals
private constant integer DUMMY_ID = 'h000' //you MUST create a dummy
private integer ABIL_ID
private integer SPELL_ID
private integer LEVEL
private integer ORDER_ID
private unit TEMP_UNIT
endglobals
private function UnitAlive takes unit u returns boolean
return not IsUnitType(u, UNIT_TYPE_DEAD)
endfunction
private function UnitSpell takes unit u, integer spellid returns boolean
return (GetUnitAbilityLevel(u, spellid) > 0)
endfunction
private function UnitOrderNotChannel takes integer order returns boolean
//starfall, tranquility, blizzard, rain of fire, earthquake, channel, tornado,
return not (order==852183 or order==854184 or order==852089 or order==852238 or order==852121 /*
*/ or order==852600 or order==852597 or order==852593)
endfunction
//! textmacro TARGET takes FUNC, COM
private function Filter$FUNC$ takes nothing returns boolean
local unit u = GetFilterUnit()
local unit dummy
local real x
local real y
if UnitAlive(u) and UnitSpell(u, SPELL_ID) then
set x = GetUnitX(TEMP_UNIT)
set y = GetUnitY(TEMP_UNIT)
set dummy = CreateUnit(GetOwningPlayer(u), DUMMY_ID, x,y, 0)
if UnitOrderNotChannel(ORDER_ID) then
call UnitApplyTimedLife(dummy, 'BTLF', 2.)
else
call UnitApplyTimedLife(dummy, 'BTLF', 10.)
endif
call UnitAddAbility(dummy, ABIL_ID)
call SetUnitAbilityLevel(dummy, ABIL_ID, LEVEL)
call Issue$COM$
endif
set u = null
set dummy = null
return false
endfunction
//call SM_TargetNone(GetTriggerUnit(), GetUnitX(GetTriggerUnit()), GetUnitY(GetTriggerUnit()), GetSpellAbilityId(), 'AEmb', 1, 200)
//call SM_TargetPoint(GetTriggerUnit(), GetSpellTargetX(), GetSpellTargetY(), GetSpellAbilityId(), 'AEmb', 1, 200)
public function Target$FUNC$ takes unit caster, real xLoc, real yLoc, integer abilityid, integer chanceid, integer level, real aoe returns nothing
set ORDER_ID = GetUnitCurrentOrder(caster)
set TEMP_UNIT = caster
set LEVEL = level
set ABIL_ID = abilityid
set SPELL_ID = chanceid //crucial, a unit must have this in order for him to be filtered
call GroupEnumUnitsInRange(bj_lastCreatedGroup, xLoc, yLoc, aoe, function Filter$FUNC$)
endfunction
//! endtextmacro
//! runtextmacro TARGET("Point", "TargetOrderById(dummy, ORDER_ID, TEMP_UNIT)")
//! runtextmacro TARGET("None", "ImmediateOrderById(dummy, ORDER_ID)")
//call SM_TargetUnit(GetTriggerUnit(), GetSpellTargetUnit(), GetSpellAbilityId(), 1)
public function TargetUnit takes unit caster, unit target, integer abilityid, integer level returns nothing
local unit dummy = CreateUnit(GetOwningPlayer(target), DUMMY_ID, GetUnitX(target), GetUnitY(target), 0)
local integer orderid = GetUnitCurrentOrder(caster)
call UnitApplyTimedLife(dummy, 'BTLF', 2.0)
call UnitAddAbility(dummy, abilityid)
call SetUnitAbilityLevel(dummy, abilityid, level)
call IssueTargetOrderById(dummy, orderid, caster)
set dummy = null
endfunction
endlibrary
Well I couldn't find any videos about the wisps merging into an Ancient Wisp so I'll explain what happens in WBC3
- So 4 wisps are needed and the Ancient Wisp upgrade to be researched (wisps are normal peasant/builder units of the high elves in WBC3, IT'S a UNIT ability not hero ability) the hero plays no role in this!
It's like the archon ability in Starcraft with the only difference that there you need 2 units and here you need 4.
When you have selected the 4 wisps the ability "merge into Ancient Wisp" kind of gets able to activate so if you click it the four wisps (no matter where they are) run/move towards each other and when they are in a range (of somewhere about 500 of each other) they merge (like the wisps self destruct ability in WC3) creating only one bigger wisp called Ancient Wisp!
If you like I could add some pics on how it happens?!
I think that's all! But if someone has anymore questions? Just ask!![]()
Unholy ArmorI want to have the Unholy Armor spell from Warcraft I - I'll explain how it works:
Unit A casts Unholy Armor on Unit B - Unit B becomes invincible (can be attacked by other units and be a target to spells as well but takes no damage during the spell's(Unholy Armor) effect lasts.
The moment the spell is cast it takes 45% of targeted unit's total HP BUT if the targeted unit (in this case Unit B) has less than 45% of his total HP it takes no damage from the spell!
Ryan Alexander Blake The Lich KingAbilities:
Innate:
Frozen Armor - [Passive]
The less life the Lich King has, the more armor he has as his escaping life energy freezes his armor. He gains 1 armor for every 1% life missing. If the Lich King's life is under X%, water freezes on his armor in the form of spikes, dealing [STR] damage to enemies hitting him.
Freeze Life - [Area Target]
Every alive unit in the target area take [INT] damage and is frozen for X seconds. If the unit is hit while frozen, he takes [STR] damage for each second left from the ability and the effect on him ends.
Deep Darkness - [Area Target]
For X seconds, the target area is shrouded for every enemy unit, including those inside the area. If a unit dies in the area, a shadow fiend is summoned at his location, with stats depending on the INT of the Lich King.
Winds of Death - [No Target]
For X seconds, freezing winds surround the Lich King, dealing [INT] damage every second to every enemy in range. If an enemy dies in the range while this effect is active, it becomes an undead for [INT] seconds.
Deadly Pulse - [Area Target/No Target]
Within X range, every undead gain [STR] life while alive beings suffer the same damage. If a unit dies because of this effect, a deadly pulse with smaller range is cast and his body explodes.
Temporal DimensionCreates 3 illusion copies of the caster and makes him enter another dimension temporarily healing it 5% per second. When all the illusions are dead the caster returns to the world to fight once again.
Can u make a real jump spell please?