Example #1
0
        static void Postfix(Boomerang __instance)
        {
            string naam = "BoomerangCamo";

            try
            {
                var model = Findboomerang.Find_boomerang(__instance);
                Console.WriteLine("[" + naam + "]gameobject loaded succesfully");
                if (model != null)
                {
                    var skinnedRenderer = model.GetComponent <SkinnedMeshRenderer>();
                    var texture         = TextureUtils.LoadTexture(@"./QMods/BoomerangCamo/BoomerangCamoDiff.png", naam);
                    skinnedRenderer.sharedMaterial.mainTexture = texture;
                    Console.WriteLine("[" + naam + "] Running as intended![this is a message to see if the peeper creature gets called properly]");
                }
                else
                {
                    Console.WriteLine("[" + naam + "] An unknown error occured. Boomerang game object is null");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("[" + naam + "]" + e.Message);
            }
        }
Example #2
0
    public void NetworkThrow(Vector3 targetPosition)
    {
        Boomerang netboom = Instantiate(boomerangPrefab, transform.position, transform.rotation);

        netboom.Throw(this, targetPosition, speedUnitsPerSecond, rotationAnglePerSecond, hangTimeSeconds);
        netboom.transform.parent = null;
    }
Example #3
0
    public override void Start()
    {
        base.Start();

        b1 = p1.GetComponent <Boomerang>();
        b2 = p2.GetComponent <Boomerang>();

        path1 = Polar180(Poly(6));
        path1 = Mult(boomerangRadius, path1);
        path2 = Negx(path1);

        //mainCycle = TPAndStart(this.transform, MainCycler);

        teleportHP = teleportHP1;
        teleport   = firstTeleport;

        currentAttackTime = defaultAttackTime;

        fire     = new FireProjectile(shotPrefab, shotDamage, shotKnockback, shotSpeed);
        fireBall = new FireProjectile(ballPrefab, 10, 1, 5, 2);

        boomerangCycle = Burst6;

        invulnCooldown = new Cooldown(teleportFromTime + teleportToTime);
    }
Example #4
0
    void Boomerang(GameObject shooter, int Rarity, int Index, bool isVamp, bool IsReinforce)
    {
        Vector3 scale = Vector3.one;

        if (GameManager.Inst().Player.GetBossMode())
        {
            scale *= 0.5f;
        }
        if (IsReinforce)
        {
            scale *= 1.5f;
        }

        Objs[0] = GameManager.Inst().ObjManager.MakeBullet("Boomerang", Index);
        Objs[0].transform.position   = NormalPos[0].transform.position;
        Objs[0].transform.rotation   = NormalPos[0].transform.rotation;
        Objs[0].transform.localScale = scale;

        Boomerang bullet = Objs[0].gameObject.GetComponent <Boomerang>();

        bullet.IsVamp      = isVamp;
        bullet.Vamp        = shooter;
        bullet.IsReinforce = IsReinforce;
        bullet.SetStart();

        GameManager.Inst().SodManager.PlayEffect("Wp_Boomerang");
    }
Example #5
0
    public void UpdateBoomerangType(Boomerang boomerang)
    {
        switch (boomerang.Type)
        {
        case Boomerang.BoomerangTypes.NORMAL:
            SetBoomerang(NormalRang);
            break;

        case Boomerang.BoomerangTypes.FIRE:
            SetBoomerang(FireRang);
            break;

        case Boomerang.BoomerangTypes.ICE:
            SetBoomerang(IceRang);
            break;

        case Boomerang.BoomerangTypes.SHOCK:
            SetBoomerang(LightningRang);
            break;

        case Boomerang.BoomerangTypes.OBSIDIAN:
            SetBoomerang(ObsidianRang);
            break;
        }
    }
Example #6
0
        //common
        private IEnumerator AttackSequence()
        {
            Vector2 lookDir = (CameraReference.Instance.camera.ScreenToWorldPoint(Input.mousePosition) - Player.Instance.gameObject.transform.position).normalized;

            Animator anim = Player.Instance.GetComponent <Animator>();

            anim.SetTrigger("Attack");
            if (comboReset.IsReady)
            {
                anim.SetInteger("Combo", 0);
            }
            else if (anim.GetInteger("Combo") == 0)
            {
                anim.SetInteger("Combo", 1);
            }
            else
            {
                anim.SetInteger("Combo", 0);
            }
            comboReset.Use(1f);
            anim.SetFloat("xInput", lookDir.x);
            anim.SetFloat("yInput", lookDir.y);

            Path lungePath = LinePath(lungeConverter, lookDir);

            Player.Instance.playerMove.SetPath(Boomerang.Mult(Player.Instance.playerMove.defaultSpeed, lungePath), .25f);

            yield return(new WaitForSeconds(.1f));

            HitScan();
            yield return(new WaitForSeconds(.1f));

            HitScan();
        }
Example #7
0
        public override bool IsActive(Microsoft.Xna.Framework.GameTime gameTime, QuestForTheCrown2.Levels.Level level)
        {
            if (_lastHitTime != null && _lastHitTime.Value + _stopTimeAfterHit > gameTime.TotalGameTime)
            {
                return(false);
            }

            if (base.IsActive(gameTime, level) && Entity.Weapons != null)
            {
                if (_boomerang != null)
                {
                    _boomerang.OnHit -= _boomerang_OnHit;
                }

                _boomerang             = Entity.Weapons.OfType <Boomerang>().FirstOrDefault();
                _followBehavior.Entity = Entity;
                if (_boomerang == null || !_followBehavior.IsActive(gameTime, level))
                {
                    return(false);
                }

                _boomerang.OnHit += _boomerang_OnHit;
                var distanceInSeconds = CurrentTarget.Distance / Boomerang.FlightSpeed;
                var mpTravelDistance  = distanceInSeconds;
                if (!level.ContainsEntity(_boomerang))
                {
                    mpTravelDistance -= 0.5f;
                }
                var mpNecessary = mpTravelDistance / 0.2;
                return(Entity.Magic > mpNecessary);
            }
            return(false);
        }
Example #8
0
    public StateBoomerangForward(PlayerControl _p, Boomerang _b, float _speed)
    {
        b     = _b;
        speed = _speed;

        p = _p;
        if (p.current_direction == Direction.NORTH)
        {
            direction_offset = new Vector3(0, 1, 0);
        }
        else if (p.current_direction == Direction.EAST)
        {
            direction_offset = new Vector3(1, 0, 0);
        }
        else if (p.current_direction == Direction.SOUTH)
        {
            direction_offset = new Vector3(0, -1, 0);;
        }
        else if (p.current_direction == Direction.WEST)
        {
            direction_offset = new Vector3(-1, 0, 0);
        }

        b.GetComponent <Rigidbody>().velocity = direction_offset * speed;
    }
Example #9
0
    //Create boomerang bodies
    private void CreateBoomerangBodies()
    {
        // Set the food position to a random point
        hex.transform.position = new Vector2(Random.Range(-37, 37), Random.Range(-15, 15));
        // if our boomerang list is not null
        if (boomerangList != null)
        {
            // Destroy every Boomerang
            for (int i = 0; i < boomerangList.Count; i++)
            {
                GameObject.Destroy(boomerangList[i].gameObject);
            }
        }

        // Create a new boomerang list
        boomerangList = new List <Boomerang>();

        // Iterate through the population size
        for (int i = 0; i < populationSize; i++)
        {
            // Instantiate a boomerang at a random position and get the component
            Boomerang boomer = ((GameObject)Instantiate(boomerPrefab, new Vector3(UnityEngine.Random.Range(-10f, 10f), UnityEngine.Random.Range(-10f, 10f), 0), boomerPrefab.transform.rotation)).GetComponent <Boomerang>();
            //Call the Init method
            boomer.Init(nets[i], hex.transform);
            //Add it the list
            boomerangList.Add(boomer);
        }
    }
Example #10
0
    private void OnTriggerEnter2D(Collider2D otherCollider)
    {
        AEnemy enemyScript = otherCollider.gameObject.GetComponent <AEnemy>();

        // Check if the object is an enemy by looking for an enemy script
        if (enemyScript != null && !enemyScript.IsDead()) // If enemy isn't already dead, do damage
        {
            AudioManager.Instance.PlayOneShot("BoomerangHit");
            enemyScript.TakeDamage(Player.BoomerangDamage);
        }

        Boomerang boomerangScript = otherCollider.gameObject.GetComponent <Boomerang>();

        if ((boomerangScript != null) && (numExplosions > 0)) // If object is another boomerang
        {
            Vector2 vel        = boomerangRb.velocity;
            float   thisAngle  = Mathf.Atan2(vel.y, vel.x) * Mathf.Rad2Deg;
            float   otherAngle = Mathf.Atan2(otherCollider.GetComponent <Rigidbody2D>().velocity.y, otherCollider.GetComponent <Rigidbody2D>().velocity.x) * Mathf.Rad2Deg;

            if (Mathf.Abs(otherAngle - thisAngle) > minAngle)   // Check that the angle between the two boomerangs' velocity is bigger than 10
            {
                Vector2 offset = vel * (0.55f / vel.magnitude); // Offsetting it so that the explosion is at the intersection of the two boomerangs
                Instantiate(_player.boomerangExplosionEffect, this.transform.position + new Vector3(offset.x, offset.y, 0f), Quaternion.AngleAxis(thisAngle, Vector3.forward));
                numExplosions -= 1;
            }
        }
    }
Example #11
0
 public void TerminateBoomerang()
 {
     if (currentItem != null)
     {
         currentItem = null;
         boomerang   = null;
     }
 }
Example #12
0
    //Changed this

    public StateBoomerangReturning(PlayerControl _p, Boomerang _b, float _speed, GameObject _pickedUpObject = null) {
        b = _b;
        speed = _speed;
        p = _p;
        pickedUpObject = _pickedUpObject;

        b.GetComponent<BoxCollider>().isTrigger = true;
    }
Example #13
0
 public void boomerangShoot(Vector2 direction)
 {
     DecreaseDurability(mode2Option.minusDurability);
     Boomerang = Instantiate(BoomerangPrefab, ShotPosition.position, Quaternion.identity);
     Boomerang.GetComponent <Rigidbody2D>().velocity = direction * 20f;
     Boomerang.GetComponent <Boomerang>().playerNo   = equipPlayer.playerNo;
     Boomerang.GetComponent <Boomerang>().direction  = direction;
 }
 public void AddSelfToRoom()
 {
     roomId = Boomerang.RoomId(transform.position);
     if (!Boomerang.plants.ContainsKey(roomId))
     {
         Boomerang.plants[roomId] = new List <Vector3>();
     }
     Boomerang.plants[roomId].Add(transform.position);
 }
Example #15
0
    //Changed this

    public StateBoomerangReturning(PlayerControl _p, Boomerang _b, float _speed, GameObject _pickedUpObject = null)
    {
        b              = _b;
        speed          = _speed;
        p              = _p;
        pickedUpObject = _pickedUpObject;

        b.GetComponent <BoxCollider>().isTrigger = true;
    }
Example #16
0
 public void SetBoomerang(Boomerang newType)
 {
     if (CurrentBoomerang != newType)
     {
         CurrentBoomerang = newType;
         CurrentBoomerang.SetColor(CurrentBoomerang.BoomerangColor);
         Debug.Log("Current Boomerang = " + CurrentBoomerang + " and Booomerang Color = " + CurrentBoomerang.BoomerangColor);
     }
 }
Example #17
0
 void GameOver()
 {
     if (gameEnd.levelsComplete == 17 & overText != "Good Try")
     {
         overText = "That's all!";
     }
     gameOverPanel.SetActive(true);
     Levelend.gameOverText.text = overText;
     Boomerang.GameOver();
 }
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.GetComponent <Boomerang>())
        {
            Boomerang boomerang = other.GetComponent <Boomerang>();
            boomerang.Pickup();

            //print("Triggered boomerang.");
        }
    }
