combat
简介
战斗引擎
组件接口
combat.gs
FCombatRule.gs
战斗规则组件
FRoleAction.gs
行为组件
函数原型 | 函数作用 |
---|---|
void operates(map ops = ) | 批量操作 |
void operate(string cmd, array args = []) | 战斗操作 |
FRoleBuff.gs
角色buff组件
函数原型 | 函数作用 |
---|---|
void add_buff(int buff_id, int angle = 0) | 添加buff |
void del_buff(int buff_id) | 删除buff |
void clear_buff() | 删除所有buff |
bool is_ctrl() | 是否被控制 |
bool is_nodmg() | 是否无敌 |
bool is_laugh() | 是否受到嘲讽 |
bool is_reback() | 是否反伤 |
int get_reback_count() | 获取反伤比例 |
array get_reback_buff() | 获取反伤buff |
bool is_gethp() | 是否吸血 |
int get_gethp_count() | 获取吸血比例 |
bool is_guard() | 是否霸体 |
bool is_armor() | 是否护盾 |
array get_multi() | 获取多重攻击信息 |
bool is_show_multi() | 是否是分身 |
bool is_stun() | 是否是眩晕 |
bool is_ice() | 是否是冰冻等无法进行行为的状态 |
bool is_action() | 是否有动作 |
bool is_help_status() | 是否被霸体护盾等状态导致无法切换受击动作 |
void del_stun() | 删除眩晕BUFF |
void cost_guard_hp(int cost_hp) | 消耗霸体护盾 |
int cost_armor_hp(int cost_hp) | 消耗护盾值 |
int get_buff_att(string att) | 获得buff属性 |
void buff_update(int curtime) | buff效果 |
FRoleFilter.gs
战斗角色筛选组件
FRoleItem.gs
道具组件
FRoleStatus.gs
角色状态组件
函数原型 | 函数作用 |
---|---|
map get_status() | 获取角色状态 |
map get_last_status() | 获取角色上次状态 |
map get_last_cmd_status(string cmd) | 获取角色上次同命令状态 |
void switch_status(map role_status) | 切换角色状态 |
bool can_switch(map role_status) | 是否能切换角色状态 |
bool is_moving() | 是否在移动 |
bool can_action() | 是否可以行动 |
bool is_dead() | 是否处于死亡状态 |
void status_run(int curtime) | 状态运行 |
void sync_state(map pos, map data) | 同步位置等信息,位置必须同步,允许携带其他信息 |
void move_start(int angle, float speed = 0.0f, string state = "move", map dest = nil, mixed last_pos = nil) | 移动开始 |
void move_end() | 移动结束 |
FRoleTask.gs
任务组件
FRoleUp.gs
养成组件
函数原型 | 函数作用 |
---|---|
bool add_exp(int add_exp = 0) | 添加经验 |
FSceneFilter.gs
战斗角色筛选组件
status.gs
角色状态管理器
函数原型 | 函数作用 |
---|---|
bool can_switch(object role, map cur_status, map target_status) | 是否可以切换状态 |
void play(object role, int curtime, map cur_status) | 状态执行 |
CombatBase.gs
战斗基础对象
CombatRole.gs
战斗角色
函数原型 | 函数作用 |
---|---|
bool is_combat_role() | 是否是战斗角色 |
void do_exec(int curtime) | 角色循环执行 |
object get_combat() | 获取所在战斗对象 |
void bind_user(object user) | 绑定玩家 |
void unbind_user() | 取消绑定玩家 |
object user() | 获得绑定玩家 |
object get_ent(string rid) | 获取前场景某个战斗实体 |
array get_ents() | 获取当前场景所有战斗实体 |
int start_time() | 获取战斗开始时间 |
int end_time() | 获取战斗结束时间 |
int combat_time() | 获取战斗时间 |
int camp() | 阵营 |
int hp() | 当前血量 |
int hp_max() | 最大血量 |
float speed() | 速度 |
float atk_speed() | 速度 |
int atk() | 攻击 |
map get_pos() | 获得位置 |
void set_pos(map dest, bool is_sync = false) | 设置位置 |
int lv() | 等级 |
int exp() | 经验 |
int exp_max() | 经验上限 |
float calc_distance(mixed ob_or_pos) | 计算任意位置或实体到自己的距离 |
bool FRoleUp.add_exp(int add_exp = 0) | 添加经验 |
CombatScene.gs
战斗场景基础对象
函数原型 | 函数作用 |
---|---|
bool is_scene() | 是否是场景对象 |
void do_exec(int curtime) | 循环执行 |
object create_entity_by_class_id(int class_id, map param = ) | 通过配置表创建实体 |
object create_entity(string obname, map param = ) | 创建实体 |
map get_scene_info() | 获取场景信息 |
object get_ent(string rid) | 根据rid获取实体 |
array get_ents() | 获取所有战斗实体 |