mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 07:37:25 +01:00
Consolidate helpers
This commit is contained in:
@@ -1,13 +1,15 @@
|
|||||||
|
import {each, defaults} from 'lodash';
|
||||||
|
import capitalize from 'lodash.capitalize';
|
||||||
|
import camelCase from 'lodash.camelcase';
|
||||||
|
|
||||||
require('coffee-script');
|
require('coffee-script');
|
||||||
import i18n from '../../../script/i18n.coffee';
|
import i18n from '../../../script/i18n.coffee';
|
||||||
|
|
||||||
export function translator(string, vars) {
|
//----------------------------------------
|
||||||
var func = function(lang) {
|
// Translator Helper
|
||||||
if (vars == null) {
|
//----------------------------------------
|
||||||
vars = {
|
export function translator(string, vars={a: 'a'}) {
|
||||||
a: 'a'
|
let func = (lang) => {
|
||||||
};
|
|
||||||
}
|
|
||||||
return i18n.t(string, vars, lang);
|
return i18n.t(string, vars, lang);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -16,3 +18,39 @@ export function translator(string, vars) {
|
|||||||
return func;
|
return func;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//----------------------------------------
|
||||||
|
// Formatting Helper
|
||||||
|
//----------------------------------------
|
||||||
|
|
||||||
|
export function formatForTranslator(name) {
|
||||||
|
let camelCasedName = camelCase(name);
|
||||||
|
let capitalCamelCasedName = capitalize(camelCasedName);
|
||||||
|
|
||||||
|
return capitalCamelCasedName;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------
|
||||||
|
// Spell Helpers
|
||||||
|
//----------------------------------------
|
||||||
|
|
||||||
|
export function diminishingReturns(bonus, max, halfway=max/2) {
|
||||||
|
return max * (bonus / (bonus + halfway));
|
||||||
|
};
|
||||||
|
|
||||||
|
export function calculateBonus(value, stat, crit=1, stat_scale=0.5) {
|
||||||
|
return (value < 0 ? 1 : value + 1) + (stat * stat_scale * crit);
|
||||||
|
};
|
||||||
|
|
||||||
|
export function setSpellDefaults (className, spells) {
|
||||||
|
let capitalClassName = formatForTranslator(className);
|
||||||
|
|
||||||
|
each(spells, (spell, key) => {
|
||||||
|
let capitalSpellKey = formatForTranslator(key);
|
||||||
|
let spellDefaults = {
|
||||||
|
text: translator(`spell${capitalClassName}${capitalSpellKey}Text`),
|
||||||
|
notes: translator(`spell${capitalClassName}${capitalSpellKey}Notes`),
|
||||||
|
};
|
||||||
|
|
||||||
|
defaults(spell, spellDefaults);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
import {translator as t} from '../helpers';
|
import {
|
||||||
import {diminishingReturns, calculateBonus, setSpellDefaults} from './spell-helper';
|
translator as t,
|
||||||
|
diminishingReturns,
|
||||||
|
calculateBonus,
|
||||||
|
setSpellDefaults
|
||||||
|
} from '../helpers';
|
||||||
|
|
||||||
import {each} from 'lodash';
|
import {each} from 'lodash';
|
||||||
|
|
||||||
let heal = {
|
let heal = {
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
import {translator as t} from '../helpers';
|
|
||||||
import {diminishingReturns, calculateBonus} from './spell-helper';
|
|
||||||
|
|
||||||
import wizard from './wizard';
|
import wizard from './wizard';
|
||||||
import warrior from './warrior';
|
import warrior from './warrior';
|
||||||
import healer from './healer';
|
import healer from './healer';
|
||||||
@@ -28,7 +25,6 @@ import special from './special';
|
|||||||
Note, user.stats.mp is docked after automatically (it's appended to functions automatically down below in an _.each)
|
Note, user.stats.mp is docked after automatically (it's appended to functions automatically down below in an _.each)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
var spells = {
|
var spells = {
|
||||||
wizard: wizard,
|
wizard: wizard,
|
||||||
warrior: warrior,
|
warrior: warrior,
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
import {translator as t} from '../helpers';
|
import {
|
||||||
import {diminishingReturns, calculateBonus, setSpellDefaults} from './spell-helper';
|
translator as t,
|
||||||
|
diminishingReturns,
|
||||||
|
calculateBonus,
|
||||||
|
setSpellDefaults
|
||||||
|
} from '../helpers';
|
||||||
import {each} from 'lodash';
|
import {each} from 'lodash';
|
||||||
|
|
||||||
let pickPocket = {
|
let pickPocket = {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { translator as t } from '../helpers';
|
import { translator as t } from '../helpers';
|
||||||
import {diminishingReturns, calculateBonus, setSpellDefaults} from './spell-helper';
|
|
||||||
import {each} from 'lodash';
|
import {each} from 'lodash';
|
||||||
|
|
||||||
let snowball = {
|
let snowball = {
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
import {translator as t} from '../helpers';
|
import {
|
||||||
import {diminishingReturns, calculateBonus, setSpellDefaults} from './spell-helper';
|
translator as t,
|
||||||
|
diminishingReturns,
|
||||||
|
calculateBonus,
|
||||||
|
setSpellDefaults
|
||||||
|
} from '../helpers';
|
||||||
import {each} from 'lodash';
|
import {each} from 'lodash';
|
||||||
|
|
||||||
let smash= {
|
let smash= {
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
import {translator as t} from '../helpers';
|
import {
|
||||||
import {diminishingReturns, calculateBonus, setSpellDefaults} from './spell-helper';
|
translator as t,
|
||||||
|
diminishingReturns,
|
||||||
|
calculateBonus,
|
||||||
|
setSpellDefaults
|
||||||
|
} from '../helpers';
|
||||||
import {each} from 'lodash';
|
import {each} from 'lodash';
|
||||||
|
|
||||||
let fireball = {
|
let fireball = {
|
||||||
|
|||||||
Reference in New Issue
Block a user