summaryrefslogtreecommitdiff
path: root/npc/functions/estate.txt
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-08-07 23:18:09 -0300
committerJesusaves <cpntb1@ymail.com>2019-08-07 23:18:09 -0300
commitec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd (patch)
tree97f7411fc92e0f30a8f70044ddfe052dfb2a2ef9 /npc/functions/estate.txt
parent76114bfb1b5c966121d506a62317fb130a9872d9 (diff)
downloadserverdata-ec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd.tar.gz
serverdata-ec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd.tar.bz2
serverdata-ec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd.tar.xz
serverdata-ec99d2b3b41046ae0ddb7de1db6ac9702d13ffbd.zip
Split Estate Functions in half. One will take primary functions.
The later one will take auxiliar functions (dialog helpers)
Diffstat (limited to 'npc/functions/estate.txt')
-rw-r--r--npc/functions/estate.txt273
1 files changed, 1 insertions, 272 deletions
diff --git a/npc/functions/estate.txt b/npc/functions/estate.txt
index aa6bb33e4..6f8c2acfd 100644
--- a/npc/functions/estate.txt
+++ b/npc/functions/estate.txt
@@ -3,7 +3,7 @@
// Jesusalva
// Description:
// Real Estate System
-// Script Helpers
+// Primary Script Helpers
// WARNING: They affect directly the real estate global variables!
// This function reduces payment accordingly
@@ -94,274 +94,3 @@ function script realestate_hasmobilia {
return false;
}
-
-
-//////////////////////////////////////////////////////////////////////////////
-///////////// Dialog Helpers
-// "If you copy-paste the same line too often, make a function for it"
-
-
-// Rent_Available Label
-// Returns true regardless of player decision
-// realestate_rent ( estate_id, price, <rent time> )
-function script realestate_rent {
- .id=getarg(0);
- .price=getarg(1);
- .time=getarg(2, 2592000); // Defaults to 30 days
-
- do
- {
- mesc l("This Real Estate is available for rent for only @@ GP!", format_number(.price));
- .@gp=REAL_ESTATE_CREDITS+Zeny;
- mesc l("You currently have: @@ GP and mobiliary credits", format_number(.@gp));
- next;
- select
- rif(.@gp > .price, l("Rent it! Make it mine!")),
- l("Information"),
- l("Don't rent it");
-
- // You want to rent
- if (@menu == 1) {
- if ($ESTATE_RENTTIME[.id] > gettimetick(2)) {
- mesc l("Somebody already rented it before you!");
- close;
- }
- REAL_ESTATE_CREDITS=REAL_ESTATE_CREDITS-.price;
- if (REAL_ESTATE_CREDITS < 0) {
- Zeny+=REAL_ESTATE_CREDITS;
- REAL_ESTATE_CREDITS=0;
- }
-
- // Payment done, you can now acquire the house for a month
- $ESTATE_RENTTIME[.id]=gettimetick(2)+.time;
-
- // If you're not the previous owner
- // Remove previous owner furniture and reset room password
- if ($ESTATE_OWNER[.id] != getcharid(3)) {
- /*
- $ESTATE_MOBILIA_2[.id]=0;
- $ESTATE_MOBILIA_4[.id]=0;
- $ESTATE_MOBILIA_8[.id]=0;
- $ESTATE_MOBILIA_32[.id]=0;
- $ESTATE_MOBILIA_64[.id]=0;
- $ESTATE_MOBILIA_128[.id]=0;
- */
- $ESTATE_PASSWORD$[.id]="";
- $ESTATE_DOORBELL[.id]=false;
- }
-
- // Register your info so you can manage it
- $ESTATE_OWNER[.id]=getcharid(3);
- $ESTATE_OWNERNAME$[.id]=strcharinfo(0);
-
- mesc l("Rent successful for 30 days!");
- } else if (@menu == 2) {
- mesc l("You can rent this house to make it yours.") + " " + l("The rent lasts 30 days.");
- mesc l("Then you'll be able to buy furniture and utility.");
- mesc l("The door is password-protected, so your friends can enter but strangers stay outside.");
- next;
- mesc l("Both rent and furniture are bought using money, however, there are mobiliary credits.");
- mesc l("Mobiliary Credits is a special currency which can only be used on real estate.");
- mesc l("It's obtained with ADMINS or by selling furniture. It is sumed to money and used first.");
- next;
- }
- } while (@menu == 2);
- return true;
-}
-
-
-
-
-
-// L_Manage Label
-// Returns true regardless of player decision
-// realestate_manage ( estate_id, price, <rent time> )
-function script realestate_manage {
- .id=getarg(0);
- .price=getarg(1);
- .time=getarg(2, 2592000); // Defaults to 30 days
-
- do
- {
- mesc l("@@'s Estate", strcharinfo(0));
- mesc ".:: "+ l("Managment Menu") + " ::.";
-
- .@gp=REAL_ESTATE_CREDITS+Zeny;
- mesc l("Rent time available: @@", FuzzyTime($ESTATE_RENTTIME[.id]));
- mesc l("Total Credits and GP: @@", format_number(.@gp));
- mes "";
- mesc l("Rent Renew Price: @@ GP", format_number(.price));
- mesc l("Room password: @@", $ESTATE_PASSWORD$[.id]);
- if ($ESTATE_DOORBELL[.id])
- mesc l("Doorbell is disabled"), 1;
-
- next;
- select
- l("Leave"),
- l("Enable/disable doorbell"),
- l("Set room password"),
- rif(.@gp >= .price && $ESTATE_RENTTIME[.id] < gettimetick(2)+.time, l("Renew Rent")),
- rif($@GM_OVERRIDE, l("Destroy all mobilia")),
- rif($@GM_OVERRIDE, l("Expire rent time"));
-
- switch (@menu) {
- case 1:
- break;
- case 2:
- $ESTATE_DOORBELL[.id]=!$ESTATE_DOORBELL[.id];
- break;
- case 3:
- mesc l("(Leave the password blank to disable)");
- mesc l("Current Room password: @@", $ESTATE_PASSWORD$[.id]);
- mesc l("Input new password: ");
- input .@password$;
- mesc l("Repeat new password: ");
- input .@passwordc$;
- if (.@password$ == .@passwordc$) {
- $ESTATE_PASSWORD$[.id]=.@password$;
- mesc l("Password changed with success!"), 3;
- } else {
- mesc l("The passwords doesn't match."), 1;
- }
- break;
- case 4:
- // The check is performed before showing the menu option
- // I guess it could be hacked, but I'll probably see negative GP...
- REAL_ESTATE_CREDITS=REAL_ESTATE_CREDITS-.price;
- if (REAL_ESTATE_CREDITS < 0) {
- Zeny+=REAL_ESTATE_CREDITS;
- REAL_ESTATE_CREDITS=0;
- }
-
- // Payment done, you can now acquire the house for a month
- // If you lost the rent on the meanwhile, it'll renew
- // If you lost the rent and somebody else rented it, you lose the GP
- $ESTATE_RENTTIME[.id]+=.time;
- break;
- case 5:
- mesc l("Are you sure? This cannot be undone!"), 1;
- next;
- if (validatepin()) {
- $ESTATE_MOBILIA_2[.id]=0;
- $ESTATE_MOBILIA_4[.id]=0;
- $ESTATE_MOBILIA_8[.id]=0;
- $ESTATE_MOBILIA_32[.id]=0;
- $ESTATE_MOBILIA_64[.id]=0;
- $ESTATE_MOBILIA_128[.id]=0;
- $ESTATE_PASSWORD$[.id]="";
- $ESTATE_DOORBELL[.id]=false;
- }
- case 6:
- mesc l("Are you sure? This cannot be undone!"), 1;
- next;
- if (validatepin()) {
- $ESTATE_RENTTIME[.id]=gettimetick(2);
- }
- }
- } while (@menu != 1);
- return true;
-}
-
-
-// Piano Mobilia
-// realestate_piano ( {mapname} )
-function script realestate_piano {
- .@loc$=getarg(0, getmap());
- 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:
- return; break;
- 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 .@loc$, .@m$;
- return;
-}
-
-
-
-// Cauldron Mobilia
-// realestate_cauldron ( )
-function script realestate_cauldron {
- select
- l("Alchemy"),
- l("Crafting");
- mes "";
- if (@menu == 1) {
- do {
- mesc l("What will you brew today?");
- if (AlchemySystem(CRAFT_PLAYER))
- mesc l("Success!"), 3;
- else
- mesc l("That didn't work!"), 1;
- next;
- mesc l("Try again?");
- } while (askyesno() == ASK_YES);
- }
- else if (@menu == 2) {
- do {
- mesc l("What will you craft today?");
- if (SmithSystem(CRAFT_PLAYER))
- mesc l("Success!"), 3;
- else
- mesc l("That didn't work!"), 1;
- next;
- mesc l("Try again?");
- } while (askyesno() == ASK_YES);
- }
- return;
-}
-