Sign in to follow this  
Followers 0

Armour

In my new project, I want to replace the blue armour suit with a red armour suit that only gives 50%. But I want the green armour and megasphere to give out their usual amounts. I can't do this in dehacked, so is there any other way to do it?

(I've done the sprites, it's just making it give 50% instead of 200%)

Share this post


Link to post

Ultimate DooMer said:
In my new project, I want to replace the blue armour suit with a red armour suit that only gives 50%. But I want the green armour and megasphere to give out their usual amounts. I can't do this in dehacked, so is there any other way to do it?


Why not replace the -green- armour with your new red armour sprite, and set its armor points in Dehacked to 50%. Then replace the blue armor with the former green armor sprite, and set the maximum amount of armor to 100&. Also change the pick-up text to something more appropriate.

Share this post


Link to post

Or just replace the armor helmet sprites with your new armor sprites and stack 50 of them in one pile :)

Share this post


Link to post
Mordeth said:

Why not replace the -green- armour with your new red armour sprite, and set its armor points in Dehacked to 50%. Then replace the blue armor with the former green armor sprite, and set the maximum amount of armor to 100&. Also change the pick-up text to something more appropriate.


That's the problem - there's no armour points value to set, only armour classes, IDFA/IDKFA armour and max armour (which I'd like to keep at 200% for the megasphere). I could replace green with red and blue with green like you said and then set both armour classes to 1 - but this would probably result in both suits giving 100%. I've seen wads having armour going to 300% with armour class 3, but dehacked won't take 0.5 as a value (which in theory would've worked).

boris: I need the helmets, so I can't do that.

Share this post


Link to post

Make a dummy gettable thing with a DECORATE lump (I assume this is for ZDoom, if not this won't help you), and then attach it to an ACS_Execute special that does this:

GiveInventory("ArmorBonus", 50);
That'll give the player 50 armor points with whatever message you tell the decorate lump to display, plus you don't have to get rid of any of the Doom armor. The only drawback to this of course is every one of your new red armor things needs to execute that otherwise it'll just get picked up and nothing will happen.

Share this post


Link to post

That works fine, but if he wants to spawn the new red armor, say by killing a big monster, the sprite won't have any special commands for it, and it won't do anything if you pick that up.

Share this post


Link to post
Cyb said:

Make a dummy gettable thing with a DECORATE lump (I assume this is for ZDoom, if not this won't help you), and then attach it to an ACS_Execute special that does this:

GiveInventory("ArmorBonus", 50);
That'll give the player 50 armor points with whatever message you tell the decorate lump to display, plus you don't have to get rid of any of the Doom armor. The only drawback to this of course is every one of your new red armor things needs to execute that otherwise it'll just get picked up and nothing will happen.


...and it'll go over 50% if you don't have any armour to start with, but I've already thought of a use for it. (it'll be a special armour powerup rather than normal armour - to complement a special health powerup that I already have). Plus you've also simplified my new health/armour system by suggesting that, so thanks!

Ichor: at the moment I have no plans to make it spawn when you kill something, so that shouldn't be a problem.

Share this post


Link to post

Ah, if you want it to go to exactly 50 that's a bit more complicated but easily done:

int armor =  CheckInventory("ArmorBonus")//stores current armor

if(armor < 50)
{
   GiveInventory("ArmorBonus", 50 - armor);
}
That will give the player up to 50 armor and none if he has less than 50 armor. The only problem is that the new item will disappear when the player crosses over it regardless of if he has over 50 armor or not (so essentially he gains nothing if he has > 50 armor and he can't come back to it later, sort of like if you pick up a soul sphere when your health is at 200%). A sort of work around for that would be to add an else that spawns a new armor, but then you run into the problem that Ichor stated.

If you want to get insanely complex you could do something like make a dummy thing with decorate that ISN'T gettable, then have it on top of a linedef. Then that line will activate an ACS that checks the player's armor. If the armor is above 50 then it doesn't do anything. If armor is below 50 then it knocks the armor up to 50 (as with above) and removes the thing and displays a message. Of course that adds an extra element of complexity and now spawning the 50% armor is pretty much out of the question, and it limits you to exactly where you can place this "powerup", but it'll work exactly like the other armors if all is done right. If you ask me it's a lot of effort tho, and I prolly typed it all out for nothing ;)

Anyways, good luck.

Share this post


Link to post

Ultimate DooMer said:
That's the problem - there's no armour points value to set, only armour classes,


I would swear you could do that... I'll look into this one of these days, and post the result.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0