diff options
author | Jesusaves <cpntb1@ymail.com> | 2020-06-17 05:08:35 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2020-06-17 05:08:35 -0300 |
commit | 654d54d42079e21ac0541cb1e5f28c08cc935d5d (patch) | |
tree | ced30475ba31099de02627b57fb264958193d70d /npc/functions | |
parent | 3cb4b0171536a04e177d823213a1aff51ab56f8d (diff) | |
parent | 4e242e64460a5548b77d512f317a8cd66967a95f (diff) | |
download | serverdata-kfahr.tar.gz serverdata-kfahr.tar.bz2 serverdata-kfahr.tar.xz serverdata-kfahr.zip |
Merge branch 'master' into kfahrkfahr
Diffstat (limited to 'npc/functions')
-rw-r--r-- | npc/functions/barber.txt | 42 | ||||
-rw-r--r-- | npc/functions/gender.txt | 4 | ||||
-rw-r--r-- | npc/functions/global_event_handler.txt | 2 | ||||
-rw-r--r-- | npc/functions/main.txt | 47 | ||||
-rw-r--r-- | npc/functions/scoreboards.txt | 22 | ||||
-rw-r--r-- | npc/functions/util.txt | 36 |
6 files changed, 110 insertions, 43 deletions
diff --git a/npc/functions/barber.txt b/npc/functions/barber.txt index 1df0a307..c7004eb8 100644 --- a/npc/functions/barber.txt +++ b/npc/functions/barber.txt @@ -3,6 +3,7 @@ // omatt // Reid // Travolta +// Jesusalva // Description: // Function for supporting barber NPC. @@ -111,15 +112,46 @@ function script BarberChangeColor { function script BarberChangeGender { mesn("Warning"); - mes(b(l("Changing your gender will send you back to the character selection screen."))); + mes(b(l("Changing your body type will send you back to the character selection screen."))); next(); - mes(l("Please select the desired gender:")); + mes(l("Please select the desired body type:")); menuint( - l("Female"), GENDER_FEMALE, - l("Male"), GENDER_MALE, - l("Non-binary"), GENDER_HIDDEN); + l("Boobed"), GENDER_FEMALE, + l("Tanky"), GENDER_MALE, + l("Neutral"), GENDER_HIDDEN); Gender = @menuret; return; } + +// THIS FUNCTION SHOULD BE USED ONLY AT REBIRTH +// Unless current game development design changes! +function script BarberChangeRace { + + mes l("What's your race?"); + menuint + get_race(GETRACE_FULL, KaizeiViro), KaizeiViro, + get_race(GETRACE_FULL, ArgaesViro), ArgaesViro, + get_race(GETRACE_FULL, TonoriViro), TonoriViro, + get_race(GETRACE_FULL, CaveUkar), CaveUkar, + get_race(GETRACE_FULL, MountainUkar), MountainUkar, + get_race(GETRACE_FULL, SeaTritan), SeaTritan, + get_race(GETRACE_FULL, LakeTritan), LakeTritan, + rif(REBIRTH, get_race(GETRACE_FULL, LightRaijin)), LightRaijin, + rif(REBIRTH, get_race(GETRACE_FULL, DarkRaijin)), DarkRaijin, + rif(REBIRTH, get_race(GETRACE_FULL, FireKralog)), FireKralog, + rif(REBIRTH, get_race(GETRACE_FULL, FrostKralog)), FrostKralog; + + mes ""; + // Something went *terribly* wrong + if (@menuret >= LightRaijin && !REBIRTH) { + channelmes("#irc", "Illegal operation at BarberChangeRace, sysadmin help required."); + consolemes(CONSOLEMES_ERROR, "Account %d tried to change race to %d but rebirth is not set. Race not changed.", getcharid(3), @menuret); + return; + } + + // Change race and we're done + Class = @menuret; + return; +} diff --git a/npc/functions/gender.txt b/npc/functions/gender.txt index 0f153c53..209dcc37 100644 --- a/npc/functions/gender.txt +++ b/npc/functions/gender.txt @@ -8,6 +8,6 @@ function script stringToGender { function script genderToString { .@gender = getarg(0, Gender); - return .@gender == GENDER_FEMALE ? l("female") : - .@gender == GENDER_MALE ? l("male") : l("non-binary"); + return .@gender == GENDER_FEMALE ? l("boobed") : + .@gender == GENDER_MALE ? l("tanky") : l("neutral"); } diff --git a/npc/functions/global_event_handler.txt b/npc/functions/global_event_handler.txt index c66637ef..a6d634ed 100644 --- a/npc/functions/global_event_handler.txt +++ b/npc/functions/global_event_handler.txt @@ -30,6 +30,7 @@ OnPCLogoutEvent: callfunc("UnequipCookie"); callfunc("MundaneLogout"); callfunc("fishing_cleanup", @fishing_spot$); + callfunc("ATLFightEnd"); // Variable cleanup @fishing_spot$ = ""; @@ -38,6 +39,7 @@ OnPCLogoutEvent: OnPCDieEvent: callfunc("ForcedUnmount"); callfunc("MundaneDeath"); + callfunc("ATLFightEnd"); end; OnPCBaseLvUpEvent: diff --git a/npc/functions/main.txt b/npc/functions/main.txt index c8a37b1c..9618e47e 100644 --- a/npc/functions/main.txt +++ b/npc/functions/main.txt @@ -222,3 +222,50 @@ function script getmercenarylink { function script gethomunculuslink { return "[@@h" + getarg(0) + "|@@]"; } + +// Returns the player race in plain text +// GETRACE_RACE - returns player race (default) +// GETRACE_SKIN - returns player skin +// GETRACE_FULL - returns player skin + race +// Can take an optional 2nd param with the class +// get_race( {Flag, {Class}} ) +function script get_race { + .@m=getarg(0, GETRACE_RACE); + .@g=getarg(1, Class); + + // We also allow this to run without player attached for... science. + if (playerattached()) + { + setarray .@allraces$, l("Viro"), l("Viro"), l("Viro"), + l("Ukar"), l("Ukar"), + l("Tritan"), l("Tritan"), + l("Raijin"), l("Raijin"), + l("Kralog"), l("Kralog"); + setarray .@allskins$, l("Kaizei"), l("Argaes"), l("Tonori"), + l("Cave"), l("Mountain"), + l("Sea"), l("Lake"), + l("Light"), l("Dark"), + l("Fire"), l("Frost"); + } + else + { + setarray .@allraces$, ("Viro"), ("Viro"), ("Viro"), + ("Ukar"), ("Ukar"), + ("Tritan"), ("Tritan"), + ("Raijin"), ("Raijin"), + ("Kralog"), ("Kralog"); + setarray .@allskins$, ("Kaizei"), ("Argaes"), ("Tonori"), + ("Cave"), ("Mountain"), + ("Sea"), ("Lake"), + ("Light"), ("Dark"), + ("Fire"), ("Frost"); + } + + if (.@m == GETRACE_RACE) + return .@allraces$[.@g]; + else if (.@m == GETRACE_SKIN) + return .@allskins$[.@g]; + else + return .@allskins$[.@g] + " " + .@allraces$[.@g]; +} + diff --git a/npc/functions/scoreboards.txt b/npc/functions/scoreboards.txt index 0dd54b23..120425ee 100644 --- a/npc/functions/scoreboards.txt +++ b/npc/functions/scoreboards.txt @@ -101,6 +101,22 @@ function script HallOfAcorns { return; } +function script HallOfATL { + mes ""; + mes l("##BHall Of Artis Legion Training Arena: TOP10##b"); + mesf("1. %s (%d)", $@atl_name$[0], $@atl_value[0]); + mesf("2. %s (%d)", $@atl_name$[1], $@atl_value[1]); + mesf("3. %s (%d)", $@atl_name$[2], $@atl_value[2]); + mesf("4. %s (%d)", $@atl_name$[3], $@atl_value[3]); + mesf("5. %s (%d)", $@atl_name$[4], $@atl_value[4]); + mesf("6. %s (%d)", $@atl_name$[5], $@atl_value[5]); + mesf("7. %s (%d)", $@atl_name$[6], $@atl_value[6]); + mesf("8. %s (%d)", $@atl_name$[7], $@atl_value[7]); + mesf("9. %s (%d)", $@atl_name$[8], $@atl_value[8]); + mesf("10. %s (%d)", $@atl_name$[9], $@atl_value[9]); + return; +} + // HallOfGame() function script HallOfGame { if ($MOST_HEROIC$) @@ -159,6 +175,7 @@ OnInit: .@nb = query_sql("select name, job_level from `char` ORDER BY job_level DESC LIMIT 15", $@hojlvl_name$, $@hojlvl_value); .@nb = query_sql("select name, guild_lv from `guild` ORDER BY guild_lv DESC LIMIT 5", $@hoguild_name$, $@hoguild_value); .@nb = query_sql("SELECT c.name, i.amount FROM `storage` AS i, `char` AS c WHERE i.nameid="+Acorn+" AND i.account_id=c.account_id ORDER BY i.amount DESC LIMIT 15", $@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='ATLRANK' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@atl_name$, $@atl_value); consolemes(CONSOLEMES_DEBUG, "Scoreboards reloaded"); if (!$@SCOREBOARD_BIND) { bindatcmd "scoreboard", "@scoreboard::OnCall", 0, 100, 0; @@ -180,6 +197,7 @@ OnCall: l("Hall Of Job Level"), l("Hall Of Guilds"), l("Hall Of Acorns"), + l("Hall Of Artis Legion Training Arena"), l("Game Statistics"), l("Quit"); mes ""; @@ -205,6 +223,10 @@ OnCall: next; break; case 6: + HallOfATL(); + next; + break; + case 7: HallOfGame(); next; break; diff --git a/npc/functions/util.txt b/npc/functions/util.txt index 8e263eb0..49801982 100644 --- a/npc/functions/util.txt +++ b/npc/functions/util.txt @@ -70,42 +70,6 @@ function script getmap { return getmapname(); } -// Returns the player race in plain text -// GETRACE_RACE - returns player race (default) -// GETRACE_SKIN - returns player skin -// GETRACE_FULL - returns player skin + race -// Can take an optional 2nd param with the class -// get_race( {Flag, {Class}} ) -function script get_race { - .@m=getarg(0, GETRACE_RACE); - .@g=getarg(1, Class); - - // We also allow this to run without player attached for... science. - if (playerattached()) - { - setarray .@allraces$, l("Human"), l("Ukar"), l("Kralog"), - l("Raijin"), l("Kralog"), l("Raijin"), l("Tritan"), - l("Human"), l("Human"), l("Tritan"), l("Ukar"); - setarray .@allskins$, l("Kaizei"), l("Cave"), l("Fire"), - l("Light"), l("Frost"), l("Dark"), l("Sea"), l("Argaes"), - l("Tonori"), l("Lake"), l("Mountain"); - } - else - { - setarray .@allraces$, "Human", "Ukar", "Kralog", "Raijin", - "Kralog", "Raijin", "Tritan", "Human", "Human", "Tritan", "Ukar"; - setarray .@allskins$, "Kaizei", "Cave", "Fire", "Light", - "Frost", "Dark", "Sea", "Argaes", "Tonori", "Lake", "Mountain"; - } - - if (.@m == GETRACE_RACE) - return .@allraces$[.@g]; - else if (.@m == GETRACE_SKIN) - return .@allskins$[.@g]; - else - return .@allskins$[.@g] + " " + .@allraces$[.@g]; -} - // gettimeparam(GETTIME_X) // Returns the number of seconds/minutes/hours/days/months/years since 01/01/1970 // This is for truly daily quests, which doesn't imposes a timed wait in hours |