diff options
author | dploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-05-28 23:05:09 +0000 |
---|---|---|
committer | dploog <dploog@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-05-28 23:05:09 +0000 |
commit | 395829b30fde460c96a7429fb87428dd576ab5b8 (patch) | |
tree | 941a94eb1c0803f8feb74d3a189d434ed373e5ee /crawl-ref/settings | |
parent | 28364e961a56dcc73cf7d15562d253d392745642 (diff) | |
download | crawl-ref-395829b30fde460c96a7429fb87428dd576ab5b8.tar.gz crawl-ref-395829b30fde460c96a7429fb87428dd576ab5b8.zip |
Added several include files to the init.txt. These add colours to items in
the inventory (or other menus) and to messages. Most controversial will be
food_colouring which colour codes chunks andcorpses based on their quality.
Note that these files are included by default.
Thanks go to a great many ##crawl activists, among them b0rsuk, doy, ekiM,
stabwound.
To do: Examining corpses and chunks should show their edible state as well.
Several of the colours should be globally defined; see FR 1977121 for this.
Also copy the highlighting of marked items.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5319 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/settings')
-rw-r--r-- | crawl-ref/settings/autopickup_exceptions.txt | 46 | ||||
-rw-r--r-- | crawl-ref/settings/food_colouring.txt | 130 | ||||
-rw-r--r-- | crawl-ref/settings/init.txt | 104 | ||||
-rw-r--r-- | crawl-ref/settings/menu_colours.txt | 145 | ||||
-rw-r--r-- | crawl-ref/settings/messages.txt | 38 | ||||
-rw-r--r-- | crawl-ref/settings/pickup_butcher_tool.txt | 48 | ||||
-rw-r--r-- | crawl-ref/settings/travel_stoppers.txt | 7 |
7 files changed, 468 insertions, 50 deletions
diff --git a/crawl-ref/settings/autopickup_exceptions.txt b/crawl-ref/settings/autopickup_exceptions.txt new file mode 100644 index 0000000000..81902bac59 --- /dev/null +++ b/crawl-ref/settings/autopickup_exceptions.txt @@ -0,0 +1,46 @@ +ae := autopickup_exceptions + +#### inclusions ### + +# curare is always dangerous on the floor +ae = <curare-tipped + + +### exclusions ### + +# Don't autopickup in the Abyss +< do +local old_ch_autopickup = ch_autopickup or function() return true end +function ch_autopickup(it) + return you.where() ~= "Abyss" and old_ch_autopickup(it) +end +end > + +# universally bad options and scrolls +ae = potions? of (confusion | degeneration | poison | strong poison) +ae = potions? of (slowing | paralysis | decay | water) +ae = scrolls? of (paper | torment | immolation | curse weapon) +ae = scrolls? of (curse armour | random uselessness | noise) + +# Excluding amulets as you only need one of each. Also for some rings. +# There is some (intended) overlap with pickup.lua, which also exludes +# the ring of hunger, for example. +ae = amulet of (inaccuracy | gourmand | controlled flight | warding) +ae = amulet of (resist mutation | resist slow | clarity | rage) +ae = ring of (see invisible | levitation | poison resistance | hunger) +ae = ring of (fire | ice | sustenance | invisibility) +ae = ring of (magical power | regeneration) + +: if you.race() == "Mummy" or you.race() == "Ghoul" then +ae = ring of life protection +: end + +: if you.race() == "Kenku" then +ae = potions? of levitation +: end + +: if you.god() == "Trog" then +ae = wizardry +ae = staff +: end + diff --git a/crawl-ref/settings/food_colouring.txt b/crawl-ref/settings/food_colouring.txt new file mode 100644 index 0000000000..edf8ec99a9 --- /dev/null +++ b/crawl-ref/settings/food_colouring.txt @@ -0,0 +1,130 @@ +### Colouring of corpses, depending on whether you can eat them, and +### whether it's safe to eat them. Contains spoilers! +### Colours both on the ground and in inventory! + +msg := message_colour +inv := menu_colour + +# Spriggans don't care for corpses and chunks. +# +: if you.race() == "Spriggan" then +msg = darkgrey:.*corpse +msg = darkgrey:.*chunk +inv = darkgrey:.*chunks? of +inv = darkgrey:.*corpse +inv = yellow:.*food.*(bread ration|snozzcumber|slice of pizza) +inv = yellow:.*food.*(orange|banana|lemon|pear|apple|apricot|choko) +inv = yellow:.*food.*(rambutan|lychee|strawberry|grape|sultana) +: end + +# Mummies don't care for food at all. +# +: if you.race() == "Mummy" then +msg = darkgrey:.*corpse +msg = darkgrey:.*chunk +inv = darkgrey:.*food.* +: end + +# Rotten chunks eaters: Ghouls, Ogres, Kobolds, Trolls, Hill Orcs +# +: if you.race() == "Ghoul" then +msg = yellow:rot.*chunks? of +msg = yellow:rot.*corpse +inv = yellow:.*rot.*chunks? of +< elseif you.race() == "Ogre" or + you.race() == "Kobold" or + you.race() == "Troll" or + you.race() == "Hill Orc" then > +# color rotten chunks as normal chunks +: else +msg = lightred:rot.*chunks? of +msg = lightred:rot.*corpse +inv = lightred:.*rot.*chunks? of +inv = lightred:.*rot.*corpse +autopickup_exceptions = >rot.*chunks? of +: end + +# Kobolds don't want fruits but meat. +# +: if you.race() == "Kobold" then +inv = darkgrey:.*food.*(bread ration|snozzcumber|slice of pizza) +inv = darkgrey:.*food.*(orange|banana|lemon|pear|apple|apricot) +inv = darkgrey:.*food.*(rambutan|lychee|strawberry|grape|sultana) +inv = yellow:.*chunks? of +: end + +# Undead corpses/chunks +# +msg = lightred:chunks? of.*(ghoul|necrophage|death drake) +msg = lightred:(ghoul | necrophage|death drake).*corpse +inv = lightred:.*chunks? of.*(ghoul|necrophage|death drake) + +# Mutagenic corpses/chunks +# +msg = magenta:chunks? of.*(draining|orange brain|great orb) +msg = magenta:chunks? of.*(guardian naga|shapeshifter|very ugly) +msg = magenta:(draining|orange brain|great orb).*corpse +msg = magenta:(guardian naga|shapeshifter|very ugly).*corpse +inv = magenta:.*chunks? of.*(draining|orange brain|great orb) +inv = magenta:.*chunks? of.*(guardian naga|shapeshifter|very ugly) + +# Poisonous corpses/chunks +# +msg = lightgreen:chunks? of.*(ant larva|kobold|beetle) +msg = lightgreen:chunks? of.*(brain worm|green draconian) +msg = lightgreen:chunks? of.*((black|brown|yellow) snake) +msg = lightgreen:chunks? of.*(bee|death yak|slug|amoeba) +msg = lightgreen:chunks? of.*(centipede|mite|snail|gila|hydra) +msg = lightgreen:chunks? of.*(iron troll|naga|queen|wasp) +msg = lightgreen:chunks? of.*(redback|(golden|mottled) dragon) +msg = lightgreen:chunks? of.*((orange|green) rat) +msg = lightgreen:chunks? of.*(scorpion|soldier ant|spiny|spider) +msg = lightgreen:(ant larva|kobold|beetle).*corpse +msg = lightgreen:(brain worm|green draconian).*corpse +msg = lightgreen:((black|brown|yellow) snake).*corpse +msg = lightgreen:(bee|death yak|slug|amoeba).*corpse +msg = lightgreen:(centipede|mite|snail|gila|hydra).*corpse +msg = lightgreen:(iron troll|naga|queen|wasp).*corpse +msg = lightgreen:(redback|(golden|mottled) dragon).*corpse +msg = lightgreen:((orange|green) rat).*corpse +msg = lightgreen:(scorpion|soldier ant|spiny|spider).*corpse +inv = lightgreen:.*chunks? of.*(ant larva|kobold|beetle) +inv = lightgreen:.*chunks? of.*(brain worm|green draconian) +inv = lightgreen:.*chunks? of.*((black|brown|yellow) snake) +inv = lightgreen:.*chunks? of.*(bee|death yak|slug|amoeba) +inv = lightgreen:.*chunks? of.*(centipede|mite|snail|gila|hydra) +inv = lightgreen:.*chunks? of.*(iron troll|naga|queen|wasp) +inv = lightgreen:.*chunks? of.*(redback|(golden|mottled) dragon) +inv = lightgreen:.*chunks? of.*((orange|green) rat) +inv = lightgreen:.*chunks? of.*(scorpion|soldier ant|spiny|spider) + +# Contaminated corpses/chunks +# +msg = brown:chunks? of.*(elf|human|drake|blowfly|cockroach) +msg = brown:chunks? of.*((fire|hill|frost|stone) giant) +msg = brown:chunks? of.*(mosquito|gnoll|goblin|jackal) +msg = brown:chunks? of.*(manticore|minotaur|ogre|orc) +msg = brown:chunks? of.*(war dog|warg|((rock|deep) )?troll) +msg = brown:chunks? of.*(grey rat|ugly thing|draconian) +msg = brown:chunks? of.*((quicksilver|iron|swamp|komodo) dragon) +msg = brown:chunks? of.*(mer(folk|maid)) +msg = brown:(elf|human|drake|blowfly|cockroach).*corpse +msg = brown:((fire|hill|frost|stone) giant).*corpse +msg = brown:(mosquito|gnoll|goblin|jackal).*corpse +msg = brown:(manticore|minotaur|ogre|orc).*corpse +msg = brown:(war dog|warg|((rock|deep) )?troll).*corpse +msg = brown:(grey rat|ugly thing|draconian).*corpse +msg = brown:((quicksilver|iron|swamp|komodo) dragon).*corpse +msg = brown:(mer(folk|maid)).*corpse +inv = brown:.*chunks? of.*(elf|human|drake|blowfly|cockroach) +inv = brown:.*chunks? of.*((fire|hill|frost|stone) giant) +inv = brown:.*chunks? of.*(mosquito|gnoll|goblin|jackal) +inv = brown:.*chunks? of.*(manticore|minotaur|ogre|orc) +inv = brown:.*chunks? of.*(war dog|warg|((rock|deep) )?troll) +inv = brown:.*chunks? of.*(grey rat|ugly thing|draconian) +inv = brown:.*chunks? of.*((quicksilver|iron|swamp|komodo) dragon) +inv = brown:.*chunks? of.*(mer(folk|maid)) + +# Other food +# +inv = lightgrey:^food
\ No newline at end of file diff --git a/crawl-ref/settings/init.txt b/crawl-ref/settings/init.txt index 5225d8c635..46ec4e4406 100644 --- a/crawl-ref/settings/init.txt +++ b/crawl-ref/settings/init.txt @@ -89,10 +89,15 @@ lua_file = lua/pickup.lua # ##### 4-a Picking up and Dropping ############### # -# autopickup = $?!+"/% -# autopickup_exceptions = scrolls? of random uselessness -# autopickup_exceptions = <deck of cards -# +autopickup = $?!+"/%) + +# lua routines for automatically picking up one butchering tool +# This require ) in autopickup and no further weapons are picked up. +include pickup_butcher_tool.txt + +# There is a long list of autopickup exceptions in +include autopickup_exceptions.txt + # default_autopickup = false # autopickup_no_burden = true # pickup_thrown = false @@ -164,8 +169,6 @@ trap_item_brand = reverse # tc_excluded = lightmagenta # tc_exclude_circle = red -# trap_prompt = false - # The following options are not default. # runrest_ignore_message = pray: @@ -174,17 +177,16 @@ runrest_ignore_message = disappears in a puff of smoke runrest_ignore_message = engulfed in a cloud of smoke runrest_ignore_message = safely over a trap runrest_ignore_message = You feel.*sick -runrest_ignore_poison = 2:30 +runrest_ignore_poison = 2:30 runrest_ignore_monster = fish:2 -runrest_ignore_monster = butterfly:1 +runrest_ignore_monster = butterfly:0 # runrest_ignore_monster = swamp worm:3 +# trap_prompt = false trapwalk_safe_hp = dart:20,needle:15,arrow:35,bolt:45,spear:40,axe:45,blade:95 -# You can use travel_stop_message to make autotravel stop for situations that -# warrant your attention. This file (travel_stoppers.txt) contains a list of -# travel_stop_message settings, with brief descriptions of what they do. - +# The file (travel_stoppers.txt) contains a list of travel_stop_message +# settings, with brief descriptions of what they do. include = travel_stoppers.txt ##### 4-h Stashes ############################### @@ -225,38 +227,39 @@ include = travel_stoppers.txt # mlist_allow_alternate_layout = true # classic_hud = true -# Colouring for the inventory -menu_colour = inventory:lightred: cursed.*(worn|neck|hand|weapon)\) -menu_colour = inventory:green:(worn|neck|hand|weapon)\) -menu_colour = inventory:red: cursed -menu_colour = inventory:red: rotting +##### Colours (messages and menus) ##### +# +# menu_colour_prefix_id = true +menu_colour_prefix_class = true + +# Food is colour coded as follows: +# +# yellow = preferred food +# lightgrey = normal food +# darkgey = cannot be eaten at all +# lightred = extremely dangerous +# magenta = mutagenic +# lightgreen = poisonous +# brown = contaminated (may cause sickening) +# +include food_colouring.txt + +# There is elaborate colouring of items in the inventory (and other menus) +# depending on their usefulness, taking race and other criteria into account. +include menu_colours.txt # Colouring of autoinscribed god gifts menu_colour = pickup:green:god gift -# Identified artefacts -menu_colour = inventory:white:( [-+] the) - -# This block colours ego items; it requires annotate_item_class = true -# menu_colour_prefix_id = true -# menu_colour_prefix_class = true -# menu_colour_prefix_id = true -# menu_colour_prefix_class = true -# menu_colour = inventory:green:(^identified armour .* pair of .* of ) -# menu_colour = inventory:lightgrey:(^identified armour .* pair of ) -# menu_colour = inventory:green:(^identified (weapon|armour) .* of ) +# Colouring of messages +include messages.txt # Colouring for the notes menu_colour = notes:white:Reached XP level -# Message colours -message_colour = lightcyan:LOW MAGIC WARNING -# for weapons of returning not returning to your pack -message_colour = yellow:fails to return - # These lines will suppress extra feedback messages from # travel/shift-running. - +# # message_colour = mute:warning:comes into view # message_colour = mute:You start (searching|resting) # message_colour = mute:Done searching @@ -320,26 +323,27 @@ tile_show_items = !?/%=([)X}+\_. # dump_kill_places = (single | all | none) # dump_item_origins = all,artifacts,ego_arm,ego_weap,jewellery,runes # dump_item_origin_price = -1 -# dump_message_count = 7 -# dump_order = header,hiscore,stats,misc,notes,inventory, -# dump_order += turns_by_place,skills,spells,overview,mutations, -# dump_order += messages,screenshot,monlist,kills_by_place,kills +# dump_message_count = 20 +# dump_order = header, hiscore, stats, misc, notes, inventory, +# dump_order += turns_by_place, skills,s pells, overview, mutations, +# dump_order += messages, screenshot, monlist, kills_by_place, kills ##### 5-b Notes ################################# # # user_note_prefix=@@@ -# note_items = rod,book -# note_monsters = orb of fire -# ood_interesting = 8 -# note_hp_percent = 5 -# note_skill_levels = 1,5,10,15,27 -# note_all_skill_levels = true -# note_skill_max = true -# note_all_spells = true -# note_all_spells = true - -# The following takes a note whenever the Abyss is left: -# note_messages = You pass through the gate +ood_interesting = 8 +note_hp_percent = 5 +note_skill_levels = 1,5,10,15,27 +note_all_skill_levels = true +note_skill_max = true +note_all_spells = true +note_all_spells = true +note_items = rod of, acquirement, preservation, running, of Zot +note_messages = You pass through the gate +note_messages = [bB]anish.*Abyss +note_messages = Your scales start +note_messages = protects you from harm +note_monsters = orb of fire, ancient lich, Sigmund ##### 6- Miscellaneous ############################################# # diff --git a/crawl-ref/settings/menu_colours.txt b/crawl-ref/settings/menu_colours.txt new file mode 100644 index 0000000000..7164e12d7d --- /dev/null +++ b/crawl-ref/settings/menu_colours.txt @@ -0,0 +1,145 @@ +# Changing colours of items in the inventory and other menus + +menu := menu_colour +ae := autopickup_exceptions + +# Important game items +# +menu = lightmagenta:.*misc.*rune( of Zot)? +menu = lightmagenta:.*orb.*Zot + +# Identified artefacts +# +menu = magenta:.*(weapon|armour|jewellery|staff).*[+-] the + +# Unidentified weapon artefacts +# +menu = magenta:.*weapon.* ((brightly|faintly) glowing|smoking|twisted) +menu = magenta:.*weapon.* (bloodstained|shimmering|warped|crystal) +menu = magenta:.*weapon.* (jewelled|transparent|encrusted|pitted|slimy) +menu = magenta:.*weapon.* (polished|fine|crude|ancient|ichor-stained) +menu = magenta:.*weapon.* (steaming|shiny|polka-dotted) +menu = magenta:.*weapon.* (golden|purple|bone|serpentine|ruby|chunky) +menu = magenta:.*weapon.* (thin|green|ivory|ephemeral|blackened) +menu = magenta:.*weapon.* (sapphire|rusty|blue|brutal|adamantine|ebony) +menu = magenta:.*weapon.* (mangy|mithril|black|very long|steel|tiny) +menu = magenta:.*weapon.* flaming crossbow + +# Unidentified armour artefacts +# +menu = lightgrey:.*armour.* jewelled helm(et)? +menu = magenta:.*armour.* ((brightly|faintly) glowing|smoking|twisted) +menu = magenta:.*armour.* (bloodstained|shimmering|warped|heavily runed) +menu = magenta:.*armour.* (jewelled|transparent|encrusted|pitted|slimy) +menu = magenta:.*armour.* (polished|fine|crude|ancient|ichor-stained) +menu = magenta:.*armour.* (steaming|distressingly furry|plaid|tie-dyed) +menu = magenta:.*armour.* (dull|golden|silk|tattered|round|bronze) +menu = magenta:.*armour.* (fabulously|vibrating|soft|smelly|red|thick) +menu = magenta:.*armour.* (weird-looking|blue|black|dirty|paisley) +menu = magenta:.*armour.* (chartreuse) + +# Unidentified jewellery artefacts +# +menu = magenta:.*jewellery.* ((brightly|faintly) glowing|smoking) +menu = magenta:.*jewellery.* (shimmering|warped|crystal|diamond) +menu = magenta:.*jewellery.* (transparent|pitted|slimy|polished|fine) +menu = magenta:.*jewellery.* (crude|ancient|steaming|scintillating) +menu = magenta:.*jewellery.* (sparkling|flickering|glittering) +menu = magenta:.*jewellery.* (black |blood-stained|cast-iron) +menu = magenta:.*jewellery.* (phosphorescent) +menu = magenta:.*jewellery.* an (encrusted|emerald) (ring|amulet) +menu = magenta:.*jewellery.* a (runed|twisted|shiny|ruby) (ring|amulet) +menu = magenta:.*jewellery.* a (sapphire) ring +menu = magenta:.*jewellery.* a (jade) amulet + +# Possible ego items +# +menu = lightblue:.*weapon.*(runed|glowing) +menu = lightblue:.*armour.*(runed|glowing|embroidered|shiny|dyed) + +# Mummies' potions +# +: if you.race() == "Mummy" then +menu_colour = darkgrey:.*potion.* +: end + +# Emergency items +# +menu = cyan:.*scroll.*(blinking|teleport|fear) +menu = cyan:.*wand.*(teleport|healing|hasting) +menu = cyan:.*potion.*(heal|berserk|speed|resistance) +menu = cyan:.*misc.*[lL]antern + +# Good items +# +menu = magenta:.*scroll.*(acquirement) +menu = magenta:.*potion.*(gain (strength|dexterity|intelligence)) +menu = magenta:.*potion.*(experience|magic) +: if not you_real_undead() then +menu = magenta:.*potion.*(of mutation) +: else +menu = lightred:.*potion.*(of mutation) +: end + +# Dangerous items +# +menu = lightred:.*scroll.*(forgetfulness|torment|curse armour) +menu = lightred:.*scroll.*(immolation|curse weapon) +menu = lightred:.*potion.*(slowing|degeneration|poison|confusion) +menu = lightred:.*potion.*(paralysis|decay) +menu = lightred:.*jewellery.*(inaccuracy|hunger) + +# Useless items +# +menu = darkgrey:.*scroll.*(random uselessness|paper|noise) +menu = darkgrey:.*potion.*water + +: if you.race() == "Mummy" then +menu = darkgrey:.*jewellery.*(sustenance) +: end + +: if you_real_undead() then +menu = darkgrey:.*jewellery.*(regeneration|rage) +: end + +: if string.find(you.race(), "Draconian", 0, true) then +menu = darkgrey:.*jewellery.*(controlled flight) +ae = >amulet.*(controlled flight) +: end + +: if you.race() == "Green Draconian" or you.race() == "Naga" then +menu = darkgrey:.*jewellery.*(poison resistance) +ae = >ring.*(poison resistance) +: end + +< if you.race() == "Naga" or + you.race() == "Spriggan" or + you.race() == "Vampire" then > +menu = darkgrey:.*jewellery.*(see invis) +ae = >ring.*(see invis) +:end + +: if you.race() == "Spriggan" then +menu = darkgrey:.*jewellery.*(sustenance) +ae = >ring.*(sustenance) +:end + +# need to save and restore after temple if you get trog later +: if you.god() == "Trog" then +menu = darkgrey:.*jewellery.*(rage|wizardry) +ae = >amulet.*(rage) +ae = >ring.*(wizardry) +: end + +# Exceptions +# +menu = yellow:.*potion.*(porridge|gluggy white) + +# Defaults for normal items +# +menu = lightgreen:uncursed.*\(.*(worn|neck|hand|weapon).*\) +menu = lightred:cursed.*\(.*(worn|neck|hand|weapon).*\) +menu = white:\(.*(worn|neck|hand|weapon).*\) +menu = green:uncursed +menu = red:cursed +menu = lightgrey:^(scroll|potion|ring|amulet)
\ No newline at end of file diff --git a/crawl-ref/settings/messages.txt b/crawl-ref/settings/messages.txt new file mode 100644 index 0000000000..91220a39cd --- /dev/null +++ b/crawl-ref/settings/messages.txt @@ -0,0 +1,38 @@ +### Highlighting of various messages + +msc := message_colour + +# Really important messages +# +msc = lightred:drains you +msc = lightred:feel drained +msc = lightred:strangely unstable +msc = lightred:curare-tipped.*hits you +msc = lightred:Space warps.* around you +msc = lightred:Space bends around you +msc = lightred:is eaten away +msc = lightred:you are carrying w.* destroyed +msc = lightred:you are carrying catche?s? fire +msc = lightred:you are carrying freezes? and shatters? +msc = lightred:Some of your food is covered with spores +msc = lightred:lose your buoyancy +msc = lightred:sense of stasis +msc = lightred:clumsily bash + +# Less urgent, but still significant messages +# +msc = yellow:ticking.*clock +msc = yellow:snort +msc = yellow:coins.*counted +msc = yellow:tolling.*bell +msc = lightcyan:LOW MAGIC WARNING +msc = yellow:fails to return + +# Unimportant messages and combat clutter +# +message_colour = darkgrey:You start (resting|searching) +message_colour = darkgrey:Unknown command +message_colour = darkgrey:disappears in a puff of smoke +# +message_colour = darkgrey:miss(es)? (the|you|it) +message_colour = darkgrey:but (do no|doesn't do any) damage diff --git a/crawl-ref/settings/pickup_butcher_tool.txt b/crawl-ref/settings/pickup_butcher_tool.txt new file mode 100644 index 0000000000..0a6e5e7f3e --- /dev/null +++ b/crawl-ref/settings/pickup_butcher_tool.txt @@ -0,0 +1,48 @@ +# Pick up a butchering weapon if we don't already have one +# This requires ) to be in the autopickup option line + +< do +local old_ch_autopickup = ch_autopickup or function() return true end +local function can_butcher(it) + if item.name(it):find("distort", 0, true) then + return false + end + local skill = item.weap_skill(it) + -- have to handle polearms separately, since only some of them can butcher + if skill == "Polearms" or skill == "Staves" then + local butcherable_polearms = { + "scythe", "lajatang", "halberd", "bardiche", "glaive" + } + for _, weap in ipairs(butcherable_polearms) do + if item.name(it):find(weap, 0, true) then return true end + end + return false + else + return skill:find("Blades", 0, true) or skill == "Axes" + end +end +function ch_autopickup(it) + if item.class(it, true) == "weapon" then + local need_blade = true + -- Trolls and Ghouls don't need weapons to butcher things, and Mummies + -- and Spriggans can't eat chunks. Ideally, we could detect a player + -- with the claws mutation here too, but that's not currently possible + if you.race() == "Troll" or + you.race() == "Ghoul" or + you.race() == "Mummy" or + you.race() == "Spriggan" then + need_blade = false + else + for _, inv_it in pairs(item.inventory()) do + if item.class(inv_it, true) == "weapon" and + can_butcher(inv_it) then + need_blade = false + end + end + end + return need_blade and not item.cursed(it) and can_butcher(it) + else + return old_ch_autopickup(it) + end +end +end >
\ No newline at end of file diff --git a/crawl-ref/settings/travel_stoppers.txt b/crawl-ref/settings/travel_stoppers.txt index f71186eba5..30913a2bf1 100644 --- a/crawl-ref/settings/travel_stoppers.txt +++ b/crawl-ref/settings/travel_stoppers.txt @@ -24,3 +24,10 @@ stop = You fall through a shaft # Ailments # stop = flesh start + +# Ghouls +# +: if you.race() == "Ghoul" then +stop = smell.*(rott(ing|en)|decay) +stop = something tasty in your inventory +: end
\ No newline at end of file |