From 8dcb75fb5bf39b366aec8497201b38cd9fc59dbd Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Thu, 2 Jun 2011 14:57:33 +0000 Subject: [PATCH] Bosses whose artifact has alredy been generated will not be deprived of artifacts anymore git-svn-id: http://svn.net-core.org/repos/t-engine4@3552 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engines/default/engine/Zone.lua | 2 +- game/modules/tome/resolvers.lua | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/game/engines/default/engine/Zone.lua b/game/engines/default/engine/Zone.lua index f6bc779049..02b0a5c64e 100644 --- a/game/engines/default/engine/Zone.lua +++ b/game/engines/default/engine/Zone.lua @@ -328,7 +328,7 @@ function _M:makeEntityByName(level, type, name, force_unique) local forced = false if e.unique and game.uniques[e.__CLASSNAME.."/"..e.unique] then if not force_unique then - print("Refused unique by name", e.name, e.__CLASSNAME.."/"..e.unique) + forceprint("Refused unique by name", e.name, e.__CLASSNAME.."/"..e.unique) return nil else forced = true diff --git a/game/modules/tome/resolvers.lua b/game/modules/tome/resolvers.lua index 5d7d539f70..8ca2e884ad 100644 --- a/game/modules/tome/resolvers.lua +++ b/game/modules/tome/resolvers.lua @@ -125,7 +125,13 @@ function resolvers.calc.drops(t, e) if not filter.defined then o = game.zone:makeEntity(game.level, "object", filter, nil, true) else - o = game.zone:makeEntityByName(game.level, "object", filter.defined) + local forced + o, forced = game.zone:makeEntityByName(game.level, "object", filter.defined, filter.random_art_replace and true or false) + -- If we forced the generation this means it was already found + if forced then + print("Serving unique "..o.name.." but forcing replacement drop") + filter.random_art_replace.chance = 100 + end end if o then print("Zone made us a drop according to filter!", o:getName()) -- GitLab