## No, it generally does not increase weapon damage

When you cast Heat Metal on an object you get the following effect, the emphasis is mine:

Any creature in physical contact with the object receives 2d8 fire damage. when you cast the spell. Until the spell is over, you can use a bonus action on each of your subsequent shifts to cause this damage again.

Anyone who touches the object only takes damage from it once immediately when you cast the spell and then when you use an additional action to cause the damage again. Otherwise, touching the object (despite the heat) does not cause harm, so simply hitting someone with a metal object would not do more harm than normal: you do not have to worry about giving an accidental boost to your enemies using The spell against them.

## Action pranks!

That said, there are a couple of ways that would allow you to get this kind of effect if you tried deliberately.

First, if you prepared the spell to cast it at the moment when the target object was used to hit someone, it would rule that both the bearer and his target were in contact with the object at the time of casting, so both would take the damage.

Secondly, if you were to throw it on a weapon you were holding, in subsequent turns, in principle, you could use your bonus action to cause extra damage exactly when you hit someone with it (since a timeless bonus action specified can be used whenever you want on your turn). That would give you one hit per round with some extra damage.

Obviously, it is not a recommended strategy to use on you / friends unless you have fire resistance or immunity.

## dnd 5e – If a Fireball Necklace with 9 beads is thrown, is the resulting Fireball effect equivalent to a level 9 throw or a "level 11" throw?

### You can throw a full necklace for the equivalent of a "level 11" Ball of fire

The description of the Fireball necklace read (DMG, p. 182):

This necklace has 1d6 + 3 beads hanging on it. You can use an action to separate an account and throw it up to 60 feet away. When it reaches the end of its trajectory, the account will detonate as a third level. ball of fire spell (save DC 15).

You can launch multiple accounts, or even the entire necklace, as a single action. When you do, increase the level of ball of fire for 1 for each account beyond the first.

This means that you can throw a full necklace for the equivalent of a "level 11" Ball of fire.

This is due to the specific mechanics of this article; It is an exception to a general rule (see PHB p.7 under General Specific Hits) In most circumstances, you cannot cast a spell beyond the ninth level, simply because there are no spaces of level 10 or 11.

However, in this case, if you were lucky enough to get a Fireball necklace with 9 beads (1d6 + 3), and you threw the entire necklace, you would be causing damage equal to a level 11 Ball of fire spell out.

Ball of fire It is already a third level spell, so adding +8 accounts takes the spell to an equivalent 11th level spell.

The damage would be: 8d6 + 8d6, or an average of 56 fire damage points in a failed Dexterity save cast, which is not much, considering a level 9 spell as Meteor swarm For example, it can deal 40d6 points of fire damage or 140 on average in a failed save shot.

As a side note, you can do much more damage by throwing one account at a time! Throwing them in this way, a necklace with 9 beads can potentially cause 9 times 8d6 damage, which would be an average of 252 (9 times 28) damage on failed save throws.

## Does Caroline Flack dying show that women are too weak to deal with the metoo movement when they are thrown?

She was accused of physical aggression, not sexual assault, so I don't see what the MeToo movement has to do with anything. In addition, her boyfriend (the alleged victim) denied that it ever happened.

Hell, this case was so bad that her boyfriend not only denied it happened, but sent her flowers the day before she killed herself.

## operating systems – URB_FUNCTION_ABORT_PIPE is thrown by my mouse

I have a logitech g502 (wiring) that has been frozen at times. It is currently connected to a USB hub, and this problem does not occur when connected directly to the computer.

The solution to my problem was quite easy, but I was curious to find out what caused my mouse to really act and why it would be solved in this way.

So I turned on WireShark and saw that every time my mouse froze, I launched a urb_function_abort_pipe URB. Could someone tell me why this would happen, why it would only happen through a usb hub and how could I stop it?

## How many coins are thrown to get \$ k \$ faces with \$ 1- delta probability?

Let's say we have a coin with a probability of $$p$$ to get "head" on each pitch, and assume that we have a parameter $$k in mathbb N ^ +$$.

I am looking for an upper limit on the number of releases $$N$$ that would ensure that we see at least $$k$$ heads with probability $$1- delta$$.

I have tried to calculate such a limit, but I am not sure that it is correct or that it can be simplified.

Chernoff's limit tells us that if we mark the number of heads by $$H$$ then:

$$Pr (H le Np (1- gamma)) le e ^ {- gamma ^ 2Np / 2}$$

This means that to obtain a probability of at most $$delta$$ we would need to establish
$$gamma = sqrt { frac {2 ln delta ^ {- 1}} {Np}}.$$
This means that the requirement that $$H ge k$$ implies that we need
$$k = Np (1- gamma) = Np left (1- sqrt { frac {2 ln delta ^ {- 1}} {Np}} right) = Np- sqrt {{2 {Np } ln delta ^ -1}}.$$

Denote $$x = sqrt {Np}$$, then
$$x ^ 2-x cdot sqrt {{2 ln delta ^ {- 1}}} – k = 0.$$

So, we have
$$x = frac { sqrt {{2 ln delta ^ {- 1}}} + sqrt {2 ln delta ^ {- 1} + 4k}} {2} = frac { sqrt {{ ln delta ^ {- 1}}} + sqrt { ln delta ^ {- 1} + 4k}} { sqrt2}.$$

Thus:
$$N = x ^ 2 / p = frac { left ( sqrt {{ ln delta ^ {- 1}}} + sqrt { ln delta ^ {- 1} + 4k} right) ^ 2 } {2 P} = frac {{{{ ln delta ^ {- 1}}} + 2 ( ln delta ^ {- 1} + sqrt {4k ln delta ^ {- 1}}) + {( ln δ -1 – 4k)}} {2p} = frac {{{2 ln delta ^ {-1}}} + 2k + sqrt {4k ln delta ^ {-1}}} {p}.$$

• Is my analysis correct? Is there any way to simplify the limit?

It seems bad to me, since I would expect $$N = k / p + O (1)$$ it would be enough when $$delta$$ It's constant What am I missing?

## dnd 5e – Great sword with light and thrown ?? (New wild barbarian)

One of the possible wild waves of the new barbarian subclass:

Shadows are woven around a weapon of your
choice you have Even your anger
Finish, your weapon deals psychic damage
penetrating damage, and wins the light Y
properties thrown with a normal range of
20 feet and a long range of 60 feet. If you
drop the gun or throw it away, The weapon
dissipates and reappears in your hand in
At the end of your turn.

By default, a large sword (there are other large sticks available) has two hands:

This weapon requires two hands When you attack with that.

… and heavy:

Small creatures have a disadvantage in attack rolls with heavy weapons. The size and volume of a heavy weapon make it too large for a small creature to use it effectively.

But if the barbarian wild rise appears with option 7, then it seems that it would gain light:

A light weapon is small and easy to handle, making it ideal for use when fighting with two weapons.

So … just because of the mechanics, I don't see any problem between a wepon being light and heavy, since a small creature would have a disadvantage and you could duel, but thematically I have a problem with something that is light and heavy because, You know, there are two opposite ends of the "how heavy" scale. I guess the important question here is how heavy is it?

Mechanical problems come with light and 2 hands. 2 hands rule out the use of duels unless you have more than 2 arms (but I have seen that this is annulled in official books, such as when a giant handles it in one hand), but the light says it is perfect for handling a duel . So what happens in this case?

My interpretation is that you cannot fight duels for weight and strength, and the light cancels it, but I may be wrong.

## mysql – Uncaught Error: Call to undefined function mysqli_connect () in /var/www/html/db.php:2 Stack trace: # 0 {main} thrown in /var/www/html/db.php Docker

I leave the solution to the following error presented, in the connection of PHP with MySql. Using docker-compose

1. You have to have mysqli installed in the container:

• You can install it in 2 ways:

a) Inside the container you execute the command:

docker-php-ext-install mysqli

b) Inside the Dockerfile file you write the command:

FROM php: 7.1-fpm-alpine

RUN docker-php-ext-install mysqli

2. You have to use the mysqli_connect () function since the function
mysql_connect is obsolete.

3. In the mysqli_connect () function hostname field you have to
put the name with which the database is created in the file
docker-compose.yml

Next I annex how I built the docker-compose.yml file to run PHP-MySql with docker-compose.

``````version: '3'

services:
db:
image: mysql:5.7
environment:
ports:
- "9906:3306"
container_name: crud_db
web:
image: php:7.2.2-apache
container_name: crudPhp
depends_on:
- db
volumes:
- ./php/:/var/www/html/
ports:
- "8100:80"
stdin_open: true
tty: true
``````

Dockerfile

``````FROM php:7.2.2-apache
RUN docker-php-ext-install mysqli

``````

## sql server – charindex thrown by extended characters

Apparently it seems to be related to a collation or coding problem.

I would check the database and column collations to make sure both are the same.

Server collation

``````SELECT CONVERT (varchar, SERVERPROPERTY('collation')) AS 'Server Collation';
``````

Database collation

``````SELECT
name,
collation_name
FROM
sys.databases
WHERE
name = 'DBName';
``````

Column Collation

``````SELECT
name,
collation_name
FROM
sys.columns
WHERE
name = N'ColumnName';
``````

Quoted from MS-Docs Collation precede

Functions and collation

The CAST, CONVERT and COLLATE functions are sensitive to classification for
char, varchar and text data types. If the entry and exit of the
The CAST and CONVERT functions are character strings, the output string
It has the classification tag of the input string. If the entry is not a
character string, the output string is Coercible-default and is assigned
the collection of the current database for the connection, or the
database containing the user-defined function, the stored procedure or
trigger in which reference is made to CAST or CONVERT.

For integrated functions that return a string but do not take a
string input, the result string is Coercible-default and is assigned
either the collection of the current database or the collection of the
database containing the user-defined function, the stored procedure or
trigger in which the function is referenced.

The following functions are sensitive to collation and its output
The strings have the classification tag of the input string:

CHARINDEX, REPLACE, DIFERENCE, REVERSE, ISNUMERIC, RIGHT, LEFT, SOUNDEX, LEN, STUFF, LOWER, SUBSTRING, PATINDEX, UPPER

Let me suggest taking a look at this or Solomon Rutzky's answers about the UTF-8 and UTF-16 encoding values ​​for VARCHAR and NVARCHAR.

Now you can try CASTING to VARCHAR (255) before using CHARINDEX.

I tried to play it on one of my servers this way:

``````DECLARE @t VARBINARY(MAX) = 0x6600640070002E000103650074006900;
DECLARE @vt VARCHAR(MAX);

SELECT CAST(@t AS nvarchar(MAX));

---------
fdp.́eti

SET @vt =  CAST(CAST(@t AS nvarchar(MAX)) AS VARCHAR(MAX))

SELECT REVERSE(LEFT(REVERSE(@vt), CHARINDEX(N'.', REVERSE(@vt))-1));

-------
´eti
``````

Note that it returns the accent as a single character.

## [ Politics ] Open question: Trump murdered an Islamic scholar over the weekend. Why is he not charged and thrown in prison?

[Politics] Open question: Trump murdered an Islamic scholar over the weekend. Why is he not charged and thrown in prison? .

## game loop – I need help with a & # 39; Exception thrown: write access violation: this was nullptr & # 39; in a c ++ project – SFML

I am currently learning how to program a 2D game with SFML using a series of tutorials from Suraj Sharma. This is his channel:

The tutorial series:

Recently I am doing an animation class that works with a player class. Each time I press a button repeatedly, debugging will tell me that I have a & # 39; write access violation: this was nullptr & # 39 ;.

Here is the code.

AnimCmp.h:

``````#ifndef ANIM_CMP_H
#define ANIM_CMP_H

#include "pch.h"

class AnimCmp
{
private:
class Anim {
public:
//Vars
sf::Sprite& Spr;
sf::Texture& TexSheet;
sf::IntRect StartRct;
sf::IntRect CurrRect;
sf::IntRect EndRct;

bool Done;
float Timer;
float AnimTimer;
int w;
int h;

Anim(sf::Sprite& Spr, sf::Texture& TexSheet, float AnimTimer, int stx, int sty, int frx, int fry, int w, int h)
:Spr(Spr), TexSheet(TexSheet),AnimTimer(AnimTimer),Timer(0.f),Done(false),w(w),h(h){
this->w = w;
this->h = h;
this->StartRct = sf::IntRect(stx * w, sty * h, w, h);
this->CurrRect = this->StartRct;
this->EndRct = sf::IntRect(frx * w, fry * h, w, h);

this->Spr.setTexture(this->TexSheet, true);
this->Spr.setTextureRect(this->StartRct);
}
//virtual~Anim();
//Functions
void Pause();
void Reset() {
this->Timer = this->AnimTimer;
this->CurrRect = this->StartRct;
}

const bool& Play(const float& dt) {
//Update Timer
this->Done = false;
this->Timer += 100.f * dt;
if (this->Timer >= this->AnimTimer) {
//Reset Timer
this->Timer = 0.f;
//Animate
if (this->CurrRect != this->EndRct) {
this->CurrRect.left += this->w;
}
else {//Reset
this->CurrRect.left = this->StartRct.left;
this->Done = true;
}
this->Spr.setTextureRect(this->CurrRect);
}
return this->Done;
}

const bool& Play(const float& dt, float modprcnt) {
//Update Timer
if (modprcnt < 0.5f)
modprcnt = 0.5f;

this->Done = false;//access violation occurs here
this->Timer += modprcnt * 100.f * dt;
if (this->Timer >= this->AnimTimer) {
//Reset Timer
this->Timer = 0.f;
//Animate
if (this->CurrRect != this->EndRct) {
this->CurrRect.left += this->w;
}
else {//Reset
this->CurrRect.left = this->StartRct.left;
this->Done = true;
}
this->Spr.setTextureRect(this->CurrRect);
}
return this->Done;
}
//Access
const bool& isDone()const {
return this->Done;
}

};

sf::Sprite& Spr;
sf::Texture& TexSheet;
std::map Anims;
Anim* LastAnim;
Anim* Priority;
public:
AnimCmp(sf::Sprite& Spr,sf::Texture& TexSheet);
virtual~AnimCmp();
//Access
const bool& isDone(const std::string key);
//Functions
void AddAnim(const std::string key,float AnimTimer, int stx, int sty, int frx, int fry, int w, int h);

void Start(const std::string Anim);
void Pause(const std::string Anim);
void Reset(const std::string Anim);
const bool& Play(const std::string key, const float& dt, const bool priority = false);
const bool& Play(const std::string key, const float& dt, const float& mod, const float& modmax, const bool priority = false);
};

#endif // !ANIM_CMP_H
``````

AnimCmp.cpp:

``````#include "AnimCmp.h"

AnimCmp::AnimCmp(sf::Sprite& Spr, sf::Texture&    TexSheet)
:Spr(Spr), TexSheet(TexSheet), LastAnim(NULL),   Priority(NULL)
{
}

AnimCmp::~AnimCmp()
{
for (auto& i : this->Anims) {
delete i.second;
}
}

const bool& AnimCmp::isDone(const std::string key)
{
return this->Anims(key)->isDone();
}

void AnimCmp::AddAnim(const std::string key,float AnimTimer, int stx, int sty, int frx, int fry, int w, int h)
{
this->Anims(key) = new Anim(this->Spr, this->TexSheet, AnimTimer, stx, sty, frx, fry, w, h);
}
//Functions
void AnimCmp::Start(const std::string Anim)
{
}

void AnimCmp::Pause(const std::string Anim)
{
}

void AnimCmp::Reset(const std::string Anim)
{
}

const bool& AnimCmp::Play(const std::string key, const float& dt, const bool priority)
{
if (this->Priority) {//If priority present
if (this->Priority == this->Anims(key)) {
if (this->LastAnim != this->Anims(key))
{
if (this->LastAnim == NULL)
this->LastAnim = this->Anims(key);
else {
this->LastAnim->Reset();
this->LastAnim = this->Anims(key);
}
}
//Priority done,remove
if (this->Anims(key)->Play(dt)) {
this->Priority = NULL;
}
}
}else{//Play animation
if (priority) {
this->Priority = this->Anims(key);
}
if (this->LastAnim != this->Anims(key))
{
if (this->LastAnim == NULL)
this->LastAnim = this->Anims(key);
else {
this->LastAnim->Reset();
this->LastAnim = this->Anims(key);
}
}
this->Anims(key)->Play(dt);
}
return this->Anims(key)->isDone();
}

const bool& AnimCmp::Play(const std::string key, const float& dt, const float& mod, const float& modmax, const bool priority)
{
if (this->Priority) {//If priority present
if (this->Priority == this->Anims(key)) {
if (this->LastAnim != this->Anims(key))
{
if (this->LastAnim == NULL)
this->LastAnim = this->Anims(key);
else {
this->LastAnim->Reset();
this->LastAnim = this->Anims(key);
}
}
if (this->Anims(key)->Play(dt, abs(mod / modmax))) {
this->Priority = NULL;
}
}
}
else {//Play animation
if (priority) {//If is priority,set it
this->Priority = this->Anims(key);
}
if (this->LastAnim != this->Anims(key))
{
if (this->LastAnim == NULL)
this->LastAnim = this->Anims(key);
else {
this->LastAnim->Reset();
this->LastAnim = this->Anims(key);
}
}
this->Anims(key)->Play(dt, abs(mod / modmax));
}
return this->Anims(key)->isDone();
}
``````

Player.h:

``````#pragma once
#ifndef PLAYER_H
#define PLAYER_H

#include "Entity.h"
class Player :
public Entity
{
private:
//Vars
bool atking;
//Init Funcs
void InitVars();
void InitComp();
public:
Player(float x, float y, sf::Texture& TexSheet);
virtual ~Player();
//Funcs
void UpdateAtk();
void UpdateAnim(const float& dt);
virtual void Update(const float& dt);
};

#endif // !PLAYER_H
``````

Player.cpp:

``````    #include "Player.h"

//Init Funcs
void Player::InitVars()
{
this->atking = false;
}

void Player::InitComp()
{
}

Player::Player(float x, float y, sf::Texture& TexSheet)
{
this->InitVars();
this->setPos(x, y);

this->CreateHboxCmp(this->Spr, 20.f, 0.f, 80.f, 128.f);
this->CreateMovCmp(200.f, 10.f, 4.f);
this->CreateAnimCmp(TexSheet);

this->animCmp->AddAnim("Idl", 10.f, 2, 0, 2, 0, 128, 128);
this->animCmp->AddAnim("Walk", 10.f, 0, 6, 5, 6, 128, 128);
this->animCmp->AddAnim("PShoot", 30.f, 3, 0, 5, 0, 128, 128);
}

Player::~Player()
{
}
//Funcs
void Player::UpdateAtk()
{
if (sf::Mouse::isButtonPressed(sf::Mouse::Left)) {
this->atking = true;
}
}

void Player::UpdateAnim(const float& dt)
{
if (this->atking) {
//Chk for anim end and animate
if (this->animCmp->Play("PShoot", dt, true)) {
this->atking = false;
}
}
if (this->movCmp->GetSt(IDL)) {
this->animCmp->Play("Idl", dt);
}
else if (this->movCmp->GetSt(LFT)) {
if (this->Spr.getScale().x < 0.f) {
this->Spr.setOrigin(115.f, 0.f);
this->Spr.setScale(-1.f, 1.f);
}
this->animCmp->Play("Walk", dt, this->movCmp->getVel().x, this->movCmp->getMaxVel());
}
else if (this->movCmp->GetSt(RGT)) {
if (this->Spr.getScale().x > 0.f) {
this->Spr.setOrigin(0.f, 0.f);
this->Spr.setScale(1.f, 1.f);
}
this->animCmp->Play("Walk", dt, this->movCmp->getVel().x, this->movCmp->getMaxVel());
}
else if (this->movCmp->GetSt(UP)) {
this->animCmp->Play("Walk_up", dt, this->movCmp->getVel().x, this->movCmp->getMaxVel());
}
else if (this->movCmp->GetSt(DN)) {
this->animCmp->Play("Walk_dn", dt, this->movCmp->getVel().x, this->movCmp->getMaxVel());
}

}

void Player::Update(const float& dt)
{
this->movCmp->Update(dt);
this->UpdateAtk();
this->UpdateAnim(dt);
this->hbCmp->Update();
}
``````

The exception occurs just after the variable & # 39; bool Done & # 39 ;.

Here is the video where that happened:

I have also checked the pointer & # 39; this & # 39; in debug mode. He said he could not get the value of the following variables:

TexSheet

Spr

StartRect, CurrRect and EndRect

I hope it's enough information. Can anybody help me?