Steve Jackson Games - Site Navigation
Home General Info Follow Us Search Illuminator Store Forums What's New Other Games Ogre GURPS Munchkin Our Games: Home

Go Back   Steve Jackson Games Forums > Roleplaying > GURPS

Reply
 
Thread Tools Display Modes
Old 06-29-2022, 01:57 PM   #1
KarlKost
 
Join Date: Mar 2017
Location: Brazil
Default Turn of Combat Reformulated - Velocity

It's been a long time that I've been wanting to change the "turn" in RPGs to better reflect the realism of different speeds. For example, the Flash doest do 1 attack, let his enemy also attack once and then launches 1 billion attacks before next turn.

So, it has been many years I've been wanting to introduce a measure of "Velocity", which hasnt been easy at all. Here's how Im building it, along with a few considerations:

Altered Time Rate = 100/10 = 10CP / +/- 1
  • Each Multiple of 10 of Velocity above 10 will factually increase the amount of actions by 100% compared to an average human (Velocity 10). So at Velocity 20 it would double, at Velocity 30 triple and so on, therefore each 10 levels of Velocity are just like 1 level of Altered Time Rate; dividing it's cost by 10 we get the cost of each level.
Enhanced Defenses (all) = 30CP / +/- 1
Striking ST = 5CP/lvl
  • Striking ST is absolutely realistic for higher speeds; the faster you strike, the harder the impact
Deceptive Attack = 18CP +/- 1
2 × (DX for Combat) - GURPS Power Ups 9 - Alternate Attributes
  • This will be used to give +/- 1 penalty to the active defenses of the adversaries for each +/- 1 to Velocity above 10
DX Costs
  • 9 Combat
  • 3 Athletics
  • 2 Transport
  • 1 Sneak
  • 5 Basic Speed

Final Cost of Velocity: +/- 60CP/lvl (63, rounded to 60 for simplicity)
+/- 0.6 CP per 0.01 Velocity (yes, you keep and use all fractions)

Velocity = (Per + 4×DX)/5
Per Contribution: 12 CP/lvl
DX Contribution: 48CP/lvl
OR
Velocity = (Per + DX)/2
Per Contribution: 30CP/lvl
DX Contribution: 30CP/lvl
OR
Velocity = (2×Per + 3×DX)/5
Per Contribution: 24CP/lvl
DX Contribution: 36CP/lvl
  • Human Max: V 20

Increasing Per or DX by those huge amount however may not be the best option. Therefore it may be best to modify this to reduce the impacts of attributes (therefore the costs). Therefore:

Velocity = 5 + (Per + 4×DX)/10
Per Contribution: 6CP/lvl
DX Contribution: 24CP/lvl
OR
Velocity = 5 + (Per + DX)/4
Per Contribution: 15CP/lvl
DX Contribution: 15CP/lvl
OR
Velocity = 5 + (2×Per + 3×DX)/10
Per Contribution: 12/lvl
DX Contribution: 18/lvl
  • Human Max: V 15

That however still do not seem to suffice, due to the high prices that this would bring to the Attributes, therefore it's interesting to reduce it even further:

Velocity = 8 + (Per + 4×DX)/25
Per Contribution: 2.4CP/lvl
DX Contribution: 9.6CP/lvl
OR
Velocity = 8 + (Per + DX)/10
Per Contribution: 6CP/lvl
DX Contribution: 6CP/lvl
OR
Velocity = 8 + (2×Per + 3×DX)/25
Per Contribution: 4.8CP/lvl
DX Contribution: 7.2CP/lvl
  • Human Max: V 12

Now those values are more manageable; considering that DX earns a discount of -5 (bellow), it's interesting to keep DX as the main contributor, and we can round values for commodity, therefore the math for Velocity and the increased costs of attributes would be (already with the -5 discount for DX)

Velocity = 8 + (Per + 4×DX)/25
Per: extra +2/lvl (New cost Per: +/- 7/lvl)
DX: extra +5/lvl (New Cost DX: +/- 25/lvl)
OR
Velocity = 8 + (2×Per + 3×DX)/25
Per: extra +5/lvl (New cost Per: +/- 10/lvl)
DX: extra +2/lvl (New Cost DX: +/- 22/lvl)

