##### 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 # 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 = 034_monster_glyphs.txt # 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 language=ko #$ lab_magic_window_translate = true #$ lab_skill_window_translate = true #$ lab_interface_translate = true #$ lab_ability_window_translate = true #$ lab_gold_status = true #$ lab_sound_on = true #$ lab_sound_volume = 50 #$ travel_delay = -1 #$ lab_disable_mouse_move = true hp_colour =85:lightgreen, 67:lightcyan, 50:yellow, 33:lightmagenta, 15:red rest_wait_percent = 100 cloud_status = true ### 자동 고기 도축 먹기 ### auto_butcher = true confirm_butcher = never easy_eat_chunks = true auto_eat_chunks = true auto_drop_chunks = yes easy_eat_contaminated = true ### 수동 스킬 전환 ### default_manual_training = true travel_delay = -1 travel_key_stop = true explore_delay = -1 explore_wall_bias = 0 explore_key_stop = true view_delay = 300 tile_font_crt_family = D2Coding tile_font_stat_family = D2Coding tile_font_msg_family = D2Coding tile_font_lbl_family = D2Coding #msg_min_height = 7 #msg_max_height = 10 #msg_webtiles_height = 10 note_skill_levels = 11,15,18,22,27 note_chat_messages = true ### 다음장 띄우기 ### more := force_more_message more += Ru believes you are ready to make a new sacrifice. more += (blundered into a|invokes the power of) Zot more += Deactivating autopickup more += Ouch! That really hurt! more += calcifying dust hits more += watched by something more += You hear a zap more += Found a staircase to the Ecumenical Temple more += dispelling energy hits you more += You convulse more += You fail to use your ability more += You miscast.*(Blink|Borgnjor|Door|Haste|Invisibility) more += Your thoughts seem clearer more += Your shroud falls apart more += You flicker for a moment more += Your transformation is almost over more += You feel less protected from missiles more += A sentinel's mark forms upon you more += You feel yourself slow down more += flickers and vanishes! more += god:(sends|finds|silent|anger) more += The mighty Pandemonium lord .* resides here more += Found .* abyssal rune of Zot more += hell_effect: ######## Autoexplore Interruption ######################## stop := runrest_stop_message stop += Your transformation is almost over ### 개같은 몹 ### more += (?-i:[A-Z]).* comes? into view more += (?-i:[A-Z]).* opens? the more += Space .* around you more += .*orbs? of fire.* comes? into view more += (dream sheep|doom hound).*into view more += ((giant|floating|shining) eye|eye of draining).*into view more += .*(s|player) ghost.* comes? into view more += (moth of wrath|ghost moth|torpor snail).*into view more += (guardian serpent|draconian shifter|convoker).*into view more += (flayed ghost|greater mummy|mummy priest|fiend|tzitzimitl).*into view more += (tormentor|curse toe|curse skull).*into view more += (hellion|hell sentinel|deep elf sorcerer).*into view more += (deep elf high priest|zealot|scorcher).*into view more += (ancient lich|orb of fire|executioner|juggernaut|shrike).*into view more += (Sonja|Nessos).*into view more += It is wielding.*of distortion more += She is wielding.*of distortion more += He is wielding.*of distortion ######## 완드 경고 ######################## ;flash_screen_message += carrying a wand of .* ######## 메시지 무시 ######################## ;ignore += grinding sound ;ignore += contamination has completely ;ignore += your breath back ######## Autoinscriptions ######################## autoinscribe += staff of .*(energy|wizardry|power|conjuration|summoning|Battle):!a autoinscribe += staff.*Wucad Mu:!a!d autoinscribe += \brations?\b:!d autoinscribe += .*faith:!P autoinscribe += figurine:=g autoinscribe += .*Vines:=g autoinscribe += .*finger necklace:=g #autoinscribe += .*Four Winds:=g autoinscribe += .*moon troll leather armour:=g autoinscribe += .*Mage:=g autoinscribe += .*Elemental Staff:=g autoinscribe += potion.*invisibility:!q!d autoinscribe += potion.*magic:!q!d autoinscribe += potion.*lignification:!d autoinscribe += potion.*ambrosia:!q!d autoinscribe += potion.*resistance:!q!d autoinscribe += potion.*heal wounds:!q!d autoinscribe += potion.*haste:!q!d autoinscribe += potion.*curing:!q!d autoinscribe += potion.*agility:!q autoinscribe += potion.*brilliance:!q!d autoinscribe += potion.*berserk rage:!q!d autoinscribe += potion.*cancellation:!q!d #autoinscribe += (bad|dangerous)_item.*scroll:!r #autoinscribe += (bad|dangerous)_item.*potion:!q autoinscribe += potion.*mutation:!d #autoinscribe += scroll.*torment:!r autoinscribe += scroll.*silence:!r autoinscribe += scroll.*fear:!r autoinscribe += scroll.*holy word:!r!d autoinscribe += scroll.*immolation:!d autoinscribe += scroll.*blinking:!d autoinscribe += scroll.*identify:!d autoinscribe += scroll.*teleportation:!d autoinscribe += scroll.*magic mapping:!r!d autoinscribe += shield.*resistance:!d autoinscribe += throwing net:!f ######## Autopickup ######################## #autopickup = $?!:/%| #ae := autopickup_exceptions #ae += >scrolls? of silence #ae += >scrolls? of brand weapon #ae += >scrolls? of enchant weapon #ae += >staff of .* #ae ^= 2) or armourname:find("dragon") or armourname:find("troll") then return it.artefact else return it.artefact or it.branded or it.ego end end return true end if (sub_type == "shield") then if equipped_item then return it.artefact or it.branded or it.ego end end end end) } ######## Hotkey Assignment ######################## ability_slot += Evoke Flight:+g ability_slot += Evoke Invisibility:+h ability_slot += Evoke Blink:+a ability_slot += End Transformation:+f ability_slot += Channel Magic:p ability_slot += Divine Energy:d spell_slot += Swiftness:p spell_slot += Aura Of Abjuration:o spell_slot += Deflect Missiles:+n spell_slot += Invisibility:+h spell_slot += Darkness:+h spell_slot += Necromutation:+a spell_slot += Death's Door:+m spell_slot += Apportation:+z spell_slot += Blink:+b spell_slot += Passage of Golubria:+a spell_slot += Controlled Blink:+c spell_slot += Disjunction:c spell_slot += Passwall:+s spell_slot += Summon Butterflies:m spell_slot += Sublimation Of Blood:+j spell_slot += Conjure Flame:e spell_slot += Lee's Rapid Deconstruction:t spell_slot += Yara's Violent Unravelling:+y spell_slot += Sticky Flame:+c spell_slot += Iskenderun's Battlesphere:t spell_slot += Dispel Undead:k spell_slot += Iron Shot:qr spell_slot += Stone Arrow:qr spell_slot += Fireball:+q spell_slot += Orb Of Destruction:+r spell_slot += Fulminant Prism:+w spell_slot += Ignition:+i spell_slot += Fire Storm:+f spell_slot += Glaciate:+g spell_slot += Shatter:+e spell_slot += Tornado:+d item_slot += wand.*digging:+v item_slot += wand.*clouds:+A item_slot += wand.*scattershot:+S item_slot += wand.*acid:+D item_slot += wand.*iceblast:+F item_slot += wand.*paralysis:+G item_slot += wand.*flame:+f Item_slot += staff.*wizardry:s Item_slot += staff.*Wucad Mu:+s Item_slot += staff.*energy:+w Item_slot += staff.*power:w Item_slot += staff.*fire:q Item_slot += staff.*conjuration:+q Item_slot += staff.*death:+e Item_slot += staff.*Battle:+q Item_slot += .*Elemental Staff:+q Item_slot += .*of distortion:+i Item_slot += .*distort:+i Item_slot += steel.*:+G Item_slot += .*of spiders:+R Item_slot += scroll.*remove curse:+r Item_slot += scroll.*teleportation:+t Item_slot += scroll.*identify:+g Item_slot += scroll.*blinking:+c Item_slot += scroll.*enchant armour:+Z Item_slot += scroll.*amnesia:+X Item_slot += scroll.*acquirement:+C Item_slot += scroll.*fog:+Q Item_slot += scroll.*enchant weapon:+F Item_slot += scroll.*torment:+R Item_slot += scroll.*immolation:+T Item_slot += scroll.*holy word:+Y Item_slot += scroll.*magic mapping:+P Item_slot += potion.*might:+f Item_slot += potion.*berserk rage:+h Item_slot += potion.*agility:+j Item_slot += potion.*flight:+k Item_slot += potion.*lignification:+l Item_slot += potion.*haste:+O Item_slot += potion.*mutation:+U Item_slot += potion.*Invisibility:+H Item_slot += potion.*magic:+J Item_slot += potion.*cancellation:+V Item_slot += potion.*resistance:+L Item_slot += potion.*brilliance:+K Item_slot += potion.*ambrosia:+B Item_slot += potion.*curing:+N Item_slot += potion.*heal wounds:+M Item_slot += potion.*experience:+I Item_slot += robe.*Archmagi:+W Item_slot += troll leather armour:+E Item_slot += .*Vines:+E ;Item_slot += rations:+e ######## Functions ######################## { function ready() Petrifying_Check() Slowed_Check() Blurry_Check() HpWarning_Early() HpWarning_Mid() HpWarning_Late() Hp_percent() Mp_percent() Wand_Check() Throw_Check() AnnounceDamage() DDoorWarning() DDoorCounter() NoticeGa() NoticeBa() NoticeIc() XL_DEWz() spell_init() end } { if you.race() == "Deep Elf" and you.class() == "Wizard" then DEWz = true end if DEWz then if you.turns() == 0 then you.set_training_target("spellcasting", 11) you.set_training_target("conjurations", 11) you.set_training_target("fighting", 5) you.set_training_target("throwing", 20) you.set_training_target("armour", 15) you.train_skill("conjurations", 0) you.train_skill("fighting", 0) you.train_skill("stealth", 0) you.train_skill("dodging", 0) crawl.sendkeys("\\" .. "b" .. "\r") elseif you.turns() == 1 then crawl.mpr("You only need two turns to die......") else return end end if you.god() == "Gozag" then Gozag = true end } { function spell_init() local spell_list = {} for _, spell_name in ipairs(you.spells()) do spell_list[spell_name] = true end return spell_list end spells_known = spell_init() } { function control(c) return string.char(string.byte(c) - string.byte('a') + 1) end function magic(command) crawl.process_keys(command) end } --this function is module, so don't change its name { function c_answer_prompt(prompt) if prompt:find("vortices") or prompt:find("vortex") or prompt:find("friend") then return true end if prompt:find("That beam") and you.res_fire() == 0 and not you.status("death's door") then if crawl.yesno("REALLY cast on yourself without fire resistance?",false,'n') then return end end if prompt:find("Really attack while wielding") then return false end if prompt == "Really attack near your battlesphere?" then return true end if prompt:find("cloud of flame") and you.res_fire() < 1 and not you.status("death's door") then if crawl.yesno("REALLY go through flame without fire resistance?",false,'n') then return end end if prompt:find("freezing vapour") and you.res_cold() < 1 and not you.status("death's door") then if crawl.yesno("REALLY go through icy clouds without cold resistance?",false,'n') then return end end end } --this function is module, so don't change its name { function choose_stat_gain() if DEWz then return "i" else return end end } { local function prompt(str) crawl.formatted_mpr(str, "prompt") return crawl.c_input_line() end function set_option() opt = prompt("Set which option? ") val = prompt("Input value to complete: " .. opt .. "=") if (opt == nil) or (val == nil) then crawl.mpr("Configuration canceled.") else crawl.setopt(opt .. "=" .. val) crawl.mpr("Set option '" .. opt .. "=" .. val .. "'.") end end } { function confirmed_rest() if Hp_percent() == 100 and Mp_percent() == 100 then if crawl.yesnoquit("Really wait turns while HP and MP are full?", true, 'n') == 1 then crawl.process_keys("5") else return crawl.mpr("Rest command was denied by confirmation process.") end else crawl.process_keys("5") end end } { function autobanish() if you.xl() == 27 then if crawl.yesno("Really attempt to banish yourself?",true,'n') then crawl.sendkeys("iiwYiiuY") else return crawl.mpr("Autobanish macro was denied by confirmation process.") end else crawl.mpr("You must become XL 27 to use autobanish macro.") end end } --the function requires at least 5 ?amnesia in slot 'X' to work properly { function automemo() if you.xl() == 27 then if crawl.yesno("Really execute automemo?",false,'n') then crawl.sendkeys("rXay") crawl.sendkeys("rXiy") crawl.sendkeys("rXmy") crawl.sendkeys("rXdy") crawl.sendkeys("rXhy") crawl.sendkeys("M" .. control('f') .. "omut\ray") crawl.sendkeys("M" .. control('f') .. "torn\ray") crawl.sendkeys("M" .. control('f') .. "yara\ray") crawl.sendkeys("M" .. control('f') .. "wall\ray") else return crawl.mpr("Automemo macro was denied by confirmation process.") end else crawl.mpr("You must become XL 27 to use automemo macro.") end end } { function Hp_percent() a,b=you.hp() return 100*a/b end } { function Mp_percent() a,b=you.mp() return 100*a/b end } { function Petrifying_Check() if you.petrifying() then crawl.yesno("You are now petrifying so your action will be checked. (Y or N to confirm.)", false, false, true, true) crawl.mpr("Consider using tele/blink, Yara, cancellation or other emergency measures......") end end } { local speed = true function Slowed_Check() if speed and string.find(crawl.messages(8), "yourself slow down") and you.status("death's door (expiring)") then crawl.yesno("Warning: You are slowed while DDoor running out! (Y or N to confirm.)", false, false, true, true) speed = false end if not speed and not you.status("death's door (expiring)") then speed = true end end } { local scro = true function Blurry_Check() if scro and you.mutation("blurry vision") > 0 and you.status("death's door (expiring)") and you.mp() < 8 then crawl.yesno("Warning: Your reading rate is slowed while standing at death's door! (Y or N to confirm.)", false, false, true, true) scro = false end if not scro and not you.status("death's door (expiring)") then scro = true end end } { local wand = true function Wand_Check() if you.xl() <= 12 and wand and string.gmatch(crawl.messages(5), "carrying a wand")() then crawl.yesno("Warning: an enemy near you is armed with a wand! (Y or N to confirm.)", false, false, true, true) crawl.mpr("Neutralize or avoid the wand carrier ASAP!") wand = false end if string.gmatch(crawl.messages(1), "restored")() then wand = true end end } { local throw = true function Throw_Check() if you.xl() <= 6 and throw and string.gmatch(crawl.messages(5), "quivering")() then crawl.yesno("Warning: an enemy near you is armed with missiles! (Y or N to confirm.)", false, false, true, true) crawl.mpr("Neutralize or avoid the thrower ASAP!") throw = false end if string.gmatch(crawl.messages(1), "restored")() then throw = true end end } { local early = true function HpWarning_Early() if you.hp() < 21 and Hp_percent() < 30 and you.xl() < 12 and early then crawl.yesno("Low HP: Be careful! (Y or N to confirm.)", false, false, true, true) crawl.mpr("The dice are ABSOLUTELY not on your side......") early = false end if you.hp() > 20 and Hp_percent() > 29 and you.xl() < 12 then early = true end end } { local mid = true function HpWarning_Mid() if you.hp() < 51 and you.xl() < 21 and you.xl() > 11 and mid then crawl.yesno("Low HP: Be careful! (Y or N to confirm.)", false, false, true, true) crawl.mpr("Consider to using tele/blink, potion or other emergency measures......") mid = false end if you.hp() > 50 and you.xl() < 21 and you.xl() > 11 then mid = true end end } { local late = true function HpWarning_Late() if you.hp() < 60 and you.xl() == 27 and not you.status("death's door") and not you.status("death's door (expiring)") and late then crawl.yesno("Low HP: Be careful! (Y or N to confirm.)", false, false, true, true) crawl.mpr("Keep playing prudently even on late-game......") late = false end if you.hp() > 59 and you.xl() == 27 then late = true end end } { 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")) 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 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 } { local door = true function DDoorWarning() if you.status("death's door (expiring)") and door then crawl.yesno("DDoor is almost expired! (Y or N to confirm.)", false, false, true, false) crawl.mpr("It will be ended in 5-10 turns...... ") door = false end if not you.status("death's door (expiring)") then door = true end end } { local counter = you.turns() function DDoorCounter() if you.status("death's door (expiring)") then crawl.mpr("Count "..you.turns() - counter.."......") end if not you.status("death's door (expiring)") then counter = you.turns()+1 end end } { local gaunt = true function NoticeGa() if string.find(crawl.messages(4), "gauntlet on this level") and gaunt then gaunt = false crawl.yesno("Hurry, A gateway to a gauntlet has been detected! (Y or N to confirm.)", false, false, true, true) end end } { local bail = true function NoticeBa() if string.find(crawl.messages(4), "bailey on this level") and bail then bail = false crawl.yesno("Hurry, A gateway to a bailey has been detected! (Y or N to confirm.)", false, false, true, true) end end } { local cave = true function NoticeIc() if string.find(crawl.messages(4), "cave on this level") and cave then cave = false crawl.yesno("Hurry, A gateway to an ice cave has been detected! (Y or N to confirm.)", false, false, true, true) end end } { local needgold = true function GoldLimiter() if needgold and you.gold() > 5000 and not Gozag then crawl.setopt("autopickup_exceptions ^= >gold piece") needgold = false end end } { --Never use autopickup_exceptions without ^ or +. otherwise, rest of autopickup settings will be nullified. local PhaseA = true local PhaseB = true local PhaseC = true local PhaseD = true function XL_DEWz() if you.xl() >= 9 and PhaseA then crawl.setopt("rest_wait_percent = 80") crawl.setopt("autopickup_exceptions ^= >poisoned") crawl.setopt("autopickup_exceptions ^= = 14 and PhaseB then crawl.setopt("autopickup_exceptions ^= >potion.*might") crawl.setopt("autopickup_exceptions ^= >potion.*berserk rage") crawl.setopt("autopickup_exceptions ^= >wand.*random effects") crawl.setopt("autopickup_exceptions ^= >wand.*polymorph") crawl.setopt("autopickup_exceptions ^= >curare") crawl.setopt("autopickup_exceptions ^= >throwing net") PhaseB = false end if you.num_runes() >= 2 and PhaseC then crawl.setopt("autopickup_exceptions ^= >potion.*flight") crawl.setopt("autopickup_exceptions ^= >wand.*flame") crawl.setopt("autopickup_exceptions ^= >wand.*enslavement") crawl.setopt("autopickup_exceptions ^= >phantom mirror") crawl.setopt("autopickup_exceptions ^= >box of beasts") crawl.setopt("autopickup_exceptions ^= >sack of spiders") PhaseC = false end if ((spells.memorised("Death's Door") and spells.fail("Death's Door") <= 15) or you.skill("fighting") >= 18) and PhaseD then crawl.setopt("rest_wait_percent = 45") crawl.setopt("autopickup_exceptions ^= >wand.*disintegration") crawl.setopt("autopickup_exceptions ^= >scroll.*fear") crawl.setopt("autopickup_exceptions ^= >scroll.*summoning") crawl.setopt("autopickup_exceptions ^= #The difference between the <> and {} is when the code gets executed. #Code {}, it is executed right away. Other Lua code is executed only after the entire init file is read in. #If a ready() function exists within the rcfile, DCSS will execute it at the beginning of every turn. #Non-ready() functions will be executed once when the game loaded and reads the rcfile. #So function with variable conditions (for example, player XL.) should be supported by ready() function. #If not, the function won't do well without rcfile refreshing (which is annoying). ######## Local Webtile(CWZ) Settings ######################## #$ lab_gold_status = true #$ lab_maintain_session = false #$ lab_disable_chat_clear = true