diff --git a/content/entities2.xml b/content/entities2.xml index cb60c68..0a4dd13 100644 --- a/content/entities2.xml +++ b/content/entities2.xml @@ -11,22 +11,50 @@ - Put the `collisionDamage` value to "0" if you want the entity to be harmless when directly hitting the player. --> - - - + + + + + + + + + + diff --git a/content/items.xml b/content/items.xml index 8a42481..2b81332 100644 --- a/content/items.xml +++ b/content/items.xml @@ -53,46 +53,50 @@ --> + + - - - + + + + + - - - diff --git a/content/players.xml b/content/players.xml index 9f3af83..7f092a6 100644 --- a/content/players.xml +++ b/content/players.xml @@ -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" diff --git a/main.lua b/main.lua index a6e65fc..626ba54 100644 --- a/main.lua +++ b/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) diff --git a/resources/gfx/003.096_succubus.anm2 b/resources/gfx/003.096_succubus.anm2 new file mode 100644 index 0000000..00fa4a6 --- /dev/null +++ b/resources/gfx/003.096_succubus.anm2 @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/gfx/familiars/baby_yari.png b/resources/gfx/familiars/baby_yari.png new file mode 100644 index 0000000..4a4678b Binary files /dev/null and b/resources/gfx/familiars/baby_yari.png differ diff --git a/resources/gfx/familiars/familiar_shooters_02_demonbaby.png b/resources/gfx/familiars/familiar_shooters_02_demonbaby.png new file mode 100644 index 0000000..6504d14 Binary files /dev/null and b/resources/gfx/familiars/familiar_shooters_02_demonbaby.png differ diff --git a/resources/gfx/familiars/motheroftwo_yari.anm2 b/resources/gfx/familiars/motheroftwo_yari.anm2 new file mode 100644 index 0000000..408ed21 --- /dev/null +++ b/resources/gfx/familiars/motheroftwo_yari.anm2 @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/gfx/items/collectibles/drake_mark.png b/resources/gfx/items/collectibles/drake_mark.png deleted file mode 100644 index 67e6cf4..0000000 Binary files a/resources/gfx/items/collectibles/drake_mark.png and /dev/null differ diff --git a/resources/gfx/items/collectibles/mommy_of_two.png b/resources/gfx/items/collectibles/mommy_of_two.png index 0bdf926..3a5ae25 100644 Binary files a/resources/gfx/items/collectibles/mommy_of_two.png and b/resources/gfx/items/collectibles/mommy_of_two.png differ diff --git a/resources/gfx/items/collectibles/succubus_charm.png b/resources/gfx/items/collectibles/succubus_charm.png new file mode 100644 index 0000000..5c2b1ba Binary files /dev/null and b/resources/gfx/items/collectibles/succubus_charm.png differ diff --git a/resources/gfx/items/collectibles/yale_horns.png b/resources/gfx/items/collectibles/yale_horns.png new file mode 100644 index 0000000..54e7d7a Binary files /dev/null and b/resources/gfx/items/collectibles/yale_horns.png differ