# Lugonu's bribes, an altar by tgw. # # The altar will feature an item which your current god forbids to use # but which would be useful otherwise (if possible), or an item that is # just useless/forbidden/redundant under your current god. {{ function callback.tgw_lugonu_bribe_lugonu_item (data, triggerable, triggerer, marker, ev) if data.triggered == true then return end local m = dgn.find_marker_positions_by_prop("slave_name", "altar")[1] if m ~= nil then local x, y = m:xy() if not you.see_cell(x, y) then return end local weapon = util.random_from({"short sword", "cutlass", "long sword", "scimitar", "glaive", "bardiche", "broad axe", "battleaxe", "quarterstaff", "lajatang", "morningstar", "great mace"}) local item = {["No God"]="amulet of faith ident:type", Ashenzari="amulet of clarity ident:type /\ ring of see invisible ident:type", Beogh="scroll of fear ident:type q:3-6 /\ disc of storms", Cheibriados="wand of hasting ident:type w:5 /\ potion of haste ident:type q:2-4 /\ good_item quick blade", Dithmenos="wand of fire ident:type /\ lamp of fire w:5 / rod of ignition w:5 /\ good_item " .. weapon .. " ego:flaming ident:type", Elyvilon="lantern of shadows / book of Necromancy w:5 /\ book of Death w:5 / book of Unlife w:5", Fedhas="randbook owner:Lugonu spells:necromutation numspells:1 /\ randbook owner:Lugonu spells:simulacrum|twisted_resurrection \ numspells:2 /\ randbook owner:Lugonu spells:animate_dead|sublimation_of_blood \ numspells:2", Gozag="amulet of the gourmand ident:type /\ randbook owner:Lugonu spells:corpse_rot|animate_dead numspells:2", Jiyva="stone q:10-20 / large rock q:2-4", Kikubaaqudgha="randbook owner:Lugonu spells:control_undead|dispel_undead \ numspells:2 /\ rat corpse w:5 / kobold corpse w:5 / ugly thing corpse", Lugonu="no", Makhleb="no", ["Nemelex Xobeh"]="scroll of random uselessness ident:type q:5-10", Okawaru="no", Qazlal="no", ["Sif Muna"]="no", ["the Shining One"]="wand of invisibility ident:type /\ book of Envenomations / Young Poisoner's Handbook /\ potion of invisibility ident:type q:3-6", Trog="manual of Spellcasting / manual of Air Magic w:5 /\ manual of Earth Magic w:5 / manual of Fire Magic w:5 /\ manual of Ice Magic w:5 / manual of Poison Magic w:5 /\ any magical staff ident:type /\ ring of wizardry ident:type", Vehumet="randbook owner:Lugonu spells:magic_dart numspells:1", Xom="manual of Invocations", Yredelemnul= "scroll of holy word ident:type q:2-4 /\ good_item " .. weapon .. " ego:holy_wrath ident:type", Zin="good_item " .. weapon .. " ego:draining ident:type /\ good_item " .. weapon .. " ego:pain ident:type /\ good_item " .. weapon .. " ego:chaos ident:type /\ wand of draining ident:type /\ wand of polymorph ident:type", } data.triggered = true if item[you.god()] == "no" then return else dgn.place_cloud(x, y, "purple smoke", 1) dgn.create_item(x, y, item[you.god()]) crawl.god_speaks("Lugonu", "An item emerges from the Abyss! Perhaps it is an incitement to worship... or even an insult?") end end end }} NAME: tgw_lugonu_bribe DEPTH: D:12-, Depths KFEAT: _ = altar_lugonu MARKER: _ = lua:portal_desc {slave_name="altar"} {{ local tm = TriggerableFunction:new{ func="callback.tgw_lugonu_bribe_lugonu_item", repeated=true, data={turns=you.turns(), tc=0, triggered=false} } tm:add_triggerer(DgnTriggerer:new{type="player_los"}) lua_marker('_', tm) }} MAP _ ENDMAP