Example #19
0
        private static void InitHuntress(Hero hero)
        {
            hero.HP = (hero.HT -= 5);

            (hero.Belongings.Weapon = new Dagger()).Identify();
            var boomerang = new Boomerang();

            boomerang.Identify().Collect();

            Dungeon.Quickslot = boomerang;
        }
Example #20
0
 private void Throw()
 {
     if (previewBoomerang && !boomerang)
     {
         Vector3 targetPosition = previewBoomerang.transform.position;
         Destroy(previewBoomerang.gameObject);
         boomerang = Instantiate(boomerangPrefab, transform.position, transform.rotation);
         boomerang.Throw(this, targetPosition, speedUnitsPerSecond, rotationAnglePerSecond, hangTimeSeconds);
         boomerang.transform.parent = null;
     }
 }
 // Start is called before the first frame update
 void Start()
 {
     animator  = GetComponent <Animator>();
     t         = GetComponent <Transform>();
     boomerang = Instantiate(boomerangPrefab, t.position, Quaternion.identity);
     boomerang.transform.SetParent(t, false);
     boomerang.GetComponent <InputToSwordAnimator>().enabled = false;
     boomerang.isPlayer = false;
     animator.speed     = 1f;
     boomerang.gameObject.SetActive(true);
 }
Example #22
0
 public void UseBoomerang()
 {
     if (currentItem == null)
     {
         if (inventory.Contains(typeof(Boomerang)))
         {
             boomerang   = new Boomerang(player);
             currentItem = boomerang;
         }
     }
 }
