Ejemplo n.º 1
0
        public Chain(Harpoon harpoon, int position)
        {
            this.harpoon  = harpoon;
            this.position = position;

            y = harpoon.y;
        }
Ejemplo n.º 2
0
        /// <inheritdoc />
        public Weapon Convert(ItemDTO value, object state)
        {
            var entity = new Harpoon();

            this.Merge(entity, value, state);
            return(entity);
        }
Ejemplo n.º 3
0
 void Shoot()
 {
     /*Ray myRay = player_camera.ScreenPointToRay(Input.mousePosition);
      * RaycastHit hit;
      * weapon.rotation = playerHead.rotation * Quaternion.Euler(90, 0, 0);
      * if (Physics.Raycast(myRay, out hit)) {
      *  weapon.Rotate(Vector3.right * Mathf.Atan(Vector3.Distance(playerHead.position, weapon.position) / hit.distance));
      * }*/
     if (Input.GetMouseButtonDown(1))
     {
         Harpoon harpoon = (Harpoon)Inventory.inventoryInstance.itemList[0];
         if (harpoon.arrows > 0)
         {
             //GameObject arrow = (GameObject)Instantiate(Resources.Load(Names.arrowPrefab), weapon.position, weapon.rotation);
             Transform arrow = quiver.GetChild(0);
             arrow.gameObject.SetActive(true);
             arrow.position = weapon.position;
             arrow.rotation = weapon.rotation;
             //Debug.Log("Arrow rotation: " + arrow.rotation);
             arrow.GetComponent <Rigidbody>().isKinematic = false;
             arrow.gameObject.GetComponent <Rigidbody>().AddForce(arrow.up * thrust);
             source.PlayOneShot(ShootSound);
             Debug.Log(ShootSound.name + source.name);
             harpoon.arrows--;
             arrow.parent = null;
         }
         else
         {
             displayManager.DisplayMessage(GameStrings.gameStringsInstance.GetString("EmptyMunition", null), 2.0f);
         }
         //Inventory.inventoryInstance.slots[0].transform.GetChild(1).GetComponent<Text>().text = harpoon.itemName + " (" + harpoon.arrows + ")";
     }
 }
Ejemplo n.º 4
0
        public BaseSailor() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            SpeechHue = Utility.RandomTalkHue();
            Female    = Utility.RandomBool();

            level = Utility.RandomMinMax(150, 400);

            SetDamage(((int)level / 20), ((int)level / 10));

            SetSkill(SkillName.Archery, (level / 3));
            SetSkill(SkillName.Wrestling, (level / 3));
            SetSkill(SkillName.MagicResist, (level / 3));
            SetSkill(SkillName.Tactics, (level / 3));
            SetSkill(SkillName.EvalInt, (level / 3));
            SetSkill(SkillName.Magery, (level / 3));

            Fame  = (int)(level * 10);
            Karma = -(int)(level * 10);

            if (Female)
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
                AddItem(new Skirt(Utility.RandomColor(0)));
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
                AddItem(new ShortPants(Utility.RandomColor(0)));
            }

            Hue           = Utility.RandomSkinColor();
            HairHue       = Utility.RandomHairHue();
            FacialHairHue = HairHue;

            AddItem(new ElvenBoots(0x6F8));
            AddItem(new FancyShirt(Utility.RandomColor(0)));

            switch (Utility.Random(2))
            {
            case 0: AddItem(new LongPants(0xBB4)); break;

            case 1: AddItem(new ShortPants(0xBB4)); break;
            }

            switch (Utility.Random(2))
            {
            case 0: AddItem(new Bandana(0x846)); break;

            case 1: AddItem(new SkullCap(0x846)); break;
            }

            Harpoon spear = new Harpoon();

            spear.LootType = LootType.Blessed;
            spear.Attributes.SpellChanneling = 1;
            AddItem(spear);
        }
Ejemplo n.º 5
0
 public static Item CreateRandomItem(int level, ItemType itemType)
 {
     if (itemType == ItemType.Cannon)
     {
         return(Cannon.CreateRandomCannon(level));
     }
     else if (itemType == ItemType.EMPGenerator)
     {
         return(EMPGenerator.CreateRandomEMPGenerator(level));
     }
     else if (itemType == ItemType.Engine)
     {
         return(Engine.CreateRandomEngine(level));
     }
     else if (itemType == ItemType.Flamethrower)
     {
         return(Flamethrower.CreateRandomFlamethrower(level));
     }
     else if (itemType == ItemType.Hangar)
     {
         return(Hangar.CreateRandomHangar(level));
     }
     else if (itemType == ItemType.Harpoon)
     {
         return(Harpoon.CreateRandomHarpoon(level));
     }
     else if (itemType == ItemType.Hull)
     {
         return(Hull.CreateRandomHull(level));
     }
     else if (itemType == ItemType.Laser)
     {
         return(Laser.CreateRandomLaser(level));
     }
     else if (itemType == ItemType.LifeSupport)
     {
         return(LifeSupport.CreateRandomLifeSupport(level));
     }
     else if (itemType == ItemType.MineLayer)
     {
         return(MineLayer.CreateRandomMineLayer(level));
     }
     else if (itemType == ItemType.Reactor)
     {
         return(Reactor.CreateRandomReactor(level));
     }
     else if (itemType == ItemType.RocketLauncher)
     {
         return(RocketLauncher.CreateRandomRocketLauncher(level));
     }
     else if (itemType == ItemType.ShieldGenerator)
     {
         return(ShieldGenerator.CreateRandomShieldGenerator(level));
     }
     else
     {
         return(null);
     }
 }
