58 lines
1.6 KiB
C++
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;
|
|
}
|