#Spellforge (Noita-like Spellcrafting)

1 messages · Page 2 of 1

fading fox
#

Great to hear that!
So what I was thinking of, giving telekineses an offensive option is definitely possible 🤌 🔥 datchim

cyan phoenix
inner vector
#

I’m pretty sure you’ve technically been able to do “instant cast/no travel” at range spells since like 0.49

#

it was just projectile spells and custom spells that didnt work

#

I had to actually avoid that issue with ironfist and on target enchantments

#

certainly easier now with SFP tho and proper sfx/vfx too

inner vector
#

More delay...

#

I'm reworking homing

#

I tried to originally make it super light weight but it just feels bad

#

like so bad that I question the actual use of it

#

it misses even stationary targets most of the time

#

it was basically (forcevec) at launch at nearest target but delayed slightly so that it looked a bit normal (goes forward for a moment then curves towards a target), but it just doesn't work well. I need to actually do a low frequency polling for the projectile and steer it more actively

#

I'm thinking instead of per projectile lua brains I'll just make a sort of central homing conductor and have it manage projectiles that have homing

cyan phoenix
#

Have you considered making homing projectiles slower to make the homing more accurate?

#

With default speed it’s not going to be good I think

#

The projectiles of spells are hella fast

inner vector
inner vector
#

Homing on timer payload

#

new homing works

#

UI works

#

balancing time

#

then its READY

cyan phoenix
#

Almost release😊

inner vector
#

balancing gah

#

GAH

#

I hate being the fun police

#

let my people CAST CHAOS

inner vector
#

alright mana costs are in

#

they are lenient

#

but still exist so its not just free

#

I'm going to try and fake the spell that shows when you hover over a spell you made

#

and then you guys can test it

#

I've got ||test builds||

#

soon

inner vector
inner vector
#

test of the fake spell recipe hoverover

#

need to add in actual damage stats still but just testing out the icons

grim talon
#

Looks sick

inner vector
#

still cleaning up the release version

#

test build soon

inner vector
#

noticed cast chance being excessively punishing for some reason, fixing this bug and then the test build is ready

inner vector
#

its all WORKING

#

Requires SFP

#

add folder, enabled spellforge.omwscript

frosty sluice
# inner vector

I have an important question. Two, in fact. What is Noita and why are your trees glowing as if they were from Fallout? doitswit

inner vector
#

Noita is a wand crafting indie game

frosty sluice
inner vector
inner vector
#

this may explain our goals a bit

#

triggers/timers

#

multicasting

#

payloads

#

at some point in the future, actual wand building could be a thing

#

but I was focused more on this more 'organic' method of blending Noita with Morrowind

#

instead of wands and wandbuilding, its spellcrafting

grim talon
inner vector
#

yes yes wands

#

at some point

#

a consideration

#

would require a rework of how the modifiers currently work

#

they were built around the expectation of being put inside a spell recipe

#

true noita wand building would have to work around reading spells in a wand deck in sequential order and also accommodate spellwrapping.

#

so multicast wouldn't be cast the next spell 3 times, in a wand it should be cast the next 3 spell 'cards' in the wand

#

as a note, yes, the test mod is still bloated as fuk but I wanted people to play around while i clean it up

#

it won't have 50+ lua files on release

#

hopefully

inner vector
magic moat
#

Will give it a play later today - but first, eepy time

#

Looking forward to it!

inner vector
#

already found a small bug

#

helpful payload seems to double cast

#

fixing meow

cyan phoenix
#

Heyy congrats on the moves, great job!

cyan phoenix
#

I need to update sfp to official version so the piercing is supported🙌 will do that in 1-2hrs

inner vector
#

OH

#

its not

#

in official yet

#

oops

cyan phoenix
#

@inner vector SFP is updated both on Git and Nexus to support piercing

inner vector
cyan phoenix
#

Thanks to your earlier input it was fast merge ❤️

inner vector
#

the only thing I can think of now is UI polish

#

and bugfixes

#

its probably almost release time

cyan phoenix
#

The week 2 motive of modathon seems to fit perfectly for this mod as well

#

:>

inner vector
#

how do I submit?

#

just put the banner in my mod description?

cyan phoenix
#
Nexus Mods Forums

The 2026 Morrowind May Modathon Month Modding Competition - May 1st-June 2nd Looking to participate? Use the Modathon Logo in your mod description! Got questions? Stop by the Modathon Discord Channel! Participating Mods: Commercium - Fair Trade (OpenMW) by Kildozery Enumeratio - Player Stats Coun...

#

If you want to submit for specific week achievement, you add the week one, otherwise just the general modathon 2026 banner

inner vector
#

Spellforge (Noita Spellcrafting)

#

Spellforge (Noita-like Spellcrafting)

inner vector
inner vector
#

quick note, download v1.01

#

1.0 had debug logs enabled and my old 32 projectile limit as default

#

now its 128 projectile limit

cyan phoenix
#

Expect madness from Nexus comments anyway 😄 They seem to be the best testers ever haha finding so weird bugs many times

inner vector
#

already found a bug myself sweatboy

#

like the moment I fix something I break it

#

quick quick hide the mod

#

I havent tested a payload inside a payload inside a payload in a while

#

and well it dont work bro anymore oopsie

#

thats what I get for rushing

#

hehHehHeh should have been testing all the features more often

magic moat
#

Don't worry, I swear that it's only after release that you find most bugs

inner vector
#

maybe its a sign I should release for week 3

cyan phoenix
inner vector
#

so excited to release

#

and its borked

#

beware the uploaaaaad

#

BEWAAAARE

magic moat
#

Bug-splatting is fun in it's own right, finally getting a product to a "finished" state after a few weeks of patching is a feeling of euphoria

#

Pressing escape whilst the spell menu is open unlocks movement again

inner vector
#

another bug

#

thank you for letting me know

magic moat
#

Oh hell yeah, this works with Incantation - this is even stronger >:^)

cyan phoenix
magic moat
#

I think it checks for the creation of dynamic spell ids

#

Then gives xp to Incantation whenever a spell with a dynamic id is cast

#

So it makes sense that it would

#

Though being able to gain xp for free when creating a free spell is a little cheesy, but that can be fixed another time

cyan phoenix
#

Tracking generated spells and generally objects can be a bit tricky, its IDs are like 0x04815 0xb851 etc etc

magic moat
#

Surprisingly clean

#

Though something appears to be blocking my casting

