dnd 5e – Does it take your action every turn to make a Carpet of Flying move?

I interpret your quote to mean that the “Command Word” is for activation. It doesn’t specifically say that you have to use your action to keep moving it, much like you don’t have to command a mount with your action.

There are some spells that specifically require using your action or bonus action to continuously move it each turn, such as animating moving illusions with silent image or major image, or moving spell effects around such as with spiritual weapon or Bigby’s hand. The flying carpet doesn’t specify anything like this (in the same way that those spells do) so there is no reason to think that further actions are needed beyond the initial “command”.

If it was intended to work this way (moving it with an action each turn), it would make the flying carpet kinda useless, especially compared to the spell fly or a flying mount (such as via find greater steed, for example) since you wouldn’t be able to do anything else but fly. As pointed out by @T.J.L., larger carpets with many on it wouldn’t necessarily suffer this problem as only one of them needs to be “driving” with their action.

I’m also reminded of a Beast Master ranger’s animal companion, which can be told to move to different positions via commands which require no action. Of course, the flying carpet doesn’t specify, so that could be considered an argument to claim that it does require an action since it doesn’t say “no action required by you”, but I think this is better taken as setting a precedent for verbal commands not requiring actions, and besides, the flying carpet also doesn’t say that it does require your action.

Also pointed out by @Premier Bromanov:

(T)here is a distinction between “Command Word” and spoken directions. Whereas the Command Word is coupled with an action and spoken directions are not, and are also generic.

woocommerce – Use a variable from a action to another in Wocommerce

the following code is in the file functions.php:

function wp_extracode_for_products()
{
  echo'
    <h1>Prueba de AJAX</h1>
    <form>
        <button type="button" onclick="prueba()">Change Content</button>
    </form>
    
    <div id="contenidoEcho"></div>
    
    <script>
        function prueba(){
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    document.getElementById("contenidoEcho").innerHTML = this.responseText;
                };
            };
            xmlhttp.open("GET", "http://localhost:10003/?wc-ajax=myaction&q=25", true);
            xmlhttp.send();
        }
            

    
    </script>
  '; 
  
};

add_action('woocommerce_single_product_summary', 'wp_extracode_for_products', 60);

add_action('wc_ajax_myaction','myaction');

function myaction($cart_object){

    $q = $_REQUEST("q");
    
    settype($q, "integer");
    echo gettype($q);
    echo $q;
    
}


add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );

function add_custom_price( $cart_object ) {
    
    $custom_price = 15;
    foreach ( $cart_object->cart_contents as $key => $value ) { 
        $value('data')->set_price($custom_price);
    }
    
}

My problem is that I want to use the variable $q captured with ajax in $custom_price. Thanks for advance.

c# – Representing a graph with passable marks and actions in CSharp – Action reflection hell: good or bad?

I wanted to have a framework to build Petri Nets from C# code. Petri net is a digraph with functional transitions and mark types. In books they tend to look like this:

enter image description here

Here is what I came up with – simple example:

using ServicesPetriNet;
using ServicesPetriNet.Core;
using ServicesPetriNet.Core.Attributes;
using ServicesPetriNet.Core.Transitions;
using static ServicesPetriNet.Extensions;
using static ServicesPetriNet.Core.MarkType;
namespace ServicesPetriNetCore.Core.Tests
{
    public class SimpleAssistLoop : Group<SimpleAtoB>
    {
        public Place A, B, C;

        public Transition AtoC, BtoC;

        (Probabilety(0.5))
        public Transition CtoA;

        (Probabilety(1,1,1,0,1,0))
        public Transition CtoB;

        public SimpleAssistLoop()
        {
            AtoC.Action<OneToOne<Mark>>()
                .In<Mark>(A)
                .Out<Mark>(C);

            BtoC.Action<OneToOne<Mark>>()
                .In<Mark>(B)
                .Out<Mark>(C);

            CtoA.Action<OneToOne<Mark>>()
                .In<Mark>(C)
                .Out<Mark>(A);

            CtoB.Action<OneToOne<Mark>>()
                .In<Mark>(C)
                .Out<Mark>(B);

            Marks = At(A, Create<Mark>());
        }

