5636 in-depth character profiles from comics, games, movies

DC Heroes RPG – New Rules – Miscellanea


Game system: DC Heroes Role-Playing Game

Context

This is a technical article for the DC Heroes RPG.

For a list of all articles like this one, see the Guide to new DC Heroes RPG rules.


Index

As we reorganise our DCH rules stuff, the material in this article about Gadgetry and equipment was moved to, well, the DC Heroes Gadgetry and equipment new rules file.


6 APs. of Distance vs. 7 APs of Distance

Type: Clarification

We call that the “Fake Distance Squish” issue. At first glance, 6 APs of distance (listed in the chart as 200 yards) and 7 APs of distance (listed in the chart as ⅛ mile, and thus about 200 yards) are the same thing. What actually happened is that the writer selected values within the 6 APs range and 7 APs range to have a convenient progression.

Likewise 10 APs is closer to a mile and a half than a mile. Remember, APs are a range of values, not a single value!

Use the chart with the *upper limits* (Blood of Heroes:Special Edition p354) to clear any confusion about distances in APs… or use the metric system.


Powers as their own AV

Type: Usage note

By the rulesbook, all Powers act as their own AV and EV. However, when modelling characters that seldom works. For instance there are innumerable characters who have an energy blast of some sort with an EV in the double digits. But only a tiny proportion of these characters fire these blasts with superhuman accuracy – that is, a double digits AV.

Thus, when perusing DC Heroes RPG writeups on writeups.org:

  1. Assume that no Power is its own AV unless this is stated in the Bonuses and Limitations
  2. Use the matching Action Attribute (DEX, INT, INF) as the AV for any Power
  3. Unless another score is provided, for instance using an Accuracy Skill (but this is rare)
  4. For *homemade* writeups, this may or may not apply. We do not require that homemade character writeups conform to our technical usage.


Bonuses that do not induce a Column change

Type: Usage note

One example of this could be a fighter with a BODY of 03 and some leather armour with [BODY 03, Skin armour: 01]. This leaves their RV squarely in the 3-to-4 RV Column. Or perhaps an investigator with INF 03 AUR 04 and Detective (Legwork): 04, leaving their AV in the same Column as before when doing legwork.

There are four things at work here :

  1. First, it means that the numbers can be used in custom games where the Columns are narrower. Having one-AP-wide Columns for values under 11 is often considered for low-powered games. These games aren’t going to make use of much of the Tables as they seldom have higher APs than that, so the additional granularity isn’t a hindrance.
  2. Second, check the optional rules for different values in the same Column on pages 86-7 of DC Heroes 3rd Edition and pages 124-5 of Blood of Heroes: Special Edition. Being higher in the same Column can actually result in a bonus.
  3. Third, it does add to the base AP level for HP expenditure purposes. In other words, you can boost the AV/OV/EV/RV in question higher using your Hero Points. It’s not a bad way to represent a small edge – something marginal but which could become important in certain circumstances.
  4. Fourth, in the case of equipment, it would be odd if leather armour sometimes had Skin Armour: 01 and sometimes had Skin Armour: 02 depending upon who’s wearing it and how tough they are. We strive for consistency in these things – as long as it matches the material, of course.


Column Shifts versus Row Shifts

Commenter: Roy Cowan
Helper(s): Eric Langendorff

For those curious about why Column Shifts should be used instead of Row Shifts (i.e. shifting of OV/RV rather than AV/EV on the Action and Result Charts for Maneuvers, Scholars, etc.):

The effects of Column Shifts versus and equivalent Row Shifts on the Action Table are the same. However, for the Result Table a Row Shift often yields a different number of RAPs than the equivalent Column Shift would have.

For example, take an EV 10 vs. an RV 8. Reducing the RV by one column changes the RAPs from 3 to 4. An “equivalent” Row Shift moving the EV up one row changes the RAPs from 3 to 6.

Row Shifts as modifiers also raise potential problems when you get Column Shift over to the A category. If you use the original EV value (as you would for RV when applying RAPs after Column Shifts), you get a irregular leap or drop in RAPs depending on the direction of the row shifts.

If you use a modified EV value you may get arguments about what the new EV value should be. For example: a 14 EV gets a Row Shift from the 13-15 row to the 11-12 row. Does it now count as an 11 or a 12? This particular case can be adjudicated by making it the highest value when dropping “down” and the lowest when moving “up”.

For example, an EV 14 dropping down to the 11-12 row would be considered an EV 12, while being raised to the 16-18 column would make it an EV 16.

Given the above factors, it is usually best to avoid Row Shifts on the Result Table.


Range penalties

Authors: Roy Cowan and Sébastien Andrivet
Type: Combat rules modified from BoH:SE p 156 (Under “M – Throwing Things”, for some reason)

This optional rule increases the difficulty of hitting far-away targets, as there are no distance penalties in the base rules. It establishes two cases :

  • if the target is within the penalty-free distance for the Genre, there is no modifier
  • for each AP beyond that, increase the OV by 1

Penalty-free distance by Genre

Action 4 APs
Mock-Real 3 APs
Gritty 2 APs
Real 1 AP

Example :
Attacking a target 3 APs away in the Action Genre conveys no penalty. On the other hand, a target 6 APs away is 2 APs beyond the 4 APs penalty-free distance for the Action Genre, and their OV is thus increased by (6-4)=2.

Modifiers:

  • Telescopic Vision subtracts from the effective range, using linear subtraction rather than AP subtraction (e.g., a 6 APs Range is counted as a 4 APs Range for somebody with 2 APs of Telescopic Vision)
  • Weapons with a stock (such as most rifles or crossbows) add 1 AP to the penalty-free distance. However this only works in Gritty and Real Genres. In higher genres, people hit long-distance target with pistols all the time. Fully-equipped modern compound bows with a release aid are considered to have a stock for this purpose.
  • If this optional rule is in effect, specific Powers used by specific Characters (particularly Mental Powers used by telepaths with ESP) may need to be excluded from it. This is a +1 FC Genre-specific Bonus for that Power.


Suppression Fire

Authors: Sébastien Andrivet
Type: Combat Manoeuvre

Suppression is a variant of the Laying Back Initiative Combat Manoeuvre (BoH:SE p144). It can only be used when Laying Back would be allowed. It also requires a weapon or power capable of suppression fire (more later).

Suppression fire means beating an area with automatic, continuous gunfire. This fire isn’t aimed at anything. The goal is to convince people under fire to stick to their cover and not to fire back lest they get hit.

The effects of this Initiative Combat Manoeuvre are:

  • The Character receives a -2CS to the accuracy of their attack (rather than the normal -1CS from Laying Back). This cannot be reduced by Martial Artist (Techniques) if you use that BoH:SE rule.
  • The normal Area of Effect of the attack is increased by one AP. Weapons with Autofire (or Multi-Attack) are considered to have a one AP Area of Effect for this purpose, and can thus suppress a 2 APs Area of Effect.
  • All persons within this area of effect receive a +1CS penalty to the OV/RV of *all* actions. This is more extensive than the normal Laying Back penalty, which only works against the Initiative-winning Character.
  • Persons in the Suppression zone who aren’t behind sufficient cover all get attacked. Only the -2CS basic penalty from the Suppression Manoeuvre applies.
  • If the weapon or Power used for Suppression has Ammo, Suppression consumes twice the Ammo an attack would.

Logistics

Suppression fire normally requires a hefty weapon capable of sustained fully-automatic fire with at least a rifle-calibre ammunition. This usually means a belt-fed squad automatic weapon or machinegun.

In edge cases, a rule of thumb would be the capacity to fill the area with at least 50 shots in one go. Thus, for instance, a cinematic  action hero armed with paired machine pistols, each with a full 32-round magazine, might be allowed by the GM to take a Suppression Manoeuvre (though a reasonable ruling would be that all Ammo is expended).

Thus, the Suppression Initiative Combat Manoeuvre is usually seen in games simulating modern or high-tech military action – rather than super-hero stories. It was created when working on our XCom profiles.

Actions resembling this Combat Manoeuvre

Interdiction is making the enemy aware that there’s a ready shooter watching an open area – for instance, a distant sniper. This is not a Combat Manoeuvre, but a matter of role-playing. The persons facing an interdicted area are free to decide how to react.

In some cases, something resembling suppression fire is done with weapons that aren’t suppression-capable. This is common in Western movies, with a cowboy taking vague potshots in the direction of the enemy to delay them. In most cases, this is simply a matter of role-playing. People hear shots, they get to cover.

If it’s a hero who does it (several of John Wayne’s Old West characters come to mind, or Clint Eastwood in High Plains Drifter), this may be handled as an Intimidation Character Interaction with the gunfire being a Force Manoeuvre (probably to facilitate a Multi-Attack). They may elect to go for this if the enemy is not inclined to dive for cover as soon as they hear gunshots.


Killing Combat addendum

Commenters: German Anton, James Beggs, KalEl el Vigilante, Peter S Piispanen, Pufnstuff & Nick Yankovec

In many superheroic settings, the use of Killing Combat in heroic Genres is characterized not only in moral terms — use of Killing Combat may be considered unheroic — but also in practical terms. In the latter sense, use of Bashing Combat is characterized as holding back and use of Killing Combat may be considered as part of a desperate effort to defeat a particularly tough foe.

This is not reflected very well in the current rules, where the amount of damage and means to resist it are the same regardless of whether the attack is Bashing or Killing. The only differences between Bashing and Killing Damage under the current rules are that:

  1. Killing Combat can reduce a character below 0 current BODY, which is largely irrelevant to the issue of defeating an opponent since reducing them to 0 is sufficient to render them unconscious. Furthermore, particularly tough opponents with Invulnerability effectively get an immediate free Recovery Check when they fall below 0 BODY, making them *more* difficult to knock out with Killing Damage than Bashing Damage.
  2. Recovery Checks require more time to pass for Killing Damage, but there is still usually a lengthy interval between Checks even for Bashing Damage.

This also connects to the moral issue. Part of the reason it is considered more heroic in some Genres not to use Killing Combat is that it required more restraint to do so and thus made it more difficult to subdue opponents. Confronting a very durable foe also raises the question of whether or not it would be necessary to resort to lethal tactics (Killing Combat) to stop them.

Making Killing Combat more damaging both explains the perceived difference in effectiveness between Bashing and Killing Combat and adds more direct weight to the moral resistance to employing it by adding a practical temptation to do so.

In practice

Two basic options have been advanced for addressing this issue:

  1. Use of Killing Combat reduces the opponent’s OV/RV by 1 CS or just the RV by 1 to 2 CSs. This is conceptually similar to existing Drawbacks such as Attack Vulnerability and Limitations such as Non-Lethal (which, in addition to limiting a Power to only using Bashing Damage only, also raises opponents’ RV by 1 CS).
  2. LDD versus Killing Damage is more expensive than versus Bashing Damage. The Genre Rules can be a useful guide — LDD versus Killing Damage might cost as much as LDD in a more restrictive Genre. For example, LDD in Action Genres normally costs 1 HP per RAP removed, so with this option LDD versus Killing Damage would cost 3 HPs per RAP as in the Mock-Real Genre.

Another more circumspect approach would be use of an Overkill rule in which Bashing Damage in excess of 2x the opponent’s BODY are inflicted as Killing Damage.

For example, a character scores 10 RAPs of Bashing Damage against an opponent with BODY 03. The first 6 RAPs are applied as Bashing Damage, with the first 3 RAPs knocking the opponent out by reducing him to 0 Current BODY and the other having no further effect since Bashing Damage cannot reduce a current BODY score below 0.

However, after those first 6 RAPs (the opponent’s BODY x2) the remaining 4 RAPs are applied as Killing Damage. This reduces the opponent to -4 current BODY and kills him unless measures such as Invulnerability or Desperation Recovery save him.

This indirectly reinforces the difference between Bashing and Killing Combat because characters not wishing to inflict Killing Damage will thus hold back, using lower EVs, not spending as much HPs on damage, limiting their doubles rolls, and so forth. Those using Killing Combat will not be holding back in such a manner and thus can use all of the above to their full effect.

A related modification suitable for more gritty genres is to allow Killing Damage to cause blood loss even if current BODY has not yet been reduced to 0.


Three-lines model vs. Descriptors

Authors: Sébastien Andrivet
Helper(s): Dr. Piispanen
Type: Rules structure discussion

The original game design for DC Heroes had a strong demarcation between Physical, Mental and Mystical effects. As design iterations went by this was diluted as the game did not benefit from too much rigour on that front — and having many Powers that were “same thing that this Mental Power, but Mystical” was a pain.

However, there are some remnants of this, especially in Powers descriptions. For instance, going by the text the Iron Will Power only protects against Mental effects, so a Mystic-Linked Hypnotism attack would completely ignore it – being a Mystical effect.

Many players find this counter-intuitive, and prefer to frame such things not as Physical/Mental/Mystical effects but as a descriptor – mind control is mind control, Iron Will’s intent is to protect against mind control, ergo it protects against mind control even if it’s magic.

On the other hand, certain defensive powers only make sense in the three-lines (Physical, Mental, Mystical) model, such as Mental Field and Magic Field. That a Mystic-Linked Hypnotism attack should ignore a Mental Field but be stopped by Magic Field makes obvious sense.

When creating a Character with such RV-boosting Powers, Players are thus encouraged to check with their GM what they think it applies against – to avoid disappointments in-game, or paying too many character creation points for something broader than what they meant to have.

See also the notes for Skin Armour, where enough people interpreted the term “Physical” – referring to the three-lines model – as having its usual English signification that we adopted that take for writeups.org entries.


Time in the air for super-leaps

Authors: John Colagioia
Helper(s): Dr. Piispanen, Andrew Aitken
Type: Comic book physics

Using the Jumping Power is not usually instantaneous – Characters who can leap vast distances spend time in the air. Using simplified physics, here’a simple formula that produces result that feel about right for super-jumpers such as the Hulk 

T = (J – 3) / 2
J is the APs of distance of the leap, and T is the time in APs.

So for example She-Hulk, with 7 APs of Jumping, generally hangs in the air for 2APs of time (about 16 seconds), during which she covers her 7 APs of distance.

This assumes a gravity of 1G – like on Earth. People with a pressing need to do super-jumps on other planets need to use a different gravity constant, replacing the “3” in the equation. Here are the numbers for the Sol system :
Sun 6.52
Mercury 1.32
Venus 2.50
Earth 2.68 (the 3 in the basic equation above is a simplification)
Mars 1.28
Jupiter 3.91
Saturn 2.58
Uranus 2.36
Neptune 2.85
Pluto 1.50

This formula assumes a parabolic jump – this is a Hulk-style super-jump, where the vertex (the high point) is equal to the length of the jump minus 1 AP. So a Hulk-style jump that is two miles long is also one mile high.

For a jump that is done more like real-world athletes do long jumps, the vertex would the length minus 2 APs as the trajectory is much flatter – it is roughly a 45° slope to the vertex, 45° being the most efficient curvature.

Designer’s notes: Just like in physics class, we’ll model the leap as a parabola (and ignore wind resistance and such).

This is nice, because we can ignore horizontal movement in the calculations (we only care about time in the air; distance covered is a byproduct). So, we relate the height of the apex to time in the air to get there like so:

h = ½ * a * t2

(Actually, this is the falling time, starting at velocity=0, but they’re the same result.) The height (so the rules tell us… or maybe imply, I forget) is one AP less than the APs of the Jumping Power. Converting APs to real-world numbers, that gives us:

10 * 2J = ½ * a * t2
20 * 2J = a * t2
which is a good excuse to take the log of both sides, which “downgrades” the arithmetic operations:

lg(20) + J = lg(a) + 2 * lg(t)
lg(5) + lg(4) + J = lg(a) + 2 * lg(t)
lg(5) + 2 + J = lg(a) + 2 * lg(t)

lg(t) is actually APs of time plus two (0APs = 4s, which is two squared), so we get:
lg(5) + 2 + J = lg(a) + 2 * (T + 2)
lg(5) + 2 + J = lg(a) + 2T + 4
lg(5) + J = lg(a) + 2T + 2

and now we solve for T, which is what we’re after.
T = (J + lg(5) – lg(a) – 2) / 2
T = (J + lg(5) – lg(a)) / 2 – 1

OK, remember that the upward time is equal to the downward time? That means we have to double the APs of time, which means we add 1AP:
T = (J + lg(5) – lg(a)) / 2

Ta-da! Now all we need are accelerations due to gravity (a) and APs of Jumping. Oh, and a calculator that does base-2 logarithms (or a person who can do change-of-base calculations).

If we define an “AP Gravity” as (lg(5) – lg(a)), we can even clean that ugliness up a bit, getting:
T = (J – G) / 2


Fire hazards