#
[17:17:35.426 E] Error handling text key spellcast: target release: Weapon '"spellforge_invisible_static"' not found
[17:17:35.430 I] L@0x1[scripts/incantation/player.lua]:    INCANTATION SKILL MOD: Cast custom spell 'Test' (+2.9 XP, +3 magicka [6.0% refund])
[17:17:35.446 I] Global[scripts/spellforge/global/init.lua]:    [spellforge][global.executor][WARN] SPELLFORGE_COMPILED_RUNTIME_FALLBACK_BLOCKED spell_id=Generated:0x39fa recipe_id=58bd651c reason=feature_flag_disabled
[17:17:35.462 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][ERROR] intercept dispatch failed spell_id=Generated:0x39fa err=live runtime required for Spellforge operator recipe: feature_flag_disabled

Did I not install something correctly?

#

Oh, I think I forgot to add lua physics to my list

#

Hmm, nope that's on

#

@inner vector Any idea what might be causing this?

cyan phoenix
#

Just fyi

magic moat
#

Ah, good to know, though another mod I have still lists it iirc

magic moat
#

Hmm, it works for just a plain Absorb Health spell

#

This works

#

This does not for some reason

magic moat
#

Yeah, nothing using operators is working for me

cyan phoenix
#

Have you updated SFP to v1.81?

magic moat
#

Yeah

cyan phoenix
#

Slowchu has to give a hand here, I haven't checked the Spellforge code at all yet

magic moat
#

Ye, I'm in no rush though. So will let Slow have a gander when they get the chance

inner vector
#

I broke it

#

and fell asleep

#

cux it was 5am

magic moat
#

Ahh

inner vector
#

I work till 11pm

#

so it wont be fixed till tomrrow

#

hence why I was rushing to release

#

wont be out till at least halfway thru week 2 of mod a thon

#

maybe even further

magic moat
#

That's fine though! Even in it's current state, I can use it as a spellcrafter on the fly to suit my mage character better than spending insane amount of gold

inner vector
#

yeah I think I broke everything when cleaning up

#

I shouldn't have done that.

#

who cares if I have 70 files as long as it runs

magic moat
#

Honestly mood

inner vector
#

oh well, time for work. I'll try to fix it tonight

#

I think I might delete the nexus page and re-release for Week 3

magic moat
#

I could probably clean this up into pretty much 5 files, but that's not how my brain works, and it's harder to maintain if I do that

inner vector
#

I dont want to go to work

#

I want to mod

magic moat
#

MOOD

inner vector
#

GAH

#

brain distracted at work, only mod thoughts

inner vector
#

no time 4 eat

#

time to work on mod on lunch

cyan phoenix
#

Hey I like that attitude haha 😄

#

It's like a projection of me haha, working on 1 laptop for a company while side to side there's my laptop with modding at the same time 😄

inner vector
#

must fix my baby

cyan phoenix
#

I wish the day had at least 30-36hrs, maybe it would be doable without pushing myself

inner vector
#

WHY CANT I LIVE ON MAAAAAAAAAARS

#

they have MORE day

inner vector
#

Okay things are appearing to be working again

#

but I'm going to do a deep dive with testing this time

#

and also no DEBLOAT

cyan phoenix
#

Debloat is tough with ai code, needs extra caution and double testing from my observations 😄

inner vector
#

at least I made some backups before I started the debloat

#

but I also had some changes I made that didnt get saved so I've had to fix that up as well

#

need to fix the window losing focus if you press esc, need to fix spell icon if you use a modifier as the first spell, need to fix spell creation overriding the spell you made, need to make the saved recipe list actually a list and not a single item, etc.

#

I've accepted just going for Week 3

#

I deleted the nexus page as well

inner vector
inner vector
#

it was a rollback so its missing some recipe functionality

#

but it should be fairly stable now

#

some combos wont work but it should say something like effect_name_feature_deferred

#

thats basically what I'm going to add back in now that it seems stable again, the missing features

#

window focus should be fixed now too 😉

magic moat
#

Will test :3

#

Escape now properly closes the window

#
[10:51:34.221 E] Error handling text key spellcast: target release: Weapon '"spellforge_invisible_static"' not found
[10:51:34.224 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] intercept dispatch sent spell_id=Generated:0x3a05
[10:51:34.224 I] L@0x1[scripts/incantation/player.lua]:    INCANTATION SKILL MOD: Cast custom spell 'New Spell' (+2.9 XP, +3 magicka [6.5% refund])
[10:51:34.245 I] Global[scripts/spellforge/global/init.lua]:    [spellforge][global.executor][WARN] SPELLFORGE_COMPILED_RUNTIME_FALLBACK_BLOCKED spell_id=Generated:0x3a05 recipe_id=ffffffffc9c174b0 reason=not_single_group
[10:51:34.262 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][ERROR] intercept dispatch failed spell_id=Generated:0x3a05 err=live runtime required for Spellforge operator recipe: not_single_group
[10:51:34.262 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] SPELLFORGE_COMPILED_DISPATCH_SUPPRESSED spell_id=Generated:0x3a05 authorized=unknown reason=live runtime required for Spellforge operator recipe: not_single_group
#

Seems to be Operator issues again

#

Just having emitters works as normal

inner vector
#

you might need to remake your spell

#

or try an earlier save

#

that doesnt have the mod

magic moat
#

I remade the spell, lemme try another save

#

Same issue if I load a save before the mod

inner vector
#

can you show me the spell you are trying to make

magic moat
#

Oh it worked that time

#

Oh, I saw the issue, I accidentally entered
Emitter
Timer
Multicast
Burst
Spread
Emitter

instead of

Emitter
Timer
Multicast
Burst
Emitter

inner vector
#

oh yeah

magic moat
#

But the spell validated

inner vector
#

burst and spread are both like

#

spell pattern

#

they cant be in the same payload

#

it should have rejected it

magic moat
#

Let me try that again on the more recent save

inner vector
#

newer save is gonna be angry

magic moat
#

This is getting validated despite not having trigger or timer

#

It's working on the newer save now

inner vector
#

thats fine

#

burst is a multicast modifier

#

OH

#

I see

#

I mean its still technically 'fine'

#

its shooting a fireball, and 3 fireballs in a cone at the same time

magic moat
#

Except it was firing as a single projectile

inner vector
#

and giving an error?

magic moat
#

No error that I could see, lemme remake it and check again

#

Oh, hmmm - I think the operator that's throwing the error is Chain

inner vector
#

can you paste it? 👀

magic moat
#

This is what happens when I cast Fireblast

[11:11:40.117 E] Error handling text key spellcast: target release: Weapon '"spellforge_invisible_static"' not found
[11:11:40.120 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] intercept dispatch sent spell_id=Generated:0x3a5a
[11:11:40.120 I] L@0x1[scripts/incantation/player.lua]:    INCANTATION SKILL MOD: Cast custom spell 'Fireblast' (+3.5 XP, +7 magicka [10.0% refund])
[11:11:40.138 I] Global[scripts/spellforge/global/init.lua]:    [spellforge][global.executor][WARN] SPELLFORGE_COMPILED_RUNTIME_FALLBACK_BLOCKED spell_id=Generated:0x3a5a recipe_id=ffffffffd6ec302b reason=not_single_group
[11:11:40.155 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][ERROR] intercept dispatch failed spell_id=Generated:0x3a5a err=live runtime required for Spellforge operator recipe: not_single_group
[11:11:40.155 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] SPELLFORGE_COMPILED_DISPATCH_SUPPRESSED spell_id=Generated:0x3a5a authorized=unknown reason=live runtime required for Spellforge operator recipe: not_single_group