For this to work better, it would be ideal to separate IQ from Per, reducing the price of IQ from 20 to 15, otherwise the increased price of Per would add to IQ too.

If you dont wanna deal with that, there's the option of using only DX, therefore:

Velocity = 8 + DX/5
DX Contribution: 12CP/lvl
DX: extra +7/lvl (New Cost DX: +/- 27/lvl)



Basic Speed and Basic Moviment Reformulated
So, with Velocity we just ditch Basic Speed altogheter, which inherits some discounts, and also comes the need to reformulate Basic Move. Therefore:

Basic Speed (no Basic Move) 15CP/lvl = (DX + HT)/4
DX Contribution: 3.75CP/lvl
HT Contribution: 3.75CP/lvl
Basic Move (Regular) = (HT + DX)/4 (drop fractions) +/- 5/lvl
HT Contribution: 1.25CP/lvl
DX Contribution: 1.25CP/lvl
Basic Move (Reformulated) = HT/2 (dont drop fractions) +/- 5/lvl
HT Contribution: 2.5CP/lvl
  • Your Basic Move now shows how far you can move during the spam of each one of your actions. This means that if you can act 4 times in the spam of a second, you could move 4 times faster during that period

Without Basic Speed, this means that DX and HT get 3.75 points cheaper. With Basic Move no longer having DX, it means that DX gets a further discount of 1.25, for a total of 5 points cheaper. HT however being the only controller for Basic Move gets 1.25CP more expensive, but with the discount from B.Speed gives a total discount of 2.5CP. Therefore:
DX: -5CP
HT: -2.5CP

Now, since HT is too good and already too cheap, but also for simplicity sake, instead of applying the -2 discount to HT, we'll apply it to DX, which will already be too expensive and will have the benefit of rounding it up nicely. Therefore:

Velocity = 8 + (2×Per + 3×DX)/25
Per: extra +5/lvl (New cost Per: +/- 10/lvl)
DX: extra +0/lvl (New Cost DX: +/- 20/lvl)
OR
Velocity = 8 + DX/5
DX Contribution: 12CP/lvl
DX: extra +5/lvl (New Cost DX: +/- 25/lvl)
  • PS: keep all fractions. Each 0.01 can be bought up by 0.6CP, and even the fractional value will be useful in the second part.

Dodge/Initiative - either:
  • 3 + (Per + DX)/4
OR
  • 3 + DX/2
PS: the CP value of those has already being discounted from Basic Speed and added in Velocity

Depending on either or not you use Per for Velocity.

After all of that fuzz, we get the following list for the times of a normal punch:

V1 = 10/1 = 10s
V2 = 10/2 = 5s
V3 = 10/3 = 3.33s
V4 = 10/4 = 2.5
V5 = 10/5 = 2s
V6 = 10/6 = 1.67s
V7 = 10/7 = 1.43s
V8 = 10/8 = 1.25s
V9 = 10/9 = 1.11s
V10 = 10/10 = 1s
V11 = 10/11 = 0.91s
V12 = 10/12 = 0.83s
V13 = 10/13 = 0.77s
V14 = 10/14 = 0.71s
V15 = 10/15 = 0.67s
V16 = 10/16 = 0.63s
V17 = 10/17 = 0.59s
V18 = 10/18 = 0.56s
V19 = 10/19 = 0.53s
V20 = 10/20 = 0.50s
V21 = 10/21 = 0.476s
V22 = 10/22 = 0.455s
V23 = 10/23 = 0.435s
V24 = 10/24 = 0.417s
V25 = 10/25 = 0.400s
V26 = 10/26 = 0.385s
V27 = 10/27 = 0.370s
V28 = 10/28 = 0.357s
V29 = 10/29 = 0.345s
V30 = 10/30 = 0.333s
...
V40 = 10/40 = 0.250s
...
V50 = 10/50 = 0.200s
...
V60 = 10/60 = 0.167s
...
V70 = 10/70 = 0.143s
...
V80 = 10/80 = 0.125s
...
V90 = 10/90 = 0.111s
...
V100 = 10/100 = 0.100s
...
V200 = 10/200 = 0.050s
...
V300 = 10/300 = 0.033s
...
V400 = 10/400 = 0.025s
...
V500 = 10/500 = 0.020s
...
V600 = 10/600 = 0.0167s
...
V700 = 10/700 = 0.0143s
...
V800 = 10/800 = 0.0125s
...
V900 = 10/900 = 0.0111s
...
V1000 = 10/1000 = 0.0100s

