- ADDED TO_DO

- ADDED COLLECTIBLE_YALE_HORNS - now Sive's 2nd starter item.
- REORDERED CODE SO ITS PRETTY :D
- STARTING CODING FOUNDATION TO FAMILIARS
- STARTING CODING ARIEL'S SUCCUBUS CHARM
This commit is contained in:
UndeadMaelys 2021-01-05 18:16:17 +01:00
parent 9316092734
commit a0335fa070
12 changed files with 645 additions and 190 deletions

View File

@ -11,22 +11,50 @@
- Put the `collisionDamage` value to "0" if you want the entity to be
harmless when directly hitting the player.
-->
<entities anm2root="gfx/" version="5">
<entity name="the entity's name"
anm2path="animation file name in your gfx in resources folder.anm2"
reroll="true"
baseHP="10"
boss="0"
champion="1"
collisionDamage="1"
collisionMass="30"
collisionRadius="13"
friction="1"
numGridCollisionPoints="7"
shadowSize="0"
stageHP="0"
portrait="30"
bestiary="false"
><gibs amount="6" blood="1" bone="0" eye="0" gut="1" large="0" />
</entity>
<entities anm2root="gfx/familiars" version="5">
<entity name="Baby Ariel"
id="3"
anm2path="motheroftwo_ariel.anm2"
baseHP="0"
boss="0"
champion="0"
collisionDamage="0"
collisionMass="3"
collisionRadius="13"
friction="1"
numGridCollisionPoints="12"
shadowSize="11"
stageHP="0">
<gibs amount="0" blood="0" bone="0" eye="0" gut="0" large="0" />
</entity>
<entity name="Baby Yari"
id="3"
anm2path="motheroftwo_yari.anm2"
baseHP="0"
boss="0"
champion="0"
collisionDamage="0"
collisionMass="3"
collisionRadius="13"
friction="1"
numGridCollisionPoints="12"
shadowSize="11"
stageHP="0">
<gibs amount="0" blood="0" bone="0" eye="0" gut="0" large="0" />
</entity>
<entity name="Lil Drake"
id="3"
anm2path="scaly_egg_lil_drake.anm2"
baseHP="0"
boss="0"
champion="0"
collisionDamage="0"
collisionMass="3"
collisionRadius="13"
friction="1"
numGridCollisionPoints="12"
shadowSize="11"
stageHP="0">
<gibs amount="0" blood="0" bone="0" eye="0" gut="0" large="0" />
</entity>
</entities>

View File

@ -53,46 +53,50 @@
-->
<items gfxroot="gfx/items/" version="1">
<passive name="Yale Horns"
cache=""
description="Oh, sorry, did I hit you?"
gfx="yale_horns.png"
/>
<passive name="Drake Soul"
cache=""
description="Long past you carry"
description="Long past you carry."
gfx="drake_soul.png"
/>
<passive name="Bronze Scale Collar"
cache=""
description="Shiny!"
gfx="bronze_scale.png"
/>
<trinket name="Bronze Scale Collar"
description="Shiny garment!"
gfx="bronze_scale.png"
/>
<familiar name="Mommy of Two"
<passive name="Dragon Mark"
cache=""
description="Fiery."
gfx="drake_mark.png"
soulhearts="2"
maxcharges="4"
/>
<familiar name="Mommy of Two"
description="Sweet, adorable, mischievous!"
gfx="mommy_of_two.png"
/>
<familiar name="Scaly Egg"
cache=""
description="A warming companion."
gfx="scaly_egg.png"
/>
<active name="Succubus Charm"
description="This realm is now yours."
gfx="succubus_charm.png"
maxcharges="0"
/>
<active name="Zappy Breath!"
description="Zappy-zapps in a bottle!"
gfx="zappy.png"
maxcharges="4"
/>
<passive name="Dragon Mark"
cache=""
description="Fiery"
gfx="drake_mark.png"
soulhearts="2"
maxcharges="4"
/>
</items>

View File

@ -11,7 +11,7 @@
skin="players/01_Ariel_Skin.png"
black="4" pink="2" keys="1"
canAttack="false"
nameimage="name/01_Ariel.png"
portrait="portrait/01_Ariel.png"
bigportrait="bigportrait/01_Ariel.png"

493
main.lua
View File

