Has anyone tested the effect of allowing cantrips to be repeatedly cast between battles?

Short Version: Some characters have cantrips (or unlimited-used abilities) that they would like to have in combat, like Shillelagh. Has anyone tested or experienced methods of allowing these to be ready in advance?

Long Version: I have a player who wants to build an Arcana Cleric who uses Shillelagh, a non-concentration cantrip with a 1-minute duration, for melee combat. She would like to have it ready when combat begins for action economy (to do such other things as casting Spiritual Weapon on the first turn). She figures she can simply cast it continuously while walking around between fights.

I was considering allowing this, with a few caveats. My thoughts were:

  • Constantly casting a cantrip will give Disadvantage to be aware of surroundings, giving a -5 to Passive Perception/Investigation.
  • Since it has a Verbal component, she will be constantly emitting noise, possibly giving enemies some advance warning of the party’s approach.
  • Originally I was going to have her roll a d10 at the start of any battle to see how much time was left on the 1-minute cantrip (since it’s conveniently 10 rounds of duration), but technically she could recast it every 6 seconds to restart the timer, RAW, rather than waiting until it expired.

There are other potential factors, such as aggravating any NPCs that travel with them (imagine someone repeating the same 6 seconds of magic words over and over. ALL. DAY. LONG.), and not being able to renew it while her focus was required elsewhere (like solving a tricky puzzle, or while hiding, or while having a conversation).

Here are my questions:

  • Are there any other factors that need to be weighed, mechanically-speaking?
  • Is there any problem with my interpretation of the ability to recast it every 6 seconds?
  • Has anyone used or witnessed their own method of handling a PC constantly re-using a similar spell or ability?

What are the game playing impacts of allowing players to take turns out of initiative order? [duplicate]

As per a previous question I asked RAW do not allow players to go later in initiative order in 5E as they could in earlier editions of DnD and other roleplaying systems.

What are the potential things to consider if I choose to home brew changes to this behavior as part of my own rules?

The rule I am considering is as follows.

In a players turn they may either hold an action based on a trigger as per RAW or they can choose to delay there entire turn until after another stated players turn. A player may only delay once per round and cannot name a player Or NPC higher in initiative order to wait for. E G a 5 character combat 4 players and NPC roll initiative and are in order players 1 to 4(high to low) with the NPC sitting after player 3

Player 1 can choose to delay their turn and take it after players 2-4, or the NPC, they state they will go after player 3

On player 3 go they may choose to either go after player 4 or now, they cannot decide to go directly after player 1

Player 1 now takes their turn and must have a turn they may not choose to delay again.

Next round the players return to original initiative order.

In order to stick to stack guidelines I am looking for specific examples from players and GMs who have tried this rather then opinions.

Would allowing all Unearthed Arcana create rules problems?

I’m thinking of running a campaign where the players don’t have books and I wanted to recommend that they use the SRD until then, but also use any Unearthed Arcana material from Wizards’ site if they wanted.

Would allowing all Unearthed Arcana material create any balance problems or fundamental rule contradictions?

The main reasons being would be to allow players to use free material without worrying about buying books just yet, but also having available more interesting stuff to work with.

How powerful can a 20th-level Wizard make a 1st-level Fighter without allowing him to realize it is the Wizard’s doing?

A 20th level Wizard makes a bet with another 20th level Wizard – he has to make his grandson succeed on a difficult mission. Without allowing his grandson (a first level Fighter) or his grandson’s compatriots (a first level Rogue, Bard, and Druid) to realize that the Wizard is secretly aiding them, or doing anything to defeat their foes directly, or helping anyone but his grandson (these are all terms of the bet).

To clarify –

  • This Wizard can cast spells on his grandson, only. He can’t Dominate the monsters or Disintegrate locked doors.
  • His grandson has to defeat the challenges (the Wizard can’t even weaken them).
  • Neither his grandson, or any of his party members, can realize or even suspect that someone is aiding them.

Luckily the grandson and his entire party not only lack Spellcraft but also Knowledge: Arcana. However they don’t lack basic induction – suddenly being able to fly or shoot fireballs is likely to raise their suspicion. A magic sword left leaning casually against a door would certainly count as a fail.

So given this situation, with a level 20 Wizard who is unafraid to spend resources to win this bet with his buddy (xp, magic items, scrolls, favours) what can he do to make his grandson’s party succeed at an adventure that may have CR 5-6 encounters or worse?

For the sake of this example, assume the wizard has access to whatever feats, spells, or wealth he needs to achieve this difficult task – he’s using optimization tricks to rebuild or has his own time-slowed demiplane or whatever, he’s a Tricky Wizard and not just a fireball-slinger.

Suggest allowing new color brackets

