AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Tag mismatch & few errors! Advanced coders*** (https://forums.alliedmods.net/showthread.php?t=184697)

iBrazilian 05-07-2012 21:12

Tag mismatch & few errors! Advanced coders***
 
I'm trying to call a "function"-"skill" without using a public function. I've got a lot setup with the help of great coders from AlliedModders, as they are extremely busy I need some forum help.

[ Before the skills were being called with Public functions, EX: public Healing_Wave(id, skill, prop), now I'm trying to make it call by using SKILL:Healing_Wave( id, skill, prop )

#1:This here is where the skills are called from, this is not the whole file but it's the only edited part needed.
PHP Code:

#include "pokemon/pokeskills.inc"

enum
{
    
SKILL_READY,
    
SKILL_USED,
}

enum POKESKILL 
{
    
SKILL_INVALID = -1,
    
SKILL_ABSORB,       
    
    
SKILL_ACID,                      
    
SKILL_ACIDARMOR,                        
    
SKILL_AGILITY,                      
    
SKILL_AMNESIA,                       
    
SKILL_AURORABEAM,                   
    
SKILL_BARRAGE,                  
    
SKILL_BIDE,                   
    
SKILL_BITE,                      
    
SKILL_POWDEREDSNOW,                     
    
SKILL_BODYSLAM,                     
    
SKILL_BONECLUB,                    
    
SKILL_BONEMERANG,                       
    
SKILL_BUBBLEBEAM,                    
    
SKILL_CONFUSERAY,                    
    
SKILL_CONFUSION,                      
    
SKILL_CONSTRICT,                      
    
SKILL_CONVERSION,                   
    
SKILL_COUNTER,                      
    
SKILL_DEFENSECURL,                       
    
SKILL_DIG,                     
    
SKILL_DISABLE,                     
    
SKILL_DIZZYPUNCH,             
    
SKILL_DOUBLEEDGE,                    
    
SKILL_DOUBLEKICK,                      
    
SKILL_DOUBLESLAP,                     
    
SKILL_DOUBLETEAM,                    
    
SKILL_DRAGONRAGE,                      
    
SKILL_DREAMEATER,                      
    
SKILL_DRILLPECK,                   
    
SKILL_EARTHQUAKE,                    
    
SKILL_EGGBOMB,               
    
SKILL_EMBER,                     
    
SKILL_EXPLOSION,                       
    
SKILL_FIREBLAST,                     
    
SKILL_FIRESPIN,                      
    
SKILL_FISSURE,                    
    
SKILL_FLAMETHROWER,                    
    
SKILL_FLASH,                   
    
SKILL_FLY,                    
    
SKILL_GLARE,                       
    
SKILL_GROWTH,                     
    
SKILL_GUILLOTINE,                     
    
SKILL_GUST,                     
    
SKILL_HARDER,                     
    
SKILL_HAZE,                     
    
SKILL_HORNATTACK,                    
    
SKILL_HORNDRILL,                  
    
SKILL_HYDROPUMP,                   
    
SKILL_HYPERBEAM,                     
    
SKILL_HYPNOSIS,                      
    
SKILL_ICEBEAM,                    
    
SKILL_KARATECHOP,                   
    
SKILL_LEECHLIFE,                     
    
SKILL_LEECHSEED,                    
    
SKILL_LEER,                      
    
SKILL_LIGHTSCREEN,                    
    
SKILL_LOWKICK,                      
    
SKILL_MEGADRAIN,                      
    
SKILL_MEGAKICK,                     
    
SKILL_MEGAPUNCH,                     
    
SKILL_MIST,                   
    
SKILL_NIGHTSHADE,                      
    
SKILL_PAYDAY,                     
    
SKILL_PECK,                      
    
SKILL_PINMISSILE,                      
    
SKILL_POISONGAS,                     
    
SKILL_POISONPOWDER,                     
    
SKILL_POISONSTING,                   
    
SKILL_PSYBEAM,                      
    
SKILL_PSYCHIC,                       
    
SKILL_PSYWAVE,                    
    
SKILL_QUICKATTACK,                     
    
SKILL_RAGE,                    
    
SKILL_RAZORLEAF,                   
    
SKILL_RECOVER,                    
    
SKILL_REFLECT,                      
    
SKILL_REST,                      
    
SKILL_ROAR,                       
    
SKILL_ROCKSLIDE,                       
    
SKILL_ROCKTRHOW,                    
    
SKILL_SANDATTACK,                       
    
SKILL_SCRATCH,                      
    
SKILL_SCREECH,                     
    
SKILL_SEISMICTOSS,                       
    
SKILL_SELFDESTRUCT,                      
    
SKILL_SING,                   
    
SKILL_SKULLBASH,                       
    
SKILL_SKYATTACK,                      
    
SKILL_SLASH,                   
    
SKILL_SLEEPPOWDER,                   
    
SKILL_SMOG,                   
    
SKILL_SMOKESCREEN,                    
    
SKILL_SOLARBEAM,                       
    
SKILL_SONICBOOM,                     
    
SKILL_SPIKECANNON,                  
    
SKILL_SPLASH,                     
    
SKILL_SPORE,                
    
SKILL_STOMP,                   
    
SKILL_STRENGTH,                
    
SKILL_STRINGSHOT,                      
    
SKILL_STUNGSPORE,                     
    
SKILL_SUBMISSION,                    
    
SKILL_SUBSTITUTE,                   
    
SKILL_SUPERSONIC,                  
    
SKILL_SWIFT,                     
    
SKILL_TACKLE,                   
    
SKILL_TAILWHIP,                    
    
SKILL_TAKE,               
    
SKILL_TELEPORT,                  
    
SKILL_THRASH,                   
    
SKILL_THUNDER,                   
    
SKILL_THUNDERWAVE,                    
    
SKILL_THUNDERBOLT,                       
    
SKILL_THUNDERSHOCK,                      
    
SKILL_TOXIC,                
    
SKILL_TRANSFORM,                   
    
SKILL_TRIATTACK,                   
    
SKILL_VICEGRIP,                     
    
SKILL_VINEWHIP,                     
    
SKILL_WATERFALL,                   
    
SKILL_WRAP,                      
    
SKILL_AEROBLAST,                       
    
SKILL_ANCIENTPOWER,                      
    
SKILL_AROMATHERAPY,                       
    
SKILL_AVALANCHE,                   
    
SKILL_BLAZEKICK,             
    
SKILL_BOUNCE,                  
    
SKILL_CALMMIND,                     
    
SKILL_CRUNCH,                     
    
SKILL_ERUPTION,                     
    
SKILL_EXTREMESPEED,                    
    
SKILL_FAINTATTACK,                    
    
SKILL_FIREPUNCH,                     
    
SKILL_FLASHCANNON,                    
    
SKILL_FORESIGHT,                   
    
SKILL_FUTURESIGHT,                   
    
SKILL_GIGADRAIN,                   
    
SKILL_GUARDSWAP,                      
    
SKILL_HEALBELL,                    
    
SKILL_ASSIST,                     
    
SKILL_HIDDENPOWER,                    
    
SKILL_BLIZZARD,                    
    
SKILL_INSOMNIA,                
    
SKILL_IRONDEFENSE,                      
    
SKILL_LEAFSTORM,                    
    
SKILL_LELIVATE,               
    
SKILL_LOVELYKISS,                      
    
SKILL_LUSTERPURGE,                     
    
SKILL_MAGMAARMOR,                      
    
SKILL_MINIMIZE,                  
    
SKILL_MIRRORCOAT,                     
    
SKILL_OCTOZOOKA,                    
    
SKILL_OVERHEAT,                     
    
SKILL_POISONFANG,                     
    
SKILL_PRESENT,                  
    
SKILL_PROTECT,                
    
SKILL_PSYCHOBOOST,                 
    
SKILL_RAINDANCE,                   
    
SKILL_RAZORWIND,                       
    
SKILL_REVERSAL,                   
    
SKILL_SACREDFIRE,                   
    
SKILL_SANDSTORM,                     
    
SKILL_SCARYFACE,                      
    
SKILL_SHADOWBALL,                     
    
SKILL_SHEERCOLD,                   
    
SKILL_SHOCKWAVE,                      
    
SKILL_SILENT,                    
    
SKILL_SPARK,              
    
SKILL_SPIDERWEB,                     
    
SKILL_SOFTBOILED,                      
    
SKILL_STEELWING,                     
    
SKILL_STONEEDGE,                       
    
SKILL_SUNNYDAY,                 
    
SKILL_SYNTHESIS,                    
    
SKILL_TELEKNESIS,                    
    
SKILL_THIEF,                    
    
SKILL_THUNDERPUNCH,                    
    
SKILL_TRIPLEKICK,               
    
SKILL_WATERPULSE,                      
    
SKILL_ZAPCANNON,                     
    
SKILL_BLOCK,                     
    
SKILL_BUGBITE,                 
    
SKILL_DRAGONRUSH,               
    
SKILL_ELECTRABALL,                   
    
SKILL_ENDEAVOR,                     
    
SKILL_FOCUSENERGY,                     
    
SKILL_HEALORDER,                       
    
SKILL_ICEBALL,                    
    
SKILL_MAGICALLEAF,                       
    
SKILL_MIMIC,                   
    
SKILL_NIGHTSLASH,                  
    
SKILL_SUCKERPUNCH,                  
    
SKILL_SWAGGER,                      
    
SKILL_SWEETKISS,                   
    
SKILL_THUNDERFANG,                 
    
SKILL_WATERSPORT,                    
    
SKILL_WHIRLWIND,                  
    
SKILL_WINGATTACK,                   
    
SKILL_MEDITATE,                    
    
SKILL_EPICBOMB,                    
    
SKILL_WEATHERBEAM,                  
    
SKILL_ICYWIND,                    
    
SKILL_HELPINGHAND,                      
    
SKILL_SPITFIRE,                    
    
SKILL_ICEPUNCH,                    
    
SKILL_FLAMEWHEEL,                 
    
SKILL_DARKPULSE,                  
    
SKILL_MEMENTO,               
    
SKILL_VANISHER,                     
    
SKILL_SHADOWSENSOR,                     
    
SKILL_ELECTRICTHREADS,                    
    
SKILL_HEALINGWAVE,                    
    
SKILL_SHELLYCOAT,                    
    
SKILL_OVERCOAT,                    
    
SKILL_ORACLE,                    
    
SKILL_POISONPOINT,                   
    
SKILL_BLACKGODFLAMES,                   
    
SKILL_LIMBER,                  
    
SKILL_EVILROOT,                 
    
SKILL_RAPIDRUN,                      
    
SKILL_SERPENTEYES,                    
    
SKILL_FIREMADNESS,                     
    
SKILL_FIREPUNCHES,                   
    
SKILL_HIDDENWEAPON,                    
    
SKILL_HIDDENHOWL,                    
    
SKILL_RUNAWAY,                      
    
SKILL_FEROCIOUSHUNTER,                  
    
SKILL_TRACKER,                    
    
SKILL_PROTECTANT,                   
    
SKILL_SAVIOR,                     
    
SKILL_ASSASSIN,                
    
SKILL_ANGRYPECKER,                      
    
SKILL_CALMSCENE,                      
    
SKILL_MASSIVEEXPLOSION,                    
    
SKILL_SPEEDYBOLT,                    
    
SKILL_STEELER,                     
    
SKILL_CRYSTALLIZE,                    
    
SKILL_SANDFORCE,                       
    
SKILL_SILENTSCREAMING,                       
    
SKILL_FRAGRANCE,                    
    
SKILL_IRONFIST,                     
    
SKILL_STATUE,                       
    
SKILL_CONCRETEMISSILE,              
    
SKILL_HELPER,                  
    
SKILL_EARTHSHAKER,                     
    
SKILL_POISONTOUCH,                   
    
SKILL_INVISIBLETHREADS,                  
    
SKILL_LEADSLICER,                     
    
SKILL_DARKVENOM,                       
    
SKILL_QUICKFEAT,                    
    
SKILL_DIVERSION,                    
    
SKILL_INFILTRATOR,                     
    
SKILL_HEALINGLEAF,                     
    
SKILL_RECKLESSNESS,                       
    
SKILL_BLOCKER,                    
    
SKILL_NIGHTVISION,                     
    
SKILL_CLOSESIGHT,                    
    
SKILL_HEAVYSLEEP,                  
    
SKILL_ZENMODE,                  
    
SKILL_SCREAMINGSTORM,                       
    
SKILL_HIDDENROCK,                      
    
SKILL_SHEDSKIN,                     
    
SKILL_HOODLUM,                     
    
SKILL_MIRRORTOUCH,                
    
SKILL_BODYEATER,                
    
SKILL_SOLIDROCK,                   
    
SKILL_TRIBEAM,                   
    
SKILL_TRASHGAS,                     
    
SKILL_TOXICSPRAY,                    
    
SKILL_EXTRAAMMO,                     
    
SKILL_REVERSEDAMGE,                     
    
SKILL_AMPLIFIER,                    
    
SKILL_DARKMOON,                     
    
SKILL_MAGICGUARD,                   
    
SKILL_WATERPUMPER,                  
    
SKILL_HYDRATION,                    
    
SKILL_ICEBODY,                    
    
SKILL_ICEWINDS,                      
    
SKILL_SNOWSTORM,                   
    
SKILL_SERENEGRACE,                     
    
SKILL_IMITATION,                  
    
SKILL_HOSTAGETAKER,                      
    
SKILL_CURSEDBODY,                     
    
SKILL_ELECTROWEB,                     
    
SKILL_THORNYBARRIER,                    
    
SKILL_PROJUMPER,                     
    
SKILL_CLEARBODY,                      
    
SKILL_DISKTHROWER,                  
    
SKILL_DISKEXPLOSIVE,                     
    
SKILL_UNKNOWNWORLD,                     
    
SKILL_BRAINATTACKER,                      
    
SKILL_FLAMELIGHTER,                     
    
SKILL_SOULTAKER,                      
    
SKILL_ADAMANTDRAGON,                     
    
SKILL_ICECHILL,                   
    
SKILL_ICECHAINS,                  
    
SKILL_SHELLARMOR,                  
    
SKILL_STEALTH,                
    
SKILL_EARTHLYLIGHTINING,                  
    
SKILL_INNERFOCUS,                     
    
SKILL_WHIPSLASH,                   
    
SKILL_DRAGONLIGHT,                      
    
SKILL_REGENERATION,                     
    
SKILL_BLADEDHANDS,                      
    
SKILL_PRESSURE,                     
    
SKILL_HEADCHARGE,                  
    
SKILL_HUSTLE,                     
    
SKILL_ARMORRESPAWN,                      
    
SKILL_WINDDRAGONROAR,                    
    
SKILL_WHITESMOKE,                    
    
SKILL_TRIPLETEAM,                  
    
SKILL_EVILINTENT,                    
    
SKILL_BLAZINGTOUCH,                  
    
SKILL_DEADLYHORN,                    
    
SKILL_SEAOFFLAMES,                    
    
SKILL_MINDCONTROL,                    
    
SKILL_DEADLYDREAM,                 
    
SKILL_WATERSPRAYER,                       
    
SKILL_GEYSERNEST,                   
    
SKILL_SHININGLIGHT,                     
    
SKILL_EMOTIONALPAIN,                    
    
SKILL_FLIGHT,                    
    
SKILL_ROCKYSKY,                  
    
SKILL_HIGHDEFENSE,                     
    
SKILL_METALBURST,                     
    
SKILL_DECIEVING,                      
    
SKILL_FALLENLIFE,                     
    
SKILL_NIGHTDAZE,                      
    
SKILL_PHANTONDAZE,                     
    
SKILL_WATERGOD,                     
    
SKILL_RELICSONG,                      
    
SKILL_TECHNODRIVE,                     
    
SKILL_DEVINEJUDGMENT,                      
    
SKILL_DEVINEICE,                     
    
SKILL_BLACKDEATH,                       
    
SKILL_SHADOWSTALKER,                     
    
SKILL_LIGHTNINGFURY,                      
    
SKILL_VOLCANOGEYSER,                    
    
SKILL_FLYINGJUDGMENT,                    
    
SKILL_ACIDRAIN,                    
    
SKILL_ANCIENT,                   
    
SKILL_FIREEXPLOSION,
    
SKILL_CALMINGWAVES,  
}

///////////////////////////////////////
//  When someone presses +pokeskill  //
///////////////////////////////////////
public pokeskill_down(id)
    {
    
g_StopSkill[id] = false;
    if( !
PMon() ){
        
poke_printlang(id,"POKEMOD_DISABLED")
        return 
PLUGIN_HANDLED
    
}
    else if( 
PM_disabled == PM_XP ){
        
poke_printlang(id,"POKEMOD_SKILLSDISABLED")
        return 
PLUGIN_HANDLED
    
}
    else if( !
ValidPokePlayersPoke[id][0] ) ){
        
StartMenu(id)
        return 
PLUGIN_HANDLED
    
}
    
    if( 
g_isItemed[id] ){
        
SetActionMenuidAC_GO );
        return 
PLUGIN_HANDLED;
    }
    
    if( !
Pokemod_Alive(id) ){
        new 
parm[2];
        
parm[0] = id;
        
parm[1] = 0;
        
set_task(0.1"PokeMenu"0parm2);
        return 
PLUGIN_HANDLED;
    }
    
    new 
skill_numcommand[32];
    
read_argv(0,command,31);
    
replace(command31"+pokeskill", EMPTY);
    
skill_num str_to_num(command);
    
    new 
poke_skills[MAX_SKILLS], skill_counti;
    for( 
0MAX_SKILLSi++ )
        
poke_skills[i] = -1;
    
    new 
pid Pokemon[id], tempskilltempcheckbool:skill_found;
    for( 
= -1i<MAX_ACTIVE_POKESi++ ){
        if( 
!= -){
            
pid PlayersPoke[id][i];
            
            
//if weve already added the skill in, we don't need to add it again
            
if( == PlayersActive[id] )
                continue;
        }
        while( 
pid && skill_count MAX_SKILLS ){
            if( !
PokeDisabled(pid) && (tempskill PokeSkill[pid]) != -){
                if( (
i==-|| PokeInfo[pid] & PI_GLOBAL) && SkillInfo[tempskill] & SI_BIND ){
                    
skill_found false;
                    for( 
tempcheck=0tempcheck skill_counttempcheck++ )
                        if( 
poke_skills[tempcheck] == tempskill )
                        
skill_found true;
                    if( !
skill_found ){
                        
poke_skills[skill_count] = tempskill;
                        
skill_count++;
                    }
                }
            }
            
            
pid AnyEvolveTo(pid);
        }
    }
    
    if( 
skill_count && !skill_num ){
        if( !
ValidSkillActiveSkill(id) ) ){
            
SkillMenu(id);
            return 
PLUGIN_HANDLED;
        }
        else
        
tempskill ActiveSkill(id);
    }
    else if( 
skill_num )
        
SetActiveSkill(id, (tempskill poke_skills[skill_num-1]) );
    else
    
SetActiveSkill(id, (tempskill poke_skills[0]) );
    
    
//couldnt find any skill to use, lets just use their first skill
    
if( !ValidSkill(tempskill) && !PokeDisabledPokemon[id] ) )
        
SetActiveSkill(id, (tempskill PokeSkill[Pokemon[id]]) );
    
    
//stop, they dont have a valid skill
    
if( !ValidSkill(tempskill) ){
        
poke_printlang(id,"POKEMOD_NOSKILL" );
        return 
PLUGIN_HANDLED;
    }
    
//stop, they dont have a bind skill
    
if( !(SkillInfo[tempskill] & SI_BIND) ){
        
poke_printlang(id,"POKEMOD_SKILLAUTO"SkillToName(tempskill) );
        return 
PLUGIN_HANDLED;
    }
    
//stop, we arent allowing the skill to be used
    
if( DisAllowSkillidtempskilltrue ) )
        return 
PLUGIN_HANDLED;
    
    
//check spam time. stop if they are spamming
    
new Float:current_time get_gametime();
    if(
current_time-g_lastSkill[id] < SKILL_SPAM){
        
poke_printlang(id,"POKEMOD_SKILLSPAM");
        return 
PLUGIN_HANDLED;
    }
    
g_lastSkill[id] = current_time;
    
    
//send into skill handler
    
bind_skill_handler(id+POKESKILL_TASK);
    
    
debugMessage(id,6,"Player""keyed down with %s"SkillToNameActiveSkill(id) ) );
    
    return 
PLUGIN_HANDLED;
}

////////////////////////////////////////
//  When someone releases +pokeskill  //
////////////////////////////////////////
public pokeskill_up(id)
    {
    
debugMessage(id,6,"Player""keyed up with %s"SkillToNameActiveSkill(id) ) );
    
    
skills_handler(idSI_RELEASE);
    
    if( 
ValidSkillActiveSkill(id) ) ){
        if( 
Action[id] == AC_SKILL )
            
SkillMenu(id);
    }
    
    
g_StopSkill[id] = true;
    
    
#if SKILL_UNSPAM == 1
    
g_lastSkill[id] = 0.0;
    
#endif
    
    
return PLUGIN_HANDLED;
}

public 
bind_skill_handler(id)
    {
    
id -= POKESKILL_TASK;
    
    if( 
is_user_connectedid ) ){
        if( !
Pokemod_Alive(id) || DisAllowSkillidActiveSkill(id), true ) || g_StopSkill[id] ){
            
g_StopSkill[id] = false;
        }
        else if( 
ValidSkillActiveSkill(id) ) ){
            
CallSkill(idActiveSkill(id), SI_BIND);
            
set_task(0.1,"bind_skill_handler"POKESKILL_TASK+id)
        }
    }
}
skills_handler(idcall_prop)
{
    if( 
PlayerEventForward > -)
        {
        new 
functionReturn
        ExecuteForward
(PlayerEventForwardfunctionReturnidcall_prop)
        if( 
functionReturn==PLUGIN_HANDLED )
            return;
    }
    
    new 
POKESKILL:skillsubpokebool:auto_globals=false;
    
    if( 
call_prop SI_RESET || call_prop SI_ROUNDRESET || call_prop SI_CONNECT || call_prop SI_DISCONNECT )
        
auto_globals true;
    
    if( !
PokeDisabledPokemon[id] ) ){
        
skill PokeSkill[Pokemon[id]];
        if( !
DisAllowSkill(idskill) && SkillInfoskill ] & call_prop )
            
CallSkill(idskillcall_prop)
    }
    
    
//if their active poke is evolved, deal with the skills it had
    
subpoke AnyEvolveTo(Pokemon[id])
    while(
subpoke && subpoke!=Pokemon[id]){
        if( !
PokeDisabledsubpoke ) ){
            
skill PokeSkill[subpoke];
            if( !
DisAllowSkill(idskill) && SkillInfo[skill] & call_prop )
                
CallSkill(idskillcall_prop)
        }
        
subpoke AnyEvolveTo(subpoke)
    }
    
    
//now on to the global pokes
    
new mpid_global;
    for(
m=0m<MAX_ACTIVE_POKESm++){
        
        
pid_global PlayersPoke[id][m]
        if( 
Pokemon[id] == pid_global )
            continue;
        
        if( (
auto_globals || PokeInfo[pid_global] & PI_GLOBAL) && !PokeDisabled(pid_global) ){
            
skill PokeSkill[pid_global];
            if( !
DisAllowSkill(idskill) && SkillInfo[skill] & call_prop )
                
CallSkill(idskillcall_prop)
        }
        
        
//sub globals now
        
subpoke AnyEvolveTo(pid_global)
        while(
subpoke && subpoke!=pid_global){
            if( (
auto_globals || PokeInfo[subpoke] & PI_GLOBAL) && !PokeDisabled(subpoke) ){
                
skill PokeSkill[subpoke];
                if( !
DisAllowSkill(idskill) && SkillInfo[skill] & call_prop )
                    
CallSkill(idskillcall_prop)
            }
            
subpoke AnyEvolveTo(subpoke)
        }
    }
}
bool:PokeDisabledpokemon )
{
    if( 
PokeInfo[pokemon]&PI_DISABLE || SafariLevel(pokemon)==-1000 )
        return 
true;
    return 
false;
}
bool:DisAllowSkill(idskillbool:bind=false)
{
    if( !
ValidSkillskill ) || !Pokemod_Connected(id) )
        return 
true;
    if( 
PM_disabled == PM_XP ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLSDISABLED");
        return 
true;
    }
    
    else if( 
SkillInfo[skill] & SI_DISABLE ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLDIS");
        return 
true;
    }
    else if( 
SkillInfo[skill] & SI_CALL )
        return 
false;
    else if( !(
SkillInfo[skill] & SI_IGNORE) && BindTime(id) ){
        if(
bind)            sound_deny(id);
        return 
true;
    }
    else if( 
g_Status[id][STATUS_ASLEEP] ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLASLEEP");
        return 
true;
    }
    else if( !(
SkillInfo[skill] & SI_DEAD) && !Pokemod_Alive(id) ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLDEAD");
        return 
true;
    }
    else if( 
SkillInfo[skill] & SI_ADMIN && !is_user_admin(id) ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLADMIN");
        return 
true;
    }
    else if( 
FreezeTime ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLFREEZE");
        return 
true;
    }
    
