summaryrefslogtreecommitdiff
path: root/npc/017-1/estate.txt
blob: 0f2e52793d360e04f9d11de9ce34ddf912d7154c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// TMW2: Moubootaur Legends scripts.
// Author:
//    Jesusalva
// Description:
//    Real Estate System

// ID: 2
// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
// $ESTATE_RENTTIME[.id] → When the rent will expire
// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)

// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.

// The sign is the main controller
017-1,86,177,0	script	Sign#RES_0177	NPC_SWORDS_SIGN,{
    if ($ESTATE_RENTTIME[.id] < gettimetick(2))
        goto L_RentAvailable;

    if ($ESTATE_OWNER[.id] == getcharid(3))
        goto L_Manage;

    if (is_admin() && $@GM_OVERRIDE)
        goto L_Manage;

    mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
    mesc l("Press the doorbell?");
    next;
    if (askyesno() == ASK_YES)
        doevent "Doorbell#RES_0177::OnDoorbell";
    close;

L_RentAvailable:
    realestate_rent(.id, .price);
    close;

L_Manage:
    realestate_manage(.id, (.price*7/10));
    close;

OnInit:
    .sex = G_OTHER;
    .distance = 3;

    // Estate Settings
    .id=2; // Estate ID
    .price=80000; // Monthly rent price
    .time=60*60*24*30; // How long last default rent time. In future could consider month.
    end;

}

// Door entrance
017-1,85,175,0	script	#RES_0177	NPC_HIDDEN,0,0,{
    end;
OnTouch:
    if ($ESTATE_RENTTIME[.id] < gettimetick(2))
        goto L_RentAvailable;

    if ($ESTATE_OWNER[.id] == getcharid(3) || $ESTATE_PASSWORD$[.id] == "")
        goto L_Warp;

    mesc l("The door is locked");
    next;
    mesc l("However, it can be unlocked if you know the password:");
    if (is_gm()) mesc l("You can use super password \"mouboo\" to unlock the door."), 1;
    input .@password$;
    // GMs can use super password "mouboo"
    if (.@password$ == $ESTATE_PASSWORD$[.id] || (is_gm() && .@password$ == "mouboo"))
        goto L_Warp;
    close;

L_Warp:
    warp "017-7", 33, 33;
    closeclientdialog;
    close;

L_RentAvailable:
    dispbottom l("This estate is available for rent, talk to the sign to rent it.");
    close;

OnInit:
    // Estate Settings
    .id=2; // Estate ID
    end;

}