void selectCharacter(string n) { name = n; derp = new PongSkill("fireblast"); switch (n) { case "Vida": health = 20; speed = 6; skillPassive = new PongSkill("incinerate"); skillA = new PongSkill("fireblast"); skillB = new PongSkill("ignite"); skillC = new PongSkill("firewall"); break; case "Sora": health = 22; speed = 4.5f; skillPassive = new PongSkill("rising wind"); skillA = new PongSkill("lightning strike"); skillB = new PongSkill("breeze"); skillC = new PongSkill("whiplash"); break; } }
// Use this for initialization void Start() { currHealth = maxHealth; currPower = basePower; currArmor = baseArmor; // effectsList = new List <PlayerEffects>(); paddleScript = this.GetComponent <PaddleController>(); currentSkill = null; }
void updateSkills() { //check if using a skill if (!isAction()) { currentSkill = new PongSkill("null"); } //cooldown all skills skillPassive.updateSkill(); skillA.updateSkill(); skillB.updateSkill(); skillC.updateSkill(); }
//use a skill public string useSkill(PongSkill skill) { if (!isAction() && !skill.isOnCooldown()) { //normal skill.goOnCooldown(); switch (skill.getName()) { //sora case "lightning strike": useLightningStrike(); break; case "breeze": useBreeze(); break; case "whiplash": useWhiplash(); break; //vida case "firewall": useFirewall(); break; case "fireblast": useFireblast(); break; case "forward smash": paddleScript.forwardSmash(); break; case "ignite": useIgnite(); break; } currentSkill = skill; //rising wind check if (getSkillPassive().getName() == "rising wind") { getSkillPassive().risindWindDecrement(); } return(skill.getName()); } else { return("none"); } }
//skills affecting this ball void paddleEffectsCheck(PlayerController pc) { //check player's current skills PongSkill skill = pc.getCurrentSkill(); string skillName = skill.getName(); if (pc.isAction()) { if (skillName == "forward smash") { velocity = new Vector3(velocity.x * skill.getMovementModifier().x, velocity.y * skill.getMovementModifier().y, velocity.z * skill.getMovementModifier().z); } if (skillName == "lightning strike") { addEffect("lightning straight"); } } }
//ball hit the paddle void paddleHit(GameObject p) { Vector3 pos = this.transform.position; Vector3 paddlePos = p.transform.position; PlayerController pc = p.transform.parent.gameObject.GetComponent <PlayerController>(); PongSkill skill = pc.getCurrentSkill(); //ball affected by paddle skills? paddleEffectsCheck(pc); //paddle affected by ball effects? ballEffectsCheck(pc); //damage player on collision if (damageOnCollision) { damageToPlayer(pc, 1); } //calculate bounce factor float lengthThird = .3f; float velocityVerticalBoost = 1.2f; float velocityVerticalShrink = .7f; float velocityHorizontalBoost = 1.4f; //change reflection depending on where it hit on the paddle if (paddlePositionMatters) { velocity.y = Mathf.Asin(pos.y - paddlePos.y) * 7; if (Mathf.Abs(velocity.y) > 20) { velocity.y *= velocityVerticalShrink; } } //increase velocity changeVelocity(speedContactMultiplier); //flip the ball reflectX(); }
void selectCharacter(string n) { name = n; derp = new PongSkill("fireblast"); switch(n){ case "Vida": health = 20; speed = 6; skillPassive = new PongSkill("incinerate"); skillA = new PongSkill("fireblast"); skillB = new PongSkill("ignite"); skillC = new PongSkill("firewall"); break; case "Sora": health = 22; speed = 4.5f; skillPassive = new PongSkill("rising wind"); skillA = new PongSkill("lightning strike"); skillB = new PongSkill("breeze"); skillC = new PongSkill("whiplash"); break; } }
public void setSkillA(PongSkill s) { skillA = s; }
public void setSkillC(PongSkill s) { skillC = s; }
public void setSkillB(PongSkill s) { skillB = s; }
public void setSkillPassive(PongSkill s) { skillPassive = s; }
//use a skill public string useSkill(PongSkill skill) { if(!isAction() && !skill.isOnCooldown()){ //normal skill.goOnCooldown(); switch(skill.getName()){ //sora case "lightning strike": useLightningStrike(); break; case "breeze": useBreeze(); break; case "whiplash": useWhiplash(); break; //vida case "firewall": useFirewall(); break; case "fireblast": useFireblast(); break; case "forward smash": paddleScript.forwardSmash(); break; case "ignite": useIgnite(); break; } currentSkill = skill; //rising wind check if(getSkillPassive().getName() == "rising wind"){ getSkillPassive().risindWindDecrement(); } return skill.getName(); }else{ return "none"; } }
void updateSkills() { //check if using a skill if(!isAction ()){ currentSkill = new PongSkill("null"); } //cooldown all skills skillPassive.updateSkill(); skillA.updateSkill(); skillB.updateSkill(); skillC.updateSkill(); }
// Use this for initialization void Start() { currHealth = maxHealth; currPower = basePower; currArmor = baseArmor; // effectsList = new List<PlayerEffects>(); paddleScript = this.GetComponent<PaddleController>(); currentSkill = null; }