Esempio n. 1
0
        private void TerrariaHooks_Update(GameTime gameTime)
        {
            if (trainerSettings != null && Game.IsActive)
            {
                if (trainerSettings.EnableTrainer)
                {
                    currentSettings = trainerSettings;
                }
                else
                {
                    currentSettings = defaultSettings;
                }

                if (InputManager.IsKeyPressed(Keys.F7))
                {
                    trainerForm.Visible = !trainerForm.Visible;
                }

                if (GameHooks.IsWorldRunning && !Main.chatMode)
                {
                    if (currentSettings.AllowBankOpen && InputManager.IsControlKeyDown && InputManager.IsKeyPressed(Keys.B))
                    {
                        TrainerHelper.OpenBank();
                    }
                    else if (currentSettings.CreateWater && InputManager.IsControlKeyDown && InputManager.IsKeyDown(Keys.Z, 250))
                    {
                        TrainerHelper.AddLiquidToCursor(true);
                    }
                    else if (currentSettings.CreateLava && InputManager.IsControlKeyDown && InputManager.IsKeyDown(Keys.X, 250))
                    {
                        TrainerHelper.AddLiquidToCursor(false);
                    }
                    else if (currentSettings.AllowCameraMove)
                    {
                        MoveCamera(gameTime);
                    }

                    if (currentSettings.CreateTile)
                    {
                        if ((InputManager.IsControlKeyDown || InputManager.IsShiftKeyDown) && InputManager.IsMouseButtonPressed(MouseButtons.Right))
                        {
                            positionOnClick = TrainerHelper.TileTarget;
                            rightMouseDown  = true;
                        }
                        else if (rightMouseDown && InputManager.IsMouseButtonReleased(MouseButtons.Right))
                        {
                            Item item = me.inventory[me.selectedItem];

                            if (item.active)
                            {
                                if (item.createTile >= 0)
                                {
                                    if (InputManager.IsControlKeyDown)
                                    {
                                        TrainerHelper.CreateRectangleTile(positionOnClick, TrainerHelper.TileTarget, item.createTile, false);
                                    }
                                    else if (InputManager.IsShiftKeyDown)
                                    {
                                        TrainerHelper.CreateLineTile(positionOnClick, TrainerHelper.TileTarget, item.createTile, false);
                                    }
                                }
                                else if (item.createWall >= 0)
                                {
                                    if (InputManager.IsControlKeyDown)
                                    {
                                        TrainerHelper.CreateRectangleTile(positionOnClick, TrainerHelper.TileTarget, item.createWall, true);
                                    }
                                    else if (InputManager.IsShiftKeyDown)
                                    {
                                        TrainerHelper.CreateLineTile(positionOnClick, TrainerHelper.TileTarget, item.createWall, true);
                                    }
                                }
                            }

                            rightMouseDown = false;
                        }
                        else if (!rightMouseDown && InputManager.IsMouseButtonDown(MouseButtons.Right))
                        {
                            Item item = me.inventory[me.selectedItem];

                            if (item.active)
                            {
                                if (item.createTile >= 0)
                                {
                                    TrainerHelper.AddTileToCursor(item.createTile, false, currentSettings.BigBrushSize);
                                }
                                else if (item.createWall >= 0)
                                {
                                    TrainerHelper.AddTileToCursor(item.createWall, true, currentSettings.BigBrushSize);
                                }
                            }
                        }
                    }

                    if ((InputManager.IsControlKeyDown || InputManager.IsShiftKeyDown) && InputManager.IsMouseButtonPressed(MouseButtons.Middle))
                    {
                        positionOnClick = TrainerHelper.TileTarget;
                        middleMouseDown = true;
                    }
                    else if (middleMouseDown && InputManager.IsMouseButtonReleased(MouseButtons.Middle))
                    {
                        if (currentSettings.DestroyTile)
                        {
                            if (InputManager.IsControlKeyDown)
                            {
                                TrainerHelper.DestroyRectangleTile(positionOnClick, TrainerHelper.TileTarget, false);
                            }
                            else if (InputManager.IsShiftKeyDown)
                            {
                                TrainerHelper.DestroyLineTile(positionOnClick, TrainerHelper.TileTarget, false);
                            }
                        }

                        if (currentSettings.DestroyWall)
                        {
                            if (InputManager.IsControlKeyDown)
                            {
                                TrainerHelper.DestroyRectangleTile(positionOnClick, TrainerHelper.TileTarget, true);
                            }
                            else if (InputManager.IsShiftKeyDown)
                            {
                                TrainerHelper.DestroyLineTile(positionOnClick, TrainerHelper.TileTarget, true);
                            }
                        }

                        middleMouseDown = false;
                    }
                    else if (!middleMouseDown && InputManager.IsMouseButtonDown(MouseButtons.Middle))
                    {
                        if (currentSettings.DestroyTile)
                        {
                            TrainerHelper.DestroyTileFromCursor(false, currentSettings.BigBrushSize);
                        }

                        if (currentSettings.DestroyWall)
                        {
                            TrainerHelper.DestroyTileFromCursor(true, currentSettings.BigBrushSize);
                        }
                    }
                }
            }
        }