Ejemplo n.º 6
0
 private void Awake()
 {
     Cursor.visible = false;
     target         = FindObjectOfType <Target>();
     harpoon        = FindObjectOfType <Harpoon>();
     hasHarpoon     = true;
     speedModifier  = 1;
     UpdateAnimatorSpeed();
 }
Ejemplo n.º 7
0
 public void ChangeHarpoonType()
 {
     if(harpoonTypes.Count > 1){
         if(currentHarpoonType == harpoonTypes[0]){
             currentHarpoonType = harpoonTypes[1];
         } else {
             currentHarpoonType = harpoonTypes[0];
         }
     }
 }
Ejemplo n.º 8
0
 // Use this for initialization
 void Awake()
 {
     CoolingDown        = false;
     CooldownValue      = 1.0f;
     CooldownCountdown  = CooldownValue;
     currentHarpoonType = harpoonTypes[0];
     harpoonModel       = Gun.transform.GetChild(0);
     SetupLine();
     harpoonShotSound = GetComponent <AudioSource>();
     setTrajectoryPoints(new Vector3(0f, 0f, 0f));
     disableColliders();
 }
Ejemplo n.º 9
0
    void CmdHarpoonBehaviour()
    {
        currentHarpoon = Instantiate(harpoon, new Vector3(transform.position.x, transform.position.y + 1.0f, transform.position.z) + transform.forward * 2.0f, transform.rotation).GetComponent <Harpoon>();

        NetworkServer.Spawn(currentHarpoon.gameObject);

        currentHarpoon.caster = gameObject;
        currentHarpoon.gameObject.transform.rotation = transform.rotation;
        //RpcParentObjectOnce(currentHarpoon.gameObject, gameObject);

        RpcHarpoonObjectOnce(currentHarpoon.gameObject, new Vector3(transform.position.x, transform.position.y + 1.0f, transform.position.z) + transform.forward * 2.0f, transform.rotation);
    }
        /**
         * Rotates Harpoon to aim at point
         * @param harpoon Harpoon Object to aim
         * @param pointX x parameter of point to aim in Screen Coordinates
         * @param pointY y parameter of point to aim in Screen Coordinates
         */
        private IEnumerator AimAtPoint(float pointX, float pointY)
        {
            var collision = false;

            Projectile.GetComponent <ProjectileCollision>().CollisionEvent += (sender, collider2D) => collision = true;
            var pointWorldCoord = new Vector3(pointX, pointY, 0);
            var harpoonPosition = Harpoon.transform.position;
            var path            = pointWorldCoord - harpoonPosition;
            var angle           = Vector3.SignedAngle(Vector3.up, path, Vector3.forward);

            Harpoon.GetComponent <HarpoonController>().RotateHarpoon(angle);
            Harpoon.GetComponent <HarpoonController>().ShootProjectile();
            yield return(new WaitUntil(() => collision));
        }
Ejemplo n.º 11
0
 public void ChangeHarpoonType()
 {
     if (harpoonTypes.Count > 1)
     {
         if (currentHarpoonType == harpoonTypes[0])
         {
             currentHarpoonType = harpoonTypes[1];
         }
         else
         {
             currentHarpoonType = harpoonTypes[0];
         }
     }
 }
Ejemplo n.º 12
0
 public void ShootHarpoon(Vector3 direction)
 {
     if (!CoolingDown)
     {
         CooldownCountdown   = CooldownValue;
         CoolingDown         = true;
         colorChangeCooldown = colorChangeFrameCooldown;
         Harpoon newHarpoon = null;
         newHarpoon = Utils.Instantiate(currentHarpoonType, harpoonModel.position, harpoonModel.rotation) as Harpoon;
         harpoonShotSound.Play();
         if (newHarpoon != null)
         {
             newHarpoon.SetDirection(direction);
             newHarpoon.renderer.enabled = true;
         }
     }
 }
Ejemplo n.º 13
0
    public int HarpoonBehaviour()
    {
        if (DataManager.instance.isMulti)
        {
            CmdHarpoonBehaviour();
        }
        else
        {
            Vector3 instantiatePosition = new Vector3(transform.position.x, transform.position.y + 1.0f, transform.position.z);

            currentHarpoon = Instantiate(harpoon, instantiatePosition + transform.forward * 2.0f, transform.rotation).GetComponent <Harpoon>();
            currentHarpoon.transform.Rotate(90.0f, 0.0f, 0.0f);
            currentHarpoon.caster = gameObject;
        }
        StartCoroutine(IsHarpooning());

        return(0);
    }
Ejemplo n.º 14
0
 // Update is called once per frame
 void Update()
 {
     try {
         Harpoon harpoon = (Harpoon)Inventory.inventoryInstance.itemList[0];
         if (gameObject.GetComponent <PlayerController>().moving)
         {
             anim.SetTrigger("IsMoving");
             anim.ResetTrigger("IsStopped");
         }
         else
         {
             anim.SetTrigger("IsStopped");
             anim.ResetTrigger("IsMoving");
         }
         if (Input.GetMouseButtonDown(1) && harpoon.arrows > 0)
         {
             anim.SetTrigger("IsShooting");
         }
     } catch (System.Exception) { }
 }
Ejemplo n.º 15
0
 // Implement this method in a buddy class to set properties that are specific to 'Harpoon' (if any)
 partial void Merge(Harpoon entity, ItemDTO dto, object state);
Ejemplo n.º 16
0
 // Use this for initialization
 void Awake()
 {
     CoolingDown = false;
     CooldownValue = 1.0f;
     CooldownCountdown = CooldownValue;
     currentHarpoonType = harpoonTypes[0];
     harpoonModel = Gun.transform.GetChild (0);
     SetupLine();
     harpoonShotSound = GetComponent<AudioSource>();
     setTrajectoryPoints(new Vector3(0f,0f,0f));
     disableColliders();
 }