-
Posts
26 -
Joined
-
Last visited
Everything posted by DieBySword
-
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Looks like there were some new updates to skyrim but I dropped the game for now. I got my hands full for now and my workload will only rise :P that the fate of being a Production Support Developer I guess :pirate: -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Well I had sky checks in the script I handed out so when you were inside a location (house,dungeon,a plane without moon) and could not see the moon you would not transform. -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Kinda exactly the same features we had running before we paused the project :psyduck: -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Was there something wrong with my math ? It wored ok for me. -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
cant you guys report that link to a mod if its stolen from here ? -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
This CK gives me a headache :P Want to add a faction and make it ally with 7 others and enemy to 13 others factions :P Well guess now I need to go to all those factions and add my faction with the right state to it. Hell way to make it less time consuming on the modders :D From the talk on the bethsoft forums when you change an orginal script from the script folder and save/build it it will overwrite the orginal file in the bsa too :P Good I`m using subvertion on my revisioned code. -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
I sent the script and some info on it to Elders email but if anyone want to look at it or test it then here it is. Anyone know the command to change a String ( name ) to an Actor ID or get an Actor by ID ?!? -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
After some testing and reading most of the psc scripts I finally got a hang of things so I`m rebuilding the script. I`m gonna add a custom Cast function to the WerewolfChangeEffect spell so we can cast the spell on NPC directly. I`m gonna make a new NPCwerewolfTransformation for the npc mirroring the PlayerWerewolfChange script that is triggered by the Cast function because NPC will need a special script for storing they starting races and un-equipping they`re weapons. As I mentioned before I wanted to use the werewolf transform on actors but that wont be a good idea. If we want to be able to use it on actors then we will need an onUpdate request for every actor and that will bog down the game. The alternative is having only one onUpdate on the main COH file under the main quest that will trigger the werewolf transformation for the player and an array of actors if they pass the requirements. The Array will contain actor names and will be stored in a separate script dedicated only for that purpose, if you want to add an actor to the werewolf transformation then you need to modify the array. I`m still trying to find a way of using the factions or classes to be the array because its easier to add and maintain actors from the faction/class window in the CK. At least I finally grasped the concept of triggering local functions from different script and different quest in my own local scripts :) I got a good feeling about the Quest Aliases too so now thing should go more smoothly :P P.S Sneaking in werewolf does not work even if its enabled so I guess that we are missing a werewolf sneak animation like with the first person view. I`m not a 3D modeler but could it be possible to export the normal race sneak animation with skeleton and replace the animation with the werewolf skin ? -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Syntax Function EnablePlayerControls(bool abMovement = true, bool abFighting = true, bool abCamSwitch = true, \ bool abLooking = true, bool abSneaking = true, bool abMenu = true, bool abActivate = true, bool abJournalTabs = true, \ int aiDisablePOVType = 0) native global [edytuj] Parameters abMovement: Enable the player's movement controls. Default: True abFighting: Enable the player's combat controls. Default: True abCamSwitch: Enable the ability to switch to 3rd-person. Default: True abLooking: Enable the player's look controls. Default: True abSneaking: Enable the player's sneak controls. Default: True abMenu: Enables menu controls (Journal, Inventory, Pause, etc.). Default: True abActivate: Enables activation. Default: True abJournalTabs: Enables all Journal tabs. Default: True aiDisablePOVType: What POV system is enabling POV 0 = Script 1 = Werewolf Default: 0 - Stealth and sneak attacks in beast form: The first time one of my characters became a werewolf, the very first thing I did was try to sneak, and naturally found that werewolves in Skyrim can't sneak. Now I'd very much like to stealth in as soon as possible, but I'm afraid that's going to be rather difficult; werewolves don't have an animation for sneaking, therefore we'll need to create one ourselves, as well as one for sneak attacks. - First Person View As a Werewolf: First person view for werewolves runs into a similar problem to sneaking as a werewolf; there's no animations for it. While this isn't as big of a problem as sneaking since an invisible first person werewolf (the most likely outcome of trying to give werewolves first person view) isn't game breaking, it definitely kills immersion. [*] Lunar Transformations: One of the most disappointing thing about Skyrim's werewolves is the lack of any sort of moon based buffs, transformation triggers, or really anything to do with the moon. In Call of Hircine, transformations will work much like they did in Curse of Hircine: You will transform into a werewolf on the night of the full moon at approximately 8:00 PM, and remain a werewolf until approximately 5:00 AM. There will also be a chance for you to transform on nights with partially full moons; any night besides the new moon and the crescent moon is fair game, though the chances decrease every night after the full moon passes. Holding with Elder Scrolls lore,werewolves will have a power that allows them to trigger a voluntary transformation once a day. The transformation will last for one hour unless it is trigger on a night on which a voluntary transformation could occur but didn't due to chance (Gibbous, first, or third quarter nights have a transformation chence less than 100%), in which case it will last until 6 AM the follownig morning [*] Access to the map and character menus: If your going to spend an entire night in beast form, the map is absolutely essential, as is the ability to look through the character menus. You'll most likely be locked out of the inventory, though you'll be able to pick up stray objects as a werewolf, and remove quest items from containers or bodies. Guess thats complete except first person attacking that cant be performed because of missing animations :P -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
The original script does not transfer your weapons to a container (its commented out) it just un-equips your weapons/armor and spells and changes your shout power to a custom created for that occasion howl. About the race there is a Companion script that is used to store the race of the actor transforming, so we can already transform npc and player and dont need to worry about race storing. I`m adding a new function to the transformation script so it can both affect the player and npc so if you want to affect a npc you just go into his actor value and attach the main transformation script to his actor. -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
If your talking about my script can you use the console and get two values and post it here ( 20 seconds after full werewolf tansformation ended ) help WerewolfShiftbacktime 3 help dayspassed 3 -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Lol even if your post says edited today it still says that the script I attached dosnt work. But when I press reply to it then I can see the quote I posted now -.- Something wrong with nexus or is that just me ? If your not sure if the day in game will have a full moon then open the console and type "help dayspassed 3" , the value that is shown should be reduced by 1 and then mod (%) per 24. If the rest of the equation is 23,0 or 1 then you got yourself a full moon. Now wait past 8 pm and before 6 am for the transformation to trigger. It triggers only once and will last 24 hours by default so even if you wait 24 hours after transformation you wont change back to human and back to werewolf if your in the 8 pm - 6 am radius after the wait. Just to be clear even if I say the transformation last 24 hour the script will set you back to your orginal race after 6 am and before 8 pm :P The script dosnt interfere with normal werewolf transformation so you can still transform during the day but then the transformation will only last the standars 150 sec + feed time. If you want I can add an option to the normal PC transformation to be a permanent one for the duration of a full moon from 8 pm to 6 am but thats kinda pointless I guess :P -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Well here is my script and I think its easier to run the transformation check from the psx file than from the quest stages. Lets leave the quest part for actual quests -.- -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
This work :P stage 0 starts and goes into the while loop after that it never want to go out :P probably the que is so long it would take a few minutes for it to catch up to the right time :D While loops work even if your in menu while onupdate dosnt. OnUpdate can be set in intervals while goes as fast as it can so I`m happy my PC didnt explode ^_- Try this its like an OnUpdate :P Function IdleTiming() ; Called from stage 0 if GameHour.Value < 19.95 || GameHour.Value > 5.00 cohTransformationsAllowed.SetValue(0) TransformationEvent == false Start == false else Start == true endif if Start == True && PlayerIsWerewolf.Value == 1 If FirstTransformation == False setStage(1) elseif FirstTransformation == True setStage(2) else setStage(10) endif else Utility.Wait(10) setStage(0) endif EndFunction -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Lmao just using Game.GetPlayer().SetRace(WerewolfBeastRace) changes you instantly into a werewolf without a timer. You can fast travel, wait and go into menus and even use shouts but you will hear light howl when doing it and no werewolf shout :/ Furthemore you can have all you gear equiped but you wont be able to use sword only fists like normal werewolf and health gonna be set to 100 HP -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
int property cohCanTransform auto is already handling the tansformations. Do you want a global value for other scripts or something ? As I am now I got the moonphases set but I`m still looking for weather parametres. Theres no need to write our own custom transformation when we got a script for that already. If you want to be able to open menus and fast travel you only need to set: Game.SetBeastForm(False) Game.EnableFastTravel(True) Game.EnablePlayerControls(abMovement = false, abFighting = false, abCamSwitch = true, abLooking = false, abSneaking = false, abMenu = false, abActivate = false, abJournalTabs = false, aiDisablePOVType = 1) Game.ShowFirstPersonGeometry(true) while being in beast mode :D -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
No clue yet, saw it in the Warewolf Cure script so I place it as a precaution. Testing it right now. PlayerWerewolfChangeScript has all the things we got :P Like enabling weapons and menus. ; sets up the UI restrictions Game.SetBeastForm(True) Game.EnableFastTravel(False) So this actualy sets UI restrictions :P And casting the werewolfchange on player trigers the script down below. Scriptname PlayerWerewolfChangeScript extends Quest float Property StandardDurationSeconds auto {How long (in real seconds) the transformation lasts} float Property DurationWarningTimeSeconds auto {How long (in real seconds) before turning back we should warn the player} float Property FeedExtensionTimeSeconds auto {How long (in real seconds) that feeding extends werewolf time} VisualEffect property FeedBloodVFX auto {Visual Effect on Wolf for Feeding Blood} Race Property WerewolfBeastRace auto ObjectReference Property LycanStash auto Perk Property PlayerWerewolfFeed auto Faction Property PlayerWerewolfFaction auto Faction Property WerewolfFaction auto Message Property PlayerWerewolfExpirationWarning auto Message Property PlayerWerewolfFeedMessage auto GlobalVariable Property GameDaysPassed auto GlobalVariable Property TimeScale auto GlobalVariable Property PlayerWerewolfShiftBackTime auto ImageSpaceModifier Property WerewolfWarn auto ImageSpaceModifier Property WerewolfChange auto Race Property WerewolfRace auto Sound Property NPCWerewolfTransformation auto Sound Property WerewolfIMODSound auto Idle Property WerewolfTransformBack auto Idle Property SpecialFeeding auto Quest Property CompanionsTrackingQuest auto Quest Property C03Rampage auto Shout Property CurrentHowl auto WordOfPower Property CurrentHowlWord1 auto WordOfPower Property CurrentHowlWord2 auto WordOfPower Property CurrentHowlWord3 auto Spell Property PlayerWerewolfLvl10AndBelowAbility auto Spell Property PlayerWerewolfLvl15AndBelowAbility auto Spell Property PlayerWerewolfLvl20AndBelowAbility auto Spell Property PlayerWerewolfLvl25AndBelowAbility auto Spell Property PlayerWerewolfLvl30AndBelowAbility auto Spell Property PlayerWerewolfLvl35AndBelowAbility auto Spell Property PlayerWerewolfLvl40AndBelowAbility auto Spell Property PlayerWerewolfLvl45AndBelowAbility auto Spell Property PlayerWerewolfLvl50AndOverAbility auto Spell Property FeedBoost auto Spell property BleedingFXSpell auto {This Spell is for making the target of feeding bleed.} Armor Property WolfSkinFXArmor auto bool Property Untimed auto FormList Property CrimeFactions auto FormList Property WerewolfDispelList auto float __durationWarningTime = -1.0 float __feedExtensionTime = -1.0 bool __tryingToShiftBack = false bool __shiftingBack = false bool __shuttingDown = false bool __trackingStarted = false float Function RealTimeSecondsToGameTimeDays(float realtime) float scaledSeconds = realtime * TimeScale.Value return scaledSeconds / (60 * 60 * 24) EndFunction float Function GameTimeDaysToRealTimeSeconds(float gametime) float gameSeconds = gametime * (60 * 60 * 24) return (gameSeconds / TimeScale.Value) EndFunction Function PrepShift() ; Debug.Trace("WEREWOLF: Prepping shift...") Actor player = Game.GetPlayer() ; sets up the UI restrictions Game.SetBeastForm(True) Game.EnableFastTravel(False) ; set up perks/abilities ; (don't need to do this anymore since it's on from gamestart) ; Game.GetPlayer().AddPerk(PlayerWerewolfFeed) ; screen effect WerewolfChange.Apply() WerewolfIMODSound.Play(Game.GetPlayer()) ; get rid of your summons int count = 0 while (count < WerewolfDispelList.GetSize()) Spell gone = WerewolfDispelList.GetAt(count) as Spell if (gone != None) Game.GetPlayer().DispelSpell(gone) endif count += 1 endwhile Game.DisablePlayerControls(abMovement = false, abFighting = false, abCamSwitch = true, abMenu = false, abActivate = false, abJournalTabs = false, aiDisablePOVType = 1) Game.ForceThirdPerson() Game.ShowFirstPersonGeometry(false) EndFunction Function InitialShift() ; Debug.Trace("WEREWOLF: Player beginning transformation.") WerewolfWarn.Apply() if (Game.GetPlayer().IsDead()) ; Debug.Trace("WEREWOLF: Player is dead; bailing out.") return endif ; actual switch Game.GetPlayer().SetRace(WerewolfBeastRace) EndFunction Function StartTracking() if (__trackingStarted) return endif __trackingStarted = true ; Debug.Trace("WEREWOLF: Race swap done; starting tracking and effects.") ; take all the player's stuff (since he/she can't use it anyway) ; Game.GetPlayer().RemoveAllItems(LycanStash) Game.GetPlayer().UnequipAll() Game.GetPlayer().EquipItem(WolfSkinFXArmor, False, True) ;Add Blood Effects ;FeedBloodVFX.Play(Game.GetPlayer()) ; make everyone hate you Game.GetPlayer().SetAttackActorOnSight(true) ; alert anyone nearby that they should now know the player is a werewolf Game.SendWereWolfTransformation() Game.GetPlayer().AddToFaction(PlayerWerewolfFaction) Game.GetPlayer().AddToFaction(WerewolfFaction) int cfIndex = 0 while (cfIndex < CrimeFactions.GetSize()) ; Debug.Trace("WEREWOLF: Setting enemy flag on " + CrimeFactions.GetAt(cfIndex)) (CrimeFactions.GetAt(cfIndex) as Faction).SetPlayerEnemy() cfIndex += 1 endwhile ; but they also don't know that it's you Game.SetPlayerReportCrime(false) ; recalc times __durationWarningTime = RealTimeSecondsToGameTimeDays(DurationWarningTimeSeconds) __feedExtensionTime = RealTimeSecondsToGameTimeDays(FeedExtensionTimeSeconds) ; unequip magic Spell left = Game.GetPlayer().GetEquippedSpell(0) Spell right = Game.GetPlayer().GetEquippedSpell(1) Spell power = Game.GetPlayer().GetEquippedSpell(2) Shout voice = Game.GetPlayer().GetEquippedShout() if (left != None) Game.GetPlayer().UnequipSpell(left, 0) endif if (right != None) Game.GetPlayer().UnequipSpell(right, 1) endif if (power != None) ; some players are overly clever and sneak a power equip between casting ; beast form and when we rejigger them there. this will teach them. ; Debug.Trace("WEREWOLF: " + power + " was equipped; removing.") Game.GetPlayer().UnequipSpell(power, 2) else ; Debug.Trace("WEREWOLF: No power equipped.") endif if (voice != None) ; same deal here, but for shouts ; Debug.Trace("WEREWOLF: " + voice + " was equipped; removing.") Game.GetPlayer().UnequipShout(voice) else ; Debug.Trace("WEREWOLF: No shout equipped.") endif ; but make up for it by giving you the sweet howl CurrentHowlWord1 = (CompanionsTrackingQuest as CompanionsHousekeepingScript).CurrentHowlWord1 CurrentHowlWord2 = (CompanionsTrackingQuest as CompanionsHousekeepingScript).CurrentHowlWord2 CurrentHowlWord3 = (CompanionsTrackingQuest as CompanionsHousekeepingScript).CurrentHowlWord3 CurrentHowl = (CompanionsTrackingQuest as CompanionsHousekeepingScript).CurrentHowl Game.UnlockWord(CurrentHowlWord1) Game.UnlockWord(CurrentHowlWord2) Game.UnlockWord(CurrentHowlWord3) Game.GetPlayer().AddShout(CurrentHowl) Game.GetPlayer().EquipShout(CurrentHowl) ; and some rad claws int playerLevel = Game.GetPlayer().GetLevel() if (playerLevel <= 10) Game.GetPlayer().AddSpell(PlayerWerewolfLvl10AndBelowAbility, false) elseif (playerLevel <= 15) Game.GetPlayer().AddSpell(PlayerWerewolfLvl15AndBelowAbility, false) elseif (playerLevel <= 20) Game.GetPlayer().AddSpell(PlayerWerewolfLvl20AndBelowAbility, false) elseif (playerLevel <= 25) Game.GetPlayer().AddSpell(PlayerWerewolfLvl25AndBelowAbility, false) elseif (playerLevel <= 30) Game.GetPlayer().AddSpell(PlayerWerewolfLvl30AndBelowAbility, false) elseif (playerLevel <= 35) Game.GetPlayer().AddSpell(PlayerWerewolfLvl35AndBelowAbility, false) elseif (playerLevel <= 40) Game.GetPlayer().AddSpell(PlayerWerewolfLvl40AndBelowAbility, false) elseif (playerLevel <= 45) Game.GetPlayer().AddSpell(PlayerWerewolfLvl45AndBelowAbility, false) else Game.GetPlayer().AddSpell(PlayerWerewolfLvl50AndOverAbility, false) endif ; calculate when the player turns back into a pumpkin float currentTime = GameDaysPassed.GetValue() float regressTime = currentTime + RealTimeSecondsToGameTimeDays(StandardDurationSeconds) PlayerWerewolfShiftBackTime.SetValue(regressTime) ; Debug.Trace("WEREWOLF: Current day -- " + currentTime) ; Debug.Trace("WEREWOLF: Player will turn back at day " + regressTime) ; increment stats Game.IncrementStat("Werewolf Transformations") ; set us up to check when we turn back RegisterForUpdate(5) SetStage(10) ; we're done with the transformation handling EndFunction Event OnUpdate() if (Untimed) return endif float currentTime = GameDaysPassed.GetValue() float regressTime = PlayerWerewolfShiftBackTime.GetValue() if ( (currentTime >= regressTime) && (!Game.GetPlayer().IsInKillMove()) && !__tryingToShiftBack ) UnregisterForUpdate() SetStage(100) ; time to go, buddy return endif if (currentTime >= regressTime - __durationWarningTime) if (GetStage() == 10) SetStage(20) ; almost there return endif endif ; Debug.Trace("WEREWOLF: Checking, still have " + GameTimeDaysToRealTimeSeconds(regressTime - currentTime) + " seconds to go.") EndEvent Function SetUntimed(bool untimedValue) Untimed = untimedValue if (Untimed) UnregisterForUpdate() endif EndFunction ; called from stage 11 Function Feed(Actor victim) float newShiftTime = PlayerWerewolfShiftBackTime.GetValue() + __feedExtensionTime Game.GetPlayer().PlayIdle(SpecialFeeding) ;This is for adding a spell that simulates bleeding BleedingFXSpell.Cast(victim,victim) if (!C03Rampage.IsRunning()) PlayerWerewolfShiftBackTime.SetValue(newShiftTime) PlayerWerewolfFeedMessage.Show() FeedBoost.Cast(Game.GetPlayer()) ; victim.SetActorValue("Variable08", 100) ; Debug.Trace("WEREWOLF: Player feeding -- new regress day is " + newShiftTime) endif SetStage(10) EndFunction ; called from stage 20 Function WarnPlayer() ; Debug.Trace("WEREWOLF: Player about to transform back.") WerewolfWarn.Apply() EndFunction ; called from stage 100 Function ShiftBack() __tryingToShiftBack = true while (Game.GetPlayer().GetAnimationVariableBool("bIsSynced")) ; Debug.Trace("WEREWOLF: Waiting for synced animation to finish...") Utility.Wait(0.1) endwhile ; Debug.Trace("WEREWOLF: Sending transform event to turn player back to normal.") __shiftingBack = false ; RegisterForAnimationEvent(Game.GetPlayer(), "TransformToHuman") ; Game.GetPlayer().PlayIdle(WerewolfTransformBack) ; Utility.Wait(10) ActuallyShiftBackIfNecessary() EndFunction Event OnAnimationEvent(ObjectReference akSource, string asEventName) if (asEventName == "TransformToHuman") ActuallyShiftBackIfNecessary() endif EndEvent Function ActuallyShiftBackIfNecessary() if (__shiftingBack) return endif __shiftingBack = true ; Debug.Trace("WEREWOLF: Player returning to normal.") Game.SetInCharGen(true, true, false) UnRegisterForAnimationEvent(Game.GetPlayer(), "TransformToHuman") UnRegisterForUpdate() ; just in case if (Game.GetPlayer().IsDead()) ; Debug.Trace("WEREWOLF: Player is dead; bailing out.") return endif ;Remove Blood Effects ;FeedBloodVFX.Stop(Game.GetPlayer()) ; imod WerewolfChange.Apply() WerewolfIMODSound.Play(Game.GetPlayer()) ; get rid of your summons if you have any int count = 0 while (count < WerewolfDispelList.GetSize()) Spell gone = WerewolfDispelList.GetAt(count) as Spell if (gone != None) ; Debug.Trace("WEREWOLF: Dispelling " + gone) Game.GetPlayer().DispelSpell(gone) endif count += 1 endwhile ; make sure the transition armor is gone Game.GetPlayer().UnequipItem(WolfSkinFXArmor, False, True) ; clear out perks/abilities ; (don't need to do this anymore since it's on from gamestart) ; Game.GetPlayer().RemovePerk(PlayerWerewolfFeed) ; make sure your health is reasonable before turning you back ; Game.GetPlayer().GetActorBase().SetInvulnerable(true) Game.GetPlayer().SetGhost() float currHealth = Game.GetPlayer().GetAV("health") if (currHealth <= 70) ; Debug.Trace("WEREWOLF: Player's health is only " + currHealth + "; restoring.") Game.GetPlayer().RestoreAV("health", 70 - currHealth) endif ; change you back ; Debug.Trace("WEREWOLF: Setting race " + (CompanionsTrackingQuest as CompanionsHousekeepingScript).PlayerOriginalRace + " on " + Game.GetPlayer()) Game.GetPlayer().SetRace((CompanionsTrackingQuest as CompanionsHousekeepingScript).PlayerOriginalRace) ; release the player controls ; Debug.Trace("WEREWOLF: Restoring camera controls") Game.EnablePlayerControls(abMovement = false, abFighting = false, abCamSwitch = true, abLooking = false, abSneaking = false, abMenu = false, abActivate = false, abJournalTabs = false, aiDisablePOVType = 1) Game.ShowFirstPersonGeometry(true) ; no more howling for you Game.GetPlayer().UnequipShout(CurrentHowl) Game.GetPlayer().RemoveShout(CurrentHowl) ; or those claws Game.GetPlayer().RemoveSpell(PlayerWerewolfLvl10AndBelowAbility) Game.GetPlayer().RemoveSpell(PlayerWerewolfLvl15AndBelowAbility) Game.GetPlayer().RemoveSpell(PlayerWerewolfLvl20AndBelowAbility) Game.GetPlayer().RemoveSpell(PlayerWerewolfLvl25AndBelowAbility) Game.GetPlayer().RemoveSpell(PlayerWerewolfLvl30AndBelowAbility) Game.GetPlayer().RemoveSpell(PlayerWerewolfLvl35AndBelowAbility) Game.GetPlayer().RemoveSpell(PlayerWerewolfLvl40AndBelowAbility) Game.GetPlayer().RemoveSpell(PlayerWerewolfLvl45AndBelowAbility) Game.GetPlayer().RemoveSpell(PlayerWerewolfLvl50AndOverAbility) ; gimme back mah stuff ; LycanStash.RemoveAllItems(Game.GetPlayer()) ; people don't hate you no more Game.GetPlayer().SetAttackActorOnSight(false) Game.GetPlayer().RemoveFromFaction(PlayerWerewolfFaction) Game.GetPlayer().RemoveFromFaction(WerewolfFaction) int cfIndex = 0 while (cfIndex < CrimeFactions.GetSize()) ; Debug.Trace("WEREWOLF: Removing enemy flag from " + CrimeFactions.GetAt(cfIndex)) (CrimeFactions.GetAt(cfIndex) as Faction).SetPlayerEnemy(false) cfIndex += 1 endwhile ; and you're now recognized Game.SetPlayerReportCrime(true) ; alert anyone nearby that they should now know the player is a werewolf Game.SendWereWolfTransformation() ; give the set race event a chance to come back, otherwise shut us down Utility.Wait(5) Shutdown() EndFunction Function Shutdown() if (__shuttingDown) return endif __shuttingDown = true Game.GetPlayer().GetActorBase().SetInvulnerable(false) Game.GetPlayer().SetGhost(false) Game.SetBeastForm(False) Game.EnableFastTravel(True) Game.SetInCharGen(false, false, false) Stop() EndFunction -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Its the esp, source psc and compiled psx in one zip www.wczasy-justyna.pl/werewolftransformation.zip -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
its already fixed look into the previous post 1. When reloading the game as a werewolf, the player spontaneously changes back to human form and then back again for no apparent reason. Ad1. Well my new script looks if its the appropriate day time and if we are beastformrace then it trigger the transformation and changes back only when its day time. So yeah if you load your game in day time while being transformed it will change you back into normal human but not back again. 2. Doing the companion quest that makes you a werewolf breaks the script for some reason I can't discern, though that might only be because it breaks the "RegisterSingleUpdate()" loop I used in place of a simple OnUpdate() loop. Ad2. Use console commands to see which quest are registered for update before and after doing the companion quest. -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Which script ? * BTW I fixed the werewolf transformation loop and it fixed the no attack too. * Transforming into and back to human form works well, plus you get naked when your back to human form is that the default way ? First time playing a werewolf. * Made a new esp called werewolfTransformation using the werewolfTransformationEvent as quest name and using the werewolfTransformation.psc script and loading only the skyrim.esm as master !! Next to do is adding the moonphase trigger plus weather status. www.wczasy-justyna.pl/werewolftransformation.zip <<< new files so delete the old ones. Fixed the grammar error in the script name :> -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
game.getplayer().HasMagicEffect(WerewolfChangeEffect) dosnt work thats why the transformation still occurs after 20 sec. -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Well my script is only a debugger work in progress atm but those two problems are easy to fix and are dependant one another -> you can not attack while in the transformation animation and that one is triggered every 20 sec right now. As for the moonphases I confirmed it starts on the 16th of last seed 4E, 201 which variables are easily accesed from the GlobalVariable menu. Full moon starts on 16th and ends on 18th so 3 days but only 2 night ( like in the weather table ) A Full moon cycle is 24 days but I noticed a problem here. The moon is a layer and the clouds/fog is another layer so a full moon can be triggered but we wont see if the sky is all cloudy or there is a thick fog. So will the werewolf transformation trigger regardless of the weather or do we need to be able to see the moon before we trigger the transformation ? -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
The time variable is there for the werewolf transformation to last longer than usual but it needs to be changed becuase as it is now a new transformation is triggering every 20 seconds. The moonphase part isnt set yet but from the CK the phase is every 24 days and last 3 days total. You only need to note on which day from the intro a full moon appears and make the math, WorldData->Climate->Skyrim has the info but not the date so I guess the first night we observe after getting out of helgen is a full moon. Scripts @ http://wczasy-justyna.pl/WerewolfTransform.zip -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Processing ended, video is up :D -
[WIP] Call of Hircine: Bloodmoon Rising
DieBySword replied to TheElderInfinity's topic in Skyrim's Skyrim LE
Youtube link to the in game custom werewolf transformation :D