Exemplo n.º 1
0
def create_ivan_large(x=0, y=0):
	_entity = create(sprite_name='boss3.png', group='hazards', scale=2.0, x=x, y=y, acceleration=.4, speed=0, max_velocity=0, turn_rate=0.8, death_time=40, hp=1000)
	_entity['current_target'] = None
	_entity['fire_rate'] = 0
	_entity['fire_rate_max'] = 20
	_entity['collision_radius'] = 1000
	_entity['cycle'] = 'shoot'
	_entity['shoot_cycle_max'] = 3
	_entity['shoot_cycle'] = 3
	_entity['spawn_cycle_max'] = 5
	_entity['spawn_cycle'] = 5
	_entity['warmup_cycles'] = 1
	
	_entity['weapon_id'] = weapons.create(_entity['_id'],
	                                      rounds=25,
	                                      recoil_time=1,
	                                      reload_time=30,
	                                      damage_radius=40,
	                                      speed=140,
	                                      missile=False,
	                                      bullet=True)['_id']
	timers.register_entity(_entity)
	effects.create_image(_entity['position'][0],
	                     _entity['position'][1],
	                     'boss3_core.png',
	                     scale=2.0,
	                     parent_entity=_entity,
	                     background=False)
	effects.create_image(_entity['position'][0],
	                     _entity['position'][1],
	                     'boss3_shield1.png',
	                     scale=2.0,
	                     rotate_by=-1,
	                     parent_entity=_entity,
	                     background=False)
	effects.create_image(_entity['position'][0],
	                     _entity['position'][1],
	                     'boss3_shield2.png',
	                     scale=2.0,
	                     rotate_by=0.5,
	                     parent_entity=_entity,
	                     background=False)
	entities.trigger_event(_entity,
	                       'create_timer',
	                       repeat=-1,
	                       time=100,
	                       repeat_callback=lambda entity: entities.trigger_event(_entity, 'shoot'))
	entities.register_event(_entity, 'moved', set_direction)
	entities.register_event(_entity, 'kill', boss_victory)
	entities.register_event(_entity, 'dying', boss_dying)
	entities.register_event(_entity, 'explode', boss_explode)
	entities.register_event(_entity, 'shoot', ivan_cycles)
	
	return _entity
Exemplo n.º 2
0
def create_energy_ship(x=0, y=0):
	_entity = create(x=x, y=y, group='players', sprite_name='ball.png', speed=19, acceleration=.3, max_velocity=30, turn_rate=0.5, death_time=35, hp=60)
	_entity['weapon_id'] = weapons.create(_entity['_id'],
	                                      rounds=35,
	                                      recoil_time=0,
	                                      reload_time=48,
	                                      kickback=3,
	                                      damage_radius=65,
	                                      spray=3,
	                                      speed=200,
	                                      missile=False,
	                                      bullet=True)['_id']
	_entity['alt_weapon_id'] = weapons.create(_entity['_id'], rounds=6, recoil_time=5, reload_time=28, speed=60, tracking=True)['_id']
	
	timers.register_entity(_entity)
	entities.register_event(_entity, 'tick', tick_energy_ship)
	entities.register_event(_entity, 'shoot', lambda entity, direction=0: entities.trigger_event(entities.get_entity(_entity['weapon_id']), 'shoot', direction=direction))
	entities.register_event(_entity, 'shoot_alt', lambda entity: entities.trigger_event(entities.get_entity(_entity['alt_weapon_id']), 'shoot'))
	
	return _entity