• Welcome to Battlezone Universe.
 

News:

Welcome to the BZU Archive dated December 24, 2009. Topics and posts are in read-only mode. Those with accounts will be able to login and browse anything the account had access granted to at the time. No changes to permissions will be made to be given access to particular content. If you have any questions, please reach out to squirrelof09/Rapazzini.

Main Menu

Armor Types - Possable for new ones?

Started by Nielk1, November 19, 2006, 04:24:12 PM

Previous topic - Next topic

Nielk1

I was thinking that mabey we could add other armor types.  I would not suggest it unless I though it was easy to do if the variables are defined in the code in the following order

N=<from ODF>
L=<from ODF>
H=<from ODF>
S=<from ODF>
D=<from ODF>
A=<from ODF>
B=N(overriden if specified in ODF)
C=N(overriden if specified in ODF)
E=N(overriden if specified in ODF)
F=N(overriden if specified in ODF)
G=N(overriden if specified in ODF)
I=N(overriden if specified in ODF)
J=N(overriden if specified in ODF)
K=N(overriden if specified in ODF)
M=N(overriden if specified in ODF)
O=N(overriden if specified in ODF)
P=N(overriden if specified in ODF)
Q=N(overriden if specified in ODF)
R=N(overriden if specified in ODF)
T=N(overriden if specified in ODF)
U=N(overriden if specified in ODF)
V=N(overriden if specified in ODF)
W=N(overriden if specified in ODF)
X=N(overriden if specified in ODF)
Y=N(overriden if specified in ODF)
Z=N(overriden if specified in ODF)


Again I would not suggest it if I didn't think it was a simple bit of codeing.
I figure that if the normal values are set first, then the extra ones can all be set to N and then to the ODF.
So for, lets say 'V', I guess it's more like:

V = N;
if(<however you check for V in the odf>)
{
     V = <read from odf>;
}


I don't know C++, so the above is loosly based in Java with the stuff I realy don't know how to do in <>'s.

So GSH, do you at least think this is possable even if you don't implement it?

Click on the image...

GSH

