Jump to content

K4thos

Modders
  • Posts

    1,420
  • Joined

  • Last visited

Everything posted by K4thos

  1. Remove effects by resource opcode with the name of the spell in resource field, when placed before other effects, is meant to clean out all effects previously applied by that spell (in order to make them not stack or to reset duration).
  2. @subtledoctor, please re-read the post. Both HoW and TotLM takes place in present day, alongside IWD2. That implementation won't change. On an unrelated note, this may sound weird but I'm not fan of modular mods at all. For example I'm overhelmed by SCS components - majority of times I have no idea which SCS options should I select. I'd prefer SCS options like this tbh
  3. fine by me, I will send you xcf file. this is no longer an issue. Beamdog removed BG city walls from Wyrm's Crossing area. BG1: EE: edit: also according to official maps, Wyrm's Crossing is quite far from the city walls (notice that the distance is of similar size as the city itself) https://prints.mikeschley.com/p996068422/h95973009#h95973009
  4. sure, no problem with releasing more map art variants or using base image, if that option is more popular. I've chosen clothify filter for this showcase since on grainy image differences between different icon art styles seems less prominent. Also if some artist would like to adjust the colors or work further with the base image, PM me. according to the in-game signpost Fire Leaf Forest is in the Cloud Peaks mountain range: also the area is quite rocky and has high probability of snow. On BG:EE worldmap it's located below Nashkeel, which is a town located in northern slopes of the Cloud Peaks . Wilderness Lake placement is a result of existing links between areas and its position on BG:EE map. Of course I'm ok with further tweaking BG1 areas placement - current one was quite a rush job on my part.
  5. updated image with icons placement by @Istfemer. As always feedback is welcome. Click for fullsize:
  6. the script runs constantly if all triggers return true. In this case you can use !IsActive("O#QuentinRE1") trigger.
  7. doing otherwise would be against majority of posts in this topic. I promised to take the feedback into account, so yeah, everything will carry over (one way or another).
  8. congratulations on your first mod release! I'm looking forward to trying it in future. Check out github - I've made a little pull request regarding item description.
  9. not sure what's up with this spell since it doesn't exist in either vanilla BG:EE and BG2:EE in patch 2.5. It's also not added by DSotSC. I've removed this reference from the DSotSC, so it should install without errors now.
  10. I only finished classic PST and played PST:EE just a little to test some stuff, so I wasn't aware that many things are hardcoded compared to BG2:EE engine. Thanks for information. What I said in my previous post still stands - the mod like this is feasible in EE 2.x engine from technical point of view (without EEex). I'm just not motivated to work on it, if the only purpose of said work is to make the PST more moddable. As mentioned, if a talented writer with a vision for the mod implementation in BG saga context will be interested in collaboration I can handle the technical stuff.
  11. In case someone is interested, here is a side by side comparision between above mentioned normal and Heart of Fury mode artifacts. https://www.dropbox.com/s/75juiear70ckfqs/normal_hof_list.html
  12. To answer this question I've analysed PST:EE resources. Let's see what's different. - missing actions: 19 JoinPartyEx(I:JoinGroup*Boolean) 29 RunAwayFromEx(O:Creature*,I:Time*AITime,I:NoAttacks*Boolean) 181 ReallyForceSpellLevel(O:Target*,I:Spell*Spell,I:CastLevel*) 181 ReallyForceSpellLevelAnywhere(O:Target*,I:Spell*Spell,I:CastLevel*,I:State*Boolean) 391 ChangeFaction(O:Object*,I:Value*Faction) 391 SetFaction(O:Object*,I:Value*Faction) 392 ChangeTeam(O:Object*,I:Value*Team) 392 SetTeam(O:Object*,I:Value*Team) 393 SetPortalCursor(O:Object*,I:Value*PORTAL,I:SetReset*BOOLEAN) 395 RunToPoint(P:Point*) 396 RunToObject(O:Target*) 397 RunToObjectFollow(O:Object*) 398 RunToPointNoRecticle(P:Point*) 399 RandomRun() 400 RunningAttack(O:Target*) 401 RunningAttackNoSound(O:Target*) 402 RandomRunContinuous() 403 RunToSavedLocation(S:GLOBAL*,S:Area*) 407 TeleportParty(S:Area*,P:Point*,I:Face*) 413 ForceAttack(O:Object*,O:Target*) 414 GenerateModronMaze() 415 RandomFace() 416 GeneratePartyMember(P:Location,I:Value*Specific) 417 SetNamelessDisguise(I:DisguiseNum*Disguise) 418 StickySinisterPoof(S:BamResRef*,O:Object*,I:Iterations*) 419 SetNamelessClass(I:Value*Class) 420 DisableFogDither() 421 EnableFogDither() 422 DisableSpriteDither() 423 EnableSpriteDither() 424 Damage(O:Target*,I:Delta*Delta,I:Modifier*Bones) 425 FloatMessage(O:Object*,I:StrRef*) 426 FloatMessageFixed(P:Location*,I:StrRef*) 427 FloatMessageRnd(O:Object*,S:Pool*) 428 FloatMessageFixedRnd(P:Location*,S:Pool*) 429 KillFloatMessage(O:Object*) 430 PermanentStatChange(O:Object*,I:StadID*Stats,I:Delta*Delta,I:Modifier*Bones) 431 DestroyPartyItem(S:Object*,I:All*Boolean) 432 TransformPartyItem(S:OldObject*,S:NewObject*,I:Charge1*,I:Charge2*,I:Charge3*) 433 ForceAIScript(S:ScriptFile*,O:Target*,I:Level*Scrlev) 434 QuitGame(I:Value*MovVal,I:Value*MovVal,I:Value*MovVal) 435 ExploreMapChunk(P:Center*,I:Radius*,I:Mode*) 436 PlaySequenceTimed(I:Anim*Seq,I:Seconds*) 437 FloatRebus(O:Target*) 438 ChangeDialog(O:Object*,S:ResRef*) 439 SetDoorLocked(O:Object*,I:Locked*Boolean) 440 ChangeColor(I:Range*ClownRge,I:Color*ClownClr) 441 IncrementProficiency(O:Target*,I:SlotNum*WProf,I:Modifier*) 442 IncrementExtraProficiency(O:Target*,I:Modifier*) 443 ForceFacing(O:Object*,I:Dir*) 444 SinisterPoof(S:BamResRef*,P:Location*,I:Itterations*) 445 CreateCreatureAtFeet(S:ResRef*) 447 TimedMoveToPoint(P:Point*,I:Time*) 448 SavePlace() 449 ReturnToSavedPlace() 450 FullHeal(O:Object*) 451 FullHealEx(O:Object*) 452 SetNoOneOnTrigger(O:Trigger*) 453 SetAnimState(O:Object*,I:Anim*Seq) 454 PlaySequence(I:Anim*Seq) 455 DestroyItemObject(S:Object*,O:Target*,I:All*Boolean) 456 FixEngineRoom() 458 DestroyPartyGold(I:Amount*) 459 StartCutScenePST(S:CutScene*,I:Value*) 460 RunToSavedPlace() 461 SetCorpseEnabled(S:Name*,I:State*) 462 GiveExperience(O:Object*,I:Amount*) 466 ForceSpellRESNoFeedback(S:RES*,O:Target) 467 SetRenderable(O:Target*,I:Renderable*Boolean) 468 ShowFirstTimeHelp() - missing triggers: 0x0101 WasInDialog() 0x0106 NamelessBitTheDust() 0x0108 FailedToOpen(O:Object*) 0x010D NullDialog(O:Object*) 0x0112 Vacant() 0x0113 HarmlessOpened(O:Object*) 0x0114 HarmlessClosed(O:Object*) 0x0115 HarmlessEntered(O:Object*) 0x40EE Faction(O:Object*,I:Faction*Faction) 0x40EF Team(O:Object*,I:Team*Team) 0x40F0 IsLocked(O:Object*) 0x40FC PartyScriptsActive() 0x4105 TimerActive(I:ID*) 0x4107 NearbyDialog(S:DialogFile*) 0x4109 StuffGlobalRandom(S:Name*,S:Scope*,I:Range*) 0x410D ExtraProficiency(O:Object*,I:Value*) 0x410E ExtraProficiencyGT(O:Object*,I:Value*) 0x410F ExtraProficiencyLT(O:Object*,I:Value*) 0x4110 LastPersonTalkedTo(O:Object*) 0x4111 NearSavedLocationPST(I:Range*) - missing opcodes: Play BAM file (single/dual) (369) Play BAM file (370) Play BAM file 2 (371) Play BAM file 3 (372) Play BAM file 4 (373) Special spell hit (374) Play BAM with effects (375) Detect evil (376) Prayer (378) Curse (379) Embalm (380) Induce hiccups (381) Fist of iron (382) Hit point transfer (383) - CRE format differences: Unspent proficiencies # item slots Murder increment by Thief XP Mage XP Good increment by Law increment by Lady increment by Murder increment by Faction Team Species Dialogue activation radius Collision radius Shield flags Field of vision Attributes - STO file format differences: Sale trigger in Item for sale structure (point to strref number with script trigger that must return true to make item show up in shop) - Hardcoded Levelling differences and unique inventory screens (just play the game and see how they differ). The PST:EE engine also have the neat effect during dialogues where characters are not paused, as well as better TAB highlighting system. On top of handling these differences such mod would have to rescale all TIS files to match BG games area art size (75%) and adjust WED and ARE files accordingly (with the exception of impeded blocks in ARE door structures the rest of this stuff can be automated thanks to Argent77's code developed for his Test Your Mettle mod). Also some creature BAM files would have to be scaled down also to 75% of their current size (can be done with BAM Resizer tool). ---------------------- Unless I missed something important, such mod is indeed feasibile in EE 2.x engine from technical point of view. The missing opcodes are easy to work around, most script actions and triggers could be replaced without much issue with existing ones, CRE file format differences are either meaningless for such mod or could be implemented differently (cast spell on condition => character dies), STO difference can be handled by updating the store via script, there are already tools and code to help with art conversion and other stuff is not really important in BG context. Existing EET weidu code could be used to port over the PST:EE into BG games the same way I'm porting BG:EE and IWD:EE currently, with some changes to adopt to the engine differences mentioned above. BUT That doesn't mean I'm currently interested in such project. I'm not going to spend time working on it unless someone with creative writing background and clear vision for such mod show up, ready to design its implementation, write story for it, adopt the existing dialogues to fit in BG context etc. I can't do any of these things to satisfactory level, since I'm not a writer and English is not even my first language. To me PST:EE looks like it's based on EE 2.x version, not the old PST one. All EE features are there, they seem to just branched the engine to add some additional PST stuff on top of it. Not sure why you would rather play PST in the BG2EE engine when both engines feel almost exactly the same.
  13. strange, indeed. In my game the spell references NMINSCM and NMINSCS, so as expected. Try the changelog on the spell: WeiDU.exe --change-log K#PORMIN.SPL If nothing will show up then it has to be some rare weidu problem. edit: it's a problem caused by the latest EET Tweaks (Consistent NPCs => Viconia appearance). Fixed, thanks. https://github.com/K4thos/EET_Tweaks/releases
  14. As mentioned in the last progress report both automatic IWD2 item conversion code as well as EE style item generation code has been finished. Here is a HTML file that I've generated to make descriptions checking a bit easier. https://www.dropbox.com/s/rbjbwlp8hvnnndj/iwd2_log_full.html If someone would like to review the outcome and will be able to find some problems (for example bad grammar, wrong % chance for some effects, effect mentioned in IWD2 item not present in generated description etc.) please share them here or via comment on dropbox page. Since almost all of it has been generated automatically finding an issue in one place will also fix other items and/or descriptions, once bug fix is implemented. Some info regarding IWD2 items conversion and the above file: - for now no balancing has been implemented whatsoever, - in short the item conversion code works as follows: - IWD2 has very powerful loot designed for Heart of Fury difficulty only (also present in EE games under the name of Legacy of Bhaal). You can check which items are unique to this special mode by checking the column titled "FURY". There is a good chance that this feature will be implemented to EE engine via EEex too. - Items marked as not spawnable in both NORMAL and FURY difficulty in the table means that they are not present during game at all (same should be true for vanilla IWD2 - please let me know if you encountered any of these items in IWD2, without spawning them with cheats) - As you can see in "Item" column, even though none of the IWD2 item file names conflict with BG resources they had to be renamed due to engine differences - in EE engine when item name starts with numbers it's automatically swapped with gold, so I've decided to simply move 2 numbers that are present in all IWD2 items from the beginning to the end of file (example: 00AMUL11.ITM => AMUL1100.ITM) - The table columns can be sorted, so for easier description reviewing it's better to sort them by "Type" and just check those labelled as DESC_IDENTIFIED - changes in lore descriptions have been done by @bob_veng. In future, based on his work, some of the items will also have names altered to fit more closely to BG naming conventions ------------- edit: link updated, previous html file missed 150+ items (forgot to include 1 directory). edit2: Implemented resistance cap convention based on Mourner's Armor (exists in both IWD1 and IWD2) edit3: Third version - changelog
  15. nope sorry. IWD2 portion of the mod is heavily dependent upon EEex. And IWD1 content relies on lots of EE unique opcodes, triggers and actions. The mod won't be ported to old engine. There is NEJ, though, if you're looking for something similar.
  16. huh, I'm not sure if it's language barrier but please quote the part of my posts that says IWD1 base won't have a story hook in the game. You can select it from campaign menu, yes, but there most definitely will be a way to get there during bhaalspawn saga after installing this mod (even though it won't be as smooth as IWD2, HoW and TotLM, since it has to take place in the past/alternate timeline). As mentioned in my post, it's possible even now (via option 3 - Yxunomei's quest). Since the current implementation is not ideal (a bit far fetched and makes sense only if Belhifet is still alive), in this topic we're discussing other ways for story hooking IWD1 base content that would follow the ramifications I've presented (available at any time - BG1 or BG2, no story conflicts with SoD and IWD2, as few changes to the script as possible). Based on this feedback the default way how to get there during Bhaalspawn story will be decided (lot's of great ideas has been posted already - thanks for all the posts, guys). There are like 100 pages of vanilla BG NPC interjections (BG1 as well as BG2 ones) written already for IWD1 content by @AWizardDidIt. Such huge part of this mod won't be left for other mods to implement (external mods will be able to alter the implementation of course).
  17. thanks, fixed in version 1.11. Changelog: Fixed problem with installing 'Wand Case' component on Tutu From now on the mod changelog will be available only on Github
  18. you're using tutu. If you can provide correct filename of the highedge store (originally highhedg.sto) on that platform I will be able to fix it.
  19. regarding worldmap concerns - current timeline worldmap will point to IWD2 versions of areas that exists in both games (Kuldahar, Kuldahar Pass, Dragon's Eye and Severed Hand) Revealing area in the past worldmap doesn't mean that the same area will show up in the current time worldmap. While other IWD1 base areas won't be available in the current timeline, IWD-in-EET is meant to be open platform (just like EET), so if anyone will come up with a mod idea that repurposes locations like Dorn's Deep and The Vale of Shadows, and fills them with current timeline content, such mods are more than welcomed. the engine supports dynamic worldmap switching as well as hiding and reviling areas. It's one thing to come up with a wish that can be twisted (I assume that's the option you prefer). But it would be hell a lot more difficult to come up with story justification for teleporting in and out of the past/parallel timeline at will. Ideas how to explain this without it all sounding silly (even by Forgotten Realms standards) is of course welcome. I'm surprised that level scaling portion of the post has not been discussed here. Based on the posts from this topic I was expecting strong reactions
  20. thanks for all the posts. Your feedback will help shape the final implementation of IWD1 base content, so keep in coming. this could work, indeed. One-time Limited Wish options available during dialogue with a genie. Few ideas: 1. Some quest in Nashkel Fair with a wish granted as a reward (someone would need to design and write this quest though) 2. Dao genie battle encounter. The last surviving Dao wants to bargain with the party, offering a Wish in exchange for her life. 3. Item with limited charges that can grant you wish. Something like: https://forgottenrealms.fandom.com/wiki/Ring_of_three_wishes I think any of these options would be better then providing high level scroll in early game.
  21. thanks, Russian translation is up on Github: https://github.com/K4thos/EET/releases
  22. that's something I've been thinking as well as part of the above mentioned "Belhifet's book" story idea. The post was already long enough, so I didn't mention it, but it's actually possible to force the engine to clone whole party and continue playing with those cloned guys. So theoretically it's possible to implement it in a way that all XP you gather, any adjustments to characters, all items found, would be local to one party and not another. Based on my limited tests some time ago, it's also theoretically possible to switch between those parties (jump into past and present) at your own will (for example by "opening" and "closing" the Belhifet's book in inventory) or make it, so that when your party dies in the past you simply continue playing your present time party (with the assumptions that the party death is how Belhifet's book has ended), without game over. Or how about "Day of the Tentacle" style item transfers between past and present? (possible via bags of holdings or containers and MoveContainerContents script action) While I think this idea sounds nice on paper the reception from the players would not neccessary be good, since many people finds stuff like XP, items etc. something that can be considered reward for your effort, so making them local to the party that stays in the past, could be frustraiting for them. With this in mind the "twisted Wish outcome" idea (in which you use your current timeline party to visit past) seems like a less controversial approach. Not sure which one is better. I've been thinking about just using existing Limited Wish and/or Wish scrolls for this purpose and just add another one-time option to the list of existing wishes. The only problem is that those are 7th and 9th level spells, so a bit too high level to make them available in early game (in case someone would like to start the adventure with BG1 party) The wish you've mentioned indeed sounds like something that could be twisted by a jackass genie If anyone has more ideas regarding such wishes feel free to post them here. ------------ as mentioned the IWD1 base content implementation is open for discussion (currently only "Yxunomei's vendetta against Belhifet" option is in), so feel free to propose how you would prefer it to be implemented (just keep in mind ramifications mentioned in the previous post). IWD2, HoW and TotLM content implementation is however set it stone – those stories are available in the current timeline.
×
×
  • Create New...