summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--world/map/db/item_db_use.txt2
-rw-r--r--world/map/npc/functions/gm_island.txt33
-rw-r--r--world/map/npc/functions/headstyles.txt2
-rw-r--r--world/map/npc/items/pickled_beets.txt10
-rw-r--r--world/map/npc/scripts.conf1
5 files changed, 43 insertions, 5 deletions
diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt
index 8015786d..65acd000 100644
--- a/world/map/db/item_db_use.txt
+++ b/world/map/db/item_db_use.txt
@@ -90,7 +90,7 @@
3007, Marshmallow, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
3009, JellySkull, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
3010, CandyPumpkin, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
-4035, PickledBeets, 0, 100, 50, 150, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 50, 0, 1; setlook LOOK_HAIR_COLOR, HC_PURPLE;}, {}
+4035, PickledBeets, 0, 100, 50, 150, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {callfunc "usePickledBeets";}, {}
4036, RoastedAcorn, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 15, 0, 1;}, {}
5126, MTJarofOwnBlood, 0, 200, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {heal -250, 0;getitem 5127, 1;}, {}
//ID, Name___________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript}
diff --git a/world/map/npc/functions/gm_island.txt b/world/map/npc/functions/gm_island.txt
index 89c0790a..1bd7b5e9 100644
--- a/world/map/npc/functions/gm_island.txt
+++ b/world/map/npc/functions/gm_island.txt
@@ -16,11 +16,12 @@ function|script|GmWarp
}
function|script|GmDebug
{
- mes "[Gm Debug]";
+ mes "[GM Debug]";
mes "What do you want to do?";
menu
- "Start Event.", L_GmStart,
- "Stop Event.", L_GmStop;
+ "Open Event Portals.", L_GmStart,
+ "Close Event Portals.", L_GmStop,
+ "Disguise.", L_Disguise;
L_GmStart:
enablenpc "Gm Event#1";
@@ -33,6 +34,32 @@ L_GmStop:
disablenpc "Gm Event#2";
disablenpc "Gm Event#3";
return;
+
+L_Disguise:
+ npcaction 9;
+ mes "[GM Debug - Disguise]";
+ mes "The Disguise function allows GMs to disguise themselves as mobs or npcs.";
+ mes "---";
+ mes "Mob IDs: [@@https://www.themanaworld.org/index.php/Monster_Reference|Monster Reference@@]";
+ mes "You can either logout or use id ##B0##b to reset.";
+ mes "---";
+ mes "Please input the mob ID:";
+ input @disguise_id;
+ if (@disguise_id < 1000 || @disguise_id > 32767)
+ goto L_ResetClass;
+ mes "Your disguise has been changed.";
+ if (Class <= 5)
+ set @old_class, Class;
+ set Class, @disguise_id;
+ mes "";
+ mes "For technical reasons, you are not able to see your own disguise, but other players will see it.";
+ return;
+
+L_ResetClass:
+ mes "Your appearance has been reset.";
+ set Class, if_then_else(@old_class, @old_class, 1);
+ callfunc "fixHeadStyles";
+ return;
}
001-1,49,68,0|script|Gm Event#1|368,0,0
{
diff --git a/world/map/npc/functions/headstyles.txt b/world/map/npc/functions/headstyles.txt
index 4eae0862..02cc895f 100644
--- a/world/map/npc/functions/headstyles.txt
+++ b/world/map/npc/functions/headstyles.txt
@@ -11,7 +11,7 @@ function|script|fixHeadStyles
set @color, getlook(LOOK_HAIR_COLOR); // FIXME: this needs to be a param in the future
if (@style < 1 || @style > getarraysize(@HairStyles$)) // leftover from previous attempt at classes
setlook LOOK_HAIR_STYLE, 1; // FIXME: this needs to be a param in the future
- if (@color == HC_WHITE && Class > 1) // convert shock white
+ if (@color >= 123 && @color <= HC_WHITE) // convert shock white
set @color, (HC_WHITE - Class) + 1;
if (@color < 105 && ((@color - (15 * (Class - 1))) < 0 || @color > ((15 * (Class - 1)) + (getarraysize(@HairColors$) - 1))))
set @color, 15 * (Class - 1); // it is possible to style color 0 but not style 0 since style is treated as an item
diff --git a/world/map/npc/items/pickled_beets.txt b/world/map/npc/items/pickled_beets.txt
new file mode 100644
index 00000000..4aaa1f1c
--- /dev/null
+++ b/world/map/npc/items/pickled_beets.txt
@@ -0,0 +1,10 @@
+function|script|usePickledBeets
+{
+ heal 50, 0, 1;
+ if (Class == 1)
+ setlook LOOK_HAIR_COLOR, HC_PURPLE;
+ elif (Class == 2)
+ setlook LOOK_HAIR_COLOR, 18;
+ // add more here for races that have purple
+ return;
+}
diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf
index f9251214..e9bceb20 100644
--- a/world/map/npc/scripts.conf
+++ b/world/map/npc/scripts.conf
@@ -37,6 +37,7 @@ npc: npc/functions/motdconfig.txt
npc: npc/items/magic_gm_top_hat.txt
npc: npc/items/purification_potion.txt
npc: npc/items/scissors.txt
+npc: npc/items/pickled_beets.txt
npc: npc/items/shock_sweet.txt
npc: npc/items/unreleased_item.txt
npc: npc/items/require_stat.txt