summaryrefslogtreecommitdiff
path: root/npc/craft/tweak.txt
blob: 9bc786d3325b386b3148df3809435f25537ee3ab (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
// TMW2 Script
// Author:
//  Jesusalva
// Description:
//  Smith System (Player, Guild, NPC)
// Notes:
//  It's like smithing, but it only change an item options

// Usage: SmithTweakReset ()
// Asks if player wants to remove an item options. And remove them.
function	script	SmithTweakReset	{
    mesc l("Note: This action cannot be undone."), 1;
    mes l("Drag and drop here the item you want to remove the options.");

    .@id=requestitemindex();
    mes "";

    // Ask player to confirm
    mesc l("Are you sure?"), 1;
    mesc l("Note: This action cannot be undone."), 1;
    if (!csys_Confirm(.@id))
        return;

    csys_Check(.@id);
    return;
}

// Usage: SmithTweakSystem ({scope})
// Scopes: CRAFT_PLAYER, CRAFT_NPC
// Returns true on success, false on failure
function	script	SmithTweakSystem	{
    // Set .scope, .knowledge and .success
    .scope=getarg(0, CRAFT_PLAYER);
    copyarray(.knowledge,RECIPES_EQUIPMENT,getarraysize(RECIPES_EQUIPMENT));

    mes l("Which item will you tweak?");
    mesc l("Note: You may fail to write skills to it."), 1;
    mesc l("Operation Cost: 600 GP"), 3;

    if (Zeny < 600)
        return false;

    .@id=requestitemindex();
    mes "";

    // Ask player to confirm
    if (!csys_Confirm(.@id))
        return false;

    // Take the money away
    Zeny-=600;

    // Check if you fail
    if (!csys_Check(.@id)) {
        mesc l("YOU FAIL! It is a simple item now."), 1;
        return false;
    }

    // Eh, apply some stuff for testing
    if (is_gm() && !CRAFTSYS_CURRENT) {
        CRAFTSYS_CURRENT=CRGROUP_BASE;
        CRAFTSYS[CRGROUP_BASE]=10;
    }
    csys_Apply(.@id);
    mesc l("SUCCESS! Congratulations, the item was improved!"), 3;
    return true;
}