mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-19 08:20:30 +01:00
Fixed old origin logic
This commit is contained in:
parent
df6cea61b2
commit
0b8338d4bc
2 changed files with 5 additions and 5 deletions
|
|
@ -302,9 +302,8 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
|
||||||
}
|
}
|
||||||
|
|
||||||
async applyEffect(effect, actor) {
|
async applyEffect(effect, actor) {
|
||||||
const actorOrigin = effect.parent?.parent ? effect.parent.parent.uuid : effect.parent.uuid;
|
const existingEffect = actor.effects.find(e => e.origin === effect.uuid);
|
||||||
// Enable an existing effect on the target if it originated from this effect
|
if (existingEffect) {
|
||||||
if (effect.transfer) {
|
|
||||||
return effect.update(
|
return effect.update(
|
||||||
foundry.utils.mergeObject({
|
foundry.utils.mergeObject({
|
||||||
...effect.constructor.getInitialDuration(),
|
...effect.constructor.getInitialDuration(),
|
||||||
|
|
@ -318,7 +317,7 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
|
||||||
...effect.toObject(),
|
...effect.toObject(),
|
||||||
disabled: false,
|
disabled: false,
|
||||||
transfer: false,
|
transfer: false,
|
||||||
origin: actorOrigin
|
origin: effect.uuid
|
||||||
});
|
});
|
||||||
await ActiveEffect.implementation.create(effectData, { parent: actor });
|
await ActiveEffect.implementation.create(effectData, { parent: actor });
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,8 @@ export default class DhActiveEffect extends foundry.documents.ActiveEffect {
|
||||||
if (isOriginTarget && change.effect.origin) {
|
if (isOriginTarget && change.effect.origin) {
|
||||||
change.value = change.value.replaceAll(/origin\.@/gi, '@');
|
change.value = change.value.replaceAll(/origin\.@/gi, '@');
|
||||||
try {
|
try {
|
||||||
const doc = foundry.utils.fromUuidSync(change.effect.origin);
|
const effect = foundry.utils.fromUuidSync(change.effect.origin);
|
||||||
|
const doc = effect.parent?.parent;
|
||||||
if (doc) parseModel = doc;
|
if (doc) parseModel = doc;
|
||||||
} catch (_) {}
|
} catch (_) {}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue