Esempio n. 1
0
    public void PlyerDoping(Vector3 mypos, int myno)
    {
        float      length;
        GameObject obj;
        Vector3    objpos;

        for (int i = 0; i < Playercnt; i++)
        {
            Player P = PlayersObject[i].GetComponent <Player>();
            if (P.no == myno)
            {
                continue;
            }

            length = (Mathf.Abs(PlayersObject[i].transform.position.x - mypos.x) * Mathf.Abs(PlayersObject[i].transform.position.x - mypos.x)) +
                     (Mathf.Abs(PlayersObject[i].transform.position.y - mypos.y) * Mathf.Abs(PlayersObject[i].transform.position.y - mypos.y)) +
                     (Mathf.Abs(PlayersObject[i].transform.position.z - mypos.z) * Mathf.Abs(PlayersObject[i].transform.position.z - mypos.z));


            if (DOPINGAREA * DOPINGAREA > length)
            {
                objpos = PlayersObject[i].transform.position;

                obj = Instantiate(Dopingobj, objpos, Quaternion.identity) as GameObject;
                obj.transform.parent = PlayersObject[i].transform;
                Doping doping = obj.GetComponent <Doping>();
                doping.DopingInit();
            }
        }
    }
Esempio n. 2
0
    private void CheckBuffs()
    {
        //decrement buffs
        if (PlayerParty.Warrior.Buffed > 0) //Doping counter
        {
            PlayerParty.Warrior.Buffed--;
        }
        //DivineLight counters
        if (PlayerParty.Warrior.BuffedH > 0)
        {
            PlayerParty.Warrior.BuffedH--;
        }

        if (PlayerParty.Mage.BuffedH > 0)
        {
            PlayerParty.Mage.BuffedH--;
        }

        if (PlayerParty.Healer.BuffedH > 0)
        {
            PlayerParty.Healer.BuffedH--;
        }
        //if 0 take em off
        if (PlayerParty.Warrior.Buffed == 0) //doping off
        {
            Doping.RemoveDoping(PlayerParty.Warrior);
        }

        if (PlayerParty.Warrior.BuffedH == 0) //all divine lights come off together
        {
            DivineLight.RemoveDivineLight(PlayerParty.Warrior, PlayerParty.Mage, PlayerParty.Healer);
        }
    }
Esempio n. 3
0
 public BaseMeleeClass()
 {
     CharacterClassName = "Warrior";
     Health             = 50;
     MaxHealth          = 50;
     Attack             = 20;
     Magicattack        = 0;
     Defense            = 5;
     Magicdefense       = 8;
     CurrentTech        = 100;
     MaxTech            = 100;
     MaxMana            = 0;
     ability1           = new NormalAttack();
     ability2           = new Swipe();
     ability3           = new Doping();
 }
Esempio n. 4
0
    public void CalculatePlayerForTurn(BaseAbility used1, BaseAbility used2, BaseAbility used3)
    {
        reducedWarriorDamage = 0f;
        reducedMageDamage    = 0f;
        reducedHealerDamage  = 0f;

        //gathers up damage for turn
        //1 should always be warrior, 2 should always be mage, 3 should always be healer
        if (used1.IsHostile)
        {
            totalWarriorDamage   = PlayerParty.Warrior.Attack * used1.multiplier;
            totalWarriorCost     = used1.abilityCost;
            reducedWarriorDamage = totalWarriorDamage - TurnBasedCombatStateMachine.targetEnemies[0].Defense;
            if (reducedWarriorDamage < 0)
            {
                reducedWarriorDamage = 1;
            }
            if (used1.AbilityName == "Swipe")
            {
                SwipeAll(BattleStateStart.Enemy1, BattleStateStart.Enemy2, BattleStateStart.Enemy3);
                reducedWarriorDamage = 0;
            }
        }
        else if (!used1.IsHostile)
        {
            Doping.ApplyDoping(PlayerParty.Warrior);
        }

        if (used2.isMagic)
        {
            totalMageDamage   = PlayerParty.Mage.Magicattack * used2.multiplier;
            totalMageCost     = used2.abilityCost;
            reducedMageDamage = totalMageDamage - TurnBasedCombatStateMachine.targetEnemies[1].Magicdefense;
            if (reducedMageDamage < 0)
            {
                reducedMageDamage = 1;
            }
        }
        else if (!used2.isMagic)
        {
            totalMageDamage   = PlayerParty.Mage.Attack * used2.multiplier;
            totalMageCost     = used2.abilityCost;
            reducedMageDamage = totalMageDamage - TurnBasedCombatStateMachine.targetEnemies[1].Defense;
            if (reducedMageDamage < 0)
            {
                reducedMageDamage = 1;
            }
        }

        if (used3.isMagic && used3.IsHostile)
        {
            //only sap
            totalHealerDamage   = PlayerParty.Healer.Magicattack * used3.multiplier;
            totalHealerCost     = used3.abilityCost;
            reducedHealerDamage = totalHealerDamage - TurnBasedCombatStateMachine.targetEnemies[2].Magicdefense;
            if (reducedHealerDamage < 0)
            {
                reducedHealerDamage = 1;
            }
            PlayerParty.Healer.CurrentMana += reducedHealerDamage;
        }
        else if (!used3.isMagic && used3.IsHostile)
        {
            totalHealerDamage   = PlayerParty.Healer.Attack * used3.multiplier;
            totalHealerCost     = used3.abilityCost;
            reducedHealerDamage = totalHealerDamage - TurnBasedCombatStateMachine.targetEnemies[2].Defense;
            if (reducedHealerDamage < 0)
            {
                reducedHealerDamage = 1;
            }
        }
        else if (used3.IsMagic && !used3.IsHostile)
        {
            if (used3.AbilityName == "Heal")
            {
                totalHealerDamage   = PlayerParty.Healer.Magicattack * (-1 * used3.multiplier);
                totalHealerCost     = used3.AbilityCost;
                reducedHealerDamage = totalHealerDamage;
            }
            else if (used3.AbilityName == "Divine Light")
            {
                DivineLight.ApplyDivineLight(PlayerParty.Warrior, PlayerParty.Mage, PlayerParty.Healer);
            }
            else if (used3.abilityName == "Salvation")
            {
                totalHealerDamage   = PlayerParty.Healer.Magicattack * (-1 * used3.multiplier);
                totalHealerCost     = used3.AbilityCost;
                reducedHealerDamage = 0;// totalHealerDamage;
                HealParty(PlayerParty.Warrior, PlayerParty.Mage, PlayerParty.Healer);
            }
        }
        //Enable player choices after calc for next turn
        BattleGUI.WarChoose  = false;
        BattleGUI.MageChoose = false;
        BattleGUI.HealChoose = false;

        BattleGUI.WarSet  = false;
        BattleGUI.MageSet = false;
        BattleGUI.HealSet = false;

        BattleGUI.WarTarg  = false;
        BattleGUI.MageTarg = false;
        BattleGUI.HealTarg = false;
        //Apply damage here
        ApplyDamageToEnemy();
        //Pay your costs
        PayPlayerCosts();
        //Continue to enemy turn
        TurnBasedCombatStateMachine.currentState = TurnBasedCombatStateMachine.BattleStates.ENEMYCHOICE;
    }