Raised This Month: $ Target: $400
 0% 

Tag mismatch & few errors! Advanced coders***


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
iBrazilian
Senior Member
Join Date: May 2011
Old 05-07-2012 , 21:12   Tag mismatch & few errors! Advanced coders***
Reply With Quote #1

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 ... 
__________________
Pokemod Season 5 [ |||||||||| Complete]

Last edited by iBrazilian; 05-07-2012 at 21:14.
iBrazilian is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 05-08-2012 , 01:50   Re: Tag mismatch & few errors! Advanced coders***
Reply With Quote #2

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.
__________________

Last edited by fysiks; 05-08-2012 at 01:52.
fysiks is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 05-08-2012 , 02:40   Re: Tag mismatch & few errors! Advanced coders***
Reply With Quote #3

Quote:
Originally Posted by fysiks View Post
If you still can't figure it out on your own then post the whole code as an attachment.
__________________
fysiks is offline
iBrazilian
Senior Member
Join Date: May 2011
Old 05-08-2012 , 02:35   Re: Tag mismatch & few errors! Advanced coders***
Reply With Quote #4

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 )
            }
            
        }
    }

Attached Files
File Type: inc skills.inc (70.6 KB, 101 views)
__________________
Pokemod Season 5 [ |||||||||| Complete]

Last edited by iBrazilian; 05-08-2012 at 02:38.
iBrazilian is offline
iBrazilian
Senior Member
Join Date: May 2011
Old 05-08-2012 , 02:42   Re: Tag mismatch & few errors! Advanced coders***
Reply With Quote #5

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.
__________________
Pokemod Season 5 [ |||||||||| Complete]

Last edited by iBrazilian; 05-08-2012 at 02:42.
iBrazilian is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 05-08-2012 , 03:40   Re: Tag mismatch & few errors! Advanced coders***
Reply With Quote #6

If I can't compile it then I won't touch it. Also, the lines (in the error output) don't match the code.
__________________

Last edited by fysiks; 05-08-2012 at 03:43.
fysiks is offline
iBrazilian
Senior Member
Join Date: May 2011
Old 05-08-2012 , 06:11   Re: Tag mismatch & few errors! Advanced coders***
Reply With Quote #7

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.
__________________
Pokemod Season 5 [ |||||||||| Complete]

Last edited by iBrazilian; 05-08-2012 at 09:25.
iBrazilian is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


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


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