Example #1
0
    public void TakeDamage(MPlayerController.DamageInfo damageInfo)
    {
        if (!isServer)
        {
            DebugHUD.Debugg("TDmg not SRV");
            return;
        }

        if (Invulnerable)
        {
            DebugHUD.Debugg("Invul");
            return;
        }

        currentHealth -= damageInfo.amount;
        var testLocalObj = NetworkServer.FindLocalObject(damageInfo.netId);

        DebugHUD.Debugg("damage: " + damageInfo.amount + "src: " + (testLocalObj ? testLocalObj.name : "null"));

        if (currentHealth <= 0)
        {
            currentHealth = maxHealth;
            var damageSource = NetworkServer.FindLocalObject(damageInfo.netId);
            var player       = damageSource.GetComponent <MPlayerController>();
            if (player)
            {
                player.RpcGetAKill();
            }
            //damageInfo.source.RpcGetAKill();
            RpcRespawn();
        }
    }
Example #2
0
 public void SetDamageSourceId(NetworkInstanceId _netId)
 {
     if (!isServer)
     {
         DebugHUD.Debugg("not server set dmg src id");
         return;
     }
     DebugHUD.Debugg("setting dmg ");
     damage = new MPlayerController.DamageInfo()
     {
         amount = collisionDamage,
         netId  = _netId
     };
 }