Skip to content
Snippets Groups Projects
Commit 95f0fa15 authored by dg's avatar dg
Browse files

much better!

git-svn-id: http://svn.net-core.org/repos/t-engine4@4510 51575b47-30f0-44d4-a5cc-537603b46e54
parent 206d09e1
No related branches found
No related tags found
No related merge requests found
......@@ -23,6 +23,9 @@ local Focusable = require "engine.ui.Focusable"
module(..., package.seeall, class.inherit(Base, Focusable))
_M.font = core.display.newFont("/data/font/Vera.ttf", 10)
_M.font_h = _M.font:lineSkip()
function _M:init(t)
self.actor = assert(t.actor, "no equipdollframe actor")
self.inven = assert(t.inven, "no equipdollframe inven")
......@@ -38,6 +41,8 @@ function _M:init(t)
self.bg_empty = t.bg_empty
self.drag_enable = t.drag_enable
self.fct = t.fct
self.filter = t.filter
self.name_pos = t.name_pos
Base.init(self, t)
end
......@@ -52,7 +57,7 @@ function _M:generate()
self.mouse:registerZone(0, 0, self.w, self.h, function(button, x, y, xrel, yrel, bx, by, event)
if button == "left" and event == "button" then self:onUse(button, event) end
if event == "motion" and button == "left" and self.inven[self.item] then self:onDrag(self.inven, self.item, self.inven[self.item])
if event == "motion" and button == "left" and self:getItem() then self:onDrag(self.inven, self.item, self:getItem())
elseif button == "drag-end" and self.drag_enable then
local drag = game.mouse.dragged.payload
print(table.serialize(drag,nil,true))
......@@ -67,6 +72,13 @@ function _M:generate()
}
end
function _M:getItem()
local o = self.inven[self.item]
if not o then return end
if self.filter and not self.filter(o) then return end
return o
end
function _M:onUse(...)
if not self.fct then return end
self:sound("button")
......@@ -89,6 +101,38 @@ function _M:onDrag(inven, item, o)
end
end
function _M:drawItemShortName(o, x, y)
if not o then return end
local t = nil
if self.last_o == o then
t = self.last_t
else
local name = (o.getShortName or o.getName)(o, {do_color=true, no_image=true, no_add_name=true}):toString()
t = self.font:draw(name, self.font:size(name), 255, 255, 255)[1]
end
if not self.name_pos then
x = x - (t.w - self.w) / 2
y = y - t.h
elseif self.name_pos == "bottom" then
x = x - (t.w - self.w) / 2
y = y + self.h
elseif self.name_pos == "topleft" then
x = x - t.w + self.w
y = y - t.h
elseif self.name_pos == "topright" then
x = x
y = y - t.h
end
t._tex:toScreenFull(x, y, t.w, t.h, t._tex_w, t._tex_h)
-- if self.text_shadow then t._tex:toScreenFull(x - (t.w - self.w) / 2 + 1, y - t.h + 1, t.w, t.h, t._tex_w, t._tex_h, 0, 0, 0, self.text_shadow) end
self.last_t = t
self.last_o = o
end
function _M:display(x, y, nb_keyframes, ox, oy)
if self.focused then
self.bg_sel.t:toScreenFull(x, y, self.w, self.h, self.bg_sel.tw, self.bg_sel.th)
......@@ -96,13 +140,15 @@ function _M:display(x, y, nb_keyframes, ox, oy)
self.bg.t:toScreenFull(x, y, self.w, self.h, self.bg.tw, self.bg.th)
end
local o = self.inven[self.item]
local o = self:getItem()
if o and o.toScreen then
o:toScreen(nil, x + self.f_ix, y + self.f_iy, self.f_iw, self.f_ih)
elseif self.bg_empty then
self.bg_empty.t:toScreenFull(x + self.f_ix, y + self.f_iy, self.f_iw, self.f_ih, self.bg_empty.tw, self.bg_empty.th)
end
self:drawItemShortName(o, x, y)
self.last_display_x = ox
self.last_display_y = oy
end
......@@ -227,6 +227,35 @@ function _M:getName(t)
end
end
--- Gets the short name of the object
function _M:getShortName(t)
if not self.short_name then return self:getName(t) end
t = t or {}
local qty = self:getNumber()
local name = self.short_name
if not self:isIdentified() and not t.force_id and self:getUnidentifiedName() then name = self:getUnidentifiedName() end
if self.keywords and next(self.keywords) then
local k = table.keys(self.keywords)
table.sort(k)
name = name..","..table.concat(k, ',')
end
if not t.do_color then
if qty == 1 or t.no_count then return name
else return qty.." "..name
end
else
local _, c = self:getDisplayColor()
local ds = t.no_image and "" or self:getDisplayString()
if qty == 1 or t.no_count then return c..ds..name.."#LAST#"
else return c..qty.." "..ds..name.."#LAST#"
end
end
end
--- Gets the full textual desc of the object without the name and requirements
function _M:getTextualDesc(compare_with)
compare_with = compare_with or {}
......@@ -728,7 +757,7 @@ function _M:getTextualDesc(compare_with)
compare_fields(w, compare_with, field, "combat_spellpower", "%+d", "Spellpower: ")
compare_fields(w, compare_with, field, "combat_spellcrit", "%+d%%", "Spell crit. chance: ")
compare_fields(w, compare_with, field, "combat_mindpower", "%+d", "Mindpower: ")
compare_fields(w, compare_with, field, "combat_mindcrit", "%+d%%", "Mental crit. chance: ")
......
......@@ -725,12 +725,14 @@ function _M:doWear(inven, item, o)
self.changed = true
end
function _M:doTakeoff(inven, item, o)
function _M:doTakeoff(inven, item, o, simple)
if self:takeoffObject(inven, item) then
self:addObject(self.INVEN_INVEN, o)
end
self:sortInven()
self:useEnergy()
if not simple then
self:sortInven()
self:useEnergy()
end
self:playerCheckSustains()
self.changed = true
end
......
......@@ -23,6 +23,7 @@ local Stats = require "engine.interface.ActorStats"
newEntity{
power_source = {technique=true},
name = " of fire resistance", suffix=true, instant_resolve=true,
keywords = {['fire res']=true},
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -33,6 +34,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = " of cold resistance", suffix=true, instant_resolve=true,
keywords = {['cold res']=true},
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -43,6 +45,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = " of acid resistance", suffix=true, instant_resolve=true,
keywords = {['acid res']=true},
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -53,6 +56,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = " of lightning resistance", suffix=true, instant_resolve=true,
keywords = {['lightning res']=true},
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -63,6 +67,7 @@ newEntity{
newEntity{
power_source = {nature=true},
name = " of nature resistance", suffix=true, instant_resolve=true,
keywords = {['nature res']=true},
level_range = {1, 50},
rarity = 5,
cost = 6,
......@@ -74,6 +79,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = " of stability", suffix=true, instant_resolve=true,
keywords = {stable=true},
level_range = {10, 50},
rarity = 7,
cost = 6,
......@@ -86,6 +92,7 @@ newEntity{
newEntity{
power_source = {nature=true},
name = "prismatic ", prefix=true, instant_resolve=true,
keywords = {primatic=true},
level_range = {10, 50},
rarity = 10,
cost = 7,
......@@ -100,6 +107,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = "spiked ", prefix=true, instant_resolve=true,
keywords = {spiked=true},
level_range = {5, 50},
rarity = 6,
cost = 7,
......@@ -111,6 +119,7 @@ newEntity{
newEntity{
power_source = {arcane=true},
name = "searing ", prefix=true, instant_resolve=true,
keywords = {searing=true},
level_range = {10, 50},
rarity = 10,
cost = 7,
......@@ -125,6 +134,7 @@ newEntity{
newEntity{
power_source = {nature=true},
name = "rejuvenating ", prefix=true, instant_resolve=true,
keywords = {rejuv=true},
level_range = {15, 50},
rarity = 10,
cost = 15,
......@@ -136,6 +146,7 @@ newEntity{
newEntity{
power_source = {nature=true},
name = "radiant ", prefix=true, instant_resolve=true,
keywords = {radiant=true},
level_range = {20, 50},
greater_ego = 1,
rarity = 18,
......@@ -156,6 +167,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = "insulating ", prefix=true, instant_resolve=true,
keywords = {insulate=true},
level_range = {1, 50},
rarity = 9,
cost = 5,
......@@ -172,6 +184,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = "grounding ", prefix=true, instant_resolve=true,
keywords = {ground=true},
level_range = {1, 50},
rarity = 9,
cost = 10,
......@@ -186,6 +199,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = "anchoring ", prefix=true, instant_resolve=true,
keywords = {anchor=true},
level_range = {1, 50},
rarity = 9,
cost = 10,
......@@ -200,6 +214,7 @@ newEntity{
newEntity{
power_source = {nature=true},
name = "cleansing ", prefix=true, instant_resolve=true,
keywords = {cleansing=true},
level_range = {1, 50},
rarity = 9,
cost = 5,
......@@ -214,6 +229,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = "fortifying ", prefix=true, instant_resolve=true,
keywords = {['fortif.']=true},
level_range = {20, 50},
greater_ego = 1,
rarity = 18,
......@@ -231,6 +247,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = "hardened ", prefix=true, instant_resolve=true,
keywords = {hardened=true},
level_range = {40, 50},
greater_ego = 1,
rarity = 29,
......@@ -252,6 +269,7 @@ newEntity{
newEntity{
power_source = {nature=true},
name = " of resilience", suffix=true, instant_resolve=true,
keywords = {resilience=true},
level_range = {1, 50},
rarity = 9,
cost = 10,
......@@ -265,6 +283,7 @@ newEntity{
newEntity{
power_source = {arcane=true},
name = " of the sky", suffix=true, instant_resolve=true,
keywords = {sky=true},
level_range = {20, 50},
greater_ego = 1,
rarity = 20,
......@@ -285,6 +304,7 @@ newEntity{
newEntity{
power_source = {nature=true},
name = " of Eyal", suffix=true, instant_resolve=true,
keywords = {eyal=true},
level_range = {20, 50},
greater_ego = 1,
rarity = 16,
......@@ -299,6 +319,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = " of Toknor", suffix=true, instant_resolve=true,
keywords = {toknor=true},
level_range = {20, 50},
greater_ego = 1,
rarity = 16,
......@@ -313,6 +334,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = " of implacability", suffix=true, instant_resolve=true,
keywords = {['implac.']=true},
level_range = {20, 50},
greater_ego = 1,
rarity = 16,
......@@ -328,6 +350,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = "marauder's ", prefix=true, instant_resolve=true,
keywords = {marauder=true},
level_range = {30, 50},
greater_ego = 1,
rarity = 20,
......@@ -345,6 +368,7 @@ newEntity{
newEntity{
power_source = {nature=true},
name = "verdant ", prefix=true, instant_resolve=true,
keywords = {verdant=true},
level_range = {20, 50},
greater_ego = 1,
rarity = 15,
......@@ -363,6 +387,7 @@ newEntity{
newEntity{
power_source = {arcane=true},
name = "sunsealed ", prefix=true, instant_resolve=true,
keywords = {sunseal=true},
level_range = {40, 50},
greater_ego = 1,
rarity = 30,
......@@ -381,6 +406,7 @@ newEntity{
newEntity{
power_source = {arcane=true},
name = "enlightening ", prefix=true, instant_resolve=true,
keywords = {enlight=true},
level_range = {10, 50},
greater_ego = 1,
rarity = 15,
......@@ -399,6 +425,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = " of the wind", suffix=true, instant_resolve=true,
keywords = {wind=true},
level_range = {40, 50},
greater_ego = 1,
rarity = 30,
......@@ -418,6 +445,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = " of command", suffix=true, instant_resolve=true,
keywords = {command=true},
level_range = {20, 50},
greater_ego = 1,
rarity = 20,
......@@ -435,6 +463,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = " of delving", suffix=true, instant_resolve=true,
keywords = {delving=true},
level_range = {30, 50},
greater_ego = 1,
rarity = 25,
......@@ -452,6 +481,7 @@ newEntity{
newEntity{
power_source = {nature=true},
name = " of the deep", suffix=true, instant_resolve=true,
keywords = {deep=true},
level_range = {10, 50},
greater_ego = 1,
rarity = 90,
......@@ -469,12 +499,12 @@ newEntity{
newEntity{
power_source = {arcane=true},
name = " of thunder", suffix=true, instant_resolve=true,
keywords = {thunder=true},
level_range = {40, 50},
greater_ego = 1,
rarity = 40,
cost = 100,
wielder = {
inc_stats = {
[Stats.STAT_STR] = resolvers.mbonus_material(7, 3),
[Stats.STAT_MAG] = resolvers.mbonus_material(7, 3),
......@@ -483,4 +513,4 @@ newEntity{
combat_spellcrit = resolvers.mbonus_material(3, 2),
combat_dam = resolvers.mbonus_material(7, 3),
},
}
\ No newline at end of file
}
......@@ -25,6 +25,7 @@ load("/data/general/objects/egos/armor.lua")
newEntity{
power_source = {nature=true},
name = " of the dragon", suffix=true, instant_resolve=true,
keywords = {dragon=true},
level_range = {20, 50},
greater_ego = 1,
rarity = 20,
......@@ -51,6 +52,7 @@ newEntity{
newEntity{
power_source = {technique=true},
name = "impenetrable ", prefix=true, instant_resolve=true,
keywords = {['impen.']=true},
level_range = {10, 50},
rarity = 8,
cost = 7,
......
......@@ -36,7 +36,7 @@ newEntity{
}
newEntity{ base = "BASE_MASSIVE_ARMOR",
name = "iron plate armour",
name = "iron plate armour", short_name = "iron",
level_range = {1, 10},
require = { stat = { str=22 }, },
cost = 20,
......@@ -49,7 +49,7 @@ newEntity{ base = "BASE_MASSIVE_ARMOR",
}
newEntity{ base = "BASE_MASSIVE_ARMOR",
name = "steel plate armour",
name = "steel plate armour", short_name = "steel",
level_range = {10, 20},
require = { stat = { str=28 }, },
cost = 25,
......@@ -62,7 +62,7 @@ newEntity{ base = "BASE_MASSIVE_ARMOR",
}
newEntity{ base = "BASE_MASSIVE_ARMOR",
name = "dwarven-steel plate armour",
name = "dwarven-steel plate armour", short_name = "d.steel",
level_range = {20, 30},
require = { stat = { str=35 }, },
cost = 30,
......@@ -75,7 +75,7 @@ newEntity{ base = "BASE_MASSIVE_ARMOR",
}
newEntity{ base = "BASE_MASSIVE_ARMOR",
name = "stralite plate armour",
name = "stralite plate armour", short_name = "stralite",
level_range = {30, 40},
cost = 40,
material_level = 4,
......@@ -88,7 +88,7 @@ newEntity{ base = "BASE_MASSIVE_ARMOR",
}
newEntity{ base = "BASE_MASSIVE_ARMOR",
name = "voratun plate armour",
name = "voratun plate armour", short_name = "voratun",
level_range = {40, 50},
require = { stat = { str=60 }, },
cost = 50,
......
......@@ -40,6 +40,7 @@ local function makeGolem()
combat = { dam=10, atk=10, apr=0, dammod={str=1} },
body = { INVEN = 1000, QS_MAINHAND = 1, QS_OFFHAND = 1, MAINHAND = 1, OFFHAND = 1, BODY=1, GEM=2 },
equipdoll = "alchemist_golem",
infravision = 10,
rank = 3,
size_category = 4,
......
......@@ -18,6 +18,7 @@
-- darkgod@te4.org
require "engine.class"
local Base = require "engine.ui.Base"
local Dialog = require "engine.ui.Dialog"
local ListColumns = require "engine.ui.ListColumns"
local Textzone = require "engine.ui.Textzone"
......@@ -36,8 +37,11 @@ function _M:init(title, actor, filter, action, on_select)
Dialog.init(self, title or "Inventory", math.max(800, game.w * 0.8), math.max(600, game.h * 0.8))
self.max_h = 0
local uis = self:generateEquipDollFrames()
self.inner_scroll = self:makeFrame("ui/tooltip/", self.equipdolls_max_w, self.equipdolls_max_h)
self.c_inven = ListColumns.new{width=math.floor(self.iw / 2 - 10), height=self.ih - self.max_h*self.font_h - 10, sortable=true, scrollbar=true, columns={
self.c_inven = ListColumns.new{width=self.iw - 20 - self.equipdolls_max_w, height=self.ih - self.max_h*self.font_h - 10, sortable=true, scrollbar=true, columns={
{name="", width={20,"fixed"}, display_prop="char", sort="id"},
{name="", width={24,"fixed"}, display_prop="object", sort="sortname", direct_draw=function(item, x, y) if item.object then item.object:toScreen(nil, x+4, y, 16, 16) end end},
{name="Inventory", width=72, display_prop="name", sort="sortname"},
......@@ -45,11 +49,10 @@ function _M:init(title, actor, filter, action, on_select)
{name="Enc.", width=8, display_prop="encumberance", sort="encumberance"},
}, list={}, fct=function(item, sel, button, event) self:use(item, button, event) end, select=function(item, sel) self:select(item) end, on_drag=function(item) self:onDrag(item) end, on_drag_end=function() self:onDragTakeoff() end}
local uis = self:generateEquipDollFrames()
self:generateList()
uis[#uis+1] = {right=0, top=0, ui=self.c_inven}
uis[#uis+1] = {hcenter=0, top=5, ui=Separator.new{dir="horizontal", size=self.ih - 10}}
uis[#uis+1] = {left=self.equipdolls_max_w, top=5, ui=Separator.new{dir="horizontal", size=self.ih - 10}}
self:loadUI(uis)
self:setFocus(self.c_inven)
......@@ -163,8 +166,8 @@ end
function _M:on_focus(id, ui)
if self.focus_ui and self.focus_ui.ui == self.c_inven then self:select(self.c_inven.list[self.c_inven.sel])
elseif self.focus_ui and self.focus_ui.ui and self.focus_ui.ui.doll_select and self.focus_ui.ui.inven[self.focus_ui.ui.item] then
self:select{last_display_x=self.focus_ui.ui.last_display_x+self.focus_ui.ui.w, last_display_y=self.focus_ui.ui.last_display_y, object=self.focus_ui.ui.inven[self.focus_ui.ui.item]}
elseif self.focus_ui and self.focus_ui.ui and self.focus_ui.ui.doll_select and self.focus_ui.ui:getItem() and self.focus_ui.ui.last_display_x then
self:select{last_display_x=self.focus_ui.ui.last_display_x+self.focus_ui.ui.w, last_display_y=self.focus_ui.ui.last_display_y, object=self.focus_ui.ui:getItem()}
else
game.tooltip_x = nil
end
......@@ -186,23 +189,37 @@ function _M:generateEquipDollFrames()
if not doll then return end
local uis = {}
local max_w = 0
local max_h = 0
for k, v in pairs(doll.list) do
local inven = self.actor:getInven(k)
if inven then
for item, def in ipairs(v) do
local frame = EquipDollFrame.new{actor=self.actor, inven=inven, item=item, w=doll.w, h=doll.h, iw=doll.iw, ih=doll.ih, ix=doll.ix, iy=doll.iy, bg=doll.itemframe, bg_sel=doll.itemframe_sel, bg_empty=self.actor.inven_def[inven.name].infos and self.actor.inven_def[inven.name].infos.equipdoll_back, drag_enable=true}
local frame = EquipDollFrame.new{actor=self.actor, inven=inven, name_pos=def.text, item=item, w=doll.w, h=doll.h, iw=doll.iw, ih=doll.ih, ix=doll.ix, iy=doll.iy, bg=doll.itemframe, bg_sel=doll.itemframe_sel, bg_empty=self.actor.inven_def[inven.name].infos and self.actor.inven_def[inven.name].infos.equipdoll_back, drag_enable=true}
frame.doll_select = true
frame.actorWear = function(_, ...)
if inven[item] then self.actor:doTakeoff(inven, item, inven[item]) end
if frame:getItem() then self.actor:doTakeoff(inven, item, frame:getItem(), true) end
self.actor:doWear(...)
self:generateList()
end
frame.fct=function(button, event) if inven[item] then self:use({inven=inven, item=item, object=inven[item]}, button, event) end end
uis[#uis+1] = {left=def.x, top=def.y, ui=frame}
frame.fct=function(button, event) if frame:getItem() then self:use({inven=inven, item=item, object=frame:getItem()}, button, event) end end
frame.filter = self.filter
uis[#uis+1] = {left=def.x, top=def.y, ui=frame, _weight=def.weight}
max_w = math.max(def.x, max_w)
max_h = math.max(def.y, max_h)
end
end
end
table.sort(uis, function(a,b) return a._weight < b._weight end)
self.equipdolls_max_w = max_w + math.floor(doll.w * 2.5)
self.equipdolls_max_h = max_h + math.floor(doll.h * 2.5)
self.base_doll_y = (self.ih - self.equipdolls_max_h) / 2
for i, ui in ipairs(uis) do ui.top = ui.top + self.base_doll_y end
return uis
end
......@@ -210,7 +227,7 @@ function _M:innerDisplayBack(x, y, nb_keyframes)
local doll = self.actor.equipdolls[self.actor.equipdoll or "default"]
if not doll then return end
self.actor:toScreen(nil, x + doll.doll_x, y + doll.doll_y, 128, 128)
self.actor:toScreen(nil, x + doll.doll_x, y + self.base_doll_y + doll.doll_y, 128, 128)
end
function _M:generateList(no_update)
......@@ -277,7 +294,6 @@ end
function _M:onDragTakeoff()
local drag = game.mouse.dragged.payload
print(table.serialize(drag,nil,true))
if drag.kind == "inventory" and drag.inven and self.actor:getInven(drag.inven) and self.actor:getInven(drag.inven).worn then
self.actor:doTakeoff(drag.inven, drag.item_idx, drag.object)
self:generateList()
......@@ -292,4 +308,6 @@ function _M:drawFrame(x, y, r, g, b, a)
if not self.title_fill then return end
core.display.drawQuad(x + self.frame.title_x, y + self.frame.title_y, self.title_fill, self.frame.title_h, self.title_fill_color.r, self.title_fill_color.g, self.title_fill_color.b, 60)
Base.drawFrame(self, self.inner_scroll, x, y + self.base_doll_y)
end
......@@ -139,20 +139,26 @@ ActorInventory:defineInventory("QS_OFFHAND", "Second weapon set: In off hand", f
ActorInventory:defineInventory("QS_PSIONIC_FOCUS", "Second weapon set: psionic focus", false, "Weapon Set 2: Object held in your telekinetic grasp. It can be a weapon or some other item to provide a benefit to your psionic powers. Press 'x' to switch weapon sets.", true)
ActorInventory.equipdolls = {
default = { w=48, h=48, itemframe="ui/equipdoll/itemframe48.png", itemframe_sel="ui/equipdoll/itemframe-sel48.png", ix=3, iy=3, iw=42, ih=42, doll_x=116, doll_y=168+64, list={
MAINHAND = {{x=48, y=120}},
OFFHAND = {{x=48, y=192}},
PSIONIC_FOCUS = {{x=48, y=48}},
FINGER = {{x=48, y=408}, {x=120, y=408}},
NECK = {{x=192, y=48}},
LITE = {{x=192, y=408}},
BODY = {{x=48, y=264}},
CLOAK = {{x=264, y=120}},
HEAD = {{x=120, y=48}},
BELT = {{x=264, y=264}},
HANDS = {{x=264, y=192}},
FEET = {{x=264, y=336}},
TOOL = {{x=264, y=408}},
QUIVER = {{x=48, y=336}},
PSIONIC_FOCUS = {{weight=1, x=48, y=48}},
MAINHAND = {{weight=2, x=48, y=120}},
OFFHAND = {{weight=3, x=48, y=192}},
BODY = {{weight=4, x=48, y=264}},
QUIVER = {{weight=5, x=48, y=336}},
FINGER = {{weight=6, x=48, y=408}, {weight=7, x=120, y=408, text="bottom"}},
LITE = {{weight=8, x=192, y=408}},
TOOL = {{weight=9, x=264, y=408, text="bottom"}},
FEET = {{weight=10, x=264, y=336}},
BELT = {{weight=11, x=264, y=264}},
HANDS = {{weight=12, x=264, y=192}},
CLOAK = {{weight=13, x=264, y=120}},
NECK = {{weight=14, x=192, y=48, text="topright"}},
HEAD = {{weight=15, x=120, y=48, text="topleft"}},
}},
alchemist_golem = { w=48, h=48, itemframe="ui/equipdoll/itemframe48.png", itemframe_sel="ui/equipdoll/itemframe-sel48.png", ix=3, iy=3, iw=42, ih=42, doll_x=116, doll_y=168+64, list={
MAINHAND = {{weight=1, x=48, y=120}},
OFFHAND = {{weight=2, x=48, y=192}},
BODY = {{weight=3, x=48, y=264}},
GEM = {{weight=4, x=264, y=120}, {weight=5, x=264, y=192}},
}},
}
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment