Files
habitica/common/script/src/content/gear/weapon.js
2015-09-21 17:35:27 -05:00

754 lines
16 KiB
JavaScript

import {translator as t} from '../helpers';
import events from '../events';
let weapon = {
base: {
0: {
text: t('weaponBase0Text'),
notes: t('weaponBase0Notes'),
value: 0
}
},
warrior: {
0: {
text: t('weaponWarrior0Text'),
notes: t('weaponWarrior0Notes'),
value: 1
},
1: {
text: t('weaponWarrior1Text'),
notes: t('weaponWarrior1Notes', {
str: 3
}),
str: 3,
value: 20
},
2: {
text: t('weaponWarrior2Text'),
notes: t('weaponWarrior2Notes', {
str: 6
}),
str: 6,
value: 30
},
3: {
text: t('weaponWarrior3Text'),
notes: t('weaponWarrior3Notes', {
str: 9
}),
str: 9,
value: 45
},
4: {
text: t('weaponWarrior4Text'),
notes: t('weaponWarrior4Notes', {
str: 12
}),
str: 12,
value: 65
},
5: {
text: t('weaponWarrior5Text'),
notes: t('weaponWarrior5Notes', {
str: 15
}),
str: 15,
value: 90
},
6: {
text: t('weaponWarrior6Text'),
notes: t('weaponWarrior6Notes', {
str: 18
}),
str: 18,
value: 120,
last: true
}
},
rogue: {
0: {
text: t('weaponRogue0Text'),
notes: t('weaponRogue0Notes'),
str: 0,
value: 0
},
1: {
text: t('weaponRogue1Text'),
notes: t('weaponRogue1Notes', {
str: 2
}),
str: 2,
value: 20
},
2: {
text: t('weaponRogue2Text'),
notes: t('weaponRogue2Notes', {
str: 3
}),
str: 3,
value: 35
},
3: {
text: t('weaponRogue3Text'),
notes: t('weaponRogue3Notes', {
str: 4
}),
str: 4,
value: 50
},
4: {
text: t('weaponRogue4Text'),
notes: t('weaponRogue4Notes', {
str: 6
}),
str: 6,
value: 70
},
5: {
text: t('weaponRogue5Text'),
notes: t('weaponRogue5Notes', {
str: 8
}),
str: 8,
value: 90
},
6: {
text: t('weaponRogue6Text'),
notes: t('weaponRogue6Notes', {
str: 10
}),
str: 10,
value: 120,
last: true
}
},
wizard: {
0: {
twoHanded: true,
text: t('weaponWizard0Text'),
notes: t('weaponWizard0Notes'),
value: 0
},
1: {
twoHanded: true,
text: t('weaponWizard1Text'),
notes: t('weaponWizard1Notes', {
int: 3,
per: 1
}),
int: 3,
per: 1,
value: 30
},
2: {
twoHanded: true,
text: t('weaponWizard2Text'),
notes: t('weaponWizard2Notes', {
int: 6,
per: 2
}),
int: 6,
per: 2,
value: 50
},
3: {
twoHanded: true,
text: t('weaponWizard3Text'),
notes: t('weaponWizard3Notes', {
int: 9,
per: 3
}),
int: 9,
per: 3,
value: 80
},
4: {
twoHanded: true,
text: t('weaponWizard4Text'),
notes: t('weaponWizard4Notes', {
int: 12,
per: 5
}),
int: 12,
per: 5,
value: 120
},
5: {
twoHanded: true,
text: t('weaponWizard5Text'),
notes: t('weaponWizard5Notes', {
int: 15,
per: 7
}),
int: 15,
per: 7,
value: 160
},
6: {
twoHanded: true,
text: t('weaponWizard6Text'),
notes: t('weaponWizard6Notes', {
int: 18,
per: 10
}),
int: 18,
per: 10,
value: 200,
last: true
}
},
healer: {
0: {
text: t('weaponHealer0Text'),
notes: t('weaponHealer0Notes'),
value: 0
},
1: {
text: t('weaponHealer1Text'),
notes: t('weaponHealer1Notes', {
int: 2
}),
int: 2,
value: 20
},
2: {
text: t('weaponHealer2Text'),
notes: t('weaponHealer2Notes', {
int: 3
}),
int: 3,
value: 30
},
3: {
text: t('weaponHealer3Text'),
notes: t('weaponHealer3Notes', {
int: 5
}),
int: 5,
value: 45
},
4: {
text: t('weaponHealer4Text'),
notes: t('weaponHealer4Notes', {
int: 7
}),
int: 7,
value: 65
},
5: {
text: t('weaponHealer5Text'),
notes: t('weaponHealer5Notes', {
int: 9
}),
int: 9,
value: 90
},
6: {
text: t('weaponHealer6Text'),
notes: t('weaponHealer6Notes', {
int: 11
}),
int: 11,
value: 120,
last: true
}
},
special: {
0: {
text: t('weaponSpecial0Text'),
notes: t('weaponSpecial0Notes', {
str: 20
}),
str: 20,
value: 150,
canOwn: (function(u) {
var ref;
return +((ref = u.backer) != null ? ref.tier : void 0) >= 70;
})
},
1: {
text: t('weaponSpecial1Text'),
notes: t('weaponSpecial1Notes', {
attrs: 6
}),
str: 6,
per: 6,
con: 6,
int: 6,
value: 170,
canOwn: (function(u) {
var ref;
return +((ref = u.contributor) != null ? ref.level : void 0) >= 4;
})
},
2: {
text: t('weaponSpecial2Text'),
notes: t('weaponSpecial2Notes', {
attrs: 25
}),
str: 25,
per: 25,
value: 200,
canOwn: (function(u) {
var ref;
return (+((ref = u.backer) != null ? ref.tier : void 0) >= 300) || (u.items.gear.owned.weapon_special_2 != null);
})
},
3: {
text: t('weaponSpecial3Text'),
notes: t('weaponSpecial3Notes', {
attrs: 17
}),
str: 17,
int: 17,
con: 17,
value: 200,
canOwn: (function(u) {
var ref;
return (+((ref = u.backer) != null ? ref.tier : void 0) >= 300) || (u.items.gear.owned.weapon_special_3 != null);
})
},
critical: {
text: t('weaponSpecialCriticalText'),
notes: t('weaponSpecialCriticalNotes', {
attrs: 40
}),
str: 40,
per: 40,
value: 200,
canOwn: (function(u) {
var ref;
return !!((ref = u.contributor) != null ? ref.critical : void 0);
})
},
tridentOfCrashingTides: {
text: t('weaponSpecialTridentOfCrashingTidesText'),
notes: t('weaponSpecialTridentOfCrashingTidesNotes', {
int: 15
}),
int: 15,
value: 130,
canOwn: (function(u) {
return u.items.gear.owned.weapon_special_tridentOfCrashingTides != null;
})
},
yeti: {
event: events.winter,
specialClass: 'warrior',
text: t('weaponSpecialYetiText'),
notes: t('weaponSpecialYetiNotes', {
str: 15
}),
str: 15,
value: 90
},
ski: {
event: events.winter,
specialClass: 'rogue',
text: t('weaponSpecialSkiText'),
notes: t('weaponSpecialSkiNotes', {
str: 8
}),
str: 8,
value: 90
},
candycane: {
event: events.winter,
specialClass: 'wizard',
twoHanded: true,
text: t('weaponSpecialCandycaneText'),
notes: t('weaponSpecialCandycaneNotes', {
int: 15,
per: 7
}),
int: 15,
per: 7,
value: 160
},
snowflake: {
event: events.winter,
specialClass: 'healer',
text: t('weaponSpecialSnowflakeText'),
notes: t('weaponSpecialSnowflakeNotes', {
int: 9
}),
int: 9,
value: 90
},
springRogue: {
event: events.spring,
specialClass: 'rogue',
text: t('weaponSpecialSpringRogueText'),
notes: t('weaponSpecialSpringRogueNotes', {
str: 8
}),
value: 80,
str: 8
},
springWarrior: {
event: events.spring,
specialClass: 'warrior',
text: t('weaponSpecialSpringWarriorText'),
notes: t('weaponSpecialSpringWarriorNotes', {
str: 15
}),
value: 90,
str: 15
},
springMage: {
event: events.spring,
specialClass: 'wizard',
twoHanded: true,
text: t('weaponSpecialSpringMageText'),
notes: t('weaponSpecialSpringMageNotes', {
int: 15,
per: 7
}),
value: 160,
int: 15,
per: 7
},
springHealer: {
event: events.spring,
specialClass: 'healer',
text: t('weaponSpecialSpringHealerText'),
notes: t('weaponSpecialSpringHealerNotes', {
int: 9
}),
value: 90,
int: 9
},
summerRogue: {
event: events.summer,
specialClass: 'rogue',
text: t('weaponSpecialSummerRogueText'),
notes: t('weaponSpecialSummerRogueNotes', {
str: 8
}),
value: 80,
str: 8
},
summerWarrior: {
event: events.summer,
specialClass: 'warrior',
text: t('weaponSpecialSummerWarriorText'),
notes: t('weaponSpecialSummerWarriorNotes', {
str: 15
}),
value: 90,
str: 15
},
summerMage: {
event: events.summer,
specialClass: 'wizard',
twoHanded: true,
text: t('weaponSpecialSummerMageText'),
notes: t('weaponSpecialSummerMageNotes', {
int: 15,
per: 7
}),
value: 160,
int: 15,
per: 7
},
summerHealer: {
event: events.summer,
specialClass: 'healer',
text: t('weaponSpecialSummerHealerText'),
notes: t('weaponSpecialSummerHealerNotes', {
int: 9
}),
value: 90,
int: 9
},
fallRogue: {
event: events.fall,
specialClass: 'rogue',
text: t('weaponSpecialFallRogueText'),
notes: t('weaponSpecialFallRogueNotes', {
str: 8
}),
value: 80,
str: 8
},
fallWarrior: {
event: events.fall,
specialClass: 'warrior',
text: t('weaponSpecialFallWarriorText'),
notes: t('weaponSpecialFallWarriorNotes', {
str: 15
}),
value: 90,
str: 15
},
fallMage: {
event: events.fall,
specialClass: 'wizard',
twoHanded: true,
text: t('weaponSpecialFallMageText'),
notes: t('weaponSpecialFallMageNotes', {
int: 15,
per: 7
}),
value: 160,
int: 15,
per: 7
},
fallHealer: {
event: events.fall,
specialClass: 'healer',
text: t('weaponSpecialFallHealerText'),
notes: t('weaponSpecialFallHealerNotes', {
int: 9
}),
value: 90,
int: 9
},
winter2015Rogue: {
event: events.winter2015,
specialClass: 'rogue',
text: t('weaponSpecialWinter2015RogueText'),
notes: t('weaponSpecialWinter2015RogueNotes', {
str: 8
}),
value: 80,
str: 8
},
winter2015Warrior: {
event: events.winter2015,
specialClass: 'warrior',
text: t('weaponSpecialWinter2015WarriorText'),
notes: t('weaponSpecialWinter2015WarriorNotes', {
str: 15
}),
value: 90,
str: 15
},
winter2015Mage: {
event: events.winter2015,
specialClass: 'wizard',
twoHanded: true,
text: t('weaponSpecialWinter2015MageText'),
notes: t('weaponSpecialWinter2015MageNotes', {
int: 15,
per: 7
}),
value: 160,
int: 15,
per: 7
},
winter2015Healer: {
event: events.winter2015,
specialClass: 'healer',
text: t('weaponSpecialWinter2015HealerText'),
notes: t('weaponSpecialWinter2015HealerNotes', {
int: 9
}),
value: 90,
int: 9
},
spring2015Rogue: {
event: events.spring2015,
specialClass: 'rogue',
text: t('weaponSpecialSpring2015RogueText'),
notes: t('weaponSpecialSpring2015RogueNotes', {
str: 8
}),
value: 80,
str: 8
},
spring2015Warrior: {
event: events.spring2015,
specialClass: 'warrior',
text: t('weaponSpecialSpring2015WarriorText'),
notes: t('weaponSpecialSpring2015WarriorNotes', {
str: 15
}),
value: 90,
str: 15
},
spring2015Mage: {
event: events.spring2015,
specialClass: 'wizard',
twoHanded: true,
text: t('weaponSpecialSpring2015MageText'),
notes: t('weaponSpecialSpring2015MageNotes', {
int: 15,
per: 7
}),
value: 160,
int: 15,
per: 7
},
spring2015Healer: {
event: events.spring2015,
specialClass: 'healer',
text: t('weaponSpecialSpring2015HealerText'),
notes: t('weaponSpecialSpring2015HealerNotes', {
int: 9
}),
value: 90,
int: 9
},
summer2015Rogue: {
event: events.summer2015,
specialClass: 'rogue',
text: t('weaponSpecialSummer2015RogueText'),
notes: t('weaponSpecialSummer2015RogueNotes', {
str: 8
}),
value: 80,
str: 8
},
summer2015Warrior: {
event: events.summer2015,
specialClass: 'warrior',
text: t('weaponSpecialSummer2015WarriorText'),
notes: t('weaponSpecialSummer2015WarriorNotes', {
str: 15
}),
value: 90,
str: 15
},
summer2015Mage: {
event: events.summer2015,
specialClass: 'wizard',
twoHanded: true,
text: t('weaponSpecialSummer2015MageText'),
notes: t('weaponSpecialSummer2015MageNotes', {
int: 15,
per: 7
}),
value: 160,
int: 15,
per: 7
},
summer2015Healer: {
event: events.summer2015,
specialClass: 'healer',
text: t('weaponSpecialSummer2015HealerText'),
notes: t('weaponSpecialSummer2015HealerNotes', {
int: 9
}),
value: 90,
int: 9
}
},
mystery: {
201411: {
text: t('weaponMystery201411Text'),
notes: t('weaponMystery201411Notes'),
mystery: '201411',
value: 0
},
201502: {
text: t('weaponMystery201502Text'),
notes: t('weaponMystery201502Notes'),
mystery: '201502',
value: 0
},
201505: {
text: t('weaponMystery201505Text'),
notes: t('weaponMystery201505Notes'),
mystery: '201505',
value: 0
},
301404: {
text: t('weaponMystery301404Text'),
notes: t('weaponMystery301404Notes'),
mystery: '301404',
value: 0
}
},
armoire: {
basicCrossbow: {
text: t('weaponArmoireBasicCrossbowText'),
notes: t('weaponArmoireBasicCrossbowNotes', {
str: 5,
per: 5,
con: 5
}),
value: 100,
str: 5,
per: 5,
con: 5,
canOwn: (function(u) {
return u.items.gear.owned.weapon_armoire_basicCrossbow != null;
})
},
lunarSceptre: {
text: t('weaponArmoireLunarSceptreText'),
notes: t('weaponArmoireLunarSceptreNotes', {
con: 7,
int: 7
}),
value: 100,
con: 7,
int: 7,
set: 'soothing',
canOwn: (function(u) {
return u.items.gear.owned.weapon_armoire_lunarSceptre != null;
})
},
rancherLasso: {
twoHanded: true,
text: t('weaponArmoireRancherLassoText'),
notes: t('weaponArmoireRancherLassoNotes', {
str: 5,
per: 5,
int: 5
}),
value: 100,
str: 5,
per: 5,
int: 5,
set: 'rancher',
canOwn: (function(u) {
return u.items.gear.owned.weapon_armoire_rancherLasso != null;
})
},
mythmakerSword: {
text: t('weaponArmoireMythmakerSwordText'),
notes: t('weaponArmoireMythmakerSwordNotes', {
attrs: 6
}),
value: 100,
str: 6,
per: 6,
set: 'goldenToga',
canOwn: (function(u) {
return u.items.gear.owned.weapon_armoire_mythmakerSword != null;
})
},
ironCrook: {
text: t('weaponArmoireIronCrookText'),
notes: t('weaponArmoireIronCrookNotes', {
attrs: 7
}),
value: 100,
str: 7,
per: 7,
set: 'hornedIron',
canOwn: (function(u) {
return u.items.gear.owned.weapon_armoire_ironCrook != null;
})
},
goldWingStaff: {
text: t('weaponArmoireGoldWingStaffText'),
notes: t('weaponArmoireGoldWingStaffNotes', {
attrs: 4
}),
value: 100,
con: 4,
int: 4,
per: 4,
str: 4,
canOwn: (function(u) {
return u.items.gear.owned.weapon_armoire_goldWingStaff != null;
})
}
}
};
export default weapon;