diff options
-rw-r--r-- | GNUmakefile | 8 | ||||
-rw-r--r-- | world/map/.gitignore | 2 | ||||
-rw-r--r-- | world/map/conf/.gitignore | 5 | ||||
-rwxr-xr-x | world/map/conf/build-magic.sh | 13 | ||||
-rw-r--r-- | world/map/conf/magic-base.conf (renamed from world/map/conf/magic.conf.template) | 192 | ||||
-rw-r--r-- | world/map/conf/magic-secrets.conf.template | 86 | ||||
-rw-r--r-- | world/map/conf/motd.txt.example | 1 | ||||
-rw-r--r-- | world/map/conf/tmwa-map.conf | 7 | ||||
-rw-r--r-- | world/map/db/const-debugflag.txt.example | 6 | ||||
-rw-r--r-- | world/map/db/const.txt | 5 |
10 files changed, 167 insertions, 158 deletions
diff --git a/GNUmakefile b/GNUmakefile index eba06010..d4007f57 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -7,11 +7,15 @@ maps: % : | %.example cp "$|" "$@" -conf: \ +conf: world/map/conf/magic-secrets.conf \ login/conf/login_local.conf login/conf/ladmin_local.conf login/save/gm_account.txt login/save/account.txt \ -world/map/conf/map_local.conf world/map/conf/battle_local.conf world/map/conf/motd.txt world/map/conf/atcommand_local.conf \ +world/map/conf/map_local.conf world/map/conf/battle_local.conf world/map/conf/motd.txt world/map/conf/atcommand_local.conf world/map/db/const-debugflag.txt \ world/conf/char_local.conf +world/map/conf/magic-secrets.conf: world/map/conf/magic-secrets.conf.template world/map/conf/secrets-build + cd world/map/conf && ./build-magic.sh +world/map/conf/secrets-build: + mobxp: mobxp-impl indent-mobs mobxp-impl: mv world/map/db/mob_db.txt world/map/db/mob_db.old diff --git a/world/map/.gitignore b/world/map/.gitignore index a77fac4d..df8175f3 100644 --- a/world/map/.gitignore +++ b/world/map/.gitignore @@ -1,2 +1,4 @@ /news.html /news.txt + +/db/const-debugflag.txt diff --git a/world/map/conf/.gitignore b/world/map/conf/.gitignore index e21c4275..e20ba77d 100644 --- a/world/map/conf/.gitignore +++ b/world/map/conf/.gitignore @@ -1,5 +1,4 @@ /*_local.conf -/help.txt -/magic.conf +/magic-secrets.conf /motd.txt -/spells-build +/secrets-build diff --git a/world/map/conf/build-magic.sh b/world/map/conf/build-magic.sh index 30ec35b8..ca8a84fa 100755 --- a/world/map/conf/build-magic.sh +++ b/world/map/conf/build-magic.sh @@ -1,20 +1,19 @@ #! /bin/bash -RSCRIPT="spells-build" +OUTPUT=magic-secrets.conf +INPUT=$OUTPUT.template +RSCRIPT=secrets-build if ! grep -q -s '/bin/sed' $RSCRIPT; then echo '#! /bin/sed -f' > $RSCRIPT; chmod a+x $RSCRIPT fi -for n in `grep -o '"#..."' magic.conf.template`; do +for n in `grep -o '"#..."' $INPUT`; do if ! grep -q $n $RSCRIPT; then - CHANGES=1 + echo "New secret ${n} needs to be set in $RSCRIPT!" echo "s/${n}/${n}/" >> $RSCRIPT; fi done -if [ x$CHANGES == x1 ] -then echo "${RSCRIPT} has been updated; please provide invocations for spells and/or teleport anchors."; -else ./$RSCRIPT magic.conf.template > magic.conf; -fi +./$RSCRIPT $INPUT > $OUTPUT diff --git a/world/map/conf/magic.conf.template b/world/map/conf/magic-base.conf index 769ec572..87e1cac6 100644 --- a/world/map/conf/magic.conf.template +++ b/world/map/conf/magic-base.conf @@ -235,7 +235,7 @@ PROCEDURE abort_on_area_shield(pos) = # Level 0 spells #-------------------------------------------------------------------------------- -SPELL ask-magic-exp : "#G01" = +SPELL ask-magic-exp : "#abizit" = LET level = 0 school = MAGIC IN (MANA 1, CASTTIME 1000, @@ -287,7 +287,7 @@ SPELL ask-magic-exp : "#G01" = ELSE message (caster, "You feel completely overwhelmed by your magic."); ) -# SPELL ask-life-magic-exp : "#G02" = +# SPELL ask-life-magic-exp : "#heyogo" = # LET level = 0 # school = MAGIC # IN (MANA 1, CASTTIME 1000, @@ -296,7 +296,7 @@ SPELL ask-magic-exp : "#G01" = # CALL default_effect(); # message(caster, "You have " + ((script_int(caster, "MAGIC_EXPERIENCE") >> 24) & 0xff) + " Life Magic Experience points."); -SPELL transmute-wood-to-figurine (name : STRING) : "#T00" = +SPELL transmute-wood-to-figurine (name : STRING) : "#parum" = LET level = 0 school = TRANSMUTE IN (MANA 5, CASTTIME 4000, @@ -315,7 +315,7 @@ SPELL transmute-wood-to-figurine (name : STRING) : "#T00" = ) -SPELL make-sulphur : "#T01" = +SPELL make-sulphur : "#gole" = LET level = 0 school = TRANSMUTE IN (MANA 4, CASTTIME 4000, @@ -326,7 +326,7 @@ SPELL make-sulphur : "#T01" = CALL create_item("SulphurPowder", 1 + spellpower / 100 + (random(max(1, 800 - spellpower)) / 180), "PileOfAsh", 50); CALL gain_xp(1, 1); -SPELL lesser-heal (target : STRING) : "#L00" = +SPELL lesser-heal (target : STRING) : "#lum" = LET level = 0 school = LIFE IN (MANA 6, CASTTIME 500, @@ -351,7 +351,7 @@ SPELL lesser-heal (target : STRING) : "#L00" = CALL gain_xp(1, 2); -SPELL flare-dart : "#W00" = +SPELL flare-dart : "#flar" = LET level = 0 school = WAR IN (MANA 10, CASTTIME 500, @@ -369,7 +369,7 @@ SPELL flare-dart : "#W00" = CALL elt_damage (target, damage, damage_bonus, ELT_WATER, ELT_FIRE, 15); -SPELL magic-blade : "#W01" = +SPELL magic-blade : "#chiza" = LET level = 0 school = WAR IN (MANA 9, CASTTIME 500, @@ -388,7 +388,7 @@ SPELL magic-blade : "#W01" = ATTRIGGER CALL melee_damage(target, 40, 5 + str(caster)); ) -SPELL aggravate : "#N00" = +SPELL aggravate : "#itenplz" = LET level = 0 school = NATURE IN (MANA 3, CASTTIME 1000, @@ -400,7 +400,7 @@ SPELL aggravate : "#N00" = THEN (CALL sfx_generic(target); aggravate(target, 0, caster);) -SPELL grow-mauve : "#N01" = +SPELL grow-mauve : "#modrilax" = LET level = 0 school = NATURE IN (MANA 4, CASTTIME 2000, @@ -411,7 +411,7 @@ SPELL grow-mauve : "#N01" = CALL gain_xp(1, 6); spawn(rbox(location, 2), caster, 1029, 1, skill(caster, school) / 2 + 1, 10000); -SPELL grow-alizarin : "#N02" = +SPELL grow-alizarin : "#modriphoo" = LET level = 0 school = NATURE IN (MANA 4, CASTTIME 2000, @@ -422,7 +422,7 @@ SPELL grow-alizarin : "#N02" = CALL gain_xp(1, 7); spawn(rbox(location, 2), caster, 1032, 1, skill(caster, school) / 2 + 1, 10000); -SPELL grow-gamboge : "#N03" = +SPELL grow-gamboge : "#modriyikam" = LET level = 0 school = NATURE IN (MANA 4, CASTTIME 2000, @@ -433,7 +433,7 @@ SPELL grow-gamboge : "#N03" = CALL gain_xp(1, 8); spawn(rbox(location, 2), caster, 1031, 1, skill(caster, school) / 2 + 1, 10000); -SPELL grow-cobalt : "#N04" = +SPELL grow-cobalt : "#modrisump" = LET level = 0 school = NATURE IN (MANA 4, CASTTIME 2000, @@ -445,7 +445,7 @@ SPELL grow-cobalt : "#N04" = spawn(rbox(location, 2), caster, 1030, 1, skill(caster, school) / 2 + 1, 10000); -LOCAL SPELL summon-maggots : "#A00" = +LOCAL SPELL summon-maggots : "#kalmurk" = LET level = 0 school = ASTRAL IN (MANA 21, CASTTIME 20000, @@ -458,7 +458,7 @@ LOCAL SPELL summon-maggots : "#A00" = 5000 - (spellpower * 5), 10000 + (spellpower * 50), 1); -SPELL detect-magic : "#G00" = +SPELL detect-magic : "#miteyo" = LET level = 0 school = MAGIC IN (MANA 3, CASTTIME 6000, @@ -478,7 +478,7 @@ SPELL detect-magic : "#G00" = # Level 1 spells #-------------------------------------------------------------------------------- -SPELL make-arrows : "#T10" = +SPELL make-arrows : "#kularzufrill" = LET level = 1 school = TRANSMUTE IN (MANA 8, CASTTIME 5000, @@ -490,7 +490,7 @@ SPELL make-arrows : "#T10" = CALL create_item("Arrow", 1 + spellpower / 40 + (random(max(1, 800 - spellpower)) / 80), "WarpedLog", 500); CALL gain_xp(1, 11); -SPELL make-shirt : "#T11" = +SPELL make-shirt : "#patmuploo" = LET level = 1 school = TRANSMUTE IN (MANA 25, CASTTIME 5000, @@ -502,7 +502,7 @@ SPELL make-shirt : "#T11" = CALL create_item("CottonShirt", 1, "CottonCloth", 425); CALL gain_xp(2, 12); -SPELL make-tanktop : "#T12" = +SPELL make-tanktop : "#patloree" = LET level = 1 school = TRANSMUTE IN (MANA 25, CASTTIME 5000, @@ -514,7 +514,7 @@ SPELL make-tanktop : "#T12" = CALL create_item("TankTop", 1, "CottonCloth", 350); CALL gain_xp(2, 13); -SPELL make-short-tanktop : "#T13" = +SPELL make-short-tanktop : "#patviloree" = LET level = 1 school = TRANSMUTE IN (MANA 25, CASTTIME 5000, @@ -526,7 +526,7 @@ SPELL make-short-tanktop : "#T13" = CALL create_item("ShortTankTop", 1, "CottonCloth", 250); CALL gain_xp(2, 14); -SPELL make-iron-powder : "#T14" = +SPELL make-iron-powder : "#zukminbirf" = LET level = 1 school = TRANSMUTE IN (MANA 8, CASTTIME 5000, @@ -538,7 +538,7 @@ SPELL make-iron-powder : "#T14" = CALL create_item("IronPowder", 1 + spellpower / 140 + (random(max(1, 900 - spellpower)) / 220), "IronOre", 700); CALL gain_xp(3, 15); -SPELL make-concentration-potion : "#T15" = +SPELL make-concentration-potion : "#loshira" = LET level = 1 school = TRANSMUTE IN (MANA 8, CASTTIME 5000, @@ -554,7 +554,7 @@ SPELL make-concentration-potion : "#T15" = THEN CALL set_var(MAGIC_FLAGS, 1, MFLAG_MADE_CONC_POTION_SHIFT, 1); CALL gain_xp(4, 16); -SPELL merge-concentration-potions : "#T16" = +SPELL merge-concentration-potions : "#skrimp" = LET level = 1 school = TRANSMUTE IN (MANA 8, CASTTIME 5000, @@ -570,7 +570,7 @@ SPELL merge-concentration-potions : "#T16" = CALL gain_xp(4, 17); -SPELL lay-on-hands (target : STRING) : "#L10" = +SPELL lay-on-hands (target : STRING) : "#inma" = LET level = 1 school = LIFE IN (MANA 10, CASTTIME 500, @@ -621,7 +621,7 @@ SPELL lay-on-hands (target : STRING) : "#L10" = status_change(caster, SC_HALT_REGENERATE, 0, 0, 0, 0, t); CALL gain_xp(min(4, payment / 100), 18); -SPELL lightning-strike : "#W10" = +SPELL lightning-strike : "#ingrav" = LET level = 1 school = WAR IN (MANA 20, CASTTIME 1000, @@ -659,7 +659,7 @@ SPELL lightning-strike : "#W10" = ) ELSE CALL elt_damage (target, damage, damage_bonus, ELT_EARTH, ELT_WIND, 17 + random(3)); -LOCAL SPELL arrow-hail : "#W11" = +LOCAL SPELL arrow-hail : "#frillyar" = LET level = 1 school = WAR IN (MANA 25, CASTTIME 5000, @@ -701,7 +701,7 @@ LOCAL SPELL arrow-hail : "#W11" = WAIT 250 + random(50) + random(50); ); -SPELL magic-knuckles : "#W12" = +SPELL magic-knuckles : "#upmarmu" = LET level = 1 school = WAR IN (MANA 20, CASTTIME 500, @@ -714,7 +714,7 @@ SPELL magic-knuckles : "#W12" = CALL install_melee_spell(10 + spellpower / 10, 1300, 34); ATTRIGGER CALL melee_damage(target, 30, 5 + (str * 2)); -#SPELL death-wave : "#D10" = +#SPELL death-wave : "#nertuq" = # LET level = 1 # school = DARK # IN (MANA 75, CASTTIME 10000, @@ -738,7 +738,7 @@ SPELL magic-knuckles : "#W12" = # FOREACH MOB target IN rbox(location(caster), d / 20) DO # (CALL elt_damage(target, damage, damage_bonus, ELT_HOLY, ELT_SHADOW, 15 + random(5));) -LOCAL SPELL summon-snakes : "#D11" = +LOCAL SPELL summon-snakes : "#halhiss" = LET level = 1 school = DARK IN (MANA 40, CASTTIME 15000, @@ -751,7 +751,7 @@ LOCAL SPELL summon-snakes : "#D11" = CALL gain_xp(3, 31); CALL summon_dark_spell(1010, 1 + spellpower / 300, 4000 - (spellpower * 9), spellpower * 80, 2); -#LOCAL SPELL summon-black-scorpions : "#D12" = +#LOCAL SPELL summon-black-scorpions : "#halproc" = # LET level = 1 # school = DARK # IN (MANA 40, CASTTIME 15000, @@ -764,7 +764,7 @@ LOCAL SPELL summon-snakes : "#D11" = # CALL gain_xp(3, 32); # CALL summon_dark_spell(1009, 1 + spellpower / 300, 4000 - (spellpower * 9), spellpower * 80, 2); -#LOCAL SPELL summon-skeletons : "#D13" = # only release this if content has been adjusted or mob has been replaced with a nerfed one +#LOCAL SPELL summon-skeletons : "#halheth" = # only release this if content has been adjusted or mob has been replaced with a nerfed one # LET level = 1 # school = DARK # IN (MANA 50, CASTTIME 17000, @@ -777,7 +777,7 @@ LOCAL SPELL summon-snakes : "#D11" = # CALL gain_xp(3, 33); # CALL summon_dark_spell(1043, spellpower / 325, 4000 - (spellpower * 9), spellpower * 70, 2); -#SPELL shadow-strike : "#D14" = +#SPELL shadow-strike : "#phlos" = # LET level = 1 # school = DARK # IN (MANA 20, CASTTIME 1300, @@ -796,7 +796,7 @@ LOCAL SPELL summon-snakes : "#D11" = # ATTRIGGER CALL attack_check(target); # CALL elt_damage (target, damage, damage_bonus, ELT_HOLY, ELT_SHADOW, 15 + random(5)); -SPELL toxic-dart : "#D15" = +SPELL toxic-dart : "#phlex" = LET level = 1 school = DARK IN (MANA 15, CASTTIME 500, @@ -816,7 +816,7 @@ SPELL toxic-dart : "#D15" = IF (is_pc(target) && caster <> target) THEN status_change(target, SC_POISON, 5 + max(15, spellpower / 15), 0, 0, 0, 5000 + (spellpower * 1200)); -LOCAL SPELL summon-wickedmushroom : "#D16" = +LOCAL SPELL summon-wickedmushroom : "#helorp" = LET level = 1 school = DARK IN (MANA 35, CASTTIME 15000, @@ -829,7 +829,7 @@ LOCAL SPELL summon-wickedmushroom : "#D16" = CALL gain_xp(3, 36); CALL summon_dark_spell(1106, 1 + spellpower / 250 , 4000 - (spellpower * 9), spellpower * 80, 2); -SPELL flying-backpack (target : PC) : "#N10" = +SPELL flying-backpack (target : PC) : "#plugh" = LET level = 1 school = NATURE IN (MANA 12, CASTTIME 1000, @@ -847,7 +847,7 @@ SPELL flying-backpack (target : PC) : "#N10" = ATEND message (target, "Your backpack is no longer levitating."); sfx(target, 2, 0); -SPELL protect (target : PC) : "#N11" = +SPELL protect (target : PC) : "#betsanc" = LET level = 1 school = NATURE IN (MANA 14, CASTTIME 1500, @@ -866,7 +866,7 @@ SPELL protect (target : PC) : "#N11" = ATEND message (target, "You feel less protected."); sfx(target, 111, 0); -SPELL happy-curse (target : PC) : "#N12" = +SPELL happy-curse (target : PC) : "#joyplim" = LET level = 1 school = NATURE IN (MANA 13, CASTTIME 1000, @@ -881,7 +881,7 @@ SPELL happy-curse (target : PC) : "#N12" = ELSE FOR i = 0 TO (spellpower / 10) DO (emote(target, 3); WAIT 500;); CALL gain_xp(1, 23); -LOCAL SPELL rain : "#N13" = +LOCAL SPELL rain : "#kaflosh" = LET level = 1 school = NATURE IN (MANA 17, CASTTIME 3000, @@ -940,7 +940,7 @@ PROCEDURE shear-drop3(target, target2, item, prob, item2, prob2, item3, prob3) = ELSE CALL shear-drop2(target, target2, item2, prob2 + prob, item3, prob3 + prob);) -SPELL shear : "#N14" = +SPELL shear : "#chipchip" = LET level = 1 school = NATURE IN (MANA 23, CASTTIME 1000, @@ -972,7 +972,7 @@ SPELL shear : "#N14" = -SPELL barrier (target : PC) : "#A10" = +SPELL barrier (target : PC) : "#asorm" = LET level = 1 school = ASTRAL IN (MANA 16, CASTTIME 1000, @@ -992,7 +992,7 @@ SPELL barrier (target : PC) : "#A10" = sfx(target, SFX_UNBARRIER, 0); -LOCAL SPELL summon-spiky-mushrooms : "#A11" = +LOCAL SPELL summon-spiky-mushrooms : "#kalrenk" = LET level = 1 school = ASTRAL IN (MANA 33, CASTTIME 20000, @@ -1004,7 +1004,7 @@ LOCAL SPELL summon-spiky-mushrooms : "#A11" = CALL gain_xp(1, 26); CALL summon_spell(1019, 1 + spellpower / 120, 5000 - (spellpower * 9), spellpower * 400, 2); -LOCAL SPELL summon-fluffies : "#A12" = +LOCAL SPELL summon-fluffies : "#kalakarenk" = LET level = 1 school = ASTRAL IN (MANA 39, CASTTIME 20000, @@ -1016,7 +1016,7 @@ LOCAL SPELL summon-fluffies : "#A12" = CALL gain_xp(1, 27); CALL summon_spell(1020, 1 + spellpower / 170 + spellpower / 430, 5000 - (spellpower * 8), spellpower * 350, 2); -LOCAL SPELL summon-mouboo : "#A14" = +LOCAL SPELL summon-mouboo : "#kalboo" = LET level = 1 school = ASTRAL IN (MANA 35, CASTTIME 20000, @@ -1028,7 +1028,7 @@ LOCAL SPELL summon-mouboo : "#A14" = CALL gain_xp(2, 37); CALL summon_spell(1028, 1 + spellpower / 270 , 4000 - (spellpower * 9), spellpower * 100, 2); -LOCAL SPELL summon-pinkie : "#A15" = +LOCAL SPELL summon-pinkie : "#kalgina" = LET level = 1 school = ASTRAL IN (MANA 35, CASTTIME 20000, @@ -1040,7 +1040,7 @@ LOCAL SPELL summon-pinkie : "#A15" = CALL gain_xp(2, 38); CALL summon_spell(1018, 1 + spellpower / 120, 5000 - (spellpower * 9), spellpower * 150, 2); -SPELL detect-players : "#G10" = +SPELL detect-players : "#inwilt" = LET level = 1 school = MAGIC IN (MANA 7, CASTTIME 300, @@ -1063,7 +1063,7 @@ SPELL detect-players : "#G10" = THEN message(caster, "You sense no-one else nearby."); ELSE message(caster, "You sense the following: " + message); -SPELL enchant-lifestone : "#G12" = +SPELL enchant-lifestone : "#manpahil" = LET level = 1 school = MAGIC IN (MANA 15, CASTTIME 4000, @@ -1076,7 +1076,7 @@ SPELL enchant-lifestone : "#G12" = create_item(caster, "Lifestone", 1); CALL gain_xp(1, 28); -SPELL sense-spouse : "#G13" = +SPELL sense-spouse : "#inzuwilt" = LET level = 1 school = MAGIC IN (MANA 7, CASTTIME 400, @@ -1113,7 +1113,7 @@ SPELL sense-spouse : "#G13" = ELSE message(caster, "You sense " + name + " in the " + dir + "."); ) -SPELL hide (target : PC) : "#A13" = +SPELL hide (target : PC) : "#anwiltyp" = LET level = 1 school = ASTRAL IN (MANA 11, CASTTIME 1000, @@ -1135,7 +1135,7 @@ SPELL hide (target : PC) : "#A13" = # Level 2 spells #-------------------------------------------------------------------------------- -SPELL cure-poison (target : PC) : "#L20" = +SPELL cure-poison (target : PC) : "#anju" = LET level = 2 school = LIFE IN (MANA 15, CASTTIME 1000, @@ -1154,7 +1154,7 @@ SPELL cure-poison (target : PC) : "#L20" = THEN sfx(target, SFX_HEAL, 0);); -SPELL fire-ball : "#W22" = +SPELL fire-ball : "#flarfol" = LET level = 2 school = WAR IN (MANA 30, CASTTIME 1000, @@ -1179,7 +1179,7 @@ SPELL fire-ball : "#W22" = CALL elt_damage (target, (damage * 3) / divisor, (damage_bonus * 3) / divisor, ELT_WATER, ELT_FIRE, 15); ) -SPELL summon-partner : "#A23" = +SPELL summon-partner : "#kalzumin" = LET level = 2 school = ASTRAL IN (MANA 30, CASTTIME 2000, @@ -1212,7 +1212,7 @@ SPELL summon-partner : "#A23" = # Level 4 spells #-------------------------------------------------------------------------------- -SPELL shroud : "#N40" = +SPELL shroud : "#anwilvimar" = LET level = 4 school = NATURE IN (MANA 40, CASTTIME 400, @@ -1221,7 +1221,7 @@ SPELL shroud : "#N40" = => EFFECT CALL default_effect(); shroud(caster, 0x04); -SPELL teleport (destination : STRING) : "#A40" = +SPELL teleport (destination : STRING) : "#vorp" = LET level = 4 school = ASTRAL IN (MANA 80, CASTTIME 400, @@ -1624,7 +1624,7 @@ CONST E10_FLAG_USED_FREE_WARP_SHIFT = 17 # spawn(rbox(location(caster), 20), caster, 1042, random(random(5)), 1, 100000); # spawn(rbox(location(caster), 20), caster, 1047, random(random(5)), 1, 100000); -NONMAGIC SILENT SPELL world-shift : "#S00" = +NONMAGIC SILENT SPELL world-shift : "#alonzialonzo" = (REQUIRE (script_int(caster, "Easter_2010_QuestState") >> 16) & 1 == 1 && (script_int(caster, "Easter_2010_QuestState") >> 7) & 3 == 2) => # Travel only works when you have both helped the doctor at least thrice and have defeated the invader - top level requirement. ( (REQUIRE (count_item(caster, "DarkPetal")) && # Allow unlimited travel with the petal (map_nr(location(caster)) != 52) && # Do not allow if player is in Illia island @@ -1759,94 +1759,6 @@ NONMAGIC SPELL hug5 (target : STRING) : "*hugs" = REQUIRE ((rdistance(location(c || rdistance(location(caster), location(npc("#DruidTree1#_M"))) <= 1)) => EFFECT CALL hug_tree(target); - -# coding of generic spellinvocations -# #[indicates difficulty level][indicates questionnumber][indicates answerpossibility] -# X = easy; Y = medium; Z = hard -# each question have a number of possible answers (mostly using capital letters or not) - -NONMAGIC SPELL towelanswer00a : "#X00" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer00b : "#X01" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer01a : "#X10" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer01b : "#X11" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer02a : "#X20" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer02b : "#X21" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer03a : "#X30" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer03b : "#X31" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer04a : "#X40" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer04b : "#X41" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer05a : "#X50" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer05b : "#X51" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer05c : "#X52" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer05d : "#X53" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer06a : "#X60" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer06b : "#X61" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer06c : "#X62" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer06d : "#X63" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer07a : "#X70" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer07b : "#X71" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer08a : "#X80" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer08b : "#X81" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer08c : "#X82" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer08d : "#X83" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer09a : "#X90" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer09b : "#X91" = EFFECT { message strcharinfo(0), ""; }; - -NONMAGIC SPELL towelanswer10a : "#Y00" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer10b : "#Y01" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer11a : "#Y10" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer11b : "#Y11" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer12a : "#Y20" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer12b : "#Y21" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer13a : "#Y30" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer13b : "#Y31" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer14a : "#Y40" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer14b : "#Y41" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer15a : "#Y50" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer15b : "#Y51" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer15c : "#Y52" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer16a : "#Y60" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer16b : "#Y61" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer17a : "#Y70" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer17b : "#Y71" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer18a : "#Y80" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer18b : "#Y81" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer18c : "#Y82" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer18d : "#Y83" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer19a : "#Y90" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer19b : "#Y91" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer19c : "#Y92" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer19d : "#Y93" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer110a : "#YA0" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer110b : "#YA1" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer111a : "#YB0" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer111b : "#YB1" = EFFECT { message strcharinfo(0), ""; }; - -NONMAGIC SPELL towelanswer20a : "#Z00" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer20b : "#Z01" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer20c : "#Z02" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer20d : "#Z03" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer21a : "#Z10" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer21b : "#Z11" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer22a : "#Z20" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer22b : "#Z21" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer23a : "#Z30" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer23b : "#Z31" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer24a : "#Z40" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer24b : "#Z41" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer25a : "#Z50" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer25b : "#Z51" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer26a : "#Z60" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer26b : "#Z61" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer27a : "#Z62" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer27b : "#Z63" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer27c : "#Z70" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer27d : "#Z71" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer28a : "#Z72" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer28b : "#Z73" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer29a : "#Z80" = EFFECT { message strcharinfo(0), ""; }; -NONMAGIC SPELL towelanswer29b : "#Z81" = EFFECT { message strcharinfo(0), ""; }; - #-------------------------------------------------------------------------------- # Teleport anchors #-------------------------------------------------------------------------------- diff --git a/world/map/conf/magic-secrets.conf.template b/world/map/conf/magic-secrets.conf.template new file mode 100644 index 00000000..c53ee8a8 --- /dev/null +++ b/world/map/conf/magic-secrets.conf.template @@ -0,0 +1,86 @@ +# coding of generic spellinvocations +# #[indicates difficulty level][indicates questionnumber][indicates answerpossibility] +# X = easy; Y = medium; Z = hard +# each question have a number of possible answers (mostly using capital letters or not) + +NONMAGIC SPELL towelanswer00a : "#X00" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer00b : "#X01" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer01a : "#X10" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer01b : "#X11" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer02a : "#X20" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer02b : "#X21" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer03a : "#X30" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer03b : "#X31" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer04a : "#X40" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer04b : "#X41" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer05a : "#X50" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer05b : "#X51" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer05c : "#X52" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer05d : "#X53" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer06a : "#X60" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer06b : "#X61" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer06c : "#X62" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer06d : "#X63" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer07a : "#X70" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer07b : "#X71" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer08a : "#X80" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer08b : "#X81" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer08c : "#X82" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer08d : "#X83" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer09a : "#X90" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer09b : "#X91" = EFFECT { message strcharinfo(0), ""; }; + +NONMAGIC SPELL towelanswer10a : "#Y00" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer10b : "#Y01" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer11a : "#Y10" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer11b : "#Y11" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer12a : "#Y20" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer12b : "#Y21" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer13a : "#Y30" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer13b : "#Y31" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer14a : "#Y40" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer14b : "#Y41" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer15a : "#Y50" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer15b : "#Y51" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer15c : "#Y52" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer16a : "#Y60" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer16b : "#Y61" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer17a : "#Y70" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer17b : "#Y71" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer18a : "#Y80" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer18b : "#Y81" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer18c : "#Y82" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer18d : "#Y83" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer19a : "#Y90" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer19b : "#Y91" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer19c : "#Y92" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer19d : "#Y93" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer110a : "#YA0" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer110b : "#YA1" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer111a : "#YB0" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer111b : "#YB1" = EFFECT { message strcharinfo(0), ""; }; + +NONMAGIC SPELL towelanswer20a : "#Z00" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer20b : "#Z01" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer20c : "#Z02" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer20d : "#Z03" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer21a : "#Z10" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer21b : "#Z11" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer22a : "#Z20" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer22b : "#Z21" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer23a : "#Z30" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer23b : "#Z31" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer24a : "#Z40" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer24b : "#Z41" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer25a : "#Z50" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer25b : "#Z51" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer26a : "#Z60" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer26b : "#Z61" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer27a : "#Z62" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer27b : "#Z63" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer27c : "#Z70" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer27d : "#Z71" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer28a : "#Z72" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer28b : "#Z73" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer29a : "#Z80" = EFFECT { message strcharinfo(0), ""; }; +NONMAGIC SPELL towelanswer29b : "#Z81" = EFFECT { message strcharinfo(0), ""; }; diff --git a/world/map/conf/motd.txt.example b/world/map/conf/motd.txt.example index 548a95cd..9c949dda 100644 --- a/world/map/conf/motd.txt.example +++ b/world/map/conf/motd.txt.example @@ -1 +1,2 @@ Welcome to The Mana World! (running on tmwAthena) +You can report abuse by typing in chat: @wgm Player XYZ is abusing me diff --git a/world/map/conf/tmwa-map.conf b/world/map/conf/tmwa-map.conf index b293b36c..e26e16c4 100644 --- a/world/map/conf/tmwa-map.conf +++ b/world/map/conf/tmwa-map.conf @@ -11,9 +11,14 @@ battle_conf: conf/battle_athena.conf atcommand_conf: conf/atcommand_athena.conf const_db: db/const.txt +const_db: db/const-debugflag.txt + item_db: db/item_db.txt mob_db: db/mob_db.txt mob_skill_db: db/mob_skill_db.txt skill_db: db/skill_db.txt -magic_conf: conf/magic.conf + +magic_conf: conf/magic-base.conf +magic_conf: conf/magic-secrets.conf + resnametable: data/resnametable.txt diff --git a/world/map/db/const-debugflag.txt.example b/world/map/db/const-debugflag.txt.example new file mode 100644 index 00000000..1e5bf8f4 --- /dev/null +++ b/world/map/db/const-debugflag.txt.example @@ -0,0 +1,6 @@ +// Constants usable in scripts. + +// This constant is used to define whether unreleased items are equippable. +// This defaults to 1, but should be disabled on the official server. +// If set to 2 or higher, it also disables global timers to aid gdb'ing. +debug 1 diff --git a/world/map/db/const.txt b/world/map/db/const.txt index 2363a1a2..7001cce1 100644 --- a/world/map/db/const.txt +++ b/world/map/db/const.txt @@ -1,9 +1,4 @@ // Constants usable in scripts. -// This constant is used to define whether unreleased items are equippable. -// This defaults to 1, but should be disabled on the official server. -// If set to 2 or higher, it also disables global timers to aid gdb'ing. - -debug 1 // BEFORE UNCOMMENTING ANYTHING, TALK TO o11c! //MF_NOMEMO 0 |