Closed Idrinth closed 2 weeks ago
Permission recieved. @BellCubeDev feel free to suggest something!
Well, I can think of two ways to do this:
From there, here are some things he could comment on (I'm not too familiar with his style, so I can't write any of his lines):
I'll download Clockwork, haven't played it before (thank Auri-El for XEdit). But from a short walktrough it sounds fun. Especially to comment.
Definitely worth commenting - from the pictures a Hammer movie-flair with a few Dr. Who-situations. Nice! We've just need to see how to start properly. What's important to know: Which followers DO can come with you normally (i.e. without being called by Kaidan's war horn/teleport spell/etc.)? Which are the trigger points for different sights/situations? general Velothi tunnel/Clockwork/Nurndural lines?
I think this is the perfect mod to look up a few more Aldmeri curses - Idrinth won't like the tunnel.
@Aurinimac
What's important to know: Which followers DO can come with you normally (i.e. without being called by Kaidan's war horn/teleport spell/etc.)? Which are the trigger points for different sights/situations? general Velothi tunnel/Clockwork/Nurndural lines?
I don't know of any followers that follow you through by design (though summons should work like normal since the only thing stopping followers is a door that blocks follower interaction). Because of that, I'm not sure there are any typical lines. Time for INNOVATION!
I will note that I've talked a bit with Joseph Russel on adding integration with Lucien (if you're familiar with Lucien, you'll know why it would be a perfect fit), though he's currently busy working on other parts of the mod. That said, Lucien and Idrinth have two very different personalities.
I'm also not sure if there are any triggers you could easily hijack in Clockwork to give unique comments. There will be some, however, that you could hijack using what I believe to be the standard method (creating an Alias and initializing it to a temporary reference, setting it to a GetFormFromFile
on game load). Perhaps I could be of assistance in adding more triggers as an optional plugin (or even doing some madman-level scripting wizardry)?
I don't know of any followers that follow you through by design (though summons should work like normal since the only thing stopping followers is a door that blocks follower interaction). Because of that, I'm not sure there are any typical lines. Time for INNOVATION!
Will see if I can't handle cell load checks in a way, that he enters with you. Plan to first test that on the soul cairn.
I will note that I've talked a bit with Joseph Russel on adding integration with Lucien (if you're familiar with Lucien, you'll know why it would be a perfect fit), though he's currently busy working on other parts of the mod. That said, Lucien and Idrinth have two very different personalities.
yes, Lucien and Idrinth are two extremely different types. I do enjoy the combination, I hope we can expand upon it. Did already ask for permission to get started on commenting on Lucien.
I'm also not sure if there are any triggers you could easily hijack in Clockwork to give unique comments. There will be some, however, that you could hijack using what I believe to be the standard method (creating an Alias and initializing it to a temporary reference, setting it to a
GetFormFromFile
on game load). Perhaps I could be of assistance in adding more triggers as an optional plugin (or even doing some madman-level scripting wizardry)?
The get form from file is used in my small framework and I'll expand upon it. With that it should be no issue to hook into the following:
For performance reasons those have a tiny delay, so update once every 15s only. Do we need more?
The get form from file is used in my small framework and I'll expand upon it. With that it should be no issue to hook into the following:
- current quest stage
- in location checks
- in cell checks
- near npc check
For performance reasons those have a tiny delay, so update once every 15s only. Do we need more?
I wouldn't think so, no. In all honesty, I don't think you'd even need to check for nearby NPCs outside of combat (good thing dialogue conditions can handle that)—quest stage changes should be just fine.
Commenting on the tunnel, though, might require more surgical work.
Sooo - I will start cooking up some lines as soon as you two find out what's technically possible to comment upon. I sincerely hope the tunnel would work, have a few ideas already ;) And Lucien is more than perfect - torn between utter horror and downright infatuation with the Gilded and the Clockwork Castle.
I might have to do a run through with markers enabled in-game (see bShowMarkers
in Skyrim.ini).
Here's a list of triggers in the Velothi Mountain Tunnels that Idrinth could use to trigger comments:
Trigger right as the Player enters the tunnels
[REFR:05211B63] (places defaultBlankTrigger [ACTI:00000F55] in GRUP Cell Temporary Children of CLWVelothiTunnels01 "Velothi Mountain Tunnels" [CELL:05063DB9])
Trigger that disabled the first reference of Shadow (by setting CLWShadowManage01Quest
's Stage to 20
)
[REFR:0506FCE8] (places defaultSetStageOnEnterTrigger [ACTI:0009C8DF] in GRUP Cell Temporary Children of CLWVelothiTunnels01 "Velothi Mountain Tunnels" [CELL:05063DB9])
Trigger right before the Player enters that large cavern with the Dwemer ruins
[REFR:05086F8F] (places defaultAddMusicTrigger [ACTI:0004DCAE] in GRUP Cell Temporary Children of CLWVelothiTunnels01 "Velothi Mountain Tunnels" [CELL:05063DB9])
Trigger that activates the spider encounter
[REFR:05076711] (places defaultActivateSelfTRIG [ACTI:00048AC0] in GRUP Cell Persistent Children of CLWVelothiTunnels01 "Velothi Mountain Tunnels" [CELL:05063DB9])
Trigger as the Player leaves the large cavern with the Dwemer ruins (sets CLWShadowManage01Quest
's Stage to 30
)
[REFR:05073A4B] (places defaultSetStageOnEnterTrigger [ACTI:0009C8DF] in GRUP Cell Temporary Children of CLWVelothiTunnels01 "Velothi Mountain Tunnels" [CELL:05063DB9])
Trigger disabling the third appearance of our friend Shadow (by setting CLWShadowManage01Quest
's Stage to 40
)
[REFR:0507F7BA] (places defaultSetStageOnEnterTrigger [ACTI:0009C8DF] in GRUP Cell Temporary Children of CLWVelothiTunnels01 "Velothi Mountain Tunnels" [CELL:05063DB9])
Trigger right before the little cutscene where you get real personal with Shadow that enables Camilla's Trail - Part Four
[REFR:050869AA] (places defaultEnableDisableLinkedRef [ACTI:0005AFD7] in GRUP Cell Temporary Children of CLWVelothiTunnels02 "Velothi Tunnels - Bone Hollow" [CELL:05079DDF])
A mess of 3 triggers that I'm not going to sort through that are used to start, add music to, and end Shadow's cutscene.
Trigger that moves the weird floating light to match the Player's height initially
[REFR:05084135] (places defaultBlankTrigger [ACTI:00000F55] in GRUP Cell Temporary Children of CLWVelothiTunnels02 "Velothi Tunnels - Bone Hollow" [CELL:05079DDF])
Trigger right after that that begins a Skeleton encounter right after that one
[REFR:05083B59] (places defaultActivateSelfTRIG [ACTI:00048AC0] in GRUP Cell Persistent Children of CLWVelothiTunnels02 "Velothi Tunnels - Bone Hollow" [CELL:05079DDF])
Trigger that starts a Skeleton encounter just off to the left (I didn't even notice that room on my first too-many runs through)
[REFR:05081ED6] (places defaultActivateSelfTRIG [ACTI:00048AC0] in GRUP Cell Persistent Children of CLWVelothiTunnels02 "Velothi Tunnels - Bone Hollow" [CELL:05079DDF])
Trigger on what is now the third floor of that roundabout tower to start, you guessed it, a Skeleton encounter
[REFR:0508526B] (places defaultActivateSelfTRIG [ACTI:00048AC0] in GRUP Cell Persistent Children of CLWVelothiTunnels02 "Velothi Tunnels - Bone Hollow" [CELL:05079DDF])
Four more Skeleton encounter triggers in the same general area, none of which the player may actually end up interacting with
Another Skeleton Encounter trigger in that tunnel with the floating skull ring, right before the Glass Lake door
[REFR:05086F8A] (places defaultActivateSelfTRIG [ACTI:00048AC0] in GRUP Cell Persistent Children of CLWVelothiTunnels02 "Velothi Tunnels - Bone Hollow" [CELL:05079DDF])
Trigger that starts moving the Shadow under the Glass Lake towards the Player (right before a corner that reveals said lake)
[REFR:050EADB3] (places defaultBlankTrigger [ACTI:00000F55] in GRUP Cell Temporary Children of CLWVelothiTunnels03 "Velothi Tunnels - Glass Lake" [CELL:050B78E0])
Trigger IMMEDIATELY before the previously-mentioned corner (looks like it's there just in case the first trigger didn't get the memo - it does the same thing as the previous one)
[REFR:050EADB2] (places defaultBlankTrigger [ACTI:00000F55] in GRUP Cell Temporary Children of CLWVelothiTunnels03 "Velothi Tunnels - Glass Lake" [CELL:050B78E0])
Trigger as the Player goes to leave that small tunnel that now has 3 triggers crammed into it that plays that "discovery"/"big reveal" sound
[REFR:0511892B] (places defaultAddMusicTrigger [ACTI:0004DCAE] in GRUP Cell Temporary Children of CLWVelothiTunnels03 "Velothi Tunnels - Glass Lake" [CELL:050B78E0])
Lots of Skeleton encounter triggers in that big Nordic Tower-style area
Trigger that disables that Shadow Under The Lake OR Trigger that disables other triggers that's slightly further along in the tunnel. FormID provided is for the slightly further-along trigger.
[REFR:051507FF] (places defaultEnableDisableLinkedRef [ACTI:0005AFD7] in GRUP Cell Temporary Children of CLWVelothiTunnels03 "Velothi Tunnels - Glass Lake" [CELL:050B78E0])
Trigger that enables the shadow chasey thingy
[REFR:05169E56] (places defaultEnableDisableLinkedRef [ACTI:0005AFD7] in GRUP Cell Temporary Children of CLWVelothiTunnels03 "Velothi Tunnels - Glass Lake" [CELL:050B78E0])
Four triggers for Skeleton Encounters in that room with the big Sovngarde totem and master-locked chest (I do suggest commenting on at least one of these)
Two more triggers as the Player leaves that room
Trigger in the room straight ahead that starts the encounter where Shadow floats into the middle of the room and skeletons attack you. You could time it out for some really interesting comments here
[REFR:0519CC9E] (places defaultActivateSelfTRIG [ACTI:00048AC0] in GRUP Cell Persistent Children of CLWVelothiTunnels03 "Velothi Tunnels - Glass Lake" [CELL:050B78E0])
More Skeleton encounter triggers as you continue running from Shadow
2 Triggers setting Globals that I'm not even going to investigate since they're really close to this next one
First trigger that sets off the collapsing tunnel
[REFR:051FD6EA] (places defaultBlankTrigger [ACTI:00000F55] in GRUP Cell Temporary Children of CLWVelothiTunnels03 "Velothi Tunnels - Glass Lake" [CELL:050B78E0])
A whole series of more triggers that set off collapsing more parts of the tunnel
A great trigger for Idrinth to make a comment like "Looks like a dead end." followed by something like "blast" or some other non-swear in-universe curse
[REFR:0520790E] (places defaultBlankTrigger [ACTI:00000F55] in GRUP Cell Persistent Children of CLWVelothiTunnels03 "Velothi Tunnels - Glass Lake" [CELL:050B78E0])
Trigger with CLWHallCollapse02Script
attached that is the one that ultimately opens the exit after 10 seconds (perhaps after 11 seconds Idrinth could make a comment with the same idea as "By the Nine, we're spared!")
[REFR:05164CD6] (places defaultBlankTrigger [ACTI:00000F55] in GRUP Cell Temporary Children of CLWVelothiTunnels03 "Velothi Tunnels - Glass Lake" [CELL:050B78E0])
It'd also be possible to inject triggers using scripts, should we want it. We could place Triggers in the CK and move them via script to any location relative to any other reference.
Soo, a few of the more interesting bone sculptures are able to be commented upon? Sounds good! Maybe we should start a seperate folder under Dialogues to gather the first comments?
Just wrote out a simplistic system to place in additional triggers, if we need them:
Making use of the scripts below, you could place Triggers in some kind of dummy cell, attach the second script (idrinth_triggerPlacementObj
) to the triggers, and configure the Properties however you'd like. The first script (idrinth_triggerPlacer
) should point to each of those triggers in its refsToMove
Property.
Scriptname idrinth_triggerPlacer extends ReferenceAlias
{If the Player enters the specified location, }
idrinth_triggerPlacementObj[] Property refsToMove Auto
String Property aliasName = "VelothiTunnelsLoc" Auto
{Name of the Location Alias to fetch from the quest}
;Int Property aliasID = "VelothiTunnelsLoc" Auto
;{ID of the Location Alias to fetch from the quest}
Event OnLocationChange(Location akOldLoc, Location akNewLoc)
LocationAlias VelothiTunnelsLocAlias = GetOwningQuest().GetAliasByName(aliasName) as LocationAlias
;LocationAlias VelothiTunnelsLocAlias = GetOwningQuest().GetAlias(aliasID) as LocationAlias
if !VelothiTunnelsLocAlias
return
endIf
Location VelothiTunnelsLoc = VelothiTunnelsLocAlias.GetLocation()
if akNewLoc != VelothiTunnelsLoc
return
endIf
int i = 0
int iMax = refsToMove.Length
while i < iMax
refsToMove[i].Place() ; see idrinth_triggerPlacementObj for what's going on here
i += 1
endWhile
EndEvent
Scriptname idrinth_triggerPlacementObj extends ObjectReference
{Attach to individual objects that should be placed by the triggerPlacer script.}
Float Property offset_X = 0.0 Auto
{X Offset (in units) from the object we're moving to
Defaults to 0}
Float Property offset_Y = 0.0 Auto
{Y Offset (in units) from the object we're moving to
Defaults to 0}
Float Property offset_Z = 0.0 Auto
{Z Offset (in units) from the object we're moving to
Defaults to 0}
Float Property rotation_X = 0.0 Auto
{X Rotation (in degrees)
Defaults to 0°}
Float Property rotation_Y = 0.0 Auto
{Y Rotation (in degrees)
Defaults to 0°}
Float Property rotation_Z = 0.0 Auto
{Z Rotation (in degrees)
Defaults to 0°}
Bool Property rotation__isRelativeToObjectLocation = false Auto
{Whether the rotation specified here should be added to the rotation of the object we're fetching from
Defaults to false.}
; Default: PlayerREF
Int Property _FormID = 14 Auto
{FormID to fetch from the plugin}
String Property _PluginName = "Skyrim.esm" Auto
{Plugin to look fetch the form from}
Function Place()
Form targetForm = Game.GetFormFromFile(_FormID, _PluginName)
ObjectReference targetObject = targetForm as ObjectReference
if !targetObject
return
endIf
SetAngle(0.0, 0.0, 0.0)
MoveTo(targetObject, offset_X, offset_Y, offset_Z, rotation__isRelativeToObjectLocation)
SetAngle(GetAngleX() + rotation_X, GetAngleY() + rotation_Y, GetAngleZ() + rotation_Z)
EndFunction
Oh, it feels SO NICE to get syntax highlighting for Papyrus!
If you don't want to enforce SKSE on users, you can switch up the commented lines in idrinth_triggerPlacer
skse is already a requirement, so not an issue
https://www.nexusmods.com/skyrimspecialedition/mods/4155 + https://www.nexusmods.com/skyrimspecialedition/mods/47087
Waiting for Permission.