Example #1
0
 // Use this for initialization
 void Start()
 {
     nav          = GetComponent <NavMeshAgent>();
     playerTrans  = GameObject.Find("Player_01").transform;
     playerVitals = playerTrans.gameObject.GetComponent <PlayerVitals>();
     StartCoroutine(Damage());
 }
    public void Interaction(PlayerVitals playerVitals)
    {
        if (food)
        {
            playerVitals.hungerSlider.value += value;
            this.gameObject.SetActive(false);
        }

        else if (water)
        {
            playerVitals.thirstSlider.value += value;
            this.gameObject.SetActive(false);
        }

        else if (health)
        {
            playerVitals.healthSlider.value += value;
            this.gameObject.SetActive(false);
        }

        else if (sleepingBag)
        {
            sleepController.EnableSleepUI();
        }
    }
 public static void Apply(this VitalsMessage message, PlayerVitals vitals)
 {
     vitals.armour      += message.ArmourDelta;
     vitals.hitPoints   += message.HitPointDelta;
     vitals.meleeAttack += message.MeleeAttackDelta;
     vitals.rangeAttack += message.RangeAttackDelta;
 }
Example #4
0
 // Use this for initialization
 void Start()
 {
     controller = gameObject.transform.root.GetComponent<CharacterController>();
     motor = gameObject.transform.root.GetComponent<CharacterMotor>();
     inventory = gameObject.transform.root.GetComponent<Inventory>();
     vitals = gameObject.transform.root.GetComponent<PlayerVitals>();
 }
 //ctor
 public FG_SavedCharacter()
 {
     this.PlayerVitals             = new PlayerVitals();
     this.PlayerVitals.ActiveStati = new List <FG_SpellStatus>();
     //TODO can initialize an ingame character tracker.
     //^^^ this will be what will need to get leveled up to match the stats
     //Debug.LogError("UB_SavedCharacter RAN!!!!");
 }
Example #6
0
 public void SleepBtn(PlayerVitals playerVitals)
 {
     playerVitals.fatigueSlider.value = sleepSlider.value * hourlyRegen;
     playerVitals.fatMaxStamina       = playerVitals.fatigueSlider.value;
     playerVitals.staminaSlider.value = playerVitals.normMaxStamina;
     sleepSlider.value = 1;
     disableManager.EnablePlayer();
     sleepUI.SetActive(false);
 }
Example #7
0
    private void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }

        inventoryManager = FindObjectOfType <InventoryManager>();

        StartStats();
    }
Example #8
0
    // Use this for initialization
    void Start()
    {
        PlayerData = (PlayerVitals) GameObject.Find("First Person Controller").GetComponent ("PlayerVitals");

        thirstBar = new HUDBar(thirstMinColor, thirstMaxColor, PlayerData.GetThirstRatio(), thirstBox);
        hungerBar = new HUDBar(hungerMinColor, hungerMaxColor, PlayerData.GetHealthRatio(), hungerBox);

        //InitializeTemperature();
        thirstBar.Initialize();
        hungerBar.Initialize();
    }
Example #9
0
    void Awake()
    {
        _instance = this;
        _vitals.Add("Oxygen", new Vital("Oxygen", 1000));
        _vitals.Add("Health", new Vital("Health", 1000));
        _vitals.Add("Energy", new Vital("Energy", 1000));

        _vitals["Oxygen"].color = new Color(0f, 0.443f, 0.506f);
        _vitals["Health"].color = new Color(0.490f, 0.098f, 0.098f);
        _vitals["Energy"].color = new Color(0.196f, 0.196f, 0f);
    }
Example #10
0
    void Start()
    {
        tr  = transform;
        pTr = tr.parent;

        PlayerReference pr = GeneralVariables.playerRef;

        pm = pr.GetComponent <PlayerMovement>();
        pv = pr.GetComponent <PlayerVitals>();
        ac = pr.ac;
    }
Example #11
0
    void Start()
    {
        // Tag the local player to avoid self-collisions
        if (isLocalPlayer)
        {
            gameObject.tag = "LocalPlayer";
        }

        playerCombat   = GetComponent <PlayerCombat>();
        playerMovement = GetComponent <PlayerMovement>();
        playerVitals   = GetComponent <PlayerVitals>();
    }
