summaryrefslogtreecommitdiff
path: root/world/map/npc
diff options
context:
space:
mode:
authormekolat <mekolat@users.noreply.github.com>2016-01-07 13:48:00 -0500
committermekolat <mekolat@users.noreply.github.com>2016-02-08 21:04:29 -0500
commit5ee9d4a5523a792de751ec547a6f8d11740770e7 (patch)
tree593970bd6fd0d304b55d7f79acda4f524ef8e70b /world/map/npc
parent401ff146cbd56e214007c1a298194fdef66d5a96 (diff)
downloadserverdata-5ee9d4a5523a792de751ec547a6f8d11740770e7.tar.gz
serverdata-5ee9d4a5523a792de751ec547a6f8d11740770e7.tar.bz2
serverdata-5ee9d4a5523a792de751ec547a6f8d11740770e7.tar.xz
serverdata-5ee9d4a5523a792de751ec547a6f8d11740770e7.zip
add disguise function to gm debug
Diffstat (limited to 'world/map/npc')
-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
4 files changed, 42 insertions, 4 deletions
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