diff options
Diffstat (limited to 'world/map/npc/functions')
-rw-r--r-- | world/map/npc/functions/gm_island.txt | 33 | ||||
-rw-r--r-- | world/map/npc/functions/headstyles.txt | 2 |
2 files changed, 31 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 |