summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dat/lua/trapwalk.lua
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-04 20:27:42 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-04 20:27:42 +0000
commit2028bc1e0de04991eed99445defc7cf09782572f (patch)
tree047d7a4b35e493e0d9f9a2e04bac932eb4c6e90e /crawl-ref/source/dat/lua/trapwalk.lua
parent848429d68c5c4fd77461a0e44aec8b28d302cc39 (diff)
downloadcrawl-ref-2028bc1e0de04991eed99445defc7cf09782572f.tar.gz
crawl-ref-2028bc1e0de04991eed99445defc7cf09782572f.zip
For consistency, move source/lua/ to source/dat/lua/.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4867 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/dat/lua/trapwalk.lua')
-rw-r--r--crawl-ref/source/dat/lua/trapwalk.lua45
1 files changed, 45 insertions, 0 deletions
diff --git a/crawl-ref/source/dat/lua/trapwalk.lua b/crawl-ref/source/dat/lua/trapwalk.lua
new file mode 100644
index 0000000000..c7e535d5c1
--- /dev/null
+++ b/crawl-ref/source/dat/lua/trapwalk.lua
@@ -0,0 +1,45 @@
+---------------------------------------------------------------------------
+-- trapwalk.lua:
+-- (Thanks to JPEG for this script.)
+--
+-- Allows travel to cross traps provided you have sufficient HP to survive the
+-- trap.
+--
+-- To use this, add this line to your init.txt:
+-- lua_file = lua/trapwalk.lua
+-- and add
+-- trapwalk_safe_hp = dart:15, needle:25, spear:50
+-- or similar to your init.txt.
+--
+-- What it does:
+--
+-- * Normally autotravel automatically avoids all traps
+-- * This script allows you to customize at which hp what type of trap is
+-- regarded as safe for autotravel
+--
+-- IMPORTANT: trapwalk options must be defined *after* sourcing trapwalk.lua.
+---------------------------------------------------------------------------
+
+-- Travel will cross certain traps if you have more than safe_hp hp.
+
+function ch_cross_trap(trap)
+
+ if not options.trapwalk_safe_hp then
+ return false
+ end
+
+ local opt = options.trapwalk_safe_hp
+
+ local hpstr
+ _, _, hpstr = string.find(opt, trap .. "%s*:%s*(%d+)")
+
+ if not hpstr then
+ return false
+ end
+
+ local safe_hp = tonumber(hpstr)
+ local hp = you.hp()
+
+ -- finally compare current hp with safe limit
+ return hp >= safe_hp
+end