aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/static/mobeditor.js
diff options
context:
space:
mode:
Diffstat (limited to 'internal/admin/static/mobeditor.js')
-rw-r--r--internal/admin/static/mobeditor.js81
1 files changed, 47 insertions, 34 deletions
diff --git a/internal/admin/static/mobeditor.js b/internal/admin/static/mobeditor.js
index debe7e0..c142fb4 100644
--- a/internal/admin/static/mobeditor.js
+++ b/internal/admin/static/mobeditor.js
@@ -24,34 +24,34 @@ var MOB_SECTIONS = [
fields: [
['kind', 'Kind', 'select', 'combat|task'],
['aggressive', 'Aggressive', 'checkbox'],
- ['respawn_ticks', 'Respawn Ticks', 'number', '', 'narrow'],
- ['stats.hp', 'HP', 'number', '', 'narrow'],
- ['stats.attack', 'Attack', 'number', '', 'narrow'],
- ['stats.strength', 'Strength', 'number', '', 'narrow'],
- ['stats.defense', 'Defense', 'number', '', 'narrow'],
- ['stats.ranged', 'Ranged', 'number', '', 'narrow'],
- ['stats.science', 'Science', 'number', '', 'narrow'],
- ['stats.speed', 'Speed', 'number', '', 'narrow'],
- ['stats.max_melee_hit', 'Max Melee Hit', 'number', '', 'narrow'],
- ['stats.max_ranged_hit', 'Max Ranged Hit', 'number', '', 'narrow'],
- ['stats.max_science_hit', 'Max Science Hit', 'number', '', 'narrow'],
- ['stats.bonuses.attack_bonus', 'Atk Bonus', 'number', '', 'narrow'],
- ['stats.bonuses.strength_bonus', 'Str Bonus', 'number', '', 'narrow'],
- ['stats.bonuses.science_bonus', 'Sci Bonus', 'number', '', 'narrow'],
- ['stats.bonuses.science_percent_bonus', 'Sci % Bonus', 'number', '', 'narrow'],
- ['stats.bonuses.ranged_bonus', 'Rng Bonus', 'number', '', 'narrow'],
- ['stats.bonuses.ranged_strength_bonus', 'Rng Str Bonus', 'number', '', 'narrow'],
- ['stats.defenses.stab_defense', 'Stab Def', 'number', '', 'narrow'],
- ['stats.defenses.slash_defense', 'Slash Def', 'number', '', 'narrow'],
- ['stats.defenses.crush_defense', 'Crush Def', 'number', '', 'narrow'],
- ['stats.defenses.science_defense', 'Sci Def', 'number', '', 'narrow'],
- ['stats.defenses.ranged_defense', 'Rng Def', 'number', '', 'narrow'],
- ['stats.defenses.weakness', 'Weakness', 'text'],
- ['stats.defenses.weakness_percent', 'Weakness %', 'number', '', 'narrow'],
- ['assassin_level', 'Assassin Lvl', 'number', '', 'narrow'],
- ['finishing_blow', 'Finishing Blow', 'search', '', '', null, 'items'],
- ['damage_without', 'Damage Without', 'search', '', '', null, 'items'],
- ['size', 'Size', 'text'],
+ ['respawn_ticks', 'Respawn Ticks', 'number', '30', 'narrow'],
+ ['stats.hp', 'HP', 'number', '10', 'narrow'],
+ ['stats.attack', 'Attack', 'number', '5', 'narrow'],
+ ['stats.strength', 'Strength', 'number', '5', 'narrow'],
+ ['stats.defense', 'Defense', 'number', '5', 'narrow'],
+ ['stats.ranged', 'Ranged', 'number', '1', 'narrow'],
+ ['stats.science', 'Science', 'number', '1', 'narrow'],
+ ['stats.speed', 'Speed', 'number', '5', 'narrow'],
+ ['stats.max_melee_hit', 'Max Melee Hit', 'number', '2', 'narrow'],
+ ['stats.max_ranged_hit', 'Max Ranged Hit', 'number', '0', 'narrow'],
+ ['stats.max_science_hit', 'Max Science Hit', 'number', '0', 'narrow'],
+ ['stats.bonuses.attack_bonus', 'Atk Bonus', 'number', '0', 'narrow'],
+ ['stats.bonuses.strength_bonus', 'Str Bonus', 'number', '0', 'narrow'],
+ ['stats.bonuses.science_bonus', 'Sci Bonus', 'number', '0', 'narrow'],
+ ['stats.bonuses.science_percent_bonus', 'Sci % Bonus', 'number', '0', 'narrow'],
+ ['stats.bonuses.ranged_bonus', 'Rng Bonus', 'number', '0', 'narrow'],
+ ['stats.bonuses.ranged_strength_bonus', 'Rng Str Bonus', 'number', '0', 'narrow'],
+ ['stats.defenses.stab_defense', 'Stab Def', 'number', '0', 'narrow'],
+ ['stats.defenses.slash_defense', 'Slash Def', 'number', '0', 'narrow'],
+ ['stats.defenses.crush_defense', 'Crush Def', 'number', '0', 'narrow'],
+ ['stats.defenses.science_defense', 'Sci Def', 'number', '0', 'narrow'],
+ ['stats.defenses.ranged_defense', 'Rng Def', 'number', '0', 'narrow'],
+ ['stats.defenses.weakness', 'Weakness', 'text', 'e.g. crush'],
+ ['stats.defenses.weakness_percent', 'Weakness %', 'number', '50', 'narrow'],
+ ['assassin_level', 'Assassin Lvl', 'number', '1', 'narrow'],
+ ['finishing_blow', 'Finishing Blow', 'search', 'e.g. stake', '', null, 'items'],
+ ['damage_without', 'Damage Without', 'search', 'e.g. holy_symbol', '', null, 'items'],
+ ['size', 'Size', 'text', 'small'],
],
inline: [
{label:'Combat Descriptions', key:'combat_descriptions', type:'tags'},
@@ -61,10 +61,10 @@ var MOB_SECTIONS = [
id: 'steal', label: 'Steal', path: 'steal',
detect: function(d) { return d.steal; },
fields: [
- ['table', 'Table ID', 'search', '', '', null, 'drops'],
- ['level', 'Level', 'number', '', 'narrow'],
- ['xp', 'XP', 'number', '', 'narrow'],
- ['speed', 'Speed', 'number', '', 'narrow'],
+ ['table', 'Table ID', 'search', 'e.g. gem_table', '', null, 'drops'],
+ ['level', 'Level', 'number', '1', 'narrow'],
+ ['xp', 'XP', 'number', '5', 'narrow'],
+ ['speed', 'Speed', 'number', '4', 'narrow'],
]
},
{
@@ -73,7 +73,7 @@ var MOB_SECTIONS = [
fields: [
['verb', 'Verb', 'text', 'work'],
['progress_noun', 'Progress Noun', 'text', 'construction'],
- ['complete_message', 'Complete Message', 'text'],
+ ['complete_message', 'Complete Message', 'text', 'The work is finished.'],
]
},
{
@@ -756,8 +756,21 @@ function duplicateMob() {
delete copy._path;
copy.id = newID;
+ var dir = '';
+ if (mobData._path) {
+ var parts = mobData._path.split('/');
+ var parentDir = parts[parts.length - 2];
+ if (parentDir !== 'mobs') dir = parentDir;
+ }
+
API.post('/api/mobs', {id: newID}).then(function() {
- return API.put('/api/mobs/' + encodeURIComponent(newID), copy);
+ var putOp = API.put('/api/mobs/' + encodeURIComponent(newID), copy);
+ if (dir) {
+ return putOp.then(function() {
+ return API.post('/api/mobs/move', {id: newID, dir: dir});
+ });
+ }
+ return putOp;
}).then(function() {
notify('Duplicated as ' + newID, 'success');
updateUndoBar();