summaryrefslogtreecommitdiff
path: root/npc/functions/politics.txt
blob: f9df9e575df04e8e00b521202b4e8f0a5089b46f (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
// TMW2 Script
// Author:
//    Jesusalva
// Description:
//    Central Town Political System Controller
//    Note: The office is NOT Mayor, we have from kings to mayors here and you're
//    not a citzen (yet). It'll be... I'll think in a name better than Minister.
//    Perhaps, Town Administrator.
// NPCs:
//    Tulim - 
//    Halin - 
//    Hurns - Airlia
//    LoF - 
//    Nival - 
//    Frostia - 
// Variables:
//      $LOC_MAYOR$ - Stores the name of current Hurnscald Mayor
//      $LOC_MONEY - Total money reserves of Hurnscald
//      $LOC_TAX - How much in % is charged as taxes. (OnBuy income)
//      $LOC_EXPORT - Defines how much Hurnscald exports (weekly income)
//      $LOC_REPUTATION - Town reputation. Affects Max Tax and Weekly Income;
// Note: Tax cannot exceed 10% ie 1000. Reputation must be between 0 and 100.

// Proccess Taxes from purchases
// PurchaseTaxes( Location )
function	script	PurchaseTaxes	{
    .@tax=0;
    for (.@i=0; .@i < getarraysize(@bought_nameid); .@i++) {
        // Note: Some NPC might not 
        .@price=getiteminfo(@bought_nameid[.@i], ITEMINFO_BUYPRICE);
        .@tax+=.@price*@bought_quantity[.@i];
    }
    .@loc$=strtoupper(getarg(0, LOCATION$));
    .@vat=getd("$"+.@loc$+"_TAX");
    .@tax=.@tax*.@vat/10000;
    if (.@tax) {
        debugmes "%s paid %d in taxes to %s prefecture!", strcharinfo(0), .@tax, .@loc$;
        setd("$"+.@loc$+"_TAX", .@vat+.@tax);
    }
    return;
}

-	script	Politics	NPC_HIDDEN,{

// Weekly income
OnSun0000:
    $TULIM_MONEY+=$TULIM_EXPORT*limit(0, $TULIM_REPUTATION, 100)/100;
    $HALIN_MONEY+=$HALIN_EXPORT*limit(0, $HALIN_REPUTATION, 100)/100;
    $HURNS_MONEY+=$HURNS_EXPORT*limit(0, $HURNS_REPUTATION, 100)/100;
    $LOF_MONEY+=$LOF_EXPORT*limit(0, $LOF_REPUTATION, 100)/100;
    $NIVAL_MONEY+=$NIVAL_EXPORT*limit(0, $NIVAL_REPUTATION, 100)/100;
    $FROSTIA_MONEY+=$FROSTIA_EXPORT*limit(0, $FROSTIA_REPUTATION, 100)/100;
    end;

}