public Chain(Harpoon harpoon, int position) { this.harpoon = harpoon; this.position = position; y = harpoon.y; }
/// <inheritdoc /> public Weapon Convert(ItemDTO value, object state) { var entity = new Harpoon(); this.Merge(entity, value, state); return(entity); }
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 + ")"; } }
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); }
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); } }
private void Awake() { Cursor.visible = false; target = FindObjectOfType <Target>(); harpoon = FindObjectOfType <Harpoon>(); hasHarpoon = true; speedModifier = 1; UpdateAnimatorSpeed(); }
public void ChangeHarpoonType() { if(harpoonTypes.Count > 1){ if(currentHarpoonType == harpoonTypes[0]){ currentHarpoonType = harpoonTypes[1]; } else { currentHarpoonType = harpoonTypes[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(); }
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)); }
public void ChangeHarpoonType() { if (harpoonTypes.Count > 1) { if (currentHarpoonType == harpoonTypes[0]) { currentHarpoonType = harpoonTypes[1]; } else { currentHarpoonType = harpoonTypes[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; } } }
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); }
// 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) { } }
// 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);
// 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(); }