l2-unlegits/l2ooghelper/SE_funcs_skills.cpp
2012-02-01 05:25:08 +00:00

58 lines
1.6 KiB
C++

#include "stdafx.h"
#include "Logger.h"
#include "SE_funcs.h"
// l2c_useSkill( int skillID )
int l2c_useSkill( lua_State *L )
{
int nArgs = lua_gettop( L );
if( nArgs < 1 ) return 0;
IL2Client *cl = L2C_func_getClient( L );
if( !cl ) return 0;
unsigned int skillID = (unsigned int)lua_tonumber( L, 1 );
unsigned int force = 0;
if( nArgs >= 2 ) force = lua_toboolean( L, 2 );
cl->game_SkillUse( skillID, force, 0 );
return 0;
}
// int l2c_getSkillLevel( int skillID )
int l2c_getSkillLevel( lua_State *L )
{
IL2Client *cl = L2C_func_getClient( L );
if( !cl ) { lua_pushnumber( L, 0 ); return 1; }
int nArgs = lua_gettop( L );
if( nArgs < 1 ) { lua_pushnumber( L, 0 ); return 1; }
unsigned int skillID = (unsigned int)lua_tonumber( L, 1 );
int skillLevel = cl->game_getSkillLevel( skillID );
lua_pushnumber( L, skillLevel );
return 1;
}
// int l2c_getSkillReuseLeft( int skillID )
int l2c_getSkillReuseLeft( lua_State *L )
{
IL2Client *cl = L2C_func_getClient( L );
if( !cl ) { lua_pushnumber( L, 0 ); return 1; }
int nArgs = lua_gettop( L );
if( nArgs < 1 ) { lua_pushnumber( L, 0 ); return 1; }
unsigned int skillID = (unsigned int)lua_tonumber( L, 1 );
UserSkills *sk = cl->get_Skills();
UserSkill skill;
sk->getSkillInfoBySkillId( skillID, &skill );
lua_pushnumber( L, skill.coolTimeRemaining );
return 1;
}
// boolean l2c_isCastingNow()
int l2c_isCastingNow( lua_State *L )
{
IL2Client *cl = L2C_func_getClient( L );
if( !cl ) { lua_pushboolean( L, 0 ); return 1; }
UserSkills *sk = cl->get_Skills();
int b = 0;
if( sk->isCasting() ) b = 1;
lua_pushboolean( L, b );
return 1;
}