diff options
| author | historia <[not public]> | 2026-07-05 20:06:53 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-07-05 20:07:50 -0400 |
| commit | 843fa6db681e494bf46e191655323a40577542b5 (patch) | |
| tree | cf32ec18d50434c14a1152147ff6e5e8b3576998 /internal/admin | |
| parent | 7b5ed92e003d8a4bf9bdc69d43b7354eb2260dfa (diff) | |
| download | thehouseoficarus-843fa6db681e494bf46e191655323a40577542b5.tar.gz | |
feat: remove deprecated use/station interaction model
Diffstat (limited to 'internal/admin')
| -rw-r--r-- | internal/admin/static/admin.css | 6 | ||||
| -rw-r--r-- | internal/admin/static/objecteditor.js | 54 |
2 files changed, 26 insertions, 34 deletions
diff --git a/internal/admin/static/admin.css b/internal/admin/static/admin.css index bef3589..1f6aeec 100644 --- a/internal/admin/static/admin.css +++ b/internal/admin/static/admin.css @@ -281,9 +281,9 @@ g.ud-hover:hover text{font-weight:bold} .panel-tab-content .section-add-btn:hover{background:var(--hover)} .panel-tab-content .mini-label{font-size:9px;color:#888;display:block;margin-bottom:1px;margin-top:3px} .panel-tab-content .mini-input{width:60px!important;display:inline-block;margin-right:4px} -.obj-card{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:5px;margin-bottom:10px;overflow:hidden;flex:1 1 calc(50% - 5px);min-width:340px;max-width:calc(50% - 5px)} -.obj-card.obj-card-full{flex:1 1 100%;max-width:100%} -.obj-fields-wrap{display:flex;flex-wrap:wrap;gap:10px} +.obj-card{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:5px;margin-bottom:10px;overflow:hidden;break-inside:avoid;display:inline-block;width:100%} +.obj-card.obj-card-full{column-span:all} +.obj-fields-wrap{column-count:2;column-gap:10px} .obj-card-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(15,52,96,.3);cursor:pointer;user-select:none;font-size:13px;font-weight:bold} .obj-card-header:hover{background:rgba(15,52,96,.5)} .obj-card-arrow{font-size:10px;width:14px;color:#888} diff --git a/internal/admin/static/objecteditor.js b/internal/admin/static/objecteditor.js index 7e2d04b..d4cca21 100644 --- a/internal/admin/static/objecteditor.js +++ b/internal/admin/static/objecteditor.js @@ -61,30 +61,6 @@ var SECTIONS = [ ] }, { - id: 'use', label: 'Use (Station)', path: 'use', - detect: function(d) { return d.use; }, - fields: [ - ['message', 'Message', 'text', 'You use the station...'], - ['wait', 'Wait', 'number', '4', 'narrow'], - ['skill', 'Skill', 'text', 'e.g. smithing'], - ['level', 'Level', 'number', '1', 'narrow'], - ['xp', 'XP', 'number', '25', 'narrow'], - ['fail_message', 'Fail Message', 'text', 'You fail to use the station.'], - ], - inline: [ - {label:'Success', path:'success', fields:[ - ['base', 'Base', 'number', '0.5', 'narrow'], ['per_level', 'Per Lvl', 'number', '0.01', 'narrow'], ['cap', 'Cap', 'number', '0.95', 'narrow'] - ]}, - {label:'Consume', key:'consume', type:'kv', valType:'number'}, - ], - subtables: [ - {label:'Reward', key:'reward', single:true, fields:[ - ['item_id', 'Item ID', 'search', '', '', 'items'], ['weight', 'Weight', 'number'], ['quantity', 'Quantity', 'number'], - ['message', 'Message', 'text'], - ]} - ] - }, - { id: 'safespot', label: 'Safespot', path: 'safespot', detect: function(d) { return d.safespot; }, fields: [ @@ -113,18 +89,16 @@ var SECTIONS = [ ] }, { - id: 'on_look', label: 'On Look', path: 'on_look', + id: 'on_look', label: 'On Look', labelHint: '(what happens when you "look <this>")', path: 'on_look', detect: function(d) { return d.on_look; }, fields: [ ['set_flags', 'Set Flags', 'json', '{"flag":"value"}'], ['set_player_flags', 'Set Player Flags', 'json', '{"pflag":"value"}'], - ['give_item', 'Give Item', 'text', 'e.g. keycard'], - ['take_item', 'Take Item', 'text', 'e.g. bomb'], + ['give_item', 'Give Item', 'search', 'e.g. keycard', '', null, 'items'], + ['take_item', 'Take Item', 'search', 'e.g. bomb', '', null, 'items'], ['teleport', 'Teleport', 'number', '5', 'narrow'], ['heal', 'Heal', 'number', '10', 'narrow'], ['credits', 'Credits', 'number', '100', 'narrow'], - ['reputation_cost', 'Reputation Cost', 'number', '1', 'narrow'], - ['aps_node', 'APS Node', 'checkbox'], ] }, ]; @@ -253,6 +227,8 @@ function renderCard(sec, data) { h += renderCoreCard(data); } else if (sec.id === 'steal') { h += renderStealCard(data); + } else if (sec.id === 'on_look') { + h += renderOnLookCard(data); } else { h += '<div class="obj-card-grid">'; sec.fields.forEach(function(f) { @@ -484,6 +460,24 @@ function renderStealCard(data) { return h; } +function renderOnLookCard(data) { + var sec = SECTIONS.find(function(s) { return s.id === 'on_look'; }); + var h = '<div style="display:flex;gap:10px">'; + h += renderField(sec, sec.fields[0], data, -1, null, 'flex:1'); + h += renderField(sec, sec.fields[1], data, -1, null, 'flex:1'); + h += '</div>'; + h += '<div style="display:flex;gap:10px;margin-top:8px">'; + h += renderField(sec, sec.fields[2], data, -1, null, 'flex:1'); + h += renderField(sec, sec.fields[3], data, -1, null, 'flex:1'); + h += '</div>'; + h += '<div style="display:flex;gap:10px;margin-top:8px">'; + h += renderField(sec, sec.fields[4], data, -1); + h += renderField(sec, sec.fields[5], data, -1); + h += renderField(sec, sec.fields[6], data, -1); + h += '</div>'; + return h; +} + function renderArraySection(sec, data) { var arr = data[cardPath(sec)] || []; var h = ''; @@ -783,8 +777,6 @@ function addSection() { objectData[sec.path] = {}; } else if (sec.id === 'gather') { objectData[sec.path] = {skill:'', tools:[], success:{base:0, per_level:0, cap:1}, drops:[], gather_message:'', fail_message:'', respawn_timer:0, respawn_broadcast:'', deplete_timer:0, nest_chance:0}; - } else if (sec.id === 'use') { - objectData[sec.path] = {message:'', wait:1, consume:{}, reward:{}, fail_message:'', success:{base:0, per_level:0, cap:1}, skill:'', level:1, xp:0}; } else if (sec.id === 'safespot') { objectData[sec.path] = {tier:1, max_block_size:'', max_occupants:1, unsafe_chance:0, decay_ticks:0, decay_chance:0, respawn_on_hide:false, respawn_ticks:0, levels:[]}; } else { |
