Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

iKrivetko

Тест на знание механики DotA за ключ к DOTA 2

Рекомендованные сообщения

скинь ответы в первый пост

интересно же

Поделиться сообщением


Ссылка на сообщение

Сколько переменных в триггере Berserker's Call (Axe)? - 5 локалок же  :nate: , глобалок нету. КАК ВЫ 8 НАСЧИТАЛИ?

 

 

Выберите способность(и) с динамическим триггерным лечением - почему правильно только ретрафакшн? Все абилки юзают +хп с евентом "юнит takes damage". ,????

Они используют pre-heal

это и есть триггерное лечение, нет? Динамическое? ДА, т.к. зависит от получаемого урона.

Динамическое лечение и pre-heal разные вещи  :clown:

ну-ка распиши.


Nite's Dungeon Arena beta 0.8 - экшн-арена, напоминает BLC. Ждите 1.0 релиза, вдруг скоро сделаю

Поделиться сообщением


Ссылка на сообщение

Всё равно тест завалил, так что задам пару вопросов...

 

Чё-то я не понял, а что не так с башером и аналогичными пассивками героев?

 

А так же интересует принцип, по которому предполагалось искать самого частого dummy юнита (e00E), учитывая, что имя у него Custom_e00E. По абилкам москиты и маркер?

Поделиться сообщением


Ссылка на сообщение

У кого не показывает результаты ГуглДоки

Делаем просмотр в виде листа

Или смотрим вложение (должно работать  :nate:) ибо то было для iWork

 

ай красава  :clown:

Поделиться сообщением


Ссылка на сообщение

Сколько переменных в триггере Berserker's Call (Axe)? - 5 локалок же  :nate: , глобалок нету. КАК ВЫ 8 НАСЧИТАЛИ?

 

 

Выберите способность(и) с динамическим триггерным лечением - почему правильно только ретрафакшн? Все абилки юзают +хп с евентом "юнит takes damage". ,????

Они используют pre-heal

это и есть триггерное лечение, нет? Динамическое? ДА, т.к. зависит от получаемого урона.

Динамическое лечение и pre-heal разные вещи  :clown:

ну-ка распиши.

Тебе же уже кидали ссылку http://prodota.ru/forum2/index.php?topic=195883.0

Поделиться сообщением


Ссылка на сообщение
link=topic=250254.msg2027321546#msg2027321546 date=1318631951]

Как работают 2 вангуарда?  :nate:

по теории вероятностей. При выпадении шанса у обоих срабатывает тот, который ты преобрел позднее. Т.к. блок одинаковый, то всеравно. 0.6+0.4*0.6=84% шанс блока.


Nite's Dungeon Arena beta 0.8 - экшн-арена, напоминает BLC. Ждите 1.0 релиза, вдруг скоро сделаю

Поделиться сообщением


Ссылка на сообщение

скажите с какой способностью стакаеться башер? с headshot штоле?


http://www.own3d.tv/live/70752/Altropos 

для тех у кого овн лагает

хуй

377f6a4afc12248822655698a9425363.gif

 

 

 

V TOT DVOR MRAZ'

 

x_34e8ea27.jpg

 

Поделиться сообщением


Ссылка на сообщение

Всё равно тест завалил, так что задам пару вопросов...

 

Чё-то я не понял, а что не так с башером и аналогичными пассивками героев?

 

А так же интересует принцип, по которому предполагалось искать самого частого dummy юнита (e00E), учитывая, что имя у него Custom_e00E. По абилкам москиты и маркер?

 

playdota.com

Поделиться сообщением


Ссылка на сообщение

F5 сломал  :clown:

юзаю оперу, обновляю страницу слабым движением мышки  :nate:

Юзаю мозилку с автообновлением

юзаю гугл хром, обновляю голосовой командой


1

gvOYK.jpg

 

2

sv2.gif

 

3

372970079.gif[img%20width=617

 

4

1300266265_1.gif

 

5

04915.jpg

Поделиться сообщением


Ссылка на сообщение

кажется тема стала отдалятся от верного курса  :._.:

Поделиться сообщением


Ссылка на сообщение

бле а про морту кстати интересно

кто считал?)