V = 10/Vx

Altered Time Rate doubles the rating of Velocity - ie someone with Velocity 10 and Super Speed 1 would have a final Velocity of 20, while someone with V20 and SS1 would have a final V40.

Likewise, Enhanced Move doubles the final mobility

I'll still think on Maneuvers - for example, a quick punch could increase V by 20%, a slow powerful punch decrease it by 20% and pulling a trigger could be x5 or x10 the V (I'll research what's the max human capacity of pulling a trigger in a second)

Summary: each point of Velocity (V) above 10 reduces the time required for all actions, gives a +1 bonus to ALL active defenses (Dodge, Parry, Block) and inflicts a penalty of -1 to ALL active defenses of your adversaries. Costs: +/- 60CP/lvl (max +3 for humans)

Last edited by KarlKost; 06-30-2022 at 12:54 PM. Reason: Rectifying Mistakes
KarlKost is offline   Reply With Quote
Old 06-29-2022, 01:57 PM   #2
KarlKost
 
Join Date: Mar 2017
Location: Brazil
Default Re: Turn of Combat Reformulated - Velocity

Ok, so we got the costs, but how exactly would that work in combat?

Well, the first obvious answer is that Velocity will determine Active Defenses. Each point above/bellow the human average will grant +/- 1 to ALL active defenses, while imposing a penalty of +/- 1 to the active defenses of the adversary - therefore, it's the same as imposing a penalty equivalent to the difference of Velocity between the two, since the adversary will also be gaining/losing bonuses to his own active defenses.

Example:
V 12 vs V 11
V 12: active defenses +2, adversary active defenses -2
V 11: active defenses +1, adversary active defenses -1
V 12: if Dodge 8, final Dodge = 8 +2 -1 = 9
V 10: if Dodge 8, final Dodge = 8 +1 -2 = 7

This is realistic, giving faster fighters better reflexes and making them harder to predict.

Does that mean that it's basically impossible to defend or hit a super speedster with V1000?

YES! Absolutely!

A Speedster with V1000 acts once every 0.01 seconds! This mean that such a super takes 100 regular actions in a single second! You SHOULDNT be able to even see his movements, let alone be able to react to those!

Now comes the harder part, because the purpose of all that math is to allow a compreensive set of actions; for example, if a nornal human (V10) is (trying to) fight a Speedster with V1000, the Speedster should hit 50 times, the normal human would finish his one action, and then the Speedster would launch another 50 attacks and only then would a new turn begin, in that exact sequence.

Now, in order to simulate that, here's what we are gonna do:

Take the Reaction Time (RT) of each person involved in the action. Reaction Time is always 1/V.
Example
  • Fighter A - V11 = RT 1/11
  • Fighter B - V12 = RT 1/12
  • Fighter C - V13 = RT 1/13
  • Fighter D - V14 = RT 1/14
  • Fighter E - V15 = RT 1/15

Now we find the Least Common Multiple (LCM) in order to place all of those under the same divisor:
LCM 11, 12, 13, 14, 15 = 60.060

And now we apply that to all the fractions:
  • Fighter A = 5.460/60.060
  • Fighter B = 5.005/60.060
  • Fighter C = 4.620/60.060
  • Fighter D = 4.290/60.060
  • Fighter E = 4.004/60.060

We can just simply eliminate the divisors for all now:
  • Fighter A = 5.460
  • Fighter B = 5.005
  • Fighter C = 4.620
  • Fighter D = 4.290
  • Fighter E = 4.004

This gives the amount of "ticks" that each of this fighters take to complete a single, regular action; therefore, the faster the fighter, in less ticks he completes his actions, therefore the lower this number, the better

To know what amount of "ticks" correspond to 1 second, use the "control" parameter of an average human of V10, in this case:

V10 = 1/10 = 6.006/60.060 = 6.006 ticks/second.

Now comes the action sequence; "Fighter E" goes first with 4.004 ticks, followed by "Fighter D" with 4.290 and so forth.

Now gets the sequence of actions. For a quick table between "Fighter E" and "Fighter A to compare how would that play out, and the table of 1 second "turns":

