Developer's Blog
Register Low Fi Mark Forums Read

Reply
 
Thread Tools
Old 12-14-2009, 11:55 PM   #1
kawumm
Member
 
kawumm's Avatar
 
Join Date: Jun 2009
Location: Back in good ole Germany
Posts: 5,494
Guide Writer Award 
kawumm is offline

Default Dual Breaths actual AoE?


Hi, im currently writing a guide to THD, and want to provide a picture that shows the AoE that is affected by Dual Breath. ive searched the forums but the only thing i could find was "its 2000 AoE, the geometry is very hard to explain".

the hero page says 500 cast range, 200 starting AoE and 250 final AoE. im guessing the cone starts with a width of 200 and ends with 250. so, the main thing i wanna know (i dont think i really need to know the exact geometry IF it really is that complicated to explain) is the length of the cone.

thanks in advance
__________________
Quote:
Originally Posted by Korgone View Post
I'm telling you, blink+shrapnel works and it has no channeling time unlike epicenter so sniper is a better initiator than SK.
/thread
epic

  Reply With Quote
Last edited by kawumm; 12-14-2009 at 11:57 PM.
Old 12-15-2009, 12:43 AM   #2
TheBloodseeker
Member
 
TheBloodseeker's Avatar
 
Join Date: Jun 2009
Posts: 1,574
TheBloodseeker is offline
Default Re: Dual Breaths actual AoE?

When Jakiro is picked, a unit is created which learns the Breaths and Frost Nova (A0OB,A0OC,A0OA) used for this skill, to preload them.

When the spell goes into effect, count every enemy unit in a 2000 AoE which are in a cone shaped in front of Jakiro (the geometry to explain it is very hard to explain) then for all units a dummy unit is created (e00E) on top of the unit, given a Frost Nova ability (A0OA) and told to use it on the unit. Afterwards a unit is spawned on top of Jakiro, and is given a Breath of Fire ability (A0OB) with level equal to DualBreathlvl, which provides the damage of the First Breath by casting it on the place where Jakiro casted DB. Then a timed periodic trigger is evoked 0.3 seconds later (1).

(1): When it is run for the first time Jakiro is told to go into its spell casting animation and a unit is created 50 units on front of Jakiro angle of DB and given a Breath of Frost ability (A0OC) with level equal to DualBreathlvl to provide the Damage+DoT, and issues it to cast in on the location where you casted Dual Breath. When it is run for the second time, Jakiro's animation is set to stand and the trigger is destroyed.

The frost nova casted by the dummies provide the slowed effect, last for 4 seconds, has no AoE and does no damage.
Note that since the second dummy unit is told to use it on the floor where you casted it you can make the second Breath not to go in the exact way than the first if you cast it too close to yourself. Note that you can't target yourself with DB so it's somewhat hard but possible to even cast it completely backwards.


I imagine thats the one you found? i read that thread at least 100 times.
  Reply With Quote
Old 12-15-2009, 12:50 AM   #3
kawumm
Member
 
kawumm's Avatar
 
Join Date: Jun 2009
Location: Back in good ole Germany
Posts: 5,494
Guide Writer Award 
kawumm is offline
Default Re: Dual Breaths actual AoE?

^ yea. thanks for nothing ._.
__________________
Quote:
Originally Posted by Korgone View Post
I'm telling you, blink+shrapnel works and it has no channeling time unlike epicenter so sniper is a better initiator than SK.
/thread
epic

  Reply With Quote
Old 12-15-2009, 12:51 AM   #4
JungleLove
Member
 
Join Date: Dec 2009
Posts: 1
JungleLove is offline
Default Re: Dual Breaths actual AoE?

Dual Breathe is a weird skills TBH, it can be split in half and shot in different directions by clicking on a spot right under jakiro, if anything it's 2 Cone AoEs at once.
  Reply With Quote
Old 12-15-2009, 12:54 AM   #5
kawumm
Member
 
kawumm's Avatar
 
Join Date: Jun 2009
Location: Back in good ole Germany
Posts: 5,494
Guide Writer Award 
kawumm is offline
Default Re: Dual Breaths actual AoE?

^ well yea, but i imagine the AoE of both cones are the same. i hope so at least. yay another question!

where are those mech guys that know everything? i saw antiweltteilchen reading this, still no answer
__________________
Quote:
Originally Posted by Korgone View Post
I'm telling you, blink+shrapnel works and it has no channeling time unlike epicenter so sniper is a better initiator than SK.
/thread
epic

  Reply With Quote
