Example #1
0
    void Start()
    {
        tr            = transform;
        root          = tr.root;
        defaultPos    = tr.localPosition;
        defaultArmRot = tr.localEulerAngles;
        ba            = bobAmount;

        PlayerReference pr = GeneralVariables.playerRef;

        if (pr != null)
        {
            pm  = pr.GetComponent <PlayerMovement>();
            ac  = pr.ac;
            cb  = pr.cb;
            ia  = pr.ia;
            wm  = pr.wm;
            acs = pr.acs;
            pl  = pr.GetComponent <PlayerLook>();
        }

        lastKickTime       = -0.1f;
        smoothKickFactor   = 0.01f;
        kickSpeedFactor    = 1f;
        animationIsPlaying = false;
    }
Example #2
0
    void Start()
    {
        tr  = transform;
        pTr = tr.parent;

        PlayerReference pr = GeneralVariables.playerRef;

        pm = pr.GetComponent <PlayerMovement>();
        pv = pr.GetComponent <PlayerVitals>();
        ac = pr.ac;
    }
Example #3
0
    public void SetReferenceVars()
    {
        PlayerReference pRef = GeneralVariables.playerRef;

        if (pRef != null)
        {
            pe  = pRef.GetComponent <PlayerEffects>();
            wm  = pRef.wm;
            dm  = pRef.dm;
            pm  = pRef.GetComponent <PlayerMovement>();
            ac  = pRef.ac;
            acs = pRef.acs;
        }
    }
Example #4
0
    public void Initialize()
    {
        UIController uic = GeneralVariables.uiController;

        weaponName = uic.weaponName;
        curAmmo    = uic.curAmmoDisplay;
        ammoLeft   = uic.ammoLeftDisplay;
        ammoBar    = uic.ammoBar;

        PlayerReference pr = GeneralVariables.playerRef;

        gm  = transform.parent.GetComponent <GrenadeManager>();
        pm  = pr.GetComponent <PlayerMovement>();
        gam = pr.gam;
        wm  = pr.wm;
        acs = pr.acs;

        if (isDetonatable)
        {
            canDetonate = true;
        }

        OnSelect();
        switchToWeapon = -1;
        canThrow       = true;
    }
Example #5
0
    public void InitializeVariables()
    {
        PlayerReference pr = GeneralVariables.playerRef;

        if (pr != null)
        {
            pm = pr.GetComponent <PlayerMovement>();
            pl = pr.GetComponent <PlayerLook>();
            dm = pr.dm;
            ia = pr.ia;
            ac = pr.ac;
            cb = pr.cb;

            initialized = true;
        }
    }
Example #6
0
    public void RunStart()
    {
        if (mpReferenceOnly)
        {
            return;
        }

        PlayerReference pr = GeneralVariables.playerRef;

        pl  = pr.GetComponent <PlayerLook>();
        pm  = pr.GetComponent <PlayerMovement>();
        wm  = pr.wm;
        dm  = pr.dm;
        ac  = pr.ac;
        acs = pr.acs;
        tss = firePos.GetComponent <TimeScaleSound>();

        UIController uiController = GeneralVariables.uiController;

        curAmmoDisplay  = uiController.curAmmoDisplay;
        ammoLeftDisplay = uiController.ammoLeftDisplay;
        ammoBar         = uiController.ammoBar;
        crosshair       = uiController.crosshairs;

        if (muzzleLight != null)
        {
            muzzleBrightness = muzzleLight.intensity;
        }

        initializeTime = Time.time;
        PoolManager.Instance.Initialize();
        gunVisuals       = GetComponent <GunVisuals>();
        shootImpulseGUI  = 1f;
        reloadImpulseGUI = 1f;

        pa       = GetComponent <PistolAnim>();
        maxIndex = 2;
        SwitchFiringMethod();
        flashlightOn  = false;
        startCounting = false;
        fireCount     = 0;
        asm           = 1f;
        spreadReal    = baseSpreadAmount;
        bsna          = baseSpreadAmount;
    }
