public LineHitbox createLineHB(float range, Vector2 aimPoint, Vector2 offset, float damage, float stun, float hitboxDuration, Vector2 knockback, bool followObj = true, ElementType element = ElementType.PHYSICAL) { if (m_physics != null) { aimPoint = m_physics.OrientVectorToDirection(aimPoint); offset = m_physics.OrientVectorToDirection(offset); } Vector3 newPos = new Vector3(transform.position.x + offset.x, transform.position.y + offset.y, 0); GameObject go = Instantiate(HitboxList.Instance.HitboxLine, newPos, Quaternion.identity) as GameObject; LineHitbox line = go.GetComponent <LineHitbox> (); line.setRange(range); line.Damage = damage; line.setAimPoint(aimPoint); line.Duration = hitboxDuration; if (m_physics != null) { line.Knockback = m_physics.OrientVectorToDirection(knockback); } line.IsFixedKnockback = true; line.Creator = gameObject; line.Faction = Faction; line.AddElement(element); line.Stun = stun; line.Init(); ExecuteEvents.Execute <ICustomMessageTarget> (gameObject, null, (x, y) => x.OnHitboxCreate(line)); return(line); }