- 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
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
@ -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)
|
||||
|
|
|
@ -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>
|
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.8 KiB |
|
@ -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>
|
Before Width: | Height: | Size: 392 B |
Before Width: | Height: | Size: 824 B After Width: | Height: | Size: 824 B |
After Width: | Height: | Size: 720 B |
After Width: | Height: | Size: 345 B |