Цитата Сообщение от BloodyMess Посмотреть сообщение
ну тогда ревизии дк на симкрафте при личе http://code.google.com/p/simulationc...cpp&start=4750 (Sep 2, 2010, Aug 28, 2010, May 4, 2010) за май точно лич.

0.4

// ==========================================================================
// Gargoyle
// ==========================================================================


struct gargoyle_pet_t : public pet_t
{
struct gargoyle_strike_t : public spell_t
{
gargoyle_strike_t( player_t* player ) :
spell_t( "gargoyle_strike", player, RESOURCE_NONE, SCHOOL_NATURE )
{
// FIX ME!
// Resist (can be partial)? Scaling?
background = true;
repeating = true;
may_crit = false;


base_dd_min = 130;
base_dd_max = 150;

base_spell_power_multiplier = 0;
base_attack_power_multiplier = 1;
direct_power_mod = 0.40;


base_execute_time = 2.0;
}
};


gargoyle_strike_t* gargoyle_strike;
double haste_snapshot, power_snapshot;


gargoyle_pet_t( sim_t* sim, player_t* owner ) :
pet_t( sim, owner, "gargoyle", true ), gargoyle_strike( 0 ), haste_snapshot( 1.0 ),
power_snapshot( 0.0 )
{
}


virtual void init_base()
{
// FIX ME!
attribute_base[ ATTR_STRENGTH ] = 0;
attribute_base[ ATTR_AGILITY ] = 0;
attribute_base[ ATTR_STAMINA ] = 0;
attribute_base[ ATTR_INTELLECT ] = 0;
attribute_base[ ATTR_SPIRIT ] = 0;


gargoyle_strike = new gargoyle_strike_t( this );
}
virtual double composite_spell_haste() SC_CONST { return haste_snapshot; }
virtual double composite_attack_power() SC_CONST { return power_snapshot; }


virtual void summon( double duration=0 )
{
pet_t::summon( duration );
// Haste etc. are taken at the time of summoning
death_knight_t* o = owner -> cast_death_knight();
haste_snapshot = o -> composite_attack_haste();
power_snapshot = o -> composite_attack_power() * o -> composite_attack_power_multiplier();
gargoyle_strike -> schedule_execute(); // Kick-off repeating attack
}
};
[свернуть]


- - - Updated - - -

и да, ДрД считает что гарга спускается 1 секунду

Скрытый текст

self.Calculation["Summon Gargoyle"] = function( calculation )
--Assume one second is wasted
calculation.sHits = math_floor((30 - 1) / (2 / calculation.haste))

calculation.APBonus = calculation.APBonus * calculation.sHits
calculation.haste = 1
calculation.canCrit = true
calculation.critM = 0.5
calculation.critPerc = 5
calculation.critM_custom = true
end
[свернуть]
Вот и я о чем говорю. Гарга скалирует ап в 0.4 а не 0.35. Сова как обычно сделала все на свой лад и не закрепив пруфами.