summaryrefslogtreecommitdiff
path: root/npc/functions/util.txt
blob: 10c9fbbfa255eb214eeada7ab82d52bfced223bc (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
// TMW2 Script.
// Evol functions.
// Authors:
//    Reid
//    Jesusalva
// Description:
//    Util functions


// season_direction({day, month})
//    returns the direction that represents our current season (approximation)
//      DOWN:      Winter, 21/12
//      DOWNLEFT:  Spring, 20/03
//      LEFT:      Summer, 21/06
//      UPLEFT:    Autumn, 22/09

function	script	season_direction	{
    .@current_month = getarg(0, gettime(GETTIME_MONTH));

    if (.@current_month % 3 == 0)
    {
        .@current_day = getarg(1, gettime(GETTIME_DAYOFMONTH));

        switch (.@current_month)
        {
            case MARCH:     .@season_day = 20; break;
            case JUNE:      .@season_day = 21; break;
            case SEPTEMBER: .@season_day = 22; break;
            case DECEMBER:  .@season_day = 21; break;
            default: break;
        }
        
        .@is_after_season_day = .@current_day >= .@season_day ? 0 : -1;
    }

    return (.@current_month / 3 + .@is_after_season_day) % 4;
}

// Returns Nard reputation for discounts
// Currently ranges from 0 to 11.
function	script	nard_reputation	{
    .@nr=0; // Base reputation

    // Valon Quest (+1 rep)
    if (getq(CandorQuest_Trainer) >= 14)
        .@nr=.@nr+1;

    // Zegas Quest (+1 rep)
    if (getq(CandorQuest_Barrel) >= 4)
        .@nr=.@nr+1;

    // Hide And Seek Quest (+1 rep)
    if (getq(CandorQuest_HAS) >= 4)
        .@nr=.@nr+1;

    // Sailors Quest (+1 rep)
    if (getq(CandorQuest_Sailors) >= 3)
        .@nr=.@nr+1;

    // Vincent Quest (+1 rep)
    if (getq(CandorQuest_Vincent) >= 2)
        .@nr=.@nr+1;

    // Tolchi Quest (+1 rep)
    if (getq(CandorQuest_Tolchi) >= 4)
        .@nr=.@nr+1;

    // Maya Quest (+1 rep)
    if (getq(CandorQuest_Maya) >= 4)
        .@nr=.@nr+1;

    // Dan Quest (+1 rep)
    if (getq(ShipQuests_Dan) >= 3)
        .@nr=.@nr+1;

    // Chef Gado Quest (+1 rep)
    if (getq(ShipQuests_ChefGado) >= 2)
        .@nr=.@nr+1;

    // Peter Quest (+1 rep)
    if (getq(ShipQuests_Peter) == 3 || getq(ShipQuests_Peter) == 5)
        .@nr=.@nr+1;

    // Swezanne Quest (+1 rep)
    if (getq(TulimsharQuest_Swezanne) >= 1)
        .@nr=.@nr+1;

    //debugmes "Reputation: "+str(.@nr);
    return .@nr;

}