• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 10:43
CEST 16:43
KST 23:43
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
RSL Season 1 - Final Week5[ASL19] Finals Recap: Standing Tall10HomeStory Cup 27 - Info & Preview18Classic wins Code S Season 2 (2025)16Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0
Community News
Firefly given lifetime ban by ESIC following match-fixing investigation17$25,000 Streamerzone StarCraft Pro Series announced7Weekly Cups (June 30 - July 6): Classic Doubles6[BSL20] Non-Korean Championship 4x BSL + 4x China10Flash Announces Hiatus From ASL70
StarCraft 2
General
RSL Revival patreon money discussion thread TL Team Map Contest #4: Winners Esports World Cup 2025 - Final Player Roster Server Blocker RSL Season 1 - Final Week
Tourneys
RSL: Revival, a new crowdfunded tournament series FEL Cracov 2025 (July 27) - $8000 live event $5,100+ SEL Season 2 Championship (SC: Evo) $25,000 Streamerzone StarCraft Pro Series announced Sparkling Tuna Cup - Weekly Open Tournament
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers
Custom Maps
External Content
Mutation # 481 Fear and Lava Mutation # 480 Moths to the Flame Mutation # 479 Worn Out Welcome Mutation # 478 Instant Karma
Brood War
General
A cwal.gg Extension - Easily keep track of anyone BW General Discussion Script to open stream directly using middle click ASL20 Preliminary Maps BGH Auto Balance -> http://bghmmr.eu/
Tourneys
2025 ACS Season 2 Qualifier [Megathread] Daily Proleagues Small VOD Thread 2.0 Last Minute Live-Report Thread Resource!
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do.
Other Games
General Games
Path of Exile Stormgate/Frost Giant Megathread CCLP - Command & Conquer League Project The PlayStation 5 Nintendo Switch Thread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread The Accidental Video Game Porn Archive Stop Killing Games - European Citizens Initiative
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Movie Discussion! [Manga] One Piece Anime Discussion Thread [\m/] Heavy Metal Thread
Sports
2024 - 2025 Football Thread Formula 1 Discussion NBA General Discussion TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Men Take Risks, Women Win Ga…
TrAiDoS
momentary artworks from des…
tankgirl
from making sc maps to makin…
Husyelt
StarCraft improvement
iopq
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 612 users

[HotS] MotS: Junkrat Analysis

Forum Index > Heroes of the Storm
Post a Reply
PROlane
Profile Joined December 2015
United States34 Posts
Last Edited: 2017-10-27 14:01:42
October 27 2017 13:20 GMT
#1

Math of the Storm

Junkrat Analysis

Written by: ChaosOS



ChaosOS is back to talk about the newest hero to enter the Nexus, Overwatch's demolition expert, Junkrat!

Junkrat's spreadsheet can be found here.

  • Base Stats and Overview
  • Abilities
  • Talents
  • Final Thoughts



Base Stats and Overview


HP: 1273
HP Regen: 2.6523 hps
Attack damage: 110 (Splashes for 100% in a 2m radius around the target)
Attack speed: 1.00 (Attack Period: 1.00)
Attack range: 5.5m
Damage point: 0.125s (2 ticks)
Radius: 0.75m

Junkrat is an extremely squishy Mage, with one of the lowest base HP values in the game. He’s tied with Valla for HP, and of “real” heroes only Probius, Li Ming, and Tracer have lower base HP. This squishiness is compensated later by the mobility from his Concussion Mine and the range on his Frag Grenades, but still leaves Junkrat extremely vulnerable to both poke and dive.

Junkrat’s basic attacks situate him oddly between Mage and Marksman. By level 20, most mages have ~160 base DPS (Base here meaning no talents/active buffs). Comparatively, most Marksmen have ~300 base DPS. Junkrat sits right in the middle at ~240 DPS at 20. Due to having a single, level 20 talent that improves his basic attacks, I have chosen to classify him as a mage rather than a marksman.

One important thing to note about Junkrat’s basic attacks: they splash for full damage in a 2m radius AOE centered on the target. This is not listed anywhere on the character’s passive or on any of his skills, but becomes apparent when actually playing the hero.


Abilities


A Primer on Movers


First, a link on the official blue source on movers in the sc2 engine. In short, a “mover” controls how projectiles and some mobility skills move. Most skillshots have their travel time vary continuously with the distance traveled; That is, hitting a target that is 5.2m away takes slightly longer than a target that is 5.1m away. This is not the case for Junkrat’s spells. For each of Junkrat’s spells, they are broken up into 3 or 5 zones, with each zone having a designated travel time. If the zone is from 4m to 6m, hitting 4.2m away takes the exact same time as 5.3m away (Technical note: The bottom of the range is not inclusive, the top of the range is inclusive). Because of this, rather than listing the exact range and travel time measurements, an interested reader should consult the spreadsheet linked at the top of this article to see a detailed analysis.


Passive: Total Mayhem


Junkrat, upon death, drops 5 grenades that each deal 250 magic damage, totalling 1250 damage. These grenades do 75% reduced damage to structures, which reduces their total damage to 312.5. The grenades drop in a pseudo-random pattern within 1.25m of Junkrat and have a 2m radius, meaning that it’s generally unlikely that they will all hit an enemy.


Q: Frag Grenade


Frag Grenade is Junkrat’s primary source of damage, dealing 117 magic damage per charge, or 468 damage over 4 charges. All four charges come back at the same time, similar to Genji. This means “prepping” for a fight is possible, where Junkrat fires one grenade to start the cooldown, then just before the cooldown refreshes he engages to effectively give himself 7 available charges rather than 4.

The Frag Grenade’s initial landing point (the circle around Junkrat) has a max range of 10m, while the grenade itself rolls out for 12.25m. Each bounce has a slower speed than the previous, with the final roll being the slowest. Grenades have a detonation radius of 2m.

Frag Grenade has a few unique details about it. First, it does not have a cast time, meaning that Junkrat can freely move while launching grenades. Second, it has an internal cooldown of 0.5 seconds. This means to unload a full clip it takes Junkrat 1.5s (First one at 0s then the other 3 charges every 0.5s afterwards). Third, Junkrat’s weapon is disabled during the 0.5s internal cooldown. Because Junkrat’s weapon has a 1 second cooldown, optimal damage output weaves grenades in between basic attacks rather than just unloading the full clip at once.

Finally, Frag Launcher sets Junkrat’s weapon cooldown to the higher of either its remaining cooldown or 0.5s. Thus, while Junkrat is within basic attack range, it is most optimal to weave an AA between every grenade cast, as multiple grenade casts will lose basic attacks.


W: Concussion Mine


Concussion Mine throws a mine that must be manually detonated using Junkrat’s trait button (default ‘D’). The mine has a 0.5s cooldown on detonation from throwing, but because this cooldown starts when Junkrat throws the mine, this is only relevant to mines thrown within 3m of junkrat as throwing the mine past 3m increases the travel time to 0.5s or higher.

Upon detonation, the mine does 180 damage to enemy hero within 2.5m of the mine and throws each enemy hero and Junkrat a varying distance, depending on how far they were from the center. If any part of the target is within 0.75m of the center, the target is launched 8m away and spends 1s in the air. If no part of the target is within the “close” range but within 1.75m, the target will be thrown 11m and spend 0.75s in the air. If no part of the target is within the inner two rings, but the target is still within the 2.5m max range of the mine, the target will be knocked back 14m and spend 0.875s in the air.

An important consideration when playing Junkrat is how to properly maximize the knockback distance when using his mine to propel himself. Using alt-W places the mine at Junkrat’s current location. In the 0.5s detonation delay (assuming Junkrat is walking in a straight line), Junkrat will travel 2.2m. Junkrat’s radius is 0.75m, so his closest edge will only be 1.45m away from the mine, meaning that he will only be thrown the medium distance. In order to be thrown the long distance, Junkrat needs to place the mine 0.3 to 1.05m behind him, in order to ensure that he’s launched the “long distance” but will still be within the mine range. The alternative is to wait an extra 0.125s to detonate the mine, which increases the total delay to 0.625s. This is acceptable if simply traveling, as the mine’s regular cooldown starts when he throws the mine, but is more dangerous for escapes as it delays the launch an extra 1/8th of a second.

In comparing Concussion Mine to a Stitches Hook, throwing a mine at max range can effectively pull a target from 10 range, compared to Hook which has a max range of 14.7 and travels at 20 m/s. Thus, accounting for the 0.2s cast time on Hook, it takes 0.7s to grab a target at 10 range compared to the 0.75s to place a mine and immediately detonate. In short, Concussion Mine has less effective range compared to other powerful displacement abilities, but still has significant power in its immunity to bodyblocks and the power of precise precision with regards to where Junkrat displaces his targets.


E: Steel Trap


Steel Trap places a 1.25x1.1m (width x height) trap on the ground that arms after 2 seconds. Junkrat can place the trap within 6 range of himself. When triggered, the trap deals 130 damage and roots the target for 2 seconds.


Talents


Level 1


Put Some English on It increases the bounce/roll distance of Junkrat’s frag grenades by 50%, from 12.5m to 19m. Factoring in the 10m max “initial landing point” range, this increases the total range of Frag Launcher from 22.5m to 29m, a 29% increase. Because the grenade slows down significantly with each additional bounce this is not an especially reliable way of hitting heroes at longer ranges. Rather, this talent is more useful for sieging and interrupting channels, although the grenades can be body blocked if the target has any allies with them.

Extra-Wound Timers allows grenades to “hang around” for an additional two seconds after finishing rolling, effectively becoming a small explosive trap for the duration. This talent improves Junkrat’s zone control abilities further, allowing all three of his basic abilities to be useful for setting up impassable areas.

Bouncy Bouncy increases grenades damage by 20%, from 117 to 140.4, a 23.4 damage increase per grenade, when Junkrat lands a “trick shot” where the grenade bounces off of a wall at least once. This damage buff is relatively inconsistent but a sizeable one that synergizes with Junkrat’s level 4 grenade damage quest, and is one of the few ways to substantially increase the damage of an otherwise low damage hero.

Level 4


Taste for Explosives adds 0.75 damage to Frag launcher per stack, which is 3 damage per full clip. The relative value of this talent varies both with the number of stacks and Junkrat’s level, as the +75 damage per grenade at 100 stacks is worth relatively more at level 10 than at level 20. However, because the base damage on Frag Launcher is so low, the added damage from this talent should not be undervalued as it can easily translate to a 40 to 50% damage output increase if Junkrat is able to farms stacks.

Bonzer Hits is a difficult to complete quest that offers no reward until completion, but is a powerful increase in the knockback distance of Concussion Mine. The 30% damage improves the damage of Concussion Mine from 180 to 234, a 54 damage increase. What is more valuable is the 30% increased knockback distance, increasing Concussion Mine from 8/11/14m of knockback to 10.4/14.3/18.2m of knockback and increasing air time by 0.125s across the board. This talent does not synergize with either level 13 Concussion Mine talent, but does synergize with the level 20 BOOM POW cooldown reduction.

Gotta Trap ‘em All is similar to Bonzer Hits in that it is a difficult quest to complete with a very powerful reward. Trapping 8 heroes reduces the cooldown of Steel Trap from 12 to 9 seconds, and allows Junkrat to have up to 3 traps active at a time (Similar to Chromie’s level 18 (20) talent, Andorhal Anomaly). This talent synergizes heavily with the other Steel Trap talents at 7 and 13, leveraging both the reduced cooldown and the increased number of active traps.

Level 7


Big As increases the size of Steel Trap from 1.25x1.1m to 1.875x1.65, a 125% in total area. Furthermore, this talent increases the damage by 65, from 130 to 195.

Sticky Wicket is a peculiar talent. The net 270% slow denies 35% more movement than the base root, but does not shut off mobility spells such as Genji’s swift strike. Sticky Wicket however is a powerful talent at denying heroes like Arthas and Thrall, both of whom lack dashes and so are heavily impaired by the slow.

Tricky Shuffles gives Junkrat 15% bonus movespeed while he has no remaining Frag Launcher charges. It takes Junkrat at least 1.5 seconds to unload his Frag Launcher, meaning this buff has at most 87.5% uptime. With Burst Fire at level 16, this improves to ~92% uptime.

Level 10


RIPtire pulls the tire of Junkrat’s back and assumes control over the tire after a 1 second cast time. The tire moves at 6.5 m/s (~148% MS) and has 530 hp. By comparison, Murky has 731 hp, so the RIPtire has ~72% of Murky’s HP. The RIPtire does not count as a hero, and so is unaffected by certain spells or passives that only affect heroes. The RIPtire’s Jump locks it into a straight line for 1 second, traveling 6.5m while being able to ignore collision, whether with terrain or with another unit. If the RIPtire expires (which takes 15 seconds), it does not detonate, meaning that Junkrat must manually detonate it by the end of the duration.

The RIPtire, upon detonation, hits each enemy within 6m, knocking them back 3.75m and dealing 775 damage if the target is within 1.5m, 475 damage if the target is within 4m, or 375 if the target is within 6m.

Rocket Ride launches Junkrat up into the air after a 1.25s cast time, with an initial launch range of 10m. While he is up in the air he can control the 3m impact zone by regularly moving at 5.5 m/s (125% MS). Junkrat is forced to be up in the air for 3.5s and cannot come down early or late. The maximum effective distance of Rocket Ride is 29.25m, between the cast range and the distance that can be traveled while Junkrat is up in the air.

When Junkrat comes down, he deals 750 damage and activates his trait, which can deal up to 1250 more damage, for a total of 2000 damage. This total damage is reduced to 1062.5 against structures. On the PTR, Rocket Ride could do 2030 damage to a structure, making the PTR patch a 47% nerf to the “Rocket Ride Suicide” strat.

After Junkrat Lands with Rocket Ride, he comes back in 5 seconds with a special 250% MS mount, which travels at 11m/s. Functionally this ultimate can be considered a much stronger Bye Bye rather than an actual suicide, as Junkrat does not provide any XP, has a shorter cast time (1.25s vs. 1.5s on bye bye), and Junkrat can quickly and easily return to the action on his hyper speed mount. However, Rocket Ride comes at a much more valuable talent-tier than Bye Bye, and has a lengthy cooldown.

Level 13


Ripper Air is a powerful, defining talent for Junkrat’s level 13 tier. Ripper Air reduces the cooldown on Concussion Mine to 4 seconds when he hits only himself, and increases the knockback distance on himself from 8/11/14m to 12/17.5/21m. Self-mining becomes more efficient than mounting up. Out of every 4 seconds junkrat spends exactly 1 in the air, traveling 21m, and the other 3 seconds traveling 13.2m, for a net 8.55 m/s, or 194% MS.

Bogged Down applies a fairly hefty, 60% slow for 2 seconds after the target lands. This takes away up to 5.28m of movement over the duration, making it much more difficult for the target to pursue whatever it was planning after landing.

Chattering Teeth lets Steel Traps chase enemies within 4.5m at a rate of 2 m/s, which is 45% of base hero MS. While calculating how the Chattering Teeth chase their target is a viable calc II or calc III problem, in short, Chattering Teeth adds ~1.5 to 2m to the Steel Trap’s activation range in most scenarios. This is a significantly larger increase to the area coverage than Big As at level 7, and significantly improves Junkrat’s zone control with the Steel Traps.

Level 16


Burst Fire halves the cooldown of Frag Launcher and decreases the total grenades fired by 25%. This is a net 50% increase in Frag Launcher’s damage output. The three grenades all fire at the same target point with a 0.25s interval between each. Since Frag Launcher does not have a cast time, Junkrat can move freely during this 0.5s avalanche of missiles, changing the angle of the grenades.

Spread Volley shoots off two additional grenades to the left and right of the primary target for each grenade left in the magazine, totalling a maximum of 8 additional grenades from the 30 second cooldown. While it is difficult to “shotgun” an enemy character and hit them with multiple grenades from a single cast, depending on how close the target is and their size it is possible. If done properly, this triples the damage of Frag Launcher from 468 for the whole clip to 1404. “Shotgunning” becomes significantly easier if Junkrat selects Cannonball at level 20, which increases the radius of his grenades.

Endless Nades reduces the cooldown of Frag Launcher by 1.5s each time an enemy hero is hit by a grenade. Given the difficulty of hitting multiple heroes with a single grenade (although made much easier by Cannonball at level 20), this talent can be read as “Reduce the cooldown of Frag Launcher to 6 seconds if you hit every shot”. This offers more DPS than either competing level 16 talent, and as such is preferable in longer engages.

Level 20


Extra Oomph increases the knockback distance on RIPtire from 3.75m to 6.25m, which is actually a 66% increase rather than a 50% increase. The CDR refunds 25% of the total CD per enemy hero hit, meaning a 4 man RIPtire instantly resets the cooldown. Even hitting 1 target transforms the ultimate from a moderately lengthy 80 seconds to an always available 60 seconds.

Puckish Scamp reduces the cooldown on Rocket Ride from 100 seconds to 30. This transforms the ultimate from infrequent availability to essentially being almost always up, as a minimum of 8.5s of the ultimate are spent either up in the air or waiting to come back. Thusly, this reduces the wait time from 91.5s to 21.5s, a 76.5% reduction in the effective cooldown.

Cannonball increases the radius of both Junkrat’s basic attack splash and his regular frag grenades from 2m to 3m. This significantly increases the impact of his basic attack splash, as ~1m of the radius is ‘wasted’ on the primary target as the radius is measured from the center of the contrast. Similarly, the increase in frag grenade area makes it significantly easier not only to hit more targets, but to guarantee that the grenade hits any target in the first place.

BOOM POW reduces the cooldown on Concussion Mine from 16s to 6s when it hits an enemy hero. This cannot stack with Ripper Air, as Ripper Air requires that the mine hit only Junkrat while BOOM POW looks for concussion mine to hit an enemy hero. This CDR does not trigger multiple times for hitting multiple heroes.


Final Thoughts


Junkrat is an unusual addition to Heroes of the Storm, providing a significant amount of zone control and displacement but sacrificing damage. His Concussion Mine is by far the most powerful tool in his kit, and provides truly massive displacement on a frighteningly low cooldown.



Joseph "ChaosOS" Meehan is an avid Heroes of the Storm enthusiast who just enjoys mathing things out. You can check out his blog on HeroesHearth for more in-depth patch analysis and follow him on Twitter.


Writer(s): ChaosOS
Editor(s): PROlane
Design: shiroiusagi
Art Credit: Blizzard

WriterEditor-in-Chief - LiquidHeroes
FeyFey
Profile Joined September 2010
Germany10114 Posts
October 27 2017 14:08 GMT
#2
And he is one of the fastest heroes in the game with some talents. No mount post level 13 :D.
ShoCkeyy
Profile Blog Joined July 2008
7815 Posts
Last Edited: 2017-10-31 16:31:15
October 31 2017 16:31 GMT
#3
I love launching people into the buildings or into our 5man, it makes playing Junk so much funner.
Life?
Please log in or register to reply.
Live Events Refresh
FEL
12:00
Cracov 2025: Qualifier #3
IndyStarCraft 483
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
IndyStarCraft 483
Hui .189
StarCraft: Brood War
BeSt 1923
Jaedong 1119
Mini 999
EffOrt 960
Light 545
Stork 463
ToSsGirL 430
Larva 345
firebathero 299
PianO 212
[ Show more ]
GuemChi 175
Snow 152
Last 116
Movie 101
soO 96
Shinee 61
Mind 56
JulyZerg 50
sas.Sziky 47
Dewaltoss 44
sorry 43
sSak 38
Barracks 36
zelot 27
Terrorterran 20
yabsab 14
HiyA 11
Noble 11
Rock 9
Dota 2
Gorgc8108
qojqva2259
XcaliburYe250
LuMiX2
Counter-Strike
chrisJcsgo314
edward85
Heroes of the Storm
Khaldor495
Other Games
tarik_tv24831
gofns9669
FrodaN5863
B2W.Neo1835
singsing1806
DeMusliM515
crisheroes465
shahzam446
Lowko374
Fuzer 343
oskar293
KnowMe247
ArmadaUGS62
Trikslyr32
Organizations
Other Games
gamesdonequick39767
StarCraft: Brood War
UltimateBattle 3049
lovetv 7
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• HeavenSC 46
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Azhi_Dahaki12
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis5109
Upcoming Events
FEL
1h 17m
Gerald vs PAPI
Spirit vs ArT
CSO Cup
1h 17m
BSL20 Non-Korean Champi…
3h 17m
Bonyth vs QiaoGege
Dewalt vs Fengzi
Hawk vs Zhanhun
Sziky vs Mihu
Mihu vs QiaoGege
Zhanhun vs Sziky
Fengzi vs Hawk
DaveTesta Events
3h 17m
Sparkling Tuna Cup
19h 17m
RSL Revival
19h 17m
Classic vs Clem
FEL
1d
BSL20 Non-Korean Champi…
1d 3h
Bonyth vs Dewalt
QiaoGege vs Dewalt
Hawk vs Bonyth
Sziky vs Fengzi
Mihu vs Zhanhun
QiaoGege vs Zhanhun
Fengzi vs Mihu
Wardi Open
1d 20h
Replay Cast
2 days
[ Show More ]
WardiTV European League
3 days
PiGosaur Monday
3 days
uThermal 2v2 Circuit
4 days
Replay Cast
4 days
The PondCast
4 days
Replay Cast
5 days
Epic.LAN
5 days
CranKy Ducklings
6 days
Epic.LAN
6 days
Liquipedia Results

Completed

KCM Race Survival 2025 Season 2
HSC XXVII
NC Random Cup

Ongoing

JPL Season 2
BSL 2v2 Season 3
Acropolis #3
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
Jiahua Invitational
2025 ACS Season 2: Qualifier
CSLPRO Last Chance 2025
Championship of Russia 2025
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters

Upcoming

CSL Xiamen Invitational
CSL Xiamen Invitational: ShowMatche
2025 ACS Season 2
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
FEL Cracov 2025
Esports World Cup 2025
Underdog Cup #2
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.