#if MOD==CS
    
else if( cs_get_user_vip(id) ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLVIP");
        return 
true;
    }
    
#endif
    #if MOD==NS
    
else if( ns_get_class(id) == CLASS_COMMANDER ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLCOM");
        return 
true;
    }
    
#endif
    
return false;
}

stock RemoveDelayCallSkill(idskill)
{
    
remove_taskSKILLCALL_TASK + (skill MAX_PLAYERS) + id );
}
    
stock DelayedCallSkill(Float:timeidskillprop)
    {
    new 
parm];
    
parm] = id;
    
parm] = _:skill;
    
parm] = _:prop;
    
set_task(time"task_CallSkill"SKILLCALL_TASK + (skillMAX_PLAYERS) + idparm3);
}
public 
task_CallSkillparm[] )
{
    new 
id parm];
    new 
POKESKILL:skillID POKESKILL:parm];
    new 
prop parm];
    
    
CallSkillparm[0], parm[1], parm[2] );
}

SKILL:CallSkill(idPOKESKILL:skillIDprop)
{
    if( 
ValidPlayer(id) && ValidSkill(skillID) ){
        
debugMessage(id,7,"Player""calling skill %s"SkillToNameskillID ) );

        
skill SkillID;
        new 
SKILL:call;
        
        switch( 
skillID )
        {
            case 
SKILL_ABSORB:                         call AbsorbidskillIDprop );            
            case 
SKILL_ACID:                        call Acid idskillIDprop );    
            case 
SKILL_ACIDARMOR:                        call Acid_ArmoridskillIDprop );
            case 
SKILL_AGILITY:                        call AgilityidskillIDprop );
            case 
SKILL_AMNESIA:                       call AmnesiaidskillIDprop );
            case 
SKILL_AURORABEAM:                       call Aurora_BeamidskillIDprop );
            case 
SKILL_BARRAGE:                       call BarrageidskillIDprop );
            case 
SKILL_BIDE:                       call BideidskillIDprop );
            case 
SKILL_BITE:                       call BiteidskillIDprop );
            case 
SKILL_POWDEREDSNOW:                       call Powdered_SnowidskillIDprop );
            case 
SKILL_BODYSLAM:                       call Body_SlamidskillIDprop );
            case 
SKILL_BONECLUB:                       call Bone_ClubidskillIDprop );
            case 
SKILL_BONEMERANG:                       call BonemerangidskillIDprop );
            case 
SKILL_BUBBLEBEAM:                       call Bubble_BeamidskillIDprop );
            case 
SKILL_CONFUSERAY:                       call Confuse_RayidskillIDprop );
            case 
SKILL_CONFUSION:                       call ConfusionidskillIDprop );
            case 
SKILL_CONSTRICT:                       call ConstrictidskillIDprop );
            case 
SKILL_CONVERSION:                       call ConversionidskillIDprop );
            case 
SKILL_COUNTER:                       call CounteridskillIDprop );
            case 
SKILL_DEFENSECURL:                       call Defense_CurlidskillIDprop );
            case 
SKILL_DIG:                       call DigidskillIDprop );
            case 
SKILL_DISABLE:                       call DisableidskillIDprop );
            case 
SKILL_DIZZYPUNCH:                       call Dizzy_PunchidskillIDprop );
            case 
SKILL_DOUBLEEDGE:                       call Double_EdgeidskillIDprop );
            case 
SKILL_DOUBLEKICK:                       call Double_KickidskillIDprop );
            case 
SKILL_DOUBLESLAP:                       call Double_SlapidskillIDprop );
            case 
SKILL_DOUBLETEAM:                       call Double_TeamidskillIDprop );
            case 
SKILL_DRAGONRAGE:                       call Dragon_RageidskillIDprop );
            case 
SKILL_DREAMEATER:                       call Dream_EateridskillIDprop );
            case 
SKILL_DRILLPECK:                       call Drill_PeckidskillIDprop );
            case 
SKILL_EARTHQUAKE:                       call EarthquakeidskillIDprop );
            case 
SKILL_EGGBOMB:                       call Egg_BombidskillIDprop );
            case 
SKILL_EMBER:                       call EmberidskillIDprop );
            case 
SKILL_EXPLOSION:                       call ExplosionidskillIDprop );
            case 
SKILL_FIREBLAST:                       call Fire_BlastidskillIDprop );
            case 
SKILL_FIRESPIN:                       call Fire_SpinidskillIDprop );
            case 
SKILL_FISSURE:                       call FissureidskillIDprop );
            case 
SKILL_FLAMETHROWER:                       call FlamethroweridskillIDprop );
            case 
SKILL_FLASH:                       call FlashidskillIDprop );
            case 
SKILL_FLY:                       call FlyidskillIDprop );
            case 
SKILL_GLARE:                       call GlareidskillIDprop );
            case 
SKILL_GROWTH:                       call GrowthidskillIDprop );
            case 
SKILL_GUILLOTINE:                       call GuillotineidskillIDprop );
            case 
SKILL_GUST:                       call GustidskillIDprop );
            case 
SKILL_HARDER:                       call HardenidskillIDprop );
            case 
SKILL_HAZE:                       call HazeidskillIDprop );
            case 
SKILL_HORNATTACK:                       call Horn_AttackidskillIDprop );
            case 
SKILL_HORNDRILL:                       call Horn_DrillidskillIDprop );
            case 
SKILL_HYDROPUMP:                       call Hydro_PumpidskillIDprop );
            case 
SKILL_HYPERBEAM:                       call Hyper_BeamidskillIDprop );
            case 
SKILL_HYPNOSIS:                       call HypnosisidskillIDprop );
            case 
SKILL_ICEBEAM:                       call Ice_BeamidskillIDprop );
            case 
SKILL_KARATECHOP:                       call Karate_ChopidskillIDprop );
            case 
SKILL_LEECHLIFE:                       call Leech_LifeidskillIDprop );
            case 
SKILL_LEECHSEED:                       call Leech_SeedidskillIDprop );
            case 
SKILL_LEER:                       call LeeridskillIDprop );
            case 
SKILL_LIGHTSCREEN:                       call Light_ScreenidskillIDprop );
            case 
SKILL_LOWKICK:                       call Low_KickidskillIDprop );
            case 
SKILL_MEGADRAIN:                       call Low_KickidskillIDprop );
            case 
SKILL_MEGAKICK:                       call Mega_KickidskillIDprop );
            case 
SKILL_MEGAPUNCH:                       call Mega_PunchidskillIDprop );
            case 
SKILL_MIST:                       call MistidskillIDprop );
            case 
SKILL_NIGHTSHADE:                       call Night_ShadeidskillIDprop );
            case 
SKILL_PAYDAY:                       call Pay_DayidskillIDprop );
            case 
SKILL_PECK:                       call PeckidskillIDprop );
            case 
SKILL_PINMISSILE:                       call Pin_MissileidskillIDprop );
            case 
SKILL_POISONGAS:                       call Poison_GasidskillIDprop );
            case 
SKILL_POISONPOWDER:                       call Poison_PowderidskillIDprop );
            case 
SKILL_POISONSTING:                       call Poison_StingidskillIDprop );
            case 
SKILL_PSYBEAM:                       call PsybeamidskillIDprop );
            case 
SKILL_PSYCHIC:                       call PsychicidskillIDprop );
            case 
SKILL_PSYWAVE:                       call PsywaveidskillIDprop );
            case 
SKILL_QUICKATTACK:                       call Quick_AttackidskillIDprop );
            case 
SKILL_RAGE:                       call RageidskillIDprop );
            case 
SKILL_RAZORLEAF:                       call Razor_LeafidskillIDprop );
            case 
SKILL_RECOVER:                       call RecoveridskillIDprop );
            case 
SKILL_REFLECT:                       call ReflectidskillIDprop );
            case 
SKILL_REST:                       call RestidskillIDprop );
            case 
SKILL_ROAR:                       call RoaridskillIDprop );
            case 
SKILL_ROCKSLIDE:                       call Rock_SlideidskillIDprop );
            case 
SKILL_ROCKTRHOW:                       call Rock_ThrowidskillIDprop );
            case 
SKILL_SANDATTACK:                       call Sand_AttackidskillIDprop );
            case 
SKILL_SCRATCH:                       call ScratchidskillIDprop );
            case 
SKILL_SCREECH:                       call ScreechidskillIDprop );
            case 
SKILL_SEISMICTOSS:                       call Seismic_TossidskillIDprop ); 
            case 
SKILL_SELFDESTRUCT:                       call Self_DestructidskillIDprop );
            case 
SKILL_SING:                       call SingidskillIDprop );
            case 
SKILL_SKULLBASH:                       call SkullbashidskillIDprop );
            case 
SKILL_SKYATTACK:                       call Sky_AttackidskillIDprop );
            case 
SKILL_SLASH:                       call SlashidskillIDprop );
            case 
SKILL_SLEEPPOWDER:                       call Sleep_PowderidskillIDprop );
            case 
SKILL_SMOG:                       call SmogidskillIDprop );
            case 
SKILL_SMOKESCREEN:                       call SmokescreenidskillIDprop );
            case 
SKILL_SOLARBEAM:                       call Solar_BeamidskillIDprop );
            case 
SKILL_SONICBOOM:                       call Sonic_BoomidskillIDprop );
            case 
SKILL_SPIKECANNON:                       call Spike_CannonidskillIDprop );
            case 
SKILL_SPLASH:                       call SplashidskillIDprop );
            case 
SKILL_SPORE:                       call SporeidskillIDprop );
            case 
SKILL_STOMP:                       call StompidskillIDprop );
            case 
SKILL_STRENGTH:                       call StrengthidskillIDprop );
            case 
SKILL_STRINGSHOT:                       call String_ShotidskillIDprop );
            case 
SKILL_STUNGSPORE:                       call Stun_SporeidskillIDprop );
            case 
SKILL_SUBMISSION:                       call SubmissionidskillIDprop );
            case 
SKILL_SUBSTITUTE:                       call SubstituteidskillIDprop );
            case 
SKILL_SUPERSONIC:                       call SupersonicidskillIDprop );
            case 
SKILL_SWIFT:                       call SwiftidskillIDprop );
            case 
SKILL_TACKLE:                       call TackleidskillIDprop );
            case 
SKILL_TAILWHIP:                       call Tail_WhipidskillIDprop );
            case 
SKILL_TAKE:                       call Take_DownidskillIDprop );
            case 
SKILL_TELEPORT:                       call TeleportidskillIDprop );
            case 
SKILL_THRASH:                       call ThrashidskillIDprop );
            case 
SKILL_THUNDER:                       call ThunderidskillIDprop );
            case 
SKILL_THUNDERWAVE:                       call Thunder_WaveidskillIDprop );
            case 
SKILL_THUNDERBOLT:                       call ThunderboltidskillIDprop );
            case 
SKILL_THUNDERSHOCK:                       call ThundershockidskillIDprop );
            case 
SKILL_TOXIC:                       call ToxicidskillIDprop );
            case 
SKILL_TRANSFORM:                       call TransformidskillIDprop );
            case 
SKILL_TRIATTACK:                       call Tri_AttackidskillIDprop );
            case 
SKILL_VICEGRIP:                       call Vice_GripidskillIDprop );
            case 
SKILL_VINEWHIP:                       call Vine_WhipidskillIDprop );
            case 
SKILL_WATERFALL:                       call WaterfallidskillIDprop );
            case 
SKILL_WRAP:                       call WrapidskillIDprop ); // Season 2 and 3 skills
            
case SKILL_AEROBLAST:                       call AeroblastidskillIDprop );
            case 
SKILL_ANCIENTPOWER:                       call Ancient_PoweridskillIDprop );
            case 
SKILL_AROMATHERAPY:                       call AromatherapyidskillIDprop );
            case 
SKILL_AVALANCHE:                       call AvalancheidskillIDprop );
            case 
SKILL_BLAZEKICK:                       call Blaze_KickidskillIDprop );
            case 
SKILL_BOUNCE:                       call BounceidskillIDprop );
            case 
SKILL_CALMMIND:                       call Calm_MindidskillIDprop );
            case 
SKILL_CRUNCH:                       call CrunchidskillIDprop );
            case 
SKILL_ERUPTION:                       call EruptionidskillIDprop );
            case 
SKILL_EXTREMESPEED:                       call Extreme_SpeedidskillIDprop );
            case 
SKILL_FAINTATTACK:                       call Faint_AttackidskillIDprop );
            case 
SKILL_FIREPUNCH:                       call Fire_PunchidskillIDprop );
            case 
SKILL_FLASHCANNON:                       call Flash_CannonidskillIDprop );
            case 
SKILL_FORESIGHT:                       call ForesightidskillIDprop );
            case 
SKILL_FUTURESIGHT:                       call Future_SightidskillIDprop );
            case 
SKILL_GIGADRAIN:                       call Giga_DrainidskillIDprop );
            case 
SKILL_GUARDSWAP:                       call Guard_SwapidskillIDprop );
            case 
SKILL_HEALBELL:                       call Heal_BellidskillIDprop );
            case 
SKILL_ASSIST:                       call AssistidskillIDprop );
            case 
SKILL_HIDDENPOWER:                       call Hidden_PoweridskillIDprop );
            case 
SKILL_BLIZZARD:                       call BlizzardidskillIDprop );
            case 
SKILL_INSOMNIA:                       call InsomniaidskillIDprop );
            case 
SKILL_IRONDEFENSE:                       call Iron_DefenseidskillIDprop );
            case 
SKILL_LEAFSTORM:                       call Leaf_StormidskillIDprop );
            case 
SKILL_LELIVATE:                       call LevitateidskillIDprop );
            case 
SKILL_LOVELYKISS:                       call Lovely_KissidskillIDprop );
            case 
SKILL_LUSTERPURGE:                       call Luster_PurgeidskillIDprop );
            case 
SKILL_MAGMAARMOR:                       call Magma_ArmoridskillIDprop );
            case 
SKILL_MINIMIZE:                       call MinimizeidskillIDprop ); 
            case 
SKILL_MIRRORCOAT:                       call Mirror_CoatidskillIDprop );
            case 
SKILL_OCTOZOOKA:                       call OctozookaidskillIDprop );
            case 
SKILL_OVERHEAT:                       call OverheatidskillIDprop );
            case 
SKILL_POISONFANG:                       call Poison_FangidskillIDprop );
            case 
SKILL_PRESENT:                       call PresentidskillIDprop );
            case 
SKILL_PROTECT:                       call ProtectidskillIDprop );
            case 
SKILL_PSYCHOBOOST:                       call Psycho_BoostidskillIDprop );
            case 
SKILL_RAINDANCE:                       call Rain_DanceidskillIDprop );
            case 
SKILL_RAZORWIND:                       call Razor_WindidskillIDprop );
            case 
SKILL_REVERSAL:                       call ReversalidskillIDprop );
            case 
SKILL_SACREDFIRE:                       call Sacred_FireidskillIDprop );
            case 
SKILL_SANDSTORM:                       call SandstormidskillIDprop );
            case 
SKILL_SCARYFACE:                       call Scary_FaceidskillIDprop );
            case 
SKILL_SHADOWBALL:                       call Shadow_BallidskillIDprop );
            case 
SKILL_SHEERCOLD:                       call Sheer_ColdidskillIDprop );
            case 
SKILL_SHOCKWAVE:                       call Shock_WaveidskillIDprop );
            case 
SKILL_SILENT:                       call SilentidskillIDprop );
            case 
SKILL_SPARK:                       call SparkidskillIDprop );
            case 
SKILL_SPIDERWEB:                       call Spider_WebidskillIDprop );
            case 
SKILL_SOFTBOILED:                       call SoftboiledidskillIDprop );
            case 
SKILL_STEELWING:                       call Steel_WingidskillIDprop );
            case 
SKILL_STONEEDGE:                       call Stone_EdgeidskillIDprop );
            case 
SKILL_SUNNYDAY:                       call Sunny_DayidskillIDprop );
            case 
SKILL_SYNTHESIS:                       call SynthesisidskillIDprop );
            case 
SKILL_TELEKNESIS:                       call TelekenesisidskillIDprop );
            case 
SKILL_THIEF:                       call ThiefidskillIDprop );
            case 
SKILL_THUNDERPUNCH:                       call Thunder_PunchidskillIDprop );
            case 
SKILL_TRIPLEKICK:                       call Triple_KickidskillIDprop );
            case 
SKILL_WATERPULSE:                       call Water_PulseidskillIDprop );
            case 
SKILL_ZAPCANNON:                       call Zap_CannonidskillIDprop ); // season 3 skills
            
case SKILL_BLOCK:                       call BlockidskillIDprop );
            case 
SKILL_BUGBITE:                       call Bug_BiteidskillIDprop );
            case 
SKILL_DRAGONRUSH:                       call Dragon_RushidskillIDprop );
            case 
SKILL_ELECTRABALL:                       call Electra_BallidskillIDprop );
            case 
SKILL_ENDEAVOR:                       call EndeavoridskillIDprop );
            case 
SKILL_FOCUSENERGY:                       call Focus_EnergyidskillIDprop );
            case 
SKILL_HEALORDER:                       call Heal_OrderidskillIDprop );
            case 
SKILL_ICEBALL:                       call Ice_BallidskillIDprop );
            case 
SKILL_MAGICALLEAF:                       call Magical_LeafidskillIDprop );
            case 
SKILL_MIMIC:                       call MimicidskillIDprop );
            case 
SKILL_NIGHTSLASH:                       call Night_SlashidskillIDprop );
            case 
SKILL_SUCKERPUNCH:                       call Sucker_PunchidskillIDprop );
            case 
SKILL_SWAGGER:                       call SwaggeridskillIDprop );
            case 
SKILL_SWEETKISS:                       call Sweet_KissidskillIDprop );
            case 
SKILL_THUNDERFANG:                       call Thunder_FangidskillIDprop );
            case 
SKILL_WATERSPORT:                       call Water_SportidskillIDprop );
            case 
SKILL_WHIRLWIND:                       call Whirl_PoolidskillIDprop );
            case 
SKILL_WINGATTACK:                       call Wing_AttackidskillIDprop );
            case 
SKILL_MEDITATE:                       call MeditateidskillIDprop );
            case 
SKILL_EPICBOMB:                       call Epic_BombidskillIDprop );
            case 
SKILL_WEATHERBEAM:                       call Weather_BeamidskillIDprop );
            case 
SKILL_ICYWIND:                       call Icy_WindidskillIDprop );
            case 
SKILL_HELPINGHAND:                       call Helping_HandidskillIDprop );
            case 
SKILL_SPITFIRE:                       call Spit_FireidskillIDprop );
            case 
SKILL_ICEPUNCH:                       call Ice_PunchidskillIDprop );
            case 
SKILL_FLAMEWHEEL:                       call Flame_WheelidskillIDprop );
            case 
SKILL_DARKPULSE:                       call Dark_PulseidskillIDprop );
            case 
SKILL_MEMENTO:                       call MementoidskillIDprop ); // season 5 skills
            
case SKILL_VANISHER:                       call VanisheridskillIDprop );
            case 
SKILL_SHADOWSENSOR:                       call Shadow_SensoridskillIDprop );
             case 
SKILL_ELECTRICTHREADS:                       call Electric_ThreadsidskillIDprop );
            case 
SKILL_HEALINGWAVE:                       call Healing_WaveidskillIDprop );
            case 
SKILL_SHELLYCOAT:                       call Shelly_CoatidskillIDprop );
            case 
SKILL_OVERCOAT:                       call OvercoatidskillIDprop );
            case 
SKILL_ORACLE:                       call OracleidskillIDprop );
            case 
SKILL_POISONPOINT:                       call Poison_PointidskillIDprop );
            case 
SKILL_BLACKGODFLAMES:                       call Black_God_FlamesidskillIDprop );
            case 
SKILL_LIMBER:                       call LimberidskillIDprop );
             case 
SKILL_EVILROOT:                       call Evil_RootidskillIDprop );
            case 
SKILL_RAPIDRUN:                       call Rapid_RunidskillIDprop );
            case 
SKILL_SERPENTEYES:                       call Serpent_EyesidskillIDprop );
            case 
SKILL_FIREMADNESS:                       call Fire_MadnessidskillIDprop );
            case 
SKILL_FIREPUNCHES:                       call Fire_PunchesidskillIDprop );
            case 
SKILL_HIDDENWEAPON:                       call Hidden_WeaponidskillIDprop );
            case 
SKILL_HIDDENHOWL:                       call Hidden_HowlidskillIDprop );
            case 
SKILL_RUNAWAY:                       call RunawayidskillIDprop );
            case 
SKILL_FEROCIOUSHUNTER:                       call Ferocious_HunteridskillIDprop );
            case 
SKILL_TRACKER:                       call TrackeridskillIDprop );
            case 
SKILL_PROTECTANT:                       call ProtectantidskillIDprop );
            case 
SKILL_SAVIOR:                       call SavioridskillIDprop );
            case 
SKILL_ASSASSIN:                       call AssassinidskillIDprop );
            case 
SKILL_ANGRYPECKER:                       call Angry_PeckeridskillIDprop );
            case 
SKILL_CALMSCENE:                       call Calm_SceneidskillIDprop );
            case 
SKILL_MASSIVEEXPLOSION:                       call Massive_ExplosionidskillIDprop );
            case 
SKILL_SPEEDYBOLT:                       call Speedy_BoltsidskillIDprop );
            case 
SKILL_STEELER:                       call SteeleridskillIDprop );
            case 
SKILL_CRYSTALLIZE:                       call CrystallizeidskillIDprop );
            case 
SKILL_SANDFORCE:                       call Sand_ForceidskillIDprop );
            case 
SKILL_SILENTSCREAMING:                       call Silent_ScreamingidskillIDprop );
            case 
SKILL_FRAGRANCE:                       call FragranceidskillIDprop );
            case 
SKILL_IRONFIST:                       call Iron_FistidskillIDprop );
            case 
SKILL_STATUE:                       call StatueidskillIDprop );
            case 
SKILL_CONCRETEMISSILE:                       call Concrete_MissileidskillIDprop );
            case 
SKILL_HELPER:                       call HelperidskillIDprop );
            case 
SKILL_EARTHSHAKER:                       call Earth_ShakeridskillIDprop );
            case 
SKILL_POISONTOUCH:                       call Poison_TouchidskillIDprop );
            case 
SKILL_INVISIBLETHREADS:                       call Invisible_ThreadsidskillIDprop );
            case 
SKILL_LEADSLICER:                       call Leaf_SliceridskillIDprop );
            case 
SKILL_DARKVENOM:                       call Dark_VenomidskillIDprop );
            case 
SKILL_QUICKFEAT:                       call Quick_FeatidskillIDprop );
            case 
SKILL_DIVERSION:                       call DiversionidskillIDprop );
            case 
SKILL_INFILTRATOR:                       call InfiltratoridskillIDprop );
            case 
SKILL_HEALINGLEAF:                       call Healing_LeafidskillIDprop );
            case 
SKILL_RECKLESSNESS:                       call RecklessnessidskillIDprop );
            case 
SKILL_BLOCKER:                       call BlockeridskillIDprop );
            case 
SKILL_NIGHTVISION:                       call Night_VisionidskillIDprop );
            case 
SKILL_CLOSESIGHT:                       call Close_SightidskillIDprop );
            case 
SKILL_HEAVYSLEEP:                       call Heavy_SleepidskillIDprop );
            case 
SKILL_ZENMODE:                       call Zen_ModeidskillIDprop );
            case 
SKILL_SCREAMINGSTORM:                       call Screaming_StormidskillIDprop );
            case 
SKILL_HIDDENROCK:                       call Hidden_RockidskillIDprop );
            case 
SKILL_SHEDSKIN:                       call Shed_SkinidskillIDprop );
            case 
SKILL_HOODLUM:                       call HoodlumidskillIDprop );
            case 
SKILL_MIRRORTOUCH:                       call Mirror_TouchidskillIDprop );
            case 
SKILL_BODYEATER:                       call Body_EateridskillIDprop );
            case 
SKILL_SOLIDROCK:                       call Solid_RockidskillIDprop );
            case 
SKILL_TRIBEAM:                       call Tri_BeamidskillIDprop );
            case 
SKILL_TRASHGAS:                       call Trash_GasidskillIDprop );
            case 
SKILL_TOXICSPRAY:                       call Toxic_SprayidskillIDprop );
            case 
SKILL_EXTRAAMMO:                       call Extra_AmmoidskillIDprop );
            case 
SKILL_REVERSEDAMGE:                       call Reverse_DamgeidskillIDprop );
            case 
SKILL_AMPLIFIER:                       call AmplifieridskillIDprop );
            case 
SKILL_DARKMOON:                       call Dark_MoonidskillIDprop );
            case 
SKILL_MAGICGUARD:                       call Magic_GuardidskillIDprop );
            case 
