blob: d0b8efa0159e3e1f684b1212ee5d2cbf0bd77e60 (
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
|
// TMW2 Script
// Author:
// Jesusalva
// Description:
// Alchemy System (Player, Guild, NPC)
// Notes:
// Base for Evol MR
// Usage: AlchemySystem ({scope})
// Scopes: CRAFT_NPC, CRAFT_PLAYER, CRAFT_GUILD
// If an invalid scope is passed, .knowledge won't be set but will be required
// Returns true on success, false on failure
function script AlchemySystem {
// Set .scope, .knowledge and .success
.scope=getarg(0, CRAFT_PLAYER);
if (.scope == CRAFT_PLAYER)
copyarray(.knowledge,RECIPES_ALCHEMY,getarraysize(RECIPES_ALCHEMY));
else if (.scope == CRAFT_GUILD)
copyarray(.knowledge,$@RECIPES_ALCHEMY[getcharid(2)],getarraysize($@RECIPES_ALCHEMY[getcharid(2)]));
.success=false;
setskin "craft2";
.@var$ = requestcraft(2);
.@craft = initcraft(.@var$);
.@entry = findcraftentry(.@craft, CRAFT_ALCHEMY);
if (debug || $@GM_OVERRIDE) mes "found craft entry: " + .@entry;
if (debug || $@GM_OVERRIDE) mes "knowledge value: " + .knowledge[.@entry];
if (.@entry < 0) {
.success=false;
} else {
// Check against COOKING_RECIPES
// using CraftCarpCocktail for example (Craft ID)
// Checking somehow if you know it (array_find?)
if (.scope == CRAFT_NPC || .knowledge[.@entry]) {
usecraft .@craft;
.success=true;
} else {
.success=false;
}
}
deletecraft .@craft;
setskin "";
return .success;
}
|