summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-06-17 05:08:35 -0300
committerJesusaves <cpntb1@ymail.com>2020-06-17 05:08:35 -0300
commit654d54d42079e21ac0541cb1e5f28c08cc935d5d (patch)
treeced30475ba31099de02627b57fb264958193d70d /npc/functions
parent3cb4b0171536a04e177d823213a1aff51ab56f8d (diff)
parent4e242e64460a5548b77d512f317a8cd66967a95f (diff)
downloadserverdata-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.txt42
-rw-r--r--npc/functions/gender.txt4
-rw-r--r--npc/functions/global_event_handler.txt2
-rw-r--r--npc/functions/main.txt47
-rw-r--r--npc/functions/scoreboards.txt22
-rw-r--r--npc/functions/util.txt36
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