@ -1,164 +1,351 @@
local Lore = RegisterMod( "thecreativelore", 1 );
--[[ USEFUL FUNCTIONS ]]--
local Lore = RegisterMod( "thecreativelore", 1 );
local game = Game()
local Room = Room
local Room = Room
-- TO_DO[
--
-- ITEMS[
--
-- * Add items in pools
--
-- [Yale Horns]:
-- * Make tear inherit common tear properties smh
-- * Make sure tear properly scales with player.ShotSpeed
--
-- [Mommy of Two]:
-- * Baby Ariel and Baby Yari behaviour
-- * Baby Ariel whole sprite, finish Yari's one too.
-- * Code in Best Friends Forever Interaction!!
--
-- [Drake Soul]:
-- * Make effect happen; < 3 hp -> DMG MULT = 1.25, RANGE += 20
-- * Decide if go with costume as Noe suggested (horns again?) or better
-- do a phrase like Whore of Babylon.
-- * I like the second better.
--
-- [Bronze Wings]:
-- * Get the costume off Nerielle and make it this item instead.
-- * Make that when u get the item, player can fly.
-- * This is really that simple.
--
-- [Scaly Egg]:
-- * Make Lil Drake functional
-- * SPRITE Lil Drake
-- * Code in Mommy of Two synergy.
-- * Code in Best Friends Forever Interaction!!
--
-- [Bronze Scale]:
-- * Code in the fire resistance
-- * Costume spriting
--
-- [Zappy Breath]:
-- * Get Actives Working on this
-- * Fire Tech X shot somehow
--
-- [Dragon Mark]:
-- * Sprite this somehow!!??
-- * Think of a better costume. Anything than horns honestly, thats for Nerielle.
-- * Give tears burning effect
-- * +1 DMG
-- * Soul heart :D
--
-- [Succubus Charm]
-- * Make it more fun and engaging
-- * Make the poison overtime work/check if its the charmed anim over it
-- * Remove charm if ToPoison
--
-- [TRANSFORMATION: True Dragon]
-- * Get this Working
-- * Add effects
-- ]
--
-- PLAYERS[
-- [Ariel]:
-- * Get Ariel a fun mechanic
-- * Get costume properly layered
-- * Fix Ariel Shooting anim -- broken
--
-- [Nerielle]:
-- * Fix Nerielle Shooting anim -- broken.
-- * Get Nerielle her items.
--
-- [Yari]
-- * Give mom kisses
-- ]
-- ]
local function FindClosestEnemy( position, distance, validator )
local closestDistance = distance or 9999
local closestEnemy = nil
local enemies = Isaac.FindInRadius( position, closestDistance, EntityPartition.ENEMY )
for k,enemy in ipairs(enemies) do
if enemy:IsActiveEnemy() == true and enemy:IsVulnerableEnemy() == true and enemy:HasEntityFlags( EntityFlag.FLAG_FRIENDLY ) == false then
local distance = (position - enemy.Position):Length()
if distance < closestDistance then
if validator == nil or validator(enemy) == true then
closestEnemy = enemy
closestDistance = distance
end
end
end
--[[ USEFUL FUNCTIONS ]]--
local function SpawnFollower(Type, player)
return Isaac.Spawn(EntityType.ENTITY_FAMILIAR, Type, 0, player.Position, Vector(0,0), player):ToFamiliar()
end
local function RealignFamiliars()
local Caboose = nil
for _, entity in pairs(Isaac.GetRoomEntities()) do
if entity.Type == EntityType.ENTITY_FAMILIAR and entity.Child == nil then
Caboose = entity
else
if Caboose.FrameCount < entity.FrameCount then
Caboose.Parent = entity
entity.Child = Caboose
else
Caboose.Child = entity
entity.Parent = Caboose
end
return closestEnemy
end
end
end
--[[ ITEMS ]]--
ITEM_BRONZE_SCALE = Isaac.GetItemIdByName("Bronze Scale Collar")
ITEM_SCALY_EGG = Isaac.GetItemIdByName("Scaly Egg")
ITEM_ZAPPY_BREATH = Isaac.GetItemIdByName("Zappy Breath!")
ITEM_DRAGON_MARK = Isaac.GetItemIdByName("Dragon Mark")
--[[ CHARACTERS ]]--
-- 01_Ariel
local ARIEL_NAME = "01_Ariel";
local ARIEL_TYPE = Isaac.GetPlayerTypeByName(ARIEL_NAME);
local ARIEL_STATS = {
MoveSpeedNaturalBonus = 0.10,
MoveSpeedNaturalMultiplier = 0.9,
DamageNaturalMultiplier = 0.70,
ShotSpeedNaturalMultiplier = 0.8,
MaxFireDelayNaturalMultiplier = 1.0,
MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12,
};
local ARIEL_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/01_Ariel_Head.anm2")
-- 02_Nerielle
local NERIELLE_NAME = "02_Nerielle";
local NERIELLE_TYPE = Isaac.GetPlayerTypeByName(NERIELLE_NAME);
local NERIELLE_STATS = {
MoveSpeedNaturalBonus = 0.10,
MoveSpeedNaturalMultiplier = 0.9,
DamageNaturalMultiplier = 0.70,
ShotSpeedNaturalMultiplier = 0.8,
MaxFireDelayNaturalMultiplier = 1.0,
MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12,
};
local NERIELLE_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/02_Nerielle_Head.anm2")
-- 03_Sive
local SIVE_NAME = "03_Sive";
local SIVE_TYPE = Isaac.GetPlayerTypeByName(SIVE_NAME);
local SIVE_STATS = {
MoveSpeedNaturalBonus = 0.10,
MoveSpeedNaturalMultiplier = 0.9,
DamageNaturalMultiplier = 0.70,
ShotSpeedNaturalMultiplier = 0.8,
MaxFireDelayNaturalMultiplier = 1.0,
MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12,
};
local SIVE_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/03_Sive_Head.anm2")
function Lore:PostPlayerInit( player )
if player:GetPlayerType() == ARIEL_TYPE then
player:AddNullCostume( ARIEL_HEAD );
end
if player:GetPlayerType() == NERIELLE_TYPE then
player:AddNullCostume( NERIELLE_HEAD );
end
if player:GetPlayerType() == SIVE_TYPE then
player:AddNullCostume( SIVE_HEAD );
end
end
Lore:AddCallback( ModCallbacks.MC_POST_PLAYER_INIT, Lore.PostPlayerInit );
function Lore:PlayerUpdate( player )
-- Collectibles!
-- if player:HasCollectible()
-- Characters!
if player:GetPlayerType() == ARIEL_TYPE then
ToCharm = FindClosestEnemy(player.Position, 100)
if ToCharm ~= nil
then ToCharm:AddCharmed(30)
end
--[[ If only one enemy left, bump up the damage!
if Room:GetAliveEnemiesCount() == 1 then
player:AnimateHappy()
end]]
end
if player:GetPlayerType() == NERIELLE_TYPE then
end
end
Lore:AddCallback( ModCallbacks.MC_POST_PLAYER_UPDATE, Lore.PlayerUpdate );
--[[ Stats ]]
function Lore:EvaluateCache( player, cacheFlag )
local player = Isaac.GetPlayer(0) -- get the player entity
if player:GetPlayerType() == ARIEL_TYPE then
--[[ if cacheFlag == CacheFlag.CACHE_SPEED then
player.MoveSpeed = player.Mññº
moveSpeed * ARIEL_STATS.MoveSpeedNaturalMultiplier + ARIEL_STATS.MoveSpeedNaturalBonus;
elseif cacheFlag == CacheFlag.CACHE_SHOTSPEED then
player.ShotSpeed = player.ShotSpeed * ARIEL_STATS.ShotSpeedNaturalMultiplier;
elseif cacheFlag == CacheFlag.CACHE_DAMAGE then
player.Damage = player.Damage * ARIEL_STATS.DamageNaturalMultiplier;
elseif cacheFlag == CacheFlag.CACHE_FIREDELAY then
player.MaxFireDelay = math.floor( math.max( 1, player.MaxFireDelay * ARIEL_STATS.MaxFireDelayNaturalMultiplier ) ^ ARIEL_STATS.MaxFireDelayNaturalExponent );
elseif cacheFlag == CacheFlag.CACHE_RANGE then
player.TearHeight = player.TearHeight + ARIEL_STATS.TearHeightBonus;
elseif cacheFlag == CacheFlag.CACHE_TEARCOLOR then
--player.TearColor = GAPPI_COLOR;
--Player.LaserColor = GAPPI_COLOR;
end]]
if cacheFlag == CacheFlag.CACHE_FLYING then
player.CanFly = 1
end
end
if player:GetPlayerType() == NERIELLE_TYPE then
--[[ if cacheFlag == CacheFlag.CACHE_SPEED then
player.MoveSpeed = player.Mññº
moveSpeed * ARIEL_STATS.MoveSpeedNaturalMultiplier + ARIEL_STATS.MoveSpeedNaturalBonus;
elseif cacheFlag == CacheFlag.CACHE_SHOTSPEED then
player.ShotSpeed = player.ShotSpeed * ARIEL_STATS.ShotSpeedNaturalMultiplier;
elseif cacheFlag == CacheFlag.CACHE_DAMAGE then
player.Damage = player.Damage * ARIEL_STATS.DamageNaturalMultiplier;
elseif cacheFlag == CacheFlag.CACHE_FIREDELAY then
player.MaxFireDelay = math.floor( math.max( 1, player.MaxFireDelay * ARIEL_STATS.MaxFireDelayNaturalMultiplier ) ^ ARIEL_STATS.MaxFireDelayNaturalExponent );
elseif cacheFlag == CacheFlag.CACHE_RANGE then
player.TearHeight = player.TearHeight + ARIEL_STATS.TearHeightBonus;
elseif cacheFlag == CacheFlag.CACHE_TEARCOLOR then
--player.TearColor = GAPPI_COLOR;
--Player.LaserColor = GAPPI_COLOR;
end]]
if cacheFlag == CacheFlag.CACHE_FLYING then
player.CanFly = 1
end
local function FindClosestEnemy( position, distance, validator )
local closestDistance = distance or 9999
local closestEnemy = nil
local enemies = Isaac.FindInRadius( position, closestDistance, EntityPartition.ENEMY )
for k,enemy in ipairs(enemies) do
if enemy:IsActiveEnemy() == true and enemy:IsVulnerableEnemy() == true and enemy:HasEntityFlags( EntityFlag.FLAG_FRIENDLY ) == false then
local distance = (position - enemy.Position):Length()
if distance < closestDistance then
if validator == nil or validator(enemy) == true then
closestEnemy = enemy
closestDistance = distance
end
end
Lore:AddCallback( ModCallbacks.MC_EVALUATE_CACHE, Lore.EvaluateCache );
end
end
return closestEnemy
end
Lore:AddCallback(ModCallbacks.MC_POST_FIRE_TEAR, function(_, tear)
--[[ DECLARING ITEMS ]]--
local player = Isaac.GetPlayer(0) -- get the player entity
-- Passive Yale Horns
CollectibleType.COLLECTIBLE_YALE_HORNS = Isaac.GetItemIdByName("Yale Horns")
if player:GetPlayerType() == ARIEL_TYPE then
tear.TearFlags = tear.TearFlags | TearFlags.TEAR_CHARM -- add slowing effect to the tear
end
-- Passive Drake Soul
CollectibleType.COLLECTIBLE_DRAKE_SOUL = Isaac.GetItemIdByName("Drake Soul")
if player:GetPlayerType() == NERIELLE_TYPE then
tear.TearFlags = tear.TearFlags | TearFlags.TEAR_BURN -- add slowing effect to the tear
end
end)
-- Passive Bronze Scale Collar
CollectibleType.COLLECTIBLE_BRONZE_SCALE = Isaac.GetItemIdByName("Bronze Scale Collar")
-- Passive Dragon Mark
CollectibleType.COLLECTIBLE_DRAGON_MARK = Isaac.GetItemIdByName("Dragon Mark")
-- Familiar Mommy of Two
CollectibleType.COLLECTIBLE_MOMMY_OF_TWO = Isaac.GetItemIdByName("Mommy of Two")
FamiliarVariant.BABY_ARIEL = Isaac.GetEntityVariantByName("Baby Ariel")
FamiliarVariant.BABY_YARI = Isaac.GetEntityVariantByName("Baby Yari")
-- Familiar Scaly Egg
CollectibleType.COLLECTIBLE_SCALY_EGG = Isaac.GetItemIdByName("Scaly Egg")
FamiliarVariant.LIL_DRAKE = Isaac.GetEntityVariantByName("Lil Drake")
FamiliarVariant.BABY_NERIELLE = Isaac.GetEntityVariantByName("Baby Nerielle")
-- Active Zappy Breath
CollectibleType.COLLECTIBLE_ZAPPY_BREATH = Isaac.GetItemIdByName("Zappy Breath!")
-- Active Succubus Charm
CollectibleType.COLLECTIBLE_SUCCUBUS_CHARM = Isaac.GetItemIdByName("Succubus Charm")
-- [[ DECLARING CHARACTERS ]] --
-- 01_Ariel
local ARIEL_NAME = "01_Ariel";
local ARIEL_TYPE = Isaac.GetPlayerTypeByName(ARIEL_NAME);
local ARIEL_STATS = {
MoveSpeedNaturalBonus = 0.10,
MoveSpeedNaturalMultiplier = 0.9,
DamageNaturalMultiplier = 0.70,
ShotSpeedNaturalMultiplier = 0.8,
MaxFireDelayNaturalMultiplier = 1.0,
MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12,
};
local ARIEL_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/01_Ariel_Head.anm2")
-- 02_Nerielle
local NERIELLE_NAME = "02_Nerielle";
local NERIELLE_TYPE = Isaac.GetPlayerTypeByName(NERIELLE_NAME);
local NERIELLE_STATS = {
MoveSpeedNaturalBonus = 0.10,
MoveSpeedNaturalMultiplier = 0.9,
DamageNaturalMultiplier = 0.70,
ShotSpeedNaturalMultiplier = 0.8,
MaxFireDelayNaturalMultiplier = 1.0,
MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12,
};
local NERIELLE_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/02_Nerielle_Head.anm2")
-- 03_Sive
local SIVE_NAME = "03_Sive";
local SIVE_TYPE = Isaac.GetPlayerTypeByName(SIVE_NAME);
local SIVE_STATS = {
MoveSpeedNaturalBonus = 0.10,
MoveSpeedNaturalMultiplier = 0.9,
DamageNaturalMultiplier = 0.70,
ShotSpeedNaturalMultiplier = 0.8,
MaxFireDelayNaturalMultiplier = 1.0,
MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12,
};
local SIVE_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/03_Sive_Head.anm2")
-- ON PLAYER INIT!! -- GIVE EM STUFF
function Lore:PostPlayerInit( player )
if player:GetPlayerType() == ARIEL_TYPE then
player:AddNullCostume( ARIEL_HEAD );
player:AddCollectible( CollectibleType.COLLECTIBLE_SUCCUBUS_CHARM, 0, 0);
end
if player:GetPlayerType() == NERIELLE_TYPE then
player:AddNullCostume( NERIELLE_HEAD );
end
if player:GetPlayerType() == SIVE_TYPE then
player:AddNullCostume( SIVE_HEAD );
player.SpriteScale = Vector(1.5,1.5);
player:AddCollectible( CollectibleType.COLLECTIBLE_MOMMY_OF_TWO, 0, 0);
player:AddCollectible( CollectibleType.COLLECTIBLE_YALE_HORNS, 0, 0);
end
end
Lore:AddCallback( ModCallbacks.MC_POST_PLAYER_INIT, Lore.PostPlayerInit );
-- STUFF FOR ENTITIES
-- BABY ARIEL!
function Lore:GetBabyAriel(Ariel)
-- mommy:be_kissed()
end
Lore:AddCallback(ModCallbacks.MC_FAMILIAR_INIT, Lore.GetBabyAriel, FamiliarVariant.BABY_ARIEL)
-- do ur thing baby succubus gal
function Lore:UpdateBabyAriel(Ariel)
end
Lore:AddCallback(ModCallbacks.MC_FAMILIAR_UPDATE, Lore.UpdateBabyAriel, FamiliarVariant.BABY_ARIEL)
-- BABY YARI
function Lore:GetBabyYari(Yari)
-- ariel:copy()
-- mommy:be_kissed()
end
Lore:AddCallback(ModCallbacks.MC_FAMILIAR_INIT,Lore.GetBabyYari, FamiliarVariant.BABY_YARI)
function Lore:UpdateBabyYari(Yari)
-- local player = Isaac.GetPlayer(0)
-- local data = Yari:GetData()
-- local sprite = Yari:GetSprite()
-- local FireDir = player:GetFireDirection()
-- local MoveDir = player:GetMovementDirection()
--if FireDir == Direction.NO_DIRECTION or data.Cooldown > 0 then
--Yari:FollowParents()
end
Lore:AddCallback(ModCallbacks.MC_FAMILIAR_UPDATE, Lore.UpdateBabyYari, FamiliarVariant.BABY_YARI)
-- LIL DRAKE
function Lore:GetLilDrake(Drake)
-- Drake:doDrakeStuff()
end
Lore:AddCallback(ModCallbacks.MC_FAMILIAR_INIT,Lore.GetLilDrake, FamiliarVariant.LIL_DRAKE)
-- STUFF FOR ITEMS
-- Active
function Lore:ActivateSuccubusCharm(_Type, RNG)
local player = Isaac.GetPlayer(0)
enemies = Isaac.FindInRadius(player.Position, 125, EntityPartition.ENEMY )
for k,enemy in ipairs(enemies) do
if enemy:HasEntityFlags( EntityFlag.FLAG_CHARM ) == true then
print("This entity is charmed! Let's poison them!")
enemy:AddPoison(player, 120, 1)
enemy:AddEntityFlags(EntityFlag.FLAG_POISON)
else
print("This entity isn't charmed! Let's charm them!")
enemy:AddCharmed(120)
enemy:AddEntityFlags(EntityFlag.FLAG_CHARM)
end
end
end
Lore:AddCallback(ModCallbacks.MC_USE_ITEM, Lore.ActivateSuccubusCharm, CollectibleType.COLLECTIBLE_SUCCUBUS_CHARM)
-- STUFF FOR PLAYERS
function Lore:PlayerUpdate( player )
if player:GetPlayerType() == ARIEL_TYPE then
end
if player:GetPlayerType() == NERIELLE_TYPE then
end
end
Lore:AddCallback( ModCallbacks.MC_POST_PLAYER_UPDATE, Lore.PlayerUpdate );
function Lore:onCache( player, cacheFlag)
if cacheFlag == CacheFlag.CACHE_FAMILIARS then
local BabyArielCount = 0
local BabyYariCount = 0
local BabyLilDrakeCount = 0
for _, entity in pairs(Isaac.GetRoomEntities()) do
if EntityType == EntityType.ENTITY_FAMILIAR then
if entity.Variant == FamliarVariant.BABY_ARIEL then
BabyArielCount = BabyArielCount + 1
end
if entity.Variant == FamliarVariant.BABY_YARI then
BabyYariCount = BabyYariCount + 1
end
if entity.Variant == FamliarVariant.LIL_DRAKE then
LilDrakeCount = LilDrakeCount + 1
end
end
end
while player:GetCollectibleNum(CollectibleType.COLLECTIBLE_MOMMY_OF_TWO) > BabyArielCount do
SpawnFollower(FamiliarVariant.BABY_ARIEL, player)
BabyArielCount = BabyArielCount + 1
end
while player:GetCollectibleNum(CollectibleType.COLLECTIBLE_MOMMY_OF_TWO) > BabyYariCount do
SpawnFollower(FamiliarVariant.BABY_YARI, player)
BabyYariCount = BabyYariCount + 1
end
while player:GetCollectibleNum(CollectibleType.COLLECTIBLE_SCALY_EGG) > BabyLilDrakeCount do
SpawnFollower(FamiliarVariant.LIL_DRAKE, player)
BabyLilDrakeCount = BabyLilDrakeCount + 1
end
RealignFamiliars()
end
end
Lore:AddCallback(ModCallbacks.MC_EVALUATE_CACHE, Lore.onCache)
function Lore:EvaluateCache( player, cacheFlag )
local player = Isaac.GetPlayer(0) -- get the player entity
if player:GetPlayerType() == ARIEL_TYPE then
if cacheFlag == CacheFlag.CACHE_FLYING then
player.CanFly = 1
end
end
if player:GetPlayerType() == NERIELLE_TYPE then
if cacheFlag == CacheFlag.CACHE_FLYING then
player.CanFly = 1
end
end
end
Lore:AddCallback(ModCallbacks.MC_EVALUATE_CACHE, Lore.EvaluateCache );
Lore:AddCallback(ModCallbacks.MC_POST_FIRE_TEAR, function(_, tear)
local player = Isaac.GetPlayer(0) -- get the player entity
if player:HasCollectible(CollectibleType.COLLECTIBLE_YALE_HORNS) == true then
if yaleTearCount == nil then
yaleTearCount = 0
end
yaleTearCount = yaleTearCount + 1
if yaleTearCount == 3 then
yaleTearCount = 0;
local lookout = player:GetAimDirection()
local at = math.random(-180,179)
local finalTear = lookout:Rotated(at):Resized(player.ShotSpeed*10)
local tearCopy = tear.Variant
Isaac.Spawn(EntityType.ENTITY_TEAR, tearCopy, 0, player.Position, finalTear, player):ToTear()
end
end
if player:GetPlayerType() == ARIEL_TYPE then
tear.TearFlags = tear.TearFlags | TearFlags.TEAR_CHARM -- add slowing effect to the tear
end
if player:GetPlayerType() == NERIELLE_TYPE then
tear.TearFlags = tear.TearFlags | TearFlags.TEAR_BURN -- add slowing effect to the tear
end
end)