Just to confirm, is Chain before or after the emitter? It validates both ways

inner vector
#

it should be before

#

but yeah its not working for me either

#

chain must be broke

magic moat
#

This is for before

[11:15:07.259 E] Error handling text key spellcast: target release: Weapon '"spellforge_invisible_static"' not found
[11:15:07.264 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] intercept dispatch sent spell_id=Generated:0x3a66
[11:15:07.265 I] L@0x1[scripts/incantation/player.lua]:    INCANTATION SKILL MOD: Cast custom spell 'Touch of Wrath' (+3.5 XP, +7 magicka [11.0% refund])
[11:15:07.288 I] Global[scripts/spellforge/global/init.lua]:    [spellforge][global.live_simple_dispatch][INFO] SPELLFORGE_CHAIN_RUNTIME_REJECTED reason=chain_multicast_deferred plan_recipe_id=2c4014e1 source_slot_id=nil payload_slot_id=nil requested_hops=3 max_hops=3
[11:15:07.288 I] Global[scripts/spellforge/global/init.lua]:    [spellforge][global.executor][WARN] SPELLFORGE_COMPILED_RUNTIME_FALLBACK_BLOCKED spell_id=Generated:0x3a66 recipe_id=0b586304 reason=chain_multicast_deferred
[11:15:07.309 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][ERROR] intercept dispatch failed spell_id=Generated:0x3a66 err=live runtime required for Spellforge operator recipe: chain_multicast_deferred
[11:15:07.309 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] SPELLFORGE_COMPILED_DISPATCH_SUPPRESSED spell_id=Generated:0x3a66 authorized=unknown reason=live runtime required for Spellforge operator recipe: chain_multicast_deferred
#

This is for after, the preview seems to show a conflict, but validating it is a success

[11:17:07.056 E] Error handling text key spellcast: target release: Weapon '"spellforge_invisible_static"' not found
[11:17:07.060 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] intercept dispatch sent spell_id=Generated:0x3a68
[11:17:07.060 I] L@0x1[scripts/incantation/player.lua]:    INCANTATION SKILL MOD: Cast custom spell 'Touch of Wrath' (+1.6 XP, +3 magicka [11.0% refund])
[11:17:07.084 I] Global[scripts/spellforge/global/init.lua]:    [spellforge][global.live_simple_dispatch][INFO] SPELLFORGE_CHAIN_RUNTIME_REJECTED reason=no_chain plan_recipe_id=ffffffffba7f3b23 source_slot_id=nil payload_slot_id=nil requested_hops=nil max_hops=0
[11:17:07.084 I] Global[scripts/spellforge/global/init.lua]:    [spellforge][global.executor][WARN] SPELLFORGE_COMPILED_RUNTIME_FALLBACK_BLOCKED spell_id=Generated:0x3a68 recipe_id=345535e4 reason=no_chain
[11:17:07.112 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][ERROR] intercept dispatch failed spell_id=Generated:0x3a68 err=live runtime required for Spellforge operator recipe: no_chain
[11:17:07.112 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] SPELLFORGE_COMPILED_DISPATCH_SUPPRESSED spell_id=Generated:0x3a68 authorized=unknown reason=live runtime required for Spellforge operator recipe: no_chain
inner vector
#

investigating now

magic moat
#

👍

inner vector
#

chain is the missing link I think

magic moat
#

For Fireblast, I need something to trigger the multicast for it to work. I put timer and it worked, same with trigger

inner vector
#

I think then yeah, multicast needs to be at the start of a payload, or inside a payload

#

you should be able to do Multicast -> Fireball

#

but not fireball multicast fireball

#

but you can do Fireball -> Timer -> Multicast 8 -> Fireball

magic moat
#
[11:22:51.751 E] Error handling text key spellcast: target release: Weapon '"spellforge_invisible_static"' not found
[11:22:51.755 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] intercept dispatch sent spell_id=Generated:0x3aa3
[11:22:51.755 I] L@0x1[scripts/incantation/player.lua]:    INCANTATION SKILL MOD: Cast custom spell 'Fireblast' (+3.2 XP, +8 magicka [14.0% refund])
[11:22:51.792 I] Global[scripts/spellforge/global/init.lua]:    [spellforge][global.executor][WARN] SPELLFORGE_COMPILED_RUNTIME_FALLBACK_BLOCKED spell_id=Generated:0x3aa3 recipe_id=0b7dc0d6 reason=not_single_source_emission
[11:22:51.826 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][ERROR] intercept dispatch failed spell_id=Generated:0x3aa3 err=live runtime required for Spellforge operator recipe: not_single_source_emission
[11:22:51.826 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] SPELLFORGE_COMPILED_DISPATCH_SUPPRESSED spell_id=Generated:0x3aa3 authorized=unknown reason=live runtime required for Spellforge operator recipe: not_single_source_emission

This validates, but doesn't work

inner vector
#

keep em comin

#

although I might fall asleep soon EveEtoBleh

magic moat
#

Understandable xD

inner vector
#

so basically

#

simple payload works

#

spell -> trigger/timer -> stuff

#

but multicast spells into trigger seems wonky?

#

like multicast 3 fireball -> trigger/timer -> stuff

magic moat
#

Homing doesn't seem to be working either - or is hard to tell if it is

#

This works

#

This does not

inner vector
magic moat
#
[11:30:47.801 E] Error handling text key spellcast: target release: Weapon '"spellforge_invisible_static"' not found
[11:30:47.804 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] intercept dispatch sent spell_id=Generated:0x3b70
[11:30:47.805 I] L@0x1[scripts/incantation/player.lua]:    INCANTATION SKILL MOD: Cast custom spell 'Fireblast' (+2.6 XP, +8 magicka [16.5% refund])
[11:30:47.844 I] Global[scripts/spellforge/global/init.lua]:    [spellforge][global.executor][WARN] SPELLFORGE_COMPILED_RUNTIME_FALLBACK_BLOCKED spell_id=Generated:0x3b70 recipe_id=fffffffff03828bc reason=not_single_source_emission
[11:30:47.879 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][ERROR] intercept dispatch failed spell_id=Generated:0x3b70 err=live runtime required for Spellforge operator recipe: not_single_source_emission
[11:30:47.880 I] L@0x1[scripts/spellforge/player/init.lua]:    [spellforge][player.init][INFO] SPELLFORGE_COMPILED_DISPATCH_SUPPRESSED spell_id=Generated:0x3b70 authorized=unknown reason=live runtime required for Spellforge operator recipe: not_single_source_emission
inner vector
#

