I'm making an RGP board game where I have different heros, each one of them belongs to some types  for example ("Aatrox" is a Dragon and a Ninja hence he belong to these two types),and each player has a  list of champion with fixed attirubtes like basicAttackDamage,criticalstrike/chance/ability..etc  and i have what are called as buffs, a buff gets activated to player when his some of his heros  belong to certain types  eg: if a player gets two Dragons or more , then every hero whose type is Dragon gets double Damage  Attack, TrueDamage(Ignore magic resist and armor), Attack..etc  so i was wondering what would be the most flexible way to implement these sort of buffs considering the  fact that each champion could only use his attack/ability once in each round and there are buffs that  gets added with a certain chance "this buffs gives the hero 40% chance to stun the enemy with basic  attack, and buffs which add health to heros ("this buffs give the hero 250 extra health") etc..  my current approach is to add tags on buffs and apply these buffs when attacking or defending an attack  so this would look something like  enum BuffsType{ OnHit,OnAttack }   but this approach kinda fails at complex buffs like "a chance to hit extra  attack/extra enemy/". I have seen some discussions about this but none of the answers seemed to be REALLY flexible, most of them failed at complex buffs  design-patterns software-design
13069
Overview:  Lots of games with RPG-like statistics allow for character "buffs", ranging from simple "Deal 25% extra damage" to more complicated things like "Deal 15 damage back to attackers when hit."  The specifics of each type of buff aren't really relevant.  I'm looking for a (presumably object-oriented) way to handle arbitrary buffs.  Details:  In my particular case, I have multiple characters in a turn-based battle environment, so I envisioned buffs being tied to events like "OnTurnStart", "OnReceiveDamage", etc.  Perhaps each buff is a subclass of a main Buff abstract class, where only the relevant events are overloaded.  Then each character could have a vector of buffs currently applied.  Does this solution make sense?  I can certainly see dozens of event types being necessary, it feels like making a new subclass for each buff is overkill, and it doesn't seem to allow for any buff "interactions".  That is, if I wanted to implement a cap on damage boosts so that even if you had 10 different buffs which all give 25% extra damage, you only do 100% extra instead of 250% extra.  And there's more complicated situations that ideally I could control.  I'm sure everyone can come up with examples of how more sophisticated buffs can potentially interact with each other in a way that as a game developer I may not want.  As a relatively inexperienced C++ programmer (I generally have used C in embedded systems), I feel like my solution is simplistic and probably doesn't take full advantage of the object-oriented language.  Thoughts?  Has anyone here designed a fairly robust buff system before?  Edit: Regarding Answer(s):  I selected an answer primarily based on good detail and a solid answer to the question I asked, but reading the responses gave me some more insight.  Perhaps unsurprisingly, the different systems or tweaked systems seem to apply better to certain situations.  What system works best for my game will depend on the types, variance, and number of buffs I intend to be able to apply.  For a game like Diablo 3 (mentioned below), where nearly any bit of equipment can change a buff's strength, the buffs are just character stats system seems like a good idea whenever possible.  For the turn-based situation I'm in, the event-based approach may be more suitable.  In any case, I'm still hoping someone comes along with a fancy "OO" magic bullet which will allow for me to apply a +2 move distance per turn buff, a deal 50% of damage taken back to the attacker buff, and a automatically teleport to a nearby tile when attacked from 3 or more tiles away buff in a single system without turning a +5 strength buff into its own subclass.  I think the closest thing is the answer I marked, but the floor is still open.  Thanks to everyone for the input.
62434
I've just recently started playing D&amp;D 4e through the Red Box, and I am confused about how to fill in the power cards.  So, take Nimbus of Holy Shielding for instance. I understand the Target and Hit components as well as the effect, but my question is about the Attack component. It reads:     Attack: Wisdom vs Will.   Does the mean whatever my Wisdom score is, without the modifier, is compared to the Will score of the enemy? Would I then not even have to roll a d20 to see if it works?
91025
I am new to this game, and will try to optimize my game-play as much as possible. I will do this by making macros for my spells and abilities.  Are there global cooldown on spells and abilities in League of Legends?  Since this is important regarding macros to trigger spell and ability combos.  A Global Cooldown(GCD) is a cooldown which affect most if not all abilities, spells or items when using an ability, spell or item.   In most games it is there to prevent macroing/spamming of multiple instant abilities, spells or items, and usually has a set short duration independent of the ability, spell or items normal Cooldown.
76484
A friend and myself were having a discussion and we had a small disagreement about a rule. He says that if he has a high base attack bonus, say 20/15/10/5, and has a special ability that is activated as a standard action that he can use it 4 times on his round similarly to a full attack action. My argument is that the high base attack bonus only applies to attacks. He says that since a single attack is a standard action the 4 attacks can be replaced by standard actions.  More specifically he says that his god character can use the Hand of Death salient divine power 5 times in a round, 4 for base attack bonus and 1 for haste.  Which one of us is right?
51571
Quite simply (and similarly to my other questions about previous versions of this feat  and ) I want to know if this feat is balanced and if not then what should be done to improve it? Since the last iteration I have changed the wording as per David Coffron's answer, increased the time and monetary cost as well as added in the action requirement to activate the rune as per Ruse's answer and increased the costs as per linksassin's answer     Rune Caster      Prerequisites: ability to cast at least one spell of 1st level or higher      When you take this feat you can imbue your spells of 1st level or higher into a rune by casting the spell as a rune, this means that you must have the object you want to put the rune on within reach for the entire duration of the casting as well as any tools required to make the rune.      When casting a rune you add the time listed in the cost time table to the casting time and the cost listed in the cost time table to the components of the spell in accordance with the stored spell.      \begin{array}{|l|l|l|} \hline \text{Spell level} &amp; \text{Time (hrs)} &amp; \text{Cost (GP)}\\ \hline 1 &amp; 1 &amp; 50 \\ \hline 2 &amp; 2 &amp; 100\\ \hline 3 &amp; 4 &amp; 500\\ \hline 4 &amp; 6 &amp; 1,000\\ \hline 5 &amp; 8 &amp; 5,000\\ \hline 6 &amp; 12 &amp; 10,000\\ \hline 7 &amp; 16 &amp; 50,000\\ \hline 8 &amp; 18 &amp; 100,000\\ \hline 9 &amp; 24 &amp; 500,000\\ \hline \end{array}      When making a rune you choose a trigger which is touch and/or command word and can be specified to only a group of people/creatures or a body part. When defining creatures that can activate the rune you may be as specific or general as you want. The DM interprets the designated creatures as your character would have interpreted them when you made the rune.      When you store a spell in a rune some of the ranges are altered, a range of touch becomes a range of self, a range and target keeps the same range and the person who activates the rune designates the target and range with an aoe sets the origin to the center of the rune, lastly a range of self stays the same.      When a rune is activated the spell is released acting as if it had just been cast without requiring any components or concentration. The rune then disappears leaving no trace of its presence. To activate a rune you must complete the trigger, this means speaking any command words and physically touching the rune each if applicable, this requires the activator to use the object interaction action while within reach for touch runes and while within 60 ft for command words. If both triggers are used then they must both be fulfilled within the same turn.
11882
I'm looking through the PHB and I notice that none of the Classes explicitly state an Alignment or Race limitation.  There is flavor text, but there is nothing that looks like a rule. I see some stuff scattered around, e.g., Alignments lists Paladins under Lawful Good. This seems like an actual rule since it doesn't say "Many Paladins" or "Most Paladins" but very definitively "Paladins". I know that Paladins are Lawful Good in older revisions, but assuming I knew nothing about D&amp;D, is there a definitive (RAW) grid somewhere in the PHB or supplemental documentation?  Or is a Neutral Good Tiefling Rogue perfectly acceptable?
45683
My character has a bite attack from his race.  What happens if he gains another bite attack from class abilities or spells?  Does the damage increase?  Can he make more than one attack?  Or is it simply that only the better version applies?  I would prefer answers from a Pathfinder context but 3.5e is also acceptable.
5194
My friends and I are very new to D&amp;D, played like 3 times. In a monster's stats next to weapon damage it says stuff like "+11 to hit" and "Hit: 5 (1d8+1)". For the premade characters it just says things like "+4, 2d6 + 2 slashing", though. Why are there two "hit" numbers for monsters? Which do I use for the d20 roll to hit against a target's AC?  I mean for example like in the Ogre entry in the "" article on monsters.
115715
I'm creating a druid and came across an interesting tactic that seems to be both overpowered and allowed as the rules are written. (Our characters will be level 5 due to people wanting to keep their previous characters from our last campaign.)  The scenario is this:    The party comes across a scary enemy.   The druid gets the highest initiative.    Druid casts "Conjure Animals" as a third level spell.   He decides he wants 8 Constrictor Snakes (or any other sized beasts that can grapple) to surround the enemy.    The initiative roll for the group of snakes allows them to act next.   The druid commands them to attack the target. (They obey any verbal commands that you issue to them, no action required.)    They all attack the target and grapple him. (Based on their action "constrict". Basically if they hit they deal damage and automatically grapple.)              This poses several questions:   Can multiple creatures grapple a single target?    Would this require multiple attempts to break free?     How would you deal with different creatures with different "break free from grapple" saves?      How would this apply to different beasts? (Constrictor Snakes, Crocodiles, Giant Crabs, Giant Octopi...)
80075
If a caster uses a higher level slot for the Enhance Ability spell, can they specify different effects for different targets?  Example: target 1 gets Bear's Endurance, and target 2 gets Bull's Strength.
82455
In the recent book Xanathar's Guide to Everything, there are some subclasses/archetypes added for Rangers, among them the  (p. 43), which gives some specific helpful features. Hunter's Sense  At 3rd level, you gain the ability to peer at a creature and magically discern how best to hurt it. As an action, choose one creature you can see within 60 feet of you. You immediately learn whether the creature has any damage immunities, resistances, or vulnerabilities and what they are. If the creature is hidden from divination magic, you sense that it has no damage immunities, resistances, or vulnerabilities. You can use this feature a number of times equal to your Wisdom modifier (minimum of once). You regain all expended uses of it when you finish a long rest.  The limitations on use are clearly spelled out. Slayer's Prey  Starting at 3rd level, you can focus your ire on one foe, increasing the harm you inflict on it. As a bonus action, you designate one creature you can see within 60 feet of you as the target of this feature. The first time each turn that you hit that target with a weapon attack, it takes an extra 1d6 damage from the weapon. This benefit lasts until you finish a short or long rest. It ends early if you designate a different creature.  So from this, I would interpret it as it being able to switch from creature to creature at will, but there is no guidance as to what happens if the creature under the mark dies, or if you can carry it (so to speak) from encounter to encounter. Is there a limitation on the use of Slayer's Prey in the wording that I am missing? Or is this a basically a multiple use feature? (i.e., you can designate any creature as a bonus action, with no limitations on uses per day)? The extra d6 seems a little overpowering at lower levels, and somewhat meh at higher levels. FWIW, the GM basically allowed it as multi-use for the session, and was going to also try to find clarification.
80133
Do you get to use the additional attack from the Extra Attack feature as well when you Ready an Attack action?  One of my players, a monk, decided to Ready an action as an earth elemental was about to attack. The trigger was the elemental moving within five feet of him. When this occurred, he took his Attack action, and then proceeded to take the extra attack as well.  I was unsure at the time whether or not the extra attack would also happen, and I haven't had much luck figuring it out.
55840
Are there explicit rules for combining numerical bonuses in 5th edition, or is it just left implicitly to &quot;common sense&quot;?  There are special cases (e.g. damage resistance and vulnerability, choice of base AC formulae, identical spell/item effects) which are well-defined, but I can't find a general rule. Additive and multiplicative bonuses Example: Longstrider and Haste for a creature with 30' base walking speed.  Longstrider: You touch a creature. The target’s speed increases by 10 feet until the spell ends. Haste: Choose a willing creature that you can see within range. Until the spell ends, the target’s speed is doubled [...]  Possible interpretations:  Always multiply first: (30' × 2) + 10' = 70' Always add first: (30' + 10') × 2 = 80' Do it in the order the spells were cast Player chooses GM chooses  Multiplicative bonuses with one another Example: Haste and Boots of Speed for a creature with 30' base walking speed.  Boots of Speed: While you wear these boots, you can use a bonus action and click the boots' heels together. If you do, the boots double your walking speed [...]  Possible interpretations:  Doubling the second time just idempotently repeats the fact that it's been doubled: max(30' × 2, 30' × 2) = 60' Doubling the second time means your speed is quadrupled: 30' × 2 × 2 = 120' Doubling the second time adds another 100% of your base movement, resulting in an overall tripling: 30' × (100% + 100% + 100%) = 90'.  This was the rule in 3rd edition.
84688
Yesterday, our group was fighting a boss, and I had successfully thrown a net to restrain him (a condition which he could end by either using an Action to make a DC 10 Strength check, or by doing 5 slashing damage to the net by attacking it at disadvantage).  On a subsequent turn, as the boss was still netted, I decided to throw another net (which hit him too), with the objective to force him to use two Actions (or two successful attacks) to free itself.  The DM accepted the "stacking nets" effect, but I'm wondering if it was legitimate, considering that same-name game effects cannot stack at the same place and time, or something like that.  My question is : can you apply multiple net effects to a single target, thus forcing it to spend multiple actions (or attacks) to free itself from the restrained condition ?  An argument in favor of a "yes" would be to say that the different nets cover different parts of the target's body. An argument for a "no" would be to say that a net, by default, covers the entire body, and therefore, the anti-same-name-effect-stacking rule would apply there.
102779
I understand that RAW, features/spells/etc. that require a bonus action (e.g. Bardic Inspiration or Healing Word) cannot be used with a regular action instead (see ).  However, what would be the long-term ramifications and effects on game balance if I were to instead allow PCs to use a regular action for bonus-action features/spells/etc.?  For the sake of narrowing this down a bit; I'm only asking about ramifications when allowing player characters to do this, no need to take NPCs or Monsters into account. I don't use the variant rule of feats either, so no need to consider those as well.
57982
I have a character that has Inspiring Leader, and I can grant temporary hit points to my team members.  We have a Druid in the group that tends to use Wild Shape frequently.  When the Druid uses Wild Shape, do the Temporary Hit Points transfer over to the new form, or are they "attached" to the original form?  Is there anything in the books that handle this?
83916
I'm building a mod for Terraria that will add classes and their corresponding abilities to the game. You're a warrior? Push your ability key and you'll use your berserk ability.   I'm trying to make my player code as simple as possible. I'd like to set the player's in-game "class" by doing something like this at the top of the player class so the rest of the methods in it can access it later:  //Set class WarriorClass playerClass == new WarriorClass(playerReference, level)   Herein lies the first issue. I get an error at playerReference that says:  Error   CS0236  A field initializer cannot reference the non-static field, method, or property 'ModPlayer.playerReference'  MyMod   Ok, so I looked that up and set the initialization in the WarriorClass instead:  public Player playerReference = new Player();   And I have this now in my player code:  //Set class      WarriorClass playerClass = new WarriorClass(level);   Here's the beauty of it. In the gamepad input method within my player code all I ever have to do is:      //On key presses     public override void ProcessTriggers(TriggersSet triggersSet)     {         if (MyMod.ability1Key.JustPressed)         {              playerClass.UseAbility(MyMod.ability1Key);         }   Now that the ability1 key was pressed, let the WarriorClass handle what to do:      public void UseAbility(ModHotKey key)     {             //Ability 1             if (key.JustPressed == MyMod.ability1Key)             {                 //Start berserking                 if (player.HasBuff(ModContent.BuffType&lt;BerserkBuff&gt;()) == false )                 {                     //Lose 10% of your life                     lifeLost = player.statLifeMax2 / 10;                     player.statLife = player.statLife - (int)lifeLost;                      //Berserk and add damage over in the Buff code                     player.AddBuff(ModContent.BuffType&lt;BerserkBuff&gt;(), 600, false);                 }   This is all great!!! I can add any amount of classes I want and this player code never changes. Except If I want to add if/then logic to select a class in say, Update() then it breaks the following reference in my gamepad input code:  playerClass.UseAbility(MyMod.ability1Key);   Of course it won't have a reference unless I hard code it at the top of the player file, but I don't know what class a player will be until they pick one.  Am I doing this fundamentally in a bad way or am I missing something else in terms of OO programming? I don't want to have to initialize every class for the character at the top of the file like this:  WarriorClass warriorClass = new WarriorClass(level); ArcherClass archerClass = new ArcherClass(level); ...   ... just to do this in the gamepad input method:  if (classChoice == "Warrior") {      warriorClass.UseAbility(MyMod.ability1Key); } else if (classChoice == "Archer") {      archerClass.UseAbility(MyMod.ability1Key); }