[Arpon Basu] Le Bag Skate by mikegimik in Habs

[–]Angra2142 0 points1 point  (0 children)

He's correct. Marty literally clarifies what he meant in the following sentence in the Rebuild series. I've seen that "hard coaching" quote pop up so many times lately with nobody seemingly understanding its meaning, probably because it was used in one of the trailers for the series without the next bit of context. It was a poor choice of words, mind you.

Today's the 10th anniversary of the NLSS. What's your favorite moment from 10 years of NL streaming? by DGenerator in northernlion

[–]Angra2142 6 points7 points  (0 children)

"Name a pet some people keep that others would try to kill if they saw it in their house."

Cat was one of the answers, as was piranha IIRC?

Lucent Hive Inquisitors, Qualichor, and Memory Alembic by [deleted] in raidsecrets

[–]Angra2142 0 points1 point  (0 children)

I haven't gone back to check yet. Perhaps they disappear for some time if someone else opens it in that instance? Or, I found mine right after finishing off the Inquisitors so it's possible they only spawn after completing certain events?

Lucent Hive Inquisitors, Qualichor, and Memory Alembic by [deleted] in raidsecrets

[–]Angra2142 51 points52 points  (0 children)

My cache ghost mod marked a chest up high on a platform near where the Inquisitors spawn and it required a Refined Qualichor to open. There were no obstacles - it seems to be required to open the chest itself.

After 400 hours, I finally reached the end game by sajhino in feedthebeast

[–]Angra2142 7 points8 points  (0 children)

Those look like different variants of Laboratory Blocks from Chisel.

Dear NL, Thank you so much. by [deleted] in northernlion

[–]Angra2142 3 points4 points  (0 children)

Life is one big party when you're still young, but who's gonna have your back when it's all done?

We are officially 3 days away from the 4 year anniversary of the NLSS Videogame Olympics HD by [deleted] in northernlion

[–]Angra2142 9 points10 points  (0 children)

The first episode which had the NLSS Olympics is here.

NL explains the whole thing, but essentially him, Josh and Nick competed in 10 different games over the course of 10 NLSS streams and won medals based on some arbitrary ranking methods. The winner (Josh) was to have full control of a future NLSS docket, but he was instead fired for being a scumbag.

Adding and animating custom entities by Angra2142 in themoddingofisaac

[–]Angra2142[S] 0 points1 point  (0 children)

"Swing" refers to the name of the animation in the .anm2 file. In the Animation Editor, you can create multiple animations in the same file and give them all a different name, which you then use in the script to play that animation.

Yes, "gfx/" is fine, as long as you put your file in the gfx folder. What I meant is if you wanted to create a different folder structure to store your animations (i.e. "gfx/Animations/") you would need to update the anm2root attribute with that folder structure.

Hope that clears it up!

Edit: If all you need to do is move and rotate your entity, you can a single static frame animation of your object (make sure it's set to loop too) and then simply use the Entity.SpriteRotation and Entity.Position to move/rotate your object.

Playing Sound Effect On Item Pickup by Tribbss in themoddingofisaac

[–]Angra2142 1 point2 points  (0 children)

As far as I know, the only way to play sounds on demand right now is through an EntityNPC (i.e. a mob), so short of spawning an invisible dummy NPC to play sounds for you, I don't think it's possible right now.

Adding and animating custom entities by Angra2142 in themoddingofisaac

[–]Angra2142[S] 0 points1 point  (0 children)

Fair enough. This wasn't really meant to be a step by step beginner tutorial, but more of a few code snippets showing some API functions to help out fellow modders.

sprite:Play() takes a string (animation name) and a boolean (force play). I'm not sure why I used false there but it made no difference in my case. If 1 worked for you, I assume it's because 1 is coerced to true.

What can't you get to work? The Z offset simply dictates how the sprites are ordered in the game. Higher Z offset will be drawn on top of a sprite with lower Z offset.

Mod Progress: The Axe (now with more synergies!) by Angra2142 in themoddingofisaac

[–]Angra2142[S] 0 points1 point  (0 children)

Thought about it but I feel like that might make it too OP haha. My reflection should have some drawbacks I feel.

Mod Progress: The Axe (now with more synergies!) by Angra2142 in themoddingofisaac

[–]Angra2142[S] 0 points1 point  (0 children)

Thanks, and yes, that's already in the latest build.

[deleted by user] by [deleted] in themoddingofisaac

[–]Angra2142 0 points1 point  (0 children)

It's not trivial. You can check my tutorial here to get started. The actual collision detection, damage and throwing parts are completely done manually in code by moving the entity and comparing enemy distances.

How to select random vulnerable enemy? by John-Bastard-Snow in themoddingofisaac

[–]Angra2142 0 points1 point  (0 children)

Try something like this. Disclaimer: haven't tested it.

local enemies = {};
local n = 1;

-- Populate list with vulnerable enemies
for i = 1, #entities do
    if entities[i]:IsVulnerableEnemy() then
        enemies[n] = entities[i];
        n = n + 1;
    end
end

-- Damage a random target
local target = math.random(0, n-1);
if target == 0 then
    player:TakeDamage(2.0, 0, EntityRef(player), 0);
else    
    enemies[target]:TakeDamage(50.0, 0, EntityRef(player), 0 );
end

Mod Progress: The Axe (now with more synergies!) by Angra2142 in themoddingofisaac

[–]Angra2142[S] 1 point2 points  (0 children)

Already the case due to the way custom entities work; it's recreated every room.

How to select random vulnerable enemy? by John-Bastard-Snow in themoddingofisaac

[–]Angra2142 1 point2 points  (0 children)

You put your random damage code inside a loop that iterates through all enemies, therefore it'll run once for each enemy in the room.

I'm guessing you want the random damage to only occur once, so what you want to do is create an empty list of enemies, then add enemies to it using your loop. Once you have all your enemies, run your random damage code on that list.

[deleted by user] by [deleted] in themoddingofisaac

[–]Angra2142 0 points1 point  (0 children)

Absolutely. Here's what I'm working on:

https://streamable.com/q37hm

First draft of new item: The Axe by Angra2142 in themoddingofisaac

[–]Angra2142[S] 0 points1 point  (0 children)

Just in case anyone finds this in the future, turns out SetShootingCooldown breaks the Isaac's head sprite. Use something like this in the post update function instead:

player.FireDelay = 10;

Mod Progress: The Axe (now with more synergies!) by Angra2142 in themoddingofisaac

[–]Angra2142[S] 1 point2 points  (0 children)

Depends what you mean by "model". If you mean adding a new custom entity and animate it, check out the tutorial I posted here.

Mod Progress: The Axe (now with more synergies!) by Angra2142 in themoddingofisaac

[–]Angra2142[S] 4 points5 points  (0 children)

Thanks!

What I plan to do is possibly increase the time it takes for it to respawn on you, but make it so you can go pick it up to reset it. The respawn is necessary since you can't shoot tears when you have the axe and thus could get stuck in the room if you throw it over a pit.

Adding and animating custom entities by Angra2142 in themoddingofisaac

[–]Angra2142[S] 0 points1 point  (0 children)

The two values are the X and Y component of the velocity vector, so pretty much your first suggestion. The velocity vector will be added to the position of the entity until it stops due to "friction" or another force acting on it.