Показать сообщение отдельно
Старый 13.03.2012, 10:48   #1
Mayss
Ученый
 
Аватар для Mayss
 
Регистрация: 08.03.2010
Адрес: Россия, Сибирь, Новокузнецк
Сообщений: 137
Сказал(а) спасибо: 194
Поблагодарили 19 раз(а) в 13 сообщениях
Mayss На лучшее можно только надеяться...
Отправить сообщение для Mayss с помощью Skype™
По умолчанию Training Dummy [for classic]

Возникла идея "сделать" вернее взять с getmangos скрипт, и прикрутить его к классику.

Код:
#include "precompiled.h"

#define OUT_OF_COMBAT_TIME 5000

struct MANGOS_DLL_DECL npc_training_dummyAI : public Scripted_NoMovementAI
{
    uint32 combat_timer;
    npc_training_dummyAI(Creature* pCreature) : Scripted_NoMovementAI(pCreature)
    {
        Reset();
    }
    void Reset()
    {
	m_creature->addUnitState(UNIT_STAT_STUNNED);
	m_creature->addUnitState(UNIT_STAT_CONTROLLED);
        combat_timer = 0;
    }
    void DamageTaken(Unit* pDoneBy, uint32 &uiDamage)
    {
        combat_timer = 0;
    }
    void UpdateAI(const uint32 diff)
    {
        if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
            return;

        m_creature->ModifyHealth(m_creature->GetMaxHealth());
	m_creature->SetTargetGuid(ObjectGuid());
        combat_timer += diff;

        if (combat_timer > OUT_OF_COMBAT_TIME) 
            EnterEvadeMode();
    } 
};
CreatureAI* GetAI_npc_training_dummy(Creature* pCreature) 
{ 
    return new npc_training_dummyAI(pCreature); 
}

void AddSC_npc_training_dummy() 
{ 
    Script *newscript = new Script; 
    newscript->Name = "npc_training_dummy"; 
    newscript->GetAI = &GetAI_npc_training_dummy; 
    newscript->RegisterSelf(); 
}
Код:
INSERT INTO `creature_template` VALUES (19211,0,0,3019,0,'Training Dummy',NULL,0,3,3,6000000,700000,0,0,597,914,914,0,1,1,0,0,10,11,0,5,1,2000,2200,0,0,0,0,0,0,0,0,1.76,2.42,100,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,'',0,3,0,0,1,0,0,0,16384,2,'npc_training_dummy');
INSERT INTO `creature_template` VALUES (19212,0,0,3019,0,'Veteran\'s Training Dummy',NULL,0,55,55,6000000,700000,0,0,3221,914,914,0,1,1,0,0,10,11,0,5,1,2000,2200,0,0,0,0,0,0,0,0,1.76,2.42,100,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,'',0,3,0,0,1,0,0,0,16384,2,'npc_training_dummy');
INSERT INTO `creature_template` VALUES (19213,0,0,3019,0,'Training Dummy',NULL,0,60,60,6000000,700000,0,0,3750,914,914,0,1,1,0,0,10,11,0,5,1,2000,2200,0,0,0,0,0,0,0,0,1.76,2.42,100,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,'',0,3,0,0,1,0,0,0,16384,2,'npc_training_dummy');
INSERT INTO `creature_template` VALUES (19214,0,0,3019,0,'Raider\'s Training Dummy',NULL,0,63,63,6000000,700000,0,0,4647,914,914,0,1,1,0,3,10,11,0,5,1,2000,2200,0,0,0,0,0,0,0,0,1.76,2.42,100,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,'',0,3,0,0,1,0,0,0,16384,2,'npc_training_dummy');
ID можете сменить на свои, если они уже используются.
З.Ы у 3 уровня 597 брони, у 55 уровня 3221 брони, у 60 уровня 3750, и у 63(босс) 4647 соответственно. Это верно? взято из YTDB значения брони по уровням, или в классике они были меньше?.

Последний раз редактировалось Mayss; 13.03.2012 в 12:04. Причина: Добавил SQL.
Mayss вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
evilstar (13.03.2012), Gerald (15.03.2012), partizanes (13.03.2012)