示例#1
0
def tick(life, alife_seen, alife_not_seen, targets_seen, targets_not_seen, source_map):
	_threat = judgement.get_nearest_threat(life)
	
	if not 'hiding' in life['state_flags']:
		movement.hide(life, _threat)
		life['state_flags']['hiding'] = True
		return True
	
	_weapon = combat.get_best_weapon(life)
	
	if _weapon:
		if not combat.weapon_equipped_and_ready(life):
			combat._equip_weapon(life, _weapon['weapon']['uid'], _weapon['feed']['uid'])
示例#2
0
def tick(life, alife_seen, alife_not_seen, targets_seen, targets_not_seen,
         source_map):
    _threat = judgement.get_nearest_threat(life)

    if not 'hiding' in life['state_flags']:
        movement.hide(life, _threat)
        life['state_flags']['hiding'] = True
        return True

    _weapon = combat.get_best_weapon(life)

    if _weapon:
        if not combat.weapon_equipped_and_ready(life):
            combat._equip_weapon(life, _weapon['weapon']['uid'],
                                 _weapon['feed']['uid'])
示例#3
0
def tick(life):
	_threats = judgement.get_threats(life, ignore_escaped=2)
	
	if not _threats:
		return True
	
	for target in [LIFE[t] for t in _threats]:
		if numbers.distance(life['pos'], brain.knows_alife(life, target)['last_seen_at']) >= sight.get_vision(life):
			_threats.remove(target['id'])
	
	return movement.hide(life, _threats)
示例#4
0
def tick(life):
    _threats = judgement.get_threats(life, ignore_escaped=2)

    if not _threats:
        return True

    for target in [LIFE[t] for t in _threats]:
        if numbers.distance(
                life['pos'],
                brain.knows_alife(
                    life, target)['last_seen_at']) >= sight.get_vision(life):
            _threats.remove(target['id'])

    return movement.hide(life, _threats)