コード例 #1
0
ファイル: alife_surrender.py プロジェクト: flags/Reactor-3
def tick(life, alife_seen, alife_not_seen, targets_seen, targets_not_seen, source_map):
	if lfe.ticker(life, 'call_for_help', 160, fire=True):
		_target = judgement.get_nearest_threat(life)
		_knows = brain.knows_alife_by_id(life, _target)
		if _target and judgement.get_nearest_trusted_target(life):
			if _knows:
				speech.announce(life, 'attacked_by_hostile', public=True, target_id=_target, last_seen_at=_knows['last_seen_at'])
			else:
				speech.announce(life, 'attacked_by_hostile', public=True, target_id=_target)
コード例 #2
0
ファイル: alife_surrender.py プロジェクト: penny64/Reactor-3
def tick(life, alife_seen, alife_not_seen, targets_seen, targets_not_seen, source_map):
	if lfe.ticker(life, 'call_for_help', 160, fire=True):
		_target = judgement.get_nearest_threat(life)
		_knows = brain.knows_alife_by_id(life, _target)
		if _target and judgement.get_nearest_trusted_target(life):
			if _knows:
				speech.announce(life, 'attacked_by_hostile', public=True, target_id=_target, last_seen_at=_knows['last_seen_at'])
			else:
				speech.announce(life, 'attacked_by_hostile', public=True, target_id=_target)
コード例 #3
0
ファイル: alife_hidden.py プロジェクト: athros/Reactor-3
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'])
コード例 #4
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'])
コード例 #5
0
ファイル: stats.py プロジェクト: hovatterz/Reactor-3
def is_threat_too_close(life):
	_nearest_threat = judgement.get_nearest_threat(life)
	
	_knows = brain.knows_alife_by_id(life, _nearest_threat)
	
	if not _nearest_threat:
		return False
	
	if _knows['last_seen_time'] >= 100:
		return False
	
	_danger_close_range = int(lfe.execute_raw(life, 'safety', 'danger_close_range'))
	if numbers.distance(life['pos'], _knows['last_seen_at'])<_danger_close_range:
		return True
	
	return False
コード例 #6
0
ファイル: stats.py プロジェクト: penny64/Reactor-3
def is_threat_too_close(life):
    _nearest_threat = judgement.get_nearest_threat(life)

    if not _nearest_threat:
        return False

    _knows = brain.knows_alife_by_id(life, _nearest_threat)

    if not _nearest_threat:
        return False

    if _knows['last_seen_time'] >= 100:
        return False

    _danger_close_range = int(
        lfe.execute_raw(life, 'safety', 'danger_close_range'))
    if numbers.distance(life['pos'],
                        _knows['last_seen_at']) < _danger_close_range:
        return True

    return False