View File

@ -0,0 +1,35 @@
<AnimatedActor>
<Info CreatedBy="robot" CreatedOn="14/08/2015 5:59:54 PM" Version="104" Fps="30"/>
<Content>
<Spritesheets>
<Spritesheet Path="familiar\Familiar_Special_96_Succubus.png" Id="0"/>
<Spritesheet Path="censer halo.png" Id="1"/>
</Spritesheets>
<Layers>
<Layer Name="body" Id="0" SpritesheetId="0"/>
<Layer Name="halo" Id="1" SpritesheetId="1"/>
</Layers>
<Nulls/>
<Events/>
</Content>
<Animations DefaultAnimation="IdleDown">
<Animation Name="IdleDown" FrameNum="5" Loop="true">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="5" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="1" Visible="true">
<Frame XPosition="0" YPosition="0" XPivot="112" YPivot="112" XCrop="0" YCrop="0" Width="225" Height="225" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="0" GreenTint="0" BlueTint="0" AlphaTint="50" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="0" YCrop="32" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
</Animations>
</AnimatedActor>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,201 @@
<AnimatedActor>
<Info CreatedBy="robot" CreatedOn="05/01/2021 4:56:33" Version="104" Fps="30"/>
<Content>
<Spritesheets>
<Spritesheet Path="baby_yari.png" Id="0"/>
</Spritesheets>
<Layers>
<Layer Name="body" Id="0" SpritesheetId="0"/>
</Layers>
<Nulls/>
<Events/>
</Content>
<Animations DefaultAnimation="IdleDown">
<Animation Name="IdleDown" FrameNum="1" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="IdleSide" FrameNum="1" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="64" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="IdleUp" FrameNum="1" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="128" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="FloatDown" FrameNum="16" Loop="true">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="16" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-5" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="0" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="FloatSide" FrameNum="16" Loop="true">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="16" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="64" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-5" XPivot="16" YPivot="24" XCrop="64" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="64" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="64" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="64" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="64" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="64" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="64" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="FloatUp" FrameNum="16" Loop="true">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="16" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="128" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-5" XPivot="16" YPivot="24" XCrop="128" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="128" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="128" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="128" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="128" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="128" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="128" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="ShootDown" FrameNum="1" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="ShootSide" FrameNum="1" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="96" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="ShootUp" FrameNum="1" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="160" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="FloatShootDown" FrameNum="16" Loop="true">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="16" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-5" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="32" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="FloatShootSide" FrameNum="16" Loop="true">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="16" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="96" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-5" XPivot="16" YPivot="24" XCrop="96" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="96" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="96" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="96" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="96" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="96" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="96" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="FloatShootUp" FrameNum="16" Loop="true">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="16" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="160" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-5" XPivot="16" YPivot="24" XCrop="160" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="1" YPosition="-6" XPivot="16" YPivot="24" XCrop="160" YCrop="0" Width="31" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="160" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="160" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="160" YCrop="0" Width="32" Height="32" XScale="100" YScale="102" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-7" XPivot="16" YPivot="24" XCrop="160" YCrop="0" Width="32" Height="32" XScale="100" YScale="100" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="-6" XPivot="16" YPivot="24" XCrop="160" YCrop="0" Width="32" Height="32" XScale="109" YScale="99" Delay="2" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
</Animations>
</AnimatedActor>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 B

After

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B