improve dicerolls, uncomment invalid quotes

merge-requests/208/head
fatchan 4 years ago
parent e9bdc353bf
commit c1cff0284d
  1. 18
      helpers/posting/diceroll.js
  2. 2
      helpers/posting/markdown.js
  3. 12
      helpers/posting/quotes.js

@ -2,22 +2,8 @@
module.exports = (match, numdice, numsides, operator, modifier) => {
numdice = parseInt(numdice);
if (numdice > 100) {
numdice = 100;
} else if (numdice <= 0) {
numdice = 1;
}
numsides = parseInt(numsides);
if (numsides > 100) {
numsides = 100;
} else if (numsides <= 0) {
numsides = 1;
}
let sum = 0;
for (let i = 0; i < numdice; i++) {
const roll = Math.floor(Math.random() * numsides)+1;
sum += roll;
}
let sum = (Math.floor(Math.random() * numsides) + 1) * numdice;
if (modifier && operator) {
modifier = parseInt(modifier);
//do i need to make sure it doesnt go negative or maybe give absolute value?
@ -27,5 +13,5 @@ module.exports = (match, numdice, numsides, operator, modifier) => {
sum -= modifier;
}
}
return `\n<img src='/img/dice.png' height='16' width='16' /><span class='dice'>(${match}) Rolled ${numdice} dice with ${numsides} sides${modifier ? ' and modifier '+operator+modifier : '' } = ${sum}</span>\n`;
return `<img src='/img/dice.png' height='16' width='16' /><span class='dice'>(${match}) Rolled ${numdice} dice with ${numsides} sides${modifier ? ' and modifier '+operator+modifier : '' } = ${sum}</span>`;
}

@ -14,7 +14,7 @@ const greentextRegex = /^&gt;((?!&gt;\d+|&gt;&gt;&#x2F;\w+(&#x2F;\d*)?).*)/gm
, codeRegex = /(?:(?<language>[a-z+]{1,10})\r?\n)?(?<code>[\s\S]+)/i
, splitRegex = /```([\s\S]+?)```/gm
, trimNewlineRegex = /^\s*(\r?\n)*|(\r?\n)*$/g
, diceRegex = /##(?<numdice>\d+)d(?<numsides>\d+)(?:(?<operator>[+-])(?<modifier>\d+))?/gmi
, diceRegex = /##(?<numdice>[1-9][0-9]{0,8})d(?<numsides>[2-9][0-9]{0,8})(?:(?<operator>[+-])(?<modifier>[1-9][0-9]{0,8}))?/gmi
, getDomain = (string) => string.split(/\/\/|\//)[1] //unused atm
, escape = require(__dirname+'/escape.js')
, { highlight, highlightAuto } = require('highlight.js')

@ -101,19 +101,15 @@ module.exports = async (board, text, thread) => {
}
return `<a class='quote' href='/${board}/thread/${postThreadIdMap[board][quotenum].thread}.html#${quotenum}'>&gt;&gt;${quotenum}</a>${postThreadIdMap[board][quotenum].postId == thread ? ' <small>(OP)</small> ' : ''}`;
}
return match;//`<span class='invalid-quote'>&gt;&gt;${quotenum}</span>`;
return `<span class='invalid-quote'>&gt;&gt;${quotenum}</span>`;
});
}
if (crossQuotes) {
text = text.replace(crossQuoteRegex, (match, quoteboard, quotenum) => {
if (postThreadIdMap[quoteboard]) {
if (!isNaN(quotenum) && quotenum > 0 && postThreadIdMap[quoteboard][quotenum]) {
return `<a class='quote' href='/${quoteboard}/thread/${postThreadIdMap[quoteboard][quotenum].thread}.html#${quotenum}'>&gt;&gt;&gt;/${quoteboard}/${quotenum}</a>`;
} else {
return `<a class='quote' href='/${quoteboard}/index.html'>&gt;&gt;&gt;/${quoteboard}/</a>`;
}
if (postThreadIdMap[quoteboard] && !isNaN(quotenum) && quotenum > 0 && postThreadIdMap[quoteboard][quotenum]) {
return `<a class='quote' href='/${quoteboard}/thread/${postThreadIdMap[quoteboard][quotenum].thread}.html#${quotenum}'>&gt;&gt;&gt;/${quoteboard}/${quotenum}</a>`;
}
return match;// `<span class='invalid-quote'>&gt;&gt;&gt;/${quoteboard}/</span>`;
return `<span class='invalid-quote'>&gt;&gt;&gt;/${quoteboard}/${quotenum || ''}</span>`;
});
}

Loading…
Cancel
Save