Code: Select all
        if self._mo then
                self._mo:invalidate()
                game.level.map:updateMap(self.x, self.y)
        end
Moderator: Moderator
Code: Select all
        if self._mo then
                self._mo:invalidate()
                game.level.map:updateMap(self.x, self.y)
        end
<DarkGod> lets say it's intended
Code: Select all
self.body = target.body
self.inven = target.inven
self.inven_def = target.inven_defCode: Select all
Lua Error: /engine/dialogs/ShowEquipInven.lua:181: bad argument #1 to 'ipairs' (table expected, got nil)
	At [C]:-1 
	At [C]:-1 ipairs
	At /engine/dialogs/ShowEquipInven.lua:181 generateList
	At /engine/dialogs/ShowEquipInven.lua:35 init
	At /engine/class.lua:64 new
	At /engine/interface/ActorInventory.lua:220 showEquipInven
	At /mod/class/Game.lua:739 ?
	At /engine/KeyBind.lua:202 Ignoring any nuances of if the body table are compatible between the two actors, you can achieve a swap with the following code:Graziel wrote: I need to move all equipment from 1 entity to other, i got already to :Code: Select all
self.body = target.body self.inven = target.inven self.inven_def = target.inven_def
Code: Select all
self.body, target.body = target.body, self.body
self.inven, target.inven = target.inven, self.inven
self.inven_def, target.inven_def = target.inven_def, self.inven_def<DarkGod> lets say it's intended

Code: Select all
self.body = target.body
		local to, from = self.inven, target.inven --self:getInven("INVEN"), target:getInven("INVEN")
		for inven_id =  1, #target.inven_def do			
			for item, o in ipairs(target.inven[inven_id]) do
				local o = target:removeObject(from, item)
				self:addObject(to, o)
			end
		endCode: Select all
/engine/interface/ActorInventory.lua:155: in function 'removeObject'Code: Select all
/engine/interface/ActorInventory.lua:90: in function 'addObject'Code: Select all
for inven_id, inven in pairs(src.inven) do
	for i = #inven, 1, -1 do
		local o = src:removeObject(inven, i, true)
		dest:addObject(inven_id, o)
	end
end

Code: Select all
/engine/interface/ActorInventory.lua:90: in function 'addObject'Code: Select all
self.body = target.bodyCode: Select all
dest.inven = {}
for inven_id, inven in pairs(src.inven) do
	local tmp = {}
	for i = #inven, 1, -1 do
		local o = src:removeObject(inven, i, true)
		tmp[#tmp+1] = o
	end
	dest.inven[inven_id] = table.copy(inven, true)
	for i = 1, #tmp do dest:addObject(inven_id, tmp[i]) end
	desc:sortInven(inven_id)
end
Code: Select all
self.inven = {}
		for inven_id, inven in pairs(target.inven) do
			local tmp = {}
			for i = #inven, 1, -1 do
			  local o = target:removeObject(inven, i, true)
			  tmp[#tmp+1] = o
			end
			self.inven[inven_id] = table:copy(inven, true)
			for i = 1, #tmp do 
				self:addObject(inven_id, tmp[i]) 
			end
			self:sortInven(inven_id)
		endCode: Select all
self.inven[inven_id] = table:copy(inven, true)Code: Select all
attempt to call field 'copy' (a nil value)

Code: Select all
newEntity{ base = "BASE_RING",
	name = "Titan powered ring",
	power_source = {arcane=true},
	unique = true,
	color = colors.UMBER,
	image="object/artifact/ring_vargh_redemption.png",
	unided_name = "strange ring",
	desc = [[uneasy feeling emanates from this ring.]],
	level_range = {0, 90},
	greater_ego = 1,
	rarity = 220,
	cost = 999990,Code: Select all
resolvers.inventory{ id=true, {type="jewelry", subtype="ring", ingore_material_restriction=true, name="Titan powered ring", ego_chance=1000}, },