#LaSossis: Custom VTT code/macro/module and stuff

1 messages Β· Page 2 of 1

signal solar
#

This does seem like a goob idea yeah

wise coral
#

New version:

  • Add clipboard copy/paste in the Reaction Editor (should be easier to share automations), also fxed export

  • new "climber" status (elevation immunity) plus reactor_meltdown status.

  • Introduce startWaitCard and integrate waiting-card UX into sendMessageToReactor

  • Integrate with elevationruler to optionally ignore elevation movement cost for flying/climber tokens or those with elevation immunity.

  • Add constant elevation immunity bonuses

  • Export new API hooks (injectBonusToFlowState) and export executeFall from MiscAPI; genericBonuses now ignores 'range' bonuses in the standard flow.

  • Improve grapple activation to warn about immunity;

  • Fix and add preDeleteToken hook to trigger onDestroyed when a token is destroyed. ( for now i try to deteck only when dstroyed with 0 stress or 0 struct

  • Fix HUD activation selection.

  • Small fixes

turbid nymph
ionic pilot
#

Did you ever find a fix for this misalignment on size 2s?

#

Ok so Switching to Rectangle Variant 1 semmed to fix it but none of the other variants work

ionic pilot
#

Another thing, whenever I place down a difficult terrain template it removes all the elevation ruler effects

#

These are my active modules if it helps

wise coral
# ionic pilot Did you ever find a fix for this misalignment on size 2s?

This is something i fixed many month ago, and should work.
I tried test on an empty world with only.

tried a basic size 2 with 6 variant , no issue.
same with traversing difficult terrain. no issue.

if it remove elevation ruler, it's probably an error , you'll have to look in the console for these.
for the size 2 issue, first try to reproduce and a bland empty word with minimum madule.

if in those condition you reproduce the bug, than we'll have to find a different method.
if it does not , you have to do a dichotomic research one your module to find the culprit.

serene leaf
#

Hi, when I try SELF DESTRUCT Basic Action, nothing popup on screen or chat message, iirc it works fine 2.6.14, also here is the console log error message

[Detected 1 package: lancer-automations(2.6.16)]
    at executeSimpleActivation (misc-tools.js:817:38)
    at executeReactorMeltdown (misc-tools.js:689:11)
    at async HTMLDivElement.<anonymous> (hud.js:642:25)```
serene leaf
#

Also can I ask how should I do the activation for Aid action? I see that currently there isn't an Aided status effect or activation so I tried making those myself. I first create an Aided status effect in the Status/Condition Compendiumthen I tried making an Aided Activation which didn't work out for me... Here is the code I crudely copy paste with minor adjustment borrowed from Bolster Activation.

wise coral
#

do you see Aided then doing CONFIG.statusEffects

#

i'm not sure addeding then in the compendium actully add them, i never added status this way

wise coral
#

in any case i'm gonna make it , and so it get consumed on the next stabilize

wise coral
glossy tinsel
#

Is there a way to add the Invade option from the HACKER talent to the Invade tab of the HUD ?

wise coral
#

there an issue with invades coming from talents, looking into it

wise coral
#

update >> Add Aid & Overcharge for NPC activations, terrain immunity, TAH deployable fixes and update

median moat
#

@wise coral Just ran into a bug with your fork of elevation ruler (I can work around it so not super critical, more just an annoyance. cause like I know that one hasnt been officially published yet. Just wanted to report it to ya <3)

Error is coming from trying to use the default ruler, or holding ctrl when selecting the token (so it draws out the default ruler) and then pressing space bar to have the token follow the ruler path

#

Instead of following the path I get the following error

#

For my modules I got everything but elevation ruler disabled atm

signal solar
#

Elevation must be a finite number.

First thing that caught my eye.

median moat
#

just dragging across a flat map atm

#

and got the same error

wise coral
#

had no idea you could use it that way ... I look into it but even if I do a quick fix , high chance it will break thing

median moat
#

Ah yea, they show up in the tooltip when you hover over stuff. I forget about it most of the time too tho tbf (just was testing some stuff atm and so thats how ran into the bug)

wise coral
#

movement history, and calculation for movement will be mess up

#

not even sure the original elevation ruler was meant to move token that way

median moat
#

oh this is a feature from base foundry

#

One thing I could do tho actually real quick

#

let me try using the non fork version of ER and see if the errors still there

#

oh huh, ok my bad. Isnt your fork. Most recent version (or version that it updated to anyways. 0.10.29) is also broken

#

I thought I remembered using this feature with elevation ruler installed but before I got your fork. Must of been misremembering then

#

appologizes ❀️

wise coral
#

you can make way point with Ctrl +clic, but not from Ctrl clic drag

#

I found the fix , but then you don't have the coloring and all

#

not actually you juste right click to do way point

#

then spacebar

median moat
#

Yea looks like its the pathfinding when using the default ruler

#

So either you use the defaut ruler tool (or when you hold ctrl+click+drag when hovering over your token with select tokens tool)

#

thats when I get that above error

#

Main benifit of doing it that route is releasing mouse doesnt move your token (so lets you cancel the movement). Gotta hit spacebar to confirm it. But niche scneario where youd want ot use that I guess?

#

(and yea you lose the movement colours for reg, boost overcharge and all that)

wise coral
#

and the difficult and elevation cost calculation is not there

median moat
#

that too yea

wise coral
#

so it's like not using the ruler

median moat
#

100%

#

But yea, might be a bug to report on the main elevation ruler github then?

wise coral
#

not sure something can be done here, at least easely . replacing the Ctrl drag with elevation ruluer would work.
but some people use the normal ruler to do measurement. thus i made so using the normal ruler on token .

what i can do is when drag moving with multiple , is to not auto release the waypoins, and let the spacebar do the work

#

appart the error , feel like more like a design conflict

median moat
#

fair enough yea

#

ohhhh ok I see whats going on

#

So I did a complete fresh reinstall of elevation ruler

#

And its working now without the error

#

and reason why is cause the original fork of elevation ruler just completely replaces the ruler in foundry. Regardless of if youre moving your token or using the ruler tool

#

Where your fork only replaces the ruler when draging tokens around

#

but the original ruler is still there when using the measure distance tool or when you ctrl click drag from a token.

And so thats where conflict is coming from

wise coral
median moat
#

gotcha, unintended side effect of that then I guess

wise coral
#

I can make that an option

median moat
#

was just gonna ask yea, if that would be hard to implement or not

signal solar
#

Wait so is the solution uninstalling elevation ruler then just installing LaSossis' fork?

#

Because it sounds like the problem is that both are trying to overwrite each other.

median moat
wise coral
#

not at all , it's just revert back to my previous version and wrap it on a config variable.
i made this change few day ago because, my elevation ruler , is more like a movement ruler.
the distance showed is not the distance but the movement cost. it will count if you have to climb up and down.
Thus someone asked to have the regular ruler to do simple measurement.

then now we have the conflict of rulers behavior. either all ruler are "movement ruler" or something else.
maybe i can try to add a new button to bring to classic ruler.

(but you'll notice even the classic ruler actually show elevation changes )

#

i allready fixed the error , but now there this deisgn question (i'll psuh later)

signal solar
#

Mainly because of how drawing distance in Lancer is stated.

median moat
signal solar
#

Cause the previous iteration saw height 6 terrain as height 14 when dragging the ruler for measurement.

median moat
#

also on that note too I actually got a quick question.

For on my end. The ruler factors in the additional cost for difficult terrain. It shows the elevation change from regions ive pained with Terrain height tools

#

but it doesnt factor in the additional cost to climb to that elevation. Just that it is a higher elevation.

wise coral
wise coral
median moat
#

for sure, one sec

#

So the difficult terrain. You can see elevation ruler factors in the extra movement cost. But for the size 3 hard cover. The regular ruler picks up its elevation 3. But moving the token up there displays as costing 2 (doesnt factor in the elevation)

#

also when the token does get moved up there. It does automatically adjust the tokens height too

#

and these zones are from Terrain Height tools (using your fork)

wise coral
#

my THT fork ?

median moat
#

yes

#

#lancer-vtt message

wise coral
#

what are the settings of your terrain ?

#

it work on my end , something must be different

median moat
#

actually this might be user error

#

are you pressing [ ] to change elevation as dragging out the ruler? Or it it automatically calculating the elevation change for you without that?

#

(i just reread the elevation ruler page on foundry. Forgot that keybind was a thing >.<)

wise coral
#

no, what are the setting of your terrain ?

median moat
#

default options (or should be anyways)

wise coral
#

check block movement

#

(the value is poorly phrased tbh ...)

median moat
#

ah sweet

#

ty

#

and yea my assumption is that it just wouldnt let you place your token there

wise coral
#

in my head iit's like if it blocks movement that mean you have to get over it, you cant move through it

median moat
#

(functioning like a wall with movement block enabled)

wise coral
#

it's probably at false by default.

median moat
#

it was too yea pretty sure

median moat
wise coral
#

it's my old messy THT fork , its not clean

median moat
#

Maybe something like this would be a bit more clear?

Elevation Penalty
If checked, automatically calculates the additional movement needed to climb up or down this terrain

median moat
wise coral
#

i wont update it , it is not out for now, i have other stuff to do

median moat
#

totally understandable

#

thank you for helping me get that fixed tho 🫢

#

Alright, sorry I got one last thing for you before I go to bed with that fork πŸ˜…
The auto calculation to climb is working. But im fairly certain the math is wrong

#

So by using the square brackets. You can see that moving up 2 height and 1 space over would cost 4 movement (which is correct)

#

But when I do what should be the same movement but let it automattically do it by moving the token onto that piece of size 2 cover. Its 1 less

#

The larger the piece of terrain the larger the difference becomes

#

So for example at size 3 cover. The difference is 2 smaller

#

I think I know why too.

When you use the square brackets. It is manually moving the token up or down as you're dragging it along. So each time you press that keybind its factoring in that you have moved the mech 1 hex (so like works the exact same has how the difficult terrain from TMT works)

#

but TMT doesnt handle its automatic elevation change like that

wise coral
#

...

median moat
#

after you've moved your token it applies the elevation change. And because its happening after, that change doesnt get factored into the movement cost itself

wise coral
#

i use the brack to incraese height obave the ground, i dont use it to climb , it clim by it self

median moat
#

yea but it climbing itself isnt doing the math right

#

Cause can look at it this way. If you ignore elevation ruler for a sec.

TMT, you move onto a piece of terrain. Cost its only factoring in the horizontal distance when measuring. After you let go and the token moves. You get teleported a vertical distance equal to what ever the elevation difference was

#

So that vertical movement happens for "free" because it happens outside of you moving your token.

#

You drag your token, movement cost is substracted. And then youre teleported vertically

wise coral
#

ok ok ok dude , but more concise when you explain a bug,. explain the fact simply and only the fact , i dont need to know your guess about how to code works. its just more noise to me , it hard to understand

#

i cant read all that that sorry

median moat
#

sorry me being tired prob isnt helping

wise coral
#

not gonna lie you are pissing me off right now

#

just be simple

median moat
#

sorry, not meaning to

wise coral
#

ii see there something wrong, i'll check mysefl. for now i have to do my job

signal solar
#

Just go sleep if you're tired Frost. This thread isn't going anywhere.

#

You can pick up where you left off easily.

#

Your head and brain will thank you later.

I know this. I stayed up for three days straight and could barely think straight if think correctly at all. So don't force your brain if you tired.

wise coral
#

When there a bug or an issue , bombarding me with information does not help just confuses me.
What i need is a repo state.

  • state bug vs expect behavior
  • steps to reproduce the situation
  • context img/etc

with that , my first step is to be able to reproduce the issue.
it only after we can discuss. anything else is speculation and noise.

wise coral
#

ok i see the calculation issue, it gonna be way more complicated shit

formal crest
#

Okay, so what do I need to download to get this beautiful HUD of yours? Are there any additional dependencies? Or am I replacing any original modules?

turbid nymph
#

(note it has to be enabled for each users, so if your players don't see it, they need to enable it on their end)

formal crest
#

The original Lancer Aumotations module is LaSossis'? Unless I'm confusing names πŸ€” About to check.

signal solar
#

I don't know any other Lancer Automations but this is his.

Token Action HUD Core and Token Action HUD Lancer are completely different things.

formal crest
#

Yeah, I think I'm confusing modules.

#

I may have been thinking about Lancer QoL for some reason.

signal solar
#

Yah, completely different beast

wise coral
#

Lancer Elevation ruler complete refactor and overhaul

tldr : better respet of rules, consistency with manual elevation and automatic, no longer depend on THT auto elevation (does it on it's own)
you'll have the elevation displayed above token when moving on elevation (auto elevate)

  • option for the default ruler

  • Tokens now follow terrain elevation when moving (go up with terrain, maintain height offset above ground)

  • Manual elevation (/) is preserved across movements as an offset above terrain

  • Same-hex vertical movement no longer double-counts elevation cost

  • Fixed flying tokens having zero cost for same-hex elevation changes

  • Movement costs now correctly match Lancer climbing rules (2 movement per space climbed, diagonal climb included)

  • Climbing malus (⚠) displayed separately from base movement cost in ruler labels

  • Removed @ elevation prefix from ruler labels; arrow and warning now on same line

  • Added startup warning when THT's "Automatic Token Elevation Change" is enabled (handled by Elevation Ruler instead)

there so code on lacner-automation, the will adapt to these change, not out yet. hope the curernt one dont break to much ( like with flying, and climber ( i dont if i pushed that status yet lol)

now i can get back to automation , i forgot what i was doing lol

serene leaf
#

Hi, just a quick note, the current token action hud doesn't display npc stats even if you login as GM

signal solar
wise coral
signal solar
#

Oh shit did not see that part

wise coral
#

i dont know if i'll display more, up to my own discretion

signal solar
#

I usually just make use of the TTA for in-combat viewing of stats (for me), and then give players the observer status for the sheets after they scan them.

wise coral
#

for scan i have intergrated a macro, form someone else , with small tweak, creting a journal entry for players

signal solar
#

I believe the base Lancer has that same macro

#

I found it in the Compendium

#

Yep

#

Lancer Macros under the Core folder

wise coral
#

yeah i dont remember been a while, the scan macro in automation , send a message to the GM so it can choose what he does

#

come to think of it, i'll need to update it, with the choseToken api

signal solar
#

Ah, the Scan (Journal) macro makes a folder in the journal tab as well if there isn't one yet.

After the first Scan, I set the folder ownership to Observer so that new scans that pop up there become viewable for the players.

#

Ok, THIS one doesn't have those two other fancy things.

#

Ala ka bruh

wise coral
#

then the gm will recieve this

signal solar
#

Ok, that is pretty cool. If I write stuff down there. It will add to the journal?

wise coral
#

nah to the chat

#

maybe create a journal , but idk. for those i'd expect my players to take notes themselves

#

but it's an old stuff made before lancer-automation, i'll update it.

#

for now i need to finish the extraAction injection into TAH (token action HUD)

#

so you can hook onInit , extraAction for an item

 onInit: async function (token, item, api) {
                await api.addExtraActions(item, [
                    { name: "Print", activation: "Quick Action", recharge: 4, charged: true,
                        detail: "Recharge 4+: Place up to 3 blocks of size 1 hard cover within Range 3, or one block of Size 2 cover." },
                    { name: "Rift", activation: "Quick Action",
                        detail: "Choose a Line 5 area in Range 5. At the start of its next turn the area collapses." },
                    { name: "Sharpen", activation: "Quick Action",
                        detail: "A Blast 1 area in Sensors becomes difficult terrain until end of scene or next use." },
                    { name: "Tremor", activation: "Quick Action",
                        detail: "All characters in a Blast 1 area in Sensors must pass a Hull save or be knocked Prone." }
                ]);
            }
#

same stuff use for sniper mark, that inject the "fall prone" to the target

signal solar
#

Huh.

#

Ok found something interesting.

#

Rolling Mech Stats [H.A.S.E] through the Token Action HUD makes the roll NOT include any bonuses.

#

That Hull Check is supposed to have +4 instead of +0

#

But if I roll it through the Mech's Sheet, it works fine.

wise coral
#

ok must i have forgotten something , same for NPC ?

signal solar
#

Yep

#

Far as I can tell, its all Stat rolls. Checks or Saves.

wise coral
#

noted

signal solar
#

Skill Triggers for PC Pilots seem to be fine tho

serene leaf
wise coral
#

what do you mean ? , what is the expectation ?

serene leaf
#

I'm sorry I didn't begin combat and thought the base stats of the NPC were hidden

#

this is so embarrsing

wise coral
signal solar
#

Nice, I'll holla when I come across anymore weird things with the modules

wise coral
#

Update :

Lancer-automations :

Support hard cover, templates, and recharges, TAH activation fixe, new feature for extraAction , statRoll remote + new indication for injected action compared to others

templateMacro : tempalte attach to token feature + fixes stuff

signal solar
#

The Token Action HUD doesn't broadcast specifically PC Frame Traits, Talents, and Core as well as NPC Traits that aren't Systems.

Like when you click on one of the NPC Systems in that tab, it broadcasts it to the Chat Log.

It isn't the same for the NPC Traits tab.

The right click to view is fine. But broadcasting to the chat log doesn't work. Needs to open the actual sheet in order to broadcast it.

wise coral
#

i see, i never used the chat broadcast for non active stuff, hence why i didn't add it .

#

guess i'll see to add it

signal solar
#

Yeah, this is mostly for other players readability. As they would also like to see the ability their allies have, or the ability the enemy is using to punch them in the face.

wise coral
#

Lacner-Automation update :

improve left click action on trait , talent, stuff etc..
update to THT 0.6.0

templateMacro

function preservation.

elevation ruler

update to THT 0.6.0

THT fork 0.6.0 with movement penalty , dont know if it should be integrated in the real one. so as usual i fork .
https://github.com/Agraael/FoundryVTT-Terrain-Height-Tools

signal solar
#

Huh, nice.

#

Also, been looking through the settings of your fork of Elevation Ruler and I maaaaaay be blind.

What setting toggles the basic ruler and the movement ruler?

wise coral
#

simplified Canvas ruler

#

tbh i wonder if a should do two ruler like

movement ruler and measure ruler

proud ferry
#

Oh that's such a life safer, I thought I'm going to have to count hexes next session

proper latch
#

trying to figure out how to auto-create auras for my NPC tokens so i don't have to manually add them

#

like does that get edited into the Grid Aware Auras somewhere, or is that a macro i have to use somewhere?

wise coral
#

you would need to hook some code at token creation , either doing with a module, or a macro that you have to run to make the hook.

or in lancer automation there startup script allowing to create to code run after loading ( like a module)

proper latch
#

i'm also just trying to figure out how to do automation for weapons and audio effects and struggling a bit

wise coral
#

for audio and stuff you have lancerFx module that explains it better.
for automation, i cant teach you everything. Look at the documentation, i think the examples still works. try them with other item and learn.
then you can come here with specific question.

proper latch
#

ok, so i put that code i quoted into a startup script but it didn't seem to do anything

wise coral
#

try some console.log() , to see if it really runs

wise coral
#

Lancer-Automation 2.7.0

TAH , some improvement, LOG tab + stats
New target_modifier bonus type : applies and injects target modifiers into attack and damage HUDs (global and per-target).
Add moveToken utility with interactive placement, range checking, collision handling, optional teleport VFX and TerrainHeightTools elevation integration.
Improve interactive canvas helpers: support point origins for range highlights and add rangeOrigin option to placeZone.
some SFX and icon stuff
Documentation not fully updated, getting a bit tedious

TemplateMacro

nw onInside and onLeave hooks

signal solar
#

This stuff is fire ong

wise coral
#

update and cleaning of the api doc

wooden torrent
#

i've added the lancer automations module and suddenly my scenes won't load, are there any modules that are known not to work with it or that are redundant with it?

wise coral
#

no idea, try f12 to see any error

wooden torrent
#

seems token factions and grid aware auras are missing an image, i think?

#

wait are lancer QOL and automations compatible with each other?

#

nah deactivating QOL doesn't solve the issue

wise coral
#

Mmmm you can try to make a new empty world only with lacner automation.
i'm unsure of theses error , what do you have without lancer automation ? to see the diff

wooden torrent
#

not much as far as errors and warnings go

wise coral
#

what about the empty world ?

wooden torrent
#

on it as we speak

wise coral
#

tested mine no issues. tryed without token faction since they are mentioned in your logs

wooden torrent
#

big red blocks, i only have automations and its dependencies

wise coral
#

Mmmm somethign with svg icon , let me check

#

just to be sure you have the lacner system in that empty world

wooden torrent
#

yep

wise coral
#

can you do this in the console

CONFIG.statusEffects.filter(s => s.img?.includes("icons/white")).map(s => `${s.id}: ${s.img}`).join("\n")

wooden torrent
#

the linebreak didn't work but we get a few things back

wise coral
#

Mm what your foundry version? what browser do you use ?

wooden torrent
wooden torrent
wise coral
#

mmm maybe that's not what i think ...

wooden torrent
#

it works flawlessly on chrome. i don't know how or why but it's a problem on firefox but not chrome. i'll let the others know to use chrome for the game but good to know?

wise coral
#

no i tried mine on firefox

#

no issues

wooden torrent
#

okay then it's my installation of firefox that's got issues, the plot thickens

wise coral
#

my firefox is blank with only ublock origin

wooden torrent
#

i deactivated all extensions and it's not loading, so it's probably in the configs somewhere

wise coral
#

found it , i was able to reproduce

#

got to

about:config

#

look for

webgl.disabled

wooden torrent
#

set to true or false?

wise coral
#

false

wooden torrent
#

it was already set to false, and switching it to true just makes it so foundry won't load the loggin page

wise coral
#

what about

#

gfx.webrender.software

#

what it's value ?

wooden torrent
#

false

wise coral
#

shit

wooden torrent
wise coral
#

well tbh i dont know

wooden torrent
#

i mean hey at least chrome works so it's not like i'm all out of options

wise coral
#

i dont have the opengl stuff

signal solar
#

You sure it ain't anything to do with your modules? Maybe reinstall them?

formal crest
wise coral
#

well i must change the wording, it's not teleporting. but it's an automation of a spΓ©cific skill of an npc.

formal crest
#

Ah, I see. Fair enough, then.

#

Thanks!

signal solar
#

It is basically the automation of the Accelerate system of the Sunzi

#

Oh wait no, that was the Architect's terrain printing shenanigans

#

Which basically also functions like Accelerate

wise coral
#

yes it's an architect

signal solar
#

I recognize the Civil-Class Printer name

wise coral
#

that's mainly how i add new feature, i automate all my npc one by one, then for some it require new feature , so it can be scalable for others

#

Here the "Treat all Charcter as Invisible" required the new Target_Modifier bonus type

signal solar
#

Huh, so this Automation mod is entirely "Build when I need it" in terms of how you code it.

Interesting.

wise coral
#

that's how all my stuff starts, tools for me , that i share

#

that was the same shit with NPC importer, having to update NPC twice ( from comp/con and vtt ) was bothering me.

barren quest
#

Hey LaSossis, hoping you can lend a hand wuth some troubleshooting. For some rrason the automatic range templates thst normally pop up when you hover ovet weapons in your new token action hud aren't appearing for me.

I made a new world and tested with all the same modules and it worked, so I've got no clue where the conflict might be. Any ideas how I could check?

wise coral
#

any error in the console ?

#

when hovering ?

barren quest
#

I'll send a Screenshot, 1 sec.

#

Ok so I don't get any errors when hovering over attacks or anything in the hud itself, but I do get this warning when hovering over tokens:

wise coral
#

that should not be an issue, if you check the list of aura in the token what do you have ?

barren quest
#

Seems empty.

wise coral
#

seems to be the issue , the aura used for preview is not there, but why.

it should be called "range_preview"

barren quest
#

No clue honestly. Β―_(ツ)_/Β―

#

I tried disabling and then re-enabling both Grid-Aware Auras and Automations to see if it will re-initialise, no dice.

#

Funnily enough, manually exporting and importing the range preview from my other world seems to work though, so I can just manually put them back in for my players.

wise coral
#

i'm at work , and i'm gonna be busy tonight, just wait until i truly try to fix this

barren quest
#

Aye, I thought that might've been it two but I double checked and it is the fork.

wise coral
#

ok i think i found the issue

#

once again some issue when i import feature from my personal stuff to lancer-automation

#

and i'm gonna call it LA_range_preview , to be safe

#

ok i pushed , hoepfully it work, i gotta go in 20min

barren quest
#

Thanks mate, appreciate it! I'll give it a go shortly and report back.

barren quest
#

Yep that's fixed it, thanks again!

signal solar
#

Ok, I think I came across a bug.

#

Elevation Ruler + Terrain Height Tools measurement
Expected: Drag a line to measure a space and place a token onto that space.
Bug: Dragging a line to measure distance between spaces to a space NEAR painted terrain causes the ruler to "read" that it is at a far different elevation. As well as dragging a new token onto the canvas sets it at said random elevation.

Tested this on a new world, with only Elevation Ruler and Terrain Height Tools installed.

#

There are even some instances when it is doing it when there are NO painted terrains nearby. But from what I could tell, unpainted maps work fine.

#

More info: It seems to be linked to [ Terrain Height Tools integration ] setting.

wise coral
#

thank you , i think i know what it is .

wise coral
#

cant reproduce yet on an empty world, do you have the lastest version of THT ? , function to get terrain at positios changed a bit

#

(i need to update my fork)

orchid prism
#

I was looking at your fork and thinking that the ignoreAutoElevation flag and the wall-height integration in getTokenHeight would be good to merge upstream, and the new move penalty field could be added via the new registerCustomTerrainTypeConfigUi API function.
That would then save you the need for maintaining your own fork. Obviously if you prefer to have your own fork that's fine too, but food for thought.

wise coral
#

i dont mind, that seem better
i do fork because i dont know the original intent , some stuff i do could be closed minded to my perspective .

#

yeah for the flag it's because i have a size 18 token on the map,

wise coral
#

i think people might have guessed but ,i'm making a Desert of Kharak / Lancer , campaign.

thus mech are clearly not the biggest unit.
a carrier is
568 meters long for a hundred tall

#

for reference i have design the entire ship

#

anyway i'd like to know when it's out, then lancer-automation would use it.

orchid prism
#

That's really cool. Yeah I saw your tokens and recognised them. Makes me want to reinstall it and play it, I really enjoyed that game!

Sound, you happy for me to just copy your code in, or you can raise a PR if you want to be properly attributed in the git history?

wise coral
#

nah just copy, i'm at work now

royal knoll
#

hihi! i wanted to ask, im getting this warning about automatic token elevation change, saying the elevation ruler fork already handles it, but i dont think so? the automatic token elevation change makes the token to, change its elevation and "float" above tiles in an isometric module, while the elevation ruler only calculates the movement cost of climbing the elevation. when i turn off the setting as recommended, the elevation change doesnt happen. should i just bear with it and change the elevation manually or am i doing something wrong?

wise coral
#

something wrong is happening , elevation ruler (my fork) should handle it
also to it's my elevation ruler fork , not the normal one. just somehting you should mention
but i don't use isometric module , so that might not be handled well.

what isometric module you use ? can you show me a video of what is happening ?

#

also what version of THT du you have ?

royal knoll
#

here are the modules, your elevation ruler fork, THT and the isometric module i use

#

i will record a short video

#

my foundry version is 12.343, in case it helps

#

i believe the isometric module isnt the problem perse. it's just that when i disable the automatic elevation change, the token isnt applied any elevation, and therefore the isometric mod doesnt create the floating effect

wise coral
#

i dont have grape juice isometric, i tried on an empty world with isometric perspective , i dont have the issue.
the only difference is that i use my THT fork that is still on 0.6.0, maybe something comes from that ?

#

any error in the console ?

#

should alway be the first thing to check

royal knoll
#

in the console, without the elevation change, those 3 errors appear in the first image. with the elevation change, a few errors appear in the second image, they are all the same one

#

i can try to install tht 0.6.0

#

unfortunately i believe grape juice is a paid mod... ill try to see if it has a free version

royal knoll
wise coral
#

my test is in empty world THT 0.6.0 , isometric perspective , and elevation ruler.

royal knoll
wise coral
#

i cant test that. but i dont think that's the issue

#

i'm limited in what i can do , i'm supposed to work

#

thankfully compilation time is long

royal knoll
#

it's fine, no pressure lemiredogpat

#

let me try with THT 0.6.0

#

just tried, sadly same issue

#

without elevation change, the token doesnt get elevation. with it, the token gets elevation.

wise coral
#

on an empty world ?

royal knoll
#

i'll check

wise coral
#

we have to remove all noise

royal knoll
#

yeah, same issue on a newly created empty world

wise coral
#

mmmmm

royal knoll
#

the issue is that without elevation change on, in the THT module, the token isnt getting its elevation changed when stepping into a terrain with height

#

it's honestly just that, but idk how to fix it

wise coral
#

without the isometric module ?

#

for now we have no clue who the culprit is, we still have to find it

royal knoll
#

if push comes to shove, i can just update the elevation manually

#

i can try to check if the issue persists without the isometric module

wise coral
#

debugging is long and painfull, but testing possibilities is what you need to find the truth

royal knoll
#

same issue

#

turned off the isometric module. without THT elevation change, the token isnt getting any elevation

wise coral
#

HOLD ON

#

check elevation ruler

#

do you have this

royal knoll
#

i do have it enabled

wise coral
#

crap

#

so empty world with only elevation ruler + THT dont work with a simple base terrain with is solid checked at true

royal knoll
#

yes, i am in a new, empty world. there's no isometric module. i have your elevation ruler fork and THT 0.6.0.

#

the token only gets elevation with the elevation change on from THT

wise coral
#

do you have Only those module, like no additional module active with it

royal knoll
#

oh, hold on, i forgot to turn off the rest of the modules. give me a sec

wise coral
#

...

#

the point of an empty world, was to isolate from every addition noise from any other module

royal knoll
#

the issue is now gone, when moving into an elevated terrain it gets elevation without the elevation change... so i guess it's some other module being an issue

wise coral
#

AH FINALLY

royal knoll
#

i'll try to check with find the culprit

wise coral
#

progress

signal solar
wise coral
#

same thing , complete empty world , with THT and Ruler

royal knoll
#

i might have found the culprit

wise coral
#

test the case with the least noice

wise coral
royal knoll
#

yup got it

#

it was a module i, dont even know why i had it, called terrain mapper

#

turning it off fixes elevation ruler to work properly

#

-# so sorry for wasting your time but it's fixed :D

signal solar
royal knoll
#

ohhh i see why i had that module installed, it's because it adds the option for regions to give the "difficult terrain" condition

#

now i wonder how can i apply that without that module...

wise coral
#

i can try to see how to make it compatible, otherwise you can check templateMacro, i have stuff to create difficult terrain that trigger the damage

signal solar
#

I'll double check on my end, there may be something I am missing.

wise coral
wise coral
royal knoll
#

ohh, i see, just tried and it works, unfortunately its not like the other module, where the regions can be invisible, and when hovering the area with the token, it warns of it being difficult terrain

#

would be great if some day there is an elevation ruler fork and terrain mapper compatibility patch, as it's the most seamless way i found of adding difficult terrain. still, thank you so much for the help and your incredible modules, of course!

wise coral
#

i'll check that tonight at home

#

i'll try to fix the elevation issue,
for difficult terrain in use my THT fork, where i can set movement penalty to terrain. (which works with elevation ruler fork)
template macro is used to make movable ones.

i dont think i'll do anything else for terrain mapper , i dont use it .

#

it also used with lancer-automation with difficult terrain immunities and flying (or climber)

royal knoll
#

oh! i never saw that option of movement penalty within THT, i guess it's because i updated it? that fixes my problem

#

i would then say, that it would be cool if when hovering a token over a difficult terrain area, there's a warning alike the movement label

#

at least in my end there's no warning, sadly

#

nevermind me again, didn't touch anything and suddenly, the warning started to appear wokejoy

#

guess I have 0 problems then! giggleAspen

wise coral
#

i'll see with the next version, my change would no longer be needed i think. we'll see

signal solar
#

Yeah no, still doing it

#

Even on a completely new world with just the Elevation Ruler and Terrain Height Tools active

wise coral
#

Mmmm

#

i dont remember if you tried 0.6.0 instead of 0.6.1 ? , since that the only difference with me

#

what's your version of the ruler ?

#

like i said it look like one of issue i add with using the center of hexes to get terrain.
updating the ruler for 0.6.0 , i need to fix this issue again , for some function parameters were inverted.
hopefully it can coem from either the ruler outdated, or THT , or maybe soemthing broken in 0.6.1 ?? not sure.

otherwise its more complicated

orchid prism
#

updating the ruler for 0.6.0 , i need to fix this issue again , for some function parameters were inverted.
Do you mean in the THT API some of the parameters have been inverted? If so that wasn't intentional; I was intending to keep the API fully backwards compatible.

wise coral
#

yep getCell changed

from

export function getCell(x, y) {
    return TerrainHeightEditorLayer.current?._heightMap.get(y, x);

to

export function getCell(i, j) {
    if (canvas.grid.type === CONST.GRID_TYPES.GRIDLESS)
        throw new Error("Cannot use this function on gridless scenes");

    const { x, y } = canvas.grid.getCenterPoint({ i, j });
    return heightMap.getShapesAtPoint(x, y);
orchid prism
#

Huh I thought i was left-right and j was up-down, but it seems like it's the opposite πŸ€”

I'll reverse it back to how it was in 0.5.11 when I do 0.6.2 then, I don't really want it to behave differently from how it was before.

orchid prism
#

THT 0.6.2 is out which adds ignore auto elevation flag, the tokenHeight flag from wall-height, and swaps the parameters of getCell and getShapes back to how they were pre 0.6.0.

wise coral
#

alright thx, time to update stuff

wise coral
#

oh i see you added animation, i did the same but only in grid aura

wise coral
#

wait i cant find the aniamtion otpion, did i failed my merge ??

orchid prism
#

Oh god damn it I must've missed changing the name when copy and pasting from another field. 🀦
It's the one that's incorrectly labelled as "Texture Scale"

wise coral
#

@orchid prism
btw using canvas.app.ticker.maxFPS,
wont work if users have an uncaped framerate in there settings.
(it didnt work for me because of it )

it set the value at 0 for uncapped

deltaTime should already be normalized to the frame rate .

either something like

sprite.tilePosition.x += (xAnim / 60) * deltaTime;
sprite.tilePosition.y += (yAnim / 60) * deltaTime;

or

sprite.tilePosition.x += ((xAnim / canvas.app.ticker.FPS) * deltaTime) % (texture.width * xScale);
sprite.tilePosition.y += ((yAnim / canvas.app.ticker.FPS) * deltaTime) % (texture.height * yScale);
orchid prism
#

tbh I don't really understand what deltaTime actually *is* conceptually speaking. Looking at the PIXI Ticker code it's the deltaMS * a targetFPMS value.

I didn't realise deltaMS was a thing so I'll just use that instead I think.

Thanks for letting me know though, I didn't actually realise it was possible to uncap the fps. I'll sort it for next release
-# (which won't be today, I think I've done too much today and I'm clearly not thinking straight today lol)

wise coral
#

hehe it's my bread and butter

Deltatime is the time difference between last frame and the current frame.
It is specifically used to code logic that does depend on frame rate, or rather adapts to it.

A function with deltatime usually means it is called every frame.

let's say i want a bullet to move at 1m per second.

every frame i would need to move it. for 1 second, one meter.
what you usually do is multiply your speed with the deltatime.

if one frame is 1 second, the delta is 1 (it's in seconds). at 60 fps, deltatime is about 16 ms.
for every frame: 1 meter * 0.016, and so after 60 frames we have our meter.

but if the user is omega lagging , like at 30 fps (i'm mean 30 is ok) , then we move more each frame.
if i'm super fast, like 240 fps, then we move very little.

no matter the fps fluctuation, your speed visually is going to be the same.

deltaMS is probably just deltatime at a different scale.

there's more to that concept and a lot of issues, like collision detection or physics, but that's the basis

orchid prism
#

Yeah I get the idea of doing animation/physics/whatever based on time rather than FPS, it's this deltaType that pixi passes to the ticker functions that I don't understand.

It has a deltaMS which is the number of milliseconds since the last ticker tick, but then the deltaTime parameter that it passes to the ticker function is the milliseconds multiplied by some constant. I'm guessing based on the name it's something to do with how many frames per millisecond - but if that's the case why is targetFPMS a static on the Ticker class, rather than an instance property - surely the target number of frames per millisecond are going to change based on whether the ticker is targetting 60fps or 120fps or unlimited.

Regardless I've replaced it with this now which seems to work nicely

const { deltaMS } = canvas.app.ticker;
sprite.tilePosition.x += ((xAnim / 1000) * deltaMS) % (texture.width * xScale);
sprite.tilePosition.y += ((yAnim / 1000) * deltaMS) % (texture.height * yScale);
wise coral
#

ah my apologie for over explaining then

#

it kinda make me happy to explain stuff like that

#

from what is see deltaTime , is the number of frame elapsed, so it a bit unsually actually

orchid prism
#

Nah don't apologise I appreciate it. I'm the same at work lol

wise coral
#

1 for 60, 0.5 for 120, i guess they made this to make it more simple to understand

#

well i have been a programming teacher, for pay my studies

wooden torrent
#

how do i cleanup a reactor explosion? one of my players thought it was funny to nuke himself in the base and now there's a giant crater i can't erase

wise coral
#

it from lancer qol, it leave a light the crates is an effect. won't be there after reloading. the light will still be there

wooden torrent
#

Ah thank you, thought that was part of your module

wise coral
#

maybe , i think i might have copied it, in any case maybe at soem point i'll do somthing about it

signal solar
#

Sorry, had to go to sleep cause I was losing my marbles over it. I'll double check the THT version.

#

Huh. Ok, yeah THT 0.6.0 seems to be stable.

#

Yep. Looks like before and after 0.6.0 the elevation ruler does not play nice.

#

But 0.6.0 specifically the THT plays nice with Elevation Ruler.

signal solar
#

Ah ok, now I discovered a new bug.

Drag Moving doubles the height instead of the actual height.
Moving by Ruler is perfectly fine, it reads the height normally.

Moving by Ruler lets the token get up to a height 4 elevation normally.
Drag Moving on the other hand moves the token to height 8.

Vice versa it also does that when trying to move it back to Elevation 0 (the unpainted terrain)

#

Guess Ruler Move is what I'll be doing for now.

dense trellis
#

Is there a setting to make your Token Action Hud window movable, rather than it always being fixed in the top left?

wise coral
#

in any case , THT and elevation ruler fork have been updated, after I mentioned the issue with getCell

wise coral
signal solar
wise coral
#

the version , and yes they have been updated. si does THT to 0 6.3 , (and soon 0.6.4 for the frame rate issue)

dense trellis
signal solar
wise coral
#

ok both are in Sync with the "getcell" function

#

do you have a warning when loading your world , about elevation?

signal solar
#

Let me check, if it did then I didn't notice it. I'll log out and log back in.

wise coral
#

otherwise you can uncheck the auto elevation in THT

#

the warning is a UI notify , so should have appeared on the screen

signal solar
#

Thanka, that fixed it.

#

Didn't pop up the first time tho which was weird.

#

The warning I mean.

wise coral
#

care full, your elevation ruler fork and THT are not up to date

#

wibble rolled back the "GetCell" issue , thus Lancer automation and the ruler, changed again to adapt (mainly being back old calls)

signal solar
#

Aight, I'll update them both now. So possible that both your fork and THT should be stable now?

#

Ah Wibble rolled it back

wise coral
#

it should

signal solar
#

Nice

wise coral
#

the axis of the function where reversed.

signal solar
#

Oh ook 0.6.4 is still not out

#

I'll replace it with 0.6.0

wise coral
#

you can with 0.6.3

signal solar
#

Alright then, I'll test it

wise coral
#

the next is for the framerate and animation issues

signal solar
#

Well that is lovely, it works now and I can rest easy with drawing cover and stuff for my maps now. THT with their custom shape painting should play nice now.

wise coral
#

no idea if (custom shape) play nice with elevation ruler, it should not

signal solar
#

Should not play nice or will?

wise coral
#

not

signal solar
#

Just tested it, seems like it does play nice so far. But measuring can look a bit tricky.

#

It may be safe to say for now that it is ok-ish

wise coral
#

my ruler fork try to calculate each hex move , to know if you climb up and down during your path .

#

I guess that work because it take the center

#

it be more tricky if you traverse the zone in one move

#

but this is not the movement ruler it does not show the movement cost

signal solar
#

I'm gonna start using the custom drawn terrain. If I come across any bugs, or goofs I will inform ya

whole night
#

hey, the lancer automation has a code for the dispersal shield, how to i put it in game

wise coral
#

there is an option to access my personal item implementation, in the configuration. then it should run when activating the NPC item.
keep in mind it's just my personal stuff, if you dont like it better make your own. it's mainly to serve as exemples .

dispersal shield is a bit special, with the "deactivation action", which is not displayed yet in the TAH, i'm gonna change it soon.
you wont be able to use it properly . (like you wont have the button to turn it of)

whole night
#

thanks

median moat
#

So just updated to THT 0.6.3 and the Elevation Ruler fork 0.11.6.

The update notes mentioned there should be a movement penalty setting in the configure UI but I cant seem to find it? Movement penalty for difficult terrain is actually working for me tho when moving tokens/measuring (im just looking for the UI configure setting).

wise coral
#

no i was wrong it's not there yet in the official , must use my fork

median moat
#

Ohh ok

#

I see it now, thanks πŸ™‚

#

Quick thing of note for something I noticed on your forks page btw. Im new to github so not sure if this is something that can be changed or not.
https://github.com/Agraael/FoundryVTT-Terrain-Height-Tools

But viewing the above link currently (which should be your fork correct?)
And the installation instructions are pointing towards Wibbles version of the module.json atm

GitHub

Foundry Virtual Tabletop module for painting terrain height and calculating line of sight - Agraael/FoundryVTT-Terrain-Height-Tools

wise coral
#

a shit , must have been the merge

#

i'm finishing some new feature and fix for lancer automation , then i'll fix

wise coral
#

2.8.0

Changelog

New Features

  • Infection Damage Type - New damage type from HORUS: Thy Hubris Manifest, fully integrated into Lancer (hopefuly) . Works like Burn but applies Heat. Systems check at end of turn. Cleared by Stabilize and Full Repair.
  • Ammo System - Systems with ammo (like Ammo Case) display ammo entries on actor sheets with USE buttons. AmmoFlow consumes charges and prints a chat card. Available in TAH under Actions > Ammo.
  • Item Disabled - Mark weapons/systems/NPC features as disabled via right-click context menu. Blocked from activation, cleared on repair.
  • Compatibility Checker - Detects conflicts with csm-lancer-qol and offers one-click auto-fix.
  • LCP Data Repair - Settings button to fix known issues in compendium and actor items (ammo types, descriptions).

Fixes

  • Alternative Structure chat buttons - Fixed flow buttons in structure/stress chat cards not working (Custom Flow Dispatch handles module-registered flows).
  • Melee Cover Fix - Melee attacks no longer apply cover (per RAW). Thrown weapons still count as ranged.

Improvements

  • Template Patching - embedButtons support injected at runtime (no file edits needed).
  • Trackable Attributes - Move, Reaction, and Infection added to token resource bar options.
  • TAH - Infection shown in stats bar. Ammo category in Actions > Ammo.

Sheets

  • Infection stat displayed on both base and alternative sheets.
  • Ammo entries displayed on both base and alternative sheets.
  • Disabled items styled on both base and alternative sheets.
itch.io

Four paracausal alternate frames for the LANCER System

signal solar
#

Yoooooooooo

#

Hmm, do you have your own fork for Alternative Sheets? Cause I can't spot the Infection tab in NPC sheets.

wise coral
#

well i 'm updating to the last version, (that just appeard 5 min after i pushed)

#

no need to fork it's all injection based

#

same for my lacner custom stuff, instead of having to get my cusotom fork i hack my way into the lacner object

#

(the same way i do for import NPC, i litterlly look for lancer.mjs and hood intothe connection)

signal solar
#

Hmmm, I see. Though I noticed while the Infection box appears in Alternative Mech Sheet, it doesn't in Alternative NPC Sheet at all. (Swapped it back to default Lancer Sheet and it IS there)

#

Also I like the effect you made for Infection is that part of Lancer Automations or you coded that part in yourself?

wise coral
#

lol it just the fire effect but green , but yeah it's in it

#

hold on before typing a huge wall of text, i want simple inofrmation.

what do you do , give me the step so i can reproduce your issue

tired gate
#

fair!

I'm in combat, I take a player npc, place it adjacent to an enemy NPC, and nothing happens. It does not cause either of them to be engaged, nor does the ruler stop upon becoming engaged.

wise coral
#

so it was working before

#

simple check , is it toggled at true in the default activations ?

tired gate
#

full disclosure: I hadn't gotten to testing phase, because I was rebuilding a LOT of my foundry because i had updated from 2.9 to 2.11

wise coral
#

yes

tired gate
#

Aye, then yes

wise coral
#

indeed i'm able to reproduce on a clean world , but it work on my persnal one , i'm checking

tired gate
#

When I rebooted, I got a warning from Find the Culprit that there were errors, and I clicked fix without thinking since it just said it was to do with the Auto-engagement.

wise coral
#

you gotta give more information, this is too vague to help

tired gate
#

If I could give more articulate information, I would.

I just updated from 2.9 to 2.11, so a lot of stuff has been broken and I'm trying to fix it. Inbetween reloading my world, I got the notification that there was an update to Lancer Automations.

So I logged out, updated it, and logged back in. I got the notification from Find the Culprit that there was an error, it was related to the Lancer Automation's Auto-Engage function, and while I want to say the number of error was something like 23 I can't be certain. I clicked "fix" and then went to see if the auto engage function worked.

It didn't. I checked to see if it was still on in the activation manager, and it was. I clicked the 'Apply Fixes" button, and that didn't do anything, nor did "Reset to Defaults"

There was a weird interaction where I tried to see if it was tied to the Lancer QoL automatic Engagement function. it was off, so I turned it on, and in that instance, being adjacent to an enemy unit removed engagement, while moving away caused engagement.

After that, I came to the discord to report that I had this error, and that's caught up to present.

wise coral
#

from what i cna see there is an isse with my isHostile function , looking into it

#

do you use my token faction fork ?

tired gate
#

I don't know what Fork means in this instance, but I do have Token Factions

wise coral
#

what is the disposition of the 2 token (hostile, friendly etc .. )

tired gate
#

Friendly and hostile

wise coral
#

ok that mean you dont have my custom token faction (no that it is needed , but it uselfull for context)

#

just to be sure does you token faction module configuration look like ?

tired gate
#

Other than base opacity, which I do not think should matter

wise coral
#

well actually you have my custom one lol , that narrow the issue

tired gate
#

I can hop into a call/screen share if that would be easier

wise coral
#

no needed yet, try to disable themodule, it should work, if it does that confirme that the getDisposition fucntion do not work properly when you dont have advanced team (my use case)

tired gate
#

so, to clarify: Disable Token Factions?

wise coral
#

yes the module

tired gate
#

Confirmed! Both the pop-up that 'you are becoming engaged' and the automatic application of engagement are both working

wise coral
#

yup that confirms, it, working on the fix, you'd have to update tokenfaction then

tired gate
#

Copy that! Thank you for the help ❀️

wise coral
#

tokenFaction (fork) 13.0.2

Fix disposition Functions not properly working with token with no advanced team

Lancer-automations 2.8.1

Fix sheet injection with the newly updated lancer-alternative-sheets
Add Token Tooltip Alt configuration for infection and reaction , from Eranziel's

tired gate
#

Okay, so, I have loaded up a different world, after getting everything working on my oldest world. I thought that it would be fixed and fine because I updated both the token faction and lancer automations, but I am getting this compatibility issue warning there.

i clicked ignore, and the engagement features are working perfectly fine.

As a precaution, I made a backup world, clicked "Auto-fix and reload" and the engagement features did not work anymore. The popup comes up each time, I reload in the original world that I hit ignore for, but it doesn't show up any more on the second world

wise coral
#

the warning is when you have lancer Qol Engagement , you cant have both at the same time.
you can do it manually, if without lancer Qol Engagemnt, the engagement dont work , we have an issue.

#

this must be off

tired gate
#

~~So, I turned off lancer QoL engagement, and that made the error go away, however, the engagement functions then stop working.

Lancer automations version 2.8.1
Token Factions 13.0.2

Tried turning off token factions and the engagement still is not working~~

I forgot to turn on combat

wise coral
#

so it work ?

tired gate
#

It does look like it is working, yes

wise coral
#

2.8.2 : TAH HUD: add drag/lock and persist position
@dense trellis

signal solar
# wise coral

I am gonna yoink this for my own personal TTA config.

dense trellis
royal knoll
#

hi! the new update is really good :D i wanted to ask, is there a way to disable the infection stat?
i am going to use it, but want to hide it away from my players until it comes into play

wise coral
#

ah yeah sorry i did not

#

i should propably

royal knoll
#

also, how did you do this? the status of infection + the token effect

wise coral
#

token effect is just the fire effect form lancer QoL but green lol.
i'm actually getting the hang on tokenMagicFx, and making a couple more right now

as the Infection , well that's way more complicated
You have to add entry into actors schemas (npc, mech) , then i'll inject into variable in the lancer.mjs to add the infection damage.

so that then the whole system believe infection is a new damage type. that's why you can see it everywhere. i'm patch the system.
Go to edit a weapon, and you can give it infection damage now.

(there's more to it, like the damage, handle the chat messge, reversing the damage, stack check , etc ..., and probalby edge case i didn't think about)

i haven't tested it , but i think i could make an LCP with infection damage and the import would work.

#

and for the infection status, well i juste added it by code that's all

#

the goal is to make it seemless , like it was here from the beginning

#

(oh i didnt handle infection on deployable or pilots, nah it works)

royal knoll
#

i suppose the token effect comes from having the status

wise coral
#

it should do

#

like burn

royal knoll
#

i'm applying infection effect and nothing else is applied, it's why im asking

wise coral
royal knoll
#

that's not happening on my end, no

wise coral
#

i see , by default the status effectis at false

royal knoll
#

huh, i dont have that many options..

#

plus the infection is enabled but... still isnt applied

#

weird

wise coral
#

brother you can read

#

check those , and the master one

#

i'll path so that they at true by default

royal knoll
#

yes those are still enabled and its not aplied, i turned them off for the screenshot seeing that you had the first one disabled

wise coral
#

reload and retry , first adding the status manualy , then the damage. (so far i tested on my empty testing world)

royal knoll
#

reloaded and, nor the status or damage give the effect, its weird. none of the other status are having issues.

wise coral
#

do you have any error on the console

#

what's your version of lancer ?

royal knoll
#

these are the only things that seemed to appear when throwing infection damage

#

im running foundry 12.343 and lancer 2.11.2

#

im going to try on an empty world

wise coral
#

if you open the sheet does the stat is at a correct value ?

royal knoll
#

yep

wise coral
#

Mmm only the auto effect and auto status , check agin the option if it save properly, also not haveing lacnerQol effect

royal knoll
#

i just tried on a world with only these mods and same issue

without lancer QoL as well, the others are on as I suppose they are needed (foundry tells me lancer automations have them as dependencies)

#

but yes, infection is being applied to the sheet

wise coral
#

since the option for efect are false by default are they checked ? just to be sure

#

do theysave properly

royal knoll
#

yeah everything is enabled, i checked beforehand

wise coral
#

if you burn damage , does it dd the status ?

royal knoll
#

yep, just checked

#

like i said, all other status are working properly, its only infection

wise coral
#

i know , but to be sure, i'm making you do the step i would do to test

#

in the effect mamager can you find the infection status ?

royal knoll
#

i can find it in both menus

wise coral
#

can you try CONFIG.statusEffects.find(s => s.id === 'infection')

in the console

royal knoll
wise coral
#

also i see way way more status , i have in my empty world. no idea if that can cause an issue,

royal knoll
#

the extra status are from lancer core

#

i didnt add anything else

wise coral
#

i think they are not by default, thus i dont have tehm in my testing world

royal knoll
#

just turned all of them off and still same issue

#

i didnt have an infection status before anyway so, i dont think theres any conflict there

wise coral
#
await a.update({ 'system.infection': 5 });```

test this  on a controlled token , check if you have any error
wise coral
#

whhen you debug you are never sure

royal knoll
#

i run the code, i saw it added 5 infection to the sheet but, again, no status or effect

#

i tried to run it twice

wise coral
#
console.log('user is GM?', game.user.isGM);
console.log('actor:', a);
console.log('infection val:', a.system.infection);
console.log('status registered?', !!CONFIG.statusEffects.find(s => s.id === 'infection'));
const result = await a.toggleStatusEffect('infection', { active: true });
console.log('toggle result:', result);
console.log('actor effects:', a.effects.map(e => e.name));```
#

no need to run it twice

royal knoll
#

ok now it added the infection status to the token, no infection to the sheet, and the token didnt get any green effect

wise coral
#

i need the text in the console

#

it wil give me the info

royal knoll
wise coral
#
const a = canvas.tokens.controlled[0]?.actor;
await a.toggleStatusEffect('infection', { active: false });
const traceHook = Hooks.on('updateActor', (actor, change, opts, userId) => {
  console.log('[trace] updateActor fired', { actor: actor.name, change, userId, isMatch: actor === a });
});
await a.update({ 'system.infection': 5 });
console.log('effects after update:', a.effects.contents.map(e => e.name));
console.log('infection val:', a.system.infection);
console.log('master enabled:', game.settings.get('lancer-automations', 'statusFXConfig')?.master);
console.log('auto_infection:', game.settings.get('lancer-automations', 'statusFXConfig')?.auto_infection);
Hooks.off('updateActor', traceHook)```
royal knoll
#

again, no status, no effect, 5 infection in the sheet

wise coral
#

it says master not enable , check again this menu

wise coral
#
cfg.master = true;
await game.settings.set('lancer-automations', 'statusFXConfig', cfg);```

if it does not work , you can try to  toggle it directly , that way.
#

i gtg to sleep

placid dew
#

Just wanted to pop my head in to say that as a new GM on foundry, and to lancer, the automations module has been so extraordinarily helpful that i cannot believe it doesn't get more attention in guides, videos, etc. I've gone from wondering how to do everything mechanically, to having a system that mostly just works

#

Have yet to figure out the flow for blast zones for things like the hive, but one step at a time!

wise coral
#

thanks, I don't remember If I mention other stuff I have like npc import or my actor browser fork, (damn I remember I must fix my dog of war shit)

I should mention them there.
but that module exist since few month (I think I started 3 month ago ), so that's expected that it's not very known.

tbh I'm also a new GM, and I felt with the freedom that brings VTT I could make tool that I need.

#

but I should slow down a bit I'm getting too deep , and forgot my normal life and activities.
been a while since I didn't do a cycling race , I should get back to it

royal knoll
wise coral
royal knoll
#

it had to be the second one as i tried to insist on it saving on settings

#

fortunately now its saved so, the headache is over

#

good night!

wise coral
#

I'll make a check on the saving

serene leaf
#

@royal knoll hi, uhh, is your problem related to token tooltip alt? i think LaSossis current tta configs might be wrong.
While we wait, you could give this one a try (i copy paste infection and reaction from LaSossis config to Valk config, but didnt add infect to any actor that doesnt have heat). You should also change max row to 6 for stuff to display properly i think.
If it's about damage failed to apply (target took 0 damage), have you tried pressing "apply fixes" in the automation settings? That one fixed the no infection damage problem for me

#

oh also could there be a settings that take into account Gorgon's 2 reactions? I don't think the current config has it right?

wise coral
#

Reaction in the system is not even a number, I think Gorgon's reaction is not even handle at by the system.

I decide to keep infection even for those who have no heat , because heat is converted to energy damage. they could still "technically" (and it's up to interpretation) have infection and take energy every turn .

I didn't like 6 row , so I left it to 5 .

royal knoll
#

hi! just checked the new token stat bar, i really love this integration and how burn, overshield and infection appear on top of hp/heat, it was a nice addition

#

i thought of three suggestions in case you'd like to consider them:

  • maybe adding an option to disable infection damage would be nice, as not everyone would be playing with those rules, and it appears in mech's sheets occupying space
  • adding an option in resources to hide how much structure/stress an NPC has (as enemy stats are a secret until they are scanned). like, if an NPC has 4 structure, the bar could render as just one block until the option is turned off, if players scanned it for example
  • and maybe making the HP / heat bars to change colors, for example; low HP is red, full HP is green, low heat is brown, high heat is orange
wise coral
#

for the infection yes i should do it.
the rest , probably not ,its my personal interpretation. bar brawl already exist .
for struct it's literal just a fork ui wise of a bar brawl template. that's it .

change of color i tried , i find it ugly , not necessary in term of information, there already a lot of colors possible. it add confusion

#

(and also i dont want to create an automatic gameplay pipeline with scan and shit, i dont need it )

royal knoll
#

thats totally fine ^^ i certainly like both, bar brawl and your new integration, but your animations and overlaying burn/overshield/infection makes it look a lot better imo

wise coral
#

2.8.5 >> Toggle option Infection damage integration

grave scarab
#

okay, your bar brawl fork with the overshield and burn overlays is finally gonna get me to try out your module suite. everything looks awesome from your screenshots and videos!

do you want any posts in here pinned? like the first one, with the links to your modules?

wise coral
#

sure why not, let me do a lat update on the bar Brawl and then i'll update my post above with all modul and stuff, it a bit outdated

#

making some change , like the minute i started using it in a map with different grid sale, it was not got.
Also adding some options, and changing a bit of design

#

keep in mind that is a kinda my own bar Brawl, so it does not have all the option. like changing color and stuff

#

it more like a bonus stuff in lancer automation

grave scarab
#

ohh okay. does it have the ability to change what is visible when? like having text overlay of hp/heat

wise coral
#

no

#

it my custom made hud for stats

grave scarab
#

gotcha!

wise coral
#

like for exemple the hud will appear on its own when someone take damage, to show the anim.
then disappear

royal knoll
#

that's amazing honestly, really like it

signal solar
#

Huh, gotta inspect the newest fork (to me) to come around.

#

I've been just using Zenn's config with the latest Bar Brawl (because it looks coolio like statuses you'd see on your HUD to give you info.

#

So I'm deffo gonna check out what is different with yours.

royal knoll
#

hmm

#

just updated lancer automation, disabled this option, reloaded, but infection keeps on showing on the sheets, but disappears as a damage option

wise coral
#

well i kinda did in like 2 min , so yeah sorry, i'll check later

royal knoll
#

dw

wise coral
#

oh yeah forgot renderActorSheet

wise coral
#

2.8.6 adn upadate post

#

i'm gonan chill a bit on slay the spire 2

grave scarab
royal knoll
#

2.8.6 fixed it, now infection disappears from the sheet too :)

wise coral
#

1.0.6 NPC import , >> now works with comp/con v3 Dev

signal solar
#

Right, slight note to make here. The Lancer Automations Token HUD does not seem to read actions that are part of Talents.

#

Things like the Quick Action and Reaction of Heavy Gunner (Covering Fire)

wise coral
#

"read" what to you mean ?, does clicking on it works ?

#

btw i see you have the infinity on the movement icon, are you in combat ?

signal solar
#

Nope, like how clicking on the other abilities broadcasts them to the chat log.

#

I've tested both in combat and out of combat.

wise coral
#

ok i'lll check

signal solar
#

Yej, also a slight note as well. The Stat Roll for Mech Skills and Pilot Skills don't have a Flat Bonus modifier box. Would it be possible to also add that?

wise coral
#

Flat Bonus modifier box, from what by exemple ?

signal solar
wise coral
#

but they never show on stat roll , like from the base lancer system

signal solar
#

Nah I mean the Flat Modifier add or subtract, think it may be possible to add that? Is a little niche yeah but it would also see some use.

#

Mainly to Mech Skill and Pilot Skill cards

wise coral
#

oh taht not a bug

#

you ask a feature

signal solar
#

Ooooooh

#

Thought that was a bug.

wise coral
#

no man that never existed in the first palce

signal solar
#

Ooficus, I shall not procceed to die of cringe.

#

I never noticed.

wise coral
#

the bonus is in he rolled message efter ward

#

if it's not there, yeah that an issue, but the roll card, no never been there

signal solar
#

Yeah but it would be nice to mess with it especially in a campaign sitting.

wise coral
#

i'll see what i can do

signal solar
#

I thought it was always there.

#

Lovely.

wise coral
#

i entedn so much , that ppl forget what were the base feature of vtt lancer

#

at this point, if i get laid off , i'll just make my own fork of lacner system for v13

signal solar
#

Honestly you could pitch this Lancer Automations module to the team that handles the Lancer System module in Foundry. Pretty sure they'd welcome you in with how much stuff you've built.

wise coral
#

nah

signal solar
#

Fair enough, your choice

wise coral
#

too much pressure and , it mean more work

signal solar
#

REAL

wise coral
#

in my module i'm free

signal solar
#

True, not being connected means this is more of a passion project for you.

#

Something for you to enjoy making and also enjoy strangling

wise coral
#

like i always this module is for me first, and i share it to others.
learning a new code base, working with other , it become like work

#

i already do my passion as a work , and ho boy sometimes

#

here i allow my self to try stuff , experiment do messy code , be janky

signal solar
#

We embrace the jank.

wise coral
#

beside , i know some seen my stuff i shared so bits of code

#

right now i took 3 days off, to chill after working on a game for 4 years

signal solar
#

Nice, I hope you have a goob relaxing 3 days off

wise coral
#

things will go naturally , people will check out , and see.

#

beside coding this module is like not even 50% of all the work it do for my game.
i have writting , game design, art direction, commision stuff.

#

anyway i'm rambling

wise coral
#

improvement on the hud, change the display of elevation

wise coral
#

lancer-automation 2.8.7

new change in the custom token hud for elevation + status icon a bit smaller

  • fix TAH action from talent
wise coral
royal knoll
#

Nice!

somber python
#

I can't seem to move tokens in gridless scenes, is this intentional?

wise coral
#

what do you mean can't, like literally can't ?
but no.

  • I need a repro steps, so I can try to reproduce your issue.
  • vidΓ©o footage can help
somber python
#

Removing the THT module seems to work.

#

I think it's because I'm not using your branch.

#

But it does say it is.

#

Let me double check what settings I'm using.

wise coral
somber python
#
14module.js:472 Uncaught Error: Cannot use this function on gridless scenes
[Detected 3 packages: terrain-height-tools(0.6.3), elevationruler(0.11.6), lib-wrapper(1.13.4.0)]
    at Sr (module.js:472:1584)
    at Object.xr [as getCell] (module.js:472:1484)
    at THTElevationAtPoint (terrain_elevation.js:385:28)
    at Ruler.terrainElevationAtLocation (terrain_elevation.js:281:18)
    at determineMovementType (token_hud.js:111:52)
    at hudMovementType (token_hud.js:85:58)
    at movementTypeForTokenAt (token_hud.js:74:10)
    at _LancerToken.movementType (token_hud.js:62:41)
    at new MovePenalty (MovePenalty.js:146:39)
    at tokenSpeedSegmentSplitter (token_speed.js:41:45)
    at gridlessSnapping (Token.js:298:24)
    at _LancerToken._onDragLeftMove (Token.js:221:26)
    at 🎁CONFIG.Token.objectClass.prototype._onDragLeftMove#0 (libWrapper-wrapper.js:191:52)
    at MouseInteractionManager.callback (foundry.js:30835:17)
    at #handleDragMove (foundry.js:31214:26)
    at #handlePointerMove (foundry.js:31179:64)
    at vh.notifyListeners (EventBoundary.ts:1464:33)
    at vh.notifyTarget (EventBoundary.ts:658:14)
    at vh.propagate (EventBoundary.ts:310:18)
    at vh.dispatchEvent (EventBoundary.ts:210:14)
    at vh.mapPointerMove (EventBoundary.ts:815:64)
    at vh.mapEvent (EventBoundary.ts:231:28)
    at ra.onPointerMove (EventSystem.ts:396:31)

wise coral
#

do you ahve my elevation ruler ?

somber python
#

Is 0.11.6 right?

wise coral
#

i never play in gridless , high chance my code do not work in that stetting

somber python
#

Lol.

#

I use it to show scenes and let the pc's move their tokens freely.

wise coral
#

i'll update elevation so it work, but the auto elevation wont work

#

in gridless

somber python
#

That's fine, I only use it for theater of the mind stuff.

#

Thanks anyway.

wise coral
#

you can throw away my elevtion ruler then

#

oh i might have a solution

somber python
#

What kind of issues would not using your branch entail?

wise coral
#

the feature it provide for autoa elvation, movement penalty , fix of un even movement

somber python
#

That's too good to miss out on~

#

I can just make my scenes grids and make the lines invisible or something, lol.

wise coral
#

hold on i'm trying to test

"getShapesAtPoint" insteadf of getCell in gridless

#

UPDATES

NPC-Import >> faster npc download
Lancer-automation >> flying animation
ElevationRuler >> gridless support ?

#

try update elevation rulers

signal solar
#

Quick question LaSossis, did you add some code to change the size of the token statuses?

wise coral
#

yes

signal solar
#

Cause they didn't look like this until I updated your modules

#

Ah ok got it

wise coral
#

wait

#

yyou have my stats bar activated ?

signal solar
#

There a setting to change it? If so I don't see it.

wise coral
#

if not , it shoudl not

wise coral
#

i'll add one, but it's part of y bar brawl stuff

signal solar
#

Ah, its part of Bar Brawl?? That is new, I thought Token Statuses are separate from that

wise coral
#

no it'snot bar brawl

#

i meant MY bar brawl stuff

#

it seem you dont have it activated , so that's an issue

signal solar
#

Ah, I found no link to your Bar Brawl so that may be why.

#

I'm using the original Bar Brawl.

wise coral
#

forget it , it not a module, my wording is wrong it in the lancer automation , bottom at the readme

#

patch is comming

formal crest
#

This is expected, correct?

signal solar
#

Oddly enough I did not see that when I opened up the world.

#

I think I already fixed those.

#

This is something entirely different.

#

Oh wait no I am dumb

#

Yeah that is expected.

#

Just click Auto-fix & Reload.

formal crest
#

Cheers, just making sure.

wise coral
#

update

lancer-automation >> fix shrinking status effect applied globally
templateMacro + elevation ruler -> gridless fix and support

#

oh forgot , the flat modifer on HASE roll is there

somber python
#

Elevation update works like a treat, cheers~ Saves me a lot of time from converting all my gridless scenes into grids~

wise coral
#

@signal solar

signal solar
#

Glorious

somber python
#

Think there might be something funky with the flying. The token sticks to the y-axis where you activated the flying.

wise coral
#

i guess the animation is not properly working. you can desactivate it

#

probably a scale issue

#

can you give me you grid size in pixel + the appearance settings of the token

somber python
signal solar
#

Ah, I was gonna also report the weird flying animation bug. But someone else beat me to it.

wise coral
#

werid i dont have the issue on my empty world

somber python
#

What does your flying code look like?

wise coral
#

function startFlyingBob(token) {
    if (_flyingTickers.has(token.id)) {
        return;
    }
    const amplitude = Math.max(2, Math.floor(canvas.dimensions.size * 0.03));
    const periodMs = 2000;
    const restY = token.mesh.position.y;
    const tick = () => {
        if (token.destroyed || !token.actor?.statuses?.has('flying')) {
            stopFlyingBob(token);
            return;
        }
        const t = (performance.now() % periodMs) / periodMs;

        const offset = -(0.5 - 0.5 * Math.cos(t * Math.PI * 2)) * amplitude;
        token.mesh.position.y = restY + offset;
    };
    _flyingTickers.set(token.id, { tick, restY });
    canvas.app.ticker.add(tick);
}

somber python
#

Testing in the console, it has something to do with restY.

wise coral
#

ok i'll check , for now i'm on an other thing

somber python
#
const token = canvas.tokens.controlled[0];

const amplitude = Math.max(2, Math.floor(canvas.dimensions.size * 0.03));
const periodMs = 2000;

const tick = () => {
    const baseY = token.document.y + (token.h / 2);
    const t = (performance.now() % periodMs) / periodMs;
    const offset = -(0.5 - 0.5 * Math.cos(t * Math.PI * 2)) * amplitude;
    token.mesh.position.y = baseY + offset;
};

canvas.app.ticker.add(tick);
#

See if you can fix the flying bug by pasting the above into the console.

#
function startFlyingBob(token) {
    if (_flyingTickers.has(token.id)) {
        return;
    }

    const amplitude = Math.max(2, Math.floor(canvas.dimensions.size * 0.03));
    const periodMs = 2000;

    const tick = () => {
        if (token.destroyed || !token.actor?.statuses?.has('flying')) {
            stopFlyingBob(token);
            return;
        }

        const baseY = token.document.y
                      + (token.h / 2);

        const t = (performance.now() % periodMs) / periodMs;
        const offset = -(0.5 - 0.5 * Math.cos(t * Math.PI * 2)) * amplitude;

        token.mesh.position.y = baseY + offset;
    };

    _flyingTickers.set(token.id, { tick });
    canvas.app.ticker.add(tick);
}
function stopFlyingBob(token) {
    const entry = _flyingTickers.get(token.id);
    if (!entry) return;

    canvas.app.ticker.remove(entry.tick);
    _flyingTickers.delete(token.id);

    if (!token.destroyed) {
        token.mesh.position.y = token.document.y + (token.h / 2);
    }
}
wise coral
#

OH the issue is after moving , shit kinda did nto check that , stupid .
you could have said that. now i can reproduce

#

i'm gonna use tokenMagic that's way simplier

#

forgot it has effect to move token images

#

Stat bar overlay fixe, value numbers on owner + always above token
Fix flying effect -> switched to tokenMagic
2.8.10

somber python
#

Yeah, fly movement is all good now~

formal crest
#

Not sure if this matters to anyone, but Lancer Automations seems to be the only module that doesn't highlight yellow when an update is available, always shows as green.

Is this expected?
_ _

wise coral
#

probably because it's not published on foundyr

formal crest
#

Alright.

grave scarab
#

found a bug i think?: this mech has 6 speed but the boost color doesnt show up until it moves 8 while its moving up in elevation. works fine when its moving across flat ground

#

doesnt seem to happen with size 1 mechs. havent tried any other sizes

#

ohh wait nvm - i was using drag ruler before and still had the hexagonal shape set to rectangle. it works fine when its set to ellipse

wise coral
grave scarab
#

yeah its not! it works fine when the hexagonal shape is changed, i just had it set to rectangle since that fixes drag ruler's snapping and forgot to change it back

wise coral
#

ah , well still there is an issue , where sometime the whole ruler becomes yellow .

grave scarab
#

oh weird

wise coral
#

yeah, it been a while since i did that , i had less knowlegle and had many issue.
huh at some point i should get back ot it

#

@grave scarab i see this
you are not using turns in cambat i assume ?

#

i think i should get the movement tracking by turn optional , and if not used , it shoudl just show the movement

grave scarab
#

yeah i was just testing it out so i hadnt activated anyone yet, combat was active though

wise coral
#

ok ok

#

yeah that 's why it says 0/0 , it's not his turn

tired kiln
#

I tried installing Lancer Automation module but any time I try to press anything use weapons/systems I get these types of errors and I'm baffled about what's going on, could it be some sort of incompatibility with other modules or did I fuck up some installing step?

wise coral
#

"any time I try to press anything use weapons/systems"

i'm gonna need something way more precise to undertand what you do

#

from where, the token action HUD , your sheet ?

tired kiln
#

with the module active, it just completely breaks them.

#

nothing happens, red error

wise coral
#

'm gonna need more detail, i can reproduce .
what is the item ? , high chance i have it to test

#

or does it break all item activations ?

tired kiln
#

that's the thing, it's everything as far I can tell that has that sort use or roll element. Saves work, but everything that the sheet has sub elements for, like skill triggers, weapons and systems doesn't work

wise coral
#

and when you remove the module it works back ?

tired kiln
#

Yes, I tried it turning off all other modules that weren't connect to lancer auto and still borked

wise coral
#

what is your version of the lancer system ?

when you have the error i would need more context than the error. with the logs above might have some information

So far i cant reproduce your issue, are you able to reproduce it with an new empty world, with only lancer system and lancer automation installed ?

tired kiln
wise coral
#

thanks i think i got it

#

to confirm try to disble the infection damage feature

tired kiln
#

that did in fact, fix it

wise coral
#

i asume your are not self hosted ? right

tired kiln
#

Forge ya

wise coral
#

yep

tired kiln
#

is this a self-host vs forge issue so it's an utter pain to notice on a dev end?

wise coral
#

yes it is

#

but i know the cause now, i'll look into it

#

i think i know the culprit

tired kiln
#

And there's a workaround at least of disabling infection damage, thanks o7. Seriously, love your work, the NPC import module is such good quality of life.

wise coral
#

yeah the issue comes on how i patch the lancer system

wise coral
tired kiln
#

Sure!

wise coral
#
const resources = performance.getEntriesByType('resource');
const entry = resources.find(r => /lancer-[a-f0-9]+\.mjs/.test(r.name));
if (entry) {
    console.log('Found bundle URL:', entry.name);
    import(entry.name).then(bundle => {
        console.log('DamageType enum:', bundle.D);
        console.log('instanceof check:', fromUuidSync(canvas.tokens.placeables[0]?.document.uuid) instanceof CONFIG.Item.documentClass);
    });
} else {
    console.warn('No bundle found');
}

can you try this ? in the console

#

and give me the result

tired kiln
#

With infection on or off or does it not matter

wise coral
#

dont matter

#

i wan to see if i can get the lancer.mjs file

tired kiln
#

actually let just export the whole thing

wise coral
#

nananana that was enough

tired kiln
#
const entry = resources.find(r => /lancer-[a-f0-9]+\.mjs/.test(r.name));
if (entry) {
    console.log('Found bundle URL:', entry.name);
    import(entry.name).then(bundle => {
        console.log('DamageType enum:', bundle.D);
        console.log('instanceof check:', fromUuidSync(canvas.tokens.placeables[0]?.document.uuid) instanceof CONFIG.Item.documentClass);
    });
} else {
    console.warn('No bundle found');
}
VM450:4 Found bundle URL: https://assets.forge-vtt.com/bazaar/systems/lancer/2.11.2/lancer-c22b4371.mjs
PromiseΒ {<pending>}[[Prototype]]: Promise[[PromiseState]]: "fulfilled"[[PromiseResult]]: undefined
VM450:6 DamageType enum: {Kinetic: 'Kinetic', Energy: 'Energy', Explosive: 'Explosive', Heat: 'Heat', Burn: 'Burn', …}Burn: "Burn"Energy: "Energy"Explosive: "Explosive"Heat: "Heat"Kinetic: "Kinetic"Variable: "Variable"[[Prototype]]: Object
VM450:7 instanceof check: false```
#

well here is it then

wise coral
#
const resources = performance.getEntriesByType('resource');
const entry = resources.find(r => /lancer-[a-f0-9]+\.mjs/.test(r.name));
import(entry.name).then(async perfBundle => {
    perfBundle.D._TEST = true;
    const relBundle = await import('/systems/lancer/lancer-c22b4371.mjs');
    console.log('Same module?', perfBundle.D === relBundle.D);
    console.log('Perf _TEST:', perfBundle.D._TEST);
    console.log('Relative _TEST:', relBundle.D._TEST);
    delete perfBundle.D._TEST;
});

now this

tired kiln
#
foundry.js:518 Foundry VTT | Registered callback for createChatMessage hook
foundry.js:518 Foundry VTT | Registered callback for applyActiveEffect hook
foundry.js:518 Foundry VTT | Registered callback for init hook
foundry.js:518 Foundry VTT | Registered callback for setup hook
foundry.js:518 Foundry VTT | Registered callback for ready hook
foundry.js:518 Foundry VTT | Registered callback for ready hook
foundry.js:518 Foundry VTT | Registered callback for ready hook
foundry.js:518 Foundry VTT | Registered callback for controlToken hook
foundry.js:518 Foundry VTT | Registered callback for updateToken hook
foundry.js:518 Foundry VTT | Registered callback for updateActor hook
foundry.js:518 Foundry VTT | Registered callback for closeSettingsConfig hook
foundry.js:518 Foundry VTT | Registered callback for getSceneNavigationContext hook
foundry.js:518 Foundry VTT | Registered callback for createCombat hook
foundry.js:518 Foundry VTT | Registered callback for deleteCombat hook
foundry.js:518 Foundry VTT | Registered callback for updateCombat hook
foundry.js:518 Foundry VTT | Registered callback for dropCanvasData hook
foundry.js:518 Foundry VTT | Registered callback for renderSidebarTab hook
foundry.js:518 Foundry VTT | Registered callback for renderSettings hook
foundry.js:518 Foundry VTT | Registered callback for renderCombatTrackerConfig hook
foundry.js:518 Foundry VTT | Registered callback for closeCombatTrackerConfig hook
foundry.js:518 Foundry VTT | Registered callback for preCreateScene hook
foundry.js:518 Foundry VTT | Registered callback for renderChatMessage hook
foundry.js:518 Foundry VTT | Registered callback for hotbarDrop hook
VM453:6 Same module? false
VM453:7 Perf _TEST: true
VM453:8 Relative _TEST: undefined```
wise coral
#

shit , its gonna be complicated

tired kiln
#

o7 good luck

wise coral
#

i fear you cant have the infection feature on forge

tired kiln
#

That's okay because frankly in 2-3 years of running lancer, I have no idea what that even is

wise coral
tired kiln
#

Ah, heat burn

wise coral
#

@tired kiln still there ?

#
document.querySelectorAll('script[type="module"]').forEach(s => {
    if (s.src?.includes('lancer')) console.log('script tag:', s.src);
});
navigator.serviceWorker.getRegistrations().then(r => console.log('SW:', r.length ? r : 'none'));

if you can try that sry

tired kiln
#

will do, give a second

#
VM357:2 script tag: https://comradedanni-test-world.forge-vtt.com/modules/lancer-automations/scripts/overwatch.js
VM357:2 script tag: https://comradedanni-test-world.forge-vtt.com/modules/lancer-automations/scripts/main.js
VM357:2 script tag: https://comradedanni-test-world.forge-vtt.com/modules/lancer-automations/scripts/grapple.js
VM357:2 script tag: https://comradedanni-test-world.forge-vtt.com/modules/lancer-automations/scripts/tah/index.js
PromiseΒ {<pending>}[[Prototype]]: Promise[[PromiseState]]: "fulfilled"[[PromiseResult]]: undefined
VM357:4 SW: none```
wise coral
#

thx

#

ok last one , and i stop

const url = "https://assets.forge-vtt.com/bazaar/systems/lancer/2.11.2/lancer-c22b4371.mjs";
const a = await import(url);
const b = await import(url);
console.log("a === b?", a === b);
console.log("a.D === b.D?", a.D === b.D);
wise coral
#

OOOOOH

#

ok ok ok , next update

#

i'll need you to test it

tired kiln
#

sure

signal solar
#

Looks like you hit a "Eureka!" moment there.

wise coral
#

yup but tomorow, for 2.9.0

wise coral
#

https://github.com/Agraael/lancer-automations

v2.9.1

New Features

  • Wreck System β€” Ported from csm-lancer-qol (my own spin with more options) . On death, spawns a wreck/corpse token with per-category settings (Mech, Human, Monstrosity, Biological). Wrecks can be resurrected from TAH. Custom wreck assets folder supported. Built-in sounds and effects included. Can spawn terrain upon death.
  • Persistent Range Auras β€” Toggle Max Threat, Sensors, and Max Range auras from TAH (Utility > Ranges). Configurable colors, opacity, and auto-enable modes (none / in combat / always).
  • onPreStructure / onPreStress triggers β€” New cancellable triggers that fire before structure/stress damage is applied. Reactions can prevent structure or stress loss.
  • onPreHpChange / onPreHeatChange triggers β€” New cancellable triggers with modifyHpChange(newValue) / modifyHeatChange(newValue) to intercept and modify HP/Heat changes.
  • onHpGain / onHeatGain / onHeatLoss triggers β€” Renamed from onHPRestored, onHeat, onClearHeat for consistency.
  • Activation cancel identity tracking β€” When an Activation cancels a move, the system remembers which Activation did it and skips that reaction on retry, now Chaining cancel from multiple item is possible and the flow is not lost.
  • awaitActivationCompletion β€” Replaces forceSynchronous on reactions. Clearer name for the same behavior.
  • Movement cap improvements β€” Initializes on combat start for all combatants. ignoreMovementCap option to bypass. Engine-initiated cancels tracked.
  • Deployable HP=0 destruction β€” Deployables at 0 HP are automatically destroyed and removed from combat.
#

UI

  • Config windows redesigned with cleaner layout and shorter hints
  • Token Action HUD settings moved to dedicated config menu (no longer [BETA])
  • "Lancer Automations" shortcut in sidebar settings
  • Force Client Settings lock icons in custom config windows
  • Infection damage toggle moved into Combat & Movement config
  • Activation Manager: trigger groups with collapse/expand and count badges
  • Activation Manager: trigger data reference popup
  • Wreck config with per-category table grid and terrain type selector

Fixes

  • Infection DamageType patching works on Forge VTT (resolves correct bundle URL from script tag)
  • Socket preload handler was dead code at module scope β€” moved into handleSocketEvent
  • Movement reroute (changeTriggeredMove) properly tracks _cancelledBy across retries
  • clearMovementHistory clears movement cap even without Elevation Ruler
#

@tired kiln it's out if you want to try (pls make it work)

royal knoll
#

nice!! cant wait to try it out

#

great work man

signal solar
#

csm-lancer-qol no longer compatible with lancer automations with this update or it is still compatible?

Need to know if this means I need to turn off lancer qol.

wise coral
#

welll i do have the compatibiliy checker , that will check any feature of QoL that comflict with lacner automation.

you can have both so long the feature do not conflict

#

shoudl probably mention that

#

but yeah i finally transfered ALL custom feature i did in my modifed lancer QoL

#

i dont need it , is far i am concerned

#

there more custom stuff that i need to port , but my next game is tomorow , i never tested all my shit in an actuall game lol.
it's midnight i'm a bit late in preparation

#

(my dyslexia is strong , sometimes i wonder how people can read me)

tacit oxide
#

i am deleting ur custom qol then yeey

wise coral
#

oh yeah for you yup

#

way out of date

#

damn been a while since that shit

tacit oxide
#

lmaooo

#

it been working with minimal problems tbh

wise coral
#

that surprising

#

even at work we would found bug i made becausse of typo 3 years ago

tacit oxide
#

well there might be some stuff not working or not correctly working, but no big crashes

#

and nothing we realised like me and my players finished an arc with them

wise coral
#

ouchy

#

wow

#

i'm glad

tacit oxide
#

always thankfull for ur stuff, and lancer automation is great, last thing i was trying to make was
this action for coronus and im gonna try to do that prestructure trigger

wise coral
#

be wary i change some reaction name in the last update , onHp and onHeat

#

"onHpGain / onHeatGain / onHeatLoss triggers β€” Renamed from onHPRestored, onHeat, onClearHeat for consistency."

wise coral
#

you would need to canel the structure flow in the middle of it , don't remember wher onStruture is placed

tacit oxide
#

i was just thingking of just entierly not start the normal structure flow and handle it with its own unique structure tbh

wise coral
#

i can move a bit the "onStructure"

to be just after the roll, then provide cancel or modify fonctions

#

and i need to expose the individual dice

#

i'll look into it

somber python
#

The wreck explosion sounds are real loud, anyway to alter that? And for my 1/2 mechs I use 0.5 tokens, anyway to maintain the token size when they die? (the QoL wreckage does).

wise coral
#

I'll make something for the volume

somber python
#

I manually change the token sizing to 0.5 rather than 1 dimension on the grid space.

#

So the left one is Size 1 and the right one is Size 1/2.

wise coral
#

lol had no idea it does that

#

I'll make the token inherit

#

it's the manual sizing right ?

somber python
#

Yes.

wise coral
#

I kinda want make that automstic (as an option,)

wise coral
#

Lancer Automations 2.9.2

Add wreck volume option, half-size tokens handle, chance throw weapon and pickup weapon ui flow

Lancer NPC import 1.0.9

Implement Reserve Pilot Import

Grid Aware Aura Fork 0.5.7.4

Handle 0.5 manual size token + other fixe i dont remember ..

somber python
#

Thank you for the update~

#

For the wrecks, the volume control works for the first sfx but the many explosions after are still at the same volume.

wise coral
#

you sure try 0 , mayeb it's justthe valumes of the files are differents ?

somber python
#

Yeah, I think it might be the files.

#

Oh wait.

#

One of them still has sound.

#

Even at 0.

wise coral
#

HUH ?

#

i just test it , i have no sound on my end

somber python
#

I think you might have missed adding a control volume to one, it's the one that explodes 3 times and then ends with a final psssh noise.

#

I think you have it set it random sfx right?

wise coral
#

eh ?

#

with the wreck master volume ?

somber python
#

Yeah.

wise coral
#

wait do you have lacner qol active ?

somber python
#

I do, I didn't remove the module.

#

But all the wreck related stuff is off.

wise coral
#

remove it to test

somber python
#

No more noise~

wise coral
#

ok bring back lacner QOL, can you show me the settings ?

#

the wreck settings

somber python
#

Should I just not be using this module?

wise coral
#

ooooh

somber python
#

I don't know what sort of magic you did to make it so THT gets added upon their death.

#

It's freaking great.

wise coral
#

i think it's an issue in lancer Qol , like some stuff still run even when enableAutomationWrecks is false

somber python
#

Yeah..

#

Maybe it's somehow reading your version.

somber python
#

I noticed for the size 2 and up mechs, it sometimes does partially make it size 1 or size 2.

wise coral
#

yeah i 'll check taht later

#

i did that shit many month ago, before lacner-automation. i just ported some old code

somber python
#

Lol.

#

Saves me so much time.

wise coral
#

Changelog

Terrain Height Tools (fork)

  • Fix: Added missing prettyFraction import that crashed the terrain stack viewer.

Lancer Automations

Wreck System

  • Fix: Resurrect no longer re-adds token to combat.
  • Fix: Wreck terrain was reading wrong cells (swapped row/col).
  • Fix: Wreck terrain follows terrain contour per cell instead of using a flat elevation.
  • Fix: Terrain height falls back to actor size when Wall Height isn't set.

Compatibility

  • Patch: csm-lancer-qol's wreck hooks now respect its own disable setting when LA wrecks are active.

Settings

  • New: Auto Token Height β€” sets Wall Height tokenHeight from actor size + 0.1.
  • New: Vehicle & Squad height adjustments (vehicles size-1 capped at 4, squads 0.5).
somber python
#

I can still hear the wreck explosions even with the audio set to 0.

#

Or turned off.

somber python
#

I noticed that when PC's mechs become wrecks, it requires the Owner to have all these permissions.

tired kiln
wise coral
#

YES !!!!

tired kiln
#

Thank you for your time and effort!

wise coral
#

just did a testing game , so much bug to fix and issue , it's gonna take a while.
i'm gonna do a big pass on all current content and base feature

somber python
#

Not sure if anyone else is having this issue, but putting tokens in the scene makes it so the attack rolls and toolbox to adjust accuracy/difficulty no longer appears.

somber python
#

For the PC's anyway.

somber python
#

It seems to be an issue with this world only..

somber python
#

I've narrowed it down to one players mech.. but for some reason in another world, it works fine.

#

And by uploading a fresh copy of their json, everything now works.

somber python
#

This time around it just isn't working no matter what I do to it in this world.. I guess it just randomly decides to hate one player token.

#

Resetting the automation solved it.

wise coral
#

i'll check , I'm doing a bug fix patch

#

it will be slower no that my "vacations" ended

wise coral
#

@somber python for this bug i'd need a repro state if it happend again .

somber python
#

Resetting Lancer Automations fixed it but I'll let you know if I come across it again. I'm running 5 campaigns for Lancer, so if it does occur again, I'll let you know.

somber python
#

Would it make more sense to move Overcharge to Free Actions instead of Protocol? And why don't the npc quick techs bring up the roll box? I guess I can just use basic tech right after.

wise coral
#

" And why don't the npc quick techs bring up the roll box?"

bug -> will be fixed in next patch

" Overcharge to Free Actions instead of Protocol"

yeah you're right i t does make more sense

#

i tough about push the patch today, but i gonna gets some drink with an old friend,. might come backl home late

wise coral
#

Lancer_Elevation_Ruler Fork : 0.11.11

Movement & elevation

  • Multi-hex tokens now correctly pick up terrain height from any of their occupied hexes (the highest one wins), both when placed and while dragging the ruler.
  • Climb cost rule clarified: per hex entered, 1 horizontal + 1st elevation unit = 2, each extra elevation unit adds 1 + 1 penalty (so 1H+2V = 4, 1H+3V = 6). This now applies consistently whether the climb comes from terrain, manual [/], or both combined on the same step.
  • Fixed: hex-vertex drag bug where dragging from a hex corner produced a 0-cost move in one direction.
  • Fixed: pure manual [/] climbs were double-counted with terrain elevation when both were present.
  • Fixed: terrain penalties were being summed across every hex of a multi-hex footprint. Now it takes the highest terrain penalty under the token, counted once per step.

G key β€” changed behavior

  • Old: "measure to ground" (drop flying token to ground for the measurement).
  • New: Flying Mode toggle (independent of the flying status). While on:
    • A wing icon πŸͺ½ appears next to the ruler label.
    • The token only climbs up automatically β€” it never drops down.
    • Cumulated altitude is preserved: flying over a hill 0 β†’ 1 β†’ 0 leaves you at elevation 1 when you land.
    • Manual [/] still works on top.

Flying status (actor effect, unchanged rule but now correct)

  • Flying tokens pay the same base climb/descent cost, but no climbing malus.

Misc

  • Ruler labels show TLP, DBG, FREE prefixes for teleport / debug / free-movement segments.
  • New Debug Movement keybinding (no-highlight, no-cost scratch move, useful for repositioning without marks).
#

Lancer Automations 2.9.5

New Features

  • Add Reserve Dialog β€” Browse compendium reserves by type (Pilot Bonuses / Resource / Tactical / Mech) or create custom Reserves, Projects, and Organizations matching Comp/Con's interface. Accessible via Utility > Misc > Reserve or the L.A - Add Reserve macro.
  • Wreck Spawning Improvements β€” Wrecks inherit disposition and token-factions faction. Player-triggered wrecks forward to GM for token creation.
  • Custom Measure Aura β€” New persistent aura with adjustable per-token size (1–100). Toggle from Utility > Ranges > Custom.
  • Per-Weapon Range Aura β€” Each weapon's child menu has a "Range (N)" toggle to pin the Weapon Range aura to that specific weapon's range.
  • HUD Row Counts β€” Categories and subcategories display the number of items they contain next to the arrow.

UI / Popup Changes

  • Item detail popups now show disable/destroy toggle buttons in the header for items that support them.
  • NPC weapon and tech detail popups show flat attack bonus and accuracy (using the Lancer system's reticule/accuracy icons).
  • Tiered damage for NPC weapons now correctly resolves to the actor's current tier in popups.
  • Weapon children reordered: FIGHT / primary attack action listed before ATTACK.

Scan & Lock On

  • Both now use a token picker within sensor range when no target is selected (instead of just warning).

Overwatch

  • Weapon choice is now filtered to weapons with Threat range covering the target distance.

NPC Flow Fix

  • NPC tech features with tech attacks now properly dispatch to the Tech Attack flow (rolls attack + accuracy) instead of the plain activation flow.
#

Wreck System Fixes

  • Terrain cell coordinates fixed (was querying wrong cells).
  • Terrain elevation per cell β€” wreck terrain follows the terrain contour (cliff edges work correctly).
  • Terrain height fallback β€” uses actor size when Wall Height flag isn't set.
  • Resurrect no longer re-adds the token to combat.

Multiplayer Fixes

  • Triggers fire only once instead of per connected player:
    • Fall reaction (onTurnEnd)
    • Brace reaction removal
    • Flight status checks
    • Heat/HP gain/loss triggers
    • Movement triggers
    • Status applied/removed triggers
  • combatTurnChange runs only on the active GM.

Range Auras (TAH)

  • "Max Range" renamed to Weapon Range throughout settings and UI.
  • Default Weapon Range aura color changed from orange to red.
  • Toggled range auras now stay visible while dragging a token.
  • "Always" mode auto-applies on token creation, not just combat start.
  • Toggle writes persist to flags so they survive canvas refresh.
  • Weapon Range aura supports per-weapon override β€” shows that weapon's range instead of the max across all weapons.
  • Toggling Weapon Range from Utility > Ranges clears any per-weapon override.
  • New Custom Measure row in aura config (color + opacity).

Misc Fixes

  • Crash fix: missing scope error when csm-lancer-qol is not active.
  • Auto-patch for csm-lancer-qol: its ungated wreck hooks now respect its own disable setting, preventing flag interference.
  • Prone status FX no longer conflicts with Slowed status FX.
  • Movement History dialog: added Revert Last Move button.
  • Standing Up now costs a standard move (logged in both LA and Elevation Ruler history).
  • Toggling HUD toggle elements (range auras, measure) no longer closes the TAH column.
#

Player Groups

https://github.com/Agraael/Vtt-PlayerGroups

new module, basically i'm going to have a second campaign, and i didn't wanna make a new world and have to update both every time i change something. but then some documents should be available to some players and not to others, and maintaining ownership one by one is a pain...

so that's what this module does : you define player groups, and in the normal Ownership Configuration dialog you get a new row per group. set the group's permission, everyone in it updates at once. you can still tweak individual players after.

also adds a little icon on sidebar entries, hover it and you see who owns the thing (if the owners match a group exactly, it shows the group, otherwise the individual players).

first version, we'll see how it goes.

glacial edge
#

Hey! quick question about the automation, the grapple action doesn't add the grappling/grappled condition even on a hit. Is this how it is or did i mss somehting up?

wise coral
#

i'll check, it's a complicated one that I should redo

glacial edge
#

Gotcha. Its not working on my end atm.

Also, you mentioned on githib that the priest's investirue is automated, but i cant seem to make it work? Again, unsure if i am doing something wrong

wise coral
#

there's an option called "Lasossis" it does unlock my personal list of automation, but serve as simple share. so if they don't
I don't gonna maintain those so much

wise coral
wise coral
storm perch
#

I kept getting Effect lancer.statusIconsNames.engaged not found errors last night. Dug around a bit and edited this bit of overwatch.jsto get it to work:

for (const token of allTokens) {
        const hasStatus = currentlyEngaged.has(token.id);
        const needsStatus = shouldBeEngaged.has(token.id);

        if (needsStatus && !hasStatus) {
            await api.applyEffectsToTokens({
                tokens: [token],
-               effectNames: ["lancer.statusIconsNames.engaged"],
+               effectNames: ["engaged"],
                notify: false
            });
        } else if (!needsStatus && hasStatus) {
            await api.removeEffectsByNameFromTokens({
                tokens: [token],
-                effectNames: ["lancer.statusIconsNames.engaged"],
+                effectNames: ["engaged"],
                notify: false
            });
        }
    }```
wise coral
#

thx i look into it, i dont have the issue , in my environment . maybe engaged is part of a set of status not toggle by default on lancer. i dont recall

storm perch
#

I am still running QoL for a few things as it's literally the last mission and I don't want to rebuild everything. πŸ˜…

#

But the QoL engagement automation is turned off.

wise coral
#

not QoL i think , i dont have it anymore

wise coral
storm perch
#

game.i18n.localize("lancer.statusIconsNames.engaged")
'Engaged'

#

I'm running a game in a few minutes. If you got any other requests to help then it'll have to wait for a few hours.

wise coral
#

Lancer Automation 2.9.6

New Features

Count Elevation in Combat Distance (opt-in)

New Combat & Movement setting: Count Elevation in Combat Distance (default OFF). When enabled, elevation difference is added to the distance for:

  • Overwatch threat checks
  • Engagement adjacency (including the per-step "stopped by" check during movement)
  • chooseToken range filter (targeting picker)
  • distanceToTrigger passed to every reaction
  • getTokenDistance / getMinGridDistance API defaults

Example: a flying token 2 spaces above an enemy 1 space away is treated as 3 spaces away. I think that's the correct thing..

New Automation Triggers

Three new triggers for custom reactions, grouped under a new Token category in the reaction editor dropdown:

  • onTokenCreated β€” any token placed on the scene
  • onTokenRemoved β€” any token removed from the scene
  • onTokenVisibility β€” token's hidden flag toggled (includes isHidden in payload)

Engagement Auto-Updates

Engagement status now re-evaluates whenever a token is placed, removed, or its hidden flag is toggled.

Hidden Token Reaction Filtering

GM-hidden tokens no longer provoke reactions from other tokens
only their own self-reactions fire. Combined with the existing rule that hidden tokens can't be engaged.

TAH: Link to Token

New Utility > Gameplay > Link to Token entry in the HUD (all token types). Pick any target token; the selected token becomes linked as its owner (yellow dashed connection line on hover).
Useful for manually-placed deployables, clones, or custom linking.

API: Elevation-Aware Distance

api.getTokenDistance(t1, t2, includeElevation) and api.getMinGridDistance(t1, t2, overridePos1, includeElevation) accept an optional includeElevation flag.
Default follows the Count Elevation in Combat Distance setting; explicit true/false overrides.

Fixes

  • "Effect lancer.statusIconsNames.X not found" error thx @storm perch
somber python
#

Oh yeah, the hidden engagement/overwatch thing was bothering me, thanks for doing that~

#

The Enable Stat Roll Target Selection is pretty useful for PC's, but when NPC's try to do it to the PC's mechs, the save stat is 2 or 3 instead of being the correct one.

wise coral
dense trellis
#

Attempting to toggle "Auto Token Height (Wall Height)" and "Vehicle & Squad Height Adjustments" to on then saving them spits the pictured errors to console.
I'm on Foundry 12.343 // Lancer 2.11.2 // Automations 2.9.7
Is there a hidden prerequisite or setting I need to change somewhere first?

wise coral
#

pretty sure it's an error on my side. didn't think people would use that lol, it's kinda some stuff made for my own campaing

#

shit i forgot to register them

signal solar
#

Ah, love that Vehicle and Squad Height adjustments. But would it be possible to have the size adjustment be customizeable? By that I mean we can choose which specific one has the height adjustment?

wise coral
#

it set the token hieght automatically , if it's default is 0, overwise it does not touch the custom value in the prototype token

#

i wont go that deep into that feature, it's just a neat thing i use , not like a core feature of lancer.
you can code your own stuff like that easly with "onStartUp" code

wise coral
#

Lancer Automation 2.9.8

Movement System

  • **Movement Cap Detection [Beta] **: When movement exceeds cap but a Boost would cover it, token owner gets a choice card. "Boost & Move" splits the move: drag to cap boundary β†’ Boost activation β†’ drag to final destination. "No" falls back to the standard stop/continue card.
  • _rulerMove helper: All coded token movements (cancel/continue, changeTriggeredMove, boost splits) now use Elevation Ruler's Fork moveTokenTo API for correct cost/terrain/elevation tracking. Falls back to raw isDrag.
  • Multi-segment move history fix
  • Revert movement fix: Handles ER's teleport snap entries in measurement history, skips past them to find the real previous position.

TAH β€” Combat Bar

  • Activations: New Combat Bar with Activations, Actions Toggles and movement history tools
  • Revert Last Move & Clear History buttons added next to the reset button.

TAH β€” Title Bar

  • Team / Disposition indicator (setting, default off)
  • Combat toggle Button

TAH β€” Status Panel

  • Search bar added at the top of the status grid.

Settings

  • tah.showDisposition: Show Team / Disposition Indicator.
  • autoTokenHeight / autoTokenHeightVehicleSquad: Settings now registered (were missing).

Half-Size Tokens

  • Grid centering: 0.5 tokens centered within their grid cell on placement (offset by 25% grid size).

Aura Templates

  • Range preview texture scale 250β†’500, Alt-press visibility, E2E ruler on drag.
  • Persistent aura templates: scroll animation, dashed lines, Alt+target visibility.

Misc

  • getActorMaxThreat returns 0 for deployable actors.

Elevation Ruler (fork changes)

  • moveTokenTo(token, dest, extraOpts) API: Simulates a ruler drag using the canvas Ruler pipeline.
somber python
#

Search bar is huge.

glacial edge
wise coral
#

that's it

dense trellis
#

So quick question - one of my players found some missing text for stabilize (specifically the additional effects). Just wondering which file I need to edit to add it back in as per the second pic? Or is it just a lack of space in the tooltip? πŸ™‚

wise coral
#

text are just hard coded , you'd just need to find the string

dense trellis
#

Found it - looks like hud.js πŸ™‚

glacial edge
dense trellis
#

detail: 'To STABILIZE, choose ONE: \r &bull; Cool your mech (clearing all heat and ending the EXPOSED status); \r &bull; Or spend ONE Repair to heal your mech to max HP. \r \n Additionally, choose ONE the following four items: \r &bull; Reload all LOADING weapons on your mech; \r &bull; Clear any burn on your mech; \r &bull; Clear ONE condition from yourself NOT caused by your own systems/talents (etc); \r &bull; Clear ONE condition from an ADJACENT ally NOT caused by their own systems/talents (etc).'

#

I'm sure there's more elegant ways of doing it, but I'm also not a coder πŸ˜…

#

Tweaked the text a little more. Feel free to use either of these btw:

detail: 'To STABILIZE, choose ONE of these two items: \r &bull; Cool your mech (clearing all heat and ending the EXPOSED status); \r &bull; Spend ONE Repair to heal your mech to max HP. \r \n Additionally, choose ONE the following four items: \r &bull; Reload all LOADING weapons on your mech; \r &bull; Clear any burn on your mech; \r &bull; Clear ONE condition from yourself NOT caused by your own systems/talents (etc); \r &bull; Clear ONE condition from an ADJACENT ally NOT caused by their own systems/talents (etc).'

glacial edge
#

So okay, please be very patient with me because I really don't know anything about automation in Lancer. I modified the pattern A smoke chares system a little bit by duplicating the Smoke Mine, renamed it to smoke grenade, and gave it a smoke light and aura that automatically applies Soft Cover. The idea is that the player will drag-drop down the deployable they want.

However, what this has done is somehow replaced the Smoke Mine from Lancer Automation's deployable menu. There's only option to deploy the Grenade, not the mine, and the grenade is deployed with mine's range. I'm trying to make it so that both deployables are selectable from the deployable menu and the grenade would be dpeloyed with range 5?

#

I don't know where to go to access the backend stuff for deployable sweating

wise coral
formal crest
#

Question, when things like Overwatch trigger with your automations, are they supposed to actually trigger and show a die roll prompt or is it just a reminder for the player to do it manually?

#

I also get double reaction windows. Here I moved a token away from another (regardless of whether PC or NPC).
_ _