Version 1.4.1 of this thing is up:
- GrimQ: NEW: moveItem and moveItemFromFloor to automagically move an item around
- GrimQ: NEW: partyGainExp(amount) function
- GrimQ: NEW: shuffleCoords(..) to generate "almost-random" numbers from a set of coordinates
- GrimQ: NEW: randomReplacer to replace all instances of an object with another chosen at random
- GrimQ: NEW: decorateWalls and decorateOver to automatically insert decorations in dungeons
- GrimQ: NEW: auto_onStep and auto_onStepOnce autos in scripting entities
- GrimQ: automatic patch for allEntities bug in game engine (defaults at true) - thanks MarbleMouth!
- GrimQ: loadItem support restoring ids of items in containers
- GrimQ: fromAllEntitiesInWorld supports a where predicate in the function itself for optimizations
- GrimQ: autoprinters support overriding the function to use as hudPrint
- GrimQ: version check *SHOULD* work now. Or not, who knows ?
- GrimQ: fromAliveChampions() fixed
- GrimQ: fromEntitiesForward(),fromEntitiesInArea() and fromEntitiesAround() TONS of bugs fixed
- GrimQ: moveFromFloorToContainer and moveItemsFromTileToAlcove now preserve ids
- GrimQ: optimizations in find and getEx
Apart from the bug fixes of a lot of functions, the biggest new entries are:
Patching for allEntities bug
Just use grimq.fromAllEntities(level).
Thanks marblemouth!

(even if the grimq code doesn't use your iterator in the latest ver)
Thanks Komag
moveItem and moveItemFromFloor
These are like spawn, except that they copy and move an existing item preserving the id
id preservation
For a lot of things like loadItem etc. there is the possibility of restoring the id
auto_onStep and auto_onStepOnce
Just put a function named auto_onStep in a scripting entity and everytime the party steps on it, it gets executed. auto_onStepOnce does the same except only the first time. Yes, I'm that lazy.
decorateWalls and decorateOver
Because I'm that lazy, you can write a script like:
Code: Select all
function autoexec()
local t = {
"",
"",
"dungeon_ceiling_root_1",
"dungeon_ivy_1",
"dungeon_ivy_2",
{"dungeon_ivy_1", "dungeon_ivy_2"},
{"dungeon_ivy_1", "dungeon_ceiling_root_1"},
{"dungeon_ivy_1", "dungeon_wall_dirt_1"},
{"dungeon_ivy_2", "dungeon_ceiling_root_1"},
{"dungeon_ivy_2", "dungeon_wall_dirt_2"},
"dungeon_wall_dirt_1",
"dungeon_wall_dirt_2",
}
grimq.decorateWalls(self.level, t, false)
end
in a level to automatically put those boring decorations.
Download at
http://code.google.com/p/lualinq/downlo ... _1.4.1.zip