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(); } } }
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); } }
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(); }
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; }