##### Crawl Init file ############################################### # For descriptions of all options, as well as some more in-depth information # on setting them, consult the file # options_guide.txt # in your /docs directory. If you can't find it, the file is also available # online at: # https://github.com/crawl/crawl/blob/master/crawl-ref/docs/options_guide.txt # # Crawl uses the first file of the following list as its option file: # * init.txt in the -rcdir directory (if specified) # * .crawlrc in the -rcdir directory (if specified) # * init.txt (in the Crawl directory) # * ~/.crawl/init.txt (Unix only) # * ~/.crawlrc (Unix only) # * ~/init.txt (Unix only) # * settings/init.txt (in the Crawl directory) ##### Some basic explanation of option syntax ####################### # Lines beginning with '#' are comments. The basic syntax is: # # field = value or field.subfield = value # # Only one specification is allowed per line. # # The terms are typically case-insensitive except in the fairly obvious # cases (the character's name and specifying files or directories when # on a system that has case-sensitive filenames). # # White space is stripped from the beginning and end of the line, as # well as immediately before and after the '='. If the option allows # multiple comma/semicolon-separated terms (such as # autopickup_exceptions), all whitespace around the separator is also # trimmed. All other whitespace is left intact. # # There are three broad types of Crawl options: true/false values (booleans), # arbitrary values, and lists of values. The first two types use only the # simple =, with later options - which includes your options that are different # from the defaults - overriding earlier ones. List options allow using +=, ^=, # -=, and = to append, prepend, remove, and reset, respectively. Usually you will # want to use += to add to a list option. Lastly, there is := which you can use # to create an alias, like so: # ae := autopickup_exceptions # From there on, 'ae' will be treated as if it you typed autopickup_exceptions, # so you can save time typing it. # ##### Other files ################################################### # You can include other files from your options file using the 'include' # option. Crawl will treat it as if you copied the whole text of that file # into your options file in that spot. You can uncomment some of the following # lines by removing the beginning '#' to include some of the other files in # this folder. # Some useful, more advanced options, implemented in LUA. # include = advanced_optioneering.txt # Alternative vi bindings for Dvorak users. # include = dvorak_command_keys.txt # Alternative vi bindings for Colemak users. # include = colemak_command_keys.txt # Alternative vi bindings for Neo users. # include = neo_command_keys.txt # Override the vi movement keys with a non-command. # include = no_vi_command_keys.txt # Turn the shift-vi keys into safe move, instead of run. # include = safe_move_shift.txt ##### Ancient versions ############################################## # If you're used to the interface of ancient versions of Crawl, you may # get back parts of it by uncommenting the following options: # include = 034_command_keys.txt # And to revert monster glyph and colouring changes: # include = 052_monster_glyphs.txt # include = 060_monster_glyphs.txt # include = 071_monster_glyphs.txt # include = 080_monster_glyphs.txt # include = 0.9_monster_glyphs.txt # include = 0.12_monster_glyphs.txt # include = 0.13_monster_glyphs.txt # include = 0.14_monster_glyphs.txt force_more_message += You revert to your normal fleshy form. tile_web_mouse_control = false equip_unequip = true always_show_zot = true show_more = false tile_show_threat_levels = none menu_arrow_control = false show_player_species = true dump_on_save = true note_chat_messages = true allow_extended_colours=true rest_wait_percent = 90 explore_auto_rest = true force_more_message += Your transformation is almost over. #clear_messages += true # lua_file = lua/kills.lua ae := autopickup_exceptions ae += scrolls? of (vulnerability|amnesia|enchant|brand) ae += atropa ae += datura ae += amulet of #ae += >ring of drop_filter += useless_item friend_brand = reverse neutral_brand = hi:lightgrey stab_brand = hi:lightgreen may_stab_brand = hi:green # verbose_monster_pane = false default_manual_training = true travel_delay = -1 explore_delay = -1 auto_exclude += oklob plant,statue,roxanne runrest_ignore_poison = 1:3 runrest_ignore_monster = butterfly:1 runrest_ignore_message += You feel sick sort_menus = inv: true : equipped, freshness, charged hp_colour = 50:yellow, 25:red mp_colour = 50:yellow, 25:red #stat_colour = 7:red #menu_colour += inventory:white:\w \#\s #menu_colour += notes:white:Reached XP level #force_more_message += warp force_more_message += Your transformation is almost over force_more_message += You have reached level force_more_message += Your scales start force_more_message += shaft force_more_message += interdimensional caravan force_more_message += There is a gateway to a gauntlet on this level #force_more_message += recall autoinscribe += datura:frenzy !f autoinscribe += atropa:blindconf !f autoinscribe += potion.*haste:!q autoinscribe += potion.*heal:!q autoinscribe += potion.*cur:!q autoinscribe += potion.*might:!q autoinscribe += potion.*berserk:!q autoinscribe += potion.*cancellation:!q autoinscribe += scroll.*teleport:!r autoinscribe += scroll.*fog:!r autoinscribe += scroll.*blink:!r autoinscribe += scroll.*holy:!r autoinscribe += scroll.*fear:!r autoinscribe += scroll.*silence:!r autoinscribe += slaying:mikee_ autoinscribe += distortion: monqy autoinscribe += invisibility:Dilly autoinscribe += immolation:Mintice autoinscribe += Attraction:Mintice autoinscribe += potion of stabbing:Dinky cset = cloud:xa4 cset = item_rune:} display_char = cloud_weak:xa4 display_char = cloud_fading:✢ ood_interesting = 8 note_hp_percent = 10 note_skill_levels = 1,5,10,15,27 note_items = experience, acquirement, tremorstones, vane, running, of Zot, scarf of resistance note_messages = You pass through the gate note_messages = cast .* Abyss note_messages = Your scales start note_messages = protects you from harm note_messages = shaft note_monsters = orb of fire, ancient lich, Sigmund, Grinder, Maggie, Rupert, Louise ## Thanks crate force_more_message += floating eye force_more_message += Ouch! That really hurt! force_more_message += flesh start force_more_message += very hungry force_more_message += calcifying dust hits force_more_message += Space warps horribly around you force_more_message += hits you.*distortion force_more_message += Space bends around you force_more_message += fumble force_more_message += shaft force_more_message += wearing a (* shield|buckler) #force_more_message += trap item_slot += identify:r item_slot += acid:N item_slot += light:N item_slot += quicksilver:N item_slot += digging:V item_slot += enchant:tfg item_slot += tin:B item_slot += phial:C item_slot += shortbow:eda item_slot += longbow:eda item_slot += hunting sling:eda item_slot += fustibalus:eda item_slot += arbalest:eda item_slot += triple crossbow:dae item_slot += vane:l slot := spell_slot slot += mephitic cloud:z slot += freezing cloud:F slot += ignite poison:n slot += toxic radiance:Z slot += statue form:S #slot += summon butterflies:q slot += blink:B slot += death's door:P slot += borgnjor's revivification:O slot += ozocubu's refrigeration:Z slot += necromutation:L slot += orb of destruction:D slot += iron shot:s slot += shatter:R slot += Polar Vortex:T slot += fire storm:Z slot += battlesphere:d slot += fireball:xsdc slot += sticky flame:s slot += poisonous:x slot += irradiate:de slot += ignition:I slot += vile clutch:f slot += ramparts:x slot += armour:S slot += dispel undead:u slot += Bog:a slot += mystic blast:ed slot += swiftness:h slot += inner flame:b slot += searing ray:f slot += airstrike:l slot += starburst:e slot += coupling:K slot += dispel undead:u slot += passwall:p slot += death's door:P slot += apportation:q slot += death channel:o slot += animate dead:p slot += stone arrow:f confirm_action += revivification confirm_action += death's door confirm_action += torment # monsters depicted by the ☠ glyph are extremely dangerous and must be # handled as soon as possible, seeing ☠ on the screen should always make you # hesitate and think of the best way to proceed mon_glyph += spark wasp : ☠ mon_glyph += demonic crawler : iron 4 mon_glyph += bennu : holy mon_glyph += death scarab : lightgreen ☠ mon_glyph += wolf spider : earth mon_glyph += shock serpent : ☠ mon_glyph += lava snake : cyan #mon_glyph += Vashnia : lightgreen & mon_glyph += guardian serpent : lightred ☠ mon_glyph += Donald : yellow mon_glyph += crimson imp : lightred mon_glyph += bog body : lightgreen n mon_glyph += revenant : white R mon_glyph += ice beast : ice I mon_glyph += sky beast : sky I mon_glyph += freezing wraith : ice mon_glyph += royal mummy : lightblue mon_glyph += mummy priest : lightgreen mon_glyph += guardian mummy : O mon_glyph += mummy : O mon_glyph += insubstantial wisp : yellow mon_glyph += lich : fire #mon_glyph += soldier ant : earth mon_glyph += entropy weaver : green ☠ mon_glyph += phantom : 5 mon_glyph += Grinder : ☠ mon_glyph += deep elf annihilator : ☠ mon_glyph += jorogumo : ☠ # green for smiter like orc priest mon_glyph += smoke demon : green # Executioners are just nerfed sixfirhys mon_glyph += Executioner : 4 mon_glyph += Hellwing : cyan mon_glyph += Hell Sentinel : cyan & mon_glyph += Dispater : iron & mon_glyph += iron dragon : iron mon_glyph += blizzard demon : ice mon_glyph += death drake : ☠ mon_glyph += orb of fire : fire mon_glyph += elf : elven_brick mon_glyph += Brimstone Fiend : fire mon_glyph += Ice Fiend : ice mon_glyph += Fannar : ice mon_glyph += Orb Guardian : orb_glow C mon_glyph += queen bee : brightred mon_glyph += curse toe : ☠ mon_glyph += curse skull : ☠ #mon_glyph += killer klown : ☠ #fixing Mennas mon_glyph += Mennas : silver mons := mon_glyph #mons += 1 : ➊ #mons += 2 : ➋ #mons += 3 : ➌ #mons += 4 : ➍ #mons += 5 : ➎ #mons += 6 : ➏ # opaque demonspawn are exponentially more dangerous than the other employed DS #mons += blood saint: ➏ #mons += warmonger: ➅ #mons += corrupter: ➅ #mons += black sun: ➏ #mons += G : ಠ #mons += glowing orange brain : ದ mons += floating eye : ☠ mons += shining eye : ☠ mons += * : ✱ assign_item_slot = backward confirm_butcher = never stop := runrest_stop_message ignore := runrest_ignore_message : if you.god() == "Jiyva" then ignore = Jiyva gurgles merrily ignore = Jiyva appreciates your sacrifice ignore = Jiyva says: Divide and consume ignore = You hear.*splatter ignore = Jiyva alters your body : end # Ask HilariousDeathArtist to fix things # To use this you must add have a call to AnnounceDamage() in the ready() # function like below: # This is important if you override this ready() function < function ready() AnnounceDamage() end > ############### # Damage Calc # ############### < local previous_hp = 0 local previous_mp = 0 local previous_form = "" local was_berserk_last_turn = false function AnnounceDamage() local current_hp, max_hp = you.hp() local current_mp, max_mp = you.mp() --Things that increase hp/mp temporarily really mess with this local current_form = you.transform() local you_are_berserk = you.berserk() local max_hp_increased = false local max_hp_decreased = false if (current_form ~= previous_form) then if (previous_form:find("dragon") or previous_form:find("statue") or previous_form:find("tree") or previous_form:find("ice")) then max_hp_decreased = true elseif (current_form:find("dragon") or current_form:find("statue") or current_form:find("tree") or current_form:find("ice")) then max_hp_increased = true end end if (was_berserk_last_turn and not you_are_berserk) then max_hp_decreased = true elseif (you_are_berserk and not was_berserk_last_turn) then max_hp_increased = true end --crawl.mpr(string.format("previous_form is: %s", previous_form)) --crawl.mpr(string.format("current_form is: %s", current_form)) --crawl.mpr(string.format("max_hp_increased is: %s", max_hp_increased and "True" or "False")) --crawl.mpr(string.format("max_hp_decreased is: %s", max_hp_decreased and "True" or "False")) --crawl.mpr(string:format("you_are_berserk is: %s", you_are_berserk and "True" or "False")) --crawl.mpr(string:format("was_berserk_last_turn is: %s", was_berserk_last_turn and "True" or "False")) --Skips message on initializing game if previous_hp > 0 then local hp_difference = previous_hp - current_hp local mp_difference = previous_mp - current_mp if max_hp_increased or max_hp_decreased then if max_hp_increased then crawl.mpr("You now have " .. current_hp .. "/" .. max_hp .. "hp.") else crawl.mpr("You now have " .. current_hp .. "/" .. max_hp .. " hp.") end else --On losing health if (current_hp < previous_hp) then if current_hp <= (max_hp * 0.30) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.50) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.70) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.90) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") else crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") end if hp_difference > (max_hp * 0.20) then crawl.mpr("MY FAVORITE EYEBALLS!!") end end --On gaining more than 1 health if (current_hp > previous_hp) then --Removes the negative sign local health_inturn = (0 - hp_difference) if (health_inturn > 1) and not (current_hp == max_hp) then if current_hp <= (max_hp * 0.30) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.50) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.70) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.90) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") else crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") end end if (current_hp == max_hp) then crawl.mpr("Health restored: " .. current_hp .. "") end end --On gaining more than 1 magic if (current_mp > previous_mp) then --Removes the negative sign local mp_inturn = (0 - mp_difference) if (mp_inturn > 1) and not (current_mp == max_mp) then if current_mp < (max_mp * 0.25) then crawl.mpr("You regained " .. mp_inturn .. " mp, and now have " .. current_mp .. "/" .. max_mp .. " mp.") elseif current_mp < (max_mp * 0.50) then crawl.mpr("You regained " .. mp_inturn .. " mp, and now have " .. current_mp .. "/" .. max_mp .. " mp.") else crawl.mpr("You regained " .. mp_inturn .. " mp, and now have " .. current_mp .. "/" .. max_mp .. " mp.") end end if (current_mp == max_mp) then crawl.mpr("MP restored: " .. current_mp .. "") end end --On losing magic if current_mp < previous_mp then if current_mp <= (max_mp / 5) then crawl.mpr("You now have " .. current_mp .. "/" ..max_mp .." mp.") elseif current_mp <= (max_mp / 2) then crawl.mpr("You now have " .. current_mp .. "/" ..max_mp .." mp.") else crawl.mpr("You now have " .. current_mp .. "/" ..max_mp .." mp.") end end end end --Set previous hp/mp and form at end of turn previous_hp = current_hp previous_mp = current_mp previous_form = current_form was_berserk_last_turn = you_are_berserk end > < -- Equipment autopickup (by Medar and various others) local function pickup_equipment(it, name) if it.is_useless then return end local class = it.class(true) if class == "armour" then local good_slots = {cloak="Cloak", helmet="Helmet", gloves="Gloves", boots="Boots"} st, _ = it.subtype() -- Autopickup found aux armour if 1) we don't have any or 2) it's artefact, -- or 3) if we don't have artefact or ego armour, and the found armour is -- ego. if good_slots[st] ~= nil then if good_slots[st] == "Gloves" and you.has_claws() > 0 then return end if it.artefact then return true end local cur = items.equipped_at(good_slots[st]) if cur == nil then return true end if cur.branded or cur.artefact then return end if it.branded then return true end -- Autopickup found body armour of the same kind we're wearing, according -- to conditions (2) and (3) above used for aux slots. elseif st == "body" then local cur = items.equipped_at("armour") if cur == nil then return end if cur.name("qual") ~= it.name("qual") then return end if it.artefact then return true end if cur.branded or cur.artefact then return end if it.branded then return true end end end return end add_autopickup_func(pickup_equipment)