Example #12
0
    void Start()
    {
        pm = GetComponent <PlayerMovement>();
        pv = GetComponent <PlayerVitals>();
        empRestorationLabel = GeneralVariables.uiController.empRecalibrate;
        rBlur = GeneralVariables.uiController.guiCamera.GetComponent <RadialBlur>();
        audioSource.volume = 0f;

        if (sunShafts != null)
        {
            camTransform = sunShafts.transform;
        }
    }
    public void SleepBtn(PlayerVitals playerVitals)
    {
        playerVitals.fatigueSlider.value = sleepSlider.value * hourlyRegen;
        playerVitals.stamMaxFat          = playerVitals.fatigueSlider.value;
        playerVitals.staminaSlider.value = playerVitals.stamMaxNorm;
        playerVitals.fatStage1           = true;
        playerVitals.fatStage2           = true;
        playerVitals.fatStage3           = true;

        sleepSlider.value = 1;
        disableManager.EnablePlayer();
        sleepUI.SetActive(false);
    }
Example #14
0
    //public bool helm;
    //public bool chestplate;
    //public bool legplate;
    //public bool feet;
    //public bool gloves;

    //public bool weapon;
    //public bool shield;

    //public bool neck;
    //public bool ring;
    //#endregion

    public void interaction(PlayerVitals playerVitals)
    {
        if (food)
        {
            playerVitals.hungerSlider.value += value;
        }
        else if (water)
        {
            playerVitals.thirstSlider.value += value;
        }
        else if (health)
        {
            playerVitals.hpSlider.value += value;
        }
    }
Example #15
0
    void Start()
    {
        GeneralVariables.player = gameObject;
        GeneralVariables.uiController.guiCamera.enabled = true;
        tr             = transform;
        controller     = GetComponent <CharacterController>();
        tss            = footsteps.footstepPos.GetComponent <TimeScaleSound>();
        playerMeshAnim = animations.playerMesh.GetComponent <Animation>();

        UIController uic = GeneralVariables.uiController;

        fadeSprite = uic.fadeFromBlack;
        uic.guiCamera.GetComponent <GUISway>().InitializeVariables();

        PlayerReference pr = GetComponent <PlayerReference>();

        pv = GetComponent <PlayerVitals>();
        pl = GetComponent <PlayerLook>();
        ia = pr.ia;
        wc = pr.wc;
        ac = pr.ac;
        wm = pr.wm;
        dm = pr.dm;

        defaultHeight  = controller.height;
        defaultHeadPos = head.localPosition;
        defaultLegPos  = animations.playerMesh.transform.localPosition + (Vector3.down * animations.meshOffset);
        normalLimit    = Mathf.Cos(controller.slopeLimit * Mathf.Deg2Rad);
        curSpeed       = movement.runSpeed;
        jumpTime       = -0.25f;
        impactMod      = 1f;
        fDmgSpeedMult  = 1f;

        AntiHackSystem.ProtectFloat("runSpeed", movement.runSpeed);
        AntiHackSystem.ProtectFloat("sprintSpeed", movement.sprintSpeed);
        AntiHackSystem.ProtectFloat("crouchSpeed", movement.crouchSpeed);
        AntiHackSystem.ProtectFloat("walkSpeed", movement.walkSpeed);
        AntiHackSystem.ProtectFloat("jumpHeight", movement.jumpHeight);

        grounded = false;
        movement.crouchDetection.gameObject.SetActive(false);
        AudioSource.PlayClipAtPoint(initializeSound, footsteps.footstepPos.transform.position, 0.12f);
        StartCoroutine(FadeFromBlack());
    }
Example #16
0
    void Start()
    {
        PlayerReference pRef = GeneralVariables.playerRef;

        pm   = GeneralVariables.player.GetComponent <PlayerMovement>();
        wm   = pRef.wm;
        dm   = pRef.dm;
        pl   = pm.GetComponent <PlayerLook>();
        pv   = pm.GetComponent <PlayerVitals>();
        vc   = GetComponent <VignettingC>();
        wdof = GetComponent <WeaponDepthOfField>();
        cb   = pRef.cb;
        acs  = pRef.acs;
        ia   = pRef.ia;

        GetComponent <Camera>().fieldOfView = (float)GameSettings.settingsController.FOV;

        cachedTr.localPosition = Vector3.zero;
        lastUnAim = -0.25f;
        lastAim   = -0.25f;
        lastShake = -100f;
    }
    private void Start()
    {
        playerVitals = GameObject.FindGameObjectWithTag("Player1").GetComponent <PlayerVitals>();

        StartCoroutine(Hurt());
    }
 protected override void OnAwake()
 {
     _vitals = GetComponent <PlayerVitals>();
 }