Поделиться сообщением


Ссылка на сообщение

вопрос про шанс крита мортред

насколько я помню там 3.2%, нужно посчитать после шести ударов, на первом ударе 3.2 , после первого 6.4, после второго 9.6, и тд после шестого 7*3.2 примерно 22.5>19%

???????

 

//опечатка fixed

 

обьяснит кто-нибудь глупому выпускнику мехмата откуда взялись 19% после шести неудачных попыток?

Поделиться сообщением


Ссылка на сообщение

Сделал наглядную таблицу результатов


Поделиться сообщением


Ссылка на сообщение

Сколько переменных в триггере Berserker's Call (Axe)? - 5 локалок же  :nate: , глобалок нету. КАК ВЫ 8 НАСЧИТАЛИ?

 

 

Выберите способность(и) с динамическим триггерным лечением - почему правильно только ретрафакшн? Все абилки юзают +хп с евентом "юнит takes damage". ,????

Они используют pre-heal

это и есть триггерное лечение, нет? Динамическое? ДА, т.к. зависит от получаемого урона.

Динамическое лечение и pre-heal разные вещи  :clown:

ну-ка распиши.

Тебе же уже кидали ссылку http://prodota.ru/forum2/index.php?topic=195883.0

Прочитал. Короче во всех случаях используется триггерное лечение, при этом динамическое т.к. зависит от урона. Определение "динамическое", которое использовалось в той статье является субъективным для статьи.

Бтв пост-лечение это типо с таймером? Надо код глянуть.

 


Nite's Dungeon Arena beta 0.8 - экшн-арена, напоминает BLC. Ждите 1.0 релиза, вдруг скоро сделаю

Поделиться сообщением


Ссылка на сообщение

Про BC:

 

источник спелла

уровень спелла

группа

длительность

количество юнитов

sfx

обрабатываемый юнит

счетчик

 

Про мортру написал не то, что в голове держал. Как я уже говорил - больше ничего в 4-5 утра составлять не буду. :nate:


Поделиться сообщением


Ссылка на сообщение

скинь ответы в первый пост

интересно же

Поделиться сообщением


Ссылка на сообщение

Колличество итераций в тоссе, правильный ответ - 51, но почему? Ведь подсчет идет от 1 до 51, причем этот 51ый шаг обнуляет переменные и снимает паузу. Т.е. 50 итераций. Я прав.

 

 

// Objects used:

// 'A0BZ' = Toss (Stone Giant : Tiny)

// 'n00I' = Chicken

// 'e01H' = Crow

// 'n00L' = Roshan

// 'A04R' = Marker (Nether Ward 4,Lightning Bolter,Nether Ward 3,Nether Ward 2,Vengeance Death caster,...)

// 'H00F' = Dragon Knight

// 'H00E' = Dragon Knight

// 'H00G' = Dragon Knight

// 'A0CY' = Grow (Stone Giant : Tiny)

// 'AEme' = Metamorphosis (Demon Hunter : Shadowsong,Shadowfury,Shadowstalker,Flameseeker,Darkweaver,...)

 

 

 

function Trig_Toss_Conditions takes nothing returns boolean

if(GetSpellAbilityId()!='A0BZ')then

return false

endif

if GetUnitTypeId(GetSpellTargetUnit())=='n00I'or GetUnitTypeId(GetSpellTargetUnit())=='e01H'then

return false

endif

if(GetOwningPlayer(GetSpellTargetUnit())==GetOwningPlayer(GetTriggerUnit()))then

return false

endif

return true

endfunction

 

 

 

function TossFilter takes nothing returns boolean

if(IsUnitType(GetFilterUnit(),UNIT_TYPE_ANCIENT))then

return false

endif

if IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE) then

return false

elseif IsUnitType(GetFilterUnit(),UNIT_TYPE_FLYING) then

return false

elseif GetFilterUnit()==GetSpellAbilityUnit()then

return false

elseif IsUnitDeadBJ(GetFilterUnit())then

return false

elseif IsUnitType(GetTriggerUnit(),UNIT_TYPE_ANCIENT) then

return false

