Update
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
extends Node
|
||||
extends AIScriptModule
|
||||
|
||||
|
||||
# Declare member variables here. Examples:
|
||||
@@ -10,18 +10,20 @@ extends Node
|
||||
var cam
|
||||
var fps_cam
|
||||
var motion = Vector2()
|
||||
func _ready():
|
||||
var root = get_parent()
|
||||
process_priority = 200
|
||||
func init():
|
||||
var root = get_character()
|
||||
assert(root.has_meta("skeleton"))
|
||||
|
||||
var attack = false
|
||||
var equipped = false
|
||||
|
||||
func update(delta):
|
||||
if Input.is_action_pressed("attack"):
|
||||
attack = true
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
#func _process(delta):
|
||||
# pass
|
||||
func _physics_process(delta):
|
||||
func update_physics(delta):
|
||||
var orientation: Transform
|
||||
var root = get_parent()
|
||||
var root = get_character()
|
||||
if !root.has_meta("cam"):
|
||||
return
|
||||
cam = root.get_meta("cam")
|
||||
@@ -47,7 +49,7 @@ func _physics_process(delta):
|
||||
# if root.has_meta("group_behavior"):
|
||||
# if motion_target.y < 0:
|
||||
# behavior.destroy_group_behavior(root.get_meta("group_behavior"))
|
||||
if !root.has_meta("vehicle") && !root.has_meta("cmdqueue") && !root.has_meta("group_behavior"):
|
||||
if !root.has_meta("vehicle") && !root.has_meta("cmdqueue") && !root.has_meta("group_behavior") && !root.has_meta("orchestrated"):
|
||||
if Input.is_action_just_pressed("activate"):
|
||||
markers.activate_marker()
|
||||
if Input.is_action_pressed("run"):
|
||||
@@ -75,37 +77,48 @@ func _physics_process(delta):
|
||||
cmdq.push_back(["climb", "1"])
|
||||
root.set_meta("cmdqueue", cmdq)
|
||||
|
||||
animtree["parameters/state/playback"].travel("locomotion")
|
||||
var strafing = 0
|
||||
var linear = 0
|
||||
if fps_cam.current:
|
||||
strafing = motion.x
|
||||
linear = motion.y
|
||||
if attack:
|
||||
if !equipped:
|
||||
var skel = root.get_meta("skeleton")
|
||||
var wslot = skel.get_node("wrist_r/weapon_right")
|
||||
wslot.set_meta("owner", root)
|
||||
inventory.equip(wslot, "s_dagger")
|
||||
equipped = true
|
||||
animtree["parameters/state/playback"].travel("attack-melee1")
|
||||
attack = false
|
||||
else:
|
||||
strafing = 0
|
||||
linear = motion.length()
|
||||
if running:
|
||||
animtree["parameters/state/locomotion/loc/blend_position"] = Vector2(linear * 3.0, strafing * 2.0)
|
||||
else:
|
||||
animtree["parameters/state/locomotion/loc/blend_position"] = Vector2(linear * 0.5, strafing)
|
||||
animtree["parameters/state/playback"].travel("locomotion")
|
||||
var strafing = 0
|
||||
var linear = 0
|
||||
if fps_cam.current:
|
||||
strafing = motion.x
|
||||
linear = motion.y
|
||||
else:
|
||||
strafing = 0
|
||||
linear = motion.length()
|
||||
if running:
|
||||
animtree["parameters/state/locomotion/loc/blend_position"] = Vector2(linear * 3.0, strafing * 2.0)
|
||||
else:
|
||||
animtree["parameters/state/locomotion/loc/blend_position"] = Vector2(linear * 0.5, strafing)
|
||||
elif root.has_meta("vehicle"):
|
||||
if Input.is_action_just_pressed("activate"):
|
||||
markers.activate_marker()
|
||||
var vehicle: VehicleBody = root.get_meta("vehicle")
|
||||
var driver = vehicle.get_meta("driver")
|
||||
if driver == root:
|
||||
if vehicle.parked:
|
||||
vehicle.parked = false
|
||||
vehicle.mode = vehicle.MODE_RIGID
|
||||
if abs(xmotion.y) < 0.001:
|
||||
vehicle.brake = 1000
|
||||
vehicle.steering = -xmotion.x * 0.7
|
||||
else:
|
||||
vehicle.brake = 0
|
||||
if vehicle.linear_velocity.length() < 16.6:
|
||||
vehicle.engine_force = 4000 * xmotion.y
|
||||
if vehicle.has_meta("driver"):
|
||||
var driver = vehicle.get_meta("driver")
|
||||
if driver == root:
|
||||
if vehicle.parked:
|
||||
vehicle.parked = false
|
||||
vehicle.mode = vehicle.MODE_RIGID
|
||||
if abs(xmotion.y) < 0.001:
|
||||
vehicle.brake = 1000
|
||||
vehicle.steering = -xmotion.x * 0.7
|
||||
else:
|
||||
vehicle.engine_force = 500 * xmotion.y
|
||||
var accel = vehicle.angular_velocity * 350.0 * delta
|
||||
vehicle.steering = -xmotion.x * 0.7
|
||||
vehicle.brake = 0
|
||||
if vehicle.linear_velocity.length() < 16.6:
|
||||
vehicle.engine_force = 4000 * xmotion.y
|
||||
else:
|
||||
vehicle.engine_force = 500 * xmotion.y
|
||||
var accel = vehicle.angular_velocity * 350.0 * delta
|
||||
vehicle.steering = -xmotion.x * 0.7
|
||||
|
||||
|
||||
Reference in New Issue
Block a user