Old 12-15-2009, 01:02 AM   #6
Zephirdd
Member
 
Zephirdd's Avatar
 
Join Date: Aug 2009
Location: Brazil
Posts: 2,305
Zephirdd is offline
Default Re: Dual Breaths actual AoE?

For a cone, A = (alpha*pi*R²)/360º, where alpha is the angle of the cone, R is the length(what you want to know).

since we got an AoE of 2000, then:
2000 = (alpha*pi*R²)/360
720000 = alpha*pi*R²


Since the cone has 200 AoE on the minimum and 250 AoE on the maximum side, then alpha = 53,13º aprox.

so,
720000 = 53*pi*R²
R² ~= 4324,2
R ~= 65,75 units.


Notice that the "cone" has a circle on the top and on the end of it, so you gotta add about 225 units to the lenght. 65,75 is the distance between the two circles.

So basically, the cone has about 290 AoE lenght.
__________________
Quote:
Originally Posted by DCX View Post
Retards make up 90% of the community. If you are not smart enough to avoid them, it makes you one of them.
  Reply With Quote
Old 12-15-2009, 01:05 AM   #7
antiweltteilchen
Forum Staff
 
antiweltteilchen's Avatar
 
Join Date: Jun 2009
Location: germany
Posts: 3,253
Send a message via ICQ to antiweltteilchen
antiweltteilchen is offline
Default Re: Dual Breaths actual AoE?

it's indeed horribad complicated.

Code:
function Func1544 takes real loc_real01,real loc_real02,real loc_real03,real loc_real04,real loc_real05,real loc_real06,real loc_real07,real loc_real08 returns boolean
  local real loc_real09=(loc_real08-loc_real02)*(loc_real03-loc_real01)-(loc_real07-loc_real01)*(loc_real04-loc_real02)
  local real loc_real10=(loc_real08-loc_real06)*(loc_real01-loc_real05)-(loc_real07-loc_real05)*(loc_real02-loc_real06)
  local real loc_real11=(loc_real08-loc_real04)*(loc_real05-loc_real03)-(loc_real07-loc_real03)*(loc_real06-loc_real04)
  return(loc_real09*loc_real10>0)and(loc_real11*loc_real10>0)
endfunction
function Func1545 takes nothing returns boolean
  local real loc_real01=real005
  local real loc_real02=real006
  local real loc_real03=real007
  local real loc_real04=real008
  local real loc_real05=real009
  local real loc_real06=real010
  return IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit()))and Func1544(loc_real01,loc_real02,loc_real03,loc_real04,loc_real05,loc_real06,GetUnitX(GetFilterUnit()),GetUnitY(GetFilterUnit()))
endfunction
function Func1546 takes real loc_real01,real loc_real02,real loc_real03 returns nothing
  local real loc_real04=550
  local real loc_real05=200
  local real loc_real06=250
  local real loc_real07=Asin((loc_real06-loc_real05)/ loc_real04)
  local real loc_real08=loc_real05/ Sin(loc_real07)
  local real loc_real09=(loc_real04+loc_real06+loc_real08)*Tan(loc_real07)
  local real loc_real10=loc_real02+loc_real08*Cos((loc_real01-180)*bj_DEGTORAD)
  local real loc_real11=loc_real03+loc_real08*Sin((loc_real01-180)*bj_DEGTORAD)
  local real loc_real12=(loc_real02+(loc_real04+loc_real06)*Cos(loc_real01*bj_DEGTORAD))+loc_real09*Cos((loc_real01-90)*bj_DEGTORAD)
  local real loc_real13=(loc_real03+(loc_real04+loc_real06)*Sin(loc_real01*bj_DEGTORAD))+loc_real09*Sin((loc_real01-90)*bj_DEGTORAD)
  local real loc_real14=(loc_real02+(loc_real04+loc_real06)*Cos(loc_real01*bj_DEGTORAD))+loc_real09*Cos((loc_real01+90)*bj_DEGTORAD)
  local real loc_real15=(loc_real03+(loc_real04+loc_real06)*Sin(loc_real01*bj_DEGTORAD))+loc_real09*Sin((loc_real01+90)*bj_DEGTORAD)
  set real005=loc_real10
  set real006=loc_real11
  set real007=loc_real12
  set real008=loc_real13
  set real009=loc_real14
  set real010=loc_real15
endfunction
function Func1547 takes nothing returns nothing
  local unit loc_unit01=CreateUnit(GetOwningPlayer(GetTriggerUnit()),'e00E',GetUnitX(GetEnumUnit()),GetUnitY(GetEnumUnit()),0)
  call UnitAddAbility(loc_unit01,'A0OA')
  call IssueTargetOrder(loc_unit01,"frostnova",GetEnumUnit())
  set loc_unit01=null