elseif GetUnitTypeId(GetFilterUnit())=='n00L'then

return false

elseif IsUnitType(GetTriggerUnit(),UNIT_TYPE_GIANT) then

return false

elseif IsUnitVisible(GetFilterUnit(),GetOwningPlayer(GetSpellAbilityUnit()))==false then

return false

elseif GetUnitAbilityLevelSwapped('A04R',GetFilterUnit())!=0 then

return false

elseif(GetUnitTypeId(GetFilterUnit())=='H00F'or GetUnitTypeId(GetFilterUnit())=='H00E'or GetUnitTypeId(GetFilterUnit())=='H00G')then

return false

endif

return true

endfunction

 

 

 

function TossDamage takes unit pWho,real pxx,real pyy,real pAOE,real pDamage,integer pSpellId returns nothing

local group lVictims=CreateGroup()

local unit lFirst

local location lTMP

call GroupEnumUnitsInRange(lVictims,pxx,pyy,pAOE,null)

loop

set lFirst=FirstOfGroup(lVictims)

exitwhen lFirst==null

if IsUnitEnemy(lFirst,GetOwningPlayer(pWho))and IsUnitDeadBJ(lFirst)==false and GetUnitAbilityLevel(lFirst,'A04R')==0 then

if(IsUnitType(lFirst,UNIT_TYPE_STRUCTURE)==false)then

call UnitDamageTargetBJ(pWho,lFirst,pDamage,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_DEMOLITION)

else

call UnitDamageTargetBJ(pWho,lFirst,pDamage/3,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_DEMOLITION)

endif

set lTMP=GetUnitLoc(lFirst)

call DestroyEffect(AddSpellEffectByIdLoc(pSpellId,EFFECT_TYPE_CASTER,lTMP))

call DestroyEffect(AddSpellEffectByIdLoc(pSpellId,EFFECT_TYPE_CASTER,lTMP))

call DestroyEffect(AddSpellEffectByIdLoc(pSpellId,EFFECT_TYPE_CASTER,lTMP))

call RemoveLocation(lTMP)

call GroupRemoveUnit(lVictims,lFirst)

else

call GroupRemoveUnit(lVictims,lFirst)

endif

endloop

call GroupClear(lVictims)

call DestroyGroup(lVictims)

endfunction

 

 

 

function TossMain takes nothing returns nothing

local timer lMoveTimer=GetExpiredTimer()

local string lTable=H2Tx(lMoveTimer)

local integer lCount=GetInteger(lTable,"TossCounter")

local real lRange=GetReal(lTable,"TossDistance")

local real lAngle=GetReal(lTable,"TossAngle")

local location lTarget=GetLocation(lTable,"TossTargetLoc")

local location lStart=GetLocation(lTable,"TossSourceLoc")

local unit lCaster=GetUnit(lTable,"Tiny")

local unit lVictim=GetUnit(lTable,"TossSource")

local real lHeight=(lCount-25)*(lCount-25)

local real lSpeedMod=lRange*lCount/50-lRange

local location lDest=PolarProjectionBJ(lTarget,lSpeedMod,lAngle)

if(lCount<51)then

call SetUnitPositionLoc(lVictim,lDest)

call SetUnitFlyHeight(lVictim,775-lHeight,0)

set lCount=lCount+1

if(GetRandomInt(1,4)==2)then

call DestroyEffect(AddSpecialEffectTargetUnitBJ("origin",lVictim,"Abilities\\Spells\\Undead\\Cripple\\CrippleTarget.mdl"))

endif

endif

if(lCount>50)then

call SetUnitFlyHeight(lVictim,GetUnitDefaultFlyHeight(lVictim),0)

call PauseUnit(lVictim,false)

call SetUnitPathing(lVictim,true)

call TerrainDeformationRippleBJ(.2,true,lTarget,1.,300.,96.,1,64.)

if IsUnitAlly(lVictim,GetOwningPlayer(lCaster))then

call UnitDamageTargetBJ(lCaster,lVictim,.2*75*GetUnitAbilityLevel(lCaster,'A0BZ'),ATTACK_TYPE_NORMAL,DAMAGE_TYPE_DEMOLITION)

