Jump to content

Recommended Posts

Kazyn. I implemented a method to disable the animation system of DA for cases like yours. It doesn't disable the mechanics of DA, only the animation. Therefore you can have the player entangled in a cocoon while blacking out without the animation trying to fight each other. The trick is to disable DA anim system when you equip the cocoon and catch any DA event if you want to have the player do something when they happen. Once the player is free, you need to re-enable the animation system. If everything is in a activemagiceffect script, it should be pretty transparent i.e. disable when the effect start, enable when the effect stops and catch all the event you need on the player.

 

As for the trigger, you'll want to have a high priority trigger that is conditioned on the type of enemy: spider. When the quest start, you'd check if the player is cocooned, if he is, you'd start your quest (player wakes up cocooned in a spider nest isn't it?). If he isn't then you would have to wait until the event "da_PlayerRecovered" to cocoon the player otherwise the animation may go wonky. Then you can start your quest again. There is also a option to leave the blackscreen on as long as necessary to allow for all this moving about and proper transition between the animations. There are details in the instructions for modders readme file.

 

The way I imagine the quest, if you had a few custom spider lair caverns made, you could put a marker where the player is defeated. Send the player to a random lair (which he has to escape) when captured and return the PC to the marker on success. These lairs would be otherwise inaccessible as if they were hidden burrow holes from the outside or one could even dynamically add a visible burrow hole. The tricky bit is, of course, balancing the whole thing. You want the player to have a chance to escape but not guarantee it. PC attribute may count but the player skill have to be important somehow too. This is the tricky part imo. The DA integration is straightforward in comparison.

 

I hope to see this mod in DA one day: there are still no scenario involving spider and it's one of the most promising (the other animal predator are much more boring).

Link to comment

Kazyn. I implemented a method to disable the animation system of DA for cases like yours. It doesn't disable the mechanics of DA, only the animation. Therefore you can have the player entangled in a cocoon while blacking out without the animation trying to fight each other. The trick is to disable DA anim system when you equip the cocoon and catch any DA event if you want to have the player do something when they happen. Once the player is free, you need to re-enable the animation system. If everything is in a activemagiceffect script, it should be pretty transparent i.e. disable when the effect start, enable when the effect stops and catch all the event you need on the player.

 

As for the trigger, you'll want to have a high priority trigger that is conditioned on the type of enemy: spider. When the quest start, you'd check if the player is cocooned, if he is, you'd start your quest (player wakes up cocooned in a spider nest isn't it?). If he isn't then you would have to wait until the event "da_PlayerRecovered" to cocoon the player otherwise the animation may go wonky. Then you can start your quest again. There is also a option to leave the blackscreen on as long as necessary to allow for all this moving about and proper transition between the animations. There are details in the instructions for modders readme file.

 

The way I imagine the quest, if you had a few custom spider lair caverns made, you could put a marker where the player is defeated. Send the player to a random lair (which he has to escape) when captured and return the PC to the marker on success. These lairs would be otherwise inaccessible as if they were hidden burrow holes from the outside or one could even dynamically add a visible burrow hole. The tricky bit is, of course, balancing the whole thing. You want the player to have a chance to escape but not guarantee it. PC attribute may count but the player skill have to be important somehow too. This is the tricky part imo. The DA integration is straightforward in comparison.

 

I hope to see this mod in DA one day: there are still no scenario involving spider and it's one of the most promising (the other animal predator are much more boring).

 

Yes, as far as setting up the quest goes to fire the quest (via your QuestCondition function) that's good to go. I got that far. I've implemented a handful of trial mods that I messed with some time ago to experiment with the functionality of DA. Needless to say, they worked quite swimmingly : ). I think what I need next is exactly what you just said: Disabling the animation system. Whatever function would be responsible for disabling DA's animation would, also as you said, be called when a cocoon mesh of some sort is equipped.

 

