summaryrefslogtreecommitdiff
path: root/npc/functions/vault.txt
blob: 1bfa2192d90f0d0ca227b356496c74ad2c806fcf (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
// TMW-2 Script
// Author:
//    Jesusalva
//  Description:
//    Vault Utilities

function	script	getvaultid	{
    return ##VAULT;
}

function	script	getvaultexp	{
    .@exp=getarg(0);
    if (.@exp > 100)
        Exception("ILLEGAL VAULT EXPERIENCE, FIXME URGENTLY. STOPPING SCRIPT BY FORCE WHILE DOING NOTHING.",
            RB_DEBUGMES | RB_IRCBROADCAST | RB_GLOBALANNOUNCE | RB_ISFATAL);
    if (getvaultid()) {
        ##VAULT_EXP+=.@exp;
        consoleinfo("Granting %d Soul Exp to %d under the Crossroads' authority.",
                 .@exp, ##VAULT);
    }
    return;
}

function	script	export_vault	{
    // Send updates to Vault API
    if (getvaultid()) {
        .@api$=json_encode("UID", ##VAULT,
                           "GID", getcharid(3),
                           "VAR1N", "CRQUEST",
                           "VAR1V", ##01_CRQUEST,
                           //"VAR2N", "CRWORLD",
                           //"VAR2V", ##01_CRWORLD,
                           "VEXP", ##VAULT_EXP,
                           "GOTO", ##VAULT_GOTO,
                           "MLTO", ##VAULT_MLTO);
        ##VAULT_EXP=0;
        api_send(API_FLUSHVAULT, .@api$);
    }
    return;
}

// MirrorLakeSendTo(World, Lake)
function	script	MirrorLakeSendTo	{
    .@w=getarg(0);
    .@t=getarg(1);
    ##VAULT_GOTO=.@w;
    ##VAULT_MLTO=.@t;
    closeclientdialog;
    dispbottom l("Darkness fills your vision...");
    export_vault();
    sleep2(800);
    specialeffect FX_CIRCLE, SELF, getcharid(3);
    sleep2(1000);
    specialeffect FX_MGSHIELD, SELF, getcharid(3);
    sleep2(1200);
    kick(getcharid(3), 7); // 7 is not a valid kick reason
    //atcommand("@kick "+strcharinfo(0));
    end;
}