SKILL_WATERPUMPER:                       call Water_PumperidskillIDprop );
            case 
SKILL_HYDRATION:                       call HydrationidskillIDprop );
            case 
SKILL_ICEBODY:                       call Ice_Body idskillIDprop );
            case 
SKILL_ICEWINDS:                       call Icy_WindsidskillIDprop );
            case 
SKILL_SNOWSTORM:                       call Snow_StormidskillIDprop );
            case 
SKILL_SERENEGRACE:                       call Serene_GraceidskillIDprop );
            case 
SKILL_IMITATION:                       call ImitationidskillIDprop );
            case 
SKILL_HOSTAGETAKER:                       call Hostage_TakeridskillIDprop );
            case 
SKILL_CURSEDBODY:                       call Cursed_Body idskillIDprop );
            case 
SKILL_ELECTROWEB:                       call ElectrowebidskillIDprop );
            case 
SKILL_THORNYBARRIER:                       call Thorny_BarrieridskillIDprop );
            case 
SKILL_PROJUMPER:                       call Pro_JumperidskillIDprop );
            case 
SKILL_CLEARBODY:                       call Clear_BodyidskillIDprop );
            case 
SKILL_DISKTHROWER:                       call Disk_ThroweridskillIDprop );
            case 
SKILL_DISKEXPLOSIVE:                       call Disk_ExplosiveidskillIDprop );
            case 
SKILL_UNKNOWNWORLD:                       call Unknown_WorldidskillIDprop );
            case 
SKILL_BRAINATTACKER:                       call Brain_AttackeridskillIDprop );
            case 
SKILL_FLAMELIGHTER:                       call Flame_LighteridskillIDprop );
            case 
SKILL_SOULTAKER:                       call Soul_TakeridskillIDprop );
            case 
SKILL_ADAMANTDRAGON:                       call Adamant_DragonidskillIDprop );
            case 
SKILL_ICECHILL:                       call Ice_ChillidskillIDprop );
            case 
SKILL_ICECHAINS:                       call Ice_ChainsidskillIDprop );
            case 
SKILL_SHELLARMOR:                       call Shell_ArmoridskillIDprop );
            case 
SKILL_STEALTH:                       call StealthidskillIDprop );
            case 
SKILL_EARTHLYLIGHTINING:                       call Earthly_LightingidskillIDprop );
            case 
SKILL_INNERFOCUS:                       call Inner_FocusidskillIDprop );
            case 
SKILL_WHIPSLASH:                       call Whip_SlashidskillIDprop );
            case 
SKILL_DRAGONLIGHT:                       call Dragon_LightidskillIDprop );
            case 
SKILL_REGENERATION:                       call RegenerationidskillIDprop );
            case 
SKILL_BLADEDHANDS:                       call Bladed_HandsidskillIDprop );
            case 
SKILL_PRESSURE:                       call PressureidskillIDprop );
            case 
SKILL_HEADCHARGE:                       call Head_ChargeidskillIDprop );
            case 
SKILL_HUSTLE:                       call HustleidskillIDprop );
            case 
SKILL_ARMORRESPAWN:                       call Armor_RespawnidskillIDprop );
            case 
SKILL_WINDDRAGONROAR:                       call Wind_Dragon_RoaridskillIDprop );
            case 
SKILL_WHITESMOKE:                       call White_SmokeidskillIDprop );
            case 
SKILL_TRIPLETEAM:                       call Triple_TeamidskillIDprop );
            case 
SKILL_EVILINTENT:                       call Evil_IntentidskillIDprop );
            case 
SKILL_BLAZINGTOUCH:                       call Blazing_TouchidskillIDprop );
            case 
SKILL_DEADLYHORN:                       call Deadly_HornidskillIDprop );
            case 
SKILL_SEAOFFLAMES:                       call Sea_Of_FlamesidskillIDprop );
            case 
SKILL_MINDCONTROL:                       call Mind_ControlidskillIDprop );
            case 
SKILL_DEADLYDREAM:                       call Deadly_DreamidskillIDprop );
            case 
SKILL_WATERSPRAYER:                       call Water_SprayeridskillIDprop );
            case 
SKILL_GEYSERNEST:                       call Geyser_NestidskillIDprop );
            case 
SKILL_SHININGLIGHT:                       call Shining_LightidskillIDprop );
            case 
SKILL_EMOTIONALPAIN:                       call Emotional_PainidskillIDprop );
            case 
SKILL_FLIGHT:                       call FlightidskillIDprop );
             case 
SKILL_ROCKYSKY:                       call Rocky_SkyidskillIDprop );
            case 
SKILL_HIGHDEFENSE:                       call High_DefenseidskillIDprop );
            case 
SKILL_METALBURST:                       call Metal_BurstidskillIDprop );
            case 
SKILL_DECIEVING:                       call DecievingidskillIDprop );
            case 
SKILL_FALLENLIFE:                       call Fallen_lifeidskillIDprop );
            case 
SKILL_NIGHTDAZE:                       call Night_DazeidskillIDprop );
            case 
SKILL_PHANTONDAZE:                       call Phanton_DazeidskillIDprop );
            case 
SKILL_WATERGOD:                       call Water_GodidskillIDprop );
            case 
SKILL_RELICSONG:                       call Relic_SongidskillIDprop );
            case 
SKILL_TECHNODRIVE:                       call Techno_DriveidskillIDprop );
            case 
SKILL_DEVINEJUDGMENT:                       call Divine_JudgementidskillIDprop );
            case 
SKILL_DEVINEICE:                       call Divine_IceidskillIDprop );
            case 
SKILL_BLACKDEATH:                       call Black_DeathidskillIDprop );
            case 
SKILL_SHADOWSTALKER:                       call Shadow_StalkeridskillIDprop );
            case 
SKILL_LIGHTNINGFURY:                       call Lightning_FuryidskillIDprop );
            case 
SKILL_VOLCANOGEYSER:                       call Volcano_GeyseridskillIDprop );
            case 
SKILL_FLYINGJUDGMENT:                       call Flying_JudgementidskillIDprop );
            case 
SKILL_ACIDRAIN:                       call Acid_RainidskillIDprop );
            case 
SKILL_ANCIENT:                       call AncientidskillIDprop );
            case 
SKILL_FIREEXPLOSION:                       call Fire_ExplosionidskillIDprop );
            case 
SKILL_CALMINGWAVES:                       call Calming_WavesidskillIDprop );
            
        }
        
        switch ( 
call )
        {
            case 
SKILL_USED:
            {
                if( 
prop SI_BIND )
                
bind_usedidskillID );
                else{
                    
#if ONE_SKILL_USE == 0
                        
parm[0] = id;
                        
parm[1] = skillID;
                        
set_task(0.0"delayed_bind_used"0parm2);
                        
#else
                        
bind_usedidskillID );
                    
#endif
                
}
                return 
true;
            }
        }
    }
    return 
false;


2#: this here is an example of the skills that needs to be called.
PHP Code:

SKILL:Healing_WavepropskillIDid )
    {
    if( 
prop SI_RESET ){
        
RemoveDelayCallSkill(idskillID);
        
DelayedCallSkill0.1idskillIDSI_SKILLCALL);
        return 
SKILL_READY;
    }
    
    if( !
SkillLevel(idskillID) || !Pokemod_Alive(id) )
    return 
SKILL_READY;
    
    new 
players[MAX_PLAYERS], pnumaid;
    
poke_get_playersplayerspnumPLAYER_INTEAMPokemod_Team(id) );
    
    new 
heal_amount SkillLevel(idskillID)/10
    
if( heal_amount )
        
heal_amount 1
    
new radius 750;
    
    for( new 
i=0i<pnumi++ ){
        
aid players[i];
        if( 
id == aid )
            {
            
heal_amount heal_amount/2
            
if( heal_amount )
                
heal_amount 1
        
}
        if( 
fm_entity_range(idaid) < radius ){
            
            
Pokemod_Heal(aidheal_amount);
            
        }
        
    }
    
get_user_origin(idorigin[id])
    
message_beginMSG_PASSVC_TEMPENTITYorigin[id] )
    
write_byte(TE_BEAMCYLINDER)
    
write_coordorigin[id][0])
    
write_coordorigin[id][1])
    
write_coordorigin[id][2])
    
write_coordorigin[id][0])
    
write_coordorigin[id][1])
    
write_coordorigin[id][2] )
    
write_shortSPRITE_INDEX[SPR_SHOCKWAVE] )
    
write_byte)        // startframe
    
write_byte)        // framerate
    
write_byte10 )        // life
    
write_byte16 )    // width
    
write_byte)        // noise
    
write_byte18 )    //r
    
write_byte20 )    //g
    
write_byte188 )    //b
    
write_byte255 )    //brightness
    
write_byte)        // speed
    
message_end()
    
    
// get the time until the skill will be called again
    
new Float:delay_time f_SkillClampidskillID6.01.5 );
    
    
// call the skill again
    
DelayedCallSkilldelay_timeidskillIDSI_SKILLCALL);
    
    
// let pokemod know the skill was used
    
return SKILL_USED;


This here is an updated version the same way that I want to do which is 2.0 the upper code is 1.2.3.

PHP Code:




#include "pokemod/skills/bug.inc"
#include "pokemod/skills/dragon.inc"
#include "pokemod/skills/electric.inc"
#include "pokemod/skills/fighting.inc"
#include "pokemod/skills/fire.inc"
#include "pokemod/skills/flying.inc"
#include "pokemod/skills/ghost.inc"
#include "pokemod/skills/grass.inc"
#include "pokemod/skills/ground.inc"
#include "pokemod/skills/ice.inc"
#include "pokemod/skills/normal.inc"
#include "pokemod/skills/poison.inc"
#include "pokemod/skills/psychic.inc"
#include "pokemod/skills/rock.inc"
#include "pokemod/skills/water.inc"

PM_FUNC_NORM_ATTRIB SkillInit()
{
    
pokemod_funcstart_debug"SkillInit" );

    
SetupArrayg_iSkillNamesNAME_LEN );
    
SetupArrayg_iSkillInfos);

    for ( new 
POKESKILL:iSkillIDiSkillID POKESKILLiSkillID++ )
        
SkillCalliSkillIDCALL_REGISTER );

    
pokemod_funcend_debug"SkillInit" );


PM_FUNC_NORM_ATTRIB SkillCallTypeSKILL_CALL:iCallInt:iPlayerbool:bCheckReady true )
{
    if ( 
iPlayer <= || iPlayer g_iLargestPlayer )
        return;

    
SkillTimeCheckNulliPlayer );

    
// No using skills while asleep
    
if ( g_iPlayerStatusiPlayer ][ STATUS_ASLEEP ][ STATUS_AMOUNT ] > )
        return;

    
pokemod_funcstart_debug"SkillCallType" );

    new 
bool:bSkillReady = ( !g_fSkillReadyTimeiPlayer ] );
    new 
bool:bPlayerAdmin bool:is_user_adminiPlayer );

    new 
Int:iPokeNum PlayerGetInfoiPlayerPINFO_ACTIVE_POKENUM );
    new 
POKESKILL:iSkillIDSKILL_CALL:iSkillCalls;

    for ( new 
Int:iSkillNumiSkillNum SKILLS_PER_POKEMONiSkillNum++ )
    {
        
iSkillID g_iPlayerPokemonSkillsiPlayer ][ iPokeNum ][ iSkillNum ];
        if ( 
iSkillID <= SKILL_INVALID )
            continue;

        
iSkillCalls SKILL_CALL:SkillInfoiSkillIDSI_CALLTYPE );

        if ( !( 
iSkillCalls iCall ) )
            continue;

        if ( 
bCheckReady && !bSkillReady && !( iSkillCalls CALL_WITH_SKILL_TIME ) )
            continue;

        if ( !
bPlayerAdmin && ( iSkillCalls CALL_ADMIN_ONLY ) )
            continue;

        
SkillCall( .skillID iSkillID, .call iCall, .iPlayer iPlayer, .skillNum iSkillNum );
    }

    
pokemod_funcend_debug"SkillCallType" );
}

//Remember that this may not be called because of round end/changing pokemon
//You should have CALL_RESET to remove effects if they exist (use SkillDelayedCallExists)
//Effects to remove: persistant screen fades, lasting beams, etc.
PM_FUNC_NORM_ATTRIB SkillDelayCustomCallInt:iPlayerFloat:fDelayTimeSKILL_CALL:iCall CALL_CUSTOM )
{
    
pokemod_funcstart_debug"SkillDelayCustomCall" );

    new 
Int:iParm];
    
iParm] = iPlayer;
    
iParm] = _:g_iSkillID;
    
iParm] = _:iCall;
    
iParm] = g_iSkillNum;

    
set_taskfDelayTime"SkillDelayedCall"TASK_POKESKILL_CUSTOM + ( iPlayer SKILLS_PER_POKEMON ) + g_iSkillNumiParmsizeof iParm );

    
pokemod_funcend_debug"SkillDelayCustomCall" );
}

PM_FUNC_STOCK_ATTRIB SkillDelayedCallExistsInt:iPlayer )
{
    return 
task_existsTASK_POKESKILL_CUSTOM + ( iPlayer SKILLS_PER_POKEMON ) + g_iSkillNum );
}

PM_FUNC_PUBLIC_ATTRIB SkillDelayedCallInt:iParm] )
{
    
pokemod_funcstart_debug"SkillDelayedCall" );

    new 
Int:iPlayer iParm];
    new 
POKESKILL:iSkillID POKESKILL:iParm];
    new 
SKILL_CALL:iCall SKILL_CALL:iParm];
    new 
Int:iSkillNum iParm];

    
SkillCalliSkillIDiCalliPlayeriSkillNum );

    
pokemod_funcend_debug"SkillDelayedCall" );
}

PM_FUNC_NORM_ATTRIB SKILL:SkillCallPOKESKILL:skillIDSKILL_CALL:callInt:iPlayer 0Int:skillNum 0bool:addDelayTime true )
{
    new 
Int:iPokeNum;
    if ( 
iPlayer )
    {
        if ( !
is_user_connectediPlayer ) )
            return 
SKILL_DENY;

        
iPokeNum PlayerGetInfoiPlayerPINFO_ACTIVE_POKENUM );

        if ( 
call == CALL_BIND_DOWN )
        {
            if ( !
g_iPlayerSkillPPiPlayer ][ iPokeNum ][ skillNum ] )
            {
                
SoundDenyiPlayer );
                
client_printiPlayerprint_chat"[PokeMod] %s is out of PP. Find a PokeCenter to recharge."SkillToNameskillID ) );
                return 
SKILL_DENY;
            }
            else if ( 
g_iRoundState ROUND_FREEZETIME )
            {
                
SoundDenyiPlayer );
                
client_printiPlayerprint_chat"[PokeMod] No skills allowed during freeze time." );
                return 
SKILL_DENY;
            }
            else
            {
                new 
SKILL_CALL:iCallTypes SKILL_CALL:SkillInfoskillIDSI_CALLTYPE );
                if ( !( 
iCallTypes call ) )
                {
                    
client_printiPlayerprint_chat"[PokeMod] %s is used automatically."SkillToNameskillID ) );
                    
SoundDenyiPlayer );
                    return 
SKILL_DENY;
                }
                else if ( 
g_fSkillReadyTimeiPlayer ] && !( iCallTypes CALL_WITH_SKILL_TIME ) )
                {
                    
SoundDenyiPlayer );
                    return 
SKILL_DENY;
                }
            }
        }
        else
        {
            if ( !
g_iPlayerSkillPPiPlayer ][ iPokeNum ][ skillNum ] )
            {
                return 
SKILL_DENY;
            }
        }
    }

    
pokemod_funcstart_debug"SkillCall" );

    
g_iSkillID skillID;
    
g_iSkillNum skillNum;

    new 
SKILL:iSkillReturn;

    switch( 
skillID 
    {
        case 
SKILL_ABSORB:               iSkillReturn SkillAbsorbcalliPlayer );
        case 
SKILL_ACID:                 iSkillReturn SkillAcidcalliPlayer );
        case 
SKILL_ACIDARMOR:            iSkillReturn SkillAcidArmorcalliPlayer );
        case 
SKILL_AGILITY:              iSkillReturn SkillAgilitycalliPlayer );
        case 
SKILL_AMNESIA:              iSkillReturn SkillAmnesiacalliPlayer );
        case 
SKILL_AURORABEAM:           iSkillReturn SkillAuroraBeamcalliPlayer );
        case 
SKILL_BARRAGE:              iSkillReturn SkillBarragecalliPlayer );
        case 
SKILL_BARRIER:              iSkillReturn SkillBarriercalliPlayer );
        case 
SKILL_BIDE:                 iSkillReturn SkillBidecalliPlayer );
        case 
SKILL_BIND:                 iSkillReturn SkillBindcalliPlayer );
        case 
SKILL_BITE:                 iSkillReturn SkillBitecalliPlayer );
        case 
SKILL_BLIZZARD:             iSkillReturn SkillBlizzardcalliPlayer );
        case 
SKILL_BODYSLAM:             iSkillReturn SkillBodySlamcalliPlayer );
        case 
SKILL_BONECLUB:             iSkillReturn SkillBoneClubcalliPlayer );
        case 
SKILL_BONEMERANG:           iSkillReturn SkillBonemerangcalliPlayer );
        case 
SKILL_BUBBLE:               iSkillReturn SkillBubblecalliPlayer );
        case 
SKILL_BUBBLEBEAM:           iSkillReturn SkillBubblebeamcalliPlayer );
        case 
SKILL_CLAMP:                iSkillReturn SkillClampcalliPlayer );
        case 
SKILL_COMETPUNCH:           iSkillReturn SkillCometPunchcalliPlayer );
        case 
SKILL_CONFUSERAY:           iSkillReturn SkillConfuseRaycalliPlayer );
        case 
SKILL_CONFUSION:            iSkillReturn SkillConfusioncalliPlayer );
        case 
SKILL_CONSTRICT:            iSkillReturn SkillConstrictcalliPlayer );
        case 
SKILL_CONVERSION:           iSkillReturn SkillConversioncalliPlayer );
        case 
SKILL_COUNTER:              iSkillReturn SkillCountercalliPlayer );
        case 
SKILL_CRABHAMMER:           iSkillReturn SkillCrabhammercalliPlayer );
        case 
SKILL_CUT:                  iSkillReturn SkillCutcalliPlayer );
        case 
SKILL_DEFENSECURL:          iSkillReturn SkillDefenseCurlcalliPlayer );
        case 
SKILL_DIG:                  iSkillReturn SkillDigcalliPlayer );
        case 
SKILL_DISABLE:              iSkillReturn SkillDisablecalliPlayer );
        case 
SKILL_DIZZYPUNCH:           iSkillReturn SkillDizzyPunchcalliPlayer );
        case 
SKILL_DOUBLEKICK:           iSkillReturn SkillDoubleKickcalliPlayer );
        case 
SKILL_DOUBLETEAM:           iSkillReturn SkillDoubleTeamcalliPlayer );
        case 
SKILL_DOUBLEEDGE:           iSkillReturn SkillDoubleEdgecalliPlayer );
        case 
SKILL_DOUBLESLAP:           iSkillReturn SkillDoubleslapcalliPlayer );
        case 
SKILL_DRAGONRAGE:           iSkillReturn SkillDragonRagecalliPlayer );
        case 
SKILL_DREAMEATER:           iSkillReturn SkillDreamEatercalliPlayer );
        case 
SKILL_DRILLPECK:            iSkillReturn SkillDrillPeckcalliPlayer );
        case 
SKILL_EARTHQUAKE:           iSkillReturn SkillEarthquakecalliPlayer );
        case 
SKILL_EGGBOMB:              iSkillReturn SkillEggBombcalliPlayer );
        case 
SKILL_EMBER:                iSkillReturn SkillEmbercalliPlayer );
        case 
SKILL_EXPLOSION:            iSkillReturn SkillExplosioncalliPlayer );
        case 
SKILL_FIREBLAST:            iSkillReturn SkillFireBlastcalliPlayer );
        case 
SKILL_FIREPUNCH:            iSkillReturn SkillFirePunchcalliPlayer );
        case 
SKILL_FIRESPIN:             iSkillReturn SkillFireSpincalliPlayer );
        case 
SKILL_FISSURE:              iSkillReturn SkillFissurecalliPlayer );
        case 
SKILL_FLAMETHROWER:         iSkillReturn SkillFlamethrowercalliPlayer );
        case 
SKILL_FLASH:                iSkillReturn SkillFlashcalliPlayer );
        case 
SKILL_FLY:                  iSkillReturn SkillFlycalliPlayer );
        case 
SKILL_FOCUSENERGY:          iSkillReturn SkillFocusEnergycalliPlayer );
        case 
SKILL_FURYATTACK:           iSkillReturn SkillFuryAttackcalliPlayer );
        case 
SKILL_FURYSWIPES:           iSkillReturn SkillFurySwipescalliPlayer );
        case 
SKILL_GLARE:                iSkillReturn SkillGlarecalliPlayer );
        case 
SKILL_GROWL:                iSkillReturn SkillGrowlcalliPlayer );
        case 
SKILL_GROWTH:               iSkillReturn SkillGrowthcalliPlayer );
        case 
SKILL_GUILLOTINE:           iSkillReturn SkillGuillotinecalliPlayer );
        case 
SKILL_GUST:                 iSkillReturn SkillGustcalliPlayer );
        case 
SKILL_HARDEN:               iSkillReturn SkillHardencalliPlayer );
        case 
SKILL_HAZE:                 iSkillReturn SkillHazecalliPlayer );
        case 
SKILL_HEADBUTT:             iSkillReturn SkillHeadButtcalliPlayer );
        case 
SKILL_HIJUMPKICK:           iSkillReturn SkillHiJumpKickcalliPlayer );
        case 
SKILL_HORNATTACK:           iSkillReturn SkillHornAttackcalliPlayer );
        case 
SKILL_HORNDRILL:            iSkillReturn SkillHornDrillcalliPlayer );
        case 
SKILL_HYDROPUMP:            iSkillReturn SkillHydroPumpcalliPlayer );
        case 
SKILL_HYPERBEAM:            iSkillReturn SkillHyperBeamcalliPlayer );
        case 
SKILL_HYPERFANG:            iSkillReturn SkillHyperFangcalliPlayer );
        case 
SKILL_HYPNOSIS:             iSkillReturn SkillHypnosiscalliPlayer );
        case 
SKILL_ICEBEAM:              iSkillReturn SkillIceBeamcalliPlayer );
        case 
SKILL_ICEPUNCH:             iSkillReturn SkillIcePunchcalliPlayer );
        case 
SKILL_JUMPKICK:             iSkillReturn SkillJumpKickcalliPlayer );
        case 
SKILL_KARATECHOP:           iSkillReturn SkillKarateChopcalliPlayer );
        case 
SKILL_KINESIS:              iSkillReturn SkillKinesiscalliPlayer );
        case 
SKILL_LEECHLIFE:            iSkillReturn SkillLeechLifecalliPlayer );
        case 
SKILL_LEECHSEED:            iSkillReturn SkillLeechSeedcalliPlayer );
        case 
SKILL_LEER:                 iSkillReturn SkillLeercalliPlayer );
        case 
SKILL_LICK:                 iSkillReturn SkillLickcalliPlayer );
        case 
SKILL_LIGHTSCREEN:          iSkillReturn SkillLightScreencalliPlayer );
        case 
SKILL_LOVELYKISS:           iSkillReturn SkillLovelyKisscalliPlayer );
        case 
SKILL_LOWKICK:              iSkillReturn SkillLowKickcalliPlayer );
        case 
SKILL_MEDITATE:             iSkillReturn SkillMeditatecalliPlayer );
        case 
SKILL_MEGADRAIN:            iSkillReturn SkillMegaDraincalliPlayer );
        case 
SKILL_MEGAKICK:             iSkillReturn SkillMegaKickcalliPlayer );
        case 
SKILL_MEGAPUNCH:            iSkillReturn SkillMegaPunchcalliPlayer );
        case 
SKILL_METRONOME:            iSkillReturn SkillMetronomecalliPlayer );
        case 
SKILL_MIMIC:                iSkillReturn SkillMimiccalliPlayer );
        case 
SKILL_MINIMIZE:             iSkillReturn SkillMinimizecalliPlayer );
        case 
SKILL_MIRRORMOVE:           iSkillReturn SkillMirrorMovecalliPlayer );
        case 
SKILL_MIST:                 iSkillReturn SkillMistcalliPlayer );
        case 
SKILL_NIGHTSHADE:           iSkillReturn SkillNightShadecalliPlayer );
        case 
SKILL_PAYDAY:               iSkillReturn SkillPayDaycalliPlayer );
        case 
SKILL_PECK:                 iSkillReturn SkillPeckcalliPlayer );
        case 
SKILL_PETALDANCE:           iSkillReturn SkillPetalDancecalliPlayer );
        case 
SKILL_PINMISSILE:           iSkillReturn SkillPinMissilecalliPlayer );
        case 
SKILL_POISONGAS:            iSkillReturn SkillPoisonGascalliPlayer );
        case 
