Jump to content

K4thos

Modders
  • Content Count

    1,330
  • Joined

  • Last visited

Everything posted by K4thos

  1. 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.
  2. 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
  3. 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)
  4. 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.
  5. 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).
  6. 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
  7. 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.
  8. 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
  9. 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.
  10. thanks, Russian translation is up on Github: https://github.com/K4thos/EET/releases
  11. 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.
  12. K4thos

    Progress

    I don't understand this question. How base IWD1 campaign is implemented currently has been described in this topic.
  13. https://www.dropbox.com/s/o5ae4tyrlty1ymx/WORLDMAP.MOS?dl=1
  14. WARNING: THIS POST CONTAINS SIEGE OF DRAGONSPEAR AND IWD1 SPOILERS (obviously also spoilers regarding the mod itself) Regarding content availability: - separate campaigns You can start any of the campaigns using EET campaign system, selecting them from main menu: Playing IWD1, HoW or IWD2 like this means that you're making a new party and play the game normally, without ties to the Bhaalspawn saga. - IWD2, HoW, TotLM as part of Bhaalsaga IWD2 content can be started at any point during the game (BG1, BG2, even ToB). There is a captain in Ulgoth's Beard that can sale you there as part of the mercenary expedition to help rescue Ten Towns from goblinoids hordes in exchange for promised wealth and fame (see IWD2 intro). So it's just another quest in a game. Once there, you can either progress through the IWD2 story or travel to IWD1 expansions areas (Heart of Winter and Tales of the Luremaster content). - IWD1 base as part of Bhaalsaga There is a direct conflict between IWD1 story and SoD villain, as well as some characters and even different iterations of the same locations showing up in both IWD1 and IWD2 story. Due to these reasons it has been decided that IWD1 can't co-exist alongside SoD and IWD2 content in the current timeline. Doing so would require major story overhaul, which is not planned. Currently the exact implementation is not yet 100% finalised, there are a few ramifications, regardless of the outcome, though: - there are NPC interjections ready for all vanilla NPCs in BG saga, which means the content should be available at any point during the game (BG1, BG2, even ToB), - the story should take place in the past in order to avoid conflict with SoD (where we fight Belhifet, the final boss of IWD1, who is banished to Baator at the end) and IWD2 story (which takes place some years after IWD1 events, featuring some returning characters and locations), - the IWD1 story should be tied to the Bhaalspawn saga in a way that requires as little changes to the IWD2 script as possible (ideally without need to re-write characters like voice acted Oswald Fiddlebender, who doesn't recognize the party in IWD2). In order to achieve this, alternate timeline concept is preferable to reactive timeline. If the party goes back in time, changes the past and returns to the "present", they may find things not as they remember. The characters know a different history to the people inhabiting the timeline they're in. There have been few ideas how to implement it while still fulfilling these goals: 1. IWD1 story as part of the twisted Wish outcome - old D&D trope (well, ok, not only D&D: [1], [2]) Here is description of the Wish spell from D&D 5th Edition Compendium: You get the idea, it’s a matter of coming up with a wish that can be twisted in a way to allow the party experience IWD1 story at any point of the game. Considering final IWD1 boss is also one of the main villains of the Bhaalspawn it should be doable, without feeling totally off (although the exact wish has not been thought up yet - feel free to suggest one). 2. Belhifet's book used as a framing device You know the one, present in all IWD1 cinematic, where Belhifet himself, as a narrator (see IWD1 ending), tells the IWD1 story. It's another popular trope in which after opening a book we fade to see the story itself being played out, just as if it came from the book itself. Implementing it like this would be a matter of leaving this mysterious book somewhere in a BG world. 3. Yxunomei's vendetta against Belhifet Currently travel to base IWD1 has been implemented as an optional quest from Yxunomei (disguised as a mysterious hooded woman) that tricks the party into this adventure via misleading pact ("I cannot lead you to him, or speak plainly his identity. It is not yet time for you to know. But I can show you their nature, reveal their past, and in doing so provide you a means to strike first. Context is the gift I offer you and with it knowledge that is greater than any sword. Will you accept this gift?"). After coming back her dialogue hints that it was part of an ages-old vendetta between her and Belhifet, although how exactly your actions in the past lead towards achieving her goals and the exact nature of it is left vague. This quest, for obvious reasons, can be initiated only before Belhifet is killed in SoD, so either option 1 or 2 should be also enabled once this way of travel there is no longer available. -------------------------- Initially the concept of this mod was to have IWD1 story in the current timeline and some of the IWD2 content alongside it. As you can see, after SoD release, this has been changed - now IWD2 story is the core of the mod, alongside HoW and TotLM (IWD1 expansions), which can be also visited in the current timeline. Feel free to leave your feedback. -------------------------- Regarding difficulity, scalling, XP etc.: When it comes to game balance of course we can't provide the same amount of challenge for level 1 party and level 20 party, but there will be an optional level scaling feature toggable in options. Here is a quote from my older message where I explained how it works: edit: added links explaining framing device trope mentioned by Istfemer. edit2: added more context for Yxunomei's quest.
  15. K4thos

    Progress

    all of it
  16. K4thos

    Progress

    Progress: Item conversion code and item description generation code is finished (well, you know, first iteration, further adjustments and bug fixes are likely). Here are some examples: IWD2: EE style automatically generated description (based on automatically converted item) ---------------- Now an example that showcases how base parameters are automatically handled to follow AD&D/BG stats of the items. IWD2: EE (notice additional Hide Armor theif skill penalties and AD&D AC armor bonuses on top of base AC. ---------------- In order to find flaws in the item conversion and descripion generation code I will probably prepare comparision in HTML format between all IWD2 items descriptions on the left side and EE style on the right for easier reviewing and upload it here. I'm going to also explain rules used for item conversion in a separate topic to gather some feedback on it. ---------------- edit: btw. this was the last task when it comes to vanilla IWD2 resources conversion. All that is left are tasks related to Lua code and EEex features. And of course lots of internal testing before I feel the mod is ready for public testing. @Grimo is also writing vanilla NPC interjections for IWD2 content, so that's another work in progress. While waiting for further EEex development (there are some features still missing in it, that are needed for this mod - Bubb is aware about them) I will most likely convert IWD2 GUI to work on EE in the meantime. IWD2 GUI will be handy for showcasing 3rd style feats, multi-class support, subraces, new skills, class based spell selection etc. (implementing these features in existing EE GUIs would require some new art, so it's something that will need external help in future since I'm not an artist) ---------------- edit2: automatic item description generation code has been designed to support English and Polish languages (thanks to @Cahir's efforts to make Polish BG:EE and BG2:EE item descriptions follow closely English formatting). Other languages likely won't be generated automtically (or will be only partially) since there are too many differences in them compared to English descriptions formatting (in most cases lack of separation between Combat, Equipped, Charge abilities and other style differences).
  17. no idea, Istfemer. Maybe travel times will be of help?
  18. @Azoth, thanks for the report. This was a regression introduced in RC12, not related to other mods. It's fixed in RC12.1. ---------- Version 1.0 Release Candidate 12.1 fixed regression introduced in RC12 - rest interruption text in ARE file format Czech translation by Vicq updated French translation by Chevalier Noir updated links in the readme file EET_end.tp2 and EET_gui.tp2 now exists in dedicated folders before installation (requested by AL|EN for Project Infinity) ---------- No point in re-installing, unless you can't stand missing rest interruption strings in BG1 areas.
  19. thanks, somehow missed this button.
  20. @Chevalier Noir, thanks for the updated translation.
  21. I'd like to request converting this link: (edit: topic has been bumpped by ALIEN) http://gibberlings3.net/forums/index.php?showtopic=28516 into new format and posting it here. The link pointed to tutorial how to setup case insensitive partition on linux but I can't find this topic with search engine. as for the forum changes, I'd like to request restoring the "share post" feature.
  22. Thanks. Old engine doesn't support PVRZ files, in which the map art and icons are storred, so EE engine is needed to view it in game, although maybe Near Inifnity won't have a problem with displaying it even if its installed on the old engine. Please check the PM I've just sent you.
  23. @Istfemer, that's a lot of good suggestions. Would you like to implement these changes yourself? I can send you weidu code that installs the map and adds dummy locations on it using X, Y coordinates from the text file. After editing the file you could review the changes in Near Infinity and adjust icons placement until you think they are all in good places. As for the map colours, keep in mind that in the map I've posted I used "Clothify" gimp filter. The default colour without filters looks like this. I'm sure someone who actually knows something about graphic programs could edit the colours to something that looks more like BG2 map (less vivid) or BG:EE (brown). I actually have roads available as separate layer in PSD file, but decided to remove them since they are not properly connected after disabling"locations" layer (city icons that you can see in the original map on devaintart). So to keep the roads someone would have to edit them a little.
  24. you can re-install just fine Although consider making backup of the whole installation just in case weidu decides to screw up. don't do it, if you want the CRE XP component to calculate correct values (it has to restore original resources first during un/re-installation). Overall I wouldn't recommend ever manually tricking weidu to do something, at least no without backups.
  25. I'm a bit busy right now and answering all these questions (content availability, balancing, scaling, NPCs) requires quite a lot work. So expect a wall of text in coming days, once I find some time to write it all down. Just letting you guys know that the topic is not ignored.
×
×
  • Create New...