// 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; }