SKILL_POISONSTING:          iSkillReturn SkillPoisonStingcalliPlayer );
        case 
SKILL_POISONPOWDER:         iSkillReturn SkillPoisonPowdercalliPlayer );
        case 
SKILL_POUND:                iSkillReturn SkillPoundcalliPlayer );
        case 
SKILL_PSYBEAM:              iSkillReturn SkillPsybeamcalliPlayer );
        case 
SKILL_PSYCHIC:              iSkillReturn SkillPsychiccalliPlayer );
        case 
SKILL_PSYWAVE:              iSkillReturn SkillPsywavecalliPlayer );
        case 
SKILL_QUICKATTACK:          iSkillReturn SkillQuickAttackcalliPlayer );
        case 
SKILL_RAGE:                 iSkillReturn SkillRagecalliPlayer );
        case 
SKILL_RAZORLEAF:            iSkillReturn SkillRazorLeafcalliPlayer );
        case 
SKILL_RAZORWIND:            iSkillReturn SkillRazorWindcalliPlayer );
        case 
SKILL_RECOVER:              iSkillReturn SkillRecovercalliPlayer );
        case 
SKILL_REFLECT:              iSkillReturn SkillReflectcalliPlayer );
        case 
SKILL_REST:                 iSkillReturn SkillRestcalliPlayer );
        case 
SKILL_ROAR:                 iSkillReturn SkillRoarcalliPlayer );
        case 
SKILL_ROCKSLIDE:            iSkillReturn SkillRockSlidecalliPlayer );
        case 
SKILL_ROCKTHROW:            iSkillReturn SkillRockThrowcalliPlayer );
        case 
SKILL_ROLLINGKICK:          iSkillReturn SkillRollingKickcalliPlayer );
        case 
SKILL_SANDATTACK:           iSkillReturn SkillSandAttackcalliPlayer );
        case 
SKILL_SCRATCH:              iSkillReturn SkillScratchcalliPlayer );
        case 
SKILL_SCREECH:              iSkillReturn SkillScreechcalliPlayer );
        case 
SKILL_SEISMICTOSS:          iSkillReturn SkillSeismicTosscalliPlayer );
        case 
SKILL_SELFDESTRUCT:         iSkillReturn SkillSelfDestructcalliPlayer );
        case 
SKILL_SHARPEN:              iSkillReturn SkillSharpencalliPlayer );
        case 
SKILL_SING:                 iSkillReturn SkillSingcalliPlayer );
        case 
SKILL_SKULLBASH:            iSkillReturn SkillSkullBashcalliPlayer );
        case 
SKILL_SKYATTACK:            iSkillReturn SkillSkyAttackcalliPlayer );
        case 
SKILL_SLAM:                 iSkillReturn SkillSlamcalliPlayer );
        case 
SKILL_SLASH:                iSkillReturn SkillSlashcalliPlayer );
        case 
SKILL_SLEEPPOWDER:          iSkillReturn SkillSleepPowdercalliPlayer );
        case 
SKILL_SLUDGE:               iSkillReturn SkillSludgecalliPlayer );
        case 
SKILL_SMOG:                 iSkillReturn SkillSmogcalliPlayer );
        case 
SKILL_SMOKESCREEN:          iSkillReturn SkillSmokescreencalliPlayer );
        case 
SKILL_SOFTBOILED:           iSkillReturn SkillSoftboiledcalliPlayer );
        case 
SKILL_SOLARBEAM:            iSkillReturn SkillSolarBeamcalliPlayer );
        case 
SKILL_SONICBOOM:            iSkillReturn SkillSonicboomcalliPlayer );
        case 
SKILL_SPIKECANNON:          iSkillReturn SkillSpikeCannoncalliPlayer );
        case 
SKILL_SPLASH:               iSkillReturn SkillSplashcalliPlayer );
        case 
SKILL_SPORE:                iSkillReturn SkillSporecalliPlayer );
        case 
SKILL_STOMP:                iSkillReturn SkillStompcalliPlayer );
        case 
SKILL_STRENGTH:             iSkillReturn SkillStrengthcalliPlayer );
        case 
SKILL_STRINGSHOT:           iSkillReturn SkillStringShotcalliPlayer );
        case 
SKILL_STRUGGLE:             iSkillReturn SkillStrugglecalliPlayer );
        case 
SKILL_STUNSPORE:            iSkillReturn SkillStunSporecalliPlayer );
        case 
SKILL_SUBMISSION:           iSkillReturn SkillSubmissioncalliPlayer );
        case 
SKILL_SUBSTITUTE:           iSkillReturn SkillSubstitutecalliPlayer );
        case 
SKILL_SUPERFANG:            iSkillReturn SkillSuperFangcalliPlayer );
        case 
SKILL_SUPERSONIC:           iSkillReturn SkillSupersoniccalliPlayer );
        case 
SKILL_SURF:                 iSkillReturn SkillSurfcalliPlayer );
        case 
SKILL_SWIFT:                iSkillReturn SkillSwiftcalliPlayer );
        case 
SKILL_SWORDSDANCE:          iSkillReturn SkillSwordsDancecalliPlayer );
        case 
SKILL_TACKLE:               iSkillReturn SkillTacklecalliPlayer );
        case 
SKILL_TAILWHIP:             iSkillReturn SkillTailWhipcalliPlayer );
        case 
SKILL_TAKEDOWN:             iSkillReturn SkillTakeDowncalliPlayer );
        case 
SKILL_TELEPORT:             iSkillReturn SkillTeleportcalliPlayer );
        case 
SKILL_THRASH:               iSkillReturn SkillThrashcalliPlayer );
        case 
SKILL_THUNDER:              iSkillReturn SkillThundercalliPlayer );
        case 
SKILL_THUNDERWAVE:          iSkillReturn SkillThunderWavecalliPlayer );
        case 
SKILL_THUNDERBOLT:          iSkillReturn SkillThunderBoltcalliPlayer );
        case 
SKILL_THUNDERPUNCH:         iSkillReturn SkillThunderPunchcalliPlayer );
        case 
SKILL_THUNDERSHOCK:         iSkillReturn SkillThunderShockcalliPlayer );
        case 
SKILL_TOXIC:                iSkillReturn SkillToxiccalliPlayer );
        case 
SKILL_TRANSFORM:            iSkillReturn SkillTransformcalliPlayer );
        case 
SKILL_TRIATTACK:            iSkillReturn SkillTriAttackcalliPlayer );
        case 
SKILL_TWINNEEDLE:           iSkillReturn SkillTwinNeedlecalliPlayer );
        case 
SKILL_VICEGRIP:             iSkillReturn SkillViceGripcalliPlayer );
        case 
SKILL_VINEWHIP:             iSkillReturn SkillVineWhipcalliPlayer );
        case 
SKILL_WATERGUN:             iSkillReturn SkillWaterGuncalliPlayer );
        case 
SKILL_WATERFALL:            iSkillReturn SkillWaterfallcalliPlayer );
        case 
SKILL_WHIRLWIND:            iSkillReturn SkillWhirlwindcalliPlayer );
        case 
SKILL_WINGATTACK:           iSkillReturn SkillWingAttackcalliPlayer );
        case 
SKILL_WITHDRAW:             iSkillReturn SkillWithdrawcalliPlayer );
        case 
SKILL_WRAP:                 iSkillReturn SkillWrapcalliPlayer );

        default:                         
pokemod_debug"Skill %d not found"skillID );
    }

    
g_iSkillID SKILL_INVALID;

    if ( 
iPlayer )
    {
        switch ( 
iSkillReturn )
        {
            case 
SKILL_USEDSKILL_USED_PAUSE:
            {
                if ( 
addDelayTime )
                {
                    
g_iPlayerSkillChargesiPlayer ][ skillNum ]++;
                    if ( 
g_iPlayerSkillChargesiPlayer ][ skillNum ] >= SkillInfoskillIDSI_CHARGES ) )
                    {
                        
g_iPlayerSkillChargesiPlayer ][ skillNum ] = 0;

                        new 
Int:iPP = ( --g_iPlayerSkillPPiPlayer ][ iPokeNum ][ skillNum ] );

                        
//Save PP every 5 uses
                        
if ( !( iPP ) )
                        {
                            
SavePlayerPokeSkilliPlayeriPokeNumskillNum );
                        }

                        new 
Float:fDelayTime Float:SkillInfoskillIDSI_DELAYTIME );
                        if ( 
fDelayTime )
                        {
                            
SkillAddDelayiPlayerfDelayTime );

                            if ( 
is_user_aliveiPlayer ) )
                            {
                                
SkillCallTypeCALL_RESETiPlayer, .bCheckReady false );
                            }
                        }
                    }

                    if ( 
call == CALL_BIND_DOWN )
                    {
                        
SkillMenuiPlayer );
                    }

                    
PlayerHUDiPlayeriPlayer );
                }
                else if ( 
g_fSkillReadyTimeiPlayer ] == SKILL_TIME_WAIT )
                {
                    
SkillSetDelayiPlayer0.0 );
                }
            }
            case 
SKILL_WAIT:
            {
                
SkillSetDelayiPlayerSKILL_TIME_WAIT );
            }
            case 
SKILL_DENY:
            {
                
SoundDenyiPlayer );
            }
        }
    }

    
pokemod_funcend_debug"SkillCall" );

    return 
iSkillReturn;
}
PM_FUNC_NORM_ATTRIB SKILL:SkillRegisterString:Name[], PM_TYPE:TypeSKILL_CALL:callTypesInt:PPInt:Charges=1Float:DelayTime 0.0 )
{
    
pokemod_funcstart_debug"SkillRegister %s"Name );

    
ArrayPushStringg_iSkillNamesName );

    new 
Int:skillInfosSKILL_INFO ];
    
skillInfosSI_TYPE ] = _:Type;
    
skillInfosSI_CALLTYPE ] = _:callTypes;
    
skillInfosSI_PP ] = clampPP1100 );
    
skillInfosSI_CHARGES ] = Charges;
    
skillInfosSI_DELAYTIME ] = _:DelayTime;

    for ( new 
SKILL_INFO:iSKILL_INFOi++ )
    {
        
ArrayPushCellg_iSkillInfosskillInfos] );
    }

    
pokemod_funcend_debug"SkillRegister" );

    return 
SKILL_READY;
}
PM_FUNC_NORM_ATTRIB SkillInfoPOKESKILL:iSkillIDSKILL_INFO:iInfoNum )
{
    if ( 
iSkillID <= SKILL_INVALID )
        return 
0;
    return 
ArrayGetCellg_iSkillInfos_:( ( _:iSkillID _:SKILL_INFO ) + _:iInfoNum ) );
}
PM_FUNC_NORM_ATTRIB SKILL:SkillHelpString:szHelp[] )
{
    
copyg_szSkillHelpcharsmax(g_szSkillHelp), szHelp );
    return 
SKILL_READY;
}
PM_FUNC_NORM_ATTRIB SkillGetHelpPOKESKILL:iSkillID )
{
    
SkillCalliSkillIDCALL_HELP );
    return 
g_szSkillHelp;
}

PM_FUNC_NORM_ATTRIB SkillMenuInt:iPlayer )
{
    new 
Int:iPokeNum PlayerGetInfoiPlayerPINFO_ACTIVE_POKENUM );

    
//If they don't have a skill
    
if ( g_iPlayerPokemonSkillsiPlayer ][ iPokeNum ][ ] == SKILL_INVALID )
        return 
false;

    if ( 
g_iPlayerPokemonStatsiPlayer ][ iPokeNum ][ POKESTAT_HP ] <= )
    {
        
client_printiPlayerprint_chat"[PokeMod] Fainted pokemon cannot use skills." );
        return 
false;
    }

    
pokemod_funcstart_debug"SkillMenu" );

    new 
Int:iActiveSkillNum PlayerGetInfoiPlayerPINFO_ACTIVE_SKILLNUM ) - 1;

    new 
Int:iMenu MenuCreate"%s Skills"PokeNumToNameiPokeNum, .playerID iPlayer ) );

    for ( new 
Int:cColorPOKESKILL:iSkillIDInt:iSkillNumString:szSkillNum16 ], Int:iSkillMaxChargesInt:iSkillMaxPPs;
        
iSkillNum SKILLS_PER_POKEMON;
        
iSkillNum++
    ){
        
iSkillID g_iPlayerPokemonSkillsiPlayer ][ iPokeNum ][ iSkillNum ];
        if ( 
iSkillID != SKILL_INVALID )
        {
            if ( 
iActiveSkillNum == iSkillNum )
                
cColor 'r';
            else if ( !( 
SKILL_CALL:SkillInfoiSkillIDSI_CALLTYPE ) & ( CALL_BIND_DOWN CALL_BIND_UP ) ) )
                
cColor 'd';
            else
                
cColor 'w';

            
iSkillMaxPPs SkillInfoiSkillIDSI_PP );
            
iSkillMaxCharges SkillInfoiSkillIDSI_CHARGES );
            
num_to_striSkillNum 1szSkillNumcharsmax(szSkillNum) );

            if ( 
iSkillMaxCharges && g_iPlayerSkillChargesiPlayer ][ iSkillNum ] )
            {
                
MenuAddItemiMenuszSkillNum"\%c(%02d/%02d PP) %s (%d%%)",
                                            
cColor,
                                            
g_iPlayerSkillPPiPlayer ][ iPokeNum ][ iSkillNum ],
                                            
iSkillMaxPPs,
                                            
SkillToNameiSkillID ),
                                            ( 
100 g_iPlayerSkillChargesiPlayer ][ iSkillNum ] ) / ( iSkillMaxCharges )
                                            );
            }
            else
            {
                
MenuAddItemiMenuszSkillNum"\%c(%02d/%02d PP) %s",
                                            
cColor,
                                            
g_iPlayerSkillPPiPlayer ][ iPokeNum ][ iSkillNum ],
                                            
iSkillMaxPPs,
                                            
SkillToNameiSkillID )
                                            );
            }
        }
    }

    
MenuExitiPlayeriMenu, .bExitOption true );
    
MenuDisplayiPlayeriMenuMENU_SKILLS );

    
pokemod_funcend_debug"SkillMenu" );

    return 
true;
}

PM_FUNC_NORM_ATTRIB SkillLearnInt:iPlayerInt:iPokeNumPOKESKILL:iSkillID )
{
    if ( 
iSkillID == SKILL_INVALID || !g_iPlayerPokemonStatsiPlayer ][ iPokeNum ][ POKESTAT_POKEMON ] || PlayerHasSkilliPlayeriPokeNumiSkillID ) != -)
        return -
1;

    
pokemod_funcstart_debug"SkillLearn" );

    for ( new 
Int:iSkillNumiSkillNum SKILLS_PER_POKEMONiSkillNum++ )
    {
        if ( 
g_iPlayerPokemonSkillsiPlayer ][ iPokeNum ][ iSkillNum ] == SKILL_INVALID )
        {
            
g_iPlayerPokemonSkillsiPlayer ][ iPokeNum ][ iSkillNum ] = iSkillID;
            
g_iPlayerSkillPPiPlayer ][ iPokeNum ][ iSkillNum ] = SkillInfoiSkillIDSI_PP );
            
SavePlayerPokeSkilliPlayeriPokeNumiSkillNum );

            
DHudEventMessageiPlayer"%s learned %s."PokeNumToNameiPokeNum, .playerID iPlayer ), SkillToNameiSkillID ) );

            
pokemod_funcend_debug"SkillLearn Auto" );
            return 
iSkillNum;
        }
    }

    new 
Int:menu MenuCreate"%s is trying to learn %s"PokeNumToNameiPokeNum, .playerID iPlayer ), SkillToNameiSkillID ) );

    new 
String:szData32 ];
    
formatexszDatacharsmax(szData), "%d %d -1"iPokeNumiSkillID );

    
MenuAddItemmenuszData"Learn skill %s"SkillToNameiSkillID ) );

    
MenuAddItemmenuMENU_FAKE_EXIT"Block Skill^n^n%s"SkillGetHelpiSkillID ) );

    
MenuExitiPlayermenu, .bExitOption false );
    
MenuDisplayiPlayermenuMENU_LEARN_SKILL );

    
pokemod_funcend_debug"SkillLearn Menu" );

    return -
1;
}

/*
    SkillDamage( .victim = ,
                .attacker = ,
                .damage =
                );
*/
PM_FUNC_NORM_ATTRIB SkillDamageInt:victimInt:attackerInt:damage )
{
    
pokemod_funcstart_debug"SkillDamage" );

    new 
POKESKILL:iSkillID g_iSkillID;
    if ( 
iSkillID <= SKILL_INVALID )
    {
        
pokemod_debug"SkillDamage called with invalid skill ID" );
        return 
0;
    }

    new 
String:szSkillNameNAME_LEN ];
    
SkillToNameiSkillIDszSkillNamecharsmax(szSkillName) );

    new 
Int:iDamageDone DamageFakevictimattackerdamageszSkillNamePM_TYPE:SkillInfoiSkillIDSI_TYPE ), PlayerTypevictim ) );

    if ( 
PlayerGetInfoattackerPINFO_SETTING_SHOWDAMAGE ) )
    {
        if ( 
iDamageDone )
        {
            
DHudEventMessageattacker"%s did %d damage."szSkillNameiDamageDone );
        }
        else if ( 
iDamageDone )
        {
            
DHudEventMessageattacker"%s healed %d HP."szSkillNameabs(iDamageDone) );
        }
    }

    
pokemod_funcend_debug"SkillDamage" );

    return 
iDamageDone;
}

/*
    SkillAoEDamage( .attacker,
                    .cOrigin = ,
                    .fRadius = ,
                    .iMaxDamage = ,
                    .flags = AOE_NORMAL
                    );
*/
PM_FUNC_NORM_ATTRIB SkillAoEDamageInt:attackerCoord:cOrigin[3], Float:fRadiusInt:iMaxDamageAOE_FLAGS:flags=AOE_NORMAL )
{
    
pokemod_funcstart_debug"SkillAoEDamage" );

    new 
POKESKILL:iSkillID g_iSkillID;
    if ( 
iSkillID <= SKILL_INVALID )
    {
        
pokemod_debug"SkillAoEDamage called with invalid skill ID" );

        
pokemod_funcend_debug"SkillAoEDamage Invalid Skill" );

        return 
0;
    }

    new 
PM_TYPE:skillType PM_TYPE:SkillInfoiSkillIDSI_TYPE );
    new 
String:szSkillNameNAME_LEN ];
    
SkillToNameiSkillIDszSkillNamecharsmax(szSkillName) );

    new 
Coord:cPlayerOrigin[3], Int:iDistanceInt:damageInt:totalDamage;

    new 
CsTeams:attackerTeam cs_get_user_teamattacker );

    
LoopThroughPlayersFlagsiPlayerPLAYER_FLAGS_ALIVE )
    {
        if ( 
attacker == iPlayer && flags AOE_IGNORE_ATTACKER )
            continue;

        if ( 
flags & ( AOE_VICTIM_TEAM AOE_ATTACKER_TEAM ) )
        {
            if ( 
attackerTeam == cs_get_user_teamiPlayer ) )
            {
                if ( 
flags AOE_VICTIM_TEAM )
                    continue;
            }
            else
            {
                if ( 
flags AOE_ATTACKER_TEAM )
                    continue;
            }
        }

        
get_user_originiPlayercPlayerOrigin );

        
iDistance get_distancecPlayerOrigincOrigin );

        if ( 
0.0 <= iDistance <= fRadius )
        {
            if ( 
flags AOE_MAXIMIZE_DAMAGE )
                
damage iMaxDamage;
            else
                
damage iMaxDamage floatround( ( iMaxDamage iDistance ) / fRadius );

            
totalDamage += DamageFakeiPlayerattackerdamageszSkillNameskillTypePlayerTypeiPlayer ) );
        }
    }

    if ( 
PlayerGetInfoattackerPINFO_SETTING_SHOWDAMAGE ) )
    {
        if ( 
totalDamage )
        {
            
DHudEventMessageattacker"%s did %d damage."szSkillNametotalDamage );
        }
        else if ( 
totalDamage )
        {
            
DHudEventMessageattacker"%s healed %d HP."szSkillNameabs(totalDamage) );
        }
    }

    
pokemod_funcend_debug"SkillAoEDamage" );

    return 
totalDamage;
}

/*
    SkillLineDamage( .attacker = ,
                    .cStart = ,
                    .cEnd = ,
                    .fRadius = ,
                    .iMaxDamage = ,
                    .flags = AOE_IGNORE_ATTACKER | AOE_VICTIM_TEAM
                    );
*/
PM_FUNC_NORM_ATTRIB SkillLineDamageInt:attackerCoord:cStart[3], Coord:cEnd[3], Float:fRadiusInt:iMaxDamageAOE_FLAGS:flags=AOE_IGNORE_ATTACKER|AOE_VICTIM_TEAM )
{
    
pokemod_funcstart_debug"SkillLineDamage" );

    new 
POKESKILL:iSkillID g_iSkillID;
    if ( 
iSkillID <= SKILL_INVALID )
    {
        
pokemod_debug"SkillLineDamage called with invalid skill ID" );
        return 
0;
    }

    new 
PM_TYPE:skillType PM_TYPE:SkillInfoiSkillIDSI_TYPE );
    new 
String:szSkillNameNAME_LEN ];
    
SkillToNameiSkillIDszSkillNamecharsmax(szSkillName) );

    new 
Vector:vStart[3], Vector:vEnd[3];
    
CoordToVectorcStartvStart );
    
CoordToVectorcEndvEnd );
    new 
Vector:vPlayerOrigin[3], Int:iDistanceInt:damageInt:totalDamage;

    new 
CsTeams:attackerTeam cs_get_user_teamattacker );

    
LoopThroughPlayersFlagsiPlayerPLAYER_FLAGS_ALIVE )
    {
        if ( 
attacker == iPlayer && flags AOE_IGNORE_ATTACKER )
            continue;

        if ( 
flags & ( AOE_VICTIM_TEAM AOE_ATTACKER_TEAM ) )
        {
            if ( 
attackerTeam == cs_get_user_teamiPlayer ) )
            {
                if ( 
flags AOE_VICTIM_TEAM )
                    continue;
            }
            else
            {
                if ( 
flags AOE_ATTACKER_TEAM )
                    continue;
            }
        }

        
EntityGetOriginiPlayervPlayerOrigin );

        
iDistance get_distance_to_linevStartvEndvPlayerOrigin );

        if ( 
0.0 <= iDistance <= fRadius )
        {
            if ( 
flags AOE_MAXIMIZE_DAMAGE )
                
damage iMaxDamage;
            else
                
damage iMaxDamage floatround( ( iMaxDamage iDistance ) / fRadius );

            
totalDamage += DamageFakeiPlayerattackerdamageszSkillNameskillTypePlayerTypeiPlayer ) );
        }
    }

    
pokemod_funcend_debug"SkillLineDamage" );

    return 
totalDamage;
}

PM_FUNC_NORM_ATTRIB SkillTimeCheckNullInt:iPlayer )
{
    
pokemod_funcstart_debug"SkillTimeCheckNull" );

    if ( 
g_fSkillReadyTimeiPlayer ] > 0.0 && g_fSkillReadyTimeiPlayer ] - get_gametime() <= 0.0 )
        
g_fSkillReadyTimeiPlayer ] = 0.0;

    
pokemod_funcend_debug"SkillTimeCheckNull" );
}

PM_FUNC_NORM_ATTRIB SkillAddDelayInt:iPlayerFloat:fDelayTime )
{
    
pokemod_funcstart_debug"SkillAddDelay" );

    
//If they currently are waiting for the skill, we need to null their wait time
    
if ( g_fSkillReadyTimeiPlayer ] == SKILL_TIME_WAIT )
        
g_fSkillReadyTimeiPlayer ] = 0.0;

    
//If they don't have any delay time currently, we need to add the current game time
    
if ( !g_fSkillReadyTimeiPlayer ] )
        
fDelayTime += get_gametime();

    
g_fSkillReadyTimeiPlayer ] += fDelayTime;

    
pokemod_funcend_debug"SkillAddDelay" );
}

PM_FUNC_NORM_ATTRIB SkillSetDelayInt:iPlayerFloat:fDelayTime )
{
    
pokemod_funcstart_debug"SkillSetDelay" );

    
g_fSkillReadyTimeiPlayer ] = fDelayTime;

    
pokemod_funcend_debug"SkillSetDelay" );
}

/*
    SkillBoost( .iPlayer = iPlayer,
                .fVerticalBoost = StatClamp( iPlayer, STAT_SPECIAL, 200.0, 400.0 ),
                .fHorizontalBoost = StatClamp( iPlayer, STAT_SPECIAL, 400.0, 700.0 ),
                .iBoostDamage = StatClamp( iPlayer, STAT_ATTACK, 40, 70 )
                );
*/
PM_FUNC_NORM_ATTRIB SkillBoostInt:iPlayerFloat:fVerticalBoostFloat:fHorizontalBoostInt:iBoostDamage )
{
    
pokemod_funcstart_debug"SkillBoost" );

    new 
