mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 14:17:22 +01:00
Add armoire set
This commit is contained in:
@@ -8,6 +8,7 @@ import {head as rogueHead} from './sets/rogue';
|
||||
import {head as warriorHead} from './sets/warrior';
|
||||
import {head as wizardHead} from './sets/wizard';
|
||||
|
||||
import {head as armoireHead} from './sets/armoire';
|
||||
import {head as mysteryHead} from './sets/mystery';
|
||||
|
||||
let head = {
|
||||
@@ -412,177 +413,7 @@ let head = {
|
||||
}
|
||||
},
|
||||
mystery: mysteryHead,
|
||||
armoire: {
|
||||
lunarCrown: {
|
||||
text: t('headArmoireLunarCrownText'),
|
||||
notes: t('headArmoireLunarCrownNotes', {
|
||||
con: 7,
|
||||
per: 7
|
||||
}),
|
||||
value: 100,
|
||||
con: 7,
|
||||
per: 7,
|
||||
set: 'soothing',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_lunarCrown != null;
|
||||
})
|
||||
},
|
||||
redHairbow: {
|
||||
text: t('headArmoireRedHairbowText'),
|
||||
notes: t('headArmoireRedHairbowNotes', {
|
||||
str: 5,
|
||||
int: 5,
|
||||
con: 5
|
||||
}),
|
||||
value: 100,
|
||||
str: 5,
|
||||
int: 5,
|
||||
con: 5,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_redHairbow != null;
|
||||
})
|
||||
},
|
||||
violetFloppyHat: {
|
||||
text: t('headArmoireVioletFloppyHatText'),
|
||||
notes: t('headArmoireVioletFloppyHatNotes', {
|
||||
per: 5,
|
||||
int: 5,
|
||||
con: 5
|
||||
}),
|
||||
value: 100,
|
||||
per: 5,
|
||||
int: 5,
|
||||
con: 5,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_violetFloppyHat != null;
|
||||
})
|
||||
},
|
||||
gladiatorHelm: {
|
||||
text: t('headArmoireGladiatorHelmText'),
|
||||
notes: t('headArmoireGladiatorHelmNotes', {
|
||||
per: 7,
|
||||
int: 7
|
||||
}),
|
||||
value: 100,
|
||||
per: 7,
|
||||
int: 7,
|
||||
set: 'gladiator',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_gladiatorHelm != null;
|
||||
})
|
||||
},
|
||||
rancherHat: {
|
||||
text: t('headArmoireRancherHatText'),
|
||||
notes: t('headArmoireRancherHatNotes', {
|
||||
str: 5,
|
||||
per: 5,
|
||||
int: 5
|
||||
}),
|
||||
value: 100,
|
||||
str: 5,
|
||||
per: 5,
|
||||
int: 5,
|
||||
set: 'rancher',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_rancherHat != null;
|
||||
})
|
||||
},
|
||||
royalCrown: {
|
||||
text: t('headArmoireRoyalCrownText'),
|
||||
notes: t('headArmoireRoyalCrownNotes', {
|
||||
str: 10
|
||||
}),
|
||||
value: 100,
|
||||
str: 10,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_royalCrown != null;
|
||||
})
|
||||
},
|
||||
blueHairbow: {
|
||||
text: t('headArmoireBlueHairbowText'),
|
||||
notes: t('headArmoireBlueHairbowNotes', {
|
||||
per: 5,
|
||||
int: 5,
|
||||
con: 5
|
||||
}),
|
||||
value: 100,
|
||||
per: 5,
|
||||
int: 5,
|
||||
con: 5,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_blueHairbow != null;
|
||||
})
|
||||
},
|
||||
goldenLaurels: {
|
||||
text: t('headArmoireGoldenLaurelsText'),
|
||||
notes: t('headArmoireGoldenLaurelsNotes', {
|
||||
attrs: 8
|
||||
}),
|
||||
value: 100,
|
||||
per: 8,
|
||||
con: 8,
|
||||
set: 'goldenToga',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_goldenLaurels != null;
|
||||
})
|
||||
},
|
||||
hornedIronHelm: {
|
||||
text: t('headArmoireHornedIronHelmText'),
|
||||
notes: t('headArmoireHornedIronHelmNotes', {
|
||||
con: 9,
|
||||
str: 7
|
||||
}),
|
||||
value: 100,
|
||||
con: 9,
|
||||
str: 7,
|
||||
set: 'hornedIron',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_hornedIronHelm != null;
|
||||
})
|
||||
},
|
||||
yellowHairbow: {
|
||||
text: t('headArmoireYellowHairbowText'),
|
||||
notes: t('headArmoireYellowHairbowNotes', {
|
||||
attrs: 5
|
||||
}),
|
||||
value: 100,
|
||||
int: 5,
|
||||
per: 5,
|
||||
str: 5,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_yellowHairbow != null;
|
||||
})
|
||||
},
|
||||
redFloppyHat: {
|
||||
text: t('headArmoireRedFloppyHatText'),
|
||||
notes: t('headArmoireRedFloppyHatNotes', {
|
||||
attrs: 6
|
||||
}),
|
||||
value: 100,
|
||||
con: 6,
|
||||
int: 6,
|
||||
per: 6,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_redFloppyHat != null;
|
||||
})
|
||||
},
|
||||
plagueDoctorHat: {
|
||||
text: t('headArmoirePlagueDoctorHatText'),
|
||||
notes: t('headArmoirePlagueDoctorHatNotes', {
|
||||
int: 5,
|
||||
str: 6,
|
||||
con: 5
|
||||
}),
|
||||
value: 100,
|
||||
int: 5,
|
||||
str: 6,
|
||||
con: 5,
|
||||
set: 'plagueDoctor',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_plagueDoctorHat != null;
|
||||
})
|
||||
}
|
||||
}
|
||||
armoire: armoireHead,
|
||||
};
|
||||
|
||||
export default head;
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
import {translator as t} from '../../helpers';
|
||||
import events from '../../events';
|
||||
import {
|
||||
translator as t,
|
||||
setGearSetDefaults
|
||||
} from '../../helpers';
|
||||
|
||||
export var armor = {
|
||||
let armor = {
|
||||
lunarArmor: {
|
||||
text: t('armorArmoireLunarArmorText'),
|
||||
notes: t('armorArmoireLunarArmorNotes', {
|
||||
str: 7,
|
||||
int: 7
|
||||
}),
|
||||
value: 100,
|
||||
str: 7,
|
||||
int: 7,
|
||||
@@ -17,11 +14,6 @@ export var armor = {
|
||||
})
|
||||
},
|
||||
gladiatorArmor: {
|
||||
text: t('armorArmoireGladiatorArmorText'),
|
||||
notes: t('armorArmoireGladiatorArmorNotes', {
|
||||
str: 7,
|
||||
per: 7
|
||||
}),
|
||||
value: 100,
|
||||
str: 7,
|
||||
per: 7,
|
||||
@@ -31,12 +23,6 @@ export var armor = {
|
||||
})
|
||||
},
|
||||
rancherRobes: {
|
||||
text: t('armorArmoireRancherRobesText'),
|
||||
notes: t('armorArmoireRancherRobesNotes', {
|
||||
str: 5,
|
||||
per: 5,
|
||||
int: 5
|
||||
}),
|
||||
value: 100,
|
||||
str: 5,
|
||||
per: 5,
|
||||
@@ -60,11 +46,6 @@ export var armor = {
|
||||
})
|
||||
},
|
||||
hornedIronArmor: {
|
||||
text: t('armorArmoireHornedIronArmorText'),
|
||||
notes: t('armorArmoireHornedIronArmorNotes', {
|
||||
con: 9,
|
||||
per: 7
|
||||
}),
|
||||
value: 100,
|
||||
con: 9,
|
||||
per: 7,
|
||||
@@ -74,12 +55,6 @@ export var armor = {
|
||||
})
|
||||
},
|
||||
plagueDoctorOvercoat: {
|
||||
text: t('armorArmoirePlagueDoctorOvercoatText'),
|
||||
notes: t('armorArmoirePlagueDoctorOvercoatNotes', {
|
||||
int: 6,
|
||||
str: 5,
|
||||
con: 6
|
||||
}),
|
||||
value: 100,
|
||||
int: 6,
|
||||
str: 5,
|
||||
@@ -90,3 +65,220 @@ export var armor = {
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
let head = {
|
||||
lunarCrown: {
|
||||
value: 100,
|
||||
con: 7,
|
||||
per: 7,
|
||||
set: 'soothing',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_lunarCrown != null;
|
||||
})
|
||||
},
|
||||
redHairbow: {
|
||||
value: 100,
|
||||
str: 5,
|
||||
int: 5,
|
||||
con: 5,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_redHairbow != null;
|
||||
})
|
||||
},
|
||||
violetFloppyHat: {
|
||||
value: 100,
|
||||
per: 5,
|
||||
int: 5,
|
||||
con: 5,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_violetFloppyHat != null;
|
||||
})
|
||||
},
|
||||
gladiatorHelm: {
|
||||
value: 100,
|
||||
per: 7,
|
||||
int: 7,
|
||||
set: 'gladiator',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_gladiatorHelm != null;
|
||||
})
|
||||
},
|
||||
rancherHat: {
|
||||
value: 100,
|
||||
str: 5,
|
||||
per: 5,
|
||||
int: 5,
|
||||
set: 'rancher',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_rancherHat != null;
|
||||
})
|
||||
},
|
||||
royalCrown: {
|
||||
value: 100,
|
||||
str: 10,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_royalCrown != null;
|
||||
})
|
||||
},
|
||||
blueHairbow: {
|
||||
value: 100,
|
||||
per: 5,
|
||||
int: 5,
|
||||
con: 5,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_blueHairbow != null;
|
||||
})
|
||||
},
|
||||
goldenLaurels: {
|
||||
text: t('headArmoireGoldenLaurelsText'),
|
||||
notes: t('headArmoireGoldenLaurelsNotes', {
|
||||
attrs: 8
|
||||
}),
|
||||
value: 100,
|
||||
per: 8,
|
||||
con: 8,
|
||||
set: 'goldenToga',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_goldenLaurels != null;
|
||||
})
|
||||
},
|
||||
hornedIronHelm: {
|
||||
value: 100,
|
||||
con: 9,
|
||||
str: 7,
|
||||
set: 'hornedIron',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_hornedIronHelm != null;
|
||||
})
|
||||
},
|
||||
yellowHairbow: {
|
||||
notes: t('headArmoireYellowHairbowNotes', {
|
||||
attrs: 5
|
||||
}),
|
||||
value: 100,
|
||||
int: 5,
|
||||
per: 5,
|
||||
str: 5,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_yellowHairbow != null;
|
||||
})
|
||||
},
|
||||
redFloppyHat: {
|
||||
notes: t('headArmoireRedFloppyHatNotes', {
|
||||
attrs: 6
|
||||
}),
|
||||
value: 100,
|
||||
con: 6,
|
||||
int: 6,
|
||||
per: 6,
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_redFloppyHat != null;
|
||||
})
|
||||
},
|
||||
plagueDoctorHat: {
|
||||
value: 100,
|
||||
int: 5,
|
||||
str: 6,
|
||||
con: 5,
|
||||
set: 'plagueDoctor',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.head_armoire_plagueDoctorHat != null;
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
let shield = {
|
||||
gladiatorShield: {
|
||||
value: 100,
|
||||
con: 5,
|
||||
str: 5,
|
||||
set: 'gladiator',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.shield_armoire_gladiatorShield != null;
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
let weapon = {
|
||||
basicCrossbow: {
|
||||
value: 100,
|
||||
str: 5,
|
||||
per: 5,
|
||||
con: 5,
|
||||
canOwn: (function(u) {
|
||||
return u.items.gear.owned.weapon_armoire_basicCrossbow != null;
|
||||
})
|
||||
},
|
||||
lunarSceptre: {
|
||||
value: 100,
|
||||
con: 7,
|
||||
int: 7,
|
||||
set: 'soothing',
|
||||
canOwn: (function(u) {
|
||||
return u.items.gear.owned.weapon_armoire_lunarSceptre != null;
|
||||
})
|
||||
},
|
||||
rancherLasso: {
|
||||
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: {
|
||||
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: {
|
||||
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: {
|
||||
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;
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
let armoireSet = {
|
||||
armor: armor,
|
||||
head: head,
|
||||
shield: shield,
|
||||
weapon: weapon,
|
||||
};
|
||||
|
||||
setGearSetDefaults(armoireSet, {setName: 'armoire'});
|
||||
|
||||
export default armoireSet;
|
||||
|
||||
@@ -9,6 +9,7 @@ import {weapon as rogueWeapon} from './sets/rogue';
|
||||
import {shield as warriorShield} from './sets/warrior';
|
||||
import {shield as wizardShield} from './sets/wizard';
|
||||
|
||||
import {shield as armoireShield} from './sets/armoire';
|
||||
import {shield as mysteryShield} from './sets/mystery';
|
||||
|
||||
let rogueShield = cloneDeep(rogueWeapon);
|
||||
@@ -314,22 +315,7 @@ let shield = {
|
||||
}
|
||||
},
|
||||
mystery: mysteryShield,
|
||||
armoire: {
|
||||
gladiatorShield: {
|
||||
text: t('shieldArmoireGladiatorShieldText'),
|
||||
notes: t('shieldArmoireGladiatorShieldNotes', {
|
||||
con: 5,
|
||||
str: 5
|
||||
}),
|
||||
value: 100,
|
||||
con: 5,
|
||||
str: 5,
|
||||
set: 'gladiator',
|
||||
canOwn: ((u) => {
|
||||
return u.items.gear.owned.shield_armoire_gladiatorShield != null;
|
||||
})
|
||||
}
|
||||
}
|
||||
armoire: armoireShield,
|
||||
};
|
||||
|
||||
export default shield;
|
||||
|
||||
@@ -8,6 +8,7 @@ import {weapon as rogueWeapon} from './sets/rogue';
|
||||
import {weapon as warriorWeapon} from './sets/warrior';
|
||||
import {weapon as wizardWeapon} from './sets/wizard';
|
||||
|
||||
import {weapon as armoireWeapon} from './sets/armoire';
|
||||
import {weapon as mysteryWeapon} from './sets/mystery';
|
||||
|
||||
let weapon = {
|
||||
@@ -443,94 +444,7 @@ let weapon = {
|
||||
}
|
||||
},
|
||||
mystery: mysteryWeapon,
|
||||
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;
|
||||
})
|
||||
}
|
||||
}
|
||||
armoire: armoireWeapon,
|
||||
};
|
||||
|
||||
export default weapon;
|
||||
|
||||
@@ -140,9 +140,11 @@ export function setGearSetDefaults(gearSet, options={}) {
|
||||
let setName = formatForTranslator(options.setName);
|
||||
|
||||
each(gearSet, (gear, gearType) => {
|
||||
each(gear, (item, number) => {
|
||||
let text = `${gearType}${setName}${number}Text`;
|
||||
let notes = `${gearType}${setName}${number}Notes`;
|
||||
each(gear, (item, key) => {
|
||||
let formattedName = formatForTranslator(key);
|
||||
|
||||
let text = `${gearType}${setName}${formattedName}Text`;
|
||||
let notes = `${gearType}${setName}${formattedName}Notes`;
|
||||
let attributes = _getGearAttributes(item);
|
||||
let gearDefaults = {
|
||||
text: translator(text),
|
||||
|
||||
Reference in New Issue
Block a user