        public class Mark : MarkType
        {
        }
    }
}

more complicated example:

using System.Collections.Generic;
using System.Linq;
using ServicesPetriNet;
using ServicesPetriNet.Core;
using static ServicesPetriNet.Core.MarkType;
namespace ServicesPetriNetCore.Core.Tests
{
    public class SimpleSummChainAtoF : Group<SimpleSummChainAtoF>
    {
        public Place A, B, C, D, E, F;

        private Transition SummABCtoD, SummDEtoF;

        public SimpleSummChainAtoF()
        {
            SummABCtoD.Action<Add>()
                .In<Mark>(A)
                .In<Mark>(B)
                .In<Mark>(C)
                .Out<Mark>(D);

            SummDEtoF.Action<Add>()
                .In<Mark>(D)
                .In<Mark>(E)
                .Out<Mark>(F);

            Marks = Extensions.At(A, Create<Mark>(5))
                .At(B, MarkType.Create<Mark>(6))
                .At(C, MarkType.Create<Mark>(7))
                .At(E, MarkType.Create<Mark>(8));
        }

        public class Mark : MarkType
        {
            public int value;
        }

        public class Add
        {
            public void Action(List<Mark> marks, out Mark result)
            {
                result = new Mark() { value = marks.Aggregate(0, (i, mark) => i + mark.value) };
            }
        }
    }
}

I wanted for my graphs to be as simple in terms of code letters as possible, yet keep it plainly C# comparable (which they currently are).

And here is the main problem for me:
enter image description here

Because the user nation can have any amount of inputs and outputs like this: Action(T1in ps, ..., TNin ps, out T1out,..., out TNout) and currently is checked only in runtime. To make the things worse currently I support not only the undefined amount of named types (action arguments) but also their mixing with List for in and out. So stuff like this is supported:

    public class Add
    {
        public Mark Action(List<Mark> marks)
        {
            return new Mark() { value = marks.Aggregate(0, (i, mark) => i+mark.value) };
        }
    }

As well as this:

    public class Add
    {
        public Mark Action(Mark fromA, Mark fromB)
        {
            return  new Mark(){value = fromA.value+fromB.value};
        }
    }

So my question is: What would be the way to some-how force check user Action not at runtime?

dnd 5e – Can a Readied Action be used multiple times in the same round if you have multiple reactions?

RAW: Unclear

The rules for this are in the PHB, which mostly deals with PCs, which in turn usually can’t get multiple reactions (the only ways which can grant you multiple reactions tend to be limited to attacks of opportunity, and even those were only written after the PHB was released).

As such there is no language explicitly limiting the trigger to only be able to occur once in a round, even though I suspect that it is the intended reading. I find saying “the rules don’t explicitly say you can’t, so you can” not to be a useful guiding principle so I’d say the RAW isn’t clear on this.

RAW probably doesn’t matter in this case

If you decide your Marilith is picking up a longbow and shooting people with it you’re already moving beyond a literalist RAW reading, as of course shooting things with a longbow is not listed in the creature’s statblock. This is not a big variation and perfectly in your purview of things to do as a DM, but you have to decide on what the consequences here are. For example, does it still get a Multiattack? If so, how many? Maybe it only gets 3 shots because it needs two arms for each bow? Similarly, the multi reaction thing was very probably themed after it using its many arms with one handed weapons; Does that still even apply if it uses bows instead? Should it still work even if it is using only one bow?

At this point what you need to realise that you are effectively homebrewing a slightly different creature with a slightly different statblock, and it’s on you as a DM to figure out how it should work. There isn’t that much helpful RAW guidance for you here. NPCs aren’t bound by quite the same rules as PCs to begin with, you should just make sure that whatever you do it makes sense in fiction so your players can know what to expect from your description of events.

sharepoint online – Is Response Action free to use in Power Automate?

In Power Automate we have the Response Action which has the Premium label with it.

enter image description here

Even though it is premium action, I am able to use it with the user who has a Power Automate Free license.

My user does not have any P1 or P2 license.

How is this possible? Is it something free trial?

Can someone please provide official details links on this topic?

Note: I am using this action to return data from SharePoint to Power Apps.

Invoke action on a “post” in functions.php?

I have a button in admin that invokes a URL (GET) like this:

/wp-admin/post.php?post=1545559&action=edit&bewpi_action=create&nonce=dbc6e6c4frd

It creates an invoice when pressed.

I have access to all variable values in this URL, so I can recreate it. I also have a function in functions.php that gets invoked when an order is paid and complete.

My question is, how can I invoke that URL (or the internal wordpress action) inside my function in functions.php?

Sorry if it’s a basic question. My googling skills failed me.

difficulty – How to check for normal skill or action?

If you’d really like to have players roll for stuff like this, you can make it an arbitrary opposed test. Roll for the ice to establish the difficulty. Do you think this patch of ice has the tripping advanced skill? Sure why not, it has tripping at 2. Looking through the book at skill values I randomly decide 4 is good for a random patch of ice, so there it is. 2d6+6 will produce a difficulty number for you.

If that seems kinda silly, maybe consider where the patch of ice came from. Wizards are bad, everyone knows wizards are just the worst, so let’s assume a bad wizard did it. Skill 4, spell — Icy Shit 2, so we’re back at 2d6+6 for your difficulty number.

If you can’t come up with a story about why the ice is interesting at all in the first place, either don’t make anyone roll for it or homebrew your own static difficulty system so you don’t have to do these exercises. I’d start with the locks advanced skill in the main book:

Locks

This allows a character to examine and open locks but does not detect traps. Roll Versus an imaginary locksmith whose Skill is somewhere between 6 and 12 with 6 being easy and 12 being very hard.

UI for multi-select batch editing where eligible item list changes depending on the action

We have a list of items in rows with the first column being a checkbox so you can select it. Additionally, above this grid list of items are several search criteria to narrow down the list i.e. think of the Gmail inbox with emails and the first column is a checkbox and several search type boxes above it to search on specific attributes of the items.

Search By

Filter 1: _____________ Filter 2: _________________

Filter 3: _____________ Filter 4: _________________

Results

( ) | Item 1 | attribute 1 | attribute 2

( ) | Item 2 | attribute 1 | attribute 2

( ) | Item 3 | attribute 1 | attribute 2

The problem is, not every item in the list can have every batch edit action taken upon it. As an example, let’s say you search Gmail for a certain subject. The result has emails that are in Trash and your Inbox. If you want to move some of the results to Trash, we don’t want the current ones in trash to be selectable.

So we need a way to first let the user tell us what type of action they want to do, then hide checkboxes on the rows where they shouldn’t be allowed to do that, then they can check what they want, and finally confirm to perform that action on the selected items.

Idea 1:

We thought about having a button like “Select Items to Move to Trash”, which then displays a modal popup that would show only those items that are eligible to move to trash. But they will likely want to do additional filtering by default, and there is already a sophisticated way to filter the items on the current page that we don’t want to replicate on the modal. Plus, there is already a sophisticated way to determine which columns they see, which show additional attributes about each item in the list that they may need to make the determination of which items to select. And again, this feature is already on the main page and hence don’t want to replicate it.

Idea 2

Add new filters up top to restrict the results below based on the Bulk Action they want to take. i.e. Items Eligible to: Move to Trash or Move to Archive, etc (which are radio buttons). They can select other data limiting filters too, then click Search to bring back the results. In this case, every row would be eligible since we had the highest level filter being that to restrict the results that are eligible for that batch action. If they don’t select any of these “Action Filters”, we don’t display the checkbox column.

Search By

Items Eligible To: (o) Move to Trash (o) Move to Archive

Filter 1: _____________ Filter 2: _________________

Filter 3: _____________ Filter 4: _________________

Results

( ) | Item 1 | attribute 1 | attribute 2

( ) | Item 2 | attribute 1 | attribute 2

( ) | Item 3 | attribute 1 | attribute 2

dnd 5e – Can an enemy “surprise” a character with the Alert feat by readying the Attack action before initiative is rolled?

Rule 0

On one hand, the DM can do whatever they want; they are the DM. But, by the actual rules in the book…

No, this is not how the rules work as written

The description of Initiative states:

At the beginning of every combat, you roll initiative by making a Dexterity check.

When the creatures are “readying an attack”, this is already part of the combat; therefore, Initiative should have been rolled, and you would not be surprised by the attack. This interpretation is backed up in this similar Q&A.

Note that the creatures are still hidden (if you didn’t perceive them), so, even though you are not surprised by the combat, not necessarily you know where the creatures are. Even if they are hidden, the Alert feat also states (PHB, p. 165):

Other creatures don’t gain advantage on attack rolls against you as a result of being unseen by you.

By the way, in your text, you mention that the swarm of insects

immediately attacked him, dealing (x) damage.

From this, it is unclear whether the DM rolled an attack roll as well. Even if surprised and attacked by a hidden creature, the creature still has to hit with the attack roll before dealing damage.

Talk to your DM

It seems this situation has upset you. You have taken a feat, giving up an ASI, with the sole objective of such situations not happening, and then the DM pulls up something not entirely backed by the rules that makes the entire point of taking such a feat get thrown away.

Talk to your DM. Tell them that how they handled this situation was upsetting. Explain that the point of taking such a feat is to avoid these situations, and that by house ruling otherwise, they are harming your character’s concept. At worst, ask them to let you change the feat, if they are going to keep doing such things, because your expectations when building the character were different.

magento2 – Magento 2 – Custom Grid Action 404 error Add Action Throws 404 Error

i Develop Simple Crude Operation Module That Throws 404

enter image description here

etc/di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd">

    <preference for="VrinsoftAppscreensApiDataAllsectionInterface" type="VrinsoftAppscreensModelAllsection" />
    <preference for="VrinsoftAppscreensApiAllsectionRepositoryInterface" type="VrinsoftAppscreensModelAllsectionRepository" />

    <virtualType name="AllsectionGridDataProvider" type="MagentoFrameworkViewElementUiComponentDataProviderDataProvider">
        <arguments>
            <argument name="collection" xsi:type="object" shared="false">VrinsoftAppscreensModelResourceModelAllsectionCollection</argument>
        </arguments>
    </virtualType>
    <type name="MagentoFrameworkViewElementUiComponentDataProviderCollectionFactory">
        <arguments>
            <argument name="collections" xsi:type="array">
                <item name="section_allsection_listing_data_source" xsi:type="string">VrinsoftAppscreensModelResourceModelAllsectionGridCollection</item>
            </argument>
        </arguments>
    </type>
    <type name="VrinsoftAppscreensModelResourceModelAllsectionGridCollection">
        <arguments>
            <argument name="mainTable" xsi:type="string">screen_layer_data</argument>
            <argument name="eventPrefix" xsi:type="string">section_allsection_collection</argument>
            <argument name="eventObject" xsi:type="string">allsection_collection</argument>
            <argument name="resourceModel" xsi:type="string">VrinsoftAppscreensModelResourceModelAllnews</argument>
        </arguments>
    </type>

    <preference for="VrinsoftAppscreensApiCustomInterface" type="VrinsoftAppscreensModelApiCustom"/>
    <preference for="VrinsoftAppscreensApiDataCustomInterface" type="VrinsoftAppscreensModelApiCustomData"/>

</config>

view/adminhtml/ui_component/section_allsection_listing.xml

<?xml version="1.0" encoding="UTF-8"?>

<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
    <argument name="data" xsi:type="array">
        <item name="js_config" xsi:type="array">
            <item name="provider" xsi:type="string">section_allsection_listing.section_allsection_listing_data_source</item>
            <item name="deps" xsi:type="string">section_allsection_listing.section_allsection_listing_data_source</item>
        </item>
        <item name="spinner" xsi:type="string">allsection_columns</item>
        <item name="buttons" xsi:type="array">
            <item name="add" xsi:type="array">
                <item name="name" xsi:type="string">add</item>
                <item name="label" xsi:type="string" translate="true">Add New Layer</item>
                <item name="class" xsi:type="string">primary</item>
                <item name="url" xsi:type="string">*/*/new</item>
            </item>
        </item>
    </argument>
    <dataSource name="section_allsection_listing_data_source">
        <argument name="dataProvider" xsi:type="configurableObject">
            <argument name="class" xsi:type="string">AllsectionGridDataProvider</argument>
            <argument name="name" xsi:type="string">section_allsection_listing_data_source</argument>
            <argument name="primaryFieldName" xsi:type="string">layer_id</argument>
            <argument name="requestFieldName" xsi:type="string">id</argument>
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
                    <item name="update_url" xsi:type="url" path="mui/index/render"/>
                    <item name="storageConfig" xsi:type="array">
                        <item name="indexField" xsi:type="string">layer_id</item>
                    </item>
                </item>
            </argument>
        </argument>
    </dataSource>
    <listingToolbar name="listing_top">
        <settings>
            <sticky type="xs:boolean">false</sticky>
        </settings>
        <bookmark name="bookmarks"/>
        <columnsControls name="columns_controls" />
        <filterSearch name="fulltext"/>
        <filters name="listing_filters">
            <argument name="data" xsi:type="array">
                <item name="observers" xsi:type="array">
                    <item name="column" xsi:type="string">column</item>
                </item>
            </argument>
            <settings>
                <templates>
                    <filters>
                        <select>
                            <param name="template" xsi:type="string">ui/grid/filters/elements/ui-select</param>
                            <param name="component" xsi:type="string">Magento_Ui/js/form/element/ui-select</param>
                        </select>
                    </filters>
                </templates>
            </settings>
        </filters>
        <massaction name="listing_massaction">
            <action name="delete">
                <settings>
                    <confirm>
                        <message translate="true">Are you sure you want to delete selected items?</message>
                        <title translate="true">Delete items</title>
                    </confirm>
                    <url path="section/allsection/massDelete"/>
                    <type>delete</type>
                    <label translate="true">Delete</label>
                </settings>
            </action>
        </massaction>
        <paging name="listing_paging"/>
    </listingToolbar>
    <columns name="allsection_columns">
        <settings>
            <editorConfig>
                <param name="clientConfig" xsi:type="array">
                    <item name="saveUrl" xsi:type="url" path="section/allsection/inlineEdit"/>
                    <item name="validateBeforeSave" xsi:type="boolean">false</item>
                </param>
                <param name="indexField" xsi:type="string">layer_id</param>
                <param name="enabled" xsi:type="boolean">true</param>
                <param name="selectProvider" xsi:type="string">section_allsection_listing.section_allsection_listing.allsection_columns.ids</param>
            </editorConfig>
            <childDefaults>
                <param name="fieldAction" xsi:type="array">
                    <item name="provider" xsi:type="string">section_allsection_listing.section_allsection_listing.allsection_columns_editor</item>
                    <item name="target" xsi:type="string">startEdit</item>
                    <item name="params" xsi:type="array">
                        <item name="0" xsi:type="string">${ $.$data.rowIndex }</item>
                        <item name="1" xsi:type="boolean">true</item>
                    </item>
                </param>
            </childDefaults>
        </settings>
        <selectionsColumn name="ids">
            <settings>
                <indexField>layer_id</indexField>
                <resizeEnabled>false</resizeEnabled>
                <resizeDefaultWidth>55</resizeDefaultWidth>
            </settings>
        </selectionsColumn>

        <column name="layer_id">
            <settings>
                <filter>textRange</filter>
                <label translate="true">ID</label>
                <sorting>asc</sorting>
            </settings>
        </column>
        <column name="category_name">
            <settings>
                <filter>category_name</filter>
                <editor>
                    <validation>
                        <rule name="required-entry" xsi:type="boolean">true</rule>
                    </validation>
                    <editorType>category_name</editorType>
                </editor>
                <label translate="true">Category Name</label>
            </settings>
        </column>
        <column name="layer_name">
            <settings>
                <filter>layer_name</filter>
                <editor>
                    <validation>
                        <rule name="required-entry" xsi:type="boolean">true</rule>
                    </validation>
                    <editorType>layer_name</editorType>
                </editor>
                <label translate="true">Layer Name</label>
            </settings>
        </column>


        <column name="status" component="Magento_Ui/js/grid/columns/select">
            <settings>
                <options class="VrinsoftAppscreensModelAllsectionSourceStatus"/>
                <filter>select</filter>
                <editor>
                    <editorType>select</editorType>
                </editor>
                <dataType>select</dataType>
                <label translate="true">Status</label>
            </settings>
        </column>
        <column name="created_at" class="MagentoUiComponentListingColumnsDate" component="Magento_Ui/js/grid/columns/date">
            <settings>
                <filter>dateRange</filter>
                <dataType>date</dataType>
                <label translate="true">Created</label>
            </settings>
        </column>
        <column name="updated_at" class="MagentoUiComponentListingColumnsDate" component="Magento_Ui/js/grid/columns/date">
            <settings>
                <filter>dateRange</filter>
                <dataType>date</dataType>
                <label translate="true">Modified</label>
            </settings>
        </column>
        <actionsColumn name="actions" class="VrinsoftAppscreensUiComponentListingColumnAllsectionActions">
            <settings>
                <indexField>layer_id</indexField>
                <resizeEnabled>false</resizeEnabled>
                <resizeDefaultWidth>107</resizeDefaultWidth>
            </settings>
        </actionsColumn>
    </columns>
</listing>

Ui/Component/Listing/Column/AllsectionActions.php

<?php

namespace VrinsoftAppscreensUiComponentListingColumn;

use MagentoFrameworkAppObjectManager;
use MagentoFrameworkEscaper;
use MagentoFrameworkUrlInterface;
use MagentoFrameworkViewElementUiComponentContextInterface;
use MagentoFrameworkViewElementUiComponentFactory;
use MagentoUiComponentListingColumnsColumn;

/**
 * Class AllsectionActions
 */
