Author Topic: Sticky: Q2 Weapons/Items FAQ  (Read 6067 times)

Offline Whirlingdervish

  • Super ShortBus Extravaganza
  • Illimitable Sesquipedalian Member
  • *
  • Posts: 6384
    • View Profile
    • The Dervish Depository
  • Rated:
Sticky: Q2 Weapons/Items FAQ
« on: March 31, 2007, 09:51:09 AM »
I was given this link by a buddy of mine, to a very well made little website that has
lots of in depth info about the weapons and armor and items in Q2 and how they all work..

http://www.quake2.com/q2wfaq/q2wfaq.html

Most of it you probably know, but I found a couple things that surprised me.
« Last Edit: September 20, 2007, 07:44:51 PM by Admin »
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline Arm0r

  • Phenomenally Prodigious Member
  • **
  • Posts: 3014
  • Gentlemen.
    • View Profile
  • Rated:
Re: Q2 Weapons/Items FAQ
« Reply #1 on: March 31, 2007, 10:25:40 PM »
Nice
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline X'tyfe

  • Phenomenally Prodigious Member
  • **
  • Posts: 3587
  • Yep
    • View Profile
  • Rated:
Re: Q2 Weapons/Items FAQ
« Reply #2 on: April 24, 2007, 05:18:22 PM »
is this something that really needs an FAQ? i know there are still nubs
but holy shit :P even the dumbest of dumb asses could figure out how to point and shoot

white box with red cross is for big ouchies!!  :evilgrin:
« Last Edit: April 24, 2007, 05:20:33 PM by [BTF]X'tyfe »
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline [BTF]Jehar

  • Swanky Member
  • *****
  • Posts: 777
  • Gee Gee or Whatnot.
    • View Profile
    • Tastyspleen.tv
  • Rated:
Re: Q2 Weapons/Items FAQ
« Reply #3 on: April 25, 2007, 10:25:19 PM »
Even though, it's interesting to be able to note the exact formulae and values of things, so you can more accurately gauge things. :)
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
Tastyspleen ==Tastyspleen.tv==! All Quake, All the Time

Offline peewee_RotA

  • Brobdingnagian Member
  • ***
  • Posts: 4152
  • Hi, I'm from the gov'ment and I'm here to help you
    • View Profile
  • Rated:
Re: Q2 Weapons/Items FAQ
« Reply #4 on: April 26, 2007, 03:20:12 AM »
There's some issues with certain things. Mostly typo's however he does get everything accurate enough to help.

First thing is that he didn't mention hyperblaster wind up which is the sole reason why the weapon is as low on the food chain as it is.

Next the chaingun does 1-2 shots perframe at random during windup and 2-3 shots per frame during full fire. This changes the damage per second to a variable and not an exact number.

Also the machinegun does only 4 damage in deathmatch. I'm certain it's the same in SP but am not really interested in checking.
machingun & shotgun =4dmg per bullet effect
Chaing & SSG = 6dmg per bullet effect

The last typo involved the bandolier. It gives you 10 shells not cells.

He also didn't really bother to mention the addition method for armor. Simply put you get 1/3rd the armor you would normally when you go down a level. If you have combat and pick up jacket you recieve .30 of the armor normally. Same with combat while using body. And picking up jacket while using body gives you about 1/6th of the total. (I don't remember exactly how they calculate it)


Other than that the info on BFG and power shield was very well explained. They are not easy calculations to understand from the code let alone explain so well.
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
GOTO ROTAMODS (rocketgib)
GOTO ROTAMAPS (fireworks)
HappyFriar- q2server.fuzzylogicinc.com
 Tune in to the Tastycast!!!!  http://dna.zeliepa.net

Offline Paril

  • Jr. Member
  • **
  • Posts: 89
    • View Profile
  • Rated:
Re: Sticky: Q2 Weapons/Items FAQ
« Reply #5 on: July 11, 2009, 04:16:25 PM »
I know this is somewhat gravedigging, but I thought I'd open the explanation a little bit on how armor calculation is done.

Each armor in Q2 is given different types of protection and counts. These are the values for the base armors:

NameBase CountMax CountNormal Protection (%)Energy Protection (%)
Jacket Armor2550300
Combat Armor501006030
Body Armor1002008060

When you get shot, this is the CleanCode representation for how armor is checked:
Code: [Select]
int CArmor::CheckArmor (CPlayerEntity *Player, vec3_t point, vec3_t normal, int damage, int dflags)
{
if (!damage)
return 0;
if (dflags & DAMAGE_NO_ARMOR)
return 0;

int save = ceil (((dflags & DAMAGE_ENERGY) ? ((float)energyProtection / 100) : ((float)normalProtection / 100)) * damage);
if (save >= Player->Client.pers.Inventory.Has(this))
save = Player->Client.pers.Inventory.Has(this);

if (!save)
return 0;

Player->Client.pers.Inventory.Remove(GetIndex(), save);
CTempEnt_Splashes::Sparks (point, normal, (dflags & DAMAGE_BULLET) ? CTempEnt_Splashes::STBulletSparks : CTempEnt_Splashes::STSparks, CTempEnt_Splashes::SPTSparks);

// Ran out of armor?
if (!Player->Client.pers.Inventory.Has(this))
Player->Client.pers.Armor = NULL;

return save;
}

