Esempio n. 1
0
File: events.py Progetto: AKJ/sage
def sileris_event(now):
	player.sileris_event_last = now
	if player.keepup['sileris']:
		if player.afflictions['slickness'] \
		or player.afflictions['sleep'] \
		or player.stunned \
		or player.afflictions['amnesia']:
			return

		if player.defences['sileris'] != 1 \
		and player.waiting_for_sileris == 1:
			if now - player.sileris_last > 5.6 + player.latency:
				if player.multi_flay:
					player.waiting_for_sileris = 0
					player.defences['sileris'] = 1
					player.multi_flay = False
				else:
					player.waiting_for_sileris = 0
					player.defences['sileris'] = 0

		if player.defences['sileris'] == 0 \
		and player.waiting_for_sileris == 0:
			if herbs.herbs['sileris'].inv <= 0:
				if player.is_hindered() is False and player.can_outr():
					if now - player.sileris_lastoutr > 1:
						player.sileris_lastoutr = now
						herbs.herbs['sileris'].outr()
			else:
				core.enable_trigger('sileris_balance', 'balances')
				core.enable_trigger('failure_sileris_slickness', 'failures')
				player.waiting_for_sileris = .5
				core.write('apply sileris')
Esempio n. 2
0
File: events.py Progetto: AKJ/sage
def inv_event():
	if player.can_outr() is False or player.is_hindered() or player.stunned:
		return

	for herb in herbs.herbs:
		obj = herbs.herbs[herb]
		if obj.keep_out != 0 and obj.waiting_for_outr() is False:
			diff = obj.keep_out - obj.inv
			if diff > 0:
				obj.outr(diff)
				break #only one at a time
			elif obj.inv > obj.keep_out:
				obj.inr(obj.inv - obj.keep_out)
Esempio n. 3
0
File: events.py Progetto: AKJ/sage
def herb_event(now):
	# It's been too long.. should have gotten herb bal back now
	if now - player.herb_lastfire > 3.5 \
	and (player.herb_balance == 0 or player.herb_balance == .5):
		player.herb_balance = 1

	if now - player.herb_lastfire <= player.latency:
		return

	if queues.herb_queue.is_empty() == False:
		if player.afflictions['anorexia'] or \
		player.afflictions['sleep'] or \
		player.stunned or \
		player.afflictions['amnesia']:
			return

		if player.herb_balance == 1:
			herb = queues.herb_queue.fire()
			if player.is_hindered() and herbs.herbs[herb].inv == 0:
				return
			core.enable_trigger('cure_enablers_' + herb, 'cure_enablers')
			core.enable_trigger('failure_eating', 'failures')
			core.enable_trigger('failure_eating_anorexia', 'failures')
			core.enable_trigger('failure_eating_mickey', 'failures')
			herbs.herbs[herb].eat()
			player.herb_lastfire = now
			if player.afflictions['blackout']:
				player.blackout_ate[herb] = True
			if herb == 'goldenseal':
				core.enable_trigger('failure_goldenseal_insomnia', 'failures')
				core.write('insomnia')
			player.herb_balance = .5
		elif player.herb_balance == .5 \
		and now - player.herb_lastfire > (player.latency * 4):
			herb = queues.herb_queue.fire()
			core.enable_trigger('cure_enablers_' + herb, 'cure_enablers')
			core.enable_trigger('failure_eating', 'failures')
			core.enable_trigger('failure_eating_anorexia', 'failures')
			core.enable_trigger('failure_eating_mickey', 'failures')
			core.enable_trigger('failure_eat_offbal', 'failures')
			herbs.herbs[herb].eat()
			player.herb_lastfire = now
			if player.afflictions['blackout']:
				player.blackout_ate[herb] = True
			if herb == 'goldenseal':
				core.write('insomnia')
Esempio n. 4
0
File: events.py Progetto: AKJ/sage
def action_event():
	if queues.action_queue.is_empty() == False:
		if player.ready() \
		and player.is_hindered() is False \
		and player.afflictions['sleep'] is False \
		and player.afflictions['amnesia'] is False:
			action = queues.action_queue.fire()
			if 'reject' in action:
				core.enable_trigger('cures_lust', 'cures')
				core.enable_trigger('failure_reject', 'failures')
			elif 'lose' in action:
				core.enable_trigger('cures_emperor', 'cures')
				core.enable_trigger('failure_lose', 'failures')
				core.enable_trigger('failure_lose_follower', 'failures')
			core.write(action)
			if player.afflictions['blackout']:
				player.balance = False
				player.equilibrium = False