Example #19
0
    private void OnHit(RaycastHit hit)
    {
        ricochetValue++;
        float limbForceMult = 1f;

        travelDist += hit.distance;
        bool ignoreBulletHole = false;

        if (!isVisuals)
        {
            bs = hit.collider.GetComponent <BaseStats>();
            lb = hit.collider.GetComponent <Limb>();

            damage = Mathf.RoundToInt(damage * dmgCurve.Evaluate(travelDist));

            if (damage > 0)
            {
                if (bs != null)
                {
                    bool hitMarkerEnabled = false;
                    if (player && wManager != null && bs.curHealth > 0 && bs.hitIndication)
                    {
                        hitMarkerEnabled = true;
                    }

                    bool canDamage = true;
                    bs.headshot = false;

                    if (Topan.Network.isConnected)
                    {
                        Topan.NetworkView damageView = bs.GetComponent <Topan.NetworkView>();
                        if (damageView != null && damage > 0)
                        {
                            BotVitals hitBot = bs.GetComponent <BotVitals>();

                            if (GeneralVariables.gameModeHasTeams)
                            {
                                byte ownerTeam  = (player) ? (byte)Topan.Network.player.GetPlayerData("team", (byte)0) : BotManager.allBotPlayers[botIndex].team;
                                byte targetTeam = /* (hitBot) ? BotManager.allBotPlayers[hitBot.bm.myIndex].team : */ (byte)damageView.owner.GetPlayerData("team", (byte)0);

                                if (targetTeam == ownerTeam)
                                {
                                    if (!friendlyFire)
                                    {
                                        canDamage = false;
                                    }

                                    hitMarkerEnabled = false;
                                }
                            }
                            else
                            {
                            }

                            if (canDamage)
                            {
                                if (isServer && (damageView.ownerID == 0 || hitBot))
                                {
                                    bs.ApplyDamageNetwork((byte)Mathf.Clamp(damage, 0, 255), (botIndex > -1) ? (byte)(botIndex + 64) : (byte)Topan.Network.player.id, (byte)thisGunIndex, (byte)4);
                                }
                                else
                                {
                                    damageView.RPC(Topan.RPCMode.Owner, "ApplyDamageNetwork", (byte)Mathf.Clamp(damage, 0, 255), (botIndex > -1) ? (byte)(botIndex + 64) : (byte)Topan.Network.player.id, (byte)thisGunIndex, (byte)4);
                                }
                            }
                        }
                        else
                        {
                            bs.ApplyDamageMain(damage, true);
                        }
                    }
                    else
                    {
                        bs.ApplyDamageMain(damage, true);
                    }

                    if (hitMarkerEnabled)
                    {
                        wManager.HitTarget(bs.curHealth <= 0);
                    }

                    if (canDamage)
                    {
                        PlayerVitals playerPV = bs.GetComponent <PlayerVitals>();
                        if (bs.isLocalPlayer && playerPV != null)
                        {
                            playerPV.HitIndicator(startPos);
                        }
                    }
                }
                else if (lb != null && lb.rootStats != null)
                {
                    bs = lb.rootStats;
                    lb.ragdollVelocity = tr.forward * force * limbForceMult;
                    damage             = Mathf.RoundToInt(damage * lb.realDmgMult);

                    bool hitMarkerEnabled = false;
                    if (player && wManager != null && bs.curHealth > 0 && bs.hitIndication)
                    {
                        hitMarkerEnabled = true;
                    }

                    bs.headshot = (lb.limbType == Limb.LimbType.Head);

                    if (Topan.Network.isConnected)
                    {
                        Topan.NetworkView damageView = bs.GetComponent <Topan.NetworkView>();
                        if (damageView != null)
                        {
                            BotVitals hitBot    = bs.GetComponent <BotVitals>();
                            bool      canDamage = true;

                            if (GeneralVariables.gameModeHasTeams)
                            {
                                byte ownerTeam  = (player || botIndex <= -1) ? (byte)Topan.Network.player.GetPlayerData("team", (byte)0) : BotManager.allBotPlayers[botIndex].team;
                                byte targetTeam = /*(hitBot) ? BotManager.allBotPlayers[hitBot.bm.myIndex].team : */ (byte)damageView.owner.GetPlayerData("team", (byte)0);

                                if (targetTeam == ownerTeam)
                                {
                                    if (!friendlyFire)
                                    {
                                        canDamage = false;
                                    }

                                    hitMarkerEnabled = false;
                                }
                            }
                            else
                            {
                            }

                            if (canDamage)
                            {
                                if (isServer && (damageView.ownerID == 0 || hitBot))
                                {
                                    bs.ApplyDamageNetwork((byte)Mathf.Clamp(damage, 0, 255), (botIndex > -1) ? (byte)(botIndex + 64) : (byte)Topan.Network.player.id, (byte)thisGunIndex, (byte)lb.limbType);
                                }
                                else
                                {
                                    damageView.RPC(Topan.RPCMode.Owner, "ApplyDamageNetwork", (byte)Mathf.Clamp(damage, 0, 255), (botIndex > -1) ? (byte)(botIndex + 64) : (byte)Topan.Network.player.id, (byte)thisGunIndex, (byte)lb.limbType);
                                }
                            }
                        }
                        else
                        {
                            bs.ApplyDamageMain(damage, true);
                        }
                    }
                    else
                    {
                        bs.ApplyDamageMain(damage, true);
                    }

                    limbForceMult = 3f;

                    if (hitMarkerEnabled)
                    {
                        wManager.HitTarget(bs.curHealth <= 0);
                    }
                }
            }
        }

        bulletHoleIndex = 0;
        hitEffectIndex  = 0;
        string hitTag = hit.collider.tag;

        if (hitTag == "Dirt")
        {
            hitEffectIndex = 1;
        }
        else if (hitTag == "Metal")
        {
            hitEffectIndex = 2;
        }
        else if (hitTag == "Wood")
        {
            hitEffectIndex = 3;
        }
        else if (hitTag == "Flesh" || hitTag == "Player - Flesh")
        {
            bulletHoleIndex = -1;
            hitEffectIndex  = 4;
        }
        else if (hitTag == "Water")
        {
            bulletHoleIndex = -1;
            hitEffectIndex  = 5;
        }

        Quaternion rot = Quaternion.LookRotation(hit.normal);

        if (bulletHoleIndex >= 0 && !ignoreBulletHole)
        {
            Transform hole = PoolManager.Instance.RequestInstantiate(bulletHoles[bulletHoleIndex], hit.point + (hit.normal * 0.01f), rot).transform;

            if (!hit.collider.gameObject.isStatic && hit.rigidbody)
            {
                hole.KeepUniformScale(hit.transform);
            }

            float randomSize = Random.Range(bulletDecalSize.x, bulletDecalSize.y);
            hole.localScale = new Vector3(randomSize, randomSize, 1f);

            Vector3 euler = hole.localEulerAngles;
            euler.z = Random.value * 360f;
            hole.localEulerAngles = euler;

            DecalObject dObj = hole.GetChild(0).GetComponent <DecalObject>();
            dObj.targetObject = hit.collider.gameObject;
            dObj.UpdateDecalMesh();
        }

        PoolManager.Instance.RequestParticleEmit(hitEffectIndex, hit.point + (hit.normal * 0.06f), rot);

        Rigidbody rigid = hit.rigidbody;

        if ((lb == null || (lb != null && (lb.rootStats == null || lb.rootStats.curHealth <= 0))) && rigid != null && !rigid.isKinematic)
        {
            rigid.AddForce(tr.forward * force * limbForceMult, ForceMode.Impulse);
        }

        if (ricochetAmount > 0 && ricochetValue <= ricochetAmount)
        {
            if (Vector3.Angle(dir, hit.normal) - 90f <= ricochetAngle)
            {
                tr.rotation    = Quaternion.LookRotation(Vector3.Reflect(dir, hit.normal));
                speed         *= 0.75f;
                damage         = Mathf.RoundToInt(damage * Random.Range(0.5f, 0.6f));
                gravityVector *= 0.5f;
                tr.position   += tr.forward * speed * Time.deltaTime;
                newPos         = tr.position;
            }
            else
            {
                AddToPool();
            }
        }

        if (smokeInstance != null)
        {
            smokeInstance.SetPosition(1, hit.point);
            smokeInstance = null;
        }

        if (currentWhiz != null)
        {
            currentWhiz.transform.parent   = null;
            currentWhiz.transform.position = hit.point;
            currentWhiz = null;
            noWhizSound = false;
        }

        tracer.SetActive(false);
        glow.SetActive(false);
        AddToPool();
    }
 void Start()
 {
     rig    = GetComponent <Rigidbody2D>();
     vitals = GetComponent <PlayerVitals>();
 }
    public override void OnInspectorGUI()
    {
        PlayerVitals pv = target as PlayerVitals;

        if (pv.cam == null)
        {
            pv.cam = (GameObject)EditorGUILayout.ObjectField("Camera", pv.cam, typeof(GameObject), true);
        }
        if (pv.arms == null)
        {
            pv.arms = (GameObject)EditorGUILayout.ObjectField("Arms", pv.arms, typeof(GameObject), true);
        }
        if (pv.breathingSound == null)
        {
            pv.breathingSound = (AudioSource)EditorGUILayout.ObjectField("Breathing Source", pv.breathingSound, typeof(AudioSource), true);
        }
        if (pv.heartbeatSound == null)
        {
            pv.heartbeatSound = (AudioSource)EditorGUILayout.ObjectField("Heartbeat Source", pv.heartbeatSound, typeof(AudioSource), true);
        }
        if (pv.noiseSource == null)
        {
            pv.noiseSource = (AudioSource)EditorGUILayout.ObjectField("Distort Noise Source", pv.noiseSource, typeof(AudioSource), true);
        }
        if (pv.shieldAlarmSource == null)
        {
            pv.shieldAlarmSource = (AudioSource)EditorGUILayout.ObjectField("Shield Alarm Source", pv.shieldAlarmSource, typeof(AudioSource), true);
        }
        if (pv.fallDamageSource == null)
        {
            pv.fallDamageSource = (AudioSource)EditorGUILayout.ObjectField("Fall Damage Source", pv.fallDamageSource, typeof(AudioSource), true);
        }
        if (pv.equipmentRattleSource == null)
        {
            pv.equipmentRattleSource = (AudioSource)EditorGUILayout.ObjectField("Equipment Rattle Source", pv.equipmentRattleSource, typeof(AudioSource), true);
        }

        GUILayout.Label("HEALTH VALUES", EditorStyles.boldLabel);
        GUILayout.BeginHorizontal();
        GUILayout.Space(20);
        GUILayout.BeginVertical();
        pv.curHealth                = EditorGUILayout.IntSlider("Current Health:", pv.curHealth, Mathf.Min(pv.maxHealth, 1), pv.maxHealth);
        pv.maxHealth                = EditorGUILayout.IntField("Maximum Health:", pv.maxHealth);
        pv.healthRecoverDelay       = EditorGUILayout.FloatField("Recovery Delay:", pv.healthRecoverDelay);
        EditorGUIUtility.labelWidth = 175f;
        pv.healthRecoverySpeed      = EditorGUILayout.FloatField("Recovery Rate: (" + ((1 / pv.healthRecoverySpeed) * pv.healthRecoverAmount).ToString("F2") + " HP/s)", Mathf.Clamp(pv.healthRecoverySpeed, 0.001f, 1000000f));
        EditorGUIUtility.LookLikeControls();
        pv.healthRecoverAmount    = EditorGUILayout.IntField("  Recover Amount:", Mathf.Clamp(pv.healthRecoverAmount, 1, 1000));
        pv.healthRecoverInfluence = EditorGUILayout.FloatField("Recover Influence:", pv.healthRecoverInfluence);
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();

        GUILayout.Space(5);

        GUILayout.Label("SHIELD VALUES", EditorStyles.boldLabel);
        GUILayout.BeginHorizontal();
        GUILayout.Space(20);
        GUILayout.BeginVertical();
        pv.curShield                = EditorGUILayout.IntSlider("Current Shield:", pv.curShield, 0, pv.maxShield);
        pv.maxShield                = EditorGUILayout.IntField("Maximum Shield:", pv.maxShield);
        pv.shieldRecoverDelay       = EditorGUILayout.FloatField("Recovery Delay:", pv.shieldRecoverDelay);
        EditorGUIUtility.labelWidth = 175f;
        pv.shieldRecoverySpeed      = EditorGUILayout.FloatField("Recovery Rate: (" + ((1 / pv.shieldRecoverySpeed) * pv.shieldRecoverAmount).ToString("F2") + " SP/s)", Mathf.Clamp(pv.shieldRecoverySpeed, 0.001f, 1000000f));
        EditorGUIUtility.LookLikeControls();
        pv.shieldRecoverAmount = EditorGUILayout.IntField("  Recover Amount:", Mathf.Clamp(pv.shieldRecoverAmount, 1, 1000));
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();

        GUILayout.Label("STAMINA VALUES", EditorStyles.boldLabel);
        GUILayout.BeginHorizontal();
        GUILayout.Space(20);
        GUILayout.BeginVertical();
        EditorGUIUtility.labelWidth = 175f;
        pv.staminaRecoverySpeed     = EditorGUILayout.FloatField("Recovery Rate: (" + (1 / pv.staminaRecoverySpeed).ToString("F2") + " ST/s)", Mathf.Clamp(pv.staminaRecoverySpeed, 0.001f, Mathf.Infinity));
        pv.staminaDepletionRate     = EditorGUILayout.FloatField("Depletion Rate: (" + (1 / pv.staminaDepletionRate).ToString("F2") + " ST/s)", Mathf.Clamp(pv.staminaDepletionRate, 0.001f, Mathf.Infinity));
        EditorGUIUtility.LookLikeControls();
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();

        GUILayout.Label("AUDIO VALUES", EditorStyles.boldLabel);
        GUILayout.BeginHorizontal();
        GUILayout.Space(20);
        GUILayout.BeginVertical();
        showpainaudio = EditorGUILayout.Foldout(showpainaudio, "Pain Sounds");
        if (showpainaudio)
        {
            EditorGUI.indentLevel += 1;
            int length = pv.painSounds.Length;
            length = EditorGUILayout.IntField("Length:", length);
            if (length != pv.painSounds.Length)
            {
                AudioClip[] tempAudio = pv.painSounds;
                pv.painSounds = new AudioClip[length];
                for (int i = 0; i < tempAudio.Length; i++)
                {
                    if (i < pv.painSounds.Length)
                    {
                        pv.painSounds[i] = tempAudio[i];
                    }
                }
            }
            EditorGUI.indentLevel += 1;
            for (int i = 0; i < pv.painSounds.Length; i++)
            {
                pv.painSounds[i] = (AudioClip)EditorGUILayout.ObjectField("Element " + i.ToString(), pv.painSounds[i], typeof(AudioClip), true);
            }
            EditorGUI.indentLevel -= 1;
            EditorGUI.indentLevel -= 1;
        }
        GUILayout.Space(10);
        pv.deathSound      = (AudioClip)EditorGUILayout.ObjectField("Death:", pv.deathSound, typeof(AudioClip), true);
        pv.fallDamageSound = (AudioClip)EditorGUILayout.ObjectField("Fall Damage:", pv.fallDamageSound, typeof(AudioClip), true);
        pv.healthDamage    = (AudioClip)EditorGUILayout.ObjectField("Health Damage:", pv.healthDamage, typeof(AudioClip), true);
        pv.shieldDamage    = (AudioClip)EditorGUILayout.ObjectField("Shield Damage:", pv.shieldDamage, typeof(AudioClip), true);
        pv.shieldFailure   = (AudioClip)EditorGUILayout.ObjectField("Shield Failure:", pv.shieldFailure, typeof(AudioClip), true);
        pv.shieldRegen     = (AudioClip)EditorGUILayout.ObjectField("Shield Recover:", pv.shieldRegen, typeof(AudioClip), true);
        pv.noBreathExhale  = (AudioClip)EditorGUILayout.ObjectField("No Breath Exhale:", pv.noBreathExhale, typeof(AudioClip), true);
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();

        GUILayout.Label("MISCELLANEOUS VALUES", EditorStyles.boldLabel);
        GUILayout.BeginHorizontal();
        GUILayout.Space(20);
        GUILayout.BeginVertical();
        pv.effectIntensity = EditorGUILayout.Slider("Effect Intensity:", pv.effectIntensity, 0, 10);
        GUILayout.Space(5f);
        EditorGUIUtility.labelWidth = 145f;
        pv.fallDamageTolerance      = EditorGUILayout.FloatField("Fall Damage Tolerance:", pv.fallDamageTolerance);
        EditorGUIUtility.LookLikeControls();
        pv.fallDamageCurve = EditorGUILayout.FloatField("Fall Damage Curve:", pv.fallDamageCurve);
        GUILayout.Space(5f);
        pv.healthLowPass    = (AudioLowPassFilter)EditorGUILayout.ObjectField("Low Pass Filter:", pv.healthLowPass, typeof(AudioLowPassFilter), true);
        pv.deathReplacement = (GameObject)EditorGUILayout.ObjectField("Death Replacement:", pv.deathReplacement, typeof(GameObject), true);
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();

        GUILayout.Space(15);

        if (GUI.changed)
        {
            EditorUtility.SetDirty(pv);
        }
    }
