Welcome back everyone over the course of the next few videos here, we're gonna be working in our enemy base class that we created earlier. And we're going to be adding some variables and some scripts so that we can damage our enemy so that we can test out our fireball in our electro spark skills to see that they actually work. Now, across the top of my editor here I have a few different blueprints open already because we're going to be working inside each of these a little bit. So if you want to get some prep work out of the way, you can come into your content Metroidvania blueprints characters folder, have your enemy base class character open already by double clicking on it, as well as your BP player. And then in my blueprint actors folder, I opened up my electro spark and my fireball is well just so they're ready to go for this lesson and the next one, so we're gonna Starting off in our BP enemy character base class, and we're going to be adding some variables right away.
Let's come under your mind blueprint section and under variables. The first one we are going to create is going to be called damage class. Sorry damage of vulnerable class, we're going to make this enemy vulnerable to a certain type of damage type. I'm going to change the type of this to be variable type, type in damage type. And when you whittle it down, you can say hey, do I want this to be an object reference or a class reference, we're going to want it to be a class reference to reference a given class of damage type. So it should be this purplish color right here.
Okay, then I'm going to create another variable, this one is going to be called damage resistance. class so we're gonna make our enemy resistant to a certain type of damage. And by default, because the previous variable was of the damage type variable type, this one should be as well. And if it's not, please change it to match the damage vulnerable, vulnerable class. Okay, adding some more variables here, this next one is going to be called vulnerable multiplier. We're going to change this to a float variable, we're going to make it so that if our enemy is vulnerable to a given damage type that it the given skill, such as a fireball is going to deal more damage than it normally does.
Okay, with this variable selected, when it's selected like that, and highlighted yellow, I can do Ctrl W, and I'm going to change this one to be resistant multiplier. That will also be a float, and with that highlighted yellow like that, I'm going to do Ctrl pose W, we're going to create a health variable. This will contain how much health how many hit points our enemy character is going to have. And then I'm going to do Ctrl plus W and I'm going to create a variable called incoming base damage. Okay, so now with all these created, I'm going to compile so that we can set some defaults for all of these. So let's start off at the top at our damage vulnerable class.
So with that selected, I'm going to come over in the details and I'm going to say I want to slot in our b p damage fire I want to make him vulnerable to fire damage by default. Now, where did I get this from? Well, if I click right here, I can browse to this asset in the Content Browser. Once upon a time way back in the video titled skill acquire data, we created these two damage types before damaged fire and BP damaged lightning. And if I jump into my BP player blueprint and come under my magic black fireball, I've got fireball attributes. Here in my fireball attributes, I am saying that this firewall by default is going to do 50 damage and the damage type is BP fire damage.
So when our enemy base class character here is going to receive some damage we're going to be able to feed it what kind of damage they are vulnerable against. And here we're specifying that they're going to be vulnerable against our fireball damage BP damage fire. Okay, so here I'm gonna select damage resistance and in the Details panel, I'm gonna say they're gonna be resistant to lightning just because vulnerable multiplier I'm going to say that if our character is is vulnerable to fire, we're going to add a multiplier of two. Yeah, double damage resistance multiplier we're going to save if they are resistant to a certain damage type in this case lightning, we're going to do half damage, that's going to be our multiplier health, we're going to set to be 100 and our incoming base damage we're actually going to leave this as zero because we are going to set this variable from the incoming damage that we will be receiving.
Okay, so with all those with default values, I do want to click some of these eyeball icons over here along the left hand side I'm going to show the eyeball icon for damage vulnerable class, click on the resistance class all of these except for our incoming base damage. What you've just done here is you've set these all to be instance editable. That's the same thing as checking that checkbox right there. Okay, and what this will enable you to do is if you Compile and Save, if you jump back to your level editor here, find in your blueprints characters folder, your BP enemy character, drag and drop them into your level as I have already done and what you've just done by making those all instance editable if you select your enemy here in the level, if you scroll on down in the Details panel and I believe this is going to be somewhere near the bottom, doo doo doo doo doo doo doo doo doo doo.
Scrolling on down, scrolling on down, scrolling down, here we go our default category here. We've got a damaged vulnerable class, which I can edit right here from the editor. I could change it here to be lightning if I wanted to. I can update our damage resist class to be something else. I've got my vulnerable multiple help resist multiplier or resist multiplier and health value that I can update here per instance that is per copy of our enemy characters that I placed in my level that's going to make for some easy tweaking in tuning something else you should be sure that you do when you place your enemy character into your level. If I scroll up to the top, you'll notice that my y location is set to zero that is where they are located along this green axis.
Now I set that to be zero because my player start actor here, if I select that, is also add zero, and that's gonna make it so that when I spawn in by click play here we are on the exact same plane, one character is not slightly in the foreground or the background. So that's going to ensure that our firewall is going to connect as well as our electoral Spark. It's gonna connect with the character just fine. Okay, so we have some variables Created and expose into our editor. Next up, we're going to create something called a macro that's going to utilize a bunch of these variables inside of our BP enemy character base. That'll do it all for this one that will come in the next video.
We'll see you there.