Compare commits

...

3 Commits

Author SHA1 Message Date
UndeadMaelys 70878aac4a stuff weorks 2021-01-23 23:07:28 +01:00
UndeadMaelys 2b11824a87 Merge branch 'main' of https://git.fai.su/UndeadMaelys/tboi-creativelore into main 2021-01-07 10:14:59 +01:00
UndeadMaelys 7e236dc81e Fixed INFINTY YARIELS bug - Cos of this, Yari and Ariel are now independent items (wont be added at pools)
- The duo item grants both items on pickup, then is removed.

Fixed Multiple PlayerInit instances (Its not playerInit now, but on new 
game start)

Continued the separation between costume layers, next push probably.
2021-01-07 10:11:45 +01:00
4 changed files with 122 additions and 46 deletions

View File

@ -7,16 +7,23 @@
priority="99" would put the costum in front of all other costums priority="99" would put the costum in front of all other costums
--> -->
<costumes anm2root="gfx/characters/"> <costumes anm2root="gfx/characters/">
<costume anm2path="players/01_Ariel_Head.anm2" <costume
priority="200" id="1"
anm2path="XX_YaleHorns.anm2"
hasOverlay="false"
type="passive" />
<costume
anm2path="players/01_Ariel_Head.anm2"
priority="99"
isFlying="true" isFlying="true"
type="none" /> type="none" />
<costume anm2path="players/02_Nerielle_Head.anm2" <costume
Priority="200" anm2path="players/02_Nerielle_Head.anm2"
priority="99"
isFlying="true" isFlying="true"
type="none" /> type="none" />
<costume anm2path="players/03_Sive_Head.anm2" <costume
Priority="200" anm2path="players/03_Sive_Head.anm2"
isFlying="false" priority="99"
type="none" /> type="none" />
</costumes> </costumes>

View File

@ -53,13 +53,16 @@
--> -->
<items gfxroot="gfx/items/" version="1"> <items gfxroot="gfx/items/" version="1">
<passive name="Yale Horns" <passive id="1"
name="Yale Horns"
cache="" cache=""
description="Oh, sorry, did I hit you?" description="Oh, sorry, did I hit you?"
gfx="yale_horns.png" gfx="yale_horns.png"
/> />
<passive name="Drake Soul" <passive
id="2"
name="Drake Soul"
cache="" cache=""
description="Long past you carry." description="Long past you carry."
gfx="drake_soul.png" gfx="drake_soul.png"
@ -101,7 +104,7 @@
<active name="Succubus Charm" <active name="Succubus Charm"
description="This realm is now yours." description="This realm is now yours."
gfx="succubus_charm.png" gfx="succubus_charm.png"
maxcharges="0" maxcharges="110"
/> />
<active name="Zappy Breath!" <active name="Zappy Breath!"

View File

