mirror of
https://github.com/RussellChamp/GrimoireJS.git
synced 2026-10-28 06:52:32 +00:00
80 lines
4.0 KiB
JavaScript
80 lines
4.0 KiB
JavaScript
/*global _:false, console: true */
|
|
'use strict';
|
|
var Staves = {};
|
|
Staves.baseUrl = 'http://paizo.com/pathfinderRPG/prd/magicItems/staves.html';
|
|
Staves.getStaves = function() {
|
|
return [
|
|
{'name': 'Staff of Charming', 'cost': 17600, 'url': '#staff-of-charming'},
|
|
{'name': 'Staff of Fire', 'cost': 18950, 'url': ''},
|
|
{'name': 'Staff of Swarming Insects', 'cost': 22800, 'url': ''},
|
|
{'name': 'Staff of Size Alteration', 'cost': 26150, 'url': ''},
|
|
{'name': 'Staff of Healing', 'cost': 29600, 'url': ''},
|
|
{'name': 'Staff of Frost', 'cost': 41400, 'url': ''},
|
|
{'name': 'Staff of Illumination', 'cost': 51500, 'url': ''},
|
|
{'name': 'Staff of Defense', 'cost': 62000, 'url': ''},
|
|
{'name': 'Staff of Abjuration', 'cost': 82000, 'url': ''},
|
|
{'name': 'Staff of Conjuration', 'cost': 82000, 'url': ''},
|
|
{'name': 'Staff of Divination', 'cost': 82000, 'url': ''},
|
|
{'name': 'Staff of Enchantment', 'cost': 82000, 'url': ''},
|
|
{'name': 'Staff of Evocation', 'cost': 82000, 'url': ''},
|
|
{'name': 'Staff of Illusion', 'cost': 82000, 'url': ''},
|
|
{'name': 'Staff of Necromancy', 'cost': 82000, 'url': ''},
|
|
{'name': 'Staff of Transmutation', 'cost': 82000, 'url': ''},
|
|
{'name': 'Staff of Earth and Stone', 'cost': 85800, 'url': ''},
|
|
{'name': 'Staff of Woodlands', 'cost': 100400, 'url': ''},
|
|
{'name': 'Staff of Life', 'cost': 109400, 'url': ''},
|
|
{'name': 'Staff of Passage', 'cost': 206900, 'url': ''},
|
|
{'name': 'Staff of Power', 'cost': 235000, 'url': ''},
|
|
];
|
|
};
|
|
|
|
Staves.getStaff = function(type) {
|
|
var roll = _.random(1,100);
|
|
var staff = {};
|
|
if(type == 'minor') {
|
|
console.log('Error: There are no minor staves');
|
|
return;
|
|
}
|
|
else if(type == 'medium') {
|
|
switch(true) {
|
|
case (roll <= 15): staff = Staves.getStaves()[0]; break;
|
|
case (roll <= 30): staff = Staves.getStaves()[1]; break;
|
|
case (roll <= 40): staff = Staves.getStaves()[2]; break;
|
|
case (roll <= 55): staff = Staves.getStaves()[3]; break;
|
|
case (roll <= 75): staff = Staves.getStaves()[4]; break;
|
|
case (roll <= 90): staff = Staves.getStaves()[5]; break;
|
|
case (roll <= 95): staff = Staves.getStaves()[6]; break;
|
|
case (roll <= 100): staff = Staves.getStaves()[7]; break;
|
|
}
|
|
}
|
|
else if(type == 'major') {
|
|
switch(true) {
|
|
case (roll <= 3): staff = Staves.getStaves()[0]; break;
|
|
case (roll <= 9): staff = Staves.getStaves()[1]; break;
|
|
case (roll <= 11): staff = Staves.getStaves()[2]; break;
|
|
case (roll <= 13): staff = Staves.getStaves()[3]; break;
|
|
case (roll <= 19): staff = Staves.getStaves()[4]; break;
|
|
case (roll <= 24): staff = Staves.getStaves()[5]; break;
|
|
case (roll <= 31): staff = Staves.getStaves()[6]; break;
|
|
case (roll <= 38): staff = Staves.getStaves()[7]; break;
|
|
case (roll <= 45): staff = Staves.getStaves()[8]; break;
|
|
case (roll <= 50): staff = Staves.getStaves()[9]; break;
|
|
case (roll <= 55): staff = Staves.getStaves()[10]; break;
|
|
case (roll <= 60): staff = Staves.getStaves()[11]; break;
|
|
case (roll <= 65): staff = Staves.getStaves()[12]; break;
|
|
case (roll <= 70): staff = Staves.getStaves()[13]; break;
|
|
case (roll <= 75): staff = Staves.getStaves()[14]; break;
|
|
case (roll <= 80): staff = Staves.getStaves()[15]; break;
|
|
case (roll <= 85): staff = Staves.getStaves()[16]; break;
|
|
case (roll <= 90): staff = Staves.getStaves()[17]; break;
|
|
case (roll <= 95): staff = Staves.getStaves()[18]; break;
|
|
case (roll <= 98): staff = Staves.getStaves()[19]; break;
|
|
case (roll <= 100): staff = Staves.getStaves()[20]; break;
|
|
|
|
}
|
|
}
|
|
if(_.random(1,100) <= 30) {
|
|
staff.name += ' (with a clue as to its purpose)';
|
|
}
|
|
return staff;
|
|
}; |