Example #23
0
 public static void moveupdate()
 {
     if (alpha1 >= startalpha + (2 * Mathf.PI))
     {
         Boomerang.resetboom();
         return;
     }
     boomer.transform.position = new Vector2(centeroftravel.x + (x * MCos(alpha1) * MCos(tilt1)) - (3f * MSin(alpha1) * MSin(tilt1)),
                                             centeroftravel.y + (x * MCos(alpha1) * MSin(tilt1)) + (3f * MSin(alpha1) * MCos(tilt1)));
     alpha1 += 0.05f;
 }
        public void CanAddLittleItems()
        {
            Satchel     bag   = new Satchel();
            Boomerang   rang  = new Boomerang();
            WoodenSword sword = new WoodenSword();

            bag.AddItem(rang);
            bag.AddItem(sword);

            Assert.AreEqual(2, bag.ItemCount);

            bag.DisplayContents();
        }
    protected override void SendProjectile()
    {
        if (_currentEnemy == null)
        {
            return;
        }

        Boomerang p = Instantiate(boomerang, transform.TransformPoint(_firstNode.Position), transform.rotation, spawnParent);

        p.SetEnemy(_currentEnemy);
        p.damage = Mathf.FloorToInt(damage * modifier.damageModifier);
        p.speed  = projectileSpeed;
    }
