SHOW:
|
|
- or go back to the newest paste.
| 1 | #include "ScriptPCH.h" | |
| 2 | ||
| 3 | - | public: // po tomto bude všechno dále veřejné (bude mít do věcí pod public přístup "cokoli" viz. Zapouzdření) |
| 3 | + | #define spell_cleave 845 |
| 4 | - | my_patchwerk() : CreatureScript("my_patchwerk") { } // budeme potřebovat do databáze
|
| 4 | + | #define spell_death_coil 6789 |
| 5 | ||
| 6 | class my_patchwerk : public CreatureScript | |
| 7 | {
| |
| 8 | public: | |
| 9 | my_patchwerk() : CreatureScript("my_patchwerk") { }
| |
| 10 | - | uint32 tcleave; // vytvoříme si proměnnou která bude sloužit jako timer pro cleave |
| 10 | + | |
| 11 | - | uint32 tdeathcoil; // ----------------||----------------------------------- death coil |
| 11 | + | |
| 12 | {
| |
| 13 | my_patchwerkAI(Creature *c) : ScriptedAI(c) {}
| |
| 14 | ||
| 15 | - | tcleave = 15000; // Čas v milisekundách kdy použije Cleave (15 sekund) 1 sekunda = 1000 milisekund |
| 15 | + | uint32 tcleave; |
| 16 | uint32 tdeathcoil; | |
| 17 | ||
| 18 | void Reset() | |
| 19 | - | void EnterCombat(Unit* /*who*/) // co se stane když vstoupí do kombatu |
| 19 | + | |
| 20 | tcleave = 15000; | |
| 21 | - | me->MonsterYell("Teď zemřeš červe.", LANG_UNIVERSAL, NULL); // zakřičí v univerzálním jazyku pro všechny
|
| 21 | + | |
| 22 | } | |
| 23 | ||
| 24 | void EnterCombat(Unit* /*who*/) | |
| 25 | {
| |
| 26 | - | me->MonsterYell("Patchwerk .... neeeumííírááááááá.... ehl ...", LANG_UNIVERSAL, NULL);
|
| 26 | + | me->MonsterYell("I yelled on combat", LANG_UNIVERSAL, NULL);
|
| 27 | } | |
| 28 | ||
| 29 | - | void KilledUnit(Unit* /*victim*/) // co se stane když zabije hráče |
| 29 | + | |
| 30 | {
| |
| 31 | - | me->MonsterYell("Takhle vás pozabíjím všechny !!!", LANG_UNIVERSAL, NULL);
|
| 31 | + | me->MonsterYell("I yelled on death", LANG_UNIVERSAL, NULL);
|
| 32 | } | |
| 33 | ||
| 34 | void KilledUnit(Unit* /*victim*/) | |
| 35 | {
| |
| 36 | - | if (!UpdateVictim()) // pokud nemá cíl, nebude nic dělat |
| 36 | + | me->MonsterYell("I yelled when killing someone", LANG_UNIVERSAL, NULL);
|
| 37 | } | |
| 38 | ||
| 39 | void UpdateAI(const uint32 diff) | |
| 40 | {
| |
| 41 | - | DoCast(me->getVictim(), spell_cleave, true); // vykastí spell na svůj cíl |
| 41 | + | if (!UpdateVictim()) |
| 42 | - | tcleave = 15000; // znovu nastaví tcleave na 15 sekund |
| 42 | + | |
| 43 | ||
| 44 | if (tcleave <= diff) | |
| 45 | - | tcleave -= diff; // odečítá z tcleave UpdateMapy (100 - 60 v configu MapUpdateInterval) |
| 45 | + | |
| 46 | DoCast(me->getVictim(), spell_cleave, true); | |
| 47 | tcleave = 15000; | |
| 48 | } | |
| 49 | else | |
| 50 | tcleave -= diff; | |
| 51 | ||
| 52 | if (tdeathcoil <= diff) | |
| 53 | {
| |
| 54 | DoCast(me->getVictim(), spell_death_coil, true); | |
| 55 | me->MonsterYell("Eat This !", LANG_UNIVERSAL, NULL);
| |
| 56 | - | DoMeleeAttackIfReady(); // bude útočit, když bude moci |
| 56 | + | |
| 57 | } | |
| 58 | else | |
| 59 | tdeathcoil -= diff; | |
| 60 | ||
| 61 | DoMeleeAttackIfReady(); | |
| 62 | } | |
| 63 | }; | |
| 64 | ||
| 65 | CreatureAI* GetAI(Creature* pCreature) const | |
| 66 | {
| |
| 67 | return new my_patchwerkAI (pCreature); | |
| 68 | } | |
| 69 | ||
| 70 | }; | |
| 71 | ||
| 72 | void AddSC_my_patchwerk() | |
| 73 | {
| |
| 74 | new my_patchwerk(); | |
| 75 | } |