From 5ee9d4a5523a792de751ec547a6f8d11740770e7 Mon Sep 17 00:00:00 2001 From: mekolat Date: Thu, 7 Jan 2016 13:48:00 -0500 Subject: add disguise function to gm debug --- world/map/db/item_db_use.txt | 2 +- world/map/npc/functions/gm_island.txt | 33 ++++++++++++++++++++++++++++++--- world/map/npc/functions/headstyles.txt | 2 +- world/map/npc/items/pickled_beets.txt | 10 ++++++++++ world/map/npc/scripts.conf | 1 + 5 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 world/map/npc/items/pickled_beets.txt 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 -- cgit v1.2.3-60-g2f50