However, what you said about waiting until da_PlayerRecovered is something I'll definitely have to implement functionality for. Should be easy enough, there's already a RegisterForUpdate going at the start of the cave quest so adding that to the existing code shouldn't be too terribly difficult. I haven't made any custom spider caves aside from the Frostbite Reprieve location that originally shipped with this mod. However, I did use some (I think it's just three) mini-lairs scattered throughout various locations in Skyrim (Bleak Falls Barrow, Volskeggr or something weird like that - you get a Whirlwind Sprint shout from it - and one other place I can't remember off the top of my head). Studying how you determined where to move the player in DAYMOYL and DADG, I implemented quite similar functionality, so believe me when I say, this mod, as it is, is highly inspired by your work down to the very format of the quests and scripts (though it's not an exact copy ~_^).

 

I created my own "spiderLairMarkers" and such that would be filled by the quest aliases to determine where the player should be moved and such when entangled normally.

 

So really, all that's left is to implement the DA_DefeatedSpider. Should look something like:

 

 

 

Scriptname kzy_daymoyl_defeatedSpider extends daymoyl_QuestTemplate Hidden

Faction Property SpiderFaction Auto

bool Function QuestCondition(Location akLocation, Actor akAggressor, Actor akFollower)
  if(akAggressor && akAggressor.IsInFaction(SpiderFaction))
    return IsStopped()
  else
    return false
  endif
endFunction

 

 

That's the main gist of it anyway. Obviously some things might need to be changed based on whether or not the player is webbed and such - the above is just checking if they were defeated by a spider or member of the spider faction.

 

I suppose my question now is, is the Disable DA Animation system method already implemented in 6.0.1 or do we have yet to see that?

Link to comment

It is already implemented but it is still experimental since no one has had a use for it yet. There is 2 ways it can be used which are described in the documentation bundled with the important loose scripts.

 

As for da_PlayerRecovered, the idea is that this is the last event sent i.e. DA is done with the animation and ragdolling business and the player has got up and is ready for new animation. While playing, you may have seen plenty of time that if you kill an enemy in the middle of getting up (making it go ragdoll), the animation completely bugs and loops indefinitely. It's a vanilla issue and the same thing can happen here which is why it's so important to let things finish before doing something else. Technically, you could look for the vanilla event that mark the end of ragdoll yourself but since it's not even a guarantee that ragdoll is even used (since DA has multiple animation modes), I made a convenient event that mark the end of the DA forced animation -- whatever it is. Therefore, when planning on playing other animation directly after the defeat, the trigger should look somewhat like this:

 

 

 

Scriptname datrigger extends daymoyl_QuestTemplate  

...

bool Function QuestCondition(Location akLocation, Actor akAggressor, Actor akFollower)
{Condition that must be satisfied for the quest to fire.}
	if(akAggressor.IsInFaction(SpiderFaction))
              return self.Start() ; just to check if the aliases can fill. Make sure this does not acually do anything other than trying to fill aliases.
        else
              return false
        endif
endFunction


bool Function QuestStart(Location CurrentLocation, Actor akAggressor, Actor akFollower)
{Starts the quest and returns true on success.}
        ; force aliases to certain values maybe?

        ; move the player to his destination, maybe with setstage() if you want to keep things neat.

	RegisterForModEvent("da_PlayerRecovered", "StartCocooned")
	RegisterForSingleUpdate(10) ; just a failsafe in case something goes wrong
	SendModEvent("da_StartRecoverSequence", strArg="KeepBlackscreen", numArg = 9999.0)
	return true
endFunction


Event OnUpdate() ; expired? maybe the event is not coming
	Debug.Trace("DA Trigger Failed: Timeout")
        ; what to do in this case? Go on with cocoon anyway?
        StartCocoon()
endEvent


Event StartCocooned(string eventName, string strArg, float numArg, Form sender)
	UnregisterForUpdate()
	UnregisterForModEvent("da_PlayerRecovered")
	
	; equip the cocoon or play other animation

        SendModEvent("da_ApplyBlackscreen", strArg="Remove") ; at last, remove the BS. This will also accept the argument "RemoveWoozy" starting with 6.0.5 for a more confused look.
endEvent

 

 

which is a tad more complex than many of the simple triggers in YMOYL. Also note that none of this requires having daymoyl.esm as a dependency, since everything is handled through events -- there is no need to link DA scripts directly.

 

For your spider lair, are you using the ressource of the dungeons you mentioned or have you added your custom marker to the vanilla dungeons? Because many of these are main quest story dungeons (I really hate that -- that some places we are not supposed to see before certain other events take place) which may break certain plots.

 

BM

Link to comment

I had a look at what you said and where it's implemented in 6.0.1. I'll be sure to mess around and experiment with it when I next get the chance. The difficulties usually always lie within the vanilla scripting, don't they? There's only so many work arounds we can employ,  and even those tend to produce unexpected results. Thank you, however for that little snippet of code. I'll be sure to reference that as I go about its implentation with DA. Rest assured this mod will not depend on DA's .esm. I had a talk with another mod author utilizing the optional functionality and I was able to see just how it can call on DA if it's present without relying on it.

 

As for using the vanilla dungeons, I did add my own custom markers to what i thought would be suitable locations for a spider lair... they're few and far between however. It was mainly for a proof of concept in the end. I was careful not to place the player in places that would otherwise be closed off to them due to lack of progress in some quest line or another. The dungeon that comes the closest to offending is the Bleak Falls Barrow location. That is going to be removed and hopefully all of the vanilla locations will be removed as well as I make progress with adding custom locations. I just have to find the time and effort to make brand new cells.

Link to comment

have you thought of a alternate start branch with this but instead the spiders in the cave would be weak the player would have a basic hand axe that you get from the corps of the stormcloak on the statue at alternate start you could have say

 

i was exploring a spiders nest and got caught

 

or something along them lines when you use the bed you wake up bound up in the web and have to escape the cave

 

but like i said at the start of the game the spiders would need to be weak maybe even a timer before the spiders can spit again ?

Link to comment

I had a look at what you said and where it's implemented in 6.0.1. I'll be sure to mess around and experiment with it when I next get the chance. The difficulties usually always lie within the vanilla scripting, don't they? There's only so many work arounds we can employ,  and even those tend to produce unexpected results. Thank you, however for that little snippet of code. I'll be sure to reference that as I go about its implentation with DA. Rest assured this mod will not depend on DA's .esm. I had a talk with another mod author utilizing the optional functionality and I was able to see just how it can call on DA if it's present without relying on it.

 

As for using the vanilla dungeons, I did add my own custom markers to what i thought would be suitable locations for a spider lair... they're few and far between however. It was mainly for a proof of concept in the end. I was careful not to place the player in places that would otherwise be closed off to them due to lack of progress in some quest line or another. The dungeon that comes the closest to offending is the Bleak Falls Barrow location. That is going to be removed and hopefully all of the vanilla locations will be removed as well as I make progress with adding custom locations. I just have to find the time and effort to make brand new cells.

Looking forward to the next update :)

Link to comment

Hello, i am having a problem with missing textures in this mod, when i get cocooned the webbing look purple instead of white:

post-701372-0-68128900-1421965566_thumb.jpg

post-701372-0-64931100-1421965579_thumb.jpg

post-701372-0-21466900-1421965600_thumb.jpg

(I am using a custom race, but i do not think that is the problem, as i tried it with a vanilla race and i had the same problem)

I installed all of the requirements, and ran GenerateFNISforUsers, but it didn't fix it. Does have ideas on how i can fix this?

Link to comment

Well it's been a long time, but I've finally gotten around to something that I think is nearing a new release. However, things aren't quite what I expected either. Here's a short summary of what's been done. It just needs very extensive testing now:

 

-Implemented Death Alternative scripting (untested). Please note that Death Alternative is NOT going to be a requirement. Arachnophobia will simply recognize DA if it happens to be installed.

 

-Might have found a way to unlock the camera without screwing up AI, but no promises (untested).

 

-Tweaked the entangling and escape mechanics from the web. (Tested and confirmed to be working)

:: A new stat (titled "Endurance" for now) that determines how tightly the victim can be wrapped before they begin to black out. It's based on the victim's health and a new slider     implemented in the MCM.

:: Initial entanglement creates a cocoon "health" of sorts that gets added to while the spider is near. Struggling however, depletes this "health" as well, and the amount of web displayed on the victim will update accordingly based on how far or close the victim is to reaching the "endurance" limit. There is no longer a pseudo-time limit like there used to be.