endfunction
function Func1548 takes nothing returns boolean
  local trigger loc_trigger01=GetTriggeringTrigger()
  local integer loc_integer01=GetHandleId(loc_trigger01)
  local player loc_player01=(LoadPlayerHandle(hashtable001,(loc_integer01),(54)))
  local unit loc_unit01=(LoadUnitHandle(hashtable001,(loc_integer01),(14)))
  local real loc_real01=(LoadReal(hashtable001,(loc_integer01),(6)))
  local real loc_real02=(LoadReal(hashtable001,(loc_integer01),(7)))
  local real loc_real03=(LoadReal(hashtable001,(loc_integer01),(47)))
  local real loc_real04=(LoadReal(hashtable001,(loc_integer01),(48)))
  local integer loc_integer02=(LoadInteger(hashtable001,(loc_integer01),(5)))
  local unit loc_unit02
  if GetTriggerEvalCount(loc_trigger01)>1 then
    call SetUnitAnimation(loc_unit01,"stand")
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0034(loc_trigger01)
  else
    call SetUnitAnimation(loc_unit01,"spell")
    set loc_unit02=CreateUnit(loc_player01,'e00E',loc_real01,loc_real02,0)
    call UnitAddAbility(loc_unit02,'A0OC')
    call SetUnitAbilityLevel(loc_unit02,'A0OC',loc_integer02)
    call IssuePointOrder(loc_unit02,"breathoffrost",loc_real03,loc_real04)
  endif
  set loc_trigger01=null
  set loc_player01=null
  set loc_unit01=null
  set loc_unit02=null
  return false
endfunction
function Func1549 takes unit loc_unit01,player loc_player01,integer loc_integer01,location loc_location01,real loc_real01,real loc_real02 returns nothing
  local trigger loc_trigger01=CreateTrigger()
  local integer loc_integer02=GetHandleId(loc_trigger01)
  call SavePlayerHandle(hashtable001,(loc_integer02),(54),(loc_player01))
  call SaveReal(hashtable001,(loc_integer02),(6),((loc_real01)*1.0))
  call SaveReal(hashtable001,(loc_integer02),(7),((loc_real02)*1.0))
  call SaveReal(hashtable001,(loc_integer02),(47),((GetLocationX(loc_location01))*1.0))
  call SaveReal(hashtable001,(loc_integer02),(48),((GetLocationY(loc_location01))*1.0))
  call SaveInteger(hashtable001,(loc_integer02),(5),(loc_integer01))
  call SaveUnitHandle(hashtable001,(loc_integer02),(14),(loc_unit01))
  call TriggerRegisterTimerEvent(loc_trigger01,0.3,true)
  call TriggerAddCondition(loc_trigger01,Condition(function Func1548))
  set loc_trigger01=null
endfunction
function Func1550 takes nothing returns nothing
  local unit loc_unit01=GetTriggerUnit()
  local integer loc_integer01=GetUnitAbilityLevel(loc_unit01,'A0O7')
  local real loc_real01=GetUnitX(loc_unit01)
  local real loc_real02=GetUnitY(loc_unit01)
  local location loc_location01
  local unit loc_unit02
  local group loc_group01=Func0029()
  if GetSpellTargetUnit()==null then
    set loc_location01=GetSpellTargetLoc()
  else
    set loc_location01=GetUnitLoc(GetSpellTargetUnit())
  endif
  call Func1546(bj_RADTODEG*Atan2(GetLocationY(loc_location01)-loc_real02,GetLocationX(loc_location01)-loc_real01),loc_real01,loc_real02)
  call GroupEnumUnitsInRange(loc_group01,loc_real01,loc_real02,2000,Condition(function Func1545))
  call ForGroup(loc_group01,function Func1547)
  call Func0028(loc_group01)
  set loc_unit02=CreateUnit(GetOwningPlayer(loc_unit01),'e00E',loc_real01,loc_real02,0)
  call UnitAddAbility(loc_unit02,'A0OB')
  call SetUnitAbilityLevel(loc_unit02,'A0OB',loc_integer01)
  call IssuePointOrder(loc_unit02,"breathoffire",GetLocationX(loc_location01),GetLocationY(loc_location01))
  call Func1549(loc_unit01,GetOwningPlayer(loc_unit01),loc_integer01,loc_location01,loc_real01+50*Cos(Atan2(GetLocationY(loc_location01)-loc_real02,GetLocationX(loc_location01)-loc_real01)),loc_real02+50*Sin(Atan2(GetLocationY(loc_location01)-loc_real02,GetLocationX(loc_location01)-loc_real01)))
  call RemoveLocation(loc_location01)
  set loc_unit01=null
  set loc_location01=null
  set loc_group01=null
