//Resets single values at the end of a turn, ends the game if someones hp hits 0 void turnLogic() { if (singleLock == true && singleLockCom == true && endTurnTimer <= 0) { endGame(); playerNode = playerNodeEnum.noNode; endTurnTimer = 300; comDef = false; singleLock = false; singleLockCom = false; CNodeText.text = ""; comRef.damageRed = false; playerRef.damageRed = false; actionText.color = Color.white; actionText.text = ""; resultList = resultListEnum.none; arrowKeep = arrowKeepEnum.left; arrowRecolour = arrowRecolourEnum.white; arrowChangePos = arrowChangePosEnum.none; reverseRef.visible = false; if (currentOpponent == currentOpponentEnum.Tutorio) { dialogueNum = 1; dialogueChapter++; } trioDice = Random.Range(1, 4); if (comBonus == 0) { comRef.comUpdateSprite(comPrev - 1); } if (comBonus == 1) { comRef.comUpdateSprite(comPrev + 3); } if (playerBonus == 0) { playerRef.playerUpdateSprite(playerNodeLock - 1); } if (playerBonus == 1) { playerRef.playerUpdateSprite(playerNodeLock + 3); } } }
//Player Defence Block --- Allows for graze damage void playerBlock() { playerHealth -= comBonus; if (comBonus == 0) { actionText.color = Color.white; actionText.text = "BLOCK!"; resultList = resultListEnum.playerBlock; arrowRecolour = arrowRecolourEnum.grey; } else { actionText.color = Color.blue; actionText.text = "GRAZE!"; playerRef.damageRed = true; resultList = resultListEnum.comGraze; arrowRecolour = arrowRecolourEnum.blue; } bonusReset(); singleLock = true; }
//Node 3 void node3Logic() { switch (computerNode) { case computerNodeEnum.node1: switch (modeComparison) { case modeComparisonEnum.ATTATT: if (reverseState == false) { arrowKeep = arrowKeepEnum.cross; arrowRecolour = arrowRecolourEnum.red; playerHit(); } else { arrowKeep = arrowKeepEnum.cross; arrowRecolour = arrowRecolourEnum.green; comHit(); } break; case modeComparisonEnum.ATTDEF: arrowKeep = arrowKeepEnum.cross; comBlock(); break; case modeComparisonEnum.DEFATT: arrowKeep = arrowKeepEnum.cross; playerBlock(); break; case modeComparisonEnum.DEFDEF: reverseOnly(); break; } break; case computerNodeEnum.node2: arrowChangePos = arrowChangePosEnum.right; switch (modeComparison) { case modeComparisonEnum.ATTATT: if (reverseState == false) { arrowKeep = arrowKeepEnum.down; arrowRecolour = arrowRecolourEnum.red; playerHit(); } else { arrowKeep = arrowKeepEnum.up; arrowRecolour = arrowRecolourEnum.green; comHit(); } break; case modeComparisonEnum.ATTDEF: if (reverseState == false) { arrowKeep = arrowKeepEnum.up; arrowRecolour = arrowRecolourEnum.blue; comParry(); } else { arrowKeep = arrowKeepEnum.up; arrowRecolour = arrowRecolourEnum.green; comHit(); } break; case modeComparisonEnum.DEFATT: if (reverseState == false) { arrowKeep = arrowKeepEnum.down; arrowRecolour = arrowRecolourEnum.red; playerHit(); } else { arrowKeep = arrowKeepEnum.down; arrowRecolour = arrowRecolourEnum.blue; playerParry(); } break; case modeComparisonEnum.DEFDEF: reverseOnly(); break; } break; case computerNodeEnum.node3: switch (modeComparison) { case modeComparisonEnum.ATTATT: attackDraw(); break; case modeComparisonEnum.ATTDEF: comBlock(); break; case modeComparisonEnum.DEFATT: playerBlock(); break; case modeComparisonEnum.DEFDEF: reverseOnly(); break; } break; case computerNodeEnum.node4: arrowChangePos = arrowChangePosEnum.bottom; switch (modeComparison) { case modeComparisonEnum.ATTATT: if (reverseState == false) { arrowKeep = arrowKeepEnum.left; arrowRecolour = arrowRecolourEnum.green; comHit(); } else { arrowKeep = arrowKeepEnum.right; arrowRecolour = arrowRecolourEnum.red; playerHit(); } break; case modeComparisonEnum.ATTDEF: if (reverseState == false) { arrowKeep = arrowKeepEnum.left; arrowRecolour = arrowRecolourEnum.green; comHit(); } else { arrowKeep = arrowKeepEnum.left; arrowRecolour = arrowRecolourEnum.blue; comParry(); } break; case modeComparisonEnum.DEFATT: if (reverseState == false) { arrowKeep = arrowKeepEnum.right; arrowRecolour = arrowRecolourEnum.blue; playerParry(); } else { arrowKeep = arrowKeepEnum.right; arrowRecolour = arrowRecolourEnum.red; playerHit(); } break; case modeComparisonEnum.DEFDEF: reverseOnly(); break; } break; } }