348 lines
7.4 KiB
XML
348 lines
7.4 KiB
XML
|
<Entity name="$animal_boss_wizard" tags="touchmagic_immunity,polymorphable_NOT,boss,miniboss,music_energy_100,boss_wizard,necrobot_NOT,glue_NOT">
|
||
|
|
||
|
<Base file="data/entities/base_enemy_basic.xml" >
|
||
|
<ItemChestComponent level="2" > </ItemChestComponent>
|
||
|
|
||
|
<AnimalAIComponent
|
||
|
preferred_job="JobDefault"
|
||
|
attack_melee_enabled="1"
|
||
|
creature_detection_range_x="500"
|
||
|
creature_detection_range_y="500"
|
||
|
food_material="blood"
|
||
|
needs_food="0"
|
||
|
sense_creatures="1"
|
||
|
attack_ranged_enabled="1"
|
||
|
attack_melee_max_distance="20"
|
||
|
can_fly="1"
|
||
|
attack_melee_action_frame="7"
|
||
|
attack_ranged_entity_file="data/entities/animals/boss_wizard/debuff_init.xml"
|
||
|
attack_ranged_action_frame="11"
|
||
|
attack_ranged_frames_between="240"
|
||
|
attack_ranged_state_duration_frames="98"
|
||
|
attack_ranged_offset_x="-12"
|
||
|
attack_ranged_offset_y="-48"
|
||
|
attack_ranged_min_distance="20"
|
||
|
attack_ranged_max_distance="400"
|
||
|
attack_melee_damage_min="1.5"
|
||
|
attack_melee_damage_max="2.6"
|
||
|
>
|
||
|
</AnimalAIComponent>
|
||
|
|
||
|
<DamageModelComponent
|
||
|
hp="30"
|
||
|
ragdoll_filenames_file=""
|
||
|
blood_material="blood"
|
||
|
blood_spray_material="blood"
|
||
|
ragdoll_offset_y="-14"
|
||
|
fire_probability_of_ignition="0"
|
||
|
ragdoll_fx_forced="DISINTEGRATED"
|
||
|
ragdoll_material="blood"
|
||
|
critical_damage_resistance="1.0"
|
||
|
physics_objects_damage="0"
|
||
|
>
|
||
|
<damage_multipliers
|
||
|
projectile="0.4"
|
||
|
explosion="0.1"
|
||
|
electricity="0.2"
|
||
|
fire="0.4"
|
||
|
ice="0.1"
|
||
|
>
|
||
|
</damage_multipliers>
|
||
|
</DamageModelComponent>
|
||
|
|
||
|
<SpriteComponent
|
||
|
image_file="data/entities/animals/boss_wizard/wizard_body.xml"
|
||
|
offset_x="0"
|
||
|
offset_y="0"
|
||
|
z_index="1.2"
|
||
|
>
|
||
|
</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="12"
|
||
|
aabb_max_y="12"
|
||
|
aabb_min_x="-12"
|
||
|
aabb_min_y="-50" >
|
||
|
</HitboxComponent>
|
||
|
|
||
|
<CharacterDataComponent
|
||
|
collision_aabb_min_x="-10.0"
|
||
|
collision_aabb_max_x="10.0"
|
||
|
collision_aabb_min_y="-40"
|
||
|
collision_aabb_max_y="10"
|
||
|
mass="1.8" >
|
||
|
</CharacterDataComponent>
|
||
|
</Base>
|
||
|
|
||
|
<SpriteComponent
|
||
|
_tags="character,hand"
|
||
|
image_file="data/entities/animals/boss_wizard/wizard_hand.xml"
|
||
|
offset_x="0"
|
||
|
offset_y="0"
|
||
|
z_index="1.15"
|
||
|
>
|
||
|
</SpriteComponent>
|
||
|
|
||
|
<SpriteComponent
|
||
|
_tags="character,helmet"
|
||
|
image_file="data/entities/animals/boss_wizard/wizard_helmet.xml"
|
||
|
offset_x="0"
|
||
|
offset_y="0"
|
||
|
z_index="1.19"
|
||
|
>
|
||
|
</SpriteComponent>
|
||
|
|
||
|
<SpriteComponent
|
||
|
_enabled="0"
|
||
|
_tags="character,head"
|
||
|
image_file="data/entities/animals/boss_wizard/wizard_head.xml"
|
||
|
offset_x="0"
|
||
|
offset_y="0"
|
||
|
z_index="1.18"
|
||
|
>
|
||
|
</SpriteComponent>
|
||
|
|
||
|
<HotspotComponent
|
||
|
_tags="hand"
|
||
|
sprite_hotspot_name="hand"
|
||
|
></HotspotComponent>
|
||
|
|
||
|
<ParticleEmitterComponent
|
||
|
_enabled="0"
|
||
|
_tags="head"
|
||
|
emitted_material_name="blood"
|
||
|
offset.x="-1"
|
||
|
offset.y="0"
|
||
|
x_pos_offset_min="-16"
|
||
|
y_pos_offset_min="-40"
|
||
|
x_pos_offset_max="16"
|
||
|
y_pos_offset_max="-30"
|
||
|
x_vel_min="-10"
|
||
|
x_vel_max="10"
|
||
|
y_vel_min="-40"
|
||
|
y_vel_max="5"
|
||
|
count_min="1"
|
||
|
count_max="5"
|
||
|
lifetime_min="0.3"
|
||
|
lifetime_max="1.6"
|
||
|
render_on_grid="1"
|
||
|
create_real_particles="0"
|
||
|
emit_cosmetic_particles="1"
|
||
|
emission_interval_min_frames="2"
|
||
|
emission_interval_max_frames="6"
|
||
|
is_emitting="1" >
|
||
|
</ParticleEmitterComponent>
|
||
|
|
||
|
<ParticleEmitterComponent
|
||
|
_enabled="0"
|
||
|
_tags="end"
|
||
|
emitted_material_name="blood"
|
||
|
offset.x="-1"
|
||
|
offset.y="0"
|
||
|
x_pos_offset_min="-16"
|
||
|
y_pos_offset_min="-48"
|
||
|
x_pos_offset_max="16"
|
||
|
y_pos_offset_max="-16"
|
||
|
x_vel_min="-10"
|
||
|
x_vel_max="10"
|
||
|
y_vel_min="-40"
|
||
|
y_vel_max="5"
|
||
|
count_min="1"
|
||
|
count_max="5"
|
||
|
lifetime_min="0.3"
|
||
|
lifetime_max="1.6"
|
||
|
render_on_grid="1"
|
||
|
create_real_particles="0"
|
||
|
emit_cosmetic_particles="1"
|
||
|
emission_interval_min_frames="2"
|
||
|
emission_interval_max_frames="6"
|
||
|
is_emitting="1" >
|
||
|
</ParticleEmitterComponent>
|
||
|
|
||
|
<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_wizard/death.lua"
|
||
|
>
|
||
|
</LuaComponent>
|
||
|
|
||
|
<LuaComponent
|
||
|
script_shot="data/entities/animals/boss_wizard/state.lua"
|
||
|
execute_every_n_frame="-1"
|
||
|
>
|
||
|
</LuaComponent>
|
||
|
|
||
|
<LuaComponent
|
||
|
_enabled="0"
|
||
|
_tags="end"
|
||
|
script_source_file="data/entities/animals/boss_wizard/bloodtentacle.lua"
|
||
|
execute_every_n_frame="16"
|
||
|
>
|
||
|
</LuaComponent>
|
||
|
|
||
|
<VariableStorageComponent
|
||
|
_tags="boss_wizard_state"
|
||
|
name="state"
|
||
|
value_int="0"
|
||
|
>
|
||
|
</VariableStorageComponent>
|
||
|
|
||
|
<VariableStorageComponent
|
||
|
_tags="boss_wizard_mode"
|
||
|
name="mode"
|
||
|
value_int="0"
|
||
|
>
|
||
|
</VariableStorageComponent>
|
||
|
|
||
|
<LuaComponent
|
||
|
script_source_file="data/entities/animals/boss_wizard/init.lua"
|
||
|
execute_every_n_frame="2"
|
||
|
remove_after_executed="1"
|
||
|
>
|
||
|
</LuaComponent>
|
||
|
|
||
|
<!-- smoke'n'slime -->
|
||
|
<ParticleEmitterComponent
|
||
|
emitted_material_name="blood_fading"
|
||
|
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
|
||
|
script_damage_received="data/entities/animals/boss_wizard/wizard_nullify.lua"
|
||
|
execute_every_n_frame="-1"
|
||
|
>
|
||
|
</LuaComponent>
|
||
|
|
||
|
<Entity>
|
||
|
<InheritTransformComponent />
|
||
|
|
||
|
<GameEffectComponent
|
||
|
effect="STUN_PROTECTION_FREEZE"
|
||
|
frames="-1"
|
||
|
>
|
||
|
</GameEffectComponent >
|
||
|
</Entity>
|
||
|
|
||
|
<Entity>
|
||
|
<InheritTransformComponent />
|
||
|
|
||
|
<GameEffectComponent
|
||
|
effect="STUN_PROTECTION_ELECTRICITY"
|
||
|
frames="-1"
|
||
|
>
|
||
|
</GameEffectComponent >
|
||
|
</Entity>
|
||
|
|
||
|
<Entity>
|
||
|
<InheritTransformComponent />
|
||
|
|
||
|
<GameEffectComponent
|
||
|
effect="PROTECTION_ALL"
|
||
|
frames="101"
|
||
|
>
|
||
|
</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>
|