From 00d012fab3fcb141e426d47c78824024004eefd0 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 14 Dec 2020 15:55:49 -0300 Subject: Expand Hall of Academics to TOP 30, fix typos --- db/constants.conf | 2 +- npc/027-0/enrique.txt | 14 ++++++++++++++ npc/commands/titulate.txt | 2 +- npc/functions/scoreboards.txt | 42 ++++++++++++++++++++++++++++++++++++------ 4 files changed, 52 insertions(+), 8 deletions(-) diff --git a/db/constants.conf b/db/constants.conf index e689821c8..efef56ef9 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -2339,7 +2339,7 @@ constants_db: { CLASS_SCHOLARSHIP: 5 CLASS_THIEVES: 6 - ACADEMIC_LAYMAN: 1 + ACADEMIC_LAYMAN: 0 ACADEMIC_STUDENT: 1 ACADEMIC_TECHNIC: 2 ACADEMIC_BACHELOR: 3 diff --git a/npc/027-0/enrique.txt b/npc/027-0/enrique.txt index 8b92b1b4c..eb89afdb3 100644 --- a/npc/027-0/enrique.txt +++ b/npc/027-0/enrique.txt @@ -22,6 +22,7 @@ l("What is the Scholar Rank?"), l("Who are the most famous scholars?"), rif(!ACADEMIC_RANK, l("I would like to enroll!")), + l("What counts for titulation? Could you give me examples?"), rif(getskilllv(TMW2_STUDY) < ACADEMIC_RANK, l("I would like to learn a new skill!")); mes ""; switch (@menu) { @@ -91,6 +92,19 @@ mesq l("Abuse can be determined by your peers or by the grandmasters, so be careful."); break; case 8: + mesn; + mesq l("Oh, several things. It depends a bit on what the scholars consider, and the scholars... well, they change."); + next; + mesn; + mesq l("For example, translations do not count. Wiki articles count."); + next; + mesn; + mesq l("Writing/Updating in client-data quests.xml and items.xml with the correct information usually counts as well."); + next; + mesn; + mesq l("But pretty much, anything which contributes to the common knowledge of this world. It might even be writing a NPC telling about the world history, developing software for Wiki/GameInfo/etc., it all depends on the scholars."); + break; + case 9: // TODO: Give TMW2_STUDY for MSP. Need X skills learnt or 1M GP. mesn; mesq l("Soon enough, young %s. The study skill is almost finished... Muahaha!", strcharinfo(0)); diff --git a/npc/commands/titulate.txt b/npc/commands/titulate.txt index ee3031837..35e50328f 100644 --- a/npc/commands/titulate.txt +++ b/npc/commands/titulate.txt @@ -88,7 +88,7 @@ OnCall: dispbottom l("You received the %s title from %s.", academicrank(), strcharinfo(0, "someone", .@ori)); } else { - dispbottom l("You were vouced to the %s title by %s. You still need %d more vouches to be promoted.", + dispbottom l("You were vouched to the %s title by %s. You still need %d more vouches to be promoted.", academicrank(ACADEMIC_RANK+1), strcharinfo(0, "someone", .@ori), (ACADEMIC_RANK >= ACADEMIC_DOCTOR ? 3 : 2) - array_entries(ACADEMIC_VOUCH)); } diff --git a/npc/functions/scoreboards.txt b/npc/functions/scoreboards.txt index a095e97af..66389fdf3 100644 --- a/npc/functions/scoreboards.txt +++ b/npc/functions/scoreboards.txt @@ -16,7 +16,7 @@ function script ScoreboardsReload { .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='UDTRANK' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@udt_name$, $@udt_value); .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='AFKING' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@afk_name$, $@afk_value); .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='HONOR' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@hof_name$, $@hof_value); - .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='ACADEMIC_RANK' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@hoa_name$, $@hoa_value); + .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='ACADEMIC_RANK' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 30", $@hoa_name$, $@hoa_value); .@nb = query_sql("SELECT c.name, i.value FROM `mapreg` AS i, `char` AS c WHERE i.varname='$REFERRAL_IDS' AND i.index=c.account_id ORDER BY i.value DESC LIMIT 20", $@hor_name$, $@hor_value); // Seasonal Scoreboards @@ -314,7 +314,15 @@ function script HallOfAurora { function script HallOfAcademic { mes ""; - mes l("##BHall Of Academics: TOP10##b"); + mes l("##BHall Of Academics: TOP30##b"); + if (playerattached()) { + .@v=array_entries(ACADEMIC_VOUCH); + .@mv=(ACADEMIC_RANK >= ACADEMIC_DOCTOR ? 3 : 2); + .@mv=(ACADEMIC_RANK >= ACADEMIC_BACHELOR ? .@mv : 1); + mesc l("Your current scholar rank: %s (%d/%d vouches)", + academicrank(), .@v, .@mv); + } + mes ""; mesf("1. %s (%s)", $@hoa_name$[0], academicrank($@hoa_value[0])); mesf("2. %s (%s)", $@hoa_name$[1], academicrank($@hoa_value[1])); mesf("3. %s (%s)", $@hoa_name$[2], academicrank($@hoa_value[2])); @@ -325,6 +333,28 @@ function script HallOfAcademic { mesf("8. %s (%s)", $@hoa_name$[7], academicrank($@hoa_value[7])); mesf("9. %s (%s)", $@hoa_name$[8], academicrank($@hoa_value[8])); mesf("10. %s (%s)", $@hoa_name$[9], academicrank($@hoa_value[9])); + next; + mesf("11. %s (%s)", $@hoa_name$[10], academicrank($@hoa_value[10])); + mesf("12. %s (%s)", $@hoa_name$[11], academicrank($@hoa_value[11])); + mesf("13. %s (%s)", $@hoa_name$[12], academicrank($@hoa_value[12])); + mesf("14. %s (%s)", $@hoa_name$[13], academicrank($@hoa_value[13])); + mesf("15. %s (%s)", $@hoa_name$[14], academicrank($@hoa_value[14])); + mesf("16. %s (%s)", $@hoa_name$[15], academicrank($@hoa_value[15])); + mesf("17. %s (%s)", $@hoa_name$[16], academicrank($@hoa_value[16])); + mesf("18. %s (%s)", $@hoa_name$[17], academicrank($@hoa_value[17])); + mesf("19. %s (%s)", $@hoa_name$[18], academicrank($@hoa_value[18])); + mesf("20. %s (%s)", $@hoa_name$[19], academicrank($@hoa_value[19])); + next; + mesf("21. %s (%s)", $@hoa_name$[20], academicrank($@hoa_value[20])); + mesf("22. %s (%s)", $@hoa_name$[21], academicrank($@hoa_value[21])); + mesf("23. %s (%s)", $@hoa_name$[22], academicrank($@hoa_value[22])); + mesf("24. %s (%s)", $@hoa_name$[23], academicrank($@hoa_value[23])); + mesf("25. %s (%s)", $@hoa_name$[24], academicrank($@hoa_value[24])); + mesf("26. %s (%s)", $@hoa_name$[25], academicrank($@hoa_value[25])); + mesf("27. %s (%s)", $@hoa_name$[26], academicrank($@hoa_value[26])); + mesf("28. %s (%s)", $@hoa_name$[27], academicrank($@hoa_value[27])); + mesf("29. %s (%s)", $@hoa_name$[28], academicrank($@hoa_value[28])); + mesf("30. %s (%s)", $@hoa_name$[29], academicrank($@hoa_value[29])); return; } @@ -572,15 +602,15 @@ function script HallOf2020 { //mesc l("Scheduled: September 9th"); mes ""; mes l(".:: International Coffee Day ::."); - mesc l("Scheduled: October 1st"); - //mes l("No victor appliable."); + //mesc l("Scheduled: October 1st"); + mes l("No victor appliable."); mes ""; mes l(".:: Hasan Scorpion Killing Challenge 2020 ::."); mesc l("September 22nd - December 20th"); mes ""; mes l(".:: Thanksgiving 2020 ::."); - mesc l("November 1st - November 30th"); - //mes l("No victor appliable."); + //mesc l("November 1st - November 30th"); + mes l("No victor appliable."); mes ""; mes l(".:: Christmas 2020 ::."); mesc l("Scheduled: December 19th - January 2nd"); -- cgit v1.2.3-60-g2f50