but should be better on a payload

#

yeah I think multicast + trigger/timer is broken

magic moat
#

Also, by default, Spellforge spells seem to travel a LOT faster than vanilla spells

inner vector
#

I'll take a look at that as well

magic moat
#

Feels about 3x faster

#

Yeah homing doesn't seem to be doing anything on my end

#

And the projectiles are continuing as normal

#

Oh, also

#

If the initial emitter in this spell collides with an actor or the world

#

The timer effect still goes off after the duration, is that intentional?

#

Because if it is, it triggers from the original collision position, which feels weird if it hits an actor

inner vector
#

I think noita has it become a trigger spell if it hits before the timer goes off

#

I didnt think about that

#

shoot.

magic moat
#

Damn, my files are too large to show, gimme a sec

inner vector
#

you can do sub seconds on timer

#

like 0,25 I think is lower limit

#

but yeah, homing does a raycast and it might just be outside the radius of detection

#

homing is the potential performance killer

magic moat
#

0.5 is displayed as the lower limit

inner vector
#

it makes me nervous

#

sounds about right

magic moat
#

But yeah, your projectiles are travelling a lot slower than mine

#

Hmm

inner vector
#

mine are still fast tho

#

you are right

#

I tested a vanilla fireball and it slow af

#

I'll also take a look at that

magic moat
#

On a spell with just homing and an emitter, it's still not homing

inner vector
#

idk why your spells are so fast hamis_dizzy

magic moat
#

My timescale is 30

#

What's yours?

#

30 is the default, so just want to rule that out xD

inner vector
#

5.0

#

I have no idea why

#

I have Just Beautiful Morrowind pack installed

#

maybe one of the mods turns down timescale

magic moat
#

Timescale is increased (time sped up) outside of towns to simulate travel taking longer

#

So that might be messing with stuff

#

Also another thought? What's your FPS?

inner vector
#

oh idk like 190

#

its probably? my mod

magic moat
#

Mine is locked to 60 max, but tends to dip down to around 30-40 around cities

inner vector
#

I think I set the projectile speed so that speed+ could do something

#

and vanilla spell be slow for me

#

just set the speed wrong methinks

#

but timescale could explain why yours are superfast

#

and mine are only semi-fast

magic moat
#

I wonder if there's a way to set speed regardless of timescale. Because I have no mods that change timescale, but I have mods that change current time when doing stuff like alchemy, enchanting, talking, reading etc

inner vector
#

maybe its SFP?

#

must investigate

cyan phoenix
inner vector
#

its me

cyan phoenix
#

Earlier versions of SFP indeed had custom speeds set which was not solid solution

#

custom default speeds*

inner vector
#

so many things to fix

#

spell speed first, then multicast/chain issues, then homing (unless speed fixes it)

magic moat
#

But think of the satisfaction when it's all working datchim

inner vector
#

so the issue is

#

because

cyan phoenix
#

😄

inner vector
#

openMW expects an actual bolt record

#

when a spell fails

#

it casts a default vfx

#

that is also a weapon bolt

#

but I was just replacing it with a static nif

cyan phoenix
#

replace it with nil

inner vector
#

so I need to make an actual invisible bolt

cyan phoenix
#

Should work

inner vector
#

it doesn't work, openMW falls back

#

its not SFP

cyan phoenix
#

Then try Colony_assassin_act object

inner vector
#

our spells we make are real spells but if a target spell has no effect or data it defaults to a placeholder vfx

cyan phoenix
#

or this meshes/EditorMarker.NIF

#

This one is good for handling stuff while invisible

#

I use it to attach vfx and stuff like that

inner vector
#

or I could just ignore the error

#

its not like it actually does anything

#

its just the engine going "hey wait, this isnt a weapon" but its still invisible

inner vector
#

I think chain issues are fixed, speed is next

#

but I sleep

#

5am

#

here you can test that out

#

maybe your chain spells wont be broken now

magic moat
#

Will test after I've had some lunch 👍

inner vector
#

i sleep. spells still fast sorry sleepy

void furnace
#

I bought Noita when it went on sale just because of this mod 😛

magic moat
#

Chain works great :3

#

It works with Custom Spells, like Unofficial TR spells; but they're sorted by spell_id as opposed to spell name, so they appear out of order in the spell list - and while casting the Spellforge spell applies their effects, they don't appear in the tooltip

#

oh my god

#

You can make multi-summons with this mod

#

The TR bound item spells work, but the summons don't with this. I'm just testing whatever I can think of

#

Hmmm, some spell effects don't work at all

#

Levitate for example

#

Oh hmm

#

Levitate 25pts works

#

But not 100

#

Wait works now

#

I wonder what caused that

minor roost
#

Reading about what this mod does made me realize..

#

Has anyone ever make a procedurally created and distributed spells mod for Morrowind? :v

#

I know about Fresh Loot

But is there any "Fresh Spells" per say?

magic moat
#

What degree do you mean?

#

I'm pretty sure the TR spells are distributed to actors

#

And Spell Tomes allow you to learn spells without trainers

#

And distributes those too

minor roost
#

I meant creating crafted spells on the go and giving them to appropriate NPCs

#

Probably too annoying to implement though, it could be an interesting difficulty mod, but thinking about it, maybe it's not worth it

magic moat
#

Mutli-summons work, but only up to 4 actors I think

#

Yeah

#

4 actors, any more and they don't summon, but the spell still costs magicka

magic moat
minor roost
#

Some things are better hand crafted

Some other things are better procedural

inner vector
#

depth of 3 is the limit to prevent the game turning into mush (imagine 3 payloads of 8 multicasts sweatboy ) perhaps that is causing the issue

#

with the original spell being depth 0

Spell + Trigger (0) -> Spell + Trigger (1) -> Spell + Trigger (2) -> Spell (3)

#

actually is too slow now..

#

about 50% too slow I'd say

#

feel free to test anyway, surely it will be better than the laser beams you have now

#

I'll keep working on it after I get some breakfast

inner vector
#

HOLD ON

#

WAIT

#

WHAT

#

God I just can't sometimes with this wonky ass game

inner vector
#

noticed a new bug

#

spells don't persist between saves

#

like they exist in the spellbook but dont resolve

#

might put speed on hold for now and fix that first,

inner vector
#

the wierd thing is

#

I'm measuring varying speeds between casts

#

one cast comes out at 1350

#

one comes out at 1344

#

one comes out at 1374

#

the speed fed into SFP was 2500

#

default speed for Firespell shows 4500

4500 too fast by like 100%
1250 too slow (~50% too slow)
2500 too fast by like 7%

#

vanilla speed according to OpenMW code claims 1250 for a firespell

#

speed must mean something different for the engine compared to SFP

#

or idk

#

maybe im just stupid and did something wrong

cyan phoenix
#

Might be something wrong on the SFP side still

#

If you can make a confirmation later I’ll get right to it

#

Although weird since I also manipulated speed before and it worked just fine

#

I wonder where the problem is

inner vector
cyan phoenix
#

I can send you later an earlier version of OSSC that had speed spells modifiable by the in game settings, maybe that will make a clue?

inner vector
#

For common effects it short-circuits before that:

if n:find("fire") then out.speed = 4500
elseif frost then 2500
elseif shock then 3200
...
elseif school == "destruction" then out.speed = 4500
...
else
    baseSpeed = core.getGMST("fTargetSpellSpeed") or 1000
    effectSpeedMult = mgef.speed or 1.0
    out.speed = effectSpeedMult * baseSpeed
end

Then launchSpell uses:

local speed = data.speed or auto.speed or 1500

So if Spellforge does not pass data.speed, Fire/Destruction gets 4500 from SFP auto-detect, not MagicEffect.speed × vanilla GMST.```
#

the machine spirit has said thus

cyan phoenix
#

Ahh I need to remove the hardcoded values, silly me it got left behind from the early stages

#

But that I can do in few hrs

inner vector
#

no worries hehe

#
-- (Vanilla ESM records universally mandate 1.0 multiplier/1000 speed, so we inject fast Oblivion speeds here).
if n:find("fire") then out.speed = 4500
elseif n:find("frost") or n:find("cold") then out.speed = 2500
elseif n:find("shock") or n:find("lightning") then out.speed = 3200
elseif n:find("poison") then out.speed = 2900
elseif n:find("restor") or n:find("heal") then out.speed = 2800
elseif school == "illusion" then out.speed = 3000
elseif school == "alteration" then out.speed = 2900
elseif school == "conjuration" then out.speed = 3000
elseif school == "mysticism" then out.speed = 2900
elseif school == "destruction" then out.speed = 4500
elseif school == "restoration" then out.speed = 2800
else
    local baseSpeed = 1000
    pcall(function() baseSpeed = core.getGMST("fTargetSpellSpeed") or 1000 end)
    local effectSpeedMult = (mgef and mgef.speed) and mgef.speed or 1.0
    out.speed = effectSpeedMult * baseSpeed
end```
#

the original snippet was trunicated

cyan phoenix
#

You can comment out the part with the elements and see what will happen

#

If fire etc and leave only the formula

#

It should base completely on the engine

#

So only keep the code from base speed = 1000

inner vector
#

any thoughts on race weight

#

there is no way to detect it afaik

#

but maybe a toggle?

#

race weight changes how fast your spells move

cyan phoenix
#

I had hardcoded values somewhere for race weight

#

Can send you that later

#

While making a different mod

#

I did that

inner vector
#

I could do it on my side as well

cyan phoenix
#

But why it affects, I have no idea completely

inner vector
#

but I suppose a toggle in SFP makes more sense

cyan phoenix
#

Seems like a bug

inner vector
#
pcall(function()
    baseSpeed = core.getGMST("fTargetSpellMaxSpeed") or 1000
end)

local effectSpeedMult = (mgef and mgef.speed) and tonumber(mgef.speed) or 1.0
out.speed = effectSpeedMult * baseSpeed```

I'll try this out and see if it fixes the default speed issue
cyan phoenix
#

I’ll check it later

inner vector
#

Bug?

#

no no no

#

big race move fast, throw fast, cast fast

cyan phoenix
#

Well I want to replicate vanilla, and it does not happen like this in Vanilla cast yes?

inner vector
cyan phoenix
#

Ohh

inner vector
#

it depends on this setting

cyan phoenix
#

I’ll implement that for sure then!

inner vector
#

it would need to be a toggle, no?

#

because I dont think we can directly detect if its enabled

#

maybe try and compare movement speed to established norms?

cyan phoenix
#

Just a toggle which will add the race into formula

#

Easy fix

#

So grateful for your mod and work

#

Truly a battletest for sfp

inner vector
#

you'd need to detect race and gender

#

then just add the multiplier at the end

cyan phoenix
#

Yup

inner vector
#

I'm gonna assume it should be the native path

#

and people can disable it

#

because I'm willing to bet 99% of people don't use that toggle

#

in the launcher

cyan phoenix
#

Just worth noting in the description of the mod and that’s all 🙌

inner vector
#

what im saying is most people WILL have race weights enabled since its the default vanilla function, the toggle in the launcher disables it when you turn it on.

cyan phoenix
#

I wonder if there’s a way to read that setting

#

Guess not yet in the api

inner vector
#

nope

#

the only thing I can think of detecting movement speed

#

if the setting in the launcher is enabled, every race has the same base movement speed

#

kind of a hacky way

#

to detect it

cyan phoenix
#

Interesting, might do the trick

inner vector
#

I mean it shouldnt cause much issue

#

idk its still kinda hacky tho

#

a toggle would be better

cyan phoenix
#

I’ll implement this and will remove the hardcoded values of the speeds a bit later 🙌

inner vector
#

oh god

#

if you save while a projectile is alive it bricks your save

#

I guess I have to make the stupid weapon record

#

ok it works

#

even on the old saves

cyan phoenix
#

😮

cyan phoenix
inner vector
#

I made a custom bolt record

#

named spellforge_invisible_static

#

and assigned it meshes/EditorMarker.NIF as the mesh

#

or do you mean how did I cause that?

worldly edge
#

yeah vanilla morrowind has a lot of nuances that most people wouldn't know about

inner vector
#

by assigning the spell record we made with spellforge_invisible_static.nif as the bolt VFX

#

if you cast a target spell with no effect inside of it

#

the engine doesnt just fail

#

it defaults

#

to a white projectile

#

since spellforge makes containers that the mod reads as spells, we needed to surpress that

#

but the vfx isnt just a vfx

#

its an actual weapon record

#

bolt type

#

its stupid beyond belief

#

absolutely mind boggling work Todd

#

so just setting our spell id to that invisible mesh technically worked

#

but like I showed, if you saved while a spell existed the engine is like

#

WHERE IS THE WEAPON?

#

so I needed to make an actual invisible bolt

#

because engine is STOOPID

worldly edge
# inner vector WHERE IS THE WEAPON?

lol I had to make a patch for a landmass mod called Kalendaar to get it to play nice with Stats Window Extender because it was dumping factions into the morrowind category and swapping reputation (it'd set Morrowind rep to 0 when in Kalendaar, and lose Kalendaar's rep when you left it)

inner vector
#

Save fix both big and small

#

Please Enable spellforge.omwaddon

#

-# Recipes now persist between saves. Old save spells sadly won't work.

#

You'll have to delete them and remake them

#

Hold shift and click on the spell in your spell book to delete a spell

#

no its too slow... confused_dog

#

why is SFP even with vanilla cast speed too slow

#
pcall(function()
    baseSpeed = core.getGMST("fTargetSpellMaxSpeed") or 1000
end)

local effectSpeedMult = (mgef and mgef.speed) and tonumber(mgef.speed) or 1.0
out.speed = effectSpeedMult * baseSpeed```
#

