diff options
author | mekolat <mekolat@users.noreply.github.com> | 2016-03-15 14:00:04 -0400 |
---|---|---|
committer | mekolat <mekolat@users.noreply.github.com> | 2016-03-30 11:22:57 -0400 |
commit | a99779828dd609f004a17048d72bbfeb484a81bd (patch) | |
tree | f3605c8bdded9dd1f89461001a316fbf2fb1be26 | |
parent | 8d9de1d4d43b4548aa544a995d402173e7e56af8 (diff) | |
download | classic-serverdata-a99779828dd609f004a17048d72bbfeb484a81bd.tar.gz classic-serverdata-a99779828dd609f004a17048d72bbfeb484a81bd.tar.bz2 classic-serverdata-a99779828dd609f004a17048d72bbfeb484a81bd.tar.xz classic-serverdata-a99779828dd609f004a17048d72bbfeb484a81bd.zip |
get rid of magic secrets, convert stranger quiz
-rw-r--r-- | GNUmakefile | 7 | ||||
-rw-r--r-- | world/map/conf/.gitignore | 3 | ||||
-rwxr-xr-x | world/map/conf/build-magic.sh | 19 | ||||
-rw-r--r-- | world/map/conf/magic-secrets.sex.template | 241 | ||||
-rw-r--r-- | world/map/npc/002-2/stranger.txt | 235 | ||||
-rw-r--r-- | world/map/npc/functions/quiz.txt | 5 | ||||
-rw-r--r-- | world/map/npc/functions/strangerquiz.txt | 8 | ||||
-rw-r--r-- | world/map/npc/magic/README.md | 18 | ||||
-rw-r--r-- | world/map/npc/scripts.conf | 1 |
9 files changed, 99 insertions, 438 deletions
diff --git a/GNUmakefile b/GNUmakefile index 85989f6a..8f124784 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -7,16 +7,11 @@ maps: % : | %.example cp "$|" "$@" -conf: world/map/conf/magic-secrets.sex \ -login/conf/login_local.conf login/conf/ladmin_local.conf login/save/gm_account.txt login/save/account.txt \ +conf: login/conf/login_local.conf login/conf/ladmin_local.conf login/save/gm_account.txt login/save/account.txt \ world/conf/char_local.conf \ world/map/conf/map_local.conf world/map/conf/battle_local.conf world/map/conf/atcommand_local.conf world/map/db/const-debugflag.txt \ world/map/npc/functions/motd.txt world/map/npc/commands/_atcommand_local.txt -world/map/conf/magic-secrets.sex: world/map/conf/magic-secrets.sex.template world/map/conf/secrets-build - cd world/map/conf && ./build-magic.sh -world/map/conf/secrets-build: - format: find world/map/npc -type f -exec sed -ri \ -e "s%([^|]+)\|script\|([^|]+)\|-1%\1|script|\2|32767%ig" \ diff --git a/world/map/conf/.gitignore b/world/map/conf/.gitignore index c2b48eb6..2c43e911 100644 --- a/world/map/conf/.gitignore +++ b/world/map/conf/.gitignore @@ -1,4 +1 @@ /*_local.conf -/magic-secrets.conf -/magic-secrets.sex -/secrets-build diff --git a/world/map/conf/build-magic.sh b/world/map/conf/build-magic.sh deleted file mode 100755 index 77337df7..00000000 --- a/world/map/conf/build-magic.sh +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/bash - -OUTPUT=magic-secrets.sex -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 '"#..."' $INPUT`; do - if ! grep -q $n $RSCRIPT; then - echo "New secret ${n} needs to be set in $RSCRIPT!" - echo "s/${n}/${n}/" >> $RSCRIPT; - fi -done - -./$RSCRIPT $INPUT > $OUTPUT diff --git a/world/map/conf/magic-secrets.sex.template b/world/map/conf/magic-secrets.sex.template deleted file mode 100644 index 78d5e5d7..00000000 --- a/world/map/conf/magic-secrets.sex.template +++ /dev/null @@ -1,241 +0,0 @@ -" 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)" -(SPELL (NONMAGIC) towelanswer00a "#X00" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer00b "#X01" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer01a "#X10" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer01b "#X11" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer02a "#X20" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer02b "#X21" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer03a "#X30" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer03b "#X31" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer04a "#X40" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer04b "#X41" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer05a "#X50" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer05b "#X51" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer05c "#X52" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer05d "#X53" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer06a "#X60" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer06b "#X61" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer06c "#X62" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer06d "#X63" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer07a "#X70" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer07b "#X71" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer08a "#X80" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer08b "#X81" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer08c "#X82" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer08d "#X83" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer09a "#X90" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer09b "#X91" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer10a "#Y00" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer10b "#Y01" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer11a "#Y10" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer11b "#Y11" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer12a "#Y20" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer12b "#Y21" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer13a "#Y30" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer13b "#Y31" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer14a "#Y40" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer14b "#Y41" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer15a "#Y50" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer15b "#Y51" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer15c "#Y52" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer16a "#Y60" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer16b "#Y61" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer17a "#Y70" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer17b "#Y71" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer18a "#Y80" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer18b "#Y81" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer18c "#Y82" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer18d "#Y83" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer19a "#Y90" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer19b "#Y91" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer19c "#Y92" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer19d "#Y93" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer110a "#YA0" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer110b "#YA1" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer111a "#YB0" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer111b "#YB1" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer20a "#Z00" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer20b "#Z01" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer20c "#Z02" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer20d "#Z03" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer21a "#Z10" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer21b "#Z11" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer22a "#Z20" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer22b "#Z21" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer23a "#Z30" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer23b "#Z31" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer24a "#Z40" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer24b "#Z41" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer25a "#Z50" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer25b "#Z51" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer26a "#Z60" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer26b "#Z61" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer27a "#Z62" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer27b "#Z63" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer27c "#Z70" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer27d "#Z71" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer28a "#Z72" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer28b "#Z73" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer29a "#Z80" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) -(SPELL (NONMAGIC) towelanswer29b "#Z81" () - (EFFECT - (SCRIPT "{ message strcharinfo(0), \"\"; }"))) diff --git a/world/map/npc/002-2/stranger.txt b/world/map/npc/002-2/stranger.txt index 8186636b..1367e6f7 100644 --- a/world/map/npc/002-2/stranger.txt +++ b/world/map/npc/002-2/stranger.txt @@ -58,171 +58,104 @@ L_Towel: mes "\"The first one is easy.\""; next; - setarray @easy_questions$, - "What two words are written in big friendly letters on the back cover?", - "What's the name of the paranoid robot?", - "What is the answer to life, the universe and everything?", - "What is the first name of the author of the hitchhikers guide?", - "What is the last name of the author of the hitchhikers guide?", - "Who is the male human protagonist?", - "Who is the female human protagonist?", - "According to the Guide, space is ____?", - "What is the name of the spaceship which was stolen by the president of the universe?", - "How many heads does Zaphod Beeblebrox have?"; - - setarray @easy_answers_amount,2,2,2,2,2,4,4,2,4,2; - - set @random, rand(10); - mes "\"" + @easy_questions$[@random] + "\""; - input @answer$; - - if (@easy_answers_amount[@random] < 4) - goto L_Easy_Skip4; - set @quizparam$, "towelanswer0" + @random + "d"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Easy; - goto L_Easy_Skip4; - -L_Easy_Skip4: - if (@easy_answers_amount[@random] < 3) - goto L_Easy_Skip3; - set @quizparam$, "towelanswer0" + @random + "c"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Easy; - goto L_Easy_Skip3; - -L_Easy_Skip3: - set @quizparam$, "towelanswer0" + @random + "b"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Easy; - - set @quizparam$, "towelanswer0" + @random + "a"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Easy; - - goto L_Wrong_Answer; - -L_Right_Answer_Easy: + setarray @quiz_questions$[0], + "What two words are written in big friendly letters on the back cover?", + "What's the name of the paranoid robot?", + "What is the answer to life, the universe and everything?", + "What is the first name of the author of the hitchhikers guide?", + "What is the last name of the author of the hitchhikers guide?", + "Who is the male human protagonist?", + "Who is the female human protagonist?", + "According to the Guide, space is ___?", + "What is the name of the spaceship which was stolen by the president of the universe?", + "How many heads does Zaphod Beeblebrox have?"; + setarray @quiz_answers$[0], + "Don't Panic", + "Marvin", + "42", + "Douglas", + "Adams", + "Arthur Philip Dent", + "Trillian", + "Big", + "Heart of Gold", + "2"; + + callfunc "MultiQuiz"; + if (@success == 0) goto L_Wrong_Answer; + mes "[Stranger]"; mes "\"You're absolutely right. The next one will be more tricky.\""; next; - setarray @medium_questions$, - "What is the name of the rock group claiming to be the loudest band in the universe?", - "What star is near Ford's home planet?", - "Which country does the human protagonist come from?", - "What is the name of the computer on The Heart of Gold?", - "What color is a Babel Fish?", - "What did the bowl of petunias think?", - "What body orifice should a babel fish be inserted in to work properly?", - "What is the name of the super computer?", - "What were the second most intelligent creatures on Earth?", - "What race creates the worst poetry in universe?", - "What is the name of the Vogon home planet?", - "What is the name of the Restaurant at the End of the Universe?"; - - setarray @medium_answers_amount,2,2,2,2,2,3,2,2,4,4,2,2; - - set @random, rand(12); - mes "\"" + @medium_questions$[@random] + "\""; - input @answer$; - - if (@medium_answers_amount[@random] < 4) - goto L_Medium_Skip4; - - set @quizparam$, "towelanswer1" + @random + "d"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Medium; - goto L_Medium_Skip4; - -L_Medium_Skip4: - if (@medium_answers_amount[@random] < 3) - goto L_Medium_Skip3; - set @quizparam$, "towelanswer1" + @random + "c"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Medium; - goto L_Medium_Skip3; - -L_Medium_Skip3: - set @quizparam$, "towelanswer1" + @random + "b"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Medium; - - set @quizparam$, "towelanswer1" + @random + "a"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Medium; - - goto L_Wrong_Answer; - -L_Right_Answer_Medium: + setarray @quiz_questions$[0], + "What is the name of the rock group claiming to be the loudest band in the universe?", + "What star is near Ford's home planet?", + "Which country does the human protagonist come from?", + "What is the name of the computer on The Heart of Gold?", + "What color is a Babel Fish?", + "What did the bowl of petunias think?", + "What body orifice should a babel fish be inserted in to work properly?", + "What is the name of the super computer?", + "What were the second most intelligent creatures on Earth?", + "What race creates the worst poetry in universe?", + "What is the name of the Vogon home planet?", + "What is the name of the Restaurant at the End of the Universe?"; + setarray @quiz_answers$[0], + "Disaster Area", + "Betelgeuse", + "England", + "Eddie", + "Yellow", + "Oh no, not again", + "Ear", + "Deep Thought", + "Dolphins", + "Vogons", + "Vogsphere", + "Milliways"; + + callfunc "MultiQuiz"; + if (@success == 0) goto L_Wrong_Answer; + mes "[Stranger]"; mes "\"Not bad, not bad. Let's see if you can answer an even more difficult one.\""; next; - setarray @hard_questions$, - "Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?", - "How many pints of beers should you drink before hitchhiking?", - "What initials are carved into Zaphod Beeblebrox's brain?", - "What is Ford Prefect's nickname?", - "Who is responsible for the fjords of Norway?", - "What game is played on earth as a relict of memories to an ancient war?", - "What is the name of the triple-breasted whore from Eroticon VI?", - "Who will insult every living being in the universe, because he is immortal and getting bored?", - "What is the name of the piteous creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?"; - - setarray @hard_answers_amount,4,2,2,2,2,2,2,4,2; - - set @random, rand(9); - mes "\"" + @hard_questions$[@random] + "\""; - input @answer$; - - if (@hard_answers_amount[@random] < 4) - goto L_Hard_Skip4; - set @quizparam$, "towelanswer2" + @random + "d"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Hard; - goto L_Hard_Skip4; - -L_Hard_Skip4: - if (@hard_answers_amount[@random] < 3) - goto L_Hard_Skip3; - set @quizparam$, "towelanswer2" + @random + "c"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Hard; - goto L_Hard_Skip3; - -L_Hard_Skip3: - set @quizparam$, "towelanswer2" + @random + "b"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Hard; - - set @quizparam$, "towelanswer2" + @random + "a"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Hard; - - goto L_Wrong_Answer; - -L_Right_Answer_Hard: + setarray @quiz_questions$[0], + "Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?", + "How many pints of beers should you drink before hitchhiking?", + "What initials are carved into Zaphod Beeblebrox's brain?", + "What is Ford Prefect's nickname?", + "Who is responsible for the fjords of Norway?", + "What game is played on earth as a relict of memories to an ancient war?", + "What is the name of the triple-breasted whore from Eroticon VI?", + "Who will insult every living being in the universe, because he is immortal and getting bored?", + "What is the name of the piteous creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?"; + setarray @quiz_answers$[0], + "Pan Galactic Gargle Blaster", + "3", + "ZB", + "Ix", + "Slartibartfast", + "Cricket", + "Eccentrica Gallumbits", + "Wowbagger", + "Agrajag"; + + callfunc "MultiQuiz"; + if (@success == 0) goto L_Wrong_Answer; + mes "[Stranger]"; mes "\"Unbelievable! You're really a wise person.\""; next; mes "\"One last question, but this shouldn't be a problem for you.\""; next; mes "\"What is the most important item for every hitchhiker to have?\""; - input @answer$; - if (@answer$ != "Towel" && @answer$ != "towel") + mes ""; + mes "##BDrag & drop the item from your inventory##b."; + requestitem @answer$; + if (@answer$ != "Towel" && @answer$ != "HitchhikersTowel") goto L_Wrong_Answer; mes "[Stranger]"; diff --git a/world/map/npc/functions/quiz.txt b/world/map/npc/functions/quiz.txt index ea10a3c4..0f2f7c87 100644 --- a/world/map/npc/functions/quiz.txt +++ b/world/map/npc/functions/quiz.txt @@ -1,3 +1,8 @@ +// FIXME/TODO: some variables should be scoped, and some other variables +// combined in an array, with a very specific name, to avoid +// collisions. The script as a whole should be optimized to +// take advangage of magic-v3 + function|script|MultiQuiz { if((getarraysize(@quiz_answers$) != getarraysize(@quiz_questions$)) || diff --git a/world/map/npc/functions/strangerquiz.txt b/world/map/npc/functions/strangerquiz.txt deleted file mode 100644 index 3427a0ee..00000000 --- a/world/map/npc/functions/strangerquiz.txt +++ /dev/null @@ -1,8 +0,0 @@ - -function|script|StrangerQuiz -{ - // param @quizparam$$ - // return in @quizanswer$ - set @quizanswer$, (@quizparam$); - return; -} diff --git a/world/map/npc/magic/README.md b/world/map/npc/magic/README.md index 1ba351d1..89d0fe12 100644 --- a/world/map/npc/magic/README.md +++ b/world/map/npc/magic/README.md @@ -1,15 +1,15 @@ # To-do - [X] finish the missing spells and push them so they can be tested - [ ] Deal with the removal of the following spells from magic to NPCs or Commands - - Ched - - [ ] merge-concentration-potions - - [ ] Auldsbel - - [ ] make-short-tanktop - - [ ] make-tanktop - - [ ] make-shirt - - [ ] make-concentration-potion - - Wyara - - [ ] sense-spouse + - [X] Ched + - [ ] merge-concentration-potions + - [ ] Auldsbel + - [ ] make-short-tanktop + - [ ] make-tanktop + - [ ] make-shirt + - [ ] make-concentration-potion + - [X] Wyara + - [ ] sense-spouse --- --- diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf index 68a348e1..57aa43e0 100644 --- a/world/map/npc/scripts.conf +++ b/world/map/npc/scripts.conf @@ -14,7 +14,6 @@ npc: npc/functions/mob_points.txt npc: npc/functions/process_equip.txt npc: npc/functions/slot_machine.txt npc: npc/functions/soul_menhir.txt -npc: npc/functions/strangerquiz.txt npc: npc/functions/time.txt npc: npc/functions/water_bottle.txt npc: npc/functions/evil_obelisk.txt |