Superheroes sometimes encounter large fires, whether they’re sweeping in to save innocents in a burning building or battling an arsonist supervillain. Common dangers of these blazes include :

  • Smoke inhalation. The whole zone will be saturated with the equivalent of a Chemical Attack, with an AP rating ranging from 01 AP to 08 APs depending on conditions ; if a person’s DEX is reduced to 0, the effects becomes Poison Touch with the same APs. Smoke inhalation is the most common cause of death in fires.
    Note that crawling face close the floor is a bad idea – that’s where the heavier gases are, and unsurprisingly, they are poisonous. It’s best to ambulate on all four and breathe at that level.
  • Lack of visibility. Most of the time, the action will be considered to occur in darkness (BOH:SE p151). The conditions in a building on fire are highly disorienting, and the GM may occasionally require Difficult INT/INT rolls to orient yourself under such conditions. Professional firemen reduce this difficulty by one step (or two if they have a Scholar in their profession).
  • Weakened buildings. Risks include crashing through a weakened floor, or having burning parts of the superstructure fall on you (the later being typically an AV 08/EV 06 attack ; getting free is a Difficult or Strenuous STR/STR roll).
  • Sheer heat. Coming close to a raging fire is enough for Flame Project attack, tested against BODY/BODY. Intensity is usually 01 or 02 APs, as it can make a normal person pass out pretty fast. Being directly exposed to fire will have an AV/EV ranging from 03/03 (small fire) to 08/08 (raging inferno) (BOH:SE p151). Chemical fires may reach an even greater AV/EV, typically 10/10.
  • Having your own clothes or costume catch fire is usually a 03/03 attack against BODY/BODY – but it increases by one every Phase, to a maximum of 06/06. Dropping to the floor and rolling, or having somebody smother or spray you with foam, always works in a single Phase in fiction.


Use of bait

Authors: Dr. Peter Piispanen
Helper(s): Roy Cowan, Ethan Roe
Type: New Rules

A trapper regularly employs laid out baits in order to lure an animal out of hiding, after which the trapper can spring his trap or kill/sedate the approaching animal. What the hunter or trapper is exactly trying to do with a bait is to convince the animal (or other prey, such as for example, zombies, aliens etc.) that something of interest lays there and therewith lure it to come take a closer look.

Given that it’s usually based on either olfactory or visual functions (like in lake fishing of small fish – see Fishing below – although ocean fishing of shark, for example, by the use of a slab of bloody meat will count as an olfactory bait) said interest could consist of the smell of an animal of the opposite sex, the smell of the animal’s common prey or something else that ignites the animal’s interest (like cat-mint).

The proper use of baits consists of three steps, a) to convince the animal to approach a bait (which is a Gadget), b) to avoid detection by the approaching animal, and c) to spring the trap itself as the animal is where the trapper wanted it.

Bait-examples-h1

Applicable Skill

The Survival skill set (alternatively Military Science (Survival) and even Military Science (Booby-traps)), as well as the limited form of Animal Handling mentioned below, may be used for the creation of the bait Gadget itself (as if these skills was Gadgetry; naturally the standard Gadgetry Skill itself can also be used to build a bait).

The more common olfactory baits usually have the Persuasion skill, although the less common, and somewhat less effective, purely visual baits may instead be constructed with the Chameleon Power as the animal is fooled into thinking that it sees something that attracts it. Baits can also commonly be purchased in shops specializing in hunting or fishing.

Since the trapper is to fool the animal by presenting something that attracts its interest without giving the artificial set-up of the bait away, this might be considered a Bluff Maneuver. i.e. a Persuasion Attempt that grants a + or – CS depending on the difference between the INTs of the character and the animal, as well as possibly being affected by some other factors (noted below).

The APs of Persuasion are carried by the bait, which is a gadget, specifically designed to attract specific or non-specific species. After having laid down the bait, the trapper goes into hiding and awaits the prey, at which point the bait rolls are made.

Examples of bait

Standard Bait [BODY 01, Charisma (Persuasion) 05, Bonus: Persuasion has Area Effect (+1), Limitation: Persuasion subskill can only be used to convince forest and steppes species, such as rabbits, wolves, bears, coyotes etc. through smell to come check up on the bait itself from within the APs of Range (i.e. APs of Persuasion)(-1), Notes: Persuasion is olfactory, not audial or visual.

While the target species is checking up on the bait, the trapper can easily shoot, stab or capture it, with the only risk being that there may be a lot of prey, some possibly dangerous, in the area by then.]

Worm-on-a-hook Bait [BODY 01, Camouflage 02, Limitation: Camouflage can only persuade fish that it is seeing food (-1), Notes: Persuasion is purely visual, and the fish being bated gets a -1 CS OV/RV for trying to see through the lure (by a Perception Check). Failing this, while the fish makes the choice of eating the bait, the fisher pulls it hooked and then pulls it up to begin the round anew. While a few fishes may indeed see the hook hiding behind the worm, others won’t and will therefore end up as dinner.]

Bait-examples-h2

Olfactory bait

In the first part, The AV/EV of the bait attempt is either equal to the APs of Persuasion of the laid down bait or, since it is something that relies on understanding the animal to some degree, the Survival Skill of the trapper may instead substitute for the AV/EV of the Persuasion Attempt (if said Skill set is used in one’s game, otherwise go with Military Science (Survival) or Military Science (Booby-traps)).

In very few specific instances, such as a canine trainer hunting down dogs, the Animal Handling skill may be used as the AV/EV instead.

The OV/RV of the bait attempt are the Mystical Attributes of the animal as per a normal Persuasion roll. However, if the animal has relevant senses that might make it aware of a potential traps, those might be substituted for the OV of the Persuasion attempt instead of the animal’s Mystical Attributes.

This might make luring and trapping the subject relatively hard, but takes well into account the fact that it often takes careful preparation and patience to set up bait and wait for an animal to find and approach it.

Scoring full RAPs will guarantee that the animal comes to inspect the bait, while partial RAPs will ensure that the animal stays in the vicinity out of curiosity (unless it is scared away or spots the trapper), until the GM allows for a reroll of baiting (this time depends on the species and can vary from hours down to seconds as for fish), which will result in:

  • no RAPs: animal loses interest
  • partial RAPs: the animal still remains in the area
  • full RAPs: the animal goes straight for the bait

In the second part, while the animal is carefully approaching the bait, it is allowed to try to spot the danger in wait. There will be a separate Camouflage check to spot the hunter waiting near-by for the animal to take the bait and spring his trap, and scoring partial RAPs will alert the animal to some possible danger, while scoring full RAPs won’t.

This Perception check by the animal is done either against the Stealth subskill or Camouflage subskill of the trapper; although possessing neither skill will instead default the OV/RV to a factor depending on the surrounding vegetation and terrain, with it increasing in hard weather and dense vegetation.

In the third part, the trapper will try to catch the animal in a net, hook or other contraption, or alternatively shoot to kill or stun it. This uses the ordinary combat skills of the trapper, unless a trap has also been built right next to the bait. Such a trap could have the Alert Power to go off as designed once the right animal approaches.

Fishing and visual bait

In the case of a visual bait using Chameleon, such as fishing lake fish using worms on hook, the animal must first notice the bait and then try to see if it’s the real deal or not, using a Perception Check against the APs of Power. This check is reduced by -1 CS OV/RV due to the inferiority of visual bait.

If the animal scores full RAPs it will see through the ruse and move away to seek food or other matters elsewhere.

A normal worm on a hook will have a default OV/RV of 2 in fishing. In the visual case, the Survival Skill (or Military Science (Survival), or any Fisher subskill the character may have if the matter pertains to fishing, can substitute for the OV/RV of the animal’s Perception Check.

Failing its Perception check, the animal will approach the (possibly camouflaged or life-like) bait, and in the case of fish try to eat the bait, at which point the fisher hooks it and pulls it up.

Sneaky animals

If the campaign contains an animal known to expertly evade traps, it might have a Scholar or Expertise in addition to higher Mental/Mystical stats, enabling it to easier see through the trapping attempt.

Hunter folklore certainly has numerous tales of especially wily critters who show great prowess at avoiding traps, and every lake fisher has his arch-enemy, the old ever-evading pike (gotta catch that Esox lucius !).

Such evading animals may have been fooled once by a bait and survived the experience. The next time it was more careful and learned to look out for some signs. It grew wiser and more experienced (Mystical Attributes) and eventually learned the Advantage.

Bait-examples-h3

Compiled, formatted, edited, etc. by Roy Cowan and Sébastien Andrivet

Subscribe to our newsletter!