its like the vanilla engine is faster

#

MagicEffect auto-detect: fire damage | Final Speed: 1250
Launched ... spd=1250

#

our mod confirmed SFP launched it at the right speed

#

1250

#

Looking at OpenMW 0.51 RC2, native spells go through ProjectileManager::launchMagicBolt / moveMagicBolts, create a physics projectile with mPhysics->addProjectile, and every update call projectile->setVelocity(direction * (fTargetSpellMaxSpeed * mSpeed * raceWeight)).

SFP helpers are object projectiles: createObject -> teleport -> addScript -> send MagExp_InitProjectile -> local onUpdate computes velocity*dt -> sendGlobalEvent MagExp_ProjectileMove -> global teleport.

So the same numeric speed is not going through the same backend.```
#

I think its not that vanilla is faster, its that SFP has latency from the extra steps involved in moving a projectile

#

oh well, our estimated speed (save fix has it) is pretty spot on

cyan phoenix
#

Please check newest OSSC, it launches effects aligned to the vanilla speed, something must be in the implementation different on your side 🥸

inner vector
cyan phoenix
#

And that is even without removing the „hardcoded” part from sfp, so maybe there’s a missing link in the Spellforge

#

Just wild guessing though

magic moat
#

I love how much mods expose the jank of the original engine

cyan phoenix
inner vector
#

maybe it is the simulation timer

#

mine is at 5.0

#

thats like 6x less that default

cyan phoenix
#

Ahh the timescale

inner vector
#

timescale 5.0

cyan phoenix
#

This gives me a hint that I need to account for timescale, or rather ignore timescale

#

In SFP

#

🙌

inner vector
#

is it?

cyan phoenix
#

Might be

inner vector
#

the missing link?

cyan phoenix
#

I’ll test later

inner vector
#

Tyrus had like timescale 30

#

and his spells were laser beams

cyan phoenix
#

Yeah, then it is that

magic moat
#

Timescale 30 is vanilla

inner vector
#

yeah so idk must be MY mod

cyan phoenix
#

I totally need to look into this issue

inner vector
#

if OSSC is fine

#

😖

cyan phoenix
#

Since I want it to act always consistently

#

No matter what timescale

magic moat
#

But I know some mods change timecale, or players change it to make days longer

cyan phoenix
#

But that at the same time it needs to act properly if someone for example introduces time slow mod

#

Hmmm

#

Tough one here

#

How to tackle that…

inner vector
#

So if OSSC is aligned to vanilla, the likely difference is not just SFP's speed formula. Spellforge is launching generated helper spells with a different payload/record shape.

We’ll test a Spellforge diagnostic that sends the exact OSSC-style MagExp_CastRequest payload using a real vanilla spellId and no speed. If that matches vanilla, then the issue is in Spellforge’s generated helper spell record or launch metadata rather than SFP’s base projectile speed.```
magic moat
#

Do all time slow mods work by just changing the timescale?

inner vector
#

idk everything seems to run fine at 5.0

#

the NPCs move normal speed

#

nothing is 'slow'

magic moat
#

Yeah

#

timescale is just for day progression iirc

inner vector
#

I didnt even know I had it installed to change it

#

yeah days take longer

#

but idk how it ties into timing stuff in mods

#

maybe simulationtime gets longer

#

or runs slower

#

TODD WHY

inner vector
#

please enable Spellforge.omwaddon ASAP sf_eh_sweat

magic moat
#

Will test in a little bit, just woke up xD

cyan phoenix
#

Ossc is not updated on github

#

Check from nexus please

#

Havent had the chance to update ossc on git yet 😅

inner vector
#

im looking at the nexus version now

#

not really much changed

#

the positioning changed a bit

#

its also slow still for me

magic moat
#

Hmm

#

It's spinning

#

I can't find the object to ori either

#

Spell speed is perfect though

magic moat
#

Can see 4 objects there

#

Aaaand they seem to last forever

#

Not a fix immediately needed on your end - will likely be something that needs to be changed between this and Incantation, but while spells persist between saves, they're "made" again, granting incantation exp

#

@hushed granite Not sure if you're still updating Incantation, but in case you are, this might be nice to know

inner vector
magic moat
#

Yup

#

Also, when a timer triggers, one of the projectiles (assuming the original) is detonating still, is this intended?

inner vector
#

yes

magic moat
#

The spinning objects disappear when the game restarts btw

inner vector
#

ill switch the model

#

nope that didnt work either

#

hmm

magic moat
#

Still speen

inner vector
#

SpEEeEEen

#

oh derp

#

I put meshes twice

#

meshes/meshes/spellforge

#

sleep deprivation sf_dog_kek_berserk

#

lemme check that real quick if it fixes it

inner vector
#

😅

cyan phoenix
magic moat
#

There we go, works now

inner vector
#

im more confused

#

😖

cyan phoenix
#

The engine must interpret something around this timescale

#

I’ll try to search through cpp files of openMW when I have time, maybe there will be something

magic moat
#

Delving through the grimoires and records of OpenMW documentation and code:

cyan phoenix
#

But yeah source code of openmw is a encyclopedia truly

#

Praise the search function on github tho

inner vector
#

idk I dont think its tied

#

I think it uses simulation time

#
mPhysics->stepSimulation(duration, ...);
mProjectileManager->processHits();```
cyan phoenix
#

I’ll hop on soon and test ingame how its doing on my setup, with changing timescale

#

Need to pinpoint this down to avoid problems in the future

#

The dreaded nexus comments

#

😄

inner vector
#

BEWAAARE

#

THE COMMENTS

inner vector
#

has the new omwaddon

#

add folder -> enable spellforge omwaddon and omwscripts

#

Y opens the menu

cyan phoenix
#

I've tested my vanilla casts of the spells and they fly fine, must be something Spellforge related with these projectile speeds...

#

When changing the timescale nothing happens on my end with vanilla spells, it flies the same

inner vector
inner vector
#

maybe my install is cursed

cyan phoenix
#

Try launching fully vanilla game and see

inner vector
#

I’ll try that tonight

#

if it doesnt work oh well, the speed fix seems to work

inner vector
#

Hmm

#

I get no VFX with a vanilla setup

#

the spell with the speed fix still seem to be the correct speed as vanilla so im not quite sure wtf is going on

cyan phoenix
inner vector
#

spell launches, hits a wall, no explosion

#

idk im trying to figure out

#

how to make my session pure

#

just disabling all the mods except vanilla and spellforge and SFP still loads stuff

cyan phoenix
#

sad thing is I cannot reproduce, works fine on my end

#

just shot few fireballs and they explode fine

#

Try moving out storages from the openmw document files

inner vector
#

I tried deleted the config files and the launcher repopulates them

cyan phoenix
#

Ohh so you did that

#

Hmmm

inner vector
#

I dont want to delete my modded setup just to test mods

#

and new content list doesnt actually swap out directory loads

cyan phoenix
#

create a new list profile

#

and then force remove directories all of them in the new config

#

right side the paper icon with yellow dot

#

right down corner

inner vector
#

thats a new content list

#

and I already did that

#

'TestList'

cyan phoenix
#

and then go to data directories

inner vector
#

its still full

#

I made another list and it didnt do anything

#

omg

#

my old list isnt saved

#

well guess my old saves are gone now.

#

no idea what the load order was

#

restoring the backup didnt change anything

#

the launcher overwrite the backup

cyan phoenix
#

What...

#

Man that suckks

#

And the data directories you need to remove if you want to use a vanilla install btw, even if the mods are not enabled, some of them still go through because of being in the data directories list

inner vector
#

doesnt launch now

cyan phoenix
#

Untick some from the list, even if you click Uncheck All it still doesnt do that, you need to do it by hand

#

Had the same issue in the past

inner vector
#

its not in the list

cyan phoenix
#

In the Content Files, disable leftover esps

inner vector
#

its not in the list

cyan phoenix
#

Hmmm

#

This is some weird stuff truly

#

I had such problems with launcher when doing vanilla list but not as the mod wasnt on the list and it still asked for it ...

inner vector
#

ah

#

the esp file

#

the launcher restored on its own

#

the cfg

#

which still had all the esp in the content list

#

but not the launcher

#

idfk I'm starting to really hate the launcher

#

should just use MO2 like everyone else

cyan phoenix
#

Glad you got it sorted

inner vector
#

anyway....

#

speed fix vs vanilla looks the same still

#

so launching at 2250 speed is about the same as a vanilla cast at 1250 speed

#

let me try switching to auto-speed through SFP

#

and see what it looks like

cyan phoenix
#

Try launching a new character btw

#

Cut out all the toddness that can happen

inner vector
#

ok lemme try new fresh character

#

[00:31:25.177 I] Global[scripts/omw_magexp/magexp_global.lua]: [MagExp] Launched 'fireball' [Colony_Assassin_act] spd=1250 spin=4.07

cyan phoenix
#

Wtf

#

Why

#

It seems like the default value in your install is borked for whatever reason

#

since the vanilla cast does the same speed

#

😐

inner vector
#

[00:33:09.258 I] Global[scripts/omw_magexp/magexp_global.lua]: [MagExp] Launched 'Generated:0x150' [Colony_Assassin_act] spd=2250 spin=4.07

speed fix cast

#

see also not exploding now pepe_sad

cyan phoenix
#

But it worked earlier... some changes in the spellforge maybe?

#

since sfp was left untouched since the update

#

Or was it directly after the update?

inner vector
#

the VFX stopped working when I tried to load in vanilla

cyan phoenix
#

I cannot see any logical explanation here

cyan phoenix
#

a fresh install would be great but that's a lot of extra trouble

#

Maybe some data files contamination?

inner vector
#

meshes/e/magic_area_dst.nif

#

I wonder if a mod overwrote it

#

but then why would vanilla casts still work

#

wtf

cyan phoenix
#

I'll install spellforge in a second

#

Might be an actual sfp issue

inner vector
#

nop

#

im just stupid

#

i figured it out

#

lol, lmao even

#

my fresh character doesn't have a target fire spell, so it didn't autopopulate with area setting

#

so I switched it to target and 0 aoe

cyan phoenix
#

Wow

#

just wow

inner vector
#

I'm stupid forgive me

cyan phoenix
#

but that doesnt explain the speed issue

#

or is it ?

inner vector
#

no just the missing explosion

#

the AI seems to insist the speed issue is because the way vanilla spells actually exist

#

they are run as a physics thingy

#

SFP is an object helper

#

Let me test OSSC next

#

if its working fine then its 1000% my mod being stupid

#

I dont know what to tell you @cyan phoenix

#

OSSC is too slow when i cast with it

#

let me disable spellforge so only SFP and OSSC

#

just to make sure

#

still slow sadcat

cyan phoenix
#

And for me ossc doesn't work with spellforge

#

normal cast works

#

well, ossc works but it has invisible vfx

inner vector
#

Interesting

#

somehow your OSSC casts are using my invisibile placeholder bolt

cyan phoenix
#

Yeah

inner vector
#

are you casting a spellforge spell WITH OSSC?

cyan phoenix
#

Yes

inner vector
#

yeah it doesn't know what to do then

#

it doesn't have the vanilla animation keys to read

#

so it launches nothing

cyan phoenix
#

You need to add the keys from Ossc

if I.AnimationController then
    local groups = {
        'quickcast','quickbuff','qcconj','qctouch',
        'qcalt','qcalts','qcill','qcsnap','qcdrain','qcskrow'
    }
    for _, g in ipairs(groups) do
        I.AnimationController.addTextKeyHandler(g, onTextKey)
    end
inner vector
#

also the spell is super fast for you wtf

cyan phoenix
#

Yeah it's the vanilla speed

#

destruction fire spells are the fastest

#

poison are slowest

inner vector
#

at like 1250

#

at like 800

cyan phoenix
#

lemme check fully vanilla list

inner vector
#

I swear to the Divine if I just have the wrong multipliers for elemental speed im gonna

#

KILL A GOD

cyan phoenix
#

I cannot launch the game myself now 😄

#

similar shit happening

inner vector
#

backup openmw.cfg

#

and delete it

#

after you make your fresh vanilla profile

#

mine still had a bunch of data paths in the cfg so it wouldnt launch

#

oh im wrong

#

frost is the slowest

#

0.8

#

poison is 1.0

#

so 1000 base speed

civic marten
#

The OSSC anims have "release" keys that you should be able to listen for. The vanilla cast anims use it

cyan phoenix
#

sadface

#

did a new install of 0.51rc2 and new profile and cannot fix this...

civic marten
civic marten
cyan phoenix
#

Yeah

civic marten
#

I had this problem too, I think it doesn't completely isolate the new install so it's reading somewhere from the old one

inner vector
#

my mod has claimed another soul

civic marten
#

Nah it's just that you can't really have multiple versions installed or it gets confused

inner vector
#

a new hand touches the noita

civic marten
#

You are too greedy with the blood of Magnus, the subversion of aetherium is destabilizing the very fabric of reality

inner vector
cyan phoenix
civic marten
#

Shit...

inner vector
civic marten
#

I think it's correlation not causation

cyan phoenix
#

Its okay I just need to fix it somehow

worldly edge
civic marten
#

There's nothing quite like the feeling of bricking somebody else's save. Just be happy it's not up on nexus doitswit

cyan phoenix
#

Time to remove everything regarding openMW with regedit and maybe that'll help...

#

it seems like it takes some cfg from not the proper place

worldly edge
#

you turned all the mods off right

cyan phoenix
#

Yes

worldly edge
#

go to your documents folder, my games, openMW, take the file player_storage.bin, move it to another folder, try running openMW again and see if the issue pops up

inner vector
#

but it was to test my mod

#

so I feel responsible

civic marten
#

Yeah ik it's all that same feeling in the gut though. This is just normal openmw install bs though, happens to me all the time

worldly edge
#

might have to move global_storage.bin too

#

i used to have openMW crash on me randomly and mess up all my mod settings and gui 😐

civic marten
#

Yeah I got used to running mods with default settings

cyan phoenix
#

shit, it now even doesn't launch when I restored everything

#

as it was before trying to launch vanilla only

inner vector
cyan phoenix
#

Got it working

#

Added interface reimagined as separate directory, fresh

inner vector
#

Huzzah!

cyan phoenix
#

Okay the speed is the same on fully vanilla setup for me

#

so yeah, no idea what's happening here

inner vector
#

speed is the same for what

#

OSSC and vanilla?

cyan phoenix
#

vanilla and spellforge spell with vanilla cast

#

ossc doesnt yield a spell, I'll look into that later on

inner vector
#

OSSC doesnt cast vanilla spells for you?

cyan phoenix
#

nope

#

invisible spell with all sounds but no effects

inner vector
#

oh

cyan phoenix
#

I can even hear hitting an actor with the spell

inner vector
#

spellforge is supressing the projectile?

cyan phoenix
#

(the hit spell sound)

inner vector
#

but it should only suppress the placeholder spell

cyan phoenix
#

this is the log of casting a vanilla spell and then spellforge spell

#

but it might've to do with the invisible marker, I am almost sure

inner vector
cyan phoenix
#

these are base vfxes yes, it should default to it by element but I dunno

#

Maybe some fault on sfp side, but on the other hand the vanilla spell is flying normally

#

so most probably some sfp-spellforge-ossc communication issue

inner vector
#

hmm

#

I wonder

cyan phoenix
#

but wait it might be other mod breaking it

#

since I am developing something else

inner vector
#

I'm confused

#

I have spellforge and OSSC and it works'

#

spellforge SPELLS with OSSC will NOT work

#

spellforge spells aren't spells

#

they are like

#

like

#

you are shooting a lua file

#

and the mod reads it

#

and then tells SFP what to do

#

OSSC is just sending an empty spell as far as spellforge is concerned so it just kills the projectile like its supposed to when it sees the placeholder and nothing else happens because the spell itself doesn't actually cast any effects

#

so yeah I need to add in detection for OSSC animation key

#

so it actually shoots the spell with quickcast

cyan phoenix
#

[MagExp] [DETONATE] Spawning VFX: meshes/spellforge/invisible_marker.nif at (-566.64971923828125

this might be because this file is NC (no collision)

inner vector
#

i need to explain better

#

it visually kills the placeholder projectile

#

it still fires it

#

invisible

#

it does exist

#

ah yeah it has no collision

#

so it never hits anything

#

hmmm...

cyan phoenix
#

Exactly

#

it can be invisible, it doesn't mean anything

inner vector
#

shoot.

cyan phoenix
#

but being no collision is not good

inner vector
#

I need to add collision

cyan phoenix
#

if you can get this file I can make it collision for you

#

since I needed to make it 1st time two days ago

inner vector
#

its in the mod

cyan phoenix
#

Allright one moment

inner vector
#

or do you mean the blender file

#

I might still have that somewhere

cyan phoenix
#

shit I don't know how to do it 😄 I know how to add flag for no collision

#

but whats the flag for collision haha

inner vector
#

I'll just give the mesh collision and swap it out

cyan phoenix
#

If you can do that would be great

inner vector
#

lemme try and remember how to do things

#

the limit of my experience is making a box and this tiny triangle.

#

so I probably didnt set collision on accident

#

😅

#

I think I did it right?

#

maybe not

cyan phoenix
#

I'll check it in a bit

#

Finishing patches for my light spells mod

inner vector
#

I'll work on adding in the animation keys from OSSC

cyan phoenix
#

Although I don't know, it seems to only read the start key of the custom casting anims, at least the logs say so that it fallbacks to 1.00 timer. But it detects the start key so it somehow works

inner vector
#

?

cyan phoenix
#

In general Ossc, not Spellforge

#

You'll see in the logs

inner vector
#

icon fix

cyan phoenix
#

the file didn't help, I see this though
[13:07:13.732 I] L@0x5c1f[scripts/omw_magexp/magexp_projectile_local.lua]: [MagExp] Adding VFX model: meshes/spellforge/invisible_marker.nif
[13:07:13.732 I] L@0x5c1f[scripts/omw_magexp/magexp_projectile_local.lua]: [MagExp] VFX handle: FAILED

#

No promise I'll take a look at it today tho

#

[13:07:13.726 I] Global[scripts/omw_magexp/magexp_global.lua]: [MagExp] MagicEffect auto-detect: fire damage | Final Speed: 4500
[13:07:13.726 I] Global[scripts/omw_magexp/magexp_global.lua]: [MagExp] Attempting to create projectile with recordId: Colony_Assassin_act
[13:07:13.726 I] Global[scripts/omw_magexp/magexp_global.lua]: [MagExp] Created projectile object: @0x5c1f
[13:07:13.726 I] Global[scripts/omw_magexp/magexp_global.lua]: [MagExp] Teleporting projectile to: Addamasartus (-126.98485565185546875, 3538.90966796875, -565.03314208984375)
[13:07:13.727 I] Global[scripts/omw_magexp/magexp_global.lua]: [MagExp] Launched 'Generated:0x328' [Colony_Assassin_act] spd=4500 spin=4.07
[13:07:13.732 I] L@0x5c1f[scripts/omw_magexp/magexp_projectile_local.lua]: [MagExp] Adding VFX model: meshes/spellforge/invisible_marker.nif
[13:07:13.732 I] L@0x5c1f[scripts/omw_magexp/magexp_projectile_local.lua]: [MagExp] VFX handle: FAILED

#

it tries to add 2 invisible objects, one Colony_assassin and one invisible_marker

#

That's why there is no collision or visual

inner vector
#

spellforge?