コード例 #1
0
        public override void PreUpdate()
        {
            if (GodMode)
            {
                player.statLife = player.statLifeMax2;
                player.statMana = player.statManaMax2;
            }
            if (Locked)
            {
                player.position = player.oldPosition;
            }
            if (Main.netMode == 2)
            {
                if (Rank != player.GetServerPlayer().Rank)
                {
                    Rank = player.GetServerPlayer().Rank;
                    MessageSender.SyncModPlayerInfo(-1, -1, this);
                }
            }

            //if (Main.myPlayer == player.whoAmI)
            //{
            //	Main.NewText(player.active);
            //}
            if (Main.netMode == 1 && Main.myPlayer == player.whoAmI)
            {
                var rect = player.Hitbox;
                foreach (var pair in ServerSideCharacter2.ClientRegions)
                {
                    var region = pair.Value;
                    var area   = new Rectangle(region.Area.X * 16, region.Area.Y * 16, region.Area.Width * 16, region.Area.Height * 16);
                    if (area.Intersects(rect))
                    {
                        if (region.PVP == JsonData.PVPMode.Always)
                        {
                            if (!player.hostile)
                            {
                                Main.LocalPlayer.hostile = true;
                                NetMessage.SendData(30, -1, -1, null, Main.myPlayer, 0f, 0f, 0f, 0, 0, 0);
                            }
                        }
                        else if (region.PVP == JsonData.PVPMode.Never)
                        {
                            if (player.hostile)
                            {
                                Main.LocalPlayer.hostile = false;
                                NetMessage.SendData(30, -1, -1, null, Main.myPlayer, 0f, 0f, 0f, 0, 0, 0);
                            }
                        }
                        return;
                    }
                }
            }
        }
コード例 #2
0
 public override void SyncPlayer(int toWho, int fromWho, bool newPlayer)
 {
     MessageSender.SyncModPlayerInfo(toWho, fromWho, this);
 }