Exemplo n.º 1
0
        public virtual void RemoveBuffs()
        {
            Creature c = this.Obj as Creature;

            c.IsInvulnerable = false;
            foreach (Player plr in c.PlayersInRange.ToList())
            {
                c.SendMeTo(plr);
            }
        }
        public override void RemoveBuffs()
        {
            Creature c = this.Obj as Creature;

            c.Say("Feel my wrath!", SystemData.ChatLogFilters.CHATLOGFILTERS_MONSTER_SAY);
            c.IsInvulnerable = false;
            foreach (Player plr in c.PlayersInRange.ToList())
            {
                c.SendMeTo(plr);
            }
        }
Exemplo n.º 3
0
        public void ChangeModel(Creature c, byte enable)
        {
            PacketOut Out = new PacketOut((byte)Opcodes.F_OBJECT_EFFECT_STATE, 6);

            Out.WriteUInt16(c.Oid);
            Out.WriteByte(1);
            Out.WriteByte(6);      // This is probably Squig Armor
            Out.WriteByte(enable); // active
            Out.WriteByte(0);
            foreach (Player plr in c.PlayersInRange.ToList())
            {
                c.SendMeTo(plr);
                plr.SendPacket(Out);
            }
        }
Exemplo n.º 4
0
        public void SetInvisible(string name = "")
        {
            Creature c = Obj as Creature;

            c.Model1 = 999; // Invisi-dude

            if (name != "")
            {
                c.Name = name;
            }

            foreach (Player player in c.PlayersInRange.ToList())
            {
                c.SendMeTo(player);
            }
        }
Exemplo n.º 5
0
        public void SetVisible(string name = "")
        {
            Creature c = Obj as Creature;

            c.Model1 = c.Spawn.Proto.Model1; // Invisi-dude

            if (name != "")
            {
                c.Name = name;
            }

            c.PlayEffect(2185);

            foreach (Player player in c.PlayersInRange.ToList())
            {
                c.SendMeTo(player);
            }
        }
Exemplo n.º 6
0
        static public void F_QUEST(BaseClient client, PacketIn packet)
        {
            GameClient cclient = client as GameClient;

            UInt16 QuestID     = packet.GetUint16();
            UInt16 State       = packet.GetUint16();
            UInt16 Unk1        = packet.GetUint16();
            byte   Unk2        = packet.GetUint8();
            byte   Unk3        = packet.GetUint8();
            UInt16 Unk4        = packet.GetUint16();
            UInt16 CreatureOID = packet.GetUint16();

            Creature Crea = cclient.Plr.Region.GetObject(CreatureOID) as Creature;

            if (Crea == null)
            {
                return;
            }

            switch (State)
            {
            case 1:     // Show Quest
            {
                if (Crea.QtsInterface.HasQuestStarter(QuestID))
                {
                    Crea.QtsInterface.BuildQuest(QuestID, cclient.Plr);
                }
            } break;

            case 2:     // Accept Quest
            {
                if (Crea.QtsInterface.HasQuestStarter(QuestID))
                {
                    if (cclient.Plr.QtsInterface.AcceptQuest(QuestID))
                    {
                        if (!Crea.QtsInterface.CreatureHasStartQuest(cclient.Plr))
                        {
                            Crea.SendRemove(cclient.Plr);
                            Crea.SendMeTo(cclient.Plr);
                        }
                    }
                }
            } break;

            case 3:     // Quest Done
            {
                if (Crea.QtsInterface.hasQuestFinisher(QuestID))
                {
                    if (cclient.Plr.QtsInterface.DoneQuest(QuestID))
                    {
                        Crea.SendRemove(cclient.Plr);
                        Crea.SendMeTo(cclient.Plr);
                    }
                }
            } break;

            case 4:     // Quest Done Info
            {
                if (Crea.QtsInterface.hasQuestFinisher(QuestID))
                {
                    Crea.QtsInterface.SendQuestDoneInfo(cclient.Plr, QuestID);
                }
                else if (Crea.QtsInterface.HasQuestStarter(QuestID))
                {
                    Crea.QtsInterface.SendQuestInProgressInfo(cclient.Plr, QuestID);
                }
            } break;

            case 5:     // Select Quest Reward
            {
                if (Crea.QtsInterface.hasQuestFinisher(QuestID))
                {
                    cclient.Plr.QtsInterface.SelectRewards(QuestID, Unk3);
                }
            } break;
            }
            ;
        }