Projekt

Allgemein

Profil

Aktionen

Fehler #1451

geschlossen

[Gamemechanic] Pushen von Mobs

Von Jingkong45 vor fast 13 Jahren hinzugefügt. Vor mehr als 7 Jahren aktualisiert.

Status:
Abgewiesen
Priorität:
Normal
Zugewiesen an:
-
Kategorie:
Zukunft
Zielversion:
Beginn:
23.12.2011
Update Text Deutsch:

Beschreibung

Das "Pushen" von Mobs ist hier leider nicht möglich. Ich weiß nicht ob es möglich ist, dies zu fixxen, aber ich schreibe trotzdem mal ein Ticket.
Das "Pushen" von Mobs ist ganz einfach die Funktion es nach vorne von sich "weg zu drücken". Erreicht wird dies dadurch das man bei dem jeweiligen Mob, über die Hälfte seiner Targetbox geht.

Hier noch ein Video dazu, wo man es sehen kann. Ab ~ 3min.
http://www.youtube.com/watch?v=KmOPuziOWuA&feature=relmfu

MfG

Aktionen #1

Von provafix vor fast 13 Jahren aktualisiert

  • Zugewiesen an wurde auf Pheleghton gesetzt
Aktionen #2

Von Pheleghton vor fast 13 Jahren aktualisiert

  • Status wurde von Neu zu Bestätigt geändert
Aktionen #3

Von Pheleghton vor fast 13 Jahren aktualisiert

  • Zugewiesen an Pheleghton wurde gelöscht
Aktionen #4

Von Anonym vor mehr als 11 Jahren aktualisiert

  • Zugewiesen an wurde auf Anonym gesetzt
Aktionen #5

Von Anonym vor mehr als 11 Jahren aktualisiert

  • Kategorie wurde von Kreaturen zu 42 geändert
Aktionen #6

Von Anonym vor mehr als 11 Jahren aktualisiert

  • Zugewiesen an Anonym wurde gelöscht

geht bei uns aktuell nicht

Aktionen #7

Von Pointerx vor mehr als 11 Jahren aktualisiert

  • Kategorie wurde von 42 zu Zukunft geändert
  • Priorität wurde von Normal zu Niedrig geändert
  • Geschätzter Aufwand wurde auf 4.00 h gesetzt
Aktionen #8

Von Rushor vor etwa 9 Jahren aktualisiert

  • Zielversion wurde auf Welt gesetzt
Aktionen #9

Von Mollestus vor fast 9 Jahren aktualisiert

  • Priorität wurde von Niedrig zu Normal geändert

Die einzigen Mobs, wo das auf RG geht (die mir bekannt sind) sind die Spinnen in der Instanz Festung von Draktharon (ID 16462)+
Warum auch immer das dort geht :D

Hier mal im Video gut zu sehen:
https://youtu.be/QXClYwYR2HY?t=14s

Aktionen #10

Von Rushor vor fast 9 Jahren aktualisiert

class npc_darkweb_recluse : public CreatureScript
{
public:
    npc_darkweb_recluse() : CreatureScript("npc_darkweb_recluse") { }

    struct npc_darkweb_recluseAI : public ScriptedAI
    {
        npc_darkweb_recluseAI(Creature* creature) : ScriptedAI(creature) {}

        void Reset()
        {
            isfleeing = false;
            addssummoned = false;
            nearestcave = 0;
            encasingwebstimer = urand(10000, 15000);
            spittimer = urand(2000, 5000);
        }

        void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/)
        {
            if (HealthBelowPct(25) && !isfleeing && !addssummoned)
            {
                isfleeing = true;
                nearestcave = 0;
                for (uint8 i = 0; i < 3; ++i)
                {
                    if(me->GetDistance(SpiderCave[i]) < me->GetDistance(SpiderCave[nearestcave]))
                        nearestcave = i;
                }
                me->GetMotionMaster()->MovePoint(1, SpiderCave[nearestcave]);
            }
        }

        void MovementInform(uint32 /*type*/, uint32 id)
        {
            if (id == 1)
            {
                for (uint8 i = 0; i < 3; ++i)
                {
                    if (Creature* hatchling = me->SummonCreature(NPC_DARKWEB_HATCHLING, SpiderCave[nearestcave]))
                        if (me->GetVictim())
                            hatchling->AI()->AttackStart(me->GetVictim());
                }
                addssummoned = true;
                isfleeing = false;
            }
        }

        void UpdateAI(uint32 diff)
        {
            if (!UpdateVictim())
                return;

            if (!isfleeing)
                me->GetMotionMaster()->MoveChase(me->GetVictim());

            if (encasingwebstimer <= diff)
            {
                if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 20.0f, true))
                {
                    DoCast(target, SPELL_ENCASING_WEBS);
                    encasingwebstimer = urand(10000, 15000);
                }
            }
            else
            {
                encasingwebstimer -= diff;
            }

            if (spittimer <= diff)
            {
                if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, DUNGEON_MODE(35.0f, 30.0f), true))
                {
                    DoCast(target, SPELL_POISON_SPIT);
                    spittimer = urand(5000, 10000);
                }
            }
            else
            {
                spittimer -= diff;
            }

            DoMeleeAttackIfReady();
        }

    private:
        bool isfleeing;
        bool addssummoned;
        uint32 nearestcave;
        uint32 encasingwebstimer;
        uint32 spittimer;
    };

    CreatureAI* GetAI(Creature* creature) const
    {
        return new npc_darkweb_recluseAI(creature);
    }
};

bei den konstanten spawn ruft er immer

me->GetMotionMaster()->MoveChase(me->GetVictim());

auf, ob man das defaultmäßig jeder kreatur adden darf? :/

Aktionen #11

Von Mollestus vor fast 9 Jahren aktualisiert

KA, es sollt jedoch auf allen Mobs und Bossen eig gehen^^

Aktionen #12

Von Sockentester vor mehr als 7 Jahren aktualisiert

  • Status wurde von Bestätigt zu Abgewiesen geändert

gibbet inzwischen

Aktionen

Auch abrufbar als: Atom PDF