Example #1
0
        private ModPacket GetPacket(PuritySpiritMessageType type)
        {
            ModPacket packet = mod.GetPacket();

            packet.Write((byte)ExampleModMessageType.PuritySpirit);
            packet.Write(npc.whoAmI);
            packet.Write((byte)type);
            return(packet);
        }
Example #2
0
        public void HandlePacket(BinaryReader reader)
        {
            PuritySpiritMessageType type = (PuritySpiritMessageType)reader.ReadByte();

            if (type == PuritySpiritMessageType.HeroPlayer)
            {
                Player player = Main.LocalPlayer;
                player.GetModPlayer <ExamplePlayer>(mod).heroLives = 3;
            }
            else if (type == PuritySpiritMessageType.TargetList)
            {
                int numTargets = reader.ReadInt32();
                targets.Clear();
                for (int k = 0; k < numTargets; k++)
                {
                    targets.Add(reader.ReadInt32());
                }
            }
            else if (type == PuritySpiritMessageType.DontTakeDamage)
            {
                npc.dontTakeDamage = reader.ReadBoolean();
            }
            else if (type == PuritySpiritMessageType.PlaySound)
            {
                int soundType = reader.ReadInt32();
                int style     = reader.ReadInt32();
                if (targets.Contains(Main.myPlayer))
                {
                    Main.PlaySound(soundType, -1, -1, style);
                }
                else
                {
                    Main.PlaySound(soundType, (int)npc.position.X, (int)npc.position.Y, style);
                }
            }
            else if (type == PuritySpiritMessageType.Damage)
            {
                int damage = reader.ReadInt32();
                damageTotal += damage;
                if (Main.netMode == 2)
                {
                    ModPacket netMessage = GetPacket(PuritySpiritMessageType.Damage);
                    int       ignore     = reader.ReadInt32();
                    netMessage.Write(damage);
                    netMessage.Send(-1, ignore);
                }
            }
        }
Example #3
0
 private ModPacket GetPacket(PuritySpiritMessageType type)
 {
     ModPacket packet = mod.GetPacket();
     packet.Write((byte)ExampleModMessageType.PuritySpirit);
     packet.Write(npc.whoAmI);
     packet.Write((byte)type);
     return packet;
 }