Esempio n. 5
0
File: events.py Progetto: AKJ/sage
def tree_event(now):
	if now - player.tree_lastfire > 10 and player.tree_balance == 0 and now - player.last_tree_echo > 1:
		core.echo('Tree balance regained')
		player.last_tree_echo = now

	if now - player.tree_lastfire > 10 + player.latency:
		player.tree_balance = 1

	if player.tree_balance == 1:
		if player.fire_tree:
			if player.afflictions['sleep'] or \
			player.stunned or \
			player.afflictions['amnesia'] or \
			player.afflictions['paralysis'] or \
			player.is_hindered() or \
			player.can_outr() is False or \
			player.tattoos['tree'] <= 0:
				return

			player.tree_balance = .5
			player.tree_lastfire = now
			core.enable_trigger('cure_enablers_tree', 'cure_enablers')
			core.write('touch tree')
Esempio n. 6
0
def aeon_event(now):
	global aeon_currently_curing, next_cure, rr_auto

	if core.is_paused() is True:
		return

	if aeon_queue.is_empty():
		next_cure = ""
		rr_auto = False
		return

	if player.waiting_for_aeon == 1 and player.afflictions['amnesia'] is True:
		player.waiting_for_aeon = 0

	if player.waiting_for_aeon == 1:
		# if something more important becomes apparent, we force that instead of waiting
		if aeon_queue.get_index(aeon_currently_curing) != 0:
			# reset what we're curing here
			player.waiting_for_aeon = 0

	if player.waiting_for_aeon == .5 and now - player.waiting_for_aeon_last > (1 + player.latency):
		player.waiting_for_aeon = 0

	if player.waiting_for_aeon == 0 \
	or now - player.waiting_for_aeon_last > 2 \
	or (core.retardation_mode and rr_auto == False):
		action = aeon_queue.fire()
		affliction = aeon_queue.actions[0][1]
		if action[0] == 'writhe':
			writhe(now)
		elif action[0] == 'do':
			if action[1] == 'wake' and player.wake_balance == 1:
				sleep_cures = ('cures_sleep_waking', 'cures_sleep_1', 'cures_sleep_2', 'cures_sleep_3', 'cures_sleep_metawake')
				for cure in sleep_cures:
					core.enable_trigger(cure, 'cures')
				player.wake_balance = .5
				output('wake')
			elif action[1] == 'touch tree':
				player.tree_balance = .5
				core.enable_trigger('cure_enablers_tree', 'cure_enablers')
			elif action[1] == 'stand':
				core.enable_trigger('cures_prone', 'cures')
				core.enable_trigger('cures_prone_redundant', 'cures')
			if action[1] != 'wake':
				output(action[1])
		elif action[0] == 'smoke':
			core.enable_trigger('smoke_puff', 'balances')
			core.enable_trigger('failure_smoking', 'failures')
			core.enable_trigger('failure_asthma_smoking', 'failures')
			pipe = action[1]
			player.puffs.append(pipe)
			if pipe == 'elm':
				if player.elm_puffs > 0:
					output('smoke ' + player.elm_pipe)
				else:
					if herbs.elm.inv == 0:
						if player.is_hindered():
							writhe(now)
						else:
							output(herbs.elm.outr_action(herbs.elm.keep_out))
					else:
						core.enable_trigger('elm', 'pipes')
						core.enable_trigger('pipe_full', 'pipes')
						player.elm_lastfill = now
						output('put elm in ' + player.elm_pipe)
			elif pipe == 'valerian':
				if player.valerian_puffs > 0:
					output('smoke ' + player.valerian_pipe)
				else:
					if herbs.valerian.inv == 0:
						if player.is_hindered():
							writhe(now)
						else:
							output(herbs.valerian.outr_action(herbs.valerian.keep_out))
					else:
						core.enable_trigger('valerian', 'pipes')
						core.enable_trigger('pipe_full', 'pipes')
						player.valerian_lastfill = now
						output('put valerian in ' + player.valerian_pipe)
			player.puffs.append(pipe)
		elif action[0] == 'herb':
			if player.herb_balance:
				herbname = action[1]
				core.enable_trigger('cure_enablers_' + herbname, 'cure_enablers')
				core.enable_trigger('failure_eating', 'failures')
				core.enable_trigger('failure_eating_anorexia', 'failures')
				core.enable_trigger('failure_eating_mickey', 'failures')
				herb = herbs.herbs[herbname]
				if herb.inv <= 0:
					if player.is_hindered():
						writhe(now)
					else:
						output(herb.outr_action(herb.keep_out))
				else:
					output(herb.eat_action())
		elif action[0] == 'salve':
			salve = action[1]
			where = action[2]
			core.enable_trigger('cure_enablers_salves', 'cure_enablers')
			core.enable_trigger('failure_apply_slickness', 'failures')
			player.last_salve = salve
			output("apply " + salve + " to " + where)
		elif action[0] == 'focus':
			core.enable_trigger('survival_focusing', 'survival')
			#player.focus_balance = .5
			#player.focus_lastfire = now
			output('focus')
		aeon_currently_curing = affliction
		player.waiting_for_aeon_last = now