Vector:vVelocity[3];
    
velocity_by_aimiPlayer1vVelocity );

    new 
Float:fHorLen floatsqrootvVelocity[0]*vVelocity[0] + vVelocity[1]*vVelocity[1] );
    
vVelocity[0] *= fHorizontalBoost fHorLen;
    
vVelocity[1] *= fHorizontalBoost fHorLen;
    
vVelocity[2] = floatmaxfVerticalBoost200.0 );

    
EntitySetVelocityiPlayervVelocity );

    
PlayerSetInfoiPlayerPINFO_BOOST_SKILL_:g_iSkillID );
    
PlayerSetInfoiPlayerPINFO_BOOST_SKILLNUMg_iSkillNum );
    
PlayerSetInfoiPlayerPINFO_BOOST_DAMAGEiBoostDamage );

    
pokemod_funcend_debug"SkillBoost" );
}

/*
    CHECK_SKY_AIM
    CHECK_BOMB
    CHECK_MOVING
    CHECK_ON_GROUND
    CHECK_IN_AIR
    CHECK_IN_WATER

    SkillCheck( iPlayer, iCheckTypes, "" )
*/
PM_FUNC_NORM_ATTRIB SkillCheckInt:iPlayerCHECK_TYPES:iCheckTypesString:szAction[] = "" )
{
    new 
bool:bShowMessage = ( szAction[0] == EOS ) ? false true;
    if ( 
iCheckTypes CHECK_SKY_AIM )
    {
        if ( 
fm_ViewContentsiPlayer ) == CONTENTS_SKY )
        {
            if ( 
bShowMessage client_printiPlayerprint_center"Unable to %s while looking at the sky"szAction );
            return 
true;
        }
    }
    if ( 
iCheckTypes CHECK_BOMB )
    {
        if ( 
get_user_weaponiPlayer ) == CSW_C4 )
        {
            if ( 
bShowMessage client_printiPlayerprint_center"Unable to %s while holding the bomb"szAction );
            return 
true;
        }
    }
    if ( 
iCheckTypes CHECK_ON_GROUND )
    {
        if ( 
entity_on_groundiPlayer ) )
        {
            if ( 
bShowMessage client_printiPlayerprint_center"Unable to %s while on the ground"szAction );
            return 
true;
        }
    }
    if ( 
iCheckTypes CHECK_IN_AIR )
    {
        if ( !
entity_on_groundiPlayer ) )
        {
            if ( 
bShowMessage client_printiPlayerprint_center"Unable to %s while in the air"szAction );
            return 
true;
        }
    }
    if ( 
iCheckTypes CHECK_IN_WATER )
    {
        if ( 
entity_in_wateriPlayer ) )
        {
            if ( 
bShowMessage client_printiPlayerprint_center"Unable to %s while in water"szAction );
            return 
true;
        }
    }
    if ( 
iCheckTypes CHECK_MOVING )
    {
        new 
Vector:vVelocity];
        
EntityGetVelocityiPlayervVelocity );
        if ( 
vVelocity[0] || vVelocity[1] || vVelocity[2] )
        {
            if ( 
bShowMessage client_printiPlayerprint_center"Unable to %s while moving"szAction );
            return 
true;
        }
    }

    return 
false;
}

PM_FUNC_NORM_ATTRIB SkillEntityInt:iPlayerInt:iSkipEnt = -)
{
    
pokemod_funcstart_debug"SkillEntity" );

    new 
Int:iEnt iSkipEnt;
    while ( ( 
iEnt fm_find_ent_by_classiEntszEntityPokeSkill ) ) )
    {
        if ( 
EntityGetNumiEntENTITY_OWNER ) == iPlayer && POKESKILL:EntityGetNumiEntENTITY_SKILL ) == g_iSkillID )
            break;
    }

    
pokemod_funcend_debug"SkillEntity" );

    return 
iEnt;


ERRORS:
PHP Code:

//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// pokemod.sma
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(507) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(528) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(529) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(529) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(537) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(538) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(538) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(553) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(554) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(554) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(562) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(563) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(563) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(645) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(646) : warning 204: symbol is assigned a value that is never used: "prop"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(646) : warning 204: symbol is assigned a value that is never used: "skillID"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(646) : warning 204: symbol is assigned a value that is never used: "id"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(650) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(651) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(653) : error 017: undefined symbol "skill"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(653) : error 017: undefined symbol "SkillID"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(658) : error 017: undefined symbol "Absorb"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(658) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(659) : error 017: undefined symbol "Acid"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(659) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(660) : error 017: undefined symbol "Acid_Armor"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(660) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(661) : error 017: undefined symbol "Agility"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(661) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(662) : error 017: undefined symbol "Amnesia"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(662) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(663) : error 017: undefined symbol "Aurora_Beam"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(663) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(664) : error 017: undefined symbol "Barrage"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(664) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(665) : error 017: undefined symbol "Bide"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(665) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(666) : error 017: undefined symbol "Bite"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(666) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(667) : error 017: undefined symbol "Powdered_Snow"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(667) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(668) : error 017: undefined symbol "Body_Slam"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(668) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(669) : error 017: undefined symbol "Bone_Club"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(669) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(670) : error 017: undefined symbol "Bonemerang"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(670) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(671) : error 017: undefined symbol "Bubble_Beam"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(671) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(672) : error 017: undefined symbol "Confuse_Ray"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(672) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(673) : error 017: undefined symbol "Confusion"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(673) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(674) : error 017: undefined symbol "Constrict"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(674) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(675) : error 017: undefined symbol "Conversion"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(675) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(676) : error 017: undefined symbol "Counter"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(676) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(677) : error 017: undefined symbol "Defense_Curl"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(677) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(678) : error 017: undefined symbol "Dig"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(678) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(679) : error 017: undefined symbol "Disable"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(679) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(680) : error 017: undefined symbol "Dizzy_Punch"
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(680) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(681) : error 017: undefined symbol "Double_Edge"
// 
// Compilation aborted.
// 26 Errors.
// Could not locate output file C:\Users\Owner\Desktop\New files\scripting\compiled\pokemod.amx (compile failed).
//
// Compilation Time: 9.14 sec
// ----------------------------------------

// File not found.

Press enter to exit ... 


fysiks 05-08-2012 01:50

Re: Tag mismatch & few errors! Advanced coders***
 
Those errors are generally very easy to fix. The undefined symbols often occur because you fail to properly close a brace. Make sure they are all closed properly.

If you still can't figure it out on your own then post the whole code as an attachment.

iBrazilian 05-08-2012 02:35

Re: Tag mismatch & few errors! Advanced coders***
 
1 Attachment(s)
I've fixed many things, now the only things that I cannot get it working are these here sir. At least it's compiling.

ERRORS:
PHP Code:

//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// pokemod.sma
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(500) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(523) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(532) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(548) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(557) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(631) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(635) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(641) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(641) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(642) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(642) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(643) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(643) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(644) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(644) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(645) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(645) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(646) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(646) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(647) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(647) : warning 209: function "Barrage" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(647) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(648) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(648) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(649) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(649) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(650) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(650) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(651) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(651) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(652) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(652) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(653) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(653) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(654) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(654) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(655) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(655) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(656) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(656) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(657) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(657) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(658) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(658) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(659) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(659) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(660) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(660) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(661) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(661) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(662) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(662) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(663) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(663) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(664) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(664) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(665) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(665) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(666) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(666) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(667) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(667) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(668) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(668) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(669) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(669) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(670) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(670) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(671) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(671) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(672) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(672) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(673) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(673) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(674) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(674) : warning 209: function "Explosion" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(674) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(675) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(675) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(676) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(676) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(677) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(677) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(678) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(678) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(679) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(679) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(680) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(680) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(681) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(681) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(682) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(682) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(683) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(683) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(684) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(684) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(685) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(685) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(686) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(686) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(687) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(687) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(688) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(688) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(689) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(689) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(690) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(690) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(691) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(691) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(692) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(692) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(693) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(693) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(694) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(694) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(695) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(695) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(696) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(696) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(697) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(697) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(698) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(698) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(699) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(699) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(700) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(700) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(701) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(701) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(702) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(702) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(703) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(703) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(704) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(704) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(705) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(705) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(706) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(706) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(707) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(707) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(708) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(708) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(709) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(709) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(710) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(710) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(711) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(711) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(712) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(712) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(713) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(713) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(714) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(714) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(715) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(715) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(716) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(716) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(717) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(717) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(718) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(718) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(719) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(719) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(720) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(720) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(721) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(721) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(722) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(722) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(723) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(723) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(724) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(724) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(725) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(725) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(726) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(726) : warning 209: function "Self_Destruct" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(726) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(727) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(727) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(728) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(728) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(729) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(729) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(730) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(730) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(731) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(731) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(732) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(732) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(733) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(733) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(734) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(734) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(735) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(735) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(736) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(736) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(737) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(737) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(738) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(738) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(739) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(739) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(740) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(740) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(741) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(741) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(742) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(742) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(743) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(743) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(744) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(744) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(745) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(745) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(746) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(746) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(747) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(747) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(748) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(748) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(749) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(749) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(750) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(750) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(751) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(751) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(752) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(752) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(753) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(753) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(754) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(754) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(755) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(755) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(756) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(756) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(757) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(757) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(758) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(758) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(759) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(759) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(760) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(760) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(761) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(761) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(762) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(762) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(763) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(763) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(764) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(764) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(765) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(765) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(766) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(766) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(767) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(767) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(768) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(768) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(769) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(769) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(770) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(770) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(771) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(771) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(772) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(772) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(773) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(773) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(774) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(774) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(775) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(775) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(776) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(776) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(777) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(777) : warning 209: function "Future_Sight" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(777) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(778) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(778) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(779) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(779) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(780) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(780) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(781) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(781) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(782) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(782) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(783) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(783) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(784) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(784) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(785) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(785) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(786) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(786) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(787) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(787) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(788) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(788) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(789) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(789) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(790) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(790) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(791) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(791) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(792) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(792) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(793) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(793) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(794) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(794) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(795) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(795) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(796) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(796) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(797) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(797) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(798) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(798) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(799) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(799) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(800) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(800) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(801) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(801) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(802) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(802) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(803) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(803) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(804) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(804) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(805) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(805) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(806) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(806) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(807) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(807) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(808) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(808) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(809) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(809) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(810) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(810) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(811) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(811) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(812) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(812) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(813) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(813) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(814) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(814) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(815) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(815) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(816) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(816) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(817) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(817) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(818) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(818) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(819) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(819) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(820) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(820) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(821) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(821) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(822) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(822) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(823) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(823) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(824) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(824) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(825) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(825) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(826) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(826) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(827) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(827) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(828) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(828) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(829) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(829) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(830) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(830) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(831) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(831) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(832) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(832) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(833) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(833) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(834) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(834) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(835) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(835) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(836) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(836) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(837) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(837) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(838) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(838) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(839) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(839) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(840) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(840) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(841) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(841) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(842) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(842) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(843) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(843) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(844) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(844) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(845) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(845) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(846) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(846) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(847) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(847) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(848) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(848) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(849) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(849) : warning 209: function "Memento" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(849) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(850) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(850) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(851) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(851) : warning 209: function "Shadow_Sensor" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(851) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(852) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(852) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(853) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(853) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(854) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(854) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(855) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(855) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(856) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(856) : warning 209: function "Oracle" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(856) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(857) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(857) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(858) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(858) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(859) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(859) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(860) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(860) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(861) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(861) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(862) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(862) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(863) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(863) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(864) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(864) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(865) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(865) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(866) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(866) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(867) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(867) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(868) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(868) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(869) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(869) : warning 209: function "Tracker" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(869) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(870) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(870) : warning 209: function "Protectant" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(870) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(871) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(871) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(872) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(872) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(873) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(873) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(874) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(874) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(875) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(875) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(876) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(876) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(877) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(877) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(878) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(878) : warning 209: function "Crystallize" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(878) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(879) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(879) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(880) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(880) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(881) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(881) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(882) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(882) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(883) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(883) : warning 209: function "Statue" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(883) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(884) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(884) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(885) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(885) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(886) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(886) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(887) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(887) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(888) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(888) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(889) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(889) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(890) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(890) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(891) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(891) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(892) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(892) : warning 209: function "Diversion" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(892) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(893) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(893) : warning 209: function "Infiltrator" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(893) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(894) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(894) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(895) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(895) : warning 209: function "Recklessness" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(895) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(896) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(896) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(897) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(897) : warning 209: function "Night_Vision" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(897) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(898) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(898) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(899) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(899) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(900) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(900) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(901) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(901) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(902) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(902) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(903) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(903) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(904) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(904) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(905) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(905) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(906) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(906) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(907) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(907) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(908) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(908) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(909) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(909) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(910) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(910) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(911) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(911) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(912) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(912) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(913) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(913) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(914) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(914) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(915) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(915) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(916) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(916) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(917) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(917) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(918) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(918) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(919) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(919) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(920) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(920) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(921) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(921) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(922) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(922) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(923) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(923) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(924) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(924) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(925) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(925) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(926) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(926) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(927) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(927) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(928) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(928) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(929) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(929) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(930) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(930) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(931) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(931) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(932) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(932) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(933) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(933) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(934) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(934) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(935) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(935) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(936) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(936) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(937) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(937) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(938) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(938) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(939) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(939) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(940) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(940) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(941) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(941) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(942) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(942) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(943) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(943) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(944) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(944) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(945) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(945) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(946) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(946) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(947) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(947) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(948) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(948) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(949) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(949) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(950) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(950) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(951) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(951) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(952) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(952) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(953) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(953) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(954) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(954) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(955) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(955) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(956) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(956) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(957) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(957) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(958) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(958) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(959) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(959) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(960) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(960) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(961) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(961) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(962) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(962) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(963) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(963) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(964) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(964) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(965) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(965) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(966) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(966) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(967) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(967) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(968) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(968) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(969) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(969) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(970) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(970) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(971) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(971) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(972) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(972) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(973) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(973) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(974) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(974) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(975) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(975) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(976) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(976) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(977) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(977) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(978) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(978) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(979) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(979) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(980) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(980) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(981) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(981) : warning 209: function "Acid_Rain" should return a value
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(981) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(982) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(982) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(983) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(983) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(984) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(984) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(987) : warning 217: loose indentation
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(992) : warning 213: tag mismatch
// C:\Users\Owner\Desktop\New files\scripting\pokemon/skills.inc(999) : warning 213: tag mismatch
// Header size:          16664 bytes
// Code size:           849664 bytes
// Data size:           690288 bytes
// Stack/heap size:     131072 bytes; max. usage is unknown, due to recursion
// Total requirements: 1687688 bytes
// 
// 714 Warnings.
// Done.
//
// Compilation Time: 35.15 sec
// ----------------------------------------

// File not found.

Press enter to exit ... 

here is the skills.inc file below.. and here is the pastebin if it helps to know which lines.. http://pastebin.com/9JUt3XYQ
PHP Code:

#include "pokemon/pokeskills.inc"

enum POKESKILL
{
    
SKILL_ABSORB,
    
SKILL_ACID,
    
SKILL_ACIDARMOR,
    
SKILL_AGILITY,
    
SKILL_AMNESIA,                       
    
SKILL_AURORABEAM,                   
    
SKILL_BARRAGE,                  
    
SKILL_BIDE,                   
    
SKILL_BITE,                      
    
SKILL_POWDEREDSNOW,                     
    
SKILL_BODYSLAM,                     
    
SKILL_BONECLUB,                    
    
SKILL_BONEMERANG,                       
    
SKILL_BUBBLEBEAM,                    
    
SKILL_CONFUSERAY,                    
    
SKILL_CONFUSION,                      
    
SKILL_CONSTRICT,                      
    
SKILL_CONVERSION,                   
    
SKILL_COUNTER,                      
    
SKILL_DEFENSECURL,                       
    
SKILL_DIG,                     
    
SKILL_DISABLE,                     
    
SKILL_DIZZYPUNCH,             
    
SKILL_DOUBLEEDGE,                    
    
SKILL_DOUBLEKICK,                      
    
SKILL_DOUBLESLAP,                     
    
SKILL_DOUBLETEAM,                    
    
SKILL_DRAGONRAGE,                      
    
SKILL_DREAMEATER,                      
    
SKILL_DRILLPECK,                   
    
SKILL_EARTHQUAKE,                    
    
SKILL_EGGBOMB,               
    
SKILL_EMBER,                     
    
SKILL_EXPLOSION,                       
    
SKILL_FIREBLAST,                     
    
SKILL_FIRESPIN,                      
    
SKILL_FISSURE,                    
    
SKILL_FLAMETHROWER,                    
    
SKILL_FLASH,                   
    
SKILL_FLY,                    
    
SKILL_GLARE,                       
    
SKILL_GROWTH,                     
    
SKILL_GUILLOTINE,                     
    
SKILL_GUST,                     
    
SKILL_HARDER,                     
    
SKILL_HAZE,                     
    
SKILL_HORNATTACK,                    
    
SKILL_HORNDRILL,                  
    
SKILL_HYDROPUMP,                   
    
SKILL_HYPERBEAM,                     
    
SKILL_HYPNOSIS,                      
    
SKILL_ICEBEAM,                    
    
SKILL_KARATECHOP,                   
    
SKILL_LEECHLIFE,                     
    
SKILL_LEECHSEED,                    
    
SKILL_LEER,                      
    
SKILL_LIGHTSCREEN,                    
    
SKILL_LOWKICK,                      
    
SKILL_MEGADRAIN,                      
    
SKILL_MEGAKICK,                     
    
SKILL_MEGAPUNCH,                     
    
SKILL_MIST,                   
    
SKILL_NIGHTSHADE,                      
    
SKILL_PAYDAY,                     
    
SKILL_PECK,                      
    
SKILL_PINMISSILE,                      
    
SKILL_POISONGAS,                     
    
SKILL_POISONPOWDER,                     
    
SKILL_POISONSTING,                   
    
SKILL_PSYBEAM,                      
    
SKILL_PSYCHIC,                       
    
SKILL_PSYWAVE,                    
    
SKILL_QUICKATTACK,                     
    
SKILL_RAGE,                    
    
SKILL_RAZORLEAF,                   
    
SKILL_RECOVER,                    
    
SKILL_REFLECT,                      
    
SKILL_REST,                      
    
SKILL_ROAR,                       
    
SKILL_ROCKSLIDE,                       
    
SKILL_ROCKTRHOW,                    
    
SKILL_SANDATTACK,                       
    
SKILL_SCRATCH,                      
    
SKILL_SCREECH,                     
    
SKILL_SEISMICTOSS,                       
    
SKILL_SELFDESTRUCT,                      
    
SKILL_SING,                   
    
SKILL_SKULLBASH,                       
    
SKILL_SKYATTACK,                      
    
SKILL_SLASH,                   
    
SKILL_SLEEPPOWDER,                   
    
SKILL_SMOG,                   
    
SKILL_SMOKESCREEN,                    
    
SKILL_SOLARBEAM,                       
    
SKILL_SONICBOOM,                     
    
SKILL_SPIKECANNON,                  
    
SKILL_SPLASH,                     
    
SKILL_SPORE,                
    
SKILL_STOMP,                   
    
SKILL_STRENGTH,                
    
SKILL_STRINGSHOT,                      
    
SKILL_STUNGSPORE,                     
    
SKILL_SUBMISSION,                    
    
SKILL_SUBSTITUTE,                   
    
SKILL_SUPERSONIC,                  
    
SKILL_SWIFT,                     
    
SKILL_TACKLE,                   
    
SKILL_TAILWHIP,                    
    
SKILL_TAKE,               
    
SKILL_TELEPORT,                  
    
SKILL_THRASH,                   
    
SKILL_THUNDER,                   
    
SKILL_THUNDERWAVE,                    
    
SKILL_THUNDERBOLT,                       
    
SKILL_THUNDERSHOCK,                      
    
SKILL_TOXIC,                
    
SKILL_TRANSFORM,                   
    
SKILL_TRIATTACK,                   
    
SKILL_VICEGRIP,                     
    
SKILL_VINEWHIP,                     
    
SKILL_WATERFALL,                   
    
SKILL_WRAP,                      
    
SKILL_AEROBLAST,                       
    
SKILL_ANCIENTPOWER,                      
    
SKILL_AROMATHERAPY,                       
    
SKILL_AVALANCHE,                   
    
SKILL_BLAZEKICK,             
    
SKILL_BOUNCE,                  
    
SKILL_CALMMIND,                     
    
SKILL_CRUNCH,                     
    
SKILL_ERUPTION,                     
    
SKILL_EXTREMESPEED,                    
    
SKILL_FAINTATTACK,                    
    
SKILL_FIREPUNCH,                     
    
SKILL_FLASHCANNON,                    
    
SKILL_FORESIGHT,                   
    
SKILL_FUTURESIGHT,                   
    
SKILL_GIGADRAIN,                   
    
SKILL_GUARDSWAP,                      
    
SKILL_HEALBELL,                    
    
SKILL_ASSIST,                     
    
SKILL_HIDDENPOWER,                    
    
SKILL_BLIZZARD,                    
    
SKILL_INSOMNIA,                
    
SKILL_IRONDEFENSE,                      
    
SKILL_LEAFSTORM,                    
    
SKILL_LELIVATE,               
    
SKILL_LOVELYKISS,                      
    
SKILL_LUSTERPURGE,                     
    
SKILL_MAGMAARMOR,                      
    
SKILL_MINIMIZE,                  
    
SKILL_MIRRORCOAT,                     
    
SKILL_OCTOZOOKA,                    
    
SKILL_OVERHEAT,                     
    
SKILL_POISONFANG,                     
    
SKILL_PRESENT,                  
    
SKILL_PROTECT,                
    
SKILL_PSYCHOBOOST,                 
    
SKILL_RAINDANCE,                   
    
SKILL_RAZORWIND,                       
    
SKILL_REVERSAL,                   
    
SKILL_SACREDFIRE,                   
    
SKILL_SANDSTORM,                     
    
SKILL_SCARYFACE,                      
    
SKILL_SHADOWBALL,                     
    
SKILL_SHEERCOLD,                   
    
SKILL_SHOCKWAVE,                      
    
SKILL_SILENT,                    
    
SKILL_SPARK,              
    
SKILL_SPIDERWEB,                     
    
SKILL_SOFTBOILED,                      
    
SKILL_STEELWING,                     
    
SKILL_STONEEDGE,                       
    
SKILL_SUNNYDAY,                 
    
SKILL_SYNTHESIS,                    
    
SKILL_TELEKNESIS,                    
    
SKILL_THIEF,                    
    
SKILL_THUNDERPUNCH,                    
    
SKILL_TRIPLEKICK,               
    
SKILL_WATERPULSE,                      
    
SKILL_ZAPCANNON,                     
    
SKILL_BLOCK,                     
    
SKILL_BUGBITE,                 
    
SKILL_DRAGONRUSH,               
    
SKILL_ELECTRABALL,                   
    
SKILL_ENDEAVOR,                     
    
SKILL_FOCUSENERGY,                     
    
SKILL_HEALORDER,                       
    
SKILL_ICEBALL,                    
    
SKILL_MAGICALLEAF,                       
    
SKILL_MIMIC,                   
    
SKILL_NIGHTSLASH,                  
    
SKILL_SUCKERPUNCH,                  
    
SKILL_SWAGGER,                      
    
SKILL_SWEETKISS,                   
    
SKILL_THUNDERFANG,                 
    
SKILL_WATERSPORT,                    
    
SKILL_WHIRLWIND,                  
    
SKILL_WINGATTACK,                   
    
SKILL_MEDITATE,                    
    
SKILL_EPICBOMB,                    
    
SKILL_WEATHERBEAM,                  
    
SKILL_ICYWIND,                    
    
SKILL_HELPINGHAND,                      
    
SKILL_SPITFIRE,                    
    
SKILL_ICEPUNCH,                    
    
SKILL_FLAMEWHEEL,                 
    
SKILL_DARKPULSE,                  
    
SKILL_MEMENTO,               
    
SKILL_VANISHER,                     
    
SKILL_SHADOWSENSOR,                     
    
SKILL_ELECTRICTHREADS,                    
    
SKILL_HEALINGWAVE,                    
    
SKILL_SHELLYCOAT,                    
    
SKILL_OVERCOAT,                    
    
SKILL_ORACLE,                    
    
SKILL_POISONPOINT,                   
    
SKILL_BLACKGODFLAMES,                   
    
SKILL_LIMBER,                  
    
SKILL_EVILROOT,                 
    
SKILL_RAPIDRUN,                      
    
SKILL_SERPENTEYES,                    
    
SKILL_FIREMADNESS,                     
    
SKILL_FIREPUNCHES,                   
    
SKILL_HIDDENWEAPON,                    
    
SKILL_HIDDENHOWL,                    
    
SKILL_RUNAWAY,                      
    
SKILL_FEROCIOUSHUNTER,                  
    
SKILL_TRACKER,                    
    
SKILL_PROTECTANT,                   
    
SKILL_SAVIOR,                     
    
SKILL_ASSASSIN,                
    
SKILL_ANGRYPECKER,                      
    
SKILL_CALMSCENE,                      
    
SKILL_MASSIVEEXPLOSION,                    
    
SKILL_SPEEDYBOLT,                    
    
SKILL_STEELER,                     
    
SKILL_CRYSTALLIZE,                    
    
SKILL_SANDFORCE,                       
    
SKILL_SILENTSCREAMING,                       
    
SKILL_FRAGRANCE,                    
    
SKILL_IRONFIST,                     
    
SKILL_STATUE,                       
    
SKILL_CONCRETEMISSILE,              
    
SKILL_HELPER,                  
    
SKILL_EARTHSHAKER,                     
    
SKILL_POISONTOUCH,                   
    
SKILL_INVISIBLETHREADS,                  
    
SKILL_LEADSLICER,                     
    
SKILL_DARKVENOM,                       
    
SKILL_QUICKFEAT,                    
    
SKILL_DIVERSION,                    
    
SKILL_INFILTRATOR,                     
    
SKILL_HEALINGLEAF,                     
    
SKILL_RECKLESSNESS,                       
    
SKILL_BLOCKER,                    
    
SKILL_NIGHTVISION,                     
    
SKILL_CLOSESIGHT,                    
    
SKILL_HEAVYSLEEP,                  
    
SKILL_ZENMODE,                  
    
SKILL_SCREAMINGSTORM,                       
    
SKILL_HIDDENROCK,                      
    
SKILL_SHEDSKIN,                     
    
SKILL_HOODLUM,                     
    
SKILL_MIRRORTOUCH,                
    
SKILL_BODYEATER,                
    
SKILL_SOLIDROCK,                   
    
SKILL_TRIBEAM,                   
    
SKILL_TRASHGAS,                     
    
SKILL_TOXICSPRAY,                    
    
SKILL_EXTRAAMMO,                     
    
SKILL_REVERSEDAMGE,                     
    
SKILL_AMPLIFIER,                    
    
SKILL_DARKMOON,                     
    
SKILL_MAGICGUARD,                   
    
SKILL_WATERPUMPER,                  
    
SKILL_HYDRATION,                    
    
SKILL_ICEBODY,                    
    
SKILL_ICEWINDS,                      
    
SKILL_SNOWSTORM,                   
    
SKILL_SERENEGRACE,                     
    
SKILL_IMITATION,                  
    
SKILL_HOSTAGETAKER,                      
    
SKILL_CURSEDBODY,                     
    
SKILL_ELECTROWEB,                     
    
SKILL_THORNYBARRIER,                    
    
SKILL_PROJUMPER,                     
    
SKILL_CLEARBODY,                      
    
SKILL_DISKTHROWER,                  
    
SKILL_DISKEXPLOSIVE,                     
    
SKILL_UNKNOWNWORLD,                     
    
SKILL_BRAINATTACKER,                      
    
SKILL_FLAMELIGHTER,                     
    
SKILL_SOULTAKER,                      
    
SKILL_ADAMANTDRAGON,                     
    
SKILL_ICECHILL,                   
    
SKILL_ICECHAINS,                  
    
SKILL_SHELLARMOR,                  
    
SKILL_STEALTH,                
    
SKILL_EARTHLYLIGHTINING,                  
    
SKILL_INNERFOCUS,                     
    
SKILL_WHIPSLASH,                   
    
SKILL_DRAGONLIGHT,                      
    
SKILL_REGENERATION,                     
    
SKILL_BLADEDHANDS,                      
    
SKILL_PRESSURE,                     
    
SKILL_HEADCHARGE,                  
    
SKILL_HUSTLE,                     
    
SKILL_ARMORRESPAWN,                      
    
SKILL_WINDDRAGONROAR,                    
    
SKILL_WHITESMOKE,                    
    
SKILL_TRIPLETEAM,                  
    
SKILL_EVILINTENT,                    
    
SKILL_BLAZINGTOUCH,                  
    
SKILL_DEADLYHORN,                    
    
SKILL_SEAOFFLAMES,                    
    
SKILL_MINDCONTROL,                    
    
SKILL_DEADLYDREAM,                 
    
SKILL_WATERSPRAYER,                       
    
SKILL_GEYSERNEST,                   
    
SKILL_SHININGLIGHT,                     
    
SKILL_EMOTIONALPAIN,                    
    
SKILL_FLIGHT,                    
    
SKILL_ROCKYSKY,                  
    
SKILL_HIGHDEFENSE,                     
    
SKILL_METALBURST,                     
    
SKILL_DECIEVING,                      
    
SKILL_FALLENLIFE,                     
    
SKILL_NIGHTDAZE,                      
    
SKILL_PHANTONDAZE,                     
    
SKILL_WATERGOD,                     
    
SKILL_RELICSONG,                      
    
SKILL_TECHNODRIVE,                     
    
SKILL_DEVINEJUDGMENT,                      
    
SKILL_DEVINEICE,                     
    
SKILL_BLACKDEATH,                       
    
SKILL_SHADOWSTALKER,                     
    
SKILL_LIGHTNINGFURY,                      
    
SKILL_VOLCANOGEYSER,                    
    
SKILL_FLYINGJUDGMENT,                    
    
SKILL_ACIDRAIN,                    
    
SKILL_ANCIENT,                   
    
SKILL_FIREEXPLOSION,
    
SKILL_CALMINGWAVES,  
}