else

call UnitDamageTargetBJ(lCaster,lVictim,(.2+.15*GetUnitAbilityLevel(lCaster,'A0CY'))*75*GetUnitAbilityLevel(lCaster,'A0BZ'),ATTACK_TYPE_NORMAL,DAMAGE_TYPE_DEMOLITION)

endif

call TossDamage(lCaster,GetLocationX(lTarget),GetLocationY(lTarget),300,75.*I2R(GetUnitAbilityLevelSwapped('A0BZ',lCaster)),'A0BZ')

call EnumDestructablesInCircleBJ(300,lTarget,function KillDestructableEnum)

call PauseTimer(GetExpiredTimer())

call PolledWait(.01)

call FastFlush(lTable)

call DestroyTimer(GetExpiredTimer())

call RemoveLocation(lTarget)

call RemoveLocation(lStart)

endif

call SetInteger(lTable,"TossCounter",lCount)

call RemoveLocation(lDest)

endfunction

 

 

 

function Trig_Toss_Actions takes nothing returns nothing

local group lNearCaster=CreateGroup()

local timer lMoveTimer

local unit lCaster=GetTriggerUnit()

local unit lVictim

local location lTarget

local location lStart

local integer lCounter

local real lRange

local real lAngle

local string lf5

call GroupEnumUnitsInRange(lNearCaster,GetUnitX(lCaster),GetUnitY(lCaster),275,Condition(function TossFilter))

set lVictim=GroupPickRandomUnit(lNearCaster)

call DestroyGroup(lNearCaster)

set lTarget=GetUnitLoc(GetSpellTargetUnit())

set lStart=GetUnitLoc(lVictim)

set lCounter=1

set lRange=DistanceBetweenPoints(lStart,lTarget)

set lAngle=AngleBetweenPoints(lStart,lTarget)

if(lVictim!=null and GetUnitTypeId(lVictim)!='n00I'and GetUnitTypeId(lVictim)!='e01H'and GetOwningPlayer(GetSpellTargetUnit())!=GetOwningPlayer(lCaster))then

call SetUnitAnimationByIndex(lCaster,4)

call PauseUnit(lVictim,true)

call SetUnitPathing(lVictim,false)

call UnitAddAbility(lVictim,'AEme')

call UnitRemoveAbility(lVictim,'AEme')

set lMoveTimer=CreateTimer()

set lf5=H2Tx(lMoveTimer)

call SetHandle(lf5,"Tiny",lCaster)

call SetHandle(lf5,"TossSource",lVictim)

call SetHandle(lf5,"TossTargetLoc",lTarget)

call SetHandle(lf5,"TossSourceLoc",lStart)

call SetInteger(lf5,"TossCounter",lCounter)

call SetReal(lf5,"TossDistance",lRange)

call SetReal(lf5,"TossAngle",lAngle)

call TimerStart(lMoveTimer,.02,true,function TossMain)

endif

endfunction

 

 

 

function StartTrigger_Toss takes nothing returns nothing

set gg_trg_Toss=CreateTrigger()

call TriggerRegisterAnyUnitEventBJ(gg_trg_Toss,EVENT_PLAYER_UNIT_SPELL_EFFECT)

call TriggerAddCondition(gg_trg_Toss,Condition(function Trig_Toss_Conditions))

call TriggerAddAction(gg_trg_Toss,function Trig_Toss_Actions)

endfunction

 

function InitTrig_Toss takes nothing returns nothing

endfunction

 

 

^выделил жирным доказательства


Nite's Dungeon Arena beta 0.8 - экшн-арена, напоминает BLC. Ждите 1.0 релиза, вдруг скоро сделаю

Поделиться сообщением


Ссылка на сообщение

Поправил с учетом мортры. Чувствую себя идиотом слегка. :nate:


Поделиться сообщением


Ссылка на сообщение

а точно циклон не снимает рут? Вроде ж снимает, т.к. дает неуязвимость, а рут диспелится, значит инвул его точно должен снять.


Nite's Dungeon Arena beta 0.8 - экшн-арена, напоминает BLC. Ждите 1.0 релиза, вдруг скоро сделаю

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...