Fighter E
  1. 4.004
  2. 8.008
  3. 12.012
  4. 16.016
  5. 20.020
  6. 24.024
  7. 28.028
  8. 32.032
  9. 36.036
  10. 40.040
  11. 44.044
  12. 48.048

Fighter A
  1. 5.460
  2. 10.920
  3. 16.380
  4. 21.840
  5. 27.300
  6. 32.760
  7. 38.220
  8. 43.680

Ticks per Second
  1. 6.006
  2. 12.012
  3. 18.018
  4. 24.024
  5. 30.030
  6. 36.036
  7. 42.042
  8. 48.048

Now, we those tables it gets easy to determine the order of actions of each fighter:

Fe(4.004), Fa(5.460), 1s(6.006)

Fe(8.008), Fa(10.920), Fe (12.012), 2s(12.012)

Fe(16.016), Fa(16.380), 3s(18.018)

Fe(20.020), Fa(21.840), Fe(24.024), 4s(24.024)

Fa(27.300), Fe(28.028), 5s(30.030)

Fe(32.032), Fa(32.760), Fe(36.036), 6s(36.036)

Fa(38.220), Fe(40.040), 7s(42.042)

Fa(43.680), Fe(44.044), Fe(48.048), 8s(48.048)

So, to make a clean table, the order of actions would be as follow:

Actions per Second
  1. s - E / A
  2. s - E / A / E
  3. s - E / A
  4. s - E / A / E
  5. s - A / E
  6. s - E / A / E
  7. s - A / E
  8. s - A / E / E

Meaning that in this small interval of 8 seconds, Fighter E will have acted a total of 12 times, while fighter A will only have acted 8 times.



Now, obviously all this math is impractical to be done with paper and pen in the middle of play, hence my problem. A friend of mine said he's willing to make an app for that, so the idea is that you just place each person's Velocity and the app gives you the final actions per second table, but I dont know if he'll do it. This can also be done on Excel I suppose. Im trying to learn how to make an app, but I dont know if I can do it.
Anybody would be willing to land a hand? It's for a good cause...

Last edited by KarlKost; 06-29-2022 at 04:35 PM.
KarlKost is offline   Reply With Quote
Old 06-29-2022, 02:50 PM   #3
Varyon
 
Join Date: Jun 2013
Default Re: Turn of Combat Reformulated - Velocity

So... is the idea here to basically break up the turn into shorter time periods, with characters who operate at super speeds being able to take their "turn" multiple times in a single second, possibly with what they do on their turn influencing how long it takes before they get another (so if you punch - or do a thrust attack - your next action becomes available sooner than if you took a swing)?

I've explored the idea before, and it honestly ends up too complicated to honestly use in play, even with a spreadsheet program to keep track of things (also, it typically requires a spreadsheet program to keep track of things). But you can see some of my previous attempts here and here. Humorously, I still have an almost-complete third version that's a bit more simplified (actually, a lot more, enough it might even be usable at the table), based on my Combat Posture system (specifically, using the Maneuver Points there), in limbo on my blog (but only the part I can access - I never published it). I got stuck trying to work out how to properly handle rapid fire weapons (the bane of any such system) and never resolved it, so it's been there for a few years now, honestly, and probably isn't going anywhere anytime soon...
__________________
GURPS Overhaul
Varyon is online now   Reply With Quote
Old 06-29-2022, 04:11 PM   #4
KarlKost
 
Join Date: Mar 2017
Location: Brazil
Default Re: Turn of Combat Reformulated - Velocity

Quote:
Originally Posted by Varyon View Post
So... is the idea here to basically break up the turn into shorter time periods, with characters who operate at super speeds being able to take their "turn" multiple times in a single second, possibly with what they do on their turn influencing how long it takes before they get another (so if you punch - or do a thrust attack - your next action becomes available sooner than if you took a swing)?

