[Feature] Summon Action Implementation (#1514)

* Schema definition for DHSummonAction

* Will reimplement

* HBS idea formed. Need to recheck drag drop implementation

* Tried to refine drag drop

* drag drop implemented (css tbd)

* phase 1 complete

* tbd work on summon action type

* Improved Schema and now it works

* .

* Dialog created. Tokens not dragged(tbd).

* Bare minimum implementation

* Finalized functionality

* Cleanup

* .

* Added optional summon render to chat message

* Updated SRD

* bugfix: fix title lines not rendering in chat messages

* Added summon actions to the easily doable environments in the SRD

* Update module/data/fields/action/summonField.mjs

Co-authored-by: Carlos Fernandez <CarlosFdez@users.noreply.github.com>

---------

Co-authored-by: Nikhil Nagarajan <potter.nikhil@gmail.com>
Co-authored-by: Murilo Brito <dev.murilobrito@gmail.com>
Co-authored-by: Carlos Fernandez <CarlosFdez@users.noreply.github.com>
This commit is contained in:
WBHarry 2026-01-13 10:36:29 +01:00 committed by GitHub
parent d823501d91
commit d282a81594
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
44 changed files with 902 additions and 312 deletions

View file

@ -1,4 +1,53 @@
.application.daggerheart.dh-style.action-config {
.actor-summon-items {
width: 100%;
display: flex;
flex-direction: column;
gap: 10px;
.actor-summon-line {
display: flex;
align-items: center;
gap: 5px;
border-radius: 3px;
.actor-summon-name {
flex: 2;
display: flex;
align-items: center;
gap: 5px;
img {
height: 40px;
}
}
.actor-summon-controls {
flex: 1;
display: flex;
align-items: center;
gap: 5px;
.controls {
display: flex;
gap: 5px;
}
}
}
.summon-dragger {
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
height: 40px;
margin-top: 10px;
border: 1px dashed light-dark(@dark-blue-50, @beige-50);
border-radius: 3px;
color: light-dark(@dark-blue-50, @beige-50);
}
}
.trigger-data {
width: 100%;
display: flex;

View file

@ -148,7 +148,7 @@
padding: 0 0.375rem;
}
button[data-action=viewParty] {
button[data-action='viewParty'] {
margin-right: 6px;
}
}

View file

@ -39,3 +39,5 @@
@import './items/feature.less';
@import './items/heritage.less';
@import './items/item-sheet-shared.less';
@import './actions/actions.less';

View file

@ -98,6 +98,61 @@
.description {
padding: 8px;
.summons-header {
font-size: var(--font-size-14);
text-align: center;
display: flex;
align-items: center;
justify-content: center;
span {
width: 100%;
}
&:before,
&:after {
content: ' ';
height: 1px;
width: 100%;
}
&:before {
background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, light-dark(@dark-blue, @golden) 100%);
}
&:after {
background: linear-gradient(90deg, light-dark(@dark-blue, @golden) 0%, rgba(0, 0, 0, 0) 100%);
}
}
.summons-container {
display: flex;
flex-direction: column;
gap: 4px;
.summon-container {
display: flex;
align-items: center;
justify-content: space-between;
.summon-label-container {
flex: 1;
display: flex;
align-items: center;
gap: 4px;
img {
height: 32px;
}
label {
display: flex;
flex-wrap: wrap;
}
}
}
}
}
.ability-card-footer {

View file

@ -103,7 +103,7 @@
width: 100%;
.action-use-target {
display:flex;
display: flex;
align-items: center;
justify-content: space-between;
gap: 4px;
@ -127,7 +127,6 @@
font-weight: 600;
height: 40px;
}
}
}
}