:: If the cocoon "health" exceeds the victim's "endurance" rating, the victim will begin to lose consciousness at the rate of 1 per second. If the victim manages to struggle enough that the endurance threshold is no longer exceeded, the victim will regain consciousness at the same rate of 1 per second. If consciousness reaches zero, the victim blacks out and is taken to a cave like before. The amount of consciousness the victim is allowed will be configurable in the MCM as well.

:: A new formula was written to adopt this new system.

 

-Implemented a very basic help guide in the MCM on how to use this mod. An actual tutorial is still pending.

 

What's not going to make it into this new build:

-New caves and improved follower functionality. One thing at a time.

 

Other upcoming changes:

-To minimize the footprint created on the vanilla locations, I'm removing for now Volskygge and Bleak Falls Barrow locations as potential spider lairs. While being moved there wasn't something that was game breaking, it still was basically acting as a free half-trip through a dungeon with glittering prizes at the end. Sorry, but going back on that for now.

 

There's a few other things I'm probably forgetting. I'll post as they come to me.

Link to comment

man I was really looking forward to this mod, i hate how weak frostbite spiders are and how everyone in the game talks about how dangerous they are. but i installed (several times) and while i was able to get captured, i was unable to escape (using controller OR keyboard) and I was able to use the Favorites Key + Accept (stealth) to burn stamina, but escape was impossible, even at the lowest of settings. btw, favorites key and accept actually bring up the menu's over and over, and i find it extremely annoying. you should try to make it to where we can assign our own hotkeys to escape, and drop the whole magic vs stealth vs strength thing. i was really really looking forward to this, but i can't get it to work whatsoever. good luck and hope to see a stable update soon!

Link to comment

Well let's not forget that I'm not the most experienced of modders. I would love to be able to map the keys to whatever in the MCM menu, but I'm not all that great with setting that sort of thing up (I don't know how to do mappable keys yet, but it is something I'm looking forward to). I am also aware of the problems caused with the current escape system, hence the new escape mechanics coming in the next update.

 

As for controller support, I haven't the slightest at how the game interprets analog input or anything like that so I cannot promise any sort of controller support. Mappable keys, yes, controller support, not so much.

 

As far as testing goes, testing this Death Alternative trigger has proven to be quite the challenging scenario to create. XD

Link to comment

Well let's not forget that I'm not the most experienced of modders. I would love to be able to map the keys to whatever in the MCM menu, but I'm not all that great with setting that sort of thing up (I don't know how to do mappable keys yet, but it is something I'm looking forward to). I am also aware of the problems caused with the current escape system, hence the new escape mechanics coming in the next update.

 

As for controller support, I haven't the slightest at how the game interprets analog input or anything like that so I cannot promise any sort of controller support. Mappable keys, yes, controller support, not so much.

 

As far as testing goes, testing this Death Alternative trigger has proven to be quite the challenging scenario to create. XD

 

Welp considering that (if it still works that way on this build) a spider coccoons you on the second successful spit I am quite sure that getting "killed" before that must be close to impossible xD.

 

So yeah I can see why testing DA must be a nightmare lolol... is even worth implementing DA? or are you going to change the mechanic of how you get entangled (as in no longer getting cocooned on 2 successful spits)?

Link to comment

Being a long time user of DA, myself, there has been the occasional situation where SOMETHING ends up knocking me into bleedout. I think what i might have to do is give the spiders their poison DoTs back. Technically that's what they do to their prey anyway.

Link to comment

Being a long time user of DA, myself, there has been the occasional situation where SOMETHING ends up knocking me into bleedout. I think what i might have to do is give the spiders their poison DoTs back. Technically that's what they do to their prey anyway.

 

OoOooohhh sounds good!! maybe buff the poisons up in some way so spiders are more threatening and this mod is more likely to end up triggering DA! =p

 

Edit: Now that I think of, I am using another mod from Bralormar named Toxicity which among many things it causes poison to have a chance to make you randomly trip hehe, just a small cool sinergy with your mod =)

Link to comment
  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use