I've explored the idea before, and it honestly ends up too complicated to honestly use in play, even with a spreadsheet program to keep track of things (also, it typically requires a spreadsheet program to keep track of things). But you can see some of my previous attempts here and here. Humorously, I still have an almost-complete third version that's a bit more simplified (actually, a lot more, enough it might even be usable at the table), based on my Combat Posture system (specifically, using the Maneuver Points there), in limbo on my blog (but only the part I can access - I never published it). I got stuck trying to work out how to properly handle rapid fire weapons (the bane of any such system) and never resolved it, so it's been there for a few years now, honestly, and probably isn't going anywhere anytime soon...
Yes, that's the idea, and yes it needs a program to help. I was hoping to have an app, it would be far simpler, a friend of mine said he can make an app but have no idea about the math on it, so I did the math. That friend of mine is brazilian too, but he lives in a boat and he's now in French Polynesia, I'll give him the link of this and see if he can make good of his word.

An app would be the easiest, and you would only need to push a button to show the results, a spreedsheet would be kinda polluted but still manageable.

Take a look at my previous post, I had reserved it to edit with all the math needed, the work is all there and the only part a little harder is to actually make the damn sheet. After it's done thou you just place the Velocities and (hopefully if it's everything right) it already gives you all the action orders and even the modified active defenses for everybody

Just check me second post in this thread
KarlKost is offline   Reply With Quote
Old 06-29-2022, 05:02 PM   #5
KarlKost
 
Join Date: Mar 2017
Location: Brazil
Default Re: Turn of Combat Reformulated - Velocity

Quote:
Originally Posted by Varyon View Post
I got stuck trying to work out how to properly handle rapid fire weapons (the bane of any such system) and never resolved it, so it's been there for a few years now, honestly, and probably isn't going anywhere anytime soon...
Honestly, if this is done into a program, the only inconvenience is having to put the Velocities into it. Since all speeds will be a function of "ticks", anything faster or slower would simply increase or decrease the amount of ticks, which the program would automatically adjust; that would include Rapid Fire, so in the example of my Fighter E above with 4.004 "ticks" per action, lets assume that some Rapid Fire weapon is 10x faster than a punch, then his ticks acount would drop to 400.4

Ideally, this would all be invisible to users, you would just place your Velocity, than there would be a buttom for each different action - so for instance, if a Swing gives +10% in speed (meaning it's slower), my example above would go from 4.004 to 4404.4 ticks for the next action, which the program would calculate automatically, adding that value for the next roll of action of the player or NPC; if it's a Rapid Fire, the player will just press the "Rapid Fire" buttom and his tick count will be added by the system on rounds of 400,4 each (meaning the player would should 10 times before any other act).

The only problem I always had is that I dont know programming :)
KarlKost is offline   Reply With Quote
Old 06-29-2022, 05:03 PM   #6
Polydamas
 
Join Date: Jan 2006
Location: Central Europe
Default Re: Turn of Combat Reformulated - Velocity

I think Altered Time Rate is the official GURPS trait for characters like the Flash. No comment on the virtues of it or any other rules (I have never used it).
__________________
"It is easier to banish a habit of thought than a piece of knowledge." H. Beam Piper

This forum got less aggravating when I started using the ignore feature
Polydamas is offline   Reply With Quote
Old 06-29-2022, 05:15 PM   #7
KarlKost
 
Join Date: Mar 2017
Location: Brazil
Default Re: Turn of Combat Reformulated - Velocity

Quote:
Originally Posted by Polydamas View Post
I think Altered Time Rate is the official GURPS trait for characters like the Flash. No comment on the virtues of it or any other rules (I have never used it).
Bah, yes, I forgot the exact name of the advantage at the moment, so I called it "Super Speed"... I'll edit it
KarlKost is offline   Reply With Quote
Old 06-29-2022, 05:58 PM   #8
KarlKost
 
Join Date: Mar 2017
Location: Brazil
Default Re: Turn of Combat Reformulated - Velocity

Quote:
Originally Posted by Polydamas View Post
I think Altered Time Rate is the official GURPS trait for characters like the Flash. No comment on the virtues of it or any other rules (I have never used it).
The problem of Altered Time Rate is that The Flash doesnt do 50 billions of actions, then the Batman throws a single Batrangue, and the Flash does another 50 billions actions in 1 second.

With Altered Time Rate, the Flash does a single action, then Batman throws a single Batrang, and the Flash does 99.999.999.999 actions afterwards.

