language = en hp_warning = 25 rest_delay=-1 travel_delay=-1 explore_delay=-1 show_newturn_mark = true show_travel_trail = true rest_wait_both = false hp_colour = 100:cyan, 80:yellow, 50:red mp_colour = 100:lightblue, 80:yellow, 50:red channel.monster_damage = on use_animations -= hp default_manual_training = true tile_web_mouse_control = false #$ lab_gold_status = true show_more = false autofight_stop = 30 tile_show_player_species = true tile_player_tile =mons:Revenant ;Dissolution : if you.race() == "Ogre" then tile_player_tile = mons:Iron Giant : end : if you.race() == "Mummy" then tile_player_tile = mons:Revenant : end : if you.race() == "Ghoul" then tile_player_tile = mons:Revenant : end : if you.race() == "Spriggan" then tile_player_tile = mons:Revenant : end : if you.race() == "Gargoyle" then tile_player_tile = mons:Iron Giant : end # Interrupts force_more_message += You don't.* that spell force_more_message += You miscast force_more_message += You can't (read|drink) that force_more_message += That item cannot be evoked force_more_message += This wand has no charges force_more_message += You have disarmed force_more_message += Something interferes with your magic force_more_message += You enter a teleport trap force_more_message += Space warps.* around you force_more_message += Space bends.* around you force_more_message += You are slowing down. # OUTRIGHT DEATH HAZARDS force_more_message += .* Giant eyeball comes into view.* #force_more_message += .* Lich comes into view.* #force_more_message += .* Neqoxec comes into view.* #force_more_message += .* Cacodemon comes into view.* # uniques force_more_message += .*(Agnes|Aizul|Antaeus|Arachne|Asmodeus|Azrael|Blork the orc|Boris|Cerebov|Crazy Yiuf|Dispater|Dissolution|Donald|Dowan|Duvessa|Edmund|the Enchantress|Ereshkigal|Erica|Erolcha|Eustachio|Fannar|Frances|Frederick|Gastronok|Geryon|Gloorx Vloq|Grinder|Grum|Harold|Ignacio|Ijyb|Ilsuiw|Jessica|Jorgrun|Jory|Joseph|Josephine|Khufu|Kirke|Lamia|the Lernaean hydra|Lom Lobon|Louise|Mara|Margery|Maud|Maurice|Menkaure|Mennas|Mnoleg|Murray|Nergalle|Nessos|Nikola|Norris|Pan|Pikel|Polyphemus|Prince Ribbit|Psyche|Purgy|Roxanne|the royal jelly|Rupert|Saint Roka|the Serpent of Hell|Sigmund|Snorg|Sojobo|Sonja|Terence|Tiamat|Urug|Wiglaf|Xtahua).*comes? into view # Important features : if you.god() == "Ashenzari" then force_more_message += You have a vision of.*gates? : else force_more_message += interdimensional caravan force_more_message += distant snort force_more_message += Found a gateway leading out of the Abyss : end force_more_message += Found .* (abyssal|demonic) rune of Zot # Bad things force_more_message += Your surroundings force_more_message += Your amulet of stasis force_more_message += You cannot teleport right now force_more_message += The writing blurs in front of your eyes force_more_message += You fall through a shaft force_more_message += Ouch! That really hurt! force_more_message += You convulse force_more_message += You are (blasted|electrocuted) force_more_message += You are.*(confused|poisoned) force_more_message += (starving|devoid of blood) force_more_message += divine experience force_more_message += lose consciousness force_more_message += sentinel's mark # Others force_more_message += You have reached level force_more_message += (strangely|slightly) unstable force_more_message += strangely stable force_more_message += You feel monstrous : if you.god() == "Xom" then force_more_message += god: : end # Cantrips #################################################################### msc += darkgrey:you feel troubled # Enemy spells ################################################################ # White msc += white:you feel haunted # Yellow msc += yellow:something smites you # Lightred msc += lightred:bolt of dispelling energy hits you # Red msc += red:the hellfire explodes # Magenta msc += magenta:calls on the powers of darkness msc += magenta:kneels in prayer.*energy # Gong messages # $gong := brown msc += $gong:SHROANNG msc += $gong:BONNNG msc += $gong:PANG msc += $gong:PTOANNNG msc += $gong:GONNNNG msc += $gong:BOUMMMMG # All default colourings ###################################################### $danger := lightred $warning := yellow $boring := darkgrey $item_dmg := lightmagenta # DANGER # msc += $danger:drains you msc += $danger:feel drained msc += $danger:strangely unstable msc += $danger:curare-tipped.*hits you msc += $danger:Space warps.* around you msc += $danger:Space bends around you msc += $danger:sense of stasis msc += $danger:clumsily bash msc += $danger:goes berserk! msc += $danger:The blast of calcifying dust hits you! msc += $danger:You are engulfed in calcifying dust #msc += $danger:is moving more slowly msc += $danger:^It .* you msc += $danger:You block its attack msc += $danger:constricts you msc += $danger:visions of slaying.*flood into your mind # Warnings # msc += $warning:Forgetting.* will destroy the book msc += $warning:ticking.*clock msc += $warning:dying ticks msc += $warning:distant snort msc += $warning:coins.*counted msc += $warning:tolling.*bell msc += $warning:fails to return msc += $warning:no longer ripe # Annoyances -- Don't stop autotravel for these events ignore += A.*toadstool withers and dies ignore += disappears in a puff of smoke ignore += engulfed in a cloud of smoke ignore += engulfed in white fluffiness ignore += grinding sound ignore += in your inventory.*rotted away ignore += safely over a trap ignore += standing in the rain ignore += toadstools? grow ignore += You feel.*sick ignore += You walk carefully through the # Jiyva Messages ignore += Jiyva appreciates your sacrifice ignore += Jiyva gurgles merrily ignore += Jiyva says: Divide and consume ignore += You hear.*splatter # Qazlal ignore += The plant is engulfed ignore += You destroy the (bush|fungus|plant) ignore += You displace your # Inscribe distortion weapons if you are not worshipping Lugonu : if you.god() ~= "Lugonu" then ai += distortion:!w ai += (Sonja|Psyche):!w : 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("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.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 >