Example #1
0
    // Use this for initialization
    public override void Init(Creature ownerCreature, Weapon weapon, Weapon.FiringDesc targetAngle)
    {
        m_effectTargetingPoint = new EffectTargetingCircle();
        base.Init(ownerCreature, weapon, targetAngle);

        if (weapon.WeaponStat.summonRefMobId > 0)
        {
            m_spawnedMob = Const.GetSpawn().SpawnMob(RefData.Instance.RefMobs[weapon.WeaponStat.summonRefMobId], weapon.Level, gameObject.transform.position, false, false);
            m_spawnedMob.EnableNavmesh(false);
            m_spawnedMob.CreatureType = ownerCreature.CreatureType;
            m_spawnedMob.SetTarget(null);
        }
    }
    public override void StartFiring(float targetAngle)
    {
        if ( isCoolTime() == true && m_creature.Targetting != null)
        {
            float d = Vector3.Distance(m_creature.transform.position, m_creature.Targetting.transform.position);

            m_parabola = new Parabola(m_creature.gameObject, d*1.7f, targetAngle*Mathf.Deg2Rad, 80*Mathf.Deg2Rad, 1);
            m_parabola.TimeScale = 0.80f;

            m_effectTargetingPoint = new EffectTargetingCircle();
            m_effectTargetingPoint.Init(m_parabola.DestPosition);

            m_creature.CrowdControl(Creature.CrowdControlType.LeapStrike, true);

            DidStartFiring(0f);
        }
        m_firing = true;
    }