summaryrefslogtreecommitdiff
path: root/npc/024-14/utils.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/024-14/utils.txt')
-rw-r--r--npc/024-14/utils.txt147
1 files changed, 147 insertions, 0 deletions
diff --git a/npc/024-14/utils.txt b/npc/024-14/utils.txt
new file mode 100644
index 000000000..e9c8853bb
--- /dev/null
+++ b/npc/024-14/utils.txt
@@ -0,0 +1,147 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Utils take care of NPCs - Their code, and enable/disable using check_cell
+// This file is custom to every room
+
+// ESTATE_ID → Instance ID of the Estate (required for NPCs, expire)
+// ESTATE_RENTTIME → When the rent will expire
+// ESTATE_MOBILIA_2 → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// ESTATE_MOBILIA_4 → Bitmask of mobilia currently purchased on Air Collision (2)
+// ESTATE_MOBILIA_8 → Bitmask of mobilia currently purchased on Water Collision (3)
+// ESTATE_MOBILIA_32 → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// ESTATE_MOBILIA_64 → Bitmask of mobilia currently purchased on Player Collision (5)
+// ESTATE_MOBILIA_128 → Bitmask of mobilia currently purchased on Normal Collision (1)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller for rent system
+// Doorbell is the main controller for indoor
+// This is the NPC script controller
+024-14,0,0,0 script NPCs#RES_PPL NPC_HIDDEN,{
+ // load_npc ( name , map, x , y{, cell} )
+ function load_npc {
+ if (checknpccell(getarg(1), getarg(2), getarg(3), getarg(4, cell_chknopass))) {
+ enablenpc instance_npcname(getarg(0), ESTATE_ID);
+ } else {
+ disablenpc instance_npcname(getarg(0), ESTATE_ID);
+ }
+ return;
+ }
+ end;
+
+OnInit:
+ // Estate Settings
+ .mapa$="024-14"; // Map name
+
+ // NPC Settings
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+
+// Load or unload accordingly
+OnReload:
+ //debugmes "[REAL ESTATE] NPC ONRELOAD";
+ // load_npc ( name , map, x , y{, cell} )
+ load_npc("Wardrobe#RES_PPL", .mapa$, 25, 26);
+ load_npc("Cauldron#RES_PPL", .mapa$, 28, 27);
+ load_npc("Piano#RES_PPL" , .mapa$, 32, 26);
+ end;
+
+}
+
+024-14,25,26,0 script Wardrobe#RES_PPL NPC_NO_SPRITE,{
+ openstorage;
+ end;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+
+024-14,28,27,0 script Cauldron#RES_PPL NPC_NO_SPRITE,{
+ mesc l("What will you brew today?");
+ if (AlchemySystem(CRAFT_PLAYER))
+ mesc l("Success!"), 3;
+ else
+ mesc l("That didn't work!"), 1;
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+
+024-14,32,26,0 script Piano#RES_PPL NPC_NO_SPRITE,{
+ mesc l("Do you want to play a song?");
+ mesc l("This is not saved.");
+ select
+ l("Nothing"),
+ l("Default"),
+ l("Indoors 1 (Peace)"),
+ l("Indoors 2 (Dimonds)"),
+ l("TMW Adventure"),
+ l("Sailing Away!"),
+ l("Magick Real"),
+ l("The Forest"),
+ l("Dragons and Toast"),
+ l("Unforgiving Lands"),
+ l("Arabesque (Action)"),
+ l("No Chains (Tulimshar)"),
+ l("School of Quirks (Candor)"),
+ l("Cake Town (Hurnscald)"),
+ l("Steam (LoF Village)"),
+ l("Woodland Fantasy"),
+ l("Birds in the Sunrise");
+
+ mes "";
+ .@m$="";
+ switch (@menu) {
+ case 1:
+ close;
+ case 2:
+ .@m$="8bit_the_hero.ogg"; break;
+ case 3:
+ .@m$="peace.ogg"; break;
+ case 4:
+ .@m$="peace2.ogg"; break;
+ case 5:
+ .@m$="tmw_adventure.ogg"; break;
+ case 6:
+ .@m$="sail_away.ogg"; break;
+ case 7:
+ .@m$="magick_real.ogg"; break;
+ case 8:
+ .@m$="dariunas_forest.ogg"; break;
+ case 9:
+ .@m$="dragon_and_toast.ogg"; break;
+ case 10:
+ .@m$="Unforgiving_Lands.ogg"; break;
+ case 11:
+ .@m$="Arabesque.ogg"; break;
+ case 12:
+ .@m$="mvrasseli_nochains.ogg"; break;
+ case 13:
+ .@m$="school_of_quirks.ogg"; break;
+ case 14:
+ .@m$="caketown.ogg"; break;
+ case 15:
+ .@m$="steam.ogg"; break;
+ case 16:
+ .@m$="woodland_fantasy.ogg"; break;
+ case 17:
+ .@m$="tws_birds_in_the_sunrise.ogg"; break;
+
+ }
+ changemusic "ples@"+getcharid(0), .@m$;
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+