Consistency/data/entities/animals/boss_alchemist/boss_alchemist.xml

254 lines
5.8 KiB
XML

<Entity name="$animal_boss_alchemist" tags="touchmagic_immunity,polymorphable_NOT,boss,miniboss,music_energy_100,necrobot_NOT,glue_NOT,curse_NOT">
<Base file="data/entities/base_enemy_basic.xml" >
<ItemChestComponent level="2" > </ItemChestComponent>
<AnimalAIComponent
preferred_job="JobDefault"
attack_melee_enabled="0"
creature_detection_range_x="400"
creature_detection_range_y="400"
food_material="blood"
needs_food="0"
sense_creatures="1"
attack_ranged_enabled="1"
can_fly="1"
attack_ranged_entity_file="data/entities/animals/boss_alchemist/wand_orb.xml"
attack_ranged_action_frame="5"
attack_ranged_frames_between="180"
attack_ranged_offset_x="24"
attack_ranged_offset_y="-24"
attack_ranged_min_distance="0"
attack_ranged_max_distance="240"
>
</AnimalAIComponent>
<DamageModelComponent
hp="20"
ragdoll_filenames_file=""
blood_material="slime"
blood_spray_material="slime"
blood_sprite_directional="data/particles/bloodsplatters/bloodsplatter_directional_purple_$[1-3].xml"
blood_sprite_large="data/particles/bloodsplatters/bloodsplatter_purple_$[1-3].xml"
ragdoll_offset_y="-14"
fire_probability_of_ignition="0"
ragdoll_fx_forced="DISINTEGRATED"
ragdoll_material="rock_static_glow"
critical_damage_resistance="0.8"
physics_objects_damage="0"
air_needed="0"
>
<damage_multipliers
slice="0.0"
projectile="0.3"
electricity="0.6"
fire="0.4"
>
</damage_multipliers>
</DamageModelComponent>
<SpriteComponent
image_file="data/entities/animals/boss_alchemist/boss_alchemist_sprite.xml"
offset_x="0"
offset_y="0">
</SpriteComponent>
<PathFindingComponent
can_jump="0"
can_walk="0"
can_fly="1"
>
</PathFindingComponent>
<PathFindingGridMarkerComponent
marker_work_flag="16" >
</PathFindingGridMarkerComponent>
<GenomeDataComponent
herd_id="mage"
food_chain_rank="6"
is_predator="1" >
</GenomeDataComponent>
<CharacterPlatformingComponent
jump_velocity_y="-12"
swim_idle_buoyancy_coeff="1.0"
run_velocity="1" >
</CharacterPlatformingComponent>
<CameraBoundComponent
max_count="30"
distance="160000">
</CameraBoundComponent>
<HitboxComponent
_enabled="1"
aabb_max_x="16"
aabb_max_y="12"
aabb_min_x="-16"
aabb_min_y="-50" >
</HitboxComponent>
<CharacterDataComponent
collision_aabb_min_x="-16.0"
collision_aabb_max_x="16.0"
collision_aabb_min_y="-50"
collision_aabb_max_y="14"
mass="1.8" >
</CharacterDataComponent>
</Base>
<AudioLoopComponent
file="data/audio/Desktop/animals.bank"
event_name="animals/enlightened_alchemist/movement_loop"
set_speed_parameter="1"
auto_play="1">
</AudioLoopComponent>
<AudioComponent
file="data/audio/Desktop/animals.bank"
event_root="animals/enlightened_alchemist" >
</AudioComponent>
<LuaComponent
script_death="data/entities/animals/boss_alchemist/death.lua"
>
</LuaComponent>
<!-- smoke'n'slime -->
<ParticleEmitterComponent
emitted_material_name="smoke"
gravity.y="-19"
x_vel_min="-5"
x_vel_max="5"
y_vel_min="0"
y_vel_max="50"
x_pos_offset_min="-6"
x_pos_offset_max="6"
y_pos_offset_min="-20"
y_pos_offset_max="1"
friction="1"
count_min="1"
count_max="4"
lifetime_min="2"
lifetime_max="20"
create_real_particles="0"
render_on_grid="1"
airflow_force="0.3"
airflow_time="0.01"
airflow_scale="0.02"
emit_cosmetic_particles="1"
emission_interval_min_frames="1"
emission_interval_max_frames="16"
fade_based_on_lifetime="1"
is_emitting="1"
>
</ParticleEmitterComponent>
<ParticleEmitterComponent
emitted_material_name="slime"
delay_frames="0"
x_pos_offset_min="-8"
x_pos_offset_max="8"
y_pos_offset_min="-20"
y_pos_offset_max="1"
count_min="1"
count_max="1"
lifetime_min="5"
lifetime_max="20"
create_real_particles="1"
emission_interval_min_frames="5"
emission_interval_max_frames="60"
is_emitting="1"
>
</ParticleEmitterComponent>
<LuaComponent
_tags="counter"
script_source_file="data/entities/animals/boss_alchemist/projectile_counter_create.lua"
execute_every_n_frame="10"
>
</LuaComponent>
<LuaComponent
script_damage_received="data/entities/animals/boss_alchemist/projectile_counter_create_damage.lua"
execute_every_n_frame="-1"
>
</LuaComponent>
<VariableStorageComponent
name="damage_received"
value_float="0.0"
>
</VariableStorageComponent>
<Entity>
<InheritTransformComponent />
<GameEffectComponent
effect="STUN_PROTECTION_FREEZE"
frames="-1"
>
</GameEffectComponent >
</Entity>
<Entity>
<InheritTransformComponent />
<GameEffectComponent
effect="STUN_PROTECTION_ELECTRICITY"
frames="-1"
>
</GameEffectComponent >
</Entity>
<SpriteComponent
_tags="health_bar_back,ui"
_enabled="1"
transform_offset.x="0"
transform_offset.y="-26"
alpha="1"
has_special_scale="1"
image_file="data/ui_gfx/health_slider_back.png"
is_text_sprite="0"
next_rect_animation=""
offset_x="12"
offset_y="42"
rect_animation=""
special_scale_x="1"
special_scale_y="1"
ui_is_parent="0"
update_transform="1"
visible="1"
emissive="1"
never_ragdollify_on_death="1"
z_index="-9000" >
</SpriteComponent>
<SpriteComponent
_tags="health_bar,ui"
_enabled="1"
alpha="1"
transform_offset.x="0"
transform_offset.y="-26"
has_special_scale="1"
image_file="data/ui_gfx/health_slider_front.png"
is_text_sprite="0"
next_rect_animation=""
offset_x="12"
offset_y="42"
rect_animation=""
special_scale_x="1"
special_scale_y="1"
ui_is_parent="0"
update_transform="1"
visible="1"
emissive="1"
never_ragdollify_on_death="1"
z_index="-9000" >
</SpriteComponent>
<HealthBarComponent>
</HealthBarComponent>
</Entity>