summaryrefslogtreecommitdiff
path: root/lib/mods/theme/scpt/misc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mods/theme/scpt/misc.lua')
-rw-r--r--lib/mods/theme/scpt/misc.lua213
1 files changed, 0 insertions, 213 deletions
diff --git a/lib/mods/theme/scpt/misc.lua b/lib/mods/theme/scpt/misc.lua
deleted file mode 100644
index acb45f3c..00000000
--- a/lib/mods/theme/scpt/misc.lua
+++ /dev/null
@@ -1,213 +0,0 @@
--- New scrolls
-function sterilize_scroll(tval, sval)
- if tval == 70 and sval == 54 then
- msg_print("A neutralising wave radiates from you!")
- set_no_breeders(randint(100) + 100)
- return TRUE
- end
-end
-
-add_hook_script(HOOK_READ, "sterilize_scroll", "sterilize_scroll")
-
--- Neil's automagic statgain script
-
-player.last_rewarded_level = 1
-add_loadsave("player.last_rewarded_level", 1)
-
-add_hooks
- {
- [HOOK_PLAYER_LEVEL] = function()
- while player.last_rewarded_level * 5 <= player.lev do
- do_inc_stat(A_STR)
- do_inc_stat(A_INT)
- do_inc_stat(A_WIS)
- do_inc_stat(A_DEX)
- do_inc_stat(A_CON)
- do_inc_stat(A_CHR)
- player.last_rewarded_level = player.last_rewarded_level + 1
- end
- end,
- }
-
-add_hooks
-{
- [HOOK_BIRTH_OBJECTS] = function()
- if player.last_rewarded_level >= 1
- then player.last_rewarded_level = 1
- else
- end
- end
-}
-
--- silly function that allows a drunk to take a bottle of wine/ale from the player
-
-function drunk_takes_wine(m_idx, item)
-
- m_ptr = monster(m_idx)
- o_ptr = get_object(item)
-
- if (m_ptr.r_idx == test_monster_name("Singing, happy drunk"))
- and (o_ptr.tval == TV_FOOD) and ((o_ptr.sval == 38) or (o_ptr.sval == 39)) then
-
- cmsg_print(TERM_YELLOW, "'Hic!'")
-
- inven_item_increase(item, -1)
- inven_item_optimize(item)
-
--- HackSmurf: the drunk may drop an empty bottle
- bottle = create_object(TV_BOTTLE,1)
- drop_near(bottle, 50, player.py, player.px)
- return TRUE
- else
- return FALSE
- end
-end
-
-add_hook_script(HOOK_GIVE, "drunk_takes_wine", "drunk_takes_wine")
-
--- winged races are allowed soft armor only, no cloaks (from T-Plus)
-function __hook_wings_wear(obj)
- local str = get_race_name()
- local type = obj.tval
- if (str == "Dragon" or str == "Eagle") and (type == 35 or type == 37 or type == 38) then
- return TRUE, -1
- end
-end
-
-add_hook_script(HOOK_WIELD_SLOT, "__hook_wings_wear", "__hook_wings_wear")
-
--- A not-too-scummy way of generating junk for ammo
-function food_vessel(object)
- if ((object.tval == 80) and (object.sval == 43)) or
- ((object.tval == 80) and (object.sval == 44)) then
- local obj = create_object(TV_JUNK, 3)
- obj.ident = bor(obj.ident, IDENT_MENTAL, IDENT_KNOWN)
- inven_carry(obj, FALSE)
- end_object(obj)
- return FALSE
- end
-end
-
-add_hook_script(HOOK_EAT, "food_vessel", "food_vessel")
-
--- Longbottom Leaf *is* a great stress reliever:
-function longbottom_leaf(object)
- if (object.tval == 80) and (object.sval == 45) then
- msg_print("What a stress reliever!")
- heal_insanity(1000)
- return FALSE
- end
-end
-add_hook_script(HOOK_EAT, "longbottom_leaf", "longbottom_leaf")
-
--- Hobbits like food
-function hobbit_food(m_idx, item)
-
- m_ptr = monster(m_idx)
- o_ptr = get_object(item)
-
- if (m_ptr.r_idx == test_monster_name("Scruffy-looking hobbit"))
- and (o_ptr.tval == TV_FOOD) then
- cmsg_print(TERM_YELLOW, "'Yum!'")
- inven_item_increase(item, -1)
- inven_item_optimize(item)
- return TRUE
- else
- return FALSE
- end
-end
-
-add_hook_script(HOOK_GIVE, "hobbit_food", "hobbit_food")
-
--- Smeagol likes rings
-function smeagol_ring(m_idx, item)
-
- m_ptr = monster(m_idx)
- o_ptr = get_object(item)
-
- if (m_ptr.r_idx == test_monster_name("Smeagol"))
- and (o_ptr.tval == TV_RING) then
-
- cmsg_print(TERM_YELLOW, "'MY... PRECIOUSSSSS!!!'")
-
- inven_item_increase(item, -1)
- inven_item_optimize(item)
- return TRUE
- else
- return FALSE
- end
-end
-
-add_hook_script(HOOK_GIVE, "smeagol_ring", "smeagol_ring")
-
--- functions to check for Map and Key of Thror before proceeding in Erebor
--- Thank you, Massimiliano Marangio :-)
-add_hooks
-{
- [HOOK_STAIR] = function(direction)
- if ((current_dungeon_idx == 20) and (dun_level == 60) and (direction == "down")) then
- local i
- local mapkey = 0
- for i = 0, INVEN_TOTAL - 1 do
- if ((player.inventory(i).name1 == 209) or (player.inventory(i).name1 == 210)) then
- mapkey = mapkey + 1
- end
- end
-
- if (mapkey == 2) then
- msg_print("The moon-letters on the map show you the keyhole! You use the key to enter.")
- return FALSE
- else
- msg_print("You have found a door, but you cannot find a way to enter. Ask in Dale, perhaps?")
- return TRUE
- end
- end
- return FALSE
- end,
-}
-
--- function to make the Dale mayor tell you about how to get to Erebor 61
-add_building_action
-{
- ["index"] = 66,
- ["action"] = function()
- msg_print("You will need Thorin's Key and Thrain's Map to get anywhere in Erebor. One may be found in the Barrow-Downs. The other, in Mirkwood.")
- end
-}
-
--- function to make Melkor like it if a player quaffs potions of corruption
-function melkor_potion_corruption(object)
- if (player.pgod == GOD_MELKOR) then
- if (object.tval == TV_POTION) and (object.sval == SV_POTION_MUTATION) then
- msg_print("Your quaffing of this potion pleases Melkor!")
- set_grace(player.grace + 2)
- return FALSE
- end
- end
-end
-add_hook_script(HOOK_QUAFF, "melkor_potion_corruption", "melkor_potion_corruption")
-
--- function to check for Key of Orthanc before proceeding to the final level in Isengard
-add_hooks
-{
- [HOOK_STAIR] = function(direction)
- if ((current_dungeon_idx == 36) and (dun_level == 39) and (direction == "down")) then
- local i
- local orthkey = 0
- for i = 0, INVEN_TOTAL - 1 do
- if (player.inventory(i).name1 == 15) then
- orthkey = orthkey + 1
- end
- end
-
- if (orthkey == 1) then
- msg_print("#BYou have the key to the tower of Orthanc! You may proceed.#w")
- return FALSE
- else
- msg_print("#yYou may not enter Orthanc without the key to the gates!#w Rumours say the key was lost in the Mines of Moria...")
- return TRUE
- end
- end
- return FALSE
- end,
-} \ No newline at end of file