Example #22
0
    void Start()
    {
        maxSize = 20;

        initializeCraftingDictionary();
        equippedItemScript = GameObject.Find("EquippedItem").GetComponent<EquippedItemManager>();

        vitals = gameObject.transform.root.GetComponent<PlayerVitals>();
        textHints = GameObject.Find("TextHintGUI");

        InventoryTextGUI = GameObject.Find("InventoryText");
        collectSound = (AudioClip)UnityEngine.Resources.Load("item_collect_rustle");

        //EquipItem(new BowItem(1));
        //EquipItem(new ArrowItem(50));
        EquipItem(new KnifeItem(1));
    }
Example #23
0
    private void ApplyDamageStat(BaseStats bs, int dmg, float dist, float rad)
    {
        if (dmg <= 0 && !isEMP)
        {
            return;
        }

        PlayerVitals playerPV = bs.GetComponent <PlayerVitals>();

        if (bs.isLocalPlayer && playerPV != null)
        {
            playerPV.HitIndicator(transform.position);

            if (isEMP)
            {
                playerPV.pe.StartPhase_EMP();
            }
            else if (explosionCameraEffect)
            {
                playerPV.pe.ExplosionVisualEffect(1.05f - Mathf.Clamp01((dist * 1.35f) / rad));
            }
        }

        bool showHitMarker = false;

        if (isPlayer && !bs.isLocalPlayer && wManager != null && bs.curHealth > 0)
        {
            showHitMarker = true;
        }

        if (Topan.Network.isConnected)
        {
            Topan.NetworkView damageView = bs.GetComponent <Topan.NetworkView>();

            if (damageView != null && !(isPlayer && bs.isLocalPlayer))
            {
                bool      canDamage  = true;
                BotVitals hitBot     = bs.GetComponent <BotVitals>();
                byte      ownerTeam  = (isPlayer || botIndex <= -1) ? (byte)Topan.Network.player.GetPlayerData("team", (byte)0) : BotManager.allBotPlayers[botIndex].team;
                byte      targetTeam = /*(hitBot != null) ? BotManager.allBotPlayers[hitBot.bm.myIndex].team :*/ (byte)damageView.owner.GetPlayerData("team", (byte)0);

                if (GeneralVariables.gameModeHasTeams)
                {
                    if (targetTeam == ownerTeam)
                    {
                        canDamage     = friendlyFire;
                        showHitMarker = false;
                    }
                }
                else
                {
                }

                /*
                 * if((hitBot != null && botIndex > -1 && hitBot.bm.myIndex == botIndex)) {
                 *  canDamage = true;
                 * }*/

                if (canDamage)
                {
                    damageView.RPC(Topan.RPCMode.Owner, "ApplyDamageNetwork", (byte)dmg, (botIndex > -1) ? (byte)(botIndex + 64) : (byte)Topan.Network.player.id, GetTrueID(), (grenIndex > -1) ? (byte)255 : (byte)4);
                }

                if (isEMP && !hitBot)
                {
                    damageView.RPC(Topan.RPCMode.Owner, "NetworkEMP");
                }
            }
            else
            {
                bs.headshot = false;
                bs.ApplyDamageMain(dmg, true);
            }
        }
        else
        {
            bs.headshot = false;
            bs.ApplyDamageMain(dmg, true);
        }

        if (showHitMarker)
        {
            wManager.HitTarget(bs.curHealth <= 0);
        }
    }
Example #24
0
 //ctor
 public UB_SavedCharacter()
 {
     PlayerVitals = new PlayerVitals {
         ActiveStati = new List <UB_SpellStatus>()
     };
 }
 void Damage(PlayerVitals pv)
 {
     pv.Damage(damageDealt);
 }
Example #26
0
 void Start()
 {
     inventory = GetComponent <PlayerInventory>();
     rig       = GetComponent <Rigidbody2D>();
     vitals    = GetComponent <PlayerVitals>();
 }
Example #27
0
    void Start()
    {
        player = GeneralVariables.player;
        dm     = GetComponent <DynamicMovement>();
        pm     = player.GetComponent <PlayerMovement>();
        pv     = player.GetComponent <PlayerVitals>();
        pl     = player.GetComponent <PlayerLook>();
        pe     = player.GetComponent <PlayerEffects>();
        gam    = GeneralVariables.playerRef.gam;
        ac     = GeneralVariables.playerRef.ac;
        acs    = GeneralVariables.playerRef.acs;

        UIController uiController = GeneralVariables.uiController;

        curAmmoDisplay        = uiController.curAmmoDisplay;
        ammoLeftDisplay       = uiController.ammoLeftDisplay;
        weaponName            = uiController.weaponName;
        weaponIcon            = uiController.weaponIcon;
        weaponSlot            = uiController.weaponSlot;
        ammoBar               = uiController.ammoBar;
        muzGlow               = uiController.muzzleHelmetGlow;
        fireModeDisplay       = uiController.fireModeLabel;
        reloadIndImpulse      = uiController.reloadIndicatorLabel.GetComponent <ImpulseGUI>();
        grenadeSelection      = uiController.grenadeSelectionSprite;
        grenadeSelectionLabel = uiController.grenadeSelectionLabel;
        defaultIconPos        = new Vector3(-172f, 14f, 2f);

        grenadeSelectionLabel.alpha = 0.2f;
        grenadeSelection.transform.localPosition = new Vector3(-35f, 83f, 0f);

        grenadeManager.gameObject.SetActive(true);
        grenadeManager.Initialize();
        queuedAmmo    = -1;
        queuedReserve = -1;
        queuedChamber = false;
        curWeaponNum  = -1;

        if (mpSpawnStartPrimary > -1)
        {
            AddWeapon(mpSpawnStartPrimary, false);
            mpSpawnStartPrimary = -1;
        }
        else if (startingPrimary > -1)
        {
            AddWeapon(startingPrimary, false);
        }

        if (mpSpawnStartSecondary > -1)
        {
            AddWeapon(mpSpawnStartSecondary, false);
            mpSpawnStartSecondary = -1;
        }
        else if (startingSecondary > -1)
        {
            AddWeapon(startingSecondary, false);
        }

        if (Topan.Network.isConnected)
        {
            StartCoroutine(WaitForNetworkInit());
        }
        else
        {
            FindWeaponToUse(true, 0);
        }

        dca             = 0f;
        dal             = 0f;
        displayCurAmmo  = 0;
        displayAmmoLeft = 0;
        friendlyFire    = NetworkingGeneral.friendlyFire;
        initTime        = Time.time;
    }
Example #28
0
    // Use this for initialization
    void Start()
    {
        inventory = GameObject.FindGameObjectWithTag("Player").GetComponent<Inventory>();
        movementSpeed = GameObject.FindGameObjectWithTag("Player").GetComponent<CharacterMotor>();

        inventoryRectNormalized = normalizeRect(inventoryRect);

        PlayerData = (PlayerVitals) GameObject.Find("First Person Controller").GetComponent ("PlayerVitals");

        IncreaseStat.normal.textColor = new Color(0,40,0,1);
        GoodStatus.normal.textColor = Color.white;
        BadStatus.normal.textColor = Color.red;

        this.enabled = false;
    }
Example #29
0
 private void Start()
 {
     PlayerVitals = PlayerVitals.Instance;
     InitStartingValues();
 }