##### 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 #include += RandomTiles.rc #tile_display_mode = glyphs default_manual_training = true autofight_stop = 75 #{ # function ready() # random_tile() # end #} message_colour ^= lightmagenta:hisses message_colour ^= lightmagenta:howl message_colour ^= lightmagenta:moan message_colour ^= lightmagenta:angry hiss message_colour ^= lightmagenta:creak message_colour ^= lightmagenta:bark message_colour ^= lightmagenta:screech message_colour ^= lightmagenta:squeal message_colour ^= lightmagenta:shout message_colour ^= lightmagenta:buzzes message_colour ^= lightmagenta:trumpet message_colour ^= lightmagenta:growl message_colour ^= lightmagenta:bellow message_colour ^=green:hit message_colour ^=green:thump message_colour ^=green:sock message_colour ^=green:bludgeon message_colour ^=green:scratch message_colour ^=green:claw message_colour ^=green:like a pancake message_colour ^=green:puncture message_colour ^=green:mangle message_colour ^=green:bites message_colour ^=green:invigorated message_colour ^=green:freeze message_colour ^=green:you tail message_colour ^=green:burn message_colour ^=green:you peck message_colour ^=green:like a gong message_colour ^=green:like a pig message_colour ^=green:slash message_colour ^=green:you drain message_colour ^=green:drains message_colour ^=green:thrash message_colour ^=green:slice message_colour ^=green:like an anvil message_colour ^=green:is poisoned message_colour ^=green:space bends message_colour ^=green:you impale message_colour ^=green:turns into a zombie message_colour ^=green:lightning courses through message_colour ^=green:caught in the net message_colour ^=green:appears confused message_colour ^=green:feel better message_colour ^=green:like a grape message_colour ^=green:you bite message_colour ^=green:convulses message_colour ^=green:seems to slow down message_colour ^=green:you kick message_colour ^=green:space warps horribly message_colour ^=green:splashed with acid message_colour ^=green:corrodes message_colour ^=green:whack message_colour ^=green:you eviscerate message_colour ^=darkgrey:riposte message_colour ^=darkgrey:block message_colour ^=darkgrey:prevents you from message_colour ^=darkgrey:prevent you from message_colour ^=lightgreen:you kill message_colour ^=lightgreen:you destroy message_colour ^=lightgreen:more experienced message_colour ^=blue:yourself speed up message_colour ^=lightblue:you resist message_colour ^=red:hits you message_colour ^=red:bites you message_colour ^=red:constricts you message_colour ^=red:grabs you message_colour ^=red:pecks you message_colour ^=red:pecks you message_colour ^=red:gores you message_colour ^=red:freezes you message_colour ^=red:burns you message_colour ^=red:claws you message_colour ^=red:shocks you message_colour ^=red:pain shoots through your message_colour ^=red:smites you message_colour ^=red:you writhe message_colour ^=red:you convulse message_colour ^=lightred:horribly around you message_colour ^=red:poisons you message_colour ^=red:engulfs you message_colour ^=red:your hands burn message_colour ^=red:acid burns message_colour ^=red:corrodes you message_colour ^=red:you are splashed message_colour ^=red:you feel sick message_colour ^=red:wielding message_colour ^=red:localized field message_colour ^=grey:launches a message_colour ^=lightred:flickers and vanishes message_colour ^=lightred:seems to speed up message_colour ^=lightred:you suddenly lose message_colour ^=red:seems more agile message_colour ^=lightred:goes berserk message_colour ^=lightred:dies message_colour ^=lightred:feel yourself slow message_colour ^=yellow:suddenly seem different message_colour ^=yellow:moves out of view message_colour ^=darkgrey:but does no damage message_colour ^=darkgrey:but do no damage message_colour ^=darkgrey:miss message_colour ^=darkgrey:you drop message_colour ^=darkgrey:unknown message_colour ^=darkgrey:butcher message_colour ^=darkgrey:no target message_colour ^=darkgrey:start resting message_colour ^=darkgrey:detect nothing message_colour ^= mute:leading down here message_colour ^= mute:leading up here message_colour ^= mute:door here message_colour ^= mute:spattered with blood here message_colour ^= mute:the floor here message_colour ^= darkgrey:corpse disappears message_colour ^= mute:raw flesh message_colour ^= mute:really hit the spot message_colour ^= mute:accepts your kill message_colour ^= lightgrey:launches a dart #tile_player_tile = mons:imperial myrmidon < 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.50) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.75) 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("MASSIVE DAMAGE!!") 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.50) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.75) 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 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 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 > explore_wall_bias = 5 $danger := lightred $item_dmg := red $warning := yellow $boring := darkgrey $negative := brown $good := lightblue $positive := green $verypositive := lightgreen $awesome := lightmagenta $interface := cyan $takesaction := blue $godaction := magenta $mp := lightcyan