MediaWiki:Gadget-crob.js
After saving, you may need to bypass your browser's cache to see the changes. For further information, see Wikipedia:Bypass your cache.
- In most Windows and Linux browsers: Hold down Ctrl and press F5.
- In Safari: Hold down ⇧ Shift and click the Reload button.
- In Chrome and Firefox for Mac: Hold down both ⌘ Cmd+⇧ Shift and press R.
$(function () {
if ((mw.config.get('wgNamespaceNumber') != 0 && mw.config.get('wgNamespaceNumber') != 116) || mw.config.get('wgAction') != 'view') {
return;
}
var data = {
"Optimal quest guide": {
"initial": "Getting tired of doing quests? Click me for some help.",
"options": [
"Sure",
"No thanks."
],
"response": [
"Sorry, I changed my mind. Do them yourself.",
"Why, are you playing Ironman Mode?"
]
},
"Quests/List": {
"initial": "Getting tired of doing quests? Click me for some help.",
"options": [
"Sure",
"No thanks."
],
"response": [
"Sorry, I changed my mind. Do them yourself.",
"Why, are you playing Ironman Mode?"
]
},
"Quest experience rewards": {
"initial": "Getting tired of doing quests? Click me for some help.",
"options": [
"Sure",
"No thanks."
],
"response": [
"Sorry, I changed my mind. Do them yourself.",
"Why, are you playing Ironman Mode?"
]
},
"Achievement Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train Runecraft?"
]
},
"Ardougne Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train up Magic?"
]
},
"Desert Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train up Thieving?"
]
},
"Falador Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to get a skillcape?"
]
},
"Fremennik Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train Runecraft?"
]
},
"Kandarin Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train up Smithing?"
]
},
"Karamja Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train up Runecraft?"
]
},
"Kourend & Kebos Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train up Slayer?"
]
},
"Lumbridge & Draynor Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to get a quest cape?"
]
},
"Morytania Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train up Fishing?"
]
},
"Varrock Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train up Cooking?"
]
},
"Western Provinces Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"Not 'really badly'? Should've chosen that one, noob.",
"You SURE you want to train up Slayer?"
]
},
"Wilderness Diary": {
"initial": "How badly do you want those diary rewards?",
"options": [
"Badly.",
"Really badly."
],
"response": [
"You SURE you want to enter the Wilderness? You might lose your spade!",
"You must truly be desperate to enter the Wilderness. You have my respect!"
]
},
"Recipe for Disaster": {
"initial": "Do you know there's a shortcut to getting Barrows gloves?",
"options": [
"I did not.",
"Yes, I do."
],
"response": [
"There isn't. Making one would be quite the Recipe for Disaster.",
"LIAR! Hacking your account now as we speak."
]
},
"Money making guide": {
"initial": "It appears you are looking for a way to make money. Do you want to know an extremely fast way of getting some gold?",
"options": [
"Yes!",
"No."
],
"response": [
"Me too.",
"Wrong answer. Choose 'Yes.' next time and I'll show you."
]
},
"SKILL_TRAINING": {
"initial": "It appears you are looking to make some gains. Want some advice?",
"options": [
"Yes!",
"No."
],
"response": [
"Skill at your own pace. You don't need to be hyper-efficient to have fun!",
"Good. I wasn't going to give you any, anyway."
]
},
"Varlamore": {
"initial": "Welcome to Varlamore! Or the page for it, anyway. Will you read all the lore on this page?",
"options": [
"Yes, I love lore!",
"No, I don't think I will."
],
"response": [
":D! Me too! Varlamore is full of Varla-LORE!",
"How rude! I hope your next few Colosseum runs gives you the WORST handicaps!"
]
},
"Fortis Colosseum": {
"initial": "Here to get Dizana's quiver?",
"options": [
"Yes. I'm having a hard time, though...",
"No, I'm just farming splinters on wave 1."
],
"response": [
"A pro tip is to take the Doom handicap. It's basically free; just don't take damage!",
"Can't fault you for that, they're selling like hotcakes!"
]
},
"Perilous Moons": {
"initial": "Did you mean to look for the boss page, the Moons of Peril?",
"options": [
"Yes.",
"No."
],
"response": [
"Its ok, its not your fault! Its Jagex's for making the names quite similar.",
"You don't have to lie my friend, I'm just a crab."
]
},
"Moons of Peril": {
"initial": "Did you come from the Perilous Moons page?",
"options": [
"Yes.",
"No."
],
"response": [
"Its ok, its not your fault! Its Jagex's for making the names quite similar.",
"You don't have to lie my friend, I'm just a crab."
]
},
"Sol Heredit": {
"initial": "Pretty sly of you to look up how to fight ol' Sol here.",
"options": [],
"response": []
},
"Hunters' Rumours": {
"initial": "Are you having fun doing Hunters' Rumours?",
"options": [
"Yes, I'm having a great time!",
"No, leave me alone you stupid crab."
],
"response": [
"Good! Its important to have fun, even if some of the rumours aren't the best.",
"How rude of you! I hope your next rare creature part is as dry as the Kharidian Desert."
]
},
"Lunar Chest": {
"initial": "Sorry, looking at this page isn't going to boost your chances at a unique. Keep at it!",
"options": [],
"response": []
},
"Dizana's quiver": {
"initial": "Why are you looking at this page when you haven't even beaten the Colosseum yet? Get back there before I tell my buddy Sol to give you the worst handicaps!",
"options": [
"Nice try, but I own the quiver already.",
"Ok I'm sorry, please bless me with good handicaps."
],
"response": [
"Yes, but I can see you haven't blessed it yet. Back in you go!",
"I'll put in a good word for you with ol' Sol."
]
},
"Tumeken's shadow": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Scythe of vitur": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Twisted bow": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Elysian sigil": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Elysian spirit shield": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Eldritch orb": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Eldritch nightmare staff": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Torva armour": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Torva full helm": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Torva platebody": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Torva platelegs": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Zaryte crossbow": {
"initial": "HEY! You're too poor to buy this item. Go somewhere else.",
"options": [],
"response": []
},
"Jagex Moderator": {
"initial": "🦀jmods wont reply<br/>to this crab🦀",
"options": [],
"response": []
},
"RANDOM1": {
"initial": "The wiki is so crabtivating, don't you think?",
"options": [],
"response": []
},
"RANDOM2": {
"initial": "Hey, you do like me, right?",
"options": [
"I love you, Crabby.",
"Honestly? Not really. You're kind of annoying."
],
"response": [
"I... I love you too. This is the happiest day of my life.",
"Oh.. forget I said anything."
]
},
"RANDOM3": {
"initial": "Contrary to popular belief, I rarely get crabby.",
"options": [],
"response": []
},
"RANDOM4": {
"initial": "I'm a crabbo but don't worry, I won't stabbo.",
"options": [],
"response": []
},
"RANDOM5": {
"initial": "*Crabby is too busy raving to pay attention to you*",
"options": [],
"response": []
},
"RANDOM6": {
"initial": "Have you heard about the latest game update? It's called updog.",
"options": [
"Yeah",
"What's updog?"
],
"response": [
"Really? Amazing, because I'm the Wiki Assistant and according to my database it doesn't exist.",
"Not much, what about you? Also, I'm a crab, but I realise it's easy to get the 2 species confused."
]
},
"RANDOM7": {
"initial": "Does this page look good?",
"options": [
"Yeah!",
"Naw."
],
"response": [
"Yay! That means we're doing our job.",
"Click 'Edit' up top there to make it better then!"
]
},
"Old School RuneScape Wiki": {
"initial": "Hi! I'm Crabby, your wiki assistant. Do you need a hand?",
"options": [
"Yes",
"No"
],
"response": [
"Unfortunately I can't help you there, as I only have claws.",
"Crabrific! Enjoy your stay; I'll be here, watching."
]
},
"Crab": {
"initial": "Yikes, these guys need to go see a good plastic surgeon.",
"options": [],
"response": []
},
"Crab (Prifddinas)": {
"initial": "That guy right there looks awfully intimidating, doesn't he?",
"options": [
"Yes, he's veRy intimidating!",
"I'm not that impressed."
],
"response": [
"He's no match for me though!",
'<img src="/w/Special:Filepath/File:Crob.gif" width="125px" />'
]
},
"Crab helmet": {
"initial": "You didn't actually mean to search this, right?",
"options": [
"Of course I did, I need to protect my head, whatever the cost.",
"No, of course not! Pure accident."
],
"response": [
"The amount of my friends that have been killed for this! How could you! *cries in crab*",
"Phew. I always knew you were a true friend."
]
},
"Fresh crab shell": {
"initial": "You didn't actually mean to search this, right?",
"options": [
"Of course I did, I need to protect my head, whatever the cost.",
"No, of course not! Pure accident."
],
"response": [
"The amount of my friends that have been killed for this! How could you! *cries in crab*",
"Phew. I always knew you were a true friend."
]
},
"Raw dark crab": {
"initial": "You didn't actually mean to search this, right?",
"options": [
"Of course I did - I LOVE dark crabs.",
"No, of course not! Pure accident."
],
"response": [
"You sick ****!",
"Phew. I always knew you were a true friend."
]
},
"Dark crab": {
"initial": "You didn't actually mean to search this, right?",
"options": [
"Of course I did - I LOVE dark crabs.",
"No, of course not! Pure accident."
],
"response": [
"You sick ****!",
"Phew. I always knew you were a true friend."
]
},
"Crab meat": {
"initial": "You didn't actually mean to search this, right?",
"options": [
"Of course I did - crab is my favourite food.",
"No, of course not! Pure accident."
],
"response": [
"You heartless monster.",
"Phew. I always knew you were a true friend."
]
},
"Cooked crab meat": {
"initial": "This is not what I envisioned crab heaven to be like.",
"options": [],
"response": []
},
"Ground crab meat": {
"initial": "You didn't actually mean to search this, right?",
"options": [
"Of course I did - crab is my favourite food.",
"No, of course not! Pure accident."
],
"response": [
"You heartless monster.",
"Phew. I always knew you were a true friend."
]
},
"Fresh crab claw": {
"initial": "You didn't actually mean to search this, right?",
"options": [
"Of course I did - crab is my favourite food.",
"No, of course not! Pure accident."
],
"response": [
"You heartless monster.",
"Phew. I always knew you were a true friend."
]
},
"Rock Crab": {
"initial": "What's a crab's favourite genre of music?",
"options": [
"I don't know, what?"
],
"response": [
"Rock! Duh."
]
},
"CALCULATORS": {
"initial": "It looks like you want to calculate things. Can't you do these formulas in your head? ",
"options": [
"Yes",
"No"
],
"response": [
"Really? I smell a liar.",
"Try and work your brain a bit harder and you might be able to."
]
},
"Player Moderator": {
"initial": "Hello! I have checked your account and have seen maturity. I would like to offer you the once-in-a-lifetime chance to be a crab moderator.",
"options": [
"Wow! Yes please!",
"No thanks."
],
"response": [
"Oops, sorry, you responded too late. This offer has now expired.",
"Fine! I'll find someone else to sca- uh, HELP."
]
},
"Weird gloop": {
"initial": "You may think this is a useless item, but I can assure you that gloop is very important to a crab's wellbeing!",
"options": [],
"response": []
},
"TREASURE_TRAILS": {
"initial": "Treasure Trails look so fun! I wish I could try them, but unfortunately I can't do those fiddly puzzle boxes with these pincers.",
"options": [],
"response": []
},
"MUSIC": {
"initial": "Did you mean: Crab Rave [EXTREME BASS BOOST]?",
"options": [],
"response": []
},
"Ratcatchers": {
"initial": "Is Ratcatchers your favorite quest?",
"options": [
"Yes, of course! ~Aside~ Hopefully Crabby can't tell I'm lying.",
"No, this quest is terrible!"
],
"response": [
"~Crabby dazzles you with another one of its trademark smiles.~",
"Oh, that's okay! ~Crabby flashes you an unconvincing smile.~"
]
},
"Money making guide/Catching dark crabs": {
"initial": "Don't even think about it.",
"options": [
"What?"
],
"response": [
"You heard me."
]
},
"Rotten potato": {
"initial": "You some sorta cop?",
"options": [],
"response": []
},
"Sea Shanty 2": {
"initial": "🔥🔥🔥",
"options": [],
"response": []
},
"Gadget-crob.js": {
"initial": "What do you think you're doing? Get out!",
"options": [],
"response": []
}
}
var pagename = mw.config.get('wgTitle');
var namespace = mw.config.get('wgCanonicalNamespace');
var categories = mw.config.get('wgCategories');
var conversation = null;
if (data[pagename] !== undefined) {
conversation = data[pagename];
} else if (pagename.startsWith("Money making")) {
conversation = data["MONEY_MAKING"];
} else if (pagename.startsWith("Treasure Trails")) {
conversation = data["TREASURE_TRAILS"];
} else if (namespace.startsWith("Calculator")) {
conversation = data["CALCULATORS"];
} else if (categories.indexOf("Training guides") > -1) {
conversation = data["SKILL_TRAINING"]
} else if (categories.indexOf("Music") > -1) {
conversation = data["MUSIC"]
} else {
var key = "RANDOM" + (Math.floor(Math.random() * 7) + 1);
conversation = data[key]
}
var $div = $('<div id="crob"><div id="crob-speech"><div id="crob-speech-text"></div></div><div id="crob-speech-arrow"></div><div id="crob-img"></div></div>')
var $buttons = $('<div id="crob-speech-buttons"></div>')
var $button = $('<button class="crob-button">No</button>')
console.log(conversation.initial)
$('#firstHeading').after($div);
$("#crob-speech-text").html(conversation.initial);
if (conversation.options.length > 0) {
$("#crob-speech-text").after($buttons);
}
var onClick = function(event) {
$("#crob-speech-text").html($(event.target).attr('data-response'));
$("#crob-speech-buttons").remove();
}
for (var i = 0; i < conversation.options.length; i++) {
var butt = $button.clone();
butt.text(conversation.options[i])
butt.attr("data-response", conversation.response[i])
butt.click(onClick);
$("#crob-speech-buttons").append(butt);
}
})