Example #7
0
    private void DamageArea()
    {
        dmgBaseStats.Clear();

        PlayerReference pRef = GeneralVariables.playerRef;

        if (shakeCamera && pRef != null)
        {
            float shakeDistance = Vector3.Distance(tr.position, pRef.transform.position);
            if (shakeDistance < shakeRadius)
            {
                pRef.GetComponent <PlayerLook>().ShakeCamera(shakeLength, shakeSpeed, shakeIntensity * 2.5f * Mathf.Clamp01((shakeRadius - shakeDistance) / shakeRadius));
            }
        }

        damageRadius = damageFalloff[damageFalloff.length - 1].time;
        toAffect     = Physics.OverlapSphere(tr.position, ((overrideMaxRange > 0f) ? overrideMaxRange : damageRadius), layersToDamage.value);

        foreach (Collider col in toAffect)
        {
            float distanceFromCollider = Mathf.Clamp(Vector3.Distance(tr.position, col.ClosestPointOnBounds(tr.position)), 0, (overrideMaxRange > 0f) ? overrideMaxRange : damageRadius);

            float evalDamage = damageFalloff.Evaluate(distanceFromCollider * ((overrideMaxRange > 0f) ? (damageRadius / overrideMaxRange) : 1f));
            if (overrideMaxDmg > 0)
            {
                evalDamage *= ((float)overrideMaxDmg / damageFalloff.Evaluate(0f));
            }

            if (isEMP || evalDamage >= 0.5f)
            {
                int  dmg          = Mathf.RoundToInt(evalDamage);
                bool thisIsTarget = (hitTarget != null && col.GetInstanceID() == hitTarget.GetComponent <Collider>().GetInstanceID());

                if (raycastCheck)
                {
                    if (thisIsTarget || Physics.Raycast(tr.position + raycastOffset, (col.bounds.center - (tr.position + raycastOffset)), out hit, ((overrideMaxRange > 0f) ? overrideMaxRange : damageRadius), layersToDamage.value))
                    {
                        if (!thisIsTarget && hit.collider.GetInstanceID() != col.GetInstanceID())
                        {
                            continue;
                        }

                        DoAreaAction(col, ((overrideMaxRange > 0f) ? overrideMaxRange : damageRadius), dmg + ((thisIsTarget) ? bonusDamage : 0), distanceFromCollider);
                    }
                }
                else
                {
                    DoAreaAction(col, ((overrideMaxRange > 0f) ? overrideMaxRange : damageRadius), dmg + ((thisIsTarget) ? bonusDamage : 0), distanceFromCollider);
                    continue;
                }
            }
        }

        lastDamageTime = Time.time;
        bonusDamage    = 0;
        hitTarget      = null;
    }
Example #8
0
    void Start()
    {
        defaultPos = transform.localPosition;
        defaultRot = transform.localEulerAngles;

        PlayerReference pr = GeneralVariables.playerRef;

        pm = pr.GetComponent <PlayerMovement>();
        ac = pr.ac;
    }
Example #9
0
    void Awake()
    {
        tr    = transform;
        acoTr = antiClipObj.transform;

        PlayerReference pr = GeneralVariables.playerRef;

        wm = pr.wm;
        pm = pr.GetComponent <PlayerMovement>();
        dm = pr.dm;
        ac = pr.ac;

        switchRotX = dm.drawRot.x;
        switchRotY = -dm.drawRot.y;
        switchRotZ = dm.drawRot.z;
    }
Example #10
0
    private void Die()
    {
        if (dead)
        {
            return;
        }

        foreach (GameObject g in deathReplacement)
        {
            Instantiate(g, transform.position, transform.rotation);
        }

        PlayerReference pr = GeneralVariables.playerRef;

        if (pr != null)
        {
            pr.GetComponent <PlayerStats>().GetXP(Random.Range(minExperience, maxExperience + 1));
        }

        WaveManager wm = GeneralVariables.waveManager;

        if (wm != null)
        {
            wm.EnemyKilled();
        }

        if (destroyWhenDead)
        {
            Destroy(gameObject);
            dead = true;
            return;
        }

        if (hasRagdoll)
        {
            Vector3 xzVelo = (controller != null) ? controller.velocity : Vector3.zero;

            foreach (Rigidbody body in rigid)
            {
                body.isKinematic = false;
                body.useGravity  = true;
                body.AddForce((xzVelo * Random.Range(1.9f, 2.2f)) + new Vector3(Random.Range(-4f, 4f), Random.Range(-1f, 2f), Random.Range(-1f, 2f)), ForceMode.Impulse);
            }

            foreach (Collider col in colz)
            {
                if (col != controller)
                {
                    col.isTrigger = false;
                }
            }
        }

        if (audioS)
        {
            Destroy(audioS);
        }

        if (controller != null)
        {
            controller.enabled = false;
        }
        if (anim != null)
        {
            anim.enabled = false;
        }

        foreach (MonoBehaviour mb in disableScripts)
        {
            mb.enabled = false;
        }

        if (dissolveDelay > 0)
        {
            foreach (Renderer r in renderers)
            {
                r.gameObject.AddComponent <DissolveEffect>().Dissolve(dissolveMaterial, dissolveDelay, dissolveSpeed, new Color(1f, 0.3f, 0f, 1f), DissolveEffect.DissolveDirection.DissolveOut, true);
            }
        }

        dead = true;
    }