And here's the code for picking up:

Code: [Select]
bool CArmor::Pickup (edict_t *ent, CPlayerEntity *other)
{
if (normalProtection == -1)
{
if (other->Client.pers.Armor == NULL)
{
other->Client.pers.Inventory.Set (NItems::JacketArmor, 2);
other->Client.pers.Armor = dynamic_cast<CArmor*>(NItems::JacketArmor);
}
else
{
if (maxCount != -1 && (other->Client.pers.Inventory.Has(other->Client.pers.Armor) >= maxCount))
return false;

other->Client.pers.Inventory.Add (other->Client.pers.Armor, 2);
if (maxCount != -1 && (other->Client.pers.Inventory.Has(other->Client.pers.Armor) > maxCount))
other->Client.pers.Inventory.Set(other->Client.pers.Armor, maxCount);
}
if (!(ent->spawnflags & DROPPED_ITEM) && (game.mode & GAME_DEATHMATCH))
SetRespawn (ent, 20);
return true;
}

if (other->Client.pers.Armor != NULL)
{
if (normalProtection > other->Client.pers.Armor->normalProtection)
{
// calc new armor values
int newCount = baseCount + (((float)other->Client.pers.Armor->normalProtection / (float)normalProtection) * other->Client.pers.Inventory.Has(other->Client.pers.Armor));
if (newCount > maxCount)
newCount = maxCount;

// zero count of old armor so it goes away
other->Client.pers.Inventory.Set(other->Client.pers.Armor, 0);

// change armor to new item with computed value
other->Client.pers.Inventory.Set(this, newCount);
other->Client.pers.Armor = this;
}
else
{
// calc new armor values
int newCount = other->Client.pers.Inventory.Has(other->Client.pers.Armor) + (((float)normalProtection / (float)other->Client.pers.Armor->normalProtection) * this->baseCount);
if (newCount > other->Client.pers.Armor->maxCount)
newCount = other->Client.pers.Armor->maxCount;

// if we're already maxed out then we don't need the new armor
if (other->Client.pers.Inventory.Has(other->Client.pers.Armor) >= newCount)
return false;

// update current armor value
other->Client.pers.Inventory.Set(other->Client.pers.Armor, newCount);
}
}
// Player has no other armor, just use it
else
{
other->Client.pers.Armor = this;
other->Client.pers.Inventory.Set(this, baseCount);
}

if (!(ent->spawnflags & DROPPED_ITEM) && (game.mode & GAME_DEATHMATCH))
SetRespawn (ent, 20);

return true;
}

I know the code reps may not be easy to follow, but basically when you pick up armor with a lower normal protection, you salvage your armor's normal protection percentage of it.

-P
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline Yendor

  • Full Member
  • ***
  • Posts: 119
    • View Profile
  • Rated:
Re: Sticky: Q2 Weapons/Items FAQ
« Reply #6 on: July 11, 2009, 05:16:25 PM »
Nifty little FAQ - but is incorrect about Adrenaline increasing your maximum health - this is true in single-player, but not in Deathmatch.

In DM, the Ancient Head will increase your max health by 2 points.  One Ancient Head will thus give you a max of 102% Health.  This also becomes the number your health attains when grabbing an Adrenaline.  I use this effect in Bubbles.bsp (Mutant) - there are two Ancient Heads, each layered 16x, so that they increase your max health by 32 - definitely a worthy goal, as it's nice when Adrenaline can give you, say, 164% health...
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
I am the Master Blastermator!

 

El Box de Shoutamente

Last 10 Shouts:

Costigan_Q2

November 11, 2024, 06:41:06 AM
"Stay cozy folks.

Everything is gonna be fine."

There'll be no excuses for having TDS after January 20th, there'll be no excuses AT ALL!!!
 

|iR|Focalor

November 06, 2024, 03:28:50 AM
 

RailWolf

November 05, 2024, 03:13:44 PM
Nice :)

Tom Servo

November 04, 2024, 05:05:24 PM
The Joe Rogan Experience episode 223 that dropped a couple hours ago with Musk, they're talking about Quake lol.

Costigan_Q2

November 04, 2024, 03:37:55 PM
Stay cozy folks.

Everything is gonna be fine.
 

|iR|Focalor

October 31, 2024, 08:56:37 PM

Costigan_Q2

October 17, 2024, 06:31:53 PM
Not activated your account yet?

Activate it now! join in the fun!

Tom Servo

October 11, 2024, 03:35:36 PM
HAHAHAHAHAHA
 

|iR|Focalor

October 10, 2024, 12:19:41 PM
I don't worship the devil. Jesus is Lord, friend. He died for your sins. He will forgive you if you just ask.
 

rikwad

October 09, 2024, 07:57:21 PM
Sorry, I couldn't resist my inner asshole.

Show 50 latest
Welcome, Guest. Please login or register.
November 22, 2024, 01:41:37 AM

Login with username, password and session length