By now I have spent a bit of effort in writing Mathematica notebook for my analysis tasks and appreciate the power of the Mathematica language. At the same time, I also discover that a significant fraction of my time had been spent on balancing the (, [ and { bracket, or scratching my head to discover that the weird results I got were due to improper placement of the closing brackets. I wonder if the code developers have considered allowing different colors to make my chore easier. An example may be that every time an open bracket is invoked, whether (, [ or {, a new and different color is attached to that bracket, and likewise, at closing. In this manner, if an improper placement is made, I would discover it immediately. Just a suggestion.

Ensure function has completed before allowing another Ajax call

I am updating an array saved in a users meta field using an ajax function.

The values added to the array are taken from the data-attributes within the tags which also act at the trigger to make the ajax call.

Whilst the function works 95% of the time, it can be a bit hit and miss whether the values save or not. I suspect this is because a user can fire these ajax calls too quickly and not give enough time for the original function call to save and update the meta field.

What would be the best method to ensure the ajax triggered function of updating the meta field value has been completed before allowing the function to run again?

Hope this makes sense – needless to say, please let me know if you need any more info.

Thanks in advance!!

Sample HTML

<div id="rjb_slots" class="slots">   <h5>Mon, 24th Aug 2020</h5>   <div class="slot">     <span class="time">10:30</span>     <a class="book" data-timestamp="1598265000" href="#"></a>   </div>   <div class="slot">     <span class="time">11:00</span>     <a class="booked" data-timestamp="1598266800" href="#"></a>   </div>   <div class="slot">     <span class="time">11:30</span>     <a class="booked" data-timestamp="1598268600" href="#"></a>   </div>   <div class="slot">     <span class="time">12:00</span>     <a class="book" data-timestamp="1598270400" href="#"></a>   </div>   <div class="slot">     <span class="time">12:30</span>     <a class="booked" data-timestamp="1598272200" href="#"></a>   </div>   <div class="slot">     <span class="time">13:00</span>     <a class="book" data-timestamp="1598274000" href="#"></a>   </div>   <div class="slot">     <span class="time">19:30</span>     <a class="book" data-timestamp="1598297400" href="#"></a>   </div> </div> 

Ajax .js

$  ('.slot').on('click', 'a.book', function(e) {   e.preventDefault();    var user   = $  ('#rjb_day').attr( 'data-user' );   var stamp  = $  (this).attr( 'data-timestamp' );       // console.log(bookCap);      $  (this).removeClass('book').addClass('booked');    $  .ajax({     type: 'POST',     url: ajax_object.ajaxurl,     data: {         action: 'rjb_make_diary_slots',         user: user,         stamp: stamp     },     success: function(data) {       // This outputs the result of the ajax request       console.log(data);     },     error: function(errorThrown){         console.log(errorThrown);     }   });      }); 

Function that updates the user metafield

add_action( 'wp_ajax_rjb_make_diary_slots', 'rjb_make_diary_slots' );  function rjb_make_diary_slots() {    $  user   = $  _POST['user'];    $  stamp  = array(               array(                  'rjb_cal_day'           => strtotime('today', $  _POST['stamp']),                 'rjb_cal_when'          => $  _POST['stamp'],                 'rjb_cal_position_id'   => '',                 'rjb_cal_candidate_id'  => ''               )             );    $  calendar   = get_user_meta( $  user, 'rjb_cal', true);   $  stamps     = !empty($  calendar) ? $  calendar : array();   $  new_stamp  = array_merge($  stamps, $  stamp);    usort($  new_stamp, function($  a, $  b) {     return $  a['rjb_cal_when'] <=> $  b['rjb_cal_when'];   });    update_user_meta( $  user, 'rjb_cal', $  new_stamp);    $  log = print_r($  stamp);    wp_die($  log);  } 

Example of a value stored in the rjb_cal user meta field

array (   [0] => array (     [rjb_cal_day] => 1598227200     [rjb_cal_when] => 1598266800     [rjb_cal_position_id] =>      [rjb_cal_candidate_id] =>    )   [1] => array (     [rjb_cal_day] => 1598227200     [rjb_cal_when] => 1598268600     [rjb_cal_position_id] =>      [rjb_cal_candidate_id] =>    )   [2] => array (     [rjb_cal_day] => 1598227200     [rjb_cal_when] => 1598272200     [rjb_cal_position_id] =>      [rjb_cal_candidate_id] =>    ) ) 

Allowing Disengage for free

I’m the DM, and I’m concerned that combat feels pretty static.

As I understand it in RAW:

  • Once you’ve reached melee range, moving further away will provoke an opportunity attack, unless you disengage
  • disengage costs an action (unless you have a feature that lets you do it for free)

This seems to mean adventurers who get within 5′ of an enemy stay there until the enemy is dead, to avoid getting an opportunity attack.

This seems to make combat rather static, which I find irritating. It seems static compared to my martial arts experience (HEMA), or to say video games. (I realise 5e is a different thing to these, but it leads me to wonder if combat is unintentionally static, given the disengage action has been provided).

Some recent instances which annoyed me –

  • In a recent encounter, the tank threw the halfling at a slime (it was on the ceiling, out of reach…). They succeeded appropriate rolls, and after the combat I asked where they’d want to land. They placed themselves adjacent to the slime, as they’d be hit by an opportunity attack otherwise. I left it, as I wasn’t sure I wanted to set a precedent, but I felt that they should probably land further away.
  • A mounted character charged into combat. Despite having plenty of move left, they ended turn next to the enemy. It feels more RP that they should pass the enemy and end turn out of melee range?
  • A large enemy tied down most of the players; even those which were badly wounded stayed in combat, aiming to defeat the enemy before their next turn, rather than pulling out and letting the other characters handle it. It feels unnatural that if a large monster is fighting ~4 players in melee, they’d be free to get an opportunity attack if one moves out of range – particularly if that character has moved to the back/side.

I’m thinking of:

  • Allowing a free disengage if a player enters combat ‘with some momentum’ (e.g. mounted or otherwise moving faster than normal). Probably I’d limit this to the initial charge into combat for the mounted character. (This When a controlled mount takes the Disengage action, does the rider still provoke an opportunity attack if he or she does not also Disengage? seems to suggest this would be OK for mounted characters?)
  • Allowing a free disengage from behind a (large+?) creature if other players are also in combat with it and thus presumably distracting it.

Does this break things? Is there anything else I should be doing to make the combat more dynamic?

Allowing Allies to free one from Entangle and Web

SZEGA pointed out an error on my part – I am currently editing this question

Among spells that restrain creatures, most require those restrained to free themselves while others expressly allow allies to free them or to assist.

I suggest that allies be explicitly allowed to free restrained creatures from both entangle and web.

Spells that provide an explicit mechanic for allies to free those restrained: Ensnaring strike (1st), Snare (1st)

Spells that allow one to free oneself on an ability check rather than a save: Entangle (1st), Maximilian’s Earthen Grasp (2nd), Web (2nd)

Spells that require those restrained to free themselves without assistance: Evard’s Black Tentacles (4th), Flesh to Stone (6th), Imprisonment (9th), Mental Prison (6th), Prismatic Spray (7th), Prismatic Wall (9th), Telekinesis (5th), Watery Sphere (4th), Whirlwind (7th level), Wrath of Nature (5th)

The problem I have with the second category, those in which using the Help action is an option, is that it relegates the Help

The webbing of the giant spider monster permits allies to cut free those restrained – this seems like a good model for the web spell.

The net weapon allows allies to either pull one free or cut one free – this seems like a good model for the entangle spell.

Am I missing a balance issue, a design intent, or an errata?
Or am I correct that entangle and web should have been written like other first and second level spells to allow restrained creatures to be freed by allies?

A comment including any spells that restrain that I have missed would be appreciated as well.

What would be the balance implications of allowing multiclassing with the same class (e.g. for access to multiple subclasses)?

The rules for Multiclassing on page 163 of the PHB state:

With this rule, you have the option of gaining a level in a new class whenever you advance in level, instead of gaining a level in your current class.

By RAW, it seems clear you cannot start out at level 1 again in your current class in order to achieve something like a Sorcerer (Draconic Bloodline) 1 / Sorcerer (Divine Soul) 1.

Would it be balanced to allow this anyway? Which problems would occur?

Assume that all other rules for multiclassing remain intact, such as the spell slot calculation or the limitation of multiple instances of Extra Attack.

Related: the same question for Pathfinder, clarification that this is not allowed by RAW

Best guidance for allowing users to connect via HTTP in case of a certificate error

I’ve coded my app to use https, but if a https transaction fails for any reason, I assume it’s because the server isn’t configured for https, and thereafter start all transactions with http. Seems like that’s a vulnerability. Likewise, a script kiddie using a proxy to intercept the traffic on his client hardware would be able to make all https transactions fail.

I’m told that if someone tries to MITM your app’s HTTPS request then the request should fail (invalid certificate) and your app should fail with an error, not fallback to HTTP. In a world where SSL is reliably available, sure, but maintaining valid SSL certs is a task in itself. For example, letsencrypt recently revoked some of their certificates and forced renewal of same because of some security problem. Aside from revocations, certs are short term and have to be renewed, and the renewal process involves a lot of stitchware, and can fail. If SSL goes down, I don’t want my site to go dark.

What is the best guidance for either:

  1. More reliably maintaining certificates (such that if they do fail, the resulting downtime falls within the "five nines" SLA unavailability window) without it being such a manual headache, or

  2. Allowing the site to continue to work if SSL has failed? Is it easy to allow most activity to proceed using http, but allow known-critical transactions to require https.

Note that no browsers are involved in the scenarios that concern me.