API
__tostring
由c++实现的api
即unit对象可以直接用print或log.info打印
get_id
获取unit_id
由c++实现的api
local unit_id = unit:get_id()
add
增加属性
由c++实现的api
- 参数
- state (string) - [单位属性]
- value (number) - 数值
-- 攻击增加50点
unit:add('攻击', 50)
-- 攻击增加50%
unit:add('攻击%', 50)
add_ex
增加属性的特定值
由c++实现的api
- 参数
- state (string) - [单位属性]
- value (number) - 数值
- value_type (integer) - [单位数值属性类型]
-- 攻击增加50点
unit:add_ex('攻击', 50, 0)
unit:add_ex('攻击', 50, 1)
-- 攻击增加50的百分比
unit:add_ex('攻击', 50, 2)
add_ai
添加AI
由c++实现的api
- 参数1
- name (string) - AI名称
- 参数2
- data (table) - AI数据
AI的说明见[这里][ai]。
unit:add_ai '小兵'
{
-- 自定义数据
}
add_animation
添加动画。同play_animation。为了兼容才保留的
由c++实现的api
play_animation
添加动画
由c++实现的api
- 参数1
- name (string) - 动画名称
- 参数2 (其实是返回的方法的参数1,注意看下面的例子)
- speed (number) - 动画播放速度,默认为
1.0
- loop (boolean) - 循环播放,默认为
false
- part (integer) - 播哪部分动作,默认为0,表示播全身动作;1表示上半身,2表示下半身。
- blend_in_time (integer) - 渐入时间 ms
- blend_out_time (integer) - 渐出时间 ms
- speed (number) - 动画播放速度,默认为
unit:play_animation '跳舞'
{
speed = 1.0,
loop = false,
blend_in_time = 200,
blend_out_time = 200,
}
unit2:play_animation '开枪'
{
speed = 1.0,
loop = false,
part = 1
}
add_buff
添加状态
由c++实现的api
- 参数1
- name (string) - 状态名称
- delay (number) - 生效延迟(秒)
- 参数2
- data (table) - [状态属性]
- 返回
- buff (buff) - 状态
状态的详细说明见[这里][buff]。指定生效延迟后,状态会在延迟时间后生效,但会立即返回状态,因此可以操作这个还未生效的状态,包括移除它。
local buff = unit:add_buff('状态名称', 1000)
{
skill = skill,
}
add_exp
增加经验
- 参数
- exp (number) - 经验值
用于[英雄升级]库。
unit:add_exp(100)
add_height
增加高度
由c++实现的api
- 参数
- height (name) - 高度
指的是单位距离地面的高度
unit:add_height(100)
add_item
添加物品
- 参数
- item (item) - 物品
- 返回
- result (boolean) - 是否成功
如果物品已经在单位身上,或单位物品栏已满,则会添加失败。添加成功且物品之前在另一个单位身上,则之前的单位会先失去该物品。
local suc = unit:add_item(item)
add_level
提升等级
- 参数
- level (interger) - 等级
用于[英雄升级]库。等级不能降低。
unit:add_level(1)
add_provide_sight
提供视野
由c++实现的api
- 参数
- team (integer) - 队伍ID
令单位的视野提供给指定队伍。视野的说明见[这里][视野]。
unit:add_provide_sight(1)
add_resource
增加能量
- 参数
- type (string) - [能量类型][能量]
- value (number) - 数值
unit:add_resource('怒气', 100)
add_restriction
老api,和add_mark效果一样。(单位标记以前叫行为限制)
由c++实现的api
- 参数
- type (string) - [单位标记]
unit:add_restriction '无敌'
add_mark
增加单位标记
由c++实现的api
- 参数
- type (string) - [单位标记]
unit:add_mark '无敌'
add_sight
添加可见形状
由c++实现的api
- 参数
- sight (sight) - [可见形状]
- 返回
- sight_handle (sight_handle) - [可见形状对象][可见形状]
local sight_handle = unit:add_sight(sight)
有个体型巨大的单位,希望能在它的轮廓进入视野时就能看到他。
-- 在单位位置创建一个半径500的圆形可见形状
local sight = base.sight_range(unit:get_point(), 500)
-- 将可见形状添加给单位
local sight_handle = unit:add_sight(sight)
之后不需要这个可见形状了
if sight_handle then
sight_handle:remove()
end
add_skill
添加技能
由c++实现的api
- 参数
- name (string) - 技能名称
- type (string) - [技能类型]
- slot (integer) - 技能格子
- 返回
- skill (skill) - 技能
每个类型的技能格子从0开始,最大为99。指定格子时,这个格子上已经有技能的话会添加失败;不指定格子时,会找一个最小的空格。
unit:add_skill('技能名称', '英雄', 1)
attack
攻击
由c++实现的api
- 参数
- target (unit) - 攻击目标
- 返回
- valid (boolean) - 是否有效
local valid = unit:attack(target)