@ -124,6 +124,7 @@ end
-- Passive Yale Horns -- Passive Yale Horns
CollectibleType.COLLECTIBLE_YALE_HORNS = Isaac.GetItemIdByName("Yale Horns") CollectibleType.COLLECTIBLE_YALE_HORNS = Isaac.GetItemIdByName("Yale Horns")
COSTUME_YALE_HORNS = Isaac.GetCostumeIdByPath("gfx/characters/XX_YaleHorns.anm2")
-- Passive Drake Soul -- Passive Drake Soul
CollectibleType.COLLECTIBLE_DRAKE_SOUL = Isaac.GetItemIdByName("Drake Soul") CollectibleType.COLLECTIBLE_DRAKE_SOUL = Isaac.GetItemIdByName("Drake Soul")
@ -165,7 +166,7 @@ local ARIEL_STATS = {
MaxFireDelayNaturalExponent = 0.9, MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12, TearHeightBonus = 12,
}; };
local ARIEL_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/01_Ariel_Head.anm2") local COSTUME_ARIEL_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/01_Ariel_Head.anm2")
-- 02_Nerielle -- 02_Nerielle
local NERIELLE_NAME = "02_Nerielle"; local NERIELLE_NAME = "02_Nerielle";
@ -179,7 +180,7 @@ local NERIELLE_STATS = {
MaxFireDelayNaturalExponent = 0.9, MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12, TearHeightBonus = 12,
}; };
local NERIELLE_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/02_Nerielle_Head.anm2") local COSTUME_NERIELLE_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/02_Nerielle_Head.anm2")
-- 03_Sive -- 03_Sive
local SIVE_NAME = "03_Sive"; local SIVE_NAME = "03_Sive";
@ -193,57 +194,39 @@ local SIVE_STATS = {
MaxFireDelayNaturalExponent = 0.9, MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12, TearHeightBonus = 12,
}; };
local SIVE_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/03_Sive_Head.anm2") local COSTUME_SIVE_HEAD = Isaac.GetCostumeIdByPath("gfx/characters/players/03_Sive_Head.anm2")
-- ON PLAYER INIT!! -- GIVE EM STUFF -- ON PLAYER INIT!! -- GIVE EM STUFF
function Lore:PlayerTypesProperties( resumedGame ) function Lore:PlayerTypesProperties( resumedGame )
if resumedGame == false then if resumedGame == false then
print("New Game!")
local player = Isaac.GetPlayer(0) local player = Isaac.GetPlayer(0)
if player:GetPlayerType() == ARIEL_TYPE then if player:GetPlayerType() == ARIEL_TYPE then
print("Initializing player: Ariel") player:AddNullCostume( COSTUME_ARIEL_HEAD );
player:AddNullCostume( ARIEL_HEAD );
print("> Costume: ARIEL_HEAD")
print("> Items:")
player:AddCollectible( CollectibleType.COLLECTIBLE_SUCCUBUS_CHARM, 0, 0); player:AddCollectible( CollectibleType.COLLECTIBLE_SUCCUBUS_CHARM, 0, 0);
print(" - Succubus Charm")
end end
if player:GetPlayerType() == NERIELLE_TYPE then if player:GetPlayerType() == NERIELLE_TYPE then
print("Initializing player: Nerielle") player:AddNullCostume( COSTUME_NERIELLE_HEAD );
print("> Costume: ARIEL_HEAD")
player:AddNullCostume( NERIELLE_HEAD );
end end
if player:GetPlayerType() == SIVE_TYPE then if player:GetPlayerType() == SIVE_TYPE then
print("Initializing player: Sive")
print("> Costume: SIVE_HEAD")
player:AddNullCostume( SIVE_HEAD );
print("> Scale: (1.5, 1.5)")
player.SpriteScale = Vector(1.5,1.5); player.SpriteScale = Vector(1.5,1.5);
print("> Items:")
player:AddCollectible( CollectibleType.COLLECTIBLE_YALE_HORNS, 0, 0); player:AddCollectible( CollectibleType.COLLECTIBLE_YALE_HORNS, 0, 0);
print(" - Yale Horns")
player:AddCollectible( CollectibleType.COLLECTIBLE_MOMMY_OF_TWO_YARI, 0, 0); player:AddCollectible( CollectibleType.COLLECTIBLE_MOMMY_OF_TWO_YARI, 0, 0);
player:AddCollectible( CollectibleType.COLLECTIBLE_MOMMY_OF_TWO_ARIEL, 0, 0); player:AddCollectible( CollectibleType.COLLECTIBLE_MOMMY_OF_TWO_ARIEL, 0, 0);
print(" - Mommy of Two") player:AddNullCostume( COSTUME_SIVE_HEAD );
end end
end end
end end
Lore:AddCallback( ModCallbacks.MC_POST_GAME_STARTED, Lore.PlayerTypesProperties ); Lore:AddCallback( ModCallbacks.MC_POST_GAME_STARTED, Lore.PlayerTypesProperties );
-- STUFF FOR ENTITIES -- STUFF FOR ENTITIES
-- BABY ARIEL! -- bAriel INIT
function Lore:GetBabyAriel(Ariel) function Lore:GetBabyAriel(Ariel)
-- mommy:be_kissed()
end end
Lore:AddCallback(ModCallbacks.MC_FAMILIAR_INIT, Lore.GetBabyAriel, FamiliarVariant.BABY_ARIEL) Lore:AddCallback(ModCallbacks.MC_FAMILIAR_INIT, Lore.GetBabyAriel, FamiliarVariant.BABY_ARIEL)
-- do ur thing baby succubus gal
function Lore:UpdateBabyAriel(Ariel) function Lore:UpdateBabyAriel(Ariel)
Ariel:FollowParent() Ariel:FollowParent()
end end
@ -251,7 +234,6 @@ Lore:AddCallback( ModCallbacks.MC_POST_GAME_STARTED, Lore.PlayerTypesProperties
-- BABY YARI -- BABY YARI
function Lore:GetBabyYari(Yari) function Lore:GetBabyYari(Yari)
-- ariel:copy()
Yari.FireCooldown = 1 Yari.FireCooldown = 1
end end
Lore:AddCallback(ModCallbacks.MC_FAMILIAR_INIT,Lore.GetBabyYari, FamiliarVariant.BABY_YARI) Lore:AddCallback(ModCallbacks.MC_FAMILIAR_INIT,Lore.GetBabyYari, FamiliarVariant.BABY_YARI)
@ -281,18 +263,15 @@ Lore:AddCallback( ModCallbacks.MC_POST_GAME_STARTED, Lore.PlayerTypesProperties
yaleTearCount = 0 yaleTearCount = 0
end end
yaleTearCount = yaleTearCount + 1 yaleTearCount = yaleTearCount + 1
print(yaleTearCount)
if yaleTearCount == 3 then if yaleTearCount == 3 then
yaleTearCount = 0; yaleTearCount = 0;
local lookout = Vector(1,0) local lookout = Vector(1,0)
local at = math.random(1,180) local at = math.random(1,180)
local finalTear = lookout:Rotated(at):Resized(player.ShotSpeed*10) local finalTear = lookout:Rotated(at):Resized(player.ShotSpeed*10)
local tearCopy = tear.Variant player:FireTear(player.Position, finalTear, 1, 1, 0)
local newTear = Isaac.Spawn(EntityType.ENTITY_TEAR, tearCopy, 0, player.Position, finalTear, player):ToTear()
newTear:SetColor(player.TearColor, 0, 200, 0, 0)
local finalTear = lookout:Rotated(at+180):Resized(player.ShotSpeed*10) local finalTear = lookout:Rotated(at+180):Resized(player.ShotSpeed*10)
local tearCopy = tear.Variant player:FireTear(player.Position, finalTear, 1, 1, 0)
local newTear = Isaac.Spawn(EntityType.ENTITY_TEAR, tearCopy, 0, player.Position, finalTear, player):ToTear()
newTear:SetColor(player.TearColor, 0, 200, 0, 0)
end end
end end
end end
@ -378,3 +357,23 @@ function Lore:EvaluateCache( player, cacheFlag )
end end
end end
Lore:AddCallback(ModCallbacks.MC_EVALUATE_CACHE, Lore.EvaluateCache ); Lore:AddCallback(ModCallbacks.MC_EVALUATE_CACHE, Lore.EvaluateCache );
function Lore:manageItems(player)
if game:GetFrameCount() == 1 then
end
if player:GetActiveItem() == CollectibleType.COLLECTIBLE_SUCCUBUS_CHARM then
local itemCharge = player:GetActiveCharge()
print("Pre:",itemCharge)
if itemCharge < 110 then
itemCharge = itemCharge + 1
end
print("Post",ItemCharge)
player:SetActiveCharge(itemCharge)
end
if player:HasCollectible(CollectibleType.COLLECTIBLE_MOMMY_OF_TWO) then
player:AddCollectible(CollectibleType.COLLECTIBLE_MOMMY_OF_TWO_YARI,0,0)
player:AddCollectible(CollectibleType.COLLECTIBLE_MOMMY_OF_TWO_ARIEL,0,0)
player:RemoveCollectible(CollectibleType.COLLECTIBLE_MOMMY_OF_TWO)
end
end
Lore:AddCallback(ModCallbacks.MC_POST_PEFFECT_UPDATE, Lore.manageItems)

View File

@ -0,0 +1,67 @@
<AnimatedActor>
<Info CreatedBy="robot" CreatedOn="23/01/2021 19:33:34" Version="108" Fps="30"/>
<Content>
<Spritesheets>
<Spritesheet Path="03_Sive_HypnotizingVersatileHorns.png" Id="0"/>
</Spritesheets>
<Layers>
<Layer Name="head3" Id="0" SpritesheetId="0"/>
</Layers>
<Nulls/>
<Events/>
</Content>
<Animations DefaultAnimation="HeadDown">
<Animation Name="HeadDown" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="4" 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="-5" XPivot="32" YPivot="44" XCrop="0" YCrop="0" Width="64" Height="64" 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="32" YPivot="44" XCrop="64" YCrop="0" Width="64" Height="64" 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>
<Animation Name="HeadRight" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="4" 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="-5" XPivot="32" YPivot="44" XCrop="128" YCrop="0" Width="64" Height="64" 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="32" YPivot="44" XCrop="192" YCrop="0" Width="64" Height="64" 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>
<Animation Name="HeadUp" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="4" 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="-5" XPivot="32" YPivot="44" XCrop="256" YCrop="0" Width="64" Height="64" 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="32" YPivot="44" XCrop="320" YCrop="0" Width="64" Height="64" 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>
<Animation Name="HeadLeft" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="4" 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="-5" XPivot="32" YPivot="44" XCrop="384" YCrop="0" Width="64" Height="64" 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="32" YPivot="44" XCrop="448" YCrop="0" Width="64" Height="64" 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>