Fixing Upload of Character Sheets. Adding talent which rolls dice on stored values.
This commit is contained in:
@ -4,8 +4,6 @@ module.exports = async (message, args, db) => {
|
||||
db.find({
|
||||
user: message.author.tag
|
||||
}, function (err, docs) {
|
||||
// docs is an array containing documents Mars, Earth, Jupiter If no document is
|
||||
// found, docs is equal to []
|
||||
if(!docs.length>0)
|
||||
db.insert({user: message.author.tag,
|
||||
gold: 0,
|
||||
@ -13,25 +11,10 @@ module.exports = async (message, args, db) => {
|
||||
bronce: 0,
|
||||
iron: 0,
|
||||
hp: 0
|
||||
|
||||
})
|
||||
|
||||
console.log(docs)
|
||||
});
|
||||
} catch (e) {
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
/*db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data
|
||||
if(row.length < 1) {
|
||||
// eslint-disable-next-line no-undef
|
||||
db.query('INSERT INTO `dsageld` (`userName`, `GD`,`ST`, `BH`, `EK`, `LP`) VALUES (' + '"' + message.author.tag + '"' + ', 0, 0, 0, 0, 0)');
|
||||
message.reply('Dein Eintrag wurde registriert.');
|
||||
} else if(row.length >= 1) {
|
||||
message.reply('Dein Eintrag existiert bereits.');
|
||||
}
|
||||
});
|
||||
};*/
|
||||
}
|
@ -1,37 +1,24 @@
|
||||
module.exports = async (message, data, db) => {
|
||||
try {
|
||||
db.find({
|
||||
user: message.author.tag
|
||||
}, function (err, docs) {
|
||||
// docs is an array containing documents Mars, Earth, Jupiter If no document is
|
||||
// found, docs is equal to []
|
||||
if(!docs.length>0)
|
||||
db.insert({user: message.author.tag,
|
||||
gold: 0,
|
||||
silver: 0,
|
||||
bronce: 0,
|
||||
iron: 0,
|
||||
hp: 0,
|
||||
character: data
|
||||
|
||||
})
|
||||
|
||||
console.log(docs)
|
||||
});
|
||||
console.log(message.channel)
|
||||
db.find({
|
||||
user: message.author.tag
|
||||
}, function (err, docs) {
|
||||
if (!docs.length > 0)
|
||||
db.insert({
|
||||
user: message.author.tag,
|
||||
gold: 0,
|
||||
silver: 0,
|
||||
bronce: 0,
|
||||
iron: 0,
|
||||
hp: 0,
|
||||
character: data
|
||||
}, function (err, docs) {
|
||||
message.reply('Ich habe deine Daten abgespeichert.')
|
||||
//console.log(docs[0].character.name)
|
||||
})
|
||||
});
|
||||
} catch (e) {
|
||||
throw e
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
/*db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data
|
||||
if(row.length < 1) {
|
||||
// eslint-disable-next-line no-undef
|
||||
db.query('INSERT INTO `dsageld` (`userName`, `GD`,`ST`, `BH`, `EK`, `LP`) VALUES (' + '"' + message.author.tag + '"' + ', 0, 0, 0, 0, 0)');
|
||||
message.reply('Dein Eintrag wurde registriert.');
|
||||
} else if(row.length >= 1) {
|
||||
message.reply('Dein Eintrag existiert bereits.');
|
||||
}
|
||||
});
|
||||
};*/
|
||||
}
|
@ -5,6 +5,7 @@ const create = require('./create');
|
||||
const add = require('./add');
|
||||
const remove = require('./remove');
|
||||
const show = require('./show');
|
||||
const tp = require('./tp')
|
||||
const talent = require('./talent')
|
||||
const skill = require('./skill')
|
||||
const createFromFile = require('./createFromFile')
|
||||
@ -19,6 +20,7 @@ const commands = {
|
||||
remove,
|
||||
show,
|
||||
skill,
|
||||
tp,
|
||||
talent,
|
||||
};
|
||||
var Datastore = require('nedb'),
|
||||
@ -28,8 +30,7 @@ var Datastore = require('nedb'),
|
||||
});
|
||||
|
||||
module.exports = async (message) => {
|
||||
|
||||
if ((message.attachments.length > 0) && message.channel.type == 'dm') {
|
||||
if ((message.attachments.size > 0) && message.channel.type == 'dm') {
|
||||
try {
|
||||
let response = await fetch(message.attachments.first().url)
|
||||
let data = await validateJSON(response);
|
||||
|
@ -1,13 +1,8 @@
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
module.exports = async (message, args, db) => {
|
||||
// eslint-disable-next-line no-undef
|
||||
try {
|
||||
//console.log(message)
|
||||
db.find({
|
||||
user: message.author.tag
|
||||
}, function (err, docs) {
|
||||
// docs is an array containing documents Mars, Earth, Jupiter If no document is
|
||||
// found, docs is equal to []
|
||||
if (!docs.length > 0)
|
||||
message.reply('Sorry, Für dich habe ich keinen Eintrag 😥')
|
||||
else {
|
||||
|
@ -1,56 +1,81 @@
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const globals = require('../globals')
|
||||
module.exports = async (message, args, db) => {
|
||||
if (args.length < 3) {
|
||||
message.reply("Der Talentwurf funktioniert so:");
|
||||
message.reply(
|
||||
"!talent Eigenschaftswert1 Eigenschaftswert2 Eigenschaftswert3 [Bonus] [Erschwernis]"
|
||||
);
|
||||
} else {
|
||||
try {
|
||||
db.find({
|
||||
user: message.author.tag
|
||||
}, function (err, docs) {
|
||||
if (!docs.length > 0)
|
||||
message.reply('Sorry, Für dich habe ich keinen Eintrag 😥')
|
||||
else {
|
||||
if (!args) message.reply('Sorry, du musst mir schon etwas zum prüfen geben.')
|
||||
if (args[1]) {
|
||||
var erschwernis = parseInt(args[1]);
|
||||
} else {
|
||||
erschwernis = 0;
|
||||
}
|
||||
let values = []
|
||||
var roll = [];
|
||||
if (args[3]) {
|
||||
var bonus = parseInt(args[3]);
|
||||
} else {
|
||||
bonus = 0;
|
||||
}
|
||||
if (args[4]) {
|
||||
var erschwernis = parseInt(args[4]);
|
||||
} else {
|
||||
erschwernis = 0;
|
||||
}
|
||||
for (i = 1; i <= 3; i++) {
|
||||
var a = Math.floor(Math.random() * 20 + 1);
|
||||
roll.push(a);
|
||||
}
|
||||
let bonus = 0;
|
||||
var ok = 0;
|
||||
var patzer = 0;
|
||||
var crit = 0;
|
||||
for (i in docs[0].character.skills) {
|
||||
if (docs[0].character.skills[i].id == args[0]) bonus = docs[0].character.skills[i].level
|
||||
}
|
||||
let bonus_orig = bonus
|
||||
const result = globals.Talente.find(talent => talent.id === args[0]);
|
||||
|
||||
for (i in result.values) {
|
||||
let kuerzel = globals.Werte.find(wert => wert.kuerzel === result.values[i])
|
||||
for (val in docs[0].character.attributes) {
|
||||
if (docs[0].character.attributes[val].id == kuerzel.id) values.push(docs[0].character.attributes[val].level)
|
||||
}
|
||||
}
|
||||
//message.reply(`Du musst mit ${result.values.join(", ")} würfeln. Die werte sind: ${values.join(", ")}. Dein Bonus auf ${result.name}: ${bonus}`)
|
||||
|
||||
|
||||
// roll dice.
|
||||
for (i = 1; i <= 3; i++) {
|
||||
var a = Math.floor(Math.random() * 20 + 1);
|
||||
roll.push(a);
|
||||
}
|
||||
// compare results
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (Math.floor(parseInt(args[i]) + parseInt(erschwernis)) >= roll[i])
|
||||
ok++;
|
||||
else if (
|
||||
Math.floor(parseInt(args[i]) + parseInt(bonus) + parseInt(erschwernis)) >= roll[i]) {
|
||||
ok++;
|
||||
bonus = bonus - (roll[i] - parseInt(erschwernis) - parseInt(args[i]));
|
||||
}
|
||||
if (roll[i] == 1) crit++;
|
||||
if (roll[i] == 20) patzer++;
|
||||
if (Math.floor(values[i] + parseInt(erschwernis)) >= roll[i])
|
||||
ok++;
|
||||
else if ((Math.floor(values[i]) + parseInt(bonus) + parseInt(erschwernis)) >= roll[i]) {
|
||||
ok++;
|
||||
bonus = bonus - (roll[i] - parseInt(erschwernis) - values[i]);
|
||||
}
|
||||
if (roll[i] == 1) crit++;
|
||||
if (roll[i] == 20) patzer++;
|
||||
}
|
||||
if (patzer >= 2) {
|
||||
message.reply(
|
||||
"Deine 🎲: " + roll.join(", ") + ". Patzer! Du hast aber auch Pech 😥"
|
||||
);
|
||||
message.reply("Du würfelst auf das Talent " + result.name + ".\n"+
|
||||
"Deine Werte für " + result.values.join(", ") + " sind " + values.join(", ") + ".\n" +
|
||||
"Deine 🎲: " + roll.join(", ") + ". Patzer! Du hast aber auch Pech 😥"
|
||||
);
|
||||
} else if (crit >= 2) {
|
||||
message.reply(
|
||||
"Deine 🎲: " + roll.join(", ") + ". Damit hast du einen kritischen Erfolg erzielt 🎈✨🥳"
|
||||
);
|
||||
message.reply("Du würfelst auf das Talent " + result.name + ".\n"+
|
||||
"Deine Werte für " + result.values.join(", ") + " sind " + values.join(", ") + ".\n" +
|
||||
"Deine 🎲: " + roll.join(", ") + ". Damit hast du einen kritischen Erfolg erzielt 🎈✨🥳"
|
||||
);
|
||||
} else if (ok < 3) {
|
||||
message.reply(
|
||||
"Deine 🎲: " + roll.join(", ") + ". Damit hast du nur " + ok + "/3 Proben bestanden. 😪"
|
||||
);
|
||||
message.reply("Du würfelst auf das Talent " + result.name + ".\n"+
|
||||
"Deine Werte für " + result.values.join(", ") + " sind " + values.join(", ") + ". (Bonus: " + bonus_orig + ")\n" +
|
||||
"Deine 🎲: " + roll.join(", ") + ". Damit hast du nur " + ok + "/3 Proben bestanden. 😪"
|
||||
);
|
||||
} else {
|
||||
message.reply(
|
||||
"Das waren deine 🎲: " + roll.join(", ") + ". Damit hast du " + ok + "/3 Proben bestanden. Dein Bonus: " + bonus + "/" + args[3] + "."
|
||||
);
|
||||
message.reply("Du würfelst auf das Talent " + result.name + ".\n"+
|
||||
"Deine Werte für " + result.values.join(", ") + " sind " + values.join(", ") + ". (Bonus: " + bonus_orig + ")\n" +
|
||||
"Das waren deine 🎲: " + roll.join(", ") + ". Damit hast du " + ok + "/3 Proben bestanden. Dein Bonus: " + bonus + "/" + bonus_orig + "."
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
throw e
|
||||
}
|
||||
};
|
54
src/commands/tp.js
Normal file
54
src/commands/tp.js
Normal file
@ -0,0 +1,54 @@
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
module.exports = async (message, args, db) => {
|
||||
if (args.length < 3) {
|
||||
message.reply("Der Talentwurf funktioniert so:\n"+
|
||||
"!tp Eigenschaftswert1 Eigenschaftswert2 Eigenschaftswert3 [Bonus] [Erschwernis]");
|
||||
} else {
|
||||
var roll = [];
|
||||
if (args[3]) {
|
||||
var bonus = parseInt(args[3]);
|
||||
} else {
|
||||
bonus = 0;
|
||||
}
|
||||
if (args[4]) {
|
||||
var erschwernis = parseInt(args[4]);
|
||||
} else {
|
||||
erschwernis = 0;
|
||||
}
|
||||
for (i = 1; i <= 3; i++) {
|
||||
var a = Math.floor(Math.random() * 20 + 1);
|
||||
roll.push(a);
|
||||
}
|
||||
var ok = 0;
|
||||
var patzer = 0;
|
||||
var crit = 0;
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (Math.floor(parseInt(args[i]) + parseInt(erschwernis)) >= roll[i])
|
||||
ok++;
|
||||
else if (
|
||||
Math.floor(parseInt(args[i]) + parseInt(bonus) + parseInt(erschwernis)) >= roll[i]) {
|
||||
ok++;
|
||||
bonus = bonus - (roll[i] - parseInt(erschwernis) - parseInt(args[i]));
|
||||
}
|
||||
if (roll[i] == 1) crit++;
|
||||
if (roll[i] == 20) patzer++;
|
||||
}
|
||||
if (patzer >= 2) {
|
||||
message.reply(
|
||||
"Deine 🎲: " + roll.join(", ") + ". Patzer! Du hast aber auch Pech 😥"
|
||||
);
|
||||
} else if (crit >= 2) {
|
||||
message.reply(
|
||||
"Deine 🎲: " + roll.join(", ") + ". Damit hast du einen kritischen Erfolg erzielt 🎈✨🥳"
|
||||
);
|
||||
} else if (ok < 3) {
|
||||
message.reply(
|
||||
"Deine 🎲: " + roll.join(", ") + ". Damit hast du nur " + ok + "/3 Proben bestanden. 😪"
|
||||
);
|
||||
} else {
|
||||
message.reply(
|
||||
"Das waren deine 🎲: " + roll.join(", ") + ". Damit hast du " + ok + "/3 Proben bestanden. Dein Bonus: " + bonus + "/" + args[3] + "."
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user