Esempio n. 7
0
File: events.py Progetto: AKJ/sage
def pipe_event(now):
	if player.afflictions['sleep'] or \
	player.afflictions['amnesia'] or \
	player.stunned:
		return

	if player.elm_puffs <= 0:
		if herbs.herbs['elm'].inv > 0:
			if player.afflictions['paralysis'] is False and player.balance and player.equilibrium:
				if now - player.elm_lastfill > player.latency:
					core.enable_trigger('elm', 'pipes')
					core.enable_trigger('pipe_full', 'pipes')
					core.enable_trigger('pipes_paralysis_nofill', 'pipes')
					player.elm_lastfill = now
					core.write('put elm in ' + player.elm_pipe)
		else:
			if player.is_hindered() is False and player.can_outr():
				if now - player.elm_lastoutr > player.latency:
					player.elm_lastoutr = now
					herbs.herbs['elm'].outr()

	if player.skullcap_puffs <= 0:
		if herbs.herbs['skullcap'].inv > 0:
			if player.afflictions['paralysis'] is False and player.balance and player.equilibrium:
				if now - player.skullcap_lastfill > player.latency:
					core.enable_trigger('skullcap', 'pipes')
					core.enable_trigger('pipe_full', 'pipes')
					core.enable_trigger('pipes_paralysis_nofill', 'pipes')
					player.skullcap_lastfill = now
					core.write('put skullcap in ' + player.skullcap_pipe)
		else:
			if player.is_hindered() is False and player.can_outr():
				if now - player.skullcap_lastoutr > player.latency:
					player.skullcap_lastoutr = now
					herbs.herbs['skullcap'].outr()

	if player.valerian_puffs <= 0:
		if herbs.herbs['valerian'].inv > 0:
			if player.afflictions['paralysis'] is False and player.balance and player.equilibrium:
				if now - player.valerian_lastfill > player.latency:
					core.enable_trigger('valerian', 'pipes')
					core.enable_trigger('pipe_full', 'pipes')
					core.enable_trigger('pipes_paralysis_nofill', 'pipes')
					player.valerian_lastfill = now
					core.write('put valerian in ' + player.valerian_pipe)
		else:
			if player.is_hindered() is False and player.can_outr():
				if now - player.valerian_lastoutr > player.latency:
					player.valerian_lastoutr = now
					herbs.herbs['valerian'].outr()

	if player.elm_puffs <= core.config['min_elm'] \
	and player.elm_puffs > 0 \
	and player.balance \
	and player.equilibrium \
	and player.is_hindered() is False \
	and player.can_outr():
		player.pipe_reloading = 'elm'
		core.enable_trigger('smoke_puff', 'balances')
		core.enable_trigger('failure_smoking', 'failures')
		core.enable_trigger('failure_asthma_smoking', 'failures')
		player.puffs.append('elm')
		core.write('smoke ' + player.elm_pipe)

	if player.skullcap_puffs <= core.config['min_skullcap'] \
	and player.skullcap_puffs > 0 \
	and player.balance \
	and player.equilibrium \
	and player.is_hindered() is False \
	and player.can_outr():
		player.pipe_reloading = 'skullcap'
		core.enable_trigger('smoke_puff', 'balances')
		core.enable_trigger('failure_smoking', 'failures')
		core.enable_trigger('failure_asthma_smoking', 'failures')
		player.puffs.append('skullcap')
		core.write('smoke ' + player.skullcap_pipe)

	if player.valerian_puffs <= core.config['min_valerian'] \
	and player.valerian_puffs > 0 \
	and player.balance \
	and player.equilibrium \
	and player.is_hindered() is False \
	and player.can_outr():
		player.pipe_reloading = 'valerian'
		core.enable_trigger('smoke_puff', 'balances')
		core.enable_trigger('failure_smoking', 'failures')
		core.enable_trigger('failure_asthma_smoking', 'failures')
		player.puffs.append('valerian')
		core.write('smoke ' + player.valerian_pipe)