endfunction
function Func1551 takes nothing returns boolean
  if GetSpellAbilityId()=='A0O7' then
    call Func1550()
  endif
  return false
endfunction
__________________

My Preciousssss
crdits to Infrisios for avatar :>
  Reply With Quote
Old 12-15-2009, 01:12 AM   #8
kawumm
Member
 
kawumm's Avatar
 
Join Date: Jun 2009
Location: Back in good ole Germany
Posts: 5,494
Guide Writer Award 
kawumm is offline
Default Re: Dual Breaths actual AoE?

edit: ^ LOL. that doesnt really help me ._.

Quote:
Originally Posted by Zephirdd View Post
For a cone, A = (alpha*pi*R²)/360º, where alpha is the angle of the cone, R is the length(what you want to know).

since we got an AoE of 2000, then:
2000 = (alpha*pi*R²)/360
720000 = alpha*pi*R²


Since the cone has 200 AoE on the minimum and 250 AoE on the maximum side, then alpha = 53,13º aprox.

so,
720000 = 53*pi*R²
R² ~= 4324,2
R ~= 65,75 units.


Notice that the "cone" has a circle on the top and on the end of it, so you gotta add about 225 units to the lenght. 65,75 is the distance between the two circles.

So basically, the cone has about 290 AoE lenght.
that cant be true. alone the cast range is 500, and the units beyond that are affected by it as well. if i had to guess, id say it has a length of ~850.

im also not sure if it really is a cone, i mean 200 starting AoE IMO means that the spell covers 200 units in width directly in front of jakiro, and 250 where it ends. after approximately 850 units. im just theorycrafting, but i really cant imagine what that description on the hero page is supposed to mean otherwise.
__________________
Quote:
Originally Posted by Korgone View Post
I'm telling you, blink+shrapnel works and it has no channeling time unlike epicenter so sniper is a better initiator than SK.
/thread
epic

  Reply With Quote
Old 12-15-2009, 01:23 AM   #9
Val
Member
 
Val's Avatar
 
Join Date: Jun 2009
Posts: 2,326
Blog Entries: 2
Guide Writer Award 
Val is offline
Default Re: Dual Breaths actual AoE?

In my mind, I've always considered it a cone starting at 200 and getting wider to 250 with a 250 radius hemisphere attached at the end. I'll straight-up admit that I don't know why I thought that was correct and that reading the JASS has done nothing to clear things up for me either.
__________________
  Reply With Quote
Old 12-15-2009, 01:28 AM   #10
kawumm
Member
 
kawumm's Avatar
 
Join Date: Jun 2009
Location: Back in good ole Germany
Posts: 5,494
Guide Writer Award 
kawumm is offline
Default Re: Dual Breaths actual AoE?

i guess ill just have to make up a number
__________________
Quote:
Originally Posted by Korgone View Post
I'm telling you, blink+shrapnel works and it has no channeling time unlike epicenter so sniper is a better initiator than SK.
/thread
epic

  Reply With Quote
Old 12-15-2009, 01:41 AM   #11
CoaL
Member
 
CoaL's Avatar
 
Join Date: Jun 2009
Posts: 69
CoaL is offline
Default Re: Dual Breaths actual AoE?

You don't need to put a number. Just use a picture.
  Reply With Quote
Old 12-15-2009, 01:45 AM   #12
TheBloodseeker
Member
 
TheBloodseeker's Avatar
 
Join Date: Jun 2009
Posts: 1,574
TheBloodseeker is offline
Default Re: Dual Breaths actual AoE?

Quote:
Originally Posted by kawumm View Post
^ yea. thanks for nothing ._.
ya np, its what i do best.

Accomplishing nothing and still getting thanked.
  Reply With Quote
Old 12-15-2009, 01:54 AM   #13
kawumm
Member
 
kawumm's Avatar
 
Join Date: Jun 2009
Location: Back in good ole Germany
Posts: 5,494
Guide Writer Award 
kawumm is offline
Default Re: Dual Breaths actual AoE?

