632 lines
18 KiB
Text
632 lines
18 KiB
Text
if (_G.object == nil) then
|
|
_G.object = {}
|
|
end
|
|
|
|
local jump_time = nil
|
|
|
|
function script_functor_jump()
|
|
--[[
|
|
if (jump_time ~= nil and jump_time + 10000 <= time_global()) or jump_time == nil then
|
|
jump_time = time_global()
|
|
return true
|
|
end
|
|
return false
|
|
]]--
|
|
return true
|
|
end
|
|
|
|
function script_functor_true()
|
|
return true
|
|
end
|
|
|
|
function exit_random(p)
|
|
return math.random(100) <= tonumber(p)
|
|
end
|
|
|
|
descriptions = {
|
|
--[[duplo = {
|
|
loopholes = {
|
|
-- {
|
|
-- id = "loophole_enter",
|
|
-- fov_position = vector():set(1.1, -.65 ,-1.4),
|
|
-- fov_direction = vector():set(-1,0,0),
|
|
-- enter_direction = vector():set(1,0,0),
|
|
-- enter_crouching = false,
|
|
-- enterable = true,
|
|
-- exitable = false,
|
|
-- usable = false,
|
|
-- actions = {
|
|
-- idle = {
|
|
-- "loophole_1_in_front_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
{
|
|
id = "loophole_0",
|
|
fov_position = vector():set (1.1,0,-1.4),
|
|
fov_direction = vector():set(-1,0,0),
|
|
enter_direction = vector():set(1,0,0),
|
|
-- enterable = false,
|
|
-- enterable = true,
|
|
-- enter_crouching = true,
|
|
-- exitable = true,
|
|
usable = true,
|
|
fov = 60.0,
|
|
range = 32.0,
|
|
actions = {
|
|
idle = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_1_idle_0",
|
|
},
|
|
},
|
|
},
|
|
lookout = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_1_look_out_0",
|
|
},
|
|
},
|
|
},
|
|
fire = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_1_attack_idle_0",
|
|
},
|
|
shoot = {
|
|
"loophole_1_attack_shoot_0",
|
|
},
|
|
},
|
|
},
|
|
fire_no_lookout = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_1_attack_idle_0",
|
|
},
|
|
shoot = {
|
|
"loophole_1_attack_shoot_0",
|
|
},
|
|
},
|
|
},
|
|
reload = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_1_reload_0",
|
|
},
|
|
},
|
|
},
|
|
exit = {
|
|
movement = true,
|
|
position = vector():set(0,0,2),
|
|
animations = {
|
|
idle = {
|
|
"loophole_1_jump_0",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
transitions = {
|
|
{
|
|
action_from = "idle",
|
|
action_to = "lookout",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_1_look_in_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "lookout",
|
|
action_to = "idle",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_1_look_out_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "idle",
|
|
action_to = "fire",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_1_attack_in_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "fire",
|
|
action_to = "idle",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_1_attack_out_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "idle",
|
|
action_to = "fire_no_lookout",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_1_attack_in_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "fire_no_lookout",
|
|
action_to = "idle",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_1_attack_out_0",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
-- {
|
|
-- id = "loophole_1",
|
|
-- position = vector():set(0.5,0,2),
|
|
-- direction = vector():set(0,0,-1),
|
|
-- enterable = false,
|
|
-- usable = true,
|
|
-- fov = 60.0,
|
|
-- range = 32.0,
|
|
-- actions = {
|
|
-- idle = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_idle_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- lookout = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_lookout_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- fire = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_attack_idle_0",
|
|
-- },
|
|
-- shoot = {
|
|
-- "loophole_1_attack_shoot_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- fire_no_lookout = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_attack_idle_0",
|
|
-- },
|
|
-- shoot = {
|
|
-- "loophole_1_attack_shoot_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- reload = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_reload_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- exit = {
|
|
-- movement = true,
|
|
-- position = vector():set(0,0,2),
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_attack_idle_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- transitions = {
|
|
-- {
|
|
-- action_from = "idle",
|
|
-- action_to = "lookout",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_idle_to_look_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "lookout",
|
|
-- action_to = "idle",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_look_to_idle_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "idle",
|
|
-- action_to = "fire",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_idle_to_attack_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "fire",
|
|
-- action_to = "idle",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_attack_to_idle_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "idle",
|
|
-- action_to = "fire_no_lookout",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_idle_to_attack_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "fire_no_lookout",
|
|
-- action_to = "idle",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_attack_to_idle_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- },
|
|
{
|
|
id = "loophole_2",
|
|
fov_position = vector():set (1.1,0,1.4),
|
|
fov_direction = vector():set(-1,0,0),
|
|
enter_direction = vector():set(1,0,0),
|
|
enterable = true,
|
|
enter_crouching = true,
|
|
exitable = false,
|
|
usable = true,
|
|
fov = 60.0,
|
|
range = 32.0,
|
|
actions = {
|
|
idle = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_3_idle_0",
|
|
},
|
|
},
|
|
},
|
|
lookout = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_3_look_out_0",
|
|
},
|
|
},
|
|
},
|
|
fire = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_3_attack_idle_0",
|
|
},
|
|
shoot = {
|
|
"loophole_3_attack_shoot_0",
|
|
},
|
|
},
|
|
},
|
|
fire_no_lookout = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_3_look_idle_0",
|
|
},
|
|
shoot = {
|
|
"loophole_3_look_shoot_0",
|
|
},
|
|
},
|
|
},
|
|
reload = {
|
|
animations = {
|
|
idle = {
|
|
"loophole_3_reload_0",
|
|
},
|
|
},
|
|
},
|
|
exit = {
|
|
movement = true,
|
|
position = vector():set(0,0,2),
|
|
animations = {
|
|
idle = {
|
|
"loophole_3_jump_0",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
transitions = {
|
|
{
|
|
action_from = "idle",
|
|
action_to = "lookout",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_3_look_in_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "lookout",
|
|
action_to = "idle",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_3_look_out_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "idle",
|
|
action_to = "fire",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_3_attack_in_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "fire",
|
|
action_to = "idle",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_3_attack_out_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "idle",
|
|
action_to = "fire_no_lookout",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_3_no_look_in_0",
|
|
},
|
|
},
|
|
{
|
|
action_from = "fire_no_lookout",
|
|
action_to = "idle",
|
|
weight = 1.2,
|
|
animations = {
|
|
"loophole_3_no_look_out_0",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
-- {
|
|
-- id = "loophole_3",
|
|
-- position = vector():set (-0.5,0,-2),
|
|
-- direction = vector():set(0,0,1),
|
|
-- enterable = false,
|
|
-- usable = true,
|
|
-- fov = 60.0,
|
|
-- range = 32.0,
|
|
-- actions = {
|
|
-- idle = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_idle_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- lookout = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_lookout_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- fire = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_attack_idle_0",
|
|
-- },
|
|
-- shoot = {
|
|
-- "loophole_1_attack_shoot_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- fire_no_lookout = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_attack_idle_0",
|
|
-- },
|
|
-- shoot = {
|
|
-- "loophole_1_attack_shoot_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- reload = {
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_reload_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- exit = {
|
|
-- movement = true,
|
|
-- position = vector():set(0,0,2),
|
|
-- animations = {
|
|
-- idle = {
|
|
-- "loophole_1_attack_idle_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- transitions = {
|
|
-- {
|
|
-- action_from = "idle",
|
|
-- action_to = "lookout",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_idle_to_look_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "lookout",
|
|
-- action_to = "idle",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_look_to_idle_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "idle",
|
|
-- action_to = "fire",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_idle_to_attack_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "fire",
|
|
-- action_to = "idle",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_attack_to_idle_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "idle",
|
|
-- action_to = "fire_no_lookout",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_idle_to_attack_0",
|
|
-- },
|
|
-- },
|
|
-- {
|
|
-- action_from = "fire_no_lookout",
|
|
-- action_to = "idle",
|
|
-- weight = 1.2,
|
|
-- animations = {
|
|
-- "loophole_1_attack_to_idle_0",
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- },
|
|
},
|
|
transitions = {
|
|
{
|
|
vertex0 = "",
|
|
vertex1 = "loophole_0",
|
|
weight = 1.0,
|
|
actions = {
|
|
{
|
|
position = vector():set(0, -.67, 1),
|
|
precondition_functor = "smart_covers.script_functor_true",
|
|
precondition_params = "",
|
|
animation = "loophole_1_in_front_0",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
vertex0 = "loophole_0",
|
|
vertex1 = "",
|
|
weight = 1.0,
|
|
actions = {
|
|
{
|
|
position = vector():set(0,0,1),
|
|
precondition_functor = "smart_covers.script_functor_true",
|
|
precondition_params = "",
|
|
--body_state = move.standing, movement_type = move.run,
|
|
--time = 5.0,
|
|
animation = "loophole_1_exit_jump_0",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
vertex0 = "loophole_0",
|
|
vertex1 = "loophole_2",
|
|
weight = 1.0,
|
|
actions = {
|
|
{
|
|
position = vector():set(0,0,1),
|
|
precondition_functor = "smart_covers.script_functor_true",
|
|
precondition_params = "",
|
|
animation = "loophole_transition_1_to_3",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
vertex0 = "loophole_2",
|
|
vertex1 = "loophole_0",
|
|
weight = 1.1,
|
|
actions = {
|
|
{
|
|
position = vector():set(0,0,1),
|
|
precondition_functor = "smart_covers.script_functor_true",
|
|
precondition_params = "",
|
|
animation = "loophole_transition_3_to_1",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},--]]
|
|
|
|
|
|
--combat = smart_covers_combat.get_smart_cover(),
|
|
combat_prone = smart_covers_combat_prone.get_smart_cover(),
|
|
combat_front = smart_covers_combat_front.get_smart_cover(),
|
|
|
|
|
|
animpoint_stay_wall = smart_covers_animpoint_stay_wall.get_smart_cover(),
|
|
animpoint_stay_table = smart_covers_animpoint_stay_table.get_smart_cover(),
|
|
animpoint_sit_high = smart_covers_animpoint_sit_high.get_smart_cover(),
|
|
animpoint_sit_normal = smart_covers_animpoint_sit_normal.get_smart_cover(),
|
|
animpoint_sit_low = smart_covers_animpoint_sit_low.get_smart_cover(),
|
|
|
|
animpoint_pri_a15 = smart_covers_animpoint_pri_a15.get_smart_cover(),
|
|
anim_pri_a22 = smart_covers_anim_pri_a22.get_smart_cover()
|
|
|
|
|
|
--cover_loophole_1 = smart_covers_cover_loophole_1.get_smart_cover_cover_loophole_1(),
|
|
--cover_loophole_2 = smart_covers_cover_loophole_2.get_smart_cover_cover_loophole_2(),
|
|
--cover_loophole_3 = smart_covers_cover_loophole_3.get_smart_cover_cover_loophole_3(),
|
|
--cover_loophole_1_2 = smart_covers_cover_loophole_1_2.get_smart_cover_cover_loophole_1_2(),
|
|
--cover_loophole_2_3 = smart_covers_cover_loophole_2_3.get_smart_cover_cover_loophole_2_3(),
|
|
--cover_loophole_1_3 = smart_covers_cover_loophole_1_3.get_smart_cover_cover_loophole_1_3(),
|
|
--cover_loophole_1_2_3 = smart_covers_cover_loophole_1_2_3.get_smart_cover_cover_loophole_1_2_3(),
|
|
--cover_loophole_4 = smart_covers_cover_loophole_4.get_smart_cover_cover_loophole_4(),
|
|
--cover_loophole_5 = smart_covers_cover_loophole_5.get_smart_cover_cover_loophole_5(),
|
|
--cover_loophole_4_5 = smart_covers_cover_loophole_4_5.get_smart_cover_cover_loophole_4_5(),
|
|
--cover_loophole_6 = smart_covers_cover_loophole_6.get_smart_cover_cover_loophole_6(),
|
|
--cover_loophole_7 = smart_covers_cover_loophole_7.get_smart_cover_cover_loophole_7(),
|
|
--cover_loophole_6_7 = smart_covers_cover_loophole_6_7.get_smart_cover_cover_loophole_6_7(),
|
|
--cover_loophole_8 = smart_covers_cover_loophole_8.get_smart_cover_cover_loophole_8(),
|
|
--cover_loophole_9 = smart_covers_cover_loophole_9.get_smart_cover_cover_loophole_9(),
|
|
--cover_loophole_10 = smart_covers_cover_loophole_10.get_smart_cover_cover_loophole_10(),
|
|
--cover_loophole_11 = smart_covers_cover_loophole_11.get_smart_cover_cover_loophole_11(),
|
|
--cover_loophole_10_11 = smart_covers_cover_loophole_10_11.get_smart_cover_cover_loophole_10_11(),
|
|
--cover_loophole_10_8 = smart_covers_cover_loophole_10_8.get_smart_cover_cover_loophole_10_8(),
|
|
--cover_loophole_8_11 = smart_covers_cover_loophole_8_11.get_smart_cover_cover_loophole_8_11(),
|
|
--cover_loophole_10_8_11 = smart_covers_cover_loophole_10_8_11.get_smart_cover_cover_loophole_10_8_11(),
|
|
|
|
|
|
--cover_loophole_1_jump = smart_covers_cover_loophole_1_jump.get_smart_cover_cover_loophole_1_jump(),
|
|
--cover_loophole_2_jump = smart_covers_cover_loophole_2_jump.get_smart_cover_cover_loophole_2_jump(),
|
|
--cover_loophole_3_jump = smart_covers_cover_loophole_3_jump.get_smart_cover_cover_loophole_3_jump(),
|
|
--cover_loophole_1_2_jump = smart_covers_cover_loophole_1_2_jump.get_smart_cover_cover_loophole_1_2_jump(),
|
|
--cover_loophole_2_3_jump = smart_covers_cover_loophole_2_3_jump.get_smart_cover_cover_loophole_2_3_jump(),
|
|
--cover_loophole_1_3_jump = smart_covers_cover_loophole_1_3_jump.get_smart_cover_cover_loophole_1_3_jump(),
|
|
--cover_loophole_1_2_3_jump = smart_covers_cover_loophole_1_2_3_jump.get_smart_cover_cover_loophole_1_2_3_jump(),
|
|
|
|
|
|
--cover_loophole_lead_sit_sleep_mechanic = smart_covers_cover_loophole_lead_sit_sleep_mechanic.get_smart_cover_cover_loophole_lead_sit_sleep_mechanic(),
|
|
--cover_loophole_lead_sit_sleep_write = smart_covers_cover_loophole_lead_sit_sleep_write.get_smart_cover_cover_loophole_lead_sit_sleep_write(),
|
|
--cover_loophole_lead_sit_sleep_write_temp = smart_covers_cover_loophole_lead_sit_sleep_write_temp.get_smart_cover_cover_loophole_lead_sit_sleep_write(),
|
|
--cover_loophole_lead_sit_strong = smart_covers_cover_loophole_lead_sit_strong.get_smart_cover_cover_loophole_lead_sit_strong(),
|
|
--cover_loophole_lead_stand_hit_tv = smart_covers_cover_loophole_lead_stand_hit_tv.get_smart_cover_cover_loophole_lead_stand_hit_tv(),
|
|
--cover_loophole_lead_stand_lean_on_bar = smart_covers_cover_loophole_lead_stand_lean_on_bar.get_smart_cover_cover_loophole_lead_stand_lean_on_bar(),
|
|
--cover_loophole_lead_stand_look_at_table = smart_covers_cover_loophole_lead_stand_look_at_table.get_smart_cover_cover_loophole_lead_stand_look_at_table(),
|
|
--cover_loophole_lead_stand_look_down_2 = smart_covers_cover_loophole_lead_stand_look_down_2.get_smart_cover_cover_loophole_lead_stand_look_down_2(),
|
|
--cover_loophole_lead_stand_look_down_3 = smart_covers_cover_loophole_lead_stand_look_down_3.get_smart_cover_cover_loophole_lead_stand_look_down_3(),
|
|
--cover_loophole_lead_stand_look_in_window = smart_covers_cover_loophole_lead_stand_look_in_window.get_smart_cover_cover_loophole_lead_stand_look_in_window(),
|
|
--cover_loophole_lead_stand_look_up = smart_covers_cover_loophole_lead_stand_look_up.get_smart_cover_cover_loophole_lead_stand_look_up(),
|
|
|
|
|
|
--cover_loophole_stc_cover_1 = smart_covers_stc_cover_1.get_smart_cover_stc_1(),
|
|
--cover_loophole_stc_cover_2 = smart_covers_stc_cover_2.get_smart_cover_stc_2(),
|
|
--cover_loophole_stc_cover_3 = smart_covers_stc_cover_3.get_smart_cover_stc_3(),
|
|
--cover_loophole_lead_forester_idle_talk = smart_covers_cover_loophole_lead_forester_idle_talk.get_smart_cover_cover_loophole_lead_forester_idle_talk(),
|
|
|
|
--cover_loophole_1_3_test = smart_covers_cover_loophole_1_3_test.get_smart_cover_cover_loophole_1_3_test(),
|
|
--cover_barricade_0 = smart_covers_cover_barricade_0.get_smart_cover_cover_barricade_0(),
|
|
--cover_barricade_1 = smart_covers_cover_barricade_1.get_smart_cover_cover_barricade_1(),
|
|
--cover_barricade_2 = smart_covers_cover_barricade_2.get_smart_cover_cover_barricade_2(),
|
|
--cover_barricade_3 = smart_covers_cover_barricade_3.get_smart_cover_cover_barricade_3(),
|
|
--cover_barricade_commander = smart_covers_cover_barricade_commander.get_smart_cover_cover_barricade_commander(),
|
|
--cover_loophole_minigunner = smart_covers_cover_loophole_minigunner.get_smart_cover_cover_loophole_minigunner()
|
|
}
|
|
|
|
|
|
function main()
|
|
print_table(descriptions)
|
|
end
|