28 lines
861 B
Lua
28 lines
861 B
Lua
|
dofile_once("data/scripts/lib/utilities.lua")
|
||
|
|
||
|
function damage_received( damage, desc, entity_who_caused, is_fatal )
|
||
|
local entity_id = GetUpdatedEntityID()
|
||
|
local x, y, a = EntityGetTransform( entity_id )
|
||
|
|
||
|
y = y + 48
|
||
|
|
||
|
SetRandomSeed( GameGetFrameNum(), entity_id )
|
||
|
local angle = Random( 1, 100 ) * 0.01 * math.pi * 2
|
||
|
|
||
|
if ( entity_who_caused ~= nil ) and ( entity_who_caused ~= NULL_ENTITY ) then
|
||
|
local px, py = EntityGetTransform( entity_who_caused )
|
||
|
angle = get_direction( px, py, x, y )
|
||
|
end
|
||
|
|
||
|
local vx = math.cos( angle ) * 80
|
||
|
local vy = 0 - math.sin( angle ) * 80
|
||
|
|
||
|
shoot_projectile( entity_id, "data/entities/animals/boss_fish/orb_big.xml", x, y, vx, vy )
|
||
|
|
||
|
local c = EntityGetComponent( entity_id, "SpriteComponent", "health_bar" )
|
||
|
if ( c ~= nil ) then
|
||
|
for i,v in ipairs( c ) do
|
||
|
ComponentSetValue2( v, "visible", true )
|
||
|
end
|
||
|
end
|
||
|
end
|