Improve Battle System

This commit is contained in:
Daniel Odendahl Jr
2017-05-28 14:40:42 +00:00
parent c5f29c59c5
commit 03f0e02a21
+36 -14
View File
@@ -39,12 +39,14 @@ module.exports = class BattleCommand extends Command {
let oppoHP = 500;
let userTurn = true;
let guard = false;
let userCure = false;
let oppoCure = false;
while (userHP > 0 && oppoHP > 0) {
const username = userTurn ? msg.author.username : opponent.username;
await msg.say(stripIndents`
${username}, do you fight, guard, special, or run?
${username}: ${userTurn ? userHP : oppoHP} HP
${userTurn ? opponent.username : msg.author.username}: ${userTurn ? oppoHP : userHP} HP
${username}, do you **fight**, **guard**, **special**, **cure** or **run**?
**${msg.author.username}**: ${userHP}HP
**${opponent.username}**: ${oppoHP}HP
`);
try {
const turn = await msg.channel.awaitMessages(res => res.author.id === (userTurn ? msg.author.id : opponent.id), {
@@ -54,34 +56,54 @@ module.exports = class BattleCommand extends Command {
});
const choice = turn.first().content.toLowerCase();
if (choice === 'fight') {
const damage = Math.floor(Math.random() * (guard ? 50 : 100)) + 1;
const damage = Math.floor(Math.random() * (guard ? 25 : 100)) + 1;
await msg.say(`${username} deals ${damage} damage!`);
if (userTurn) oppoHP = oppoHP - damage;
else userHP = userHP - damage;
if (userTurn) {
oppoHP = oppoHP - damage;
userTurn = false;
} else {
userHP = userHP - damage;
userTurn = true;
}
if (guard) guard = false;
if (userTurn) userTurn = false;
else userTurn = true;
} else if (choice === 'guard') {
await msg.say(`${username} guards!`);
guard = true;
if (userTurn) userTurn = false;
else userTurn = true;
} else if (choice === 'special') {
const hit = Math.floor(Math.random() * 2) + 1;
const hit = Math.floor(Math.random() * 4) + 1;
if (hit === 1) {
const damage = Math.floor(Math.random() * (guard ? 150 : 300)) + 1;
const damage = Math.floor(Math.random() * ((guard ? 300 : 150) - 100 + 1) + 100);
await msg.say(`${username} deals ${damage} damage!`);
if (userTurn) oppoHP = oppoHP - damage;
else userHP = userHP - damage;
if (userTurn) {
oppoHP = oppoHP - damage;
userTurn = false;
} else {
userHP = userHP - damage;
userTurn = true;
}
if (guard) guard = false;
if (userTurn) userTurn = false;
else userTurn = true;
} else {
await msg.say('It missed!');
if (guard) guard = false;
if (userTurn) userTurn = false;
else userTurn = true;
}
} else if (choice === 'cure') {
if (userTurn ? userCure : oppoCure) {
await msg.say(`${username} regains 250HP!`);
if (userTurn) {
userHP = userHP + 250;
userCure = true;
userTurn = false;
} else {
oppoHP = oppoHP + 250;
oppoCure = true;
userTurn = true;
}
if (guard) guard = false;
} else await msg.say('You have already cured!');
} else if (choice === 'run') {
await msg.say(`${username} flees!`);
if (userTurn) userHP = 0;