aboutsummaryrefslogtreecommitdiff
path: root/commands/Pokemon
diff options
context:
space:
mode:
authorUnknown <jtsshieh@outlook.com>2018-04-05 20:18:43 -0400
committerUnknown <jtsshieh@outlook.com>2018-04-05 20:18:43 -0400
commitb41df418dcaa114a173b0eec234b4b71f91b7318 (patch)
treee3e54e0dd247a0057ddc3a53fcf0cf8c17559ad9 /commands/Pokemon
parent777355db9cd0121fc41e554906ebaca049fe66ad (diff)
downloadPokeBot-b41df418dcaa114a173b0eec234b4b71f91b7318.tar.gz
PokeBot-b41df418dcaa114a173b0eec234b4b71f91b7318.tar.bz2
PokeBot-b41df418dcaa114a173b0eec234b4b71f91b7318.zip
gyms system
Diffstat (limited to 'commands/Pokemon')
-rw-r--r--commands/Pokemon/claim.js87
1 files changed, 41 insertions, 46 deletions
diff --git a/commands/Pokemon/claim.js b/commands/Pokemon/claim.js
index 9bba3ec..40edf49 100644
--- a/commands/Pokemon/claim.js
+++ b/commands/Pokemon/claim.js
@@ -10,56 +10,51 @@
exports.run = async (bot, msg) => {
const isWhitelist = await bot.plugins.whitelist.isWhitelist(msg.guild.id);
if (!isWhitelist) return msg.reply ('This is a Whiltelisted command. Only whitelisted servers can use this command. Sorry!');
+
if (!msg.channel.name.startsWith('gym-')) return msg.reply('Go into one of the gym channels and try again.');
- if (msg.channel.topic == 'Current Owner: *none*') {
- let team;
- if (msg.member.roles.find('name', 'Skull')) team = 'Skull';
- if (msg.member.roles.find('name', 'Flare')) team = 'Flare';
+
+ if (bot.plugins.isOwned(msg.channel.topic)) {
+ const team = bot.plugins.gyms.getTeam(msg.member);
if (!team) return msg.reply('You have to join a team before you can claim a gym.');
msg.reply('Alright, you have claimed this gym as yours! Be ready to battle anyone who approaches you');
- msg.channel.setTopic('Current Owner: ' + msg.author.id + '/' + msg.author.tag + '/' + team);
- }
- else {
- let team;
- if (msg.member.roles.find('name', 'Skull')) team = 'Skull';
- if (msg.member.roles.find('name', 'Flare')) team = 'Flare';
- if (!team) return msg.reply('You have to join a team before you can claim a gym.');
- const owner = msg.channel.topic.slice(15).substring(0, 18);
- if (msg.guild.members.find('id', owner).roles.find('name', team)) return msg.reply('Don\'t try battling your own team. They won\'t like you.');
- if (bot.gyms.get(msg.channel.id) != null) return msg.reply('Nope, someone is already battling the gym.');
- msg.channel.send('<@' + owner + '>, come here as ' + msg.member.displayName + ' wants to battle you.');
- const func = async mess => {
- if (mess.channel != msg.channel) return;
- let field = mess.embeds[0];
- if (!field) return;
- field = field.description;
- if (!field) return;
- field = field.split('\n')[0];
- if (!field) return;
- field = field.split(' ')[0];
- if (field != undefined) {
- const user = msg.guild.members.find(member => member.user.username === field);
- if (user != undefined) {
- if (user.id == owner) {
- await msg.channel.send('The owner has not been defeated!');
- bot.gyms.set(msg.channel.id, null);
- bot.removeListener('message', func);
- }
- if (user.id == msg.author.id) {
- await msg.channel.send('The owner has been defeated! Transferring gym!');
- let recipientTeam;
- if (msg.member.roles.find('name', 'Skull')) recipientTeam = 'Skull';
- if (msg.member.roles.find('name', 'Flare')) recipientTeam = 'Flare';
- await msg.channel.setTopic('Current Owner: ' + msg.member.id + '/' + msg.author.tag + '/' + recipientTeam);
- bot.gyms.set(msg.channel.id, null);
- bot.removeListener('message', func);
- }
- }
- }
- };
- bot.gyms.set(msg.channel.id, func);
- bot.on('message', func);
+ return msg.channel.setTopic(bot.plugins.gyms.getGymString(bot, msg.member));
}
+
+ const team = bot.plugins.gyms.getTeam(msg.member);
+ if (!team) return msg.reply('You have to join a team before you can claim a gym.');
+
+ const owner = bot.plguins.gyms.getOwnerId(msg.channel.topic);
+ if (msg.guild.members.find('id', owner).roles.find('name', team)) return msg.reply('Don\'t try battling your own team. They won\'t like you.');
+
+ if (bot.gyms.get(msg.channel.id) != null) return msg.reply('Nope, someone is already battling the gym.');
+
+ msg.channel.send('<@' + owner + '>, come here as ' + msg.member.displayName + ' wants to battle you.');
+
+ const func = async mess => {
+ if (mess.channel != msg.channel) return;
+ if (!mess.embeds[0] &&
+ !mess.embeds[0].description &&
+ !mess.embeds[0].description.split('\n')[0] &&
+ !mess.embeds[0].description.split('\n')[0].split(' ')[0]
+ ) return;
+
+ const field = mess.embeds[0].description.split('\n')[0].split(' ')[0];
+ const user = msg.guild.members.find(member => member.user.username === field);
+ if (!user) return;
+ if (user.id == owner) {
+ await msg.channel.send('The owner has not been defeated!');
+ }
+ else if (user.id == msg.author.id) {
+ await msg.channel.send('The owner has been defeated! Transferring gym!');
+ bot.gyms.getTeam(mess.member);
+ await msg.channel.setTopic(bot.plugins.gyms.getGymString(bot, mess.member));
+ }
+ else { return; }
+ bot.gyms.set(msg.channel.id, null);
+ bot.removeListener('message', func);
+ };
+ bot.gyms.set(msg.channel.id, func);
+ bot.on('message', func);
};
exports.conf = {