Also, unless you also buy ungodly amounts of Enhanced Defenses, you can have Altered Time Rate 5000 that you'll be just as easily to hit as the next guy, and you need ungodly amounts of combat skills to mimic being easy to target a "slow moving" (from your perspective) target, in order to take insane levels of Deceptive Attack, tanking insane levels of skill penalty to nullify the active defenses of your adversaries. That's not exactly how it goes.

The way I built it, you'll actually have an easier time hitting and avoid being hit the faster you are, like a real Speedster.

But that not for Speedsters only, even small changes within human ramge would have an impact. And you can buy the trait in the order of 0.01 apiece; for example, having Velocity 11,24 is slighthly faster than 11,07, and it would be calculated at full by the program (just as an example, Velocity 11,24 would be 1 action every 0.890seconds whike V 11,07 would be 1 action every 0.903, a difference of 0.013 seconds more or less. Now compare those to V 11 full, which is 1 action every 0.909 seconds, and you can note the tiny differences between each fighter)
KarlKost is offline   Reply With Quote
Old 06-30-2022, 10:08 AM   #9
Polydamas
 
Join Date: Jan 2006
Location: Central Europe
Default Re: Turn of Combat Reformulated - Velocity

Quote:
Originally Posted by KarlKost View Post
The problem of Altered Time Rate is that The Flash doesnt do 50 billions of actions, then the Batman throws a single Batrangue, and the Flash does another 50 billions actions in 1 second.
I don't follow superheroes, but if Flash runs 100 metres then that is 15 or 20 Move maneuvres. I would give speed/range penalties to hit him, or in melee combat he can choose All-Out Defense as his last manuvre.
__________________
"It is easier to banish a habit of thought than a piece of knowledge." H. Beam Piper

This forum got less aggravating when I started using the ignore feature
Polydamas is offline   Reply With Quote
Old 06-30-2022, 10:37 AM   #10
Varyon
 
Join Date: Jun 2013
Default Re: Turn of Combat Reformulated - Velocity

Quote:
Originally Posted by KarlKost View Post
Honestly, if this is done into a program, the only inconvenience is having to put the Velocities into it. Since all speeds will be a function of "ticks", anything faster or slower would simply increase or decrease the amount of ticks, which the program would automatically adjust; that would include Rapid Fire, so in the example of my Fighter E above with 4.004 "ticks" per action, lets assume that some Rapid Fire weapon is 10x faster than a punch, then his ticks acount would drop to 400.4

Ideally, this would all be invisible to users, you would just place your Velocity, than there would be a buttom for each different action - so for instance, if a Swing gives +10% in speed (meaning it's slower), my example above would go from 4.004 to 4404.4 ticks for the next action, which the program would calculate automatically, adding that value for the next roll of action of the player or NPC; if it's a Rapid Fire, the player will just press the "Rapid Fire" buttom and his tick count will be added by the system on rounds of 400,4 each (meaning the player would should 10 times before any other act).

The only problem I always had is that I dont know programming :)
The issue with rapid fire weapons in a system like this is that, by its nature, you're breaking things up into fractions of a second, meaning each bullet fired should be its own action... but realistically, rapid firing a weapon and firing a weapon a single shot at a time are two very different actions. But it's not right to have someone fire a full second's worth of bullets in a single instant (if you have a foe who gets to act 40 times in a second, and you're shooting at him with a weapon that has RoF 10, he should get four actions per bullet that is fired, rather than getting 10 actions, then having a barrage of bullets come at him, and then taking his remaining 30 actions). So how do you handle it? That's the sticking point I couldn't really get past. Having the character roll once for all the bullets that second when he starts firing (like with the GURPS default) either means other characters' actions during the turn have no influence (making it function as though all the shots were fired in an instant) or they have too much influence (as the firer can't adapt to what their doing, like a real shooter - particularly one with good reflexes - could). Assessing each shot as it happens either gives the shooter too much control (they're basically shooting as though they hadn't just let loose a bullet a fraction of a second ago) or too little (you'd need to use mounting penalties based on Rcl to avoid the shooter having too much control, but those rapidly get to the point where the shooter might as well be shooting at the moon). If you've got a good solution to that, I'd love to hear it.
__________________
GURPS Overhaul
Varyon is online now   Reply With Quote
Reply

Tags
combat, speed, speedsters, turn order, turn sequence

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Fnords are Off
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 08:04 PM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.