Example #26
0
        public void Draw()
        {
            Background.Draw(_location);
            CursorGrid.Draw(CursorSize * _cursorPosition.ToVector2() + GridLocation + _location);
            _selectedItem?.Draw(_location + SelectedItemLocation);

            var dungeonManager = (DungeonManager)_agent.DungeonManager;
            var currentRoom    = _agent.DungeonManager.CurrentRoom.ToVector2();
            var visitedRooms   = dungeonManager.VisitedRooms;

            if (dungeonManager.CurrentRoomMapped)
            {
                PlayerMapDot.Draw(MapGridCoverSize * currentRoom + MapGridLocation + _location);
            }

            for (var row = 0; row < visitedRooms.Length; row++)
            {
                for (var col = 0; col < visitedRooms[row].Length; col++)
                {
                    if (!visitedRooms[row][col])
                    {
                        RoomCover.Draw(MapGridCoverSize * new Vector2(col, row) + MapGridLocation + _location);
                    }
                }
            }

            if (_agent.Player.Inventory.HasMap)
            {
                Map.Draw(MapLocation + _location);
            }
            if (_agent.Player.Inventory.HasCompass)
            {
                Compass.Draw(CompassLocation + _location);
            }
            if (_agent.Player.Inventory.HasArrow)
            {
                Arrow.Draw(ArrowLocation + GridLocation + _location);
            }
            if (_agent.Player.Inventory.HasBow)
            {
                Bow.Draw(BowLocation + GridLocation + _location);
            }
            if (_agent.Player.Inventory.HasBoomerang)
            {
                Boomerang.Draw(BoomerangLocation + GridLocation + _location);
            }
            if (_agent.Player.Inventory.BombCount >= 1)
            {
                Bomb.Draw(BombLocation + GridLocation + _location);
            }
        }