Quote:
Originally Posted by CoaL View Post
You don't need to put a number. Just use a picture.
i am going to use a picture, but it would be nice to put a number in it. with icepath and macropyre its significantly easier <.<
__________________
Quote:
Originally Posted by Korgone View Post
I'm telling you, blink+shrapnel works and it has no channeling time unlike epicenter so sniper is a better initiator than SK.
/thread
epic

  Reply With Quote
Old 12-15-2009, 01:57 AM   #14
DaTaBASE
Member
 
Join Date: Jun 2009
Posts: 83
DaTaBASE is offline
Default Re: Dual Breaths actual AoE?

Quote:
Originally Posted by TheBloodseeker View Post
ya np, its what i do best.

Accomplishing nothing and still getting thanked.
Haha,you got me there )
  Reply With Quote
Old 12-15-2009, 03:58 AM   #15
casczxc
Member
 
casczxc's Avatar
 
Join Date: Aug 2009
Location: House
Posts: 702
Send a message via Yahoo to casczxc
casczxc is offline
Default Re: Dual Breaths actual AoE?

Its like Knight Davion fire
  Reply With Quote
Old 12-15-2009, 03:59 AM   #16
Pillowphile
Member
 
Pillowphile's Avatar
 
Join Date: Oct 2009
Posts: 136
Blog Entries: 1
Pillowphile is offline
Default Re: Dual Breaths actual AoE?

The length of the cone should be not more than 500 but above 400. The second breath has a further range of 50.

Well, that's my guts feeling LOL.
  Reply With Quote
Last edited by Pillowphile; 12-15-2009 at 04:05 AM.
Old 12-15-2009, 04:27 AM   #17
frenzyman
Member
 
Join Date: Oct 2009
Posts: 10
frenzyman is offline
Default Re: Dual Breaths actual AoE?



first enermies in P1,2,3,4 area will be slowed


then cast breath of fire in the cone area


then breath of frost providing dot damage


actual damaged area


the wisps placed at the end only got dot damage

slow area

sry for my bad english
  Reply With Quote
Last edited by frenzyman; 12-15-2009 at 04:37 AM. Reason: Baidu sucks
Old 12-15-2009, 10:18 AM   #18
Clogon
Member
 
Join Date: Jun 2009
Posts: 425
Clogon is offline
Default Re: Dual Breaths actual AoE?

The breath's Damage AoE isn't the complicated one though. It is the Frost Nova AoE that everyone here (Besides the OP) is talking about. It is so complicated that it will Frost Nova units that are within ~200 units behind and to the side of THD even if they aren't affected by the Dual Breaths itself.

Dual Breath is 1 Breath of Fire, 1 Breath of Frost and 1 triggered AoE that causes all units to be targeted by a Dummy Unit with Frost Nova. The 2 breaths are Hardcoded and has the AoE's as shown in frenzyman's pictures. The first Circle's circumference of the Breath starts by touching THD's Collision Size then expands as it travels. However the Frost Nova AoE Circle starts with its center at the center of THD. Though I think it is much easier to just use a Trigger that detects the damage source of the Dummy that casts the Breath of Frost and Frost Nova all units damaged by it. This way all the AoE's will be the similar.
__________________
I don't like moving...
  Reply With Quote
Last edited by Clogon; 12-15-2009 at 10:21 AM.
Old 12-15-2009, 12:34 PM   #19
kawumm
Member
 
kawumm's Avatar
 
Join Date: Jun 2009
Location: Back in good ole Germany
Posts: 5,494
Guide Writer Award 
kawumm is offline
Default Re: Dual Breaths actual AoE?

Quote:
Originally Posted by frenzyman View Post
amazing pictures which apparently may not be quoted
wow, thanks man. that really is quite complicated, but those pictures show it in a way that even i can understand
__________________
Quote:
Originally Posted by Korgone View Post
I'm telling you, blink+shrapnel works and it has no channeling time unlike epicenter so sniper is a better initiator than SK.
/thread
epic

  Reply With Quote
Last edited by kawumm; 12-16-2009 at 03:00 AM. Reason: wannabe mod making fun of me
Old 12-15-2009, 12:42 PM   #20
Shizzy-
Member
 
Shizzy-'s Avatar
 
Join Date: Sep 2009
Posts: 2,119
Shizzy- is offline
Default Re: Dual Breaths actual AoE?

Quote:
Originally Posted by TheBloodseeker View Post
ya np, its what i do best.

Accomplishing nothing and still getting thanked.
Win post, I laughed.

On topic: Picture seems to be a lot easier then these complicated formulas.
  Reply With Quote
Reply
  Defense of the Ancients Advanced Mechanics


Forum Jump


Tags
dual breath
Thread Tools