################################################### ### Tile options # tile_map_scale = 0.8 #tile_skip_title = true tile_window_width = -100 tile_window_height = -200 #tile_map_pixels = 1 #tile_cell_pixels = 64 tile_filter_scaling = false tile_font_crt_size = 20 tile_font_stat_size = 20 tile_font_msg_size = 20 tile_font_tip_size = 20 tile_font_lbl_size = 20 # font change (the default one is ugly) #tile_font_crt_family = Lucida Console #tile_font_stat_family = Lucida Console #tile_font_msg_family = Lucida Console #tile_font_lbl_family = Lucida Console #tile_font_crt_file = VeraMono.ttf #tile_font_stat_file = VeraMono.ttf #tile_font_msg_file = VeraMono.ttf #tile_font_tip_file = VeraMono.ttf #tile_font_lbl_file = Vera.ttf #tile_font_ft_light = false ### Game options tile_show_threat_levels = tough,nasty,unusual explore_delay = -1 # travel_delay = 5 travel_delay = -1 rest_delay = -1 show_travel_trail = true # explore_mode = yes # wiz_mode = yes remember_name = false #travel_open_doors = false explore_key_stop = true # don't auto-explore over deep water travel_avoid_terrain = deep water # display low HP warning when [X]% HP or below hp_warning = 60 # https://github.com/crawl/sequell/blob/master/docs/listgame.md # !lg * win mibe -log -2 # DCSS stats : # https://dcss-stats.vercel.app/ # Whether to show the "Zot" status light at all times, even when you've got plenty of time left. always_show_zot = true #### # https://crawl.xtahua.com/crawl/rcfiles/crawl-0.29/p0werm0de.rc easy_confirm = all autofight_caught = true explore_auto_rest = true rest_wait_percent = 100 # ability_slot ^=Heroism:b # ability_slot ^=Finesse:d dump_item_origins = all easy_quit_item_prompts = true bold_brightens_foreground = true # This will stop autotravel if the Necromutation spell (lichform) is nearly over and # allow you to recast it before it runs out. runrest_ignore_message -= transformation is almost over\. ################################################### ## https://crawl.akrasiac.org/rcfiles/crawl-git/Zamiul.rc # Call Functions < function ready() AnnounceDamage() end > # Skill menu at game start by rwbarton < local need_skills_opened = true function ManualSkills() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") end end ManualSkills() > # 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 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) > # Zamiul's settings default_manual_training = true # default_show_all_skills = true equip_unequip = true show_more = false always_show_zot = true rest_wait_both = true autofight_stop = 80 #explore_wall_bias = 3 #autopickup_exceptions ^=