blob: d32b9248fd22274822290b0d76cf8122e8b5b858 (
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
|
// The Mana World scripts.
// Author:
// The Mana World Team
// Description:
// Controls script-based skills (which are rare);
function script SkillInvoked {
// Record to database that you used the skill
skillInvoke[@skillId] = skillInvoke[@skillId] + 1;
array_push(@skillMMOId, @skillId);
array_push(@skillMMOLv, @skillLv);
// Switch though skills for additional effects
switch (@skillId) {
default:
// PS. I hate scripts.conf load order
callfunc("GetManaExp", @skillId, 1);
break;
}
// Switch through skills for experience gains
// TODO: Element Level does nothing, no buffs and no cost reduction
// ...Yet
switch (@skillId) {
case NV_FIRSTAID:
case AL_HEAL:
case AB_HIGHNESSHEAL:
case ALL_FULL_THROTTLE:
case TF_DETOXIFY:
EXP_MS += 1;
if (EXP_MS > NEXT_Ms()) {
EXP_MS -=NEXT_Ms();
LVL_MS +=1;
}
break;
case AL_HOLYLIGHT:
case MG_SOULSTRIKE:
case MG_NAPALMBEAT:
if (EXP_MH > NEXT_Mh()) {
EXP_MH -=NEXT_Mh();
LVL_MH +=1;
}
EXP_MH += 1;
break;
case SA_FROSTWEAPON:
case MG_FROSTDIVER:
case WZ_FROSTNOVA:
EXP_MW += 1;
if (EXP_MW > NEXT_Mw()) {
EXP_MW -=NEXT_Mw();
LVL_MW +=1;
}
break;
case SA_FLAMELAUNCHER:
case MG_FIREBOLT:
case MG_FIREBALL:
case SO_FIREWALK:
EXP_MF += 1;
if (EXP_MF > NEXT_Mf()) {
EXP_MF -=NEXT_Mf();
LVL_MF +=1;
}
break;
case SA_SEISMICWEAPON:
case MG_LIGHTNINGBOLT:
case MG_FIREWALL:
case SN_WINDWALK:
EXP_MN += 1;
if (EXP_MN > NEXT_Mn()) {
EXP_MN -=NEXT_Mn();
LVL_MN +=1;
}
break;
case KN_AUTOCOUNTER:
case SN_SHARPSHOOTING:
case ASC_METEORASSAULT:
case AC_SHOWER:
case AC_CHARGEARROW:
case SM_BASH:
case MC_MAMMONITE:
case GC_DARKILLUSION:
EXP_MC += 1;
if (EXP_MC > NEXT_Mc()) {
EXP_MC -=NEXT_Mc();
LVL_MC +=1;
}
break;
}
return;
}
|