dnd 5e – Can chain lightning (and possibly magic with similar wording) target worn or worn equipment?

chain lightning can target objects and does not indicate that the object must be unattended; Magic like fireball or lightning do. Does that mean that the secondary targets can be objects carried by the original creature? Can the original target be an object carried or carried by a creature? What about any combination of these?

You create a flash aimed at a target of your choice that you can see in range. Three bolts then jump from that target to up to three other targets, each of which must be within 30 feet of the first target. A target can be a creature or an object [no specification unattended or otherwise] and can only be controlled by one of the screws.

A goal must perform a skill roll. The target suffers 10d8 lightning damage on an unsuccessful backup or half that on a successful one. (PHB p. 221, emphasis of mine.)

Treating up to three worn or worn items with 10d8 damage after zapping the creature seems like a really effective way to use this spell. It would probably destroy things your enemy should not use and do him good damage. This potential use of the spell, its expected damage, and the comparatively low HP values ​​suggested in the DMG may lead to a potentially quite electrifying attack.

Relatives, although I could not find an answer here.

How does the chain lightning spell work?

This accepted answer deals with areas of impact, though I think chain lightning is different enough to justify my question.

What is suitable for the goal of a spell?

Why is my site not indexed by Google?

There are several things that you may do wrong if your site is not indexed by Google. Here are the main reasons why you do not get as much organic traffic from search engines as your website deserves.

Google still has not found your website

A new website generally faces this problem. It's best to give Google a few days to search and browse your site. However, if your site is not indexed after a few days, make sure your Sitemap is uploaded correctly and works properly. You can submit your sitemap through Google Webmaster Tools.

Your website does not have information that users are looking for

When you update blogs for your website, it's a good idea to create topics that users are looking for. This is likely with the help of keyword research. Search engine optimization services can help you understand what users are looking for, and then create content that makes your site more visible.

Your website has duplicate content

If your website has too much duplicate content, search engines are made more difficult by not indexing your website. If multiple URLs access the same content, a duplicate problem will be generated. This is the main reason why your website may not be indexed.

The Robots.txt file prevents us from crawling your site

If the robots.txt file is not set up correctly, you can inadvertently tell search engines that your site is not being searched. With your SEO services, you can use Webmaster tools efficiently to potentially make them visible in the index of the search engine.

Your website has thinning errors

If search engines can not search some of your pages, they can not be crawled. It's dangerous to ensure that all your web pages are easily crawled by search engines, so your site can be easily indexed. SEO services webmaster tools provide plenty of ways to make sure that there are no crawling issues.

Loading your website takes a long time

A slow loading page is not a good indication. Search engines do not care about websites that take forever to load. If Google is trying to crawl your site and run meetings for endless load times, your site will most likely not be indexed at all.

These are the most common reasons why the influence of your website is not indexed. Search engine optimization services allow you to authorize your site and make it easily searchable for Google and other major search engines.


c ++ – Large input delay, although the frame rate is stable – possibly in the context of the DirectX Tool Kit?

I'm just learning how to use the DirectX 11 API, and I came across the following problem:
Although my render function runs quite fast at about 150 frames per second (considering how little geometry is rendered), mouse and keyboard input is massively delayed. Sometimes the "game" reacts a few seconds too late or does not react at all; Looking around is a pain.
If I increase the frame rate further to about 400 (by reducing the rendering resolution / rendering of fewer objects), the effect disappears and every keystroke is accurately recognized.

My update () function (see code below) is called by the StepTimer class of the DirectX Tool Kit from the main message loop. I tried both the fixed and the variable time step mode.

Main loop that calls update () and render ()

while (msg.message! = WM_QUIT)
if (PeekMessage (& msg, 0, 0, 0, PM_REMOVE))
TranslateMessage (& msg);
DispatchMessage (& msg);

static DX :: StepTimer stepTimer;
stepTimer.Tick ([&]() {update (stepTimer); });

The update () function:

void update (DX :: StepTimer const & timer)
static keyboard :: KeyboardStateTracker keyboardTracker;
static mouse :: ButtonStateTracker mouseTracker;
Keyboard :: State keyboardState = keyboard-> GetState ();
Mouse :: State mouseState = mouse-> GetState ();
keyboardTracker.Update (keyboardState);
mouseTracker.Update (mouseState);
fps = timer.GetFramesPerSecond ();

if (keyboardState.Escape) PostQuitMessage (0);

static levitation = 0,0f;
static float movement = 0,0f;

if (mouseState.positionMode == Mouse :: MODE_RELATIVE)
pitch = std :: max (std :: min (pitch-float (mouseState.y) * 0.001f, XM_PI / 2.0f-0.01f), -XM_PI /2.0f + 0.01f);
yaw - = float (mouseState.x) * 0,001f;
if (greed < -XM_PI) yaw += XM_PI * 2.0f;
        if (yaw > XM_PI) yaw - = XM_PI * 2.0f;
if (mouseTracker.leftButton == Mouse :: ButtonStateTracker :: RELEASED) mouse-> SetMode (mouseState.positionMode == Mouse :: MODE_ABSOLUTE? Mouse :: MODE_RELATIVE: Mouse :: MODE_ABSOLUTE);

Vector3 cameraDir (-sin (yaw) * cos (pitch), sin (pitch), cos (yaw) * cos (pitch));

Vector3 motionVec = {0,0f, 0,0f, 0,0f};
Swimming speed = 4.2f;
if (keyboardState.W || keyboardState.Up)
motionVec.x + = cameraDir.x;
motionVec.z + = cameraDir.z;
if (keyboardState.S || keyboardState.Down)
motionVec.x - = cameraDir.x;
motionVec.z - = cameraDir.z;
if (keyboardState.A || keyboardState.Left)
motionVec.x - = cameraDir.z;
motionVec.z + = cameraDir.x;
if (keyboardState.D || keyboardState.Right)
motionVec.x + = cameraDir.z;
motionVec.z - = cameraDir.x;
if (keyboardState.Space || keyboardState.PageUp)
motionVec.y + = 1.0f;
if (keyboardState.LeftShift || keyboardState.PageDown)
motionVec.y - = 1,0f;
motionVec * = speed;

static Vector3 cameraPos = {0.0f, 2.0f, 0.0f};
if (keyboardState.R)
cameraPos = {0,0f, 2,0f, 0,0f};
Pitch = 0.0f;
Yaw = 0.0f;
cameraPos + = motionVec * float (timer.GetElapsedSeconds ());
matrixCamera = XMMatrixLookToLH (cameraPos.XMVECTOR (), cameraDir.XMVECTOR (), {0.0f, 1.0f, 0.0f});

Is there a hint you can give me? Or could this even be a mistake in the StepTimer class?

Network – Google Chrome Linux (google-chrome-stable) with Activity of Unknown Device (possibly Malware? – deleting the profile did not solve the problem)

Hello to the support forums for Stack Overflow Information Security!

I recently noticed a strange behavior with me Google Chrome browser With GMail, where suddenly a connected appeared Unknown device, with a dual port and the same IP address as mine, Look at the GMail history of accessesand do not know where the source of the problem lies.

Illustration of the problem (Location in Portuguese):

Unknown device connected to the same IP address

I already deleted the profile, Follow the instructions below in the Ask Ubuntu section:


* ( Delete all Chrome private user data from the command line – Ask Ubuntu )

Run the default Chrome configuration

    rm -rf ~ / .config / google-chrome / Default /


rm -rf ~ / .cache / google-chrome

and the strangely described problem has not disappeared today.

This topic also does not help to solve the problem:

* ( Security – Remove Unknown Device Access in Account Activity – Web Applications Stack Exchange )

Maybe it's one viruse/Malware on my Debian? I will try to scan my computer, even on the computer Debian 7 partition With ESET SysRescue:

to know if I can detect an infection, something Prague is hidden in my system. I think this symptom is unusual and it's the first time I've seen this behavior on Linux.

Could someone help me investigate the problem? This may not be related to malware but only to network issues. All I have to do is leave a USB flash drive unoccupied to create a bootable AV-USB key to scan my computer, including bootable computers Kaspersky Rescue Disk or the ESET SysRescue Linux-based security distributions (the best vaccines on the market, after all my searches).

Obs .: Maybe this is a prank from my older brother, who uses Ubuntu to access the Debian partition and infects it with one virus / Malware, Or is it the result of a hidden extension infection in Google Chrome that was acquired while browsing malicious websites? I have not been able to find a guide with steps and a list of likely related causes for resolving the case.

Wait for a return as soon as possible.

Many Thanks.


Is this possibly a damage to the sensor?

1st picture with spots

2nd picture with spots

I bought this Canon 20D a few years ago on Ebay, so I do not know their story. I know that I have not touched the sensor until today. I recently started using a 100 mm macro lens (these photos were taken 1/250 sec. On F / 22) and then I saw "dust spots". I have used a dust blower to remove the "dust" unsuccessfully. Today I used cleaning sticks with Eclipse cleaning fluid and the stains did not improve. Visually with magnification / light I can clearly see scratches on the sensor, but I do not see any dust. Is that possible, it's not dust, but some other kind of damage?

Wi-Fi – Problems with the DNS network part (or possibly in connection with viruses / malware) on Android 6.0 Marshmallow (Alcatel Vendor)

I have some weird problems that might be related to the DNS network part of Android 6.0 Marshmallow, and might call these two causes the most likely problem sources:

• Recent network changes, such as adding a new router to the network, can cause conflicts.

• Due to the low quality signal and the unsatisfactory area of ​​my wireless repeater, there has been a desire to lately fail and may need to be reset to clean up the cache to avoid conflicts and malfunctions.

I could mention that Google Chrome for Android has the following two error codes:


And this last error was shown after a shutdown of the Wi-Fi and then a restart of the operating system, so that the Wi-Fi could then be turned on again. All DNS network resolutions worked for a certain period of time:

Note: Only incognito mode in Google Chrome is working fine right now. On YouTube, Mozilla Firefox, and Google Play, they are currently refusing to work correctly on my first tests.

URL address references:


This page describes the main reasons for DNS issues on Android 6.0 code-named Marshmallow (or possibly other versions):

How to fix Wi-Fi problems in Android 6.0 Marshmallow

When I first read this article superficially, I was able to confirm that only one reboot temporarily solved the problem (or a "problem" as you might prefer) for me, and I did not know that only incognito mode was correct works now (using this Google Product Forums reference). After the same problems / problems reoccur. Practically only Google and some https of the forum websites load and finish the loading of the page, without errors in the normal Google Chrome mode occur. My Android is configured with DHCP mode, so it sounds strange that a conflict can still exist if DHCP automatically resolves things on the network (as I see it) without user intervention. Turning on and off my Wi-Fi on my smartphone, which is equipped with Android Marshmallow, would normally solve the DNS problem. I have not touched on any DNS part for a long time and I can not remember what I did then to fix DNS resolution issues. The advanced configurations for Wi-Fi are hidden on my Android smartphone (signal that these parts should not be changed without first knowing – I have not changed anything there).

Since all the solutions on this page are listed below:

How to fix Wi-Fi problems in Android 6.0 Marshmallow

It seems that this is an inconsistency in the network DNS part (I do not know how it can be resolved and diagnosed) or an error recently introduced by Google in Android (again?), Which can be found on the URL above. Address was described. Drastic solutions, besides clean cookies or rebooting, like "Restoring the original factory settings", are completely avoided here.

Any thoughts? There is an Android app that automatically locates and fixes DNS issues or inconsistencies on Android in the Google Play Store. I do not know any logical solution or trivial solution, since I am a newbie when the subject is "network". And my Android is disabled for changes, so despite my experience with Linux commands, I can not use Alcatel's terminal emulator on my Android properly, as many features on the Alcatel Vendor's Rome are locked for access and user changes, Adjustments from the manufacturer.

Please ask me for more information, if you think it necessary.

No further information that I could provide here, unless some of you have been asked here in this forum.

Transactions – Possibly Better Peer-to-Peer Protocols for Bitcoin?

As we know, bitcoin uses flooding to propagate blocks and transactions across all nodes in the network. It's been almost ten years since its launch in 2009, and I was wondering if it would be launched today. Could it use a more efficient P2P protocol / algorithm than the flooding mechanism used today? Flooding can cause multiple transactions, even though inv transactions, to be sent to the same node multiple times. This is information that the node does not need and that is not required. Are there better state-of-the-art P2P protocols that are better for Bitcoin today?

Error handling and response code mapping in a service architecture (possibly REST-based) in Java

TLDR: I am looking for established patterns and architectures to convert error codes from a downstream remote call to an error code that is passed to a service interface. This makes it easy to determine which codes an endpoint can return with minimal manual effort.


Consider a (micro) service architecture with multiple services built on top of each other. Suppose there are two services:

  1. An article owner service Othat manages which elements a user owns
  2. A shopping service SThis allows a user to buy more items

There is a separate client UI that a user can interact with, which then calls the shopping service Swho in turn call O Purchase purchased items on the user's account.

We say S consists of a controller class that mainly contains the endpoint specification, a separate service class that contains the actual business logic, and a connector class that implements the calls to O, For more complicated scenarios that the service could then use, there could be more classes that would use the connector class, but in principle the control flow would look like this:

|| S Controller -> Service -> Port -> || O (internal structure irrelevant) ||

Well, if a connection to O fails with an error code that normally had to be translated into a possibly conflicting error code S then returns to the client of the user. Most REST / HTTP-oriented frameworks I've seen can handle triggered exceptions and allow easy mapping of exceptions to HTTP response codes. This makes it very convenient to simply throw a specific exception on the connector if a call fails (possibly different exceptions for different errors)), comment on it with a response code, and let the framework process it. This approach does not seem to be unusual.

The downside: To find out which response codes can occur at which endpoint, the full code of that endpoint needs to be completely reviewed. Note that connector methods can be used by multiple endpoints, so there is no unique one-to-one connection.

question: Is there an established pattern, tool or best practices to deal with such scenarios?

My approaches so far

I have two personal preferences. You may want to think about solutions yourself before considering my thoughts:

1. Allow all methods to return objects on the way that contain the expected result OR an error object that identifies the problem that prevented the operation from completing; an error code.


2. Use audited exceptions from the controller up, and convert them to unchecked exceptions only if a remote call failed due to an internal error (resulting in an HTTP 500 code). Otherwise, you can annotate the appropriate return codes or convert them to the appropriate controller-level answer. In this way, it becomes clear exactly where the error code can arise and with which answers the endpoint could respond.

Further clarifications

Note that I do indeed want to return error codes to the user client based on connection errors O because at least some of the client / user can be fixed and S The input data can not be checked without a call O and often not without trying the actual operation.

Related Questions / Possible Duplicates

Note that this is not a duplicate of
Handling error messages from other services in Micro Service Architecture
Because I have well-defined error codes (good enough ^^) and do not ask how to map codes to human-readable codes (that's the job of the client UI). I ask for industry-standard patterns of how these codes can be distributed internally, which is lean and allows me to see directly which codes can be returned from which endpoint and how they come from.

Note that I mainly consider REST / HTTP based services and frameworks, but the question could in principle also apply to other similar frameworks.

After setting up my Bitcoin Core server, I have to create wallets for each of my clients on a website, possibly thousands

I have to create wallets for each of my clients on a website, possibly thousands

There are several ways to generate addresses in large quantities. Only with Bitcoin Core you can use the Createwallet Command in the RPC and then create a new address with new address However, you must do this programmatically because there is no built-in functionality to create an X number of addresses.

A faster alternative outside of Bitcoin Core would be to use a vanity address generator like VanityGen. VanityGen's original intent was to create unique / custom addresses with prefixed characters, also known as "vanity" addresses. Fortunately, this tool has a number of command-line parameters that are also useful for mass-address generation. VanityGen uses your graphics card (OpenCL compatible) and is thus significantly more powerful than the standard CPU generation of the Bitcoin Core client. Likewise, it works both online and offline.

With the 64-bit Windows binaries provided in the project's GitHub, I can use the following command-line options:

vanitygen64 -o key_pairs.txt -v -k 1

-O Specifies the file in which the key pair is to be written (pattern, address, private key).

-v Makes the output verbose (returns pattern, PublicKey, PrivateKey, address in stdout)

-k Resume the search after finding a match (run to completion infinitely)

1 After this, the vanity generator is searched as a prefix.

All generated addresses and their private keys are listed in the output file (key_pairs.txt for example). You can parse this file and assign each of your "clients" a private and a public key pair and its associated address.

Touchscreen does not release a "Mousedown" event – possibly to solve?

On a Dell XPS 15 9560 laptop and Ubuntu 18 LTS (with the latest kernel update), the keyboard sometimes stops responding. The mouse moves, the user interface responds to hovering actions, and moving the mouse highlights text (without pressing the mouse buttons).

It dissolves when I tap the touch screen (which is clean).

Is there a solution for this (ideally without disabling the touch screen)?

(Related: Ubuntu 18 Unity keyboard (not mouse) freeze, lightdm reboot borks system)