You'd have to change every weapon when a new armor type came out, and that's a recipe for disaster. (And also a recipe for messing up the asset checks unless you're VERY careful). I don't think that adding this can be done *cleanly* in a way that lots of different people can edit sections of it at the same time.

-- GSH

Nielk1

Quote from: Nielk1 on November 19, 2006, 04:24:12 PM
V = N;
if(<however you check for V in the odf>)
{
     V = <read from odf>;
}


Does that mean that this wont work.  I was hoping that if it wasnt specified in the odf it could be set to a default value, and that default value be that of N, so if a wep does 200 to something with N armor, and it shoots something with A armor, it does 200 dammage, unless the wep specificy says do 300 to A.

Is this thinking flawed?

Click on the image...

GSH

What I'm saying is that if modder #1 goes thru every weapon ODF, and adds in damage to armor type A (and only type A), that's not too much of a burden for them. The problem comes when modder #2 goes thru every weapon ODF, adds in armor type B (and only type B), and then they want to play each other. Forcing lines to be merged in every weapon ODF is not an elegant solution.

Plus, I'm not sold on this idea. I think there are issues a lot more pressing to most modders that ought to be addressed before this. By a long shot. Remember, you're asking *me* to do work. Yes, I've done a metric s***load of work on BZ2. But, I've worked on things that interest me.

-- GSH

Nielk1

#4
I think I see what you are getting at, but I'm still a bit confused.
You made it sound like mod1 and mod2 were trying to do multiplayer, but that's a conflict of assets.  Mabey I dont understand.
By lines merging that is what it sounds like you mean.
I am sorry if I am angering you...

The reason I though of this was for a seperation between biological and mechanicle and maby the ability to make things insulated from electric attacks.

The purpose of making all the damage equal to that of a None armor unless otherwise set was to make it so weapons would not require changes.

If a wep that does N=100, L=75, H=50, and X=1000 shoots something with Y armor, it does 100 dammage, but if it hits something with X armor it does 1000 dammage.

Mabey I am restateing something you already understand, but I do not understand what you ment by line merging as two players with different assets cannot play each other and if both modders worked on the same mod then all the weps would have both the A and B.

PS: A is used by absorb, but I do not understand if the shield letters are independent from the armor.  If they are then this is way to hard to figure out.

Again I am sorry if I am angering you by my insistent attempts to change your mind and inability to understand something that may make the 'no' definit.

Click on the image...

sabrebattletank


mrtwosheds

Each shield/armour is just a catagory, there is no difference between them. The damage a shielded/armoured unit takes is defined in each weapon, so as long as you are removing all the stock weapons, units and buildings from your mod, you should be able to use the 6 shield/armour catagorys as you wish.

Nielk1

Ya know what, if you want to GSH, gimme the code for just that select portion of the gmae and i'll take a looky, but I know this still means only you can test it :P  I'd made a few versions  :-D  As for the use of shields as armors, that will definitly be usefull for my little idea of rubber armor for the staticly charged planet of doom!  With the use of shields as armor it looks like mods can jerrig this system for small portions of the game.

Oh, I though of another use!  The antient weapon that was used in stargate to destroy ALL the replicators might work great in the stargate mod with the help of this, lol.

I'm still pushing! :roll:

Click on the image...

GSH

I can't hand out source code, even though adding in a few more values read is pretty easy. My problem is that it is NOT ELEGANT to require a modder to touch every weapon ODF to add a new armor class. It's a system prone to breakage when you have multiple people working in things independently. End of story.

-- GSH

OvermindDL1

That is why I like the style I've been using in my multiple engines the past few years.  Something like this:

// Base class
class BaseDamageType;

class PhysicalDamage : public BaseDamageType;

class EnergyDamage : public BaseDamageType;

class LaserDamage : public EnergyDamage;

class BulletDamage : public PhysicalDamage;

class ExplodeDamage : PhysicalDamage;

class BumpDamage : PhysicalDamage;


And so forth.  I've always set it up so that if something wants to deal multiple damage types then they send the damage messag multiple times.  It would be a synch to multi-subclass the things, just need to make the damage functions aware of the change...  Really should do that for my latest engine, multi-threaded, pure-c++, nothing but message passing with fine-threading, cutting down on messages is a 'Good Thing'.  This style is useful though since all types are inherited and so forth...

Nielk1

Quote from: GSH on November 20, 2006, 12:59:09 PM
I can't hand out source code, even though adding in a few more values read is pretty easy. My problem is that it is NOT ELEGANT to require a modder to touch every weapon ODF to add a new armor class. It's a system prone to breakage when you have multiple people working in things independently. End of story.

-- GSH

The idea of the whole system I suggested was to prevent the need for the value to be set in every odf.  Thankyou however for your time, as I can see you definitly did look at what I was saying and check how efficent it was.

Thankyou again for your time, no need to reply to me here again  :-D

Click on the image...

sabrebattletank

Compramise?

Tell me if this is possible.

Could you have it so that the weapon does a set damage amount, (call it 40) and the armor type determines how much of that is "blocked". Say, 20. So that a shot with weapon X would do 40 damage - 20 *blocked with armor type* - 15 *blocked by shield*= 5 total damage.


I would have absolutely know hoe idea how to do this, that said, it seems to me like it would be one way to  have multiple armor types.

Again, if this is not possible/worth your time, then by all means say no. Because from what I understand this would require a major rewrite of the weapons damage system.

Nielk1

I thought my idea was easy! lol, cheeze your idea would kill poor old GSH.  Is it old?  Ya know what, nevermind...

How do shields effect dammage?  I never know exactly.

Click on the image...

Zero Angel

#13
I agree with GSH for once. He is not some magical wish granting faerie who can satisfy everyone. The thing you are asking for is too obscure and ultimately a too much work for every modder to use, so unless theres a big demand for it consider your chances of getting your wish to be 0%.

QuoteThe reason I though of this was for a seperation between biological and mechanicle and maby the ability to make things insulated from electric attacks.

That's easy, you need only specify the armorClass as a shield type (A D or S), you can also use
[GameObjectClass]
.....
shieldClass = A

to give the unit a built in absorb shield. Then for your energy weapons you can set the damage values on absorb shields to be very low. That's all!

Additionally, you can use high HP + no armor and low hp + heavy armor combinations to yield additional effects (for example, the low HP + heavy armor units will be immune to explosive damage)

In Front Line Soldiers (a halted mod), I used shieldClass in combination with armorClass to make certain units weak against energy weapons while others were weak against solid weapons; giving the game a somewhat complex balance. This experiment was very successful at creating an RTS like balance system.
QuoteAwareness, Teamwork, Discipline
Constantly apply these principles, and you will succeed in a lot of things, especially BZ2 team strat.
{bac}Zero Angel
Victory through superior aggression

Spawn

But that is only if you don't include the stock units.

And the damage to shielded units is scaled based on the current/none ratio