minor behavior fixes
This commit is contained in:
parent
7e090ccd7b
commit
12a2821574
@ -100,6 +100,7 @@ func _process(_delta):
|
|||||||
if _audioPlayer.stream != null:
|
if _audioPlayer.stream != null:
|
||||||
var cur_time = OS.get_ticks_msec()
|
var cur_time = OS.get_ticks_msec()
|
||||||
if cur_time - _lastSound > CMD_DIFF_MS:
|
if cur_time - _lastSound > CMD_DIFF_MS:
|
||||||
|
#Logger.info("playing last command again")
|
||||||
_audioPlayer.play()
|
_audioPlayer.play()
|
||||||
_lastSound = cur_time
|
_lastSound = cur_time
|
||||||
_countCmds += 1
|
_countCmds += 1
|
||||||
@ -152,7 +153,7 @@ func _set_behavior ():
|
|||||||
reason = "player outside during worktime"
|
reason = "player outside during worktime"
|
||||||
#elif _playerRef.IsInFactory and daytime < Daytime.WORK_TIME and daytime > Daytime.SLEEP_TIME: # at work after out of WORK_TIME
|
#elif _playerRef.IsInFactory and daytime < Daytime.WORK_TIME and daytime > Daytime.SLEEP_TIME: # at work after out of WORK_TIME
|
||||||
# EDIT: too early at work is not an angry reason :p
|
# EDIT: too early at work is not an angry reason :p
|
||||||
elif _playerRef.IsInFactory and daytime > Daytime.SLEEP_TIME: # at work after out of WORK_TIME
|
elif _playerRef.IsInFactory and daytime > Daytime.SLEEP_TIME + Daytime.TIGGER_TIME: # at work after out of WORK_TIME
|
||||||
reason = "player in factory out of worktime"
|
reason = "player in factory out of worktime"
|
||||||
Logger.info("daytime: " + String(daytime) + " SLEEP_TIME: " + String(Daytime.SLEEP_TIME))
|
Logger.info("daytime: " + String(daytime) + " SLEEP_TIME: " + String(Daytime.SLEEP_TIME))
|
||||||
elif _countCmds > MAX_CMDS: # after MAX_CMDS repeats of the same command
|
elif _countCmds > MAX_CMDS: # after MAX_CMDS repeats of the same command
|
||||||
@ -163,17 +164,19 @@ func _set_behavior ():
|
|||||||
Logger.info("catch player! reason: " + reason)
|
Logger.info("catch player! reason: " + reason)
|
||||||
_huntingPlayer = true
|
_huntingPlayer = true
|
||||||
_playerRef.IsHunted = true
|
_playerRef.IsHunted = true
|
||||||
change_visibility_cone_color(Color.red)
|
|
||||||
|
|
||||||
if _followingPlayer == false:
|
if _followingPlayer == false:
|
||||||
# If the player didn't take enough pills lately, they're suspicious -> following
|
# If the player didn't take enough pills lately, they're suspicious -> following
|
||||||
if Pills.get_round_level() <= _player_follow_pill_level:
|
if Pills.get_round_level() <= _player_follow_pill_level:
|
||||||
Logger.info("The player's pill level is too low - following!")
|
Logger.info("The player's pill level is too low - following!")
|
||||||
_followingPlayer = true
|
_followingPlayer = true
|
||||||
change_visibility_cone_color(Color.yellow)
|
|
||||||
|
|
||||||
if _huntingPlayer or _followingPlayer:
|
if _huntingPlayer or _followingPlayer:
|
||||||
current_target = _playerRef.transform.origin
|
current_target = _playerRef.transform.origin
|
||||||
|
if _huntingPlayer:
|
||||||
|
change_visibility_cone_color(Color.red)
|
||||||
|
if _followingPlayer:
|
||||||
|
change_visibility_cone_color(Color.yellow)
|
||||||
else:
|
else:
|
||||||
change_visibility_cone_color(Color.green)
|
change_visibility_cone_color(Color.green)
|
||||||
|
|
||||||
@ -181,11 +184,8 @@ func _set_behavior ():
|
|||||||
var daytime = Daytime.get_time()
|
var daytime = Daytime.get_time()
|
||||||
if _playerRef.IsHunted:
|
if _playerRef.IsHunted:
|
||||||
mood = BEHAVIOR.ANGRY
|
mood = BEHAVIOR.ANGRY
|
||||||
# do your job
|
|
||||||
elif _playerRef.is_in_workzone():
|
|
||||||
mood = BEHAVIOR.DO_JOB
|
|
||||||
# take your pills
|
# take your pills
|
||||||
elif Pills.get_level() < Pills.get_max()*0.5:
|
elif Pills.get_level() < _player_follow_pill_level:
|
||||||
mood = BEHAVIOR.TAKE_PILLS
|
mood = BEHAVIOR.TAKE_PILLS
|
||||||
# go to work
|
# go to work
|
||||||
elif daytime < Daytime.WORK_TIME:
|
elif daytime < Daytime.WORK_TIME:
|
||||||
@ -193,6 +193,10 @@ func _set_behavior ():
|
|||||||
# go home
|
# go home
|
||||||
elif daytime > Daytime.SLEEP_TIME:
|
elif daytime > Daytime.SLEEP_TIME:
|
||||||
mood = BEHAVIOR.GO_HOME
|
mood = BEHAVIOR.GO_HOME
|
||||||
|
# do your job
|
||||||
|
elif _playerRef.is_in_workzone():
|
||||||
|
_countCmds = 0 # hard block -> work is always good :D
|
||||||
|
mood = BEHAVIOR.DO_JOB
|
||||||
|
|
||||||
if mood != _curMood:
|
if mood != _curMood:
|
||||||
Logger.info("new mood: " + BEHAVIOR.keys()[mood] + " with cntcmd: " + String(_countCmds))
|
Logger.info("new mood: " + BEHAVIOR.keys()[mood] + " with cntcmd: " + String(_countCmds))
|
||||||
@ -206,7 +210,6 @@ func _on_body_entered_visibility (body: PhysicsBody):
|
|||||||
if body.is_in_group("Player"):
|
if body.is_in_group("Player"):
|
||||||
Logger.info("Seeing player!")
|
Logger.info("Seeing player!")
|
||||||
_seeingPlayer = true
|
_seeingPlayer = true
|
||||||
#_set_behavior()
|
|
||||||
|
|
||||||
|
|
||||||
func _on_body_exited_visibility(body: PhysicsBody):
|
func _on_body_exited_visibility(body: PhysicsBody):
|
||||||
@ -215,6 +218,7 @@ func _on_body_exited_visibility(body: PhysicsBody):
|
|||||||
_seeingPlayer = false
|
_seeingPlayer = false
|
||||||
_countCmds = 0
|
_countCmds = 0
|
||||||
if _huntingPlayer == false and _followingPlayer == false:
|
if _huntingPlayer == false and _followingPlayer == false:
|
||||||
|
change_visibility_cone_color(Color.green)
|
||||||
# dirty quickfix: TODO: refactor
|
# dirty quickfix: TODO: refactor
|
||||||
if current_target != _start_pos:
|
if current_target != _start_pos:
|
||||||
current_target = null
|
current_target = null
|
||||||
|
@ -8,7 +8,7 @@ const TIGGER_TIME = _max * 0.2
|
|||||||
|
|
||||||
var _time: float = 0 setget _set_time, get_time
|
var _time: float = 0 setget _set_time, get_time
|
||||||
var _prev_time: float = _time
|
var _prev_time: float = _time
|
||||||
var increase_per_second: float = 25.0
|
var increase_per_second: float = 5.0
|
||||||
|
|
||||||
signal respawn
|
signal respawn
|
||||||
signal go_to_work
|
signal go_to_work
|
||||||
|
Loading…
x
Reference in New Issue
Block a user