254 lines
5.8 KiB
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>
|