Example #27
0
    public void Attack(Movement movement, Action onFinished)
    {
        Boomerang bmrg = Instantiate(boomerang, this.transform);

        bmrg.OnThrown(
            movement.currentBodyDirection == Movement.BodyDirection.Right,
            () =>
        {
            onFinished.Invoke();
        }
            );

        //出現した瞬間自身と衝突して消滅するのを回避、かなりその場しのぎ
        DOVirtual.DelayedCall(0.2f, () => bmrg.GetComponent <Collider2D>().enabled = true);
    }
Example #28
0
        public static GameObject Find_boomerang(Boomerang __instance)
        {
            var gameObject = __instance.gameObject;

            try
            {
                Console.WriteLine("utils succes");
                return(gameObject.FindChild("model").FindChild("Small_Fish_01"));//.FindChild("Stalker_02").FindChild("snout_shark_geo"); ;
            }
            catch
            {
                Console.WriteLine("utils fail");
                return(gameObject);
            }
        }
Example #29
0
    protected override void DoAttack()
    {
        if (throwingYoyo)
        {
            return;
        }

        //YoyoSprite.enabled = false;
        projectile = Instantiate(ProjPrefab, transform.position, Quaternion.identity) as Boomerang;

        projectile.AddOnReturn = false;
        Vector2 dir = MathUtil.AngleToVector(transform.eulerAngles.z);

        projectile.Move(dir.normalized, this);
        throwingYoyo = true;
    }
Example #30
0
    void Update()
    {
        visual.GetComponent <RawImage>().enabled = IsHighlighted() == true;
        if (!IsPressed())
        {
            return;
        }
        int x;

        switch (gameObject.name)
        {
        case "Start":
            Menu.LoadLevel(2);
            break;

        case "Levels":
            Menu.LoadLevel(1);
            break;

        case "FreePlay":
            Menu.LoadLevel(20);
            break;

        case "Quit":
            Menu.QuitGame();
            break;

        case "Menu":
            Menu.LoadLevel(0);
            break;

        case "Back":
            Menu.LoadLevel(0);
            break;

        case "Restart":
            Boomerang.Restart();
            Menu.LoadLevel(SceneManager.GetActiveScene().buildIndex);
            break;

        default:
            x = Int32.Parse(gameObject.name) + 1;
            Menu.LoadLevel(x);
            break;
        }
        Boomerang.Reset();
    }
Example #31
0
    public StateBoomerangForward(PlayerControl _p, Boomerang _b, float _speed) {
        b = _b;
        speed = _speed;

        p = _p;
        if (p.current_direction == Direction.NORTH) {
            direction_offset = new Vector3(0, 1, 0);
        } else if (p.current_direction == Direction.EAST) {
            direction_offset = new Vector3(1, 0, 0);
        } else if (p.current_direction == Direction.SOUTH) {
            direction_offset = new Vector3(0, -1, 0);;
        } else if (p.current_direction == Direction.WEST) {
            direction_offset = new Vector3(-1, 0, 0);
        }

        b.GetComponent<Rigidbody>().velocity = direction_offset * speed;
    }
        public void PutItemInBackpackSuccessfully()
        {
            //Arrange
            Backpack    bag   = new Backpack();
            Boomerang   rang  = new Boomerang();
            WoodenSword sword = new WoodenSword();
            BattleAxe   axe   = new BattleAxe();

            //Act
            bag.AddItem(rang);
            bag.AddItem(sword);
            bag.AddItem(axe);

            //Assert
            Assert.AreEqual(3, bag.ItemCount);

            bag.DisplayContents();
        }