///////////////////////////////////////
//  When someone presses +pokeskill  //
///////////////////////////////////////
public pokeskill_down(id)
    {
    
g_StopSkill[id] = false;
    if( !
PMon() ){
        
poke_printlang(id,"POKEMOD_DISABLED")
        return 
PLUGIN_HANDLED
    
}
    else if( 
PM_disabled == PM_XP ){
        
poke_printlang(id,"POKEMOD_SKILLSDISABLED")
        return 
PLUGIN_HANDLED
    
}
    else if( !
ValidPokePlayersPoke[id][0] ) ){
        
StartMenu(id)
        return 
PLUGIN_HANDLED
    
}
    
    if( 
g_isItemed[id] ){
        
SetActionMenuidAC_GO );
        return 
PLUGIN_HANDLED;
    }
    
    if( !
Pokemod_Alive(id) ){
        new 
parm[2];
        
parm[0] = id;
        
parm[1] = 0;
        
set_task(0.1"PokeMenu"0parm2);
        return 
PLUGIN_HANDLED;
    }
    
    new 
skill_numcommand[32];
    
read_argv(0,command,31);
    
replace(command31"+pokeskill", EMPTY);
    
skill_num str_to_num(command);
    
    new 
poke_skills[MAX_SKILLS], skill_counti;
    for( 
0MAX_SKILLSi++ )
        
poke_skills[i] = -1;
    
    new 
pid Pokemon[id], tempskilltempcheckbool:skill_found;
    for( 
= -1i<MAX_ACTIVE_POKESi++ ){
        if( 
!= -){
            
pid PlayersPoke[id][i];
            
            
//if weve already added the skill in, we don't need to add it again
            
if( == PlayersActive[id] )
                continue;
        }
        while( 
pid && skill_count MAX_SKILLS ){
            if( !
PokeDisabled(pid) && (tempskill PokeSkill[pid]) != -){
                if( (
i==-|| PokeInfo[pid] & PI_GLOBAL) && SkillInfo[tempskill] & SI_BIND ){
                    
skill_found false;
                    for( 
tempcheck=0tempcheck skill_counttempcheck++ )
                        if( 
poke_skills[tempcheck] == tempskill )
                        
skill_found true;
                    if( !
skill_found ){
                        
poke_skills[skill_count] = tempskill;
                        
skill_count++;
                    }
                }
            }
            
            
pid AnyEvolveTo(pid);
        }
    }
    
    if( 
skill_count && !skill_num ){
        if( !
ValidSkillActiveSkill(id) ) ){
            
SkillMenu(id);
            return 
PLUGIN_HANDLED;
        }
        else
        
tempskill ActiveSkill(id);
    }
    else if( 
skill_num )
        
SetActiveSkill(id, (tempskill poke_skills[skill_num-1]) );
    else
    
SetActiveSkill(id, (tempskill poke_skills[0]) );
    
    
//couldnt find any skill to use, lets just use their first skill
    
if( !ValidSkill(tempskill) && !PokeDisabledPokemon[id] ) )
        
SetActiveSkill(id, (tempskill PokeSkill[Pokemon[id]]) );
    
    
//stop, they dont have a valid skill
    
if( !ValidSkill(tempskill) ){
        
poke_printlang(id,"POKEMOD_NOSKILL" );
        return 
PLUGIN_HANDLED;
    }
    
//stop, they dont have a bind skill
    
if( !(SkillInfo[tempskill] & SI_BIND) ){
        
set_hudmessage(025500.60.806.01.10.00.0, -1)
        
show_hudmessage(id"%s cannot be manually activated."SkillToName(tempskill))
        return 
PLUGIN_HANDLED;
    }
    
//stop, we arent allowing the skill to be used
    
if( DisAllowSkillidtempskilltrue ) )
        return 
PLUGIN_HANDLED;
    
    
//check spam time. stop if they are spamming
    
new Float:current_time get_gametime();
    if(
current_time-g_lastSkill[id] < SKILL_SPAM){
        
set_hudmessage(025500.60.806.01.10.00.0, -1)
        
show_hudmessage(id"Stop trying to spam PokeMod skills.")
        return 
PLUGIN_HANDLED;
    }
    
g_lastSkill[id] = current_time;
    
    
//send into skill handler
    
bind_skill_handler(id+POKESKILL_TASK);
    
    
debugMessage(id,6,"Player""keyed down with %s"SkillToNameActiveSkill(id) ) );
    
    return 
PLUGIN_HANDLED;
}

////////////////////////////////////////
//  When someone releases +pokeskill  //
////////////////////////////////////////
public pokeskill_up(id)
    {
    
debugMessage(id,6,"Player""keyed up with %s"SkillToNameActiveSkill(id) ) );
    
    
skills_handler(idSI_RELEASE);
    
    if( 
ValidSkillActiveSkill(id) ) ){
        if( 
Action[id] == AC_SKILL )
            
SkillMenu(id);
    }
    
    
g_StopSkill[id] = true;
    
    
#if SKILL_UNSPAM == 1
    
g_lastSkill[id] = 0.0;
    
#endif
    
    
return PLUGIN_HANDLED;
}

public 
bind_skill_handler(id)
    {
    
id -= POKESKILL_TASK;
    
    if( 
ValidPlayerid ) ){
        if( !
Pokemod_Alive(id) || DisAllowSkillidActiveSkill(id), true ) || g_StopSkill[id] ){
            
g_StopSkill[id] = false;
        }
        else if( 
ValidSkillActiveSkill(id) ) ){
            
CallSkill(idActiveSkill(id), SI_BIND);
            
set_task(0.1,"bind_skill_handler"POKESKILL_TASK+id)
        }
    }
}
skills_handler(idcall_prop)
{
    if( 
PlayerEventForward > -)
        {
        new 
functionReturn
        ExecuteForward
(PlayerEventForwardfunctionReturnidcall_prop)
        if( 
functionReturn==PLUGIN_HANDLED )
            return;
    }
    
    new 
skillsubpokebool:auto_globals=false;
    
    if( 
call_prop SI_RESET || call_prop SI_ROUNDRESET || call_prop SI_CONNECT || call_prop SI_DISCONNECT )
        
auto_globals true;
    
    if( !
PokeDisabledPokemon[id] ) ){
        
skill PokeSkill[Pokemon[id]];
        if( !
DisAllowSkill(idskill) && SkillInfoskill ] & call_prop )
            
CallSkill(idskillcall_prop)
    }
    
    
//if their active poke is evolved, deal with the skills it had
    
subpoke AnyEvolveTo(Pokemon[id])
    while(
subpoke && subpoke!=Pokemon[id]){
        if( !
PokeDisabledsubpoke ) ){
            
skill PokeSkill[subpoke];
            if( !
DisAllowSkill(idskill) && SkillInfo[skill] & call_prop )
                
CallSkill(idskillcall_prop)
        }
        
subpoke AnyEvolveTo(subpoke)
    }
    
    
//now on to the global pokes
    
new mpid_global;
    for(
m=0m<MAX_ACTIVE_POKESm++){
        
        
pid_global PlayersPoke[id][m]
        if( 
Pokemon[id] == pid_global )
            continue;
        
        if( (
auto_globals || PokeInfo[pid_global] & PI_GLOBAL) && !PokeDisabled(pid_global) ){
            
skill PokeSkill[pid_global];
            if( !
DisAllowSkill(idskill) && SkillInfo[skill] & call_prop )
                
CallSkill(idskillcall_prop)
        }
        
        
//sub globals now
        
subpoke AnyEvolveTo(pid_global)
        while(
subpoke && subpoke!=pid_global){
            if( (
auto_globals || PokeInfo[subpoke] & PI_GLOBAL) && !PokeDisabled(subpoke) ){
                
skill PokeSkill[subpoke];
                if( !
DisAllowSkill(idskill) && SkillInfo[skill] & call_prop )
                    
CallSkill(idskillcall_prop)
            }
            
subpoke AnyEvolveTo(subpoke)
        }
    }
}
bool:PokeDisabledpokemon )
{
    if( 
PokeInfo[pokemon]&PI_DISABLE || SafariLevel(pokemon)==-1000 )
        return 
true;
    return 
false;
}
bool:DisAllowSkill(idskillbool:bind=false)
{
    if( !
ValidSkillskill ) || !Pokemod_Connected(id) )
        return 
true;
    if( 
PM_disabled == PM_XP ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLSDISABLED");
        return 
true;
    }
    
    else if( 
SkillInfo[skill] & SI_DISABLE ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLDIS");
        return 
true;
    }
    else if( 
SkillInfo[skill] & SI_CALL )
        return 
false;
    else if( !(
SkillInfo[skill] & SI_IGNORE) && BindTime(id) ){
        if(
bind)            sound_deny(id);
        return 
true;
    }
    else if( 
g_Status[id][STATUS_ASLEEP] ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLASLEEP");
        return 
true;
    }
    else if( !(
SkillInfo[skill] & SI_DEAD) && !Pokemod_Alive(id) ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLDEAD");
        return 
true;
    }
    else if( 
SkillInfo[skill] & SI_ADMIN && !is_user_admin(id) ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLADMIN");
        return 
true;
    }
    else if( 
FreezeTime ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLFREEZE");
        return 
true;
    }
    
#if MOD==CS
    
else if( cs_get_user_vip(id) ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLVIP");
        return 
true;
    }
    
#endif
    #if MOD==NS
    
else if( ns_get_class(id) == CLASS_COMMANDER ){
        if(
bind)            poke_printlang(id,"POKEMOD_SKILLCOM");
        return 
true;
    }
    
#endif
    
return false;
}

stock RemoveDelayCallSkill(idskill)
    
remove_taskSKILLCALL_TASK + (skill MAX_PLAYERS) + id );
    
stock DelayedCallSkill(Float:timeidskillprop)
    {
    new 
parm];
    
parm] = id;
    
parm] = _:skill;
    
parm] = prop;
    
set_task(time"task_CallSkill"SKILLCALL_TASK + (skillMAX_PLAYERS) + idparm3);
}
public 
task_CallSkillparm[] )
    
CallSkillparm[0], parm[1], parm[2] );
    
CallSkill(idPOKESKILL:skillprop)
{
    if( 
ValidPlayer(id) && ValidSkill(skill) ){

        new 
SKILL:iSkillReturn;
        
        switch( 
skill )
        {
            case 
SKILL_ABSORB:                   iSkillReturn Absorbidskillprop );            
            case 
SKILL_ACID:                     iSkillReturn Acid idskillprop );    
            case 
SKILL_ACIDARMOR:                iSkillReturn Acid_Armoridskillprop );
            case 
SKILL_AGILITY:                  iSkillReturn Agilityidskillprop );
            case 
SKILL_AMNESIA:                  iSkillReturn Amnesiaidskillprop );
            case 
SKILL_AURORABEAM:               iSkillReturn Aurora_Beamidskillprop );
            case 
SKILL_BARRAGE:                  iSkillReturn Barrageidskillprop );
            case 
SKILL_BIDE:                     iSkillReturn Bideidskillprop );
            case 
SKILL_BITE:                     iSkillReturn Biteidskillprop );
            case 
SKILL_POWDEREDSNOW:             iSkillReturn Powdered_Snowidskillprop );
            case 
SKILL_BODYSLAM:                 iSkillReturn Body_Slamidskillprop );
            case 
SKILL_BONECLUB:                 iSkillReturn Bone_Clubidskillprop );
            case 
SKILL_BONEMERANG:               iSkillReturn Bonemerangidskillprop );
            case 
SKILL_BUBBLEBEAM:               iSkillReturn Bubble_Beamidskillprop );
            case 
SKILL_CONFUSERAY:               iSkillReturn Confuse_Rayidskillprop );
            case 
SKILL_CONFUSION:                iSkillReturn Confusionidskillprop );
            case 
SKILL_CONSTRICT:                iSkillReturn Constrictidskillprop );
            case 
SKILL_CONVERSION:               iSkillReturn Conversionidskillprop );
            case 
SKILL_COUNTER:                  iSkillReturn Counteridskillprop );
            case 
SKILL_DEFENSECURL:              iSkillReturn Defense_Curlidskillprop );
            case 
SKILL_DIG:                      iSkillReturn Digidskillprop );
            case 
SKILL_DISABLE:                  iSkillReturn Disableidskillprop );
            case 
SKILL_DIZZYPUNCH:               iSkillReturn Dizzy_Punchidskillprop );
            case 
SKILL_DOUBLEEDGE:               iSkillReturn Double_Edgeidskillprop );
            case 
SKILL_DOUBLEKICK:               iSkillReturn Double_Kickidskillprop );
            case 
SKILL_DOUBLESLAP:               iSkillReturn Double_Slapidskillprop );
            case 
SKILL_DOUBLETEAM:               iSkillReturn Double_Teamidskillprop );
            case 
SKILL_DRAGONRAGE:               iSkillReturn Dragon_Rageidskillprop );
            case 
SKILL_DREAMEATER:               iSkillReturn Dream_Eateridskillprop );
            case 
SKILL_DRILLPECK:                iSkillReturn Drill_Peckidskillprop );
            case 
SKILL_EARTHQUAKE:               iSkillReturn Earthquakeidskillprop );
            case 
SKILL_EGGBOMB:                  iSkillReturn Egg_Bombidskillprop );
            case 
SKILL_EMBER:                    iSkillReturn Emberidskillprop );
            case 
SKILL_EXPLOSION:                iSkillReturn Explosionidskillprop );
            case 
SKILL_FIREBLAST:                iSkillReturn Fire_Blastidskillprop );
            case 
SKILL_FIRESPIN:                 iSkillReturn Fire_Spinidskillprop );
            case 
SKILL_FISSURE:                  iSkillReturn Fissureidskillprop );
            case 
SKILL_FLAMETHROWER:             iSkillReturn Flamethroweridskillprop );
            case 
SKILL_FLASH:                    iSkillReturn Flashidskillprop );
            case 
SKILL_FLY:                      iSkillReturn Flyidskillprop );
            case 
SKILL_GLARE:                    iSkillReturn Glareidskillprop );
            case 
SKILL_GROWTH:                   iSkillReturn Growthidskillprop );
            case 
SKILL_GUILLOTINE:               iSkillReturn Guillotineidskillprop );
            case 
SKILL_GUST:                     iSkillReturn Gustidskillprop );
            case 
SKILL_HARDER:                   iSkillReturn Hardenidskillprop );
            case 
SKILL_HAZE:                     iSkillReturn Hazeidskillprop );
            case 
SKILL_HORNATTACK:               iSkillReturn Horn_Attackidskillprop );
            case 
SKILL_HORNDRILL:                iSkillReturn Horn_Drillidskillprop );
            case 
SKILL_HYDROPUMP:                iSkillReturn Hydro_Pumpidskillprop );
            case 
SKILL_HYPERBEAM:                iSkillReturn Hyper_Beamidskillprop );
            case 
SKILL_HYPNOSIS:                 iSkillReturn Hypnosisidskillprop );
            case 
SKILL_ICEBEAM:                  iSkillReturn Ice_Beamidskillprop );
            case 
SKILL_KARATECHOP:               iSkillReturn Karate_Chopidskillprop );
            case 
SKILL_LEECHLIFE:                iSkillReturn Leech_Lifeidskillprop );
            case 
SKILL_LEECHSEED:                iSkillReturn Leech_Seedidskillprop );
            case 
SKILL_LEER:                     iSkillReturn Leeridskillprop );
            case 
SKILL_LIGHTSCREEN:              iSkillReturn Light_Screenidskillprop );
            case 
SKILL_LOWKICK:                  iSkillReturn Low_Kickidskillprop );
            case 
SKILL_MEGADRAIN:                iSkillReturn Low_Kickidskillprop );
            case 
SKILL_MEGAKICK:                 iSkillReturn Mega_Kickidskillprop );
            case 
SKILL_MEGAPUNCH:                iSkillReturn Mega_Punchidskillprop );
            case 
SKILL_MIST:                     iSkillReturn Mistidskillprop );
            case 
SKILL_NIGHTSHADE:               iSkillReturn Night_Shadeidskillprop );
            case 
SKILL_PAYDAY:                   iSkillReturn Pay_Dayidskillprop );
            case 
SKILL_PECK:                     iSkillReturn Peckidskillprop );
            case 
SKILL_PINMISSILE:               iSkillReturn Pin_Missileidskillprop );
            case 
SKILL_POISONGAS:                iSkillReturn Poison_Gasidskillprop );
            case 
SKILL_POISONPOWDER:             iSkillReturn Poison_Powderidskillprop );
            case 
SKILL_POISONSTING:              iSkillReturn Poison_Stingidskillprop );
            case 
SKILL_PSYBEAM:                  iSkillReturn Psybeamidskillprop );
            case 
SKILL_PSYCHIC:                  iSkillReturn Psychicidskillprop );
            case 
SKILL_PSYWAVE:                  iSkillReturn Psywaveidskillprop );
            case 
SKILL_QUICKATTACK:              iSkillReturn Quick_Attackidskillprop );
            case 
SKILL_RAGE:                     iSkillReturn Rageidskillprop );
            case 
SKILL_RAZORLEAF:                iSkillReturn Razor_Leafidskillprop );
            case 
SKILL_RECOVER:                  iSkillReturn Recoveridskillprop );
            case 
SKILL_REFLECT:                  iSkillReturn Reflectidskillprop );
            case 
SKILL_REST:                     iSkillReturn Restidskillprop );
            case 
SKILL_ROAR:                     iSkillReturn Roaridskillprop );
            case 
SKILL_ROCKSLIDE:                iSkillReturn Rock_Slideidskillprop );
            case 
SKILL_ROCKTRHOW:                iSkillReturn Rock_Throwidskillprop );
            case 
SKILL_SANDATTACK:               iSkillReturn Sand_Attackidskillprop );
            case 
SKILL_SCRATCH:                  iSkillReturn Scratchidskillprop );
            case 
SKILL_SCREECH:                  iSkillReturn Screechidskillprop );
            case 
SKILL_SEISMICTOSS:              iSkillReturn Seismic_Tossidskillprop ); 
            case 
SKILL_SELFDESTRUCT:             iSkillReturn Self_Destructidskillprop );
            case 
SKILL_SING:                     iSkillReturn Singidskillprop );
            case 
SKILL_SKULLBASH:                iSkillReturn Skullbashidskillprop );
            case 
SKILL_SKYATTACK:                iSkillReturn Sky_Attackidskillprop );
            case 
SKILL_SLASH:                    iSkillReturn Slashidskillprop );
            case 
SKILL_SLEEPPOWDER:              iSkillReturn Sleep_Powderidskillprop );
            case 
SKILL_SMOG:                     iSkillReturn Smogidskillprop );
            case 
SKILL_SMOKESCREEN:              iSkillReturn Smokescreenidskillprop );
            case 
SKILL_SOLARBEAM:                iSkillReturn Solar_Beamidskillprop );
            case 
SKILL_SONICBOOM:                iSkillReturn Sonic_Boomidskillprop );
            case 
SKILL_SPIKECANNON:              iSkillReturn Spike_Cannonidskillprop );
            case 
SKILL_SPLASH:                   iSkillReturn Splashidskillprop );
            case 
SKILL_SPORE:                    iSkillReturn Sporeidskillprop );
            case 
SKILL_STOMP:                    iSkillReturn Stompidskillprop );
            case 
SKILL_STRENGTH:                 iSkillReturn Strengthidskillprop );
            case 
SKILL_STRINGSHOT:               iSkillReturn String_Shotidskillprop );
            case 
SKILL_STUNGSPORE:               iSkillReturn Stun_Sporeidskillprop );
            case 
SKILL_SUBMISSION:               iSkillReturn Submissionidskillprop );
            case 
SKILL_SUBSTITUTE:               iSkillReturn Substituteidskillprop );
            case 
SKILL_SUPERSONIC:               iSkillReturn Supersonicidskillprop );
            case 
SKILL_SWIFT:                    iSkillReturn Swiftidskillprop );
            case 
SKILL_TACKLE:                   iSkillReturn Tackleidskillprop );
            case 
SKILL_TAILWHIP:                 iSkillReturn Tail_Whipidskillprop );
            case 
SKILL_TAKE:                     iSkillReturn Take_Downidskillprop );
            case 
SKILL_TELEPORT:                 iSkillReturn Teleportidskillprop );
            case 
SKILL_THRASH:                   iSkillReturn Thrashidskillprop );
            case 
SKILL_THUNDER:                  iSkillReturn Thunderidskillprop );
            case 
SKILL_THUNDERWAVE:              iSkillReturn Thunder_Waveidskillprop );
            case 
SKILL_THUNDERBOLT:              iSkillReturn Thunderboltidskillprop );
            case 
SKILL_THUNDERSHOCK:             iSkillReturn Thundershockidskillprop );
            case 
SKILL_TOXIC:                    iSkillReturn Toxicidskillprop );
            case 
SKILL_TRANSFORM:                iSkillReturn Transformidskillprop );
            case 
SKILL_TRIATTACK:                iSkillReturn Tri_Attackidskillprop );
            case 
SKILL_VICEGRIP:                 iSkillReturn Vice_Gripidskillprop );
            case 
SKILL_VINEWHIP:                 iSkillReturn Vine_Whipidskillprop );
            case 
SKILL_WATERFALL:                iSkillReturn Waterfallidskillprop );
            case 
SKILL_WRAP:                     iSkillReturn Wrapidskillprop ); 
            case 
SKILL_AEROBLAST:                iSkillReturn Aeroblastidskillprop );
            case 
SKILL_ANCIENTPOWER:             iSkillReturn Ancient_Poweridskillprop );
            case 
SKILL_AROMATHERAPY:             iSkillReturn Aromatherapyidskillprop );
            case 
SKILL_AVALANCHE:                iSkillReturn Avalancheidskillprop );
            case 
SKILL_BLAZEKICK:                iSkillReturn Blaze_Kickidskillprop );
            case 
SKILL_BOUNCE:                   iSkillReturn Bounceidskillprop );
            case 
SKILL_CALMMIND:                 iSkillReturn Calm_Mindidskillprop );
            case 
SKILL_CRUNCH:                   iSkillReturn Crunchidskillprop );
            case 
SKILL_ERUPTION:                 iSkillReturn Eruptionidskillprop );
            case 
SKILL_EXTREMESPEED:             iSkillReturn Extreme_Speedidskillprop );
            case 
SKILL_FAINTATTACK:              iSkillReturn Faint_Attackidskillprop );
            case 
SKILL_FIREPUNCH:                iSkillReturn Fire_Punchidskillprop );
            case 
SKILL_FLASHCANNON:              iSkillReturn Flash_Cannonidskillprop );
            case 
SKILL_FORESIGHT:                iSkillReturn Foresightidskillprop );
            case 
SKILL_FUTURESIGHT:              iSkillReturn Future_Sightidskillprop );
            case 
SKILL_GIGADRAIN:                iSkillReturn Giga_Drainidskillprop );
            case 
SKILL_GUARDSWAP:                iSkillReturn Guard_Swapidskillprop );
            case 
SKILL_HEALBELL:                 iSkillReturn Heal_Bellidskillprop );
            case 
SKILL_ASSIST:                   iSkillReturn Assistidskillprop );
            case 
SKILL_HIDDENPOWER:              iSkillReturn Hidden_Poweridskillprop );
            case 
SKILL_BLIZZARD:                 iSkillReturn Blizzardidskillprop );
            case 
SKILL_INSOMNIA:                 iSkillReturn Insomniaidskillprop );
            case 
SKILL_IRONDEFENSE:              iSkillReturn Iron_Defenseidskillprop );
            case 
SKILL_LEAFSTORM:                iSkillReturn Leaf_Stormidskillprop );
            case 
SKILL_LELIVATE:                 iSkillReturn Levitateidskillprop );
            case 
SKILL_LOVELYKISS:               iSkillReturn Lovely_Kissidskillprop );
            case 
SKILL_LUSTERPURGE:              iSkillReturn Luster_Purgeidskillprop );
            case 
SKILL_MAGMAARMOR:               iSkillReturn Magma_Armoridskillprop );
            case 
SKILL_MINIMIZE:                 iSkillReturn Minimizeidskillprop ); 
            case 
SKILL_MIRRORCOAT:               iSkillReturn Mirror_Coatidskillprop );
            case 
SKILL_OCTOZOOKA:                iSkillReturn Octozookaidskillprop );
            case 
SKILL_OVERHEAT:                 iSkillReturn Overheatidskillprop );
            case 
SKILL_POISONFANG:               iSkillReturn Poison_Fangidskillprop );
            case 
SKILL_PRESENT:                  iSkillReturn Presentidskillprop );
            case 
SKILL_PROTECT:                  iSkillReturn Protectidskillprop );
            case 
SKILL_PSYCHOBOOST:              iSkillReturn Psycho_Boostidskillprop );
            case 
SKILL_RAINDANCE:                iSkillReturn Rain_Danceidskillprop );
            case 
SKILL_RAZORWIND:                iSkillReturn Razor_Windidskillprop );
            case 
SKILL_REVERSAL:                 iSkillReturn Reversalidskillprop );
            case 
SKILL_SACREDFIRE:               iSkillReturn Sacred_Fireidskillprop );
            case 
SKILL_SANDSTORM:                iSkillReturn Sandstormidskillprop );
            case 
SKILL_SCARYFACE:                iSkillReturn Scary_Faceidskillprop );
            case 
SKILL_SHADOWBALL:               iSkillReturn Shadow_Ballidskillprop );
            case 
SKILL_SHEERCOLD:                iSkillReturn Sheer_Coldidskillprop );
            case 
SKILL_SHOCKWAVE:                iSkillReturn Shock_Waveidskillprop );
            case 
SKILL_SILENT:                   iSkillReturn Silentidskillprop );
            case 
SKILL_SPARK:                    iSkillReturn Sparkidskillprop );
            case 
SKILL_SPIDERWEB:                iSkillReturn Spider_Webidskillprop );
            case 
SKILL_SOFTBOILED:               iSkillReturn Softboiledidskillprop );
            case 
SKILL_STEELWING:                iSkillReturn Steel_Wingidskillprop );
            case 
SKILL_STONEEDGE:                iSkillReturn Stone_Edgeidskillprop );
            case 
SKILL_SUNNYDAY:                 iSkillReturn Sunny_Dayidskillprop );
            case 
SKILL_SYNTHESIS:                iSkillReturn Synthesisidskillprop );
            case 
SKILL_TELEKNESIS:               iSkillReturn Telekenesisidskillprop );
            case 
SKILL_THIEF:                    iSkillReturn Thiefidskillprop );
            case 
SKILL_THUNDERPUNCH:             iSkillReturn Thunder_Punchidskillprop );
            case 
SKILL_TRIPLEKICK:               iSkillReturn Triple_Kickidskillprop );
            case 
SKILL_WATERPULSE:               iSkillReturn Water_Pulseidskillprop );
            case 
SKILL_ZAPCANNON:                iSkillReturn Zap_Cannonidskillprop );
            case 
SKILL_BLOCK:                    iSkillReturn Blockidskillprop );
            case 
SKILL_BUGBITE:                  iSkillReturn Bug_Biteidskillprop );
            case 
SKILL_DRAGONRUSH:               iSkillReturn Dragon_Rushidskillprop );
            case 
SKILL_ELECTRABALL:              iSkillReturn Electra_Ballidskillprop );
            case 
SKILL_ENDEAVOR:                 iSkillReturn Endeavoridskillprop );
            case 
SKILL_FOCUSENERGY:              iSkillReturn Focus_Energyidskillprop );
            case 
SKILL_HEALORDER:                iSkillReturn Heal_Orderidskillprop );
            case 
SKILL_ICEBALL:                  iSkillReturn Ice_Ballidskillprop );
            case 
SKILL_MAGICALLEAF:              iSkillReturn Magical_Leafidskillprop );
            case 
SKILL_MIMIC:                    iSkillReturn Mimicidskillprop );
            case 
SKILL_NIGHTSLASH:               iSkillReturn Night_Slashidskillprop );
            case 
SKILL_SUCKERPUNCH:              iSkillReturn Sucker_Punchidskillprop );
            case 
SKILL_SWAGGER:                  iSkillReturn Swaggeridskillprop );
            case 
SKILL_SWEETKISS:                iSkillReturn Sweet_Kissidskillprop );
            case 
SKILL_THUNDERFANG:              iSkillReturn Thunder_Fangidskillprop );
            case 
SKILL_WATERSPORT:               iSkillReturn Water_Sportidskillprop );
            case 
SKILL_WHIRLWIND:                iSkillReturn Whirl_Poolidskillprop );
            case 
SKILL_WINGATTACK:               iSkillReturn Wing_Attackidskillprop );
            case 
SKILL_MEDITATE:                 iSkillReturn Meditateidskillprop );
            case 
SKILL_EPICBOMB:                 iSkillReturn Epic_Bombidskillprop );
            case 
SKILL_WEATHERBEAM:              iSkillReturn Weather_Beamidskillprop );
            case 
SKILL_ICYWIND:                  iSkillReturn Icy_Windidskillprop );
            case 
SKILL_HELPINGHAND:              iSkillReturn Helping_Handidskillprop );
            case 
SKILL_SPITFIRE:                 iSkillReturn Spit_Fireidskillprop );
            case 
SKILL_ICEPUNCH:                 iSkillReturn Ice_Punchidskillprop );
            case 
SKILL_FLAMEWHEEL:               iSkillReturn Flame_Wheelidskillprop );
            case 
SKILL_DARKPULSE:                iSkillReturn Dark_Pulseidskillprop );
            case 
SKILL_MEMENTO:                  iSkillReturn Mementoidskillprop ); 
            case 
SKILL_VANISHER:                 iSkillReturn Vanisheridskillprop );
            case 
SKILL_SHADOWSENSOR:             iSkillReturn Shadow_Sensoridskillprop );
            case 
SKILL_ELECTRICTHREADS:          iSkillReturn Electric_Threadsidskillprop );
            case 
SKILL_HEALINGWAVE:              iSkillReturn Healing_Waveidskillprop );
            case 
SKILL_SHELLYCOAT:               iSkillReturn Shelly_Coatidskillprop );
            case 
SKILL_OVERCOAT:                 iSkillReturn Overcoatidskillprop );
            case 
SKILL_ORACLE:                   iSkillReturn Oracleidskillprop );
            case 
SKILL_POISONPOINT:              iSkillReturn Poison_Pointidskillprop );
            case 
SKILL_BLACKGODFLAMES:           iSkillReturn Black_God_Flamesidskillprop );
            case 
SKILL_LIMBER:                   iSkillReturn Limberidskillprop );
             case 
SKILL_EVILROOT:                 iSkillReturn Evil_Rootidskillprop );
            case 
SKILL_RAPIDRUN:                 iSkillReturn Rapid_Runidskillprop );
            case 
SKILL_SERPENTEYES:              iSkillReturn Serpent_Eyesidskillprop );
            case 
SKILL_FIREMADNESS:              iSkillReturn Fire_Madnessidskillprop );
            case 
SKILL_FIREPUNCHES:              iSkillReturn Fire_Punchesidskillprop );
            case 
SKILL_HIDDENWEAPON:             iSkillReturn Hidden_Weaponidskillprop );
            case 
SKILL_HIDDENHOWL:               iSkillReturn Hidden_Howlidskillprop );
            case 
SKILL_RUNAWAY:                  iSkillReturn Runawayidskillprop );
            case 
SKILL_FEROCIOUSHUNTER:          iSkillReturn Ferocious_Hunteridskillprop );
            case 
SKILL_TRACKER:                  iSkillReturn Trackeridskillprop );
            case 
SKILL_PROTECTANT:               iSkillReturn Protectantidskillprop );
            case 
SKILL_SAVIOR:                   iSkillReturn Savioridskillprop );
            case 
SKILL_ASSASSIN:                 iSkillReturn Assassinidskillprop );
            case 
SKILL_ANGRYPECKER:              iSkillReturn Angry_Peckeridskillprop );
            case 
SKILL_CALMSCENE:                iSkillReturn Calm_Sceneidskillprop );
            case 
SKILL_MASSIVEEXPLOSION:         iSkillReturn Massive_Explosionidskillprop );
            case 
SKILL_SPEEDYBOLT:               iSkillReturn Speedy_Boltsidskillprop );
            case 
SKILL_STEELER:                  iSkillReturn Steeleridskillprop );
            case 
SKILL_CRYSTALLIZE:              iSkillReturn Crystallizeidskillprop );
            case 
SKILL_SANDFORCE:                iSkillReturn Sand_Forceidskillprop );
            case 
SKILL_SILENTSCREAMING:          iSkillReturn Silent_Screamingidskillprop );
            case 
SKILL_FRAGRANCE:                iSkillReturn Fragranceidskillprop );
            case 
SKILL_IRONFIST:                 iSkillReturn Iron_Fistidskillprop );
            case 
SKILL_STATUE:                   iSkillReturn Statueidskillprop );
            case 
SKILL_CONCRETEMISSILE:          iSkillReturn Concrete_Missileidskillprop );
            case 
SKILL_HELPER:                   iSkillReturn Helperidskillprop );
            case 
SKILL_EARTHSHAKER:              iSkillReturn Earth_Shakeridskillprop );
            case 
SKILL_POISONTOUCH:              iSkillReturn Poison_Touchidskillprop );
            case 
SKILL_INVISIBLETHREADS:         iSkillReturn Invisible_Threadsidskillprop );
            case 
SKILL_LEADSLICER:               iSkillReturn Leaf_Sliceridskillprop );
            case 
SKILL_DARKVENOM:                iSkillReturn Dark_Venomidskillprop );
            case 
SKILL_QUICKFEAT:                iSkillReturn Quick_Featidskillprop );
            case 
SKILL_DIVERSION:                iSkillReturn Diversionidskillprop );
            case 
SKILL_INFILTRATOR:              iSkillReturn Infiltratoridskillprop );
            case 
SKILL_HEALINGLEAF:              iSkillReturn Healing_Leafidskillprop );
            case 
SKILL_RECKLESSNESS:             iSkillReturn Recklessnessidskillprop );
            case 
SKILL_BLOCKER:                  iSkillReturn Blockeridskillprop );
            case 
SKILL_NIGHTVISION:              iSkillReturn Night_Visionidskillprop );
            case 
SKILL_CLOSESIGHT:               iSkillReturn Close_Sightidskillprop );
            case 
SKILL_HEAVYSLEEP:               iSkillReturn Heavy_Sleepidskillprop );
            case 
SKILL_ZENMODE:                  iSkillReturn Zen_Modeidskillprop );
            case 
SKILL_SCREAMINGSTORM:           iSkillReturn Screaming_Stormidskillprop );
            case 
SKILL_HIDDENROCK:               iSkillReturn Hidden_Rockidskillprop );
            case 
SKILL_SHEDSKIN:                 iSkillReturn Shed_Skinidskillprop );
            case 
SKILL_HOODLUM:                  iSkillReturn Hoodlumidskillprop );
            case 
SKILL_MIRRORTOUCH:              iSkillReturn Mirror_Touchidskillprop );
            case 
SKILL_BODYEATER:                iSkillReturn Body_Eateridskillprop );
            case 
SKILL_SOLIDROCK:                iSkillReturn Solid_Rockidskillprop );
            case 
SKILL_TRIBEAM:                  iSkillReturn Tri_Beamidskillprop );
            case 
SKILL_TRASHGAS:                 iSkillReturn Trash_Gasidskillprop );
            case 
SKILL_TOXICSPRAY:               iSkillReturn Toxic_Sprayidskillprop );
            case 
SKILL_EXTRAAMMO:                iSkillReturn Extra_Ammoidskillprop );
            case 
SKILL_REVERSEDAMGE:             iSkillReturn Reverse_Damgeidskillprop );
            case 
SKILL_AMPLIFIER:                iSkillReturn Amplifieridskillprop );
            case 
SKILL_DARKMOON:                 iSkillReturn Dark_Moonidskillprop );
            case 
SKILL_MAGICGUARD:               iSkillReturn Magic_Guardidskillprop );
            case 
SKILL_WATERPUMPER:              iSkillReturn Water_Pumperidskillprop );
            case 
SKILL_HYDRATION:                iSkillReturn Hydrationidskillprop );
            case 
SKILL_ICEBODY:                  iSkillReturn Ice_Body idskillprop );
            case 
SKILL_ICEWINDS:                 iSkillReturn Icy_Windsidskillprop );
            case 
SKILL_SNOWSTORM:                iSkillReturn Snow_Stormidskillprop );
            case 
SKILL_SERENEGRACE:              iSkillReturn Serene_Graceidskillprop );
            case 
SKILL_IMITATION:                iSkillReturn Imitationidskillprop );
            case 
SKILL_HOSTAGETAKER:             iSkillReturn Hostage_Takeridskillprop );
            case 
SKILL_CURSEDBODY:               iSkillReturn Cursed_Body idskillprop );
            case 
SKILL_ELECTROWEB:               iSkillReturn Electrowebidskillprop );
            case 
SKILL_THORNYBARRIER:            iSkillReturn Thorny_Barrieridskillprop );
            case 
SKILL_PROJUMPER:                iSkillReturn Pro_Jumperidskillprop );
            case 
SKILL_CLEARBODY:                iSkillReturn Clear_Bodyidskillprop );
            case 
SKILL_DISKTHROWER:              iSkillReturn Disk_Throweridskillprop );
            case 
SKILL_DISKEXPLOSIVE:            iSkillReturn Disk_Explosiveidskillprop );
            case 
SKILL_UNKNOWNWORLD:             iSkillReturn Unknown_Worldidskillprop );
            case 
SKILL_BRAINATTACKER:            iSkillReturn Brain_Attackeridskillprop );
            case 
SKILL_FLAMELIGHTER:             iSkillReturn Flame_Lighteridskillprop );
            case 
SKILL_SOULTAKER:                iSkillReturn Soul_Takeridskillprop );
            case 
SKILL_ADAMANTDRAGON:            iSkillReturn Adamant_Dragonidskillprop );
            case 
SKILL_ICECHILL:                 iSkillReturn Ice_Chillidskillprop );
            case 
SKILL_ICECHAINS:                iSkillReturn Ice_Chainsidskillprop );
            case 
SKILL_SHELLARMOR:               iSkillReturn Shell_Armoridskillprop );
            case 
SKILL_STEALTH:                  iSkillReturn Stealthidskillprop );
            case 
SKILL_EARTHLYLIGHTINING:        iSkillReturn Earthly_Lightingidskillprop );
            case 
SKILL_INNERFOCUS:               iSkillReturn Inner_Focusidskillprop );
            case 
SKILL_WHIPSLASH:                iSkillReturn Whip_Slashidskillprop );
            case 
SKILL_DRAGONLIGHT:              iSkillReturn Dragon_Lightidskillprop );
            case 
SKILL_REGENERATION:             iSkillReturn Regenerationidskillprop );
            case 
SKILL_BLADEDHANDS:              iSkillReturn Bladed_Handsidskillprop );
            case 
SKILL_PRESSURE:                 iSkillReturn Pressureidskillprop );
            case 
SKILL_HEADCHARGE:               iSkillReturn Head_Chargeidskillprop );
            case 
SKILL_HUSTLE:                   iSkillReturn Hustleidskillprop );
            case 
SKILL_ARMORRESPAWN:             iSkillReturn Armor_Respawnidskillprop );
            case 
SKILL_WINDDRAGONROAR:           iSkillReturn Wind_Dragon_Roaridskillprop );
            case 
SKILL_WHITESMOKE:               iSkillReturn White_Smokeidskillprop );
            case 
SKILL_TRIPLETEAM:               iSkillReturn Triple_Teamidskillprop );
            case 
SKILL_EVILINTENT:               iSkillReturn Evil_Intentidskillprop );
            case 
SKILL_BLAZINGTOUCH:             iSkillReturn Blazing_Touchidskillprop );
            case 
SKILL_DEADLYHORN:               iSkillReturn Deadly_Hornidskillprop );
            case 
SKILL_SEAOFFLAMES:              iSkillReturn Sea_Of_Flamesidskillprop );
            case 
SKILL_MINDCONTROL:              iSkillReturn Mind_Controlidskillprop );
            case 
SKILL_DEADLYDREAM:              iSkillReturn Deadly_Dreamidskillprop );
            case 
SKILL_WATERSPRAYER:             iSkillReturn Water_Sprayeridskillprop );
            case 
SKILL_GEYSERNEST:               iSkillReturn Geyser_Nestidskillprop );
            case 
SKILL_SHININGLIGHT:             iSkillReturn Shining_Lightidskillprop );
            case 
SKILL_EMOTIONALPAIN:            iSkillReturn Emotional_Painidskillprop );
            case 
SKILL_FLIGHT:                   iSkillReturn Flightidskillprop );
            case 
SKILL_ROCKYSKY:                 iSkillReturn Rocky_Skyidskillprop );
            case 
SKILL_HIGHDEFENSE:              iSkillReturn High_Defenseidskillprop );
            case 
SKILL_METALBURST:               iSkillReturn Metal_Burstidskillprop );
            case 
SKILL_DECIEVING:                iSkillReturn Decievingidskillprop );
            case 
SKILL_FALLENLIFE:               iSkillReturn Fallen_lifeidskillprop );
            case 
SKILL_NIGHTDAZE:                iSkillReturn Night_Dazeidskillprop );
            case 
SKILL_PHANTONDAZE:              iSkillReturn Phanton_Dazeidskillprop );
            case 
SKILL_WATERGOD:                 iSkillReturn Water_Godidskillprop );
            case 
SKILL_RELICSONG:                iSkillReturn Relic_Songidskillprop );
            case 
SKILL_TECHNODRIVE:              iSkillReturn Techno_Driveidskillprop );
            case 
SKILL_DEVINEJUDGMENT:           iSkillReturn Divine_Judgementidskillprop );
            case 
SKILL_DEVINEICE:                iSkillReturn Divine_Iceidskillprop );
            case 
SKILL_BLACKDEATH:               iSkillReturn Black_Deathidskillprop );
            case 
SKILL_SHADOWSTALKER:            iSkillReturn Shadow_Stalkeridskillprop );
            case 
SKILL_LIGHTNINGFURY:            iSkillReturn Lightning_Furyidskillprop );
            case 
SKILL_VOLCANOGEYSER:            iSkillReturn Volcano_Geyseridskillprop );
            case 
SKILL_FLYINGJUDGMENT:           iSkillReturn Flying_Judgementidskillprop );
            case 
SKILL_ACIDRAIN:                 iSkillReturn Acid_Rainidskillprop );
            case 
SKILL_ANCIENT:                  iSkillReturn Ancientidskillprop );
            case 
SKILL_FIREEXPLOSION:            iSkillReturn Fire_Explosionidskillprop );
            case 
SKILL_CALMINGWAVES:             iSkillReturn Calming_Wavesidskillprop );    
        }
        
        switch ( 
iSkillReturn )
        {
            case 
SKILL_USED:
            {
                if( 
prop SI_BIND )
                
bind_usedidskill );
                else{
                    
#if ONE_SKILL_USE == 0
                        
parm[0] = id;
                        
parm[1] = _:skill;
                        
set_task(0.0"delayed_bind_used"0parm2);
                        
#else
                        
bind_usedidskill );
                    
#endif
                
}
                return 
true;
            }
        }
    }
    return 
false;
}

/////////////////////////
//  Resets all skills  //
/////////////////////////
ResetSkills(idbool:Round_Skills)
{
    
debugMessage(id,4,"Player""reset skills");
    
    
//things to be reset only after death/round end
    
if(Round_Skills){
        
skills_handler(idSI_ROUNDRESET);
    }
    
    
skills_handler(idSI_RESET);
    
CheckRepUsed(id);
    
    
SetActiveSkill(id);
    
    
PlayerStat[id][STAT_ATTACK] = PlayerStat[id][STAT_DEFENSE] = PlayerStat[id][STAT_SPECIAL] = PlayersLevel(id);
    
PlayerStat[id][STAT_SPEED] = 0;
    
    
fm_set_rendering(idkRenderFxGlowShell000kRenderTransAlpha255);
    
    if(
pev_valid(PlayerEnt[id])){
        new 
szClass[32];
        
pev(PlayerEnt[id], pev_classnameszClass31);
        if(
equali(szClass"psy_beam"))
            
psybeam_touch(PlayerEnt[id], 0);
    }
    
PlayerEnt[id] = 0;
    
g_Charge[id] = 0;
    
    
screenflash(id);
    
SetSpeed(id);
}

ActiveSkill(id)
return 
g_isSkilled[id];
SetActiveSkill(idskill=-1)
{
    
g_isSkilled[id] = skill;
    
debugMessage(id,6,"Player""set active skill to %s(%d)",SkillToName(skill),skill);
}

/////////////////////////////
//  Organized bind delays  //
/////////////////////////////
public delayed_bind_usedparm[] )
    
bind_usedparm[0], parm[1] );
bind_used(idskill=-1Float:over_ride=0.0)
{
    new 
Float:gametime get_gametime();
    new 
Float:newtime;
    if( !
BindUsed[id] || BindUsed[id]==WAIT_TIME newtime gametime;
    else 
newtime BindUsed[id];
    
    if( 
over_ride != 0.0 )
        
newtime += over_ride;
    else if( 
skill != -){
        new 
Float:tasktimeFloat:oldtime;
        
tasktime oldtime SkillDelay[skill];
        
        
tasktime -= (PlayersLevel(id)*DELAY_LEVEL_REDUCE);
        
        if(
tasktime oldtime/3)
            
tasktime oldtime/3;
        
        
newtime += tasktime;
    }
    
    if( 
newtime gametime ){
        
BindUsed[id] = newtime;
        
g_StopSkill[id] = true;
    }
}

/////////////////////////////////////////////////
//  If we want to set it to exactly something  //
/////////////////////////////////////////////////
set_bind(idFloat:time=0.0)
BindUsed[id] = time;

///////////////////////////////////////////////////////////////////
//  If I need to stop them after they've used it a couple times  //
///////////////////////////////////////////////////////////////////
end_rep_use(idskillFloat:max)
{
    
SetActiveSkill(idskill);
    if( ++
g_Charge[id] >= max*10 ){
        
g_Charge[id] = 0;
        if( 
Action[id] != AC_SKILL )
            
SetActiveSkill(id);
        return 
true;
    }
    return 
false;
}
CheckRepUsed(id)
{
    if( 
g_Charge[id] && ValidSkillActiveSkill(id) ) ){
        
bind_used(idActiveSkill(id));
        
g_Charge[id] = 0;
        
SetActiveSkill(id);
        return 
true;
    }
    return 
false;
}

public 
create_sprite_spray(parm[])
    {
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(120)
    
write_coord(parm[0])        //origin
    
write_coord(parm[1])
    
write_coord(parm[2])
    
write_coord(parm[3])        //velocity
    
write_coord(parm[4])
    
write_coord(parm[5])
    
write_short(parm[6])        //sprite
    
write_byte(8)                //count
    
write_byte(10)                //speed
    
write_byte(100)                //noise
    
write_byte(5)                //rendermode
    
message_end()
}
public 
spray_check(parm[])
    {
    new 
id parm[0]
    new 
flame parm[1]    //this is 0 for smoke, 1 for fire
    
new skill parm[2]    //this is 0 for smoke, 1 for fire
    
    //direct damage first
    
new entbody
    get_user_aiming
(identbody600)
    
    if(
Pokemod_Alive(ent))
        {
        if(
flame==1)
            
ApplyStatusidentSTATUS_BURN0.0 )
        else if(
flame==2)
            
screenflash(ent,139,59,19,200)
        else
        
screenflash(ent,255,255,255,255)
    }
    
    
//now indirect damage
    
new Players[32], iNumtarget
    poke_get_players
(PlayersiNumPLAYER_ALIVE|PLAYER_MORTAL)
    
    new 
Float:fOrigin[3], Float:fOrigin2[3]
    new 
temp[3], Float:fAim[3]
    new 
Float:fDistance 600.0
    
new iDistance
    
    
for(new 0iNumi++)
        {
        
target Players[i]
        if( 
target == id )
            continue
        
        
pev(idpev_originfOrigin)
        
pev(targetpev_originfOrigin2)
        
        
get_user_origin(idtemp3)
        
IVecFVec(tempfAim)
        
        if(
get_distance_f(fOriginfOrigin2) > fDistance)
            continue 
        
        
iDistance get_distance_to_line(fOriginfOrigin2fAim)
        if( 
iDistance 40 || iDistance || !fm_is_ent_visible(idtarget) )
            continue 
        
        if(
flame==1){
            
skilldamage(targetid1skill)
            if(
Chance(id))
                
ApplyStatusidtargetSTATUS_BURN0.0 )
        }
        else if(
flame==2)
            
screenflash(target,139,59,19,200)
        else
        
screenflash(target,255,255,255,255)
    }
}
BlowUp(id)
{
    
get_user_origin(id,origin[id])
    
    
poke_sound(id,CHAN_STATICSND_SUCK)
    
    
message_beginMSG_BROADCASTSVC_TEMPENTITY )
    
write_byte(TE_IMPLOSION)
    
write_coord(origin[id][0])
    
write_coord(origin[id][1])
    
write_coord(origin[id][2])
    
write_byte(100)
    
write_byte(20)
    
write_byte(5)
    
message_end()
    
    
// random explosions
    
message_beginMSG_PVSSVC_TEMPENTITYorigin[id] )
    
write_byte(TE_EXPLOSION// This just makes a dynamic light now
    
write_coordorigin[id][0] + random_num( -100100 ))
    
write_coordorigin[id][1] + random_num( -100100 ))
    
write_coordorigin[id][2] + random_num( -5050 ))
    
write_shortSPRITE_INDEX[SPR_EEXPLO] )
    
write_byterandom_num(0,20) + 20 )    // scale * 10
    
write_byte12 )                    // framerate
    
write_byte(0)
    
message_end()
    
    
// lots of smoke
    
message_beginMSG_PVSSVC_TEMPENTITYorigin[id] )
    
write_byte(TE_SMOKE)
    
write_coordorigin[id][0] + random_num( -100100 ))
    
write_coordorigin[id][1] + random_num( -100100 ))
    
write_coordorigin[id][2] + random_num( -5050 ))
    
write_shortSPRITE_INDEX[SPR_STEAM1] )
    
write_byte60 // scale * 10
    
write_byte10 // framerate
    
message_end()
    
    
// blast circles
    
message_beginMSG_PASSVC_TEMPENTITYorigin[id] )
    
write_byte(TE_BEAMCYLINDER)
    
write_coordorigin[id][0])
    
write_coordorigin[id][1])
    
write_coordorigin[id][2] - 16)
    
write_coordorigin[id][0])
    
write_coordorigin[id][1])
    
write_coordorigin[id][2] - 16 EXPLOSION_RADIUS)
    
write_shortSPRITE_INDEX[SPR_SHOCKWAVE] )
    
write_byte)        // startframe
    
write_byte)        // framerate
    
write_byte)        // life
    
write_byte16 )    // width
    
write_byte)        // noise
    
write_byte188 )
    
write_byte220 )
    
write_byte255 )
    
write_byte255 )    //brightness
    
write_byte)        // speed
    
message_end()
    
}
public 
make_powder(parm[])
    {
    new 
id parm[0];
    if(!
PMon() || !Pokemod_Alive(id))
        return
    
    new 
Float:fl_Origin[3], ptime POWDER_TIME
    
    pev
(idpev_originfl_Origin)
    
    new 
newEnt fm_create_entity("info_target")
    
    
set_pev(newEntpev_classname"pokemod_ent")
    
fm_entity_set_model(newEntMODELS[MDL_POWDER])
    
    
// Change height of entity origin to hands
    
fl_Origin[2] += 6
    
    
// Set entity postion
    
fm_entity_set_origin(newEntfl_Origin)
    
    
// Set properties of the entity
    
set_pevnewEntpev_rendermode5)
    
set_pevnewEntpev_renderamt255.0)
    
set_pevnewEntpev_ownerid)
    
    
set_pevnewEntpev_animtime1.0);
    
set_pevnewEntpev_framerate1.0);
    
set_pevnewEntpev_sequence0);
    
    new 
parm2[3];
    
parm2[0] = newEnt;
    
parm2[1] = parm[1];
    
parm2[2] = parm[2];
    
check_powder(parm2)
    
set_task(0.5,"check_powder",0parm2"a"2*ptime-1)
    
set_task(ptime*1.0,"poke_remove_entity",newEnt+REMOVE_TASK)
}
public 
check_powder(parm[])
    {
    new 
spowder parm[0];
    new 
check_poison parm[1];
    new 
check_sleep parm[2];
    
    if(!
pev_valid(spowder))
        return
    
    new 
id pev(spowderpev_owner)
    
    new 
Float:poison_time get_ppcvar_float(pm_poisontime)
    new 
Float:sleep_time get_ppcvar_float(pm_sleeptime)
    new 
range POWDER_RANGE
    AddLvl
(idrange)
    
    new 
aidplayers[MAX_PLAYERS], pnum
    poke_get_players
(players,pnum,PLAYER_ALIVE|PLAYER_MORTAL|PLAYER_NOTEAM,Pokemod_Team(id))
    
    for(new 
0i<pnumi++)
        {
        
aid players[i]
        
        if( 
fm_entity_range(spowder,aid) < range ) {
            
            if( 
check_poison && !g_Status[aid][STATUS_POISON] ){
                
ApplyStatusidaidSTATUS_POISONpoison_time )
            }
            
            if( 
check_sleep && !g_Status[aid][STATUS_ASLEEP] ){
                
ApplyStatusidaidSTATUS_ASLEEPsleep_time )
            }
        }
    }
}
public 
check_spore(parm[])
    {
    new 
ent parm[0];
    
parm[2]--;
    
    if( 
pev_valid(ent) ){
        new 
Float:health;
        
pev(entpev_healthhealth);
        if( 
health-POKE_HP_OFFSET ){
            new 
Float:origfl[3], orig[3];
            
peventpev_originorigfl );
            
FVecIVec(origflorig);
            
            new 
parmlol[7];
            
parmlol[0] = orig[0];
            
parmlol[1] = orig[1];
            
parmlol[2] = orig[2]+100;
            
parmlol[3] = 0;
            
parmlol[4] = 0;
            
parmlol[5] = 50;
            
parmlol[6] = SPRITE_INDEX[SPR_STEAM1];
            
create_sprite_sprayparmlol );
            
            
set_task(1.0,"poke_remove_entity",ent+REMOVE_TASK);
            
set_task(0.1"check_spore"0parm4);
            
            return;
        }
        
        if( !
parm[2] ){
            
fm_remove_entity(ent);
            return;
        }
    }
    else
    return;
    
    new 
id pev(entpev_owner);
    
    new 
range SPORE_RANGE;
    
AddLvl(idrange);
    
    new 
aidplayers[MAX_PLAYERS], pnum
    poke_get_players
(players,pnum,PLAYER_ALIVE|PLAYER_MORTAL|PLAYER_NOTEAM,Pokemod_Team(id))
    for(new 
0i<pnumi++)
        {
        
aid players[i]
        
        if( 
fm_entity_range(ent,aid) < range ) {
            
            if( 
parm[3] ){
                if( !
g_Status[aid][STATUS_POISON] )
                    
ApplyStatusidaidSTATUS_POISON5.0 )
            }
            else
            
set_pevaidpev_velocityFloat:{0.0,0.0,0.0} );
        }
    }
    
    new 
Float:origfl[3], orig[3];
    
peventpev_originorigfl );
    
FVecIVec(origflorig);
    
    if( (
parm[2] % 10) == ){
        
message_beginMSG_PASSVC_TEMPENTITYorig )
        
write_byte(TE_BEAMCYLINDER)
        
write_coordorig[0])
        
write_coordorig[1])
        
write_coordorig[2] + 20 )
        
write_coordorig[0])
        
write_coordorig[1])
        
write_coordorig[2] + 20 range)
        
write_shortSPRITE_INDEX[SPR_GAS] )
        
write_byte)        // startframe
        
write_byte)        // framerate
        
write_byte10 )        // life
        
write_byte16 )    // width
        
write_byte)        // noise
        
write_byte88 )
        
write_byte20 )
        
write_byteparm[3] ? 255 50 )
        
write_byte255 )    //brightness
        
write_byte)        // speed
        
message_end()
    }
    
    if( (
parm[2] % 5) == ){
        new 
parmlol[7];
        
parmlol[0] = orig[0];
        
parmlol[1] = orig[1];
        
parmlol[2] = orig[2]+100;
        
parmlol[3] = 0;
        
parmlol[4] = 0;
        
parmlol[5] = -20;
        
parmlol[6] = parm[3] ? SPRITE_INDEX[SPR_BIGSPIT] : SPRITE_INDEX[SPR_MUZZLEFLASH1];
        
create_sprite_sprayparmlol );
    }
    
    
set_task(0.1"check_spore"0parm4);
}
public 
delayed_grenade(parm[])
    
give_grenade(parm[0],parm[1],bool:parm[2]);
give_grenade(idhow_many=1bool:add_with=false)
{
    if( !
Pokemod_Alive(id) )
        return;
    new 
old_amountnew_amount
    
#if MOD==CS
    
give_item(id"weapon_hegrenade")
    
old_amount cs_get_user_bpammo(idCSW_HEGRENADE)
    
new_amount add_with ? (old_amount+how_many) : ( max(how_many,old_amount) )
    
cs_set_user_bpammo(idCSW_HEGRENADEnew_amount)
    
#endif
    #if MOD==DOD
    
new wpnid
    
if(Pokemod_Team(id)==2){
        
give_item(id"weapon_stickgrenade")
        
wpnid DODW_STICKGRENADE
    
}
    else{
        
give_item(id"weapon_handgrenade")
        
wpnid DODW_HANDGRENADE
    
}
    
old_amount dod_get_user_ammo(id,wpnid)
    
new_amount add_with ? (old_amount+how_many) : ( max(how_many,old_amount) )
    
dod_set_user_ammo(idwpnidnew_amount)
    
#endif
    #if MOD==NS
    
if(Pokemod_Team(id)==1){
        new 
wpn[32], bpammo
        get_user_weapon
(idold_amountbpammo)
        
get_weaponname(WEAPON_GRENADE,wpn,31)
        
        
ns_give_item(id"weapon_grenade")
        
new_amount add_with ? (old_amount+how_many) : ( max(how_many,old_amount) )
        new 
iWPNidx = -1
        
while ((iWPNidx fm_find_ent_by_class(iWPNidxwpn)) != 0) {
            if (
id == pev(iWPNidxpev_owner)) {
                
ns_set_weap_clip(iWPNidxnew_amount)
            }
        }
    }
    
#endif
}
Gas(idbool:smog=falsebool:poison=false)
{
    if( !
Pokemod_Alive(id) || ( !smog && !poison ) )
        return;
    
    
get_user_origin(idorigin[id])
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY//message begin
    
write_byte(TE_SPRITE)
    
write_coord(origin[id][0]) // start position
    
write_coord(origin[id][1])
    
write_coord(origin[id][2])
    
write_short(SPRITE_INDEX[SPR_GAS]) // sprite index
    
write_byte(10// scale in 0.1's
    
write_byte(100// brightness
    
message_end()
    
    new 
aidplayersa[MAX_PLAYERS], pnuma
    poke_get_players
(playersa,pnuma,PLAYER_ALIVE|PLAYER_MORTAL|PLAYER_NOTEAM,Pokemod_Team(id))
    
    new 
Float:poison_time get_ppcvar_float(pm_poisontime)
    new 
distance
    
new maxdist 300
    AddLvl
(idmaxdist)
    
    for(new 
ick 0ick<pnumaick++)
        {
        
aid playersa[ick]
        
        
get_user_origin(aidorigin[aid])
        
        
distance get_distance(origin[aid], origin[id])
        if(
distance <= maxdist){
            if(
smog){
                
poke_print(aid,print_center,LANG,aid,"POKEMOD_SMOG")
                
screenflash(aid13959192221.0)
            }
            if(
poison && !g_Status[aid][STATUS_POISON]){
                
ApplyStatusidaidSTATUS_POISONpoison_time )
            }
        }
    }
}
make_snow(id)
{
    
get_user_origin(id,origin[id]);
    
    
//lets put one on each side of them
    
new sides[4][2];
    
sides[0][0] = sides[0][1] = sides[2][0] = sides[3][1] = 100;
    
sides[1][0] = sides[1][1] = sides[2][1] = sides[3][0] = -100;
    
    for(new 
i=0i<4i++){
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY//message begin
        
write_byteTE_SPRITE // additive sprite, plays 1 cycle
        
write_coord(origin[id][0] + sides[i][0] + random_num(-10,10))
        
write_coord(origin[id][1] + sides[i][1] + random_num(-10,10))
        
write_coord(origin[id][2])
        
write_shortSPRITE_INDEX[SPR_SNOW] )
        
write_byte14 // byte (scale in 0.1's)
        
write_byte255 //  byte (brightness)
        
message_end()
    }
    
    return 
PLUGIN_HANDLED
}
PokeSkillTarget(id, &damage=-1, &weapon=-1)
{
    new 
victim;
    
// If they were damaged
    
if( PlayerDamageInfo[id][PD_DAMAGE] ){
        
damage PlayerDamageInfo[id][PD_DAMAGE];
        
weapon PlayerDamageInfo[id][PD_WEAPON];
        return 
PlayerDamageInfo[id][PD_ATTACKER];
    }
    
// If they damaged someone else
    
for( victim=0victim<MAX_PLAYERSvictim++ )
        if( 
PlayerDamageInfo[victim][PD_ATTACKER] == id ){
        
damage PlayerDamageInfo[victim][PD_DAMAGE];
        
weapon PlayerDamageInfo[victim][PD_WEAPON];
        return 
victim;
    }
    
// If they touched someone
    
if( PlayerDamageInfo[id][PD_ATTACKER] ){
        
damage weapon 0;
        return 
PlayerDamageInfo[id][PD_ATTACKER];
    }
    
// Get who they are looking at
    
get_user_aiming(idvictimweapon);
    if( 
Pokemod_Alive(victim) ){
        
weapon get_user_weapon(id);
        
damage 0;
        return 
victim;
    }
    return 
0;
}

SkillLevel(idskill)
{
    if( 
is_user_connected(id) && ValidSkill(skill) ){
        static 
pidi;
        
pid Pokemon[id];
        for( 
= -1i<MAX_ACTIVE_POKESi++ ){
            if( 
!= -){
                
//if weve already added the skill in, we don't need to add it again
                
if( == PlayersActive[id] )
                    continue;
                else
                
pid PlayersPoke[id][i];
            }
            while( 
ValidPoke(pid) ){
                if( !
PokeDisabled(pid) && PokeSkill[pid] == skill ){
                    if( 
i==-|| PokeInfo[pid] & PI_GLOBAL ){
                        return 
PlayersLevel(idi);
                    }
                }
                
                
pid AnyEvolveTo(pid);
            }
        }
    }
    return 
0;

make_inferno(id)
{
    
get_user_origin(id,origin[id]);
    
    
//lets put one on each side of them
    
new sides[4][2];
    
sides[0][0] = sides[0][1] = sides[2][0] = sides[3][1] = 100;
    
sides[1][0] = sides[1][1] = sides[2][1] = sides[3][0] = -100;
    
    for(new 
i=0i<4i++){
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY//message begin
        
write_byteTE_SPRITE // additive sprite, plays 1 cycle
        
write_coord(origin[id][0] + sides[i][0] + random_num(-10,10))
        
write_coord(origin[id][1] + sides[i][1] + random_num(-10,10))
        
write_coord(origin[id][2])
        
write_shortSPRITE_INDEX[SPR_SACRED]) 
        
write_byte14 // byte (scale in 0.1's)
        
write_byte255 //  byte (brightness)
        
message_end()
    }
    
    return 
PLUGIN_HANDLED
}
make_inferno_b(id)
{
    
get_user_origin(id,origin[id]);
    
    
//lets put one on each side of them
    
new sides[4][2];
    
sides[0][0] = sides[0][1] = sides[2][0] = sides[3][1] = 100;
    
sides[1][0] = sides[1][1] = sides[2][1] = sides[3][0] = -100;
    
    for(new 
i=0i<4i++){
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY//message begin
        
write_byteTE_SPRITE // additive sprite, plays 1 cycle
        
write_coord(origin[id][0] + sides[i][0] + random_num(-10,10))
        
write_coord(origin[id][1] + sides[i][1] + random_num(-10,10))
        
write_coord(origin[id][2])
        
write_shortSPRITE_INDEX[SPR_BFLAME]) 
        
write_byte14 // byte (scale in 0.1's)
        
write_byte255 //  byte (brightness)
        
message_end()
    }
    
    return 
PLUGIN_HANDLED
}
make_snow_o(vorigin[3])
{
    
    
//lets put one on each side of them
    
new sides[4][2];
    
sides[0][0] = sides[0][1] = sides[2][0] = sides[3][1] = 100;
    
sides[1][0] = sides[1][1] = sides[2][1] = sides[3][0] = -100;
    
    for(new 
i=0i<4i++){
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY//message begin
        
write_byteTE_SPRITE // additive sprite, plays 1 cycle
        
write_coord(vorigin[0] + sides[i][0] + random_num(-10,10))
        
write_coord(vorigin[1] + sides[i][1] + random_num(-10,10))
        
write_coord(vorigin[2])
        
write_shortSPRITE_INDEX[SPR_SNOW] )
        
write_byte14 // byte (scale in 0.1's)
        
write_byte255 //  byte (brightness)
        
message_end()
    }
    
    return 
PLUGIN_HANDLED
}

Kenesis(idbool:smog=falsebool:poison=false)
{
    if( !
Pokemod_Alive(id) || ( !smog && !poison ) )
        return;
    
    
get_user_origin(idorigin[id])
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY//message begin
    
write_byte(TE_SPRITE)
    
write_coord(origin[id][0]) // start position
    
write_coord(origin[id][1])
    
write_coord(origin[id][2])
    
write_short(SPRITE_INDEX[SPR_SHOCKWAVE]) // sprite index
    
write_byte(10// scale in 0.1's
    
write_byte(20// brightness
    
message_end()
    
    new 
aidplayersa[MAX_PLAYERS], pnuma
    poke_get_players
(playersa,pnuma,PLAYER_ALIVE|PLAYER_MORTAL|PLAYER_NOTEAM,Pokemod_Team(id))
    
    new 
Float:poison_time get_ppcvar_float(pm_poisontime)
    new 
distance
    
new maxdist 500
    AddLvl
(idmaxdist)
    
    for(new 
ick 0ick<pnumaick++)
        {
        
aid playersa[ick]
        
        
get_user_origin(aidorigin[aid])
        
        
distance get_distance(origin[aid], origin[id])
        if(
distance <= maxdist){
            if(
smog){
                
poke_print(aid,print_center,LANG,aid,"POKEMOD_SMOG")
            }
            if(
poison && !g_Status[aid][STATUS_SLOW]){
                
ApplyStatusidaidSTATUS_SLOWpoison_time )
            }
        }
    }
}
Flamewheel(idbool:smog=falsebool:poison=false)
{
    if( !
Pokemod_Alive(id) || ( !smog && !poison ) )
        return;
    
    
get_user_origin(idorigin[id])
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY//message begin
    
write_byte(TE_SPRITE)
    
write_coord(origin[id][0]) // start position
    
write_coord(origin[id][1])
    
write_coord(origin[id][2])
    
write_short(SPRITE_INDEX[SPR_FIRE]) // sprite index
    
write_byte(10// scale in 0.1's
    
write_byte(10// brightness
    
message_end()
    
    new 
aidplayersa[MAX_PLAYERS], pnuma
    poke_get_players
(playersa,pnuma,PLAYER_ALIVE|PLAYER_MORTAL|PLAYER_NOTEAM,Pokemod_Team(id))
    
    new 
Float:poison_time get_ppcvar_float(pm_poisontime)
    new 
distance
    
new maxdist 100
    AddLvl
(idmaxdist)
    
    for(new var = 
0; var<pnuma; var++)
        {
        
aid playersa[var]
        
        
get_user_origin(aidorigin[aid])
        
        
distance get_distance(origin[aid], origin[id])
        if(
distance <= maxdist){
            if(
smog){
                
poke_print(aid,print_center,LANG,aid,"POKEMOD_SMOG")
            }
            if(
poison && !g_Status[aid][STATUS_BURN]){
                
ApplyStatusidaidSTATUS_BURNpoison_time )
            }
            
        }
    }



fysiks 05-08-2012 02:40

Re: Tag mismatch & few errors! Advanced coders***
 
Quote:

Originally Posted by fysiks (Post 1704656)
If you still can't figure it out on your own then post the whole code as an attachment.


iBrazilian 05-08-2012 02:42

Re: Tag mismatch & few errors! Advanced coders***
 
I did. I've renamed the code file into .inc not inl or anything of the kind. so the skills.inc is the whole code.

fysiks 05-08-2012 03:40

Re: Tag mismatch & few errors! Advanced coders***
 
If I can't compile it then I won't touch it. Also, the lines (in the error output) don't match the code.

iBrazilian 05-08-2012 06:11

Re: Tag mismatch & few errors! Advanced coders***
 
Can i sent you my scripting folder privately? As I would not like to let these files go public?

EDIT: Here is the whole scripting folder, http://www.2shared.com/file/u2wNtbTu/scripting.html . I will send you the Password via PM.


All times are GMT -4. The time now is 00:25.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.