class AllsectionActions extends Column
{
    /** Url path */
    const CMS_URL_PATH_EDIT = 'section/allsection/edit';
    const CMS_URL_PATH_DELETE = 'section/allsection/delete';

    /**
     * @var MagentoFrameworkUrlInterface
     */
    protected $urlBuilder;

    /**
     * @var string
     */
    private $editUrl;

    /**
     * @var Escaper
     */
    private $escaper;

    /**
     * @param ContextInterface $context
     * @param UiComponentFactory $uiComponentFactory
     * @param UrlInterface $urlBuilder
     * @param array $components
     * @param array $data
     * @param string $editUrl
     */
    public function __construct(
        ContextInterface $context,
        UiComponentFactory $uiComponentFactory,
        UrlInterface $urlBuilder,
        array $components = (),
        array $data = (),
        $editUrl = self::CMS_URL_PATH_EDIT
    ) {
        $this->urlBuilder = $urlBuilder;
        $this->editUrl = $editUrl;
        parent::__construct($context, $uiComponentFactory, $components, $data);
    }

    /**
     * Prepare Data Source
     *
     * @param array $dataSource
     * @return array
     */
    public function prepareDataSource(array $dataSource)
    {
        if (isset($dataSource('data')('items'))) {
            foreach ($dataSource('data')('items') as & $item) {
                $name = $this->getData('name');
                if (isset($item('layer_id'))) {
                    $item($name)('edit') = (
                        'href' => $this->urlBuilder->getUrl($this->editUrl, ('layer_id' => $item('layer_id'))),
                        'label' => __('Edit')
                    );
                    $title = $this->getEscaper()->escapeHtml($item('layer_name'));
                    $item($name)('delete') = (
                        'href' => $this->urlBuilder->getUrl(self::CMS_URL_PATH_DELETE, ('layer_id' => $item('layer_id'))),
                        'label' => __('Delete'),
                        'confirm' => (
                            'title' => __('Delete %1', $title),
                            'message' => __('Are you sure you want to delete a %1 record?', $title)
                        )
                    );
                }
            }
        }

        return $dataSource;
    }

    /**
     * Get instance of escaper
     * @return Escaper
     * @deprecated 101.0.7
     */
    private function getEscaper()
    {
        if (!$this->escaper) {
            $this->escaper = ObjectManager::getInstance()->get(Escaper::class);
        }
        return $this->escaper;
    }
}
?>

what i am wrong?