diff options
Diffstat (limited to 'npc/024-14/utils.txt')
-rw-r--r-- | npc/024-14/utils.txt | 147 |
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; +} + |