Jump to content


  • Content Count

  • Joined

  • Last visited

About Qwinn

Profile Information

  • Gender
  1. I'm having trouble following you guys a bit (I can't read decompiled code yet, for example, even though I took assembler once :/ ) but.... "I haven't gotten bit 0 or bit 1 of 0x2E0 to affect this though" Bit 1 of ox2e0 is "transparency" from the list I gave. Qwinn
  2. Yes. In theory those two bits (0x2e0 bit 7 and 0x2e1 bit 0) should set KILL_FACTION and KILL_TEAM, but both are useless. In most cases, barring errors, the Character_Type for your average Dustman is "Dustman", and your average Sensate character type is "Sensate", so "Kill_Dustman" is already going to be incremented by bit 4 and the set would be redundant. And "Team" is completely fluid, changed continually by scripting as is necessary, so setting KILL variables for it is -really- useless. Lots of the character types are set to silly values - for example, most Curst citizens have character type "Godsman". I already coded up fixing most of these to something less silly, but as the variables are very rarely used, it's rather valueless, beyond increasing the accuracy of variables that can really only be seen with a save game editor. Scient and I did discuss combining my fixing those character_types with him adding a display in the Journal screen that would display the value of those variables in game. A "Kill" screen, basically, tracking how much of each type of critter you killed during the game. Other games have this, so why not? It would just be a tweak, obviously. Low priority over fixing the remaining bugs, of course. Qwinn
  3. Here's the final on what I discussed in the first post. PS:T CRE 0x2e0: Bit 0 : unused in PST Bit 1 : toggle transparency (used by Blackrose, Candrian, Deionarra) Bit 2 : unused in PST Bit 3 : unused in PST Bit 4 : on death if TRUE, increment KAPUTZ variable "Script Name"_DEAD. Script Name set at CRE 0x324. * Bit 5 : on death if TRUE, increment KAPUTZ variable KILL_"Character Type". Character type set at CRE 0x2bc. * Bit 6 : on death if FALSE and bit 5 is TRUE, leaves out the KILL_ part of variable name and just writes to "Character Type". Never actually does anything in PS:T CRE Files: if Bit 5 true, bit 6 always is also. Some CREs have bit 6 on and bit 5 off. This does nothing. Bit 7 : on death if TRUE, modify something to do with NPC KAPUTZ FACTION (doesn't actually work, wouldn't be useful if it did) *Note that in vanilla PS:T these two bit settings (bits 4 and 5) do NOT work for creatures created by INI files, only for actors from ARE files or creatures created by scripts, which means INI creatures never set death variables upon being killed. There's no apparent reason for this beyond simple programmer error. This actually causes a number of dialogue triggers in PS:T to not work (such as checks to see if you'd ever killed githzerai before) Scient has fixed this for PS:T Fixpack version 4.0 going forward. 0x2e1 Bit 0 : on death if TRUE, modify something to do with NPC KAPUTZ TEAM (doesn't actually work, wouldn't be useful if it did) Bit 1 : toggle invulnerability (Aelwyn, Nemelle, Coaxmetal, Pillar of Skulls) Bit 2 : on death if TRUE, modify GLOBAL "GOOD" based on signed byte at offset 0x2B8 in CRE Bit 3 : on death if TRUE, modify GLOBAL "LAW" based on signed byte at offset 0x2B9 in CRE Bit 4 : on death if TRUE, modify GLOBAL "LADY" based on signed byte at offset 0x2BA in CRE Bit 5 : on death if TRUE, modify GLOBAL "MURDER" based on signed byte at offset 0x2BB in CRE Bit 6 : in dialogue if TRUE, do not turn CRE to face protagonist. (Examples: Giant Skeleton Guards, Sleeping Bariaur, Trias, Festhall Lecturers, etc.) Bit 7 : if TRUE, this creature calls for help, and ALL nearby creatures go hostile. Can be set by "auto-buddy" in INI files, though it never is. 0x2e2: All bits Unknown. 0x2e3: Bit 6: Not set in CRE's, toggled on in save games if NPC is dead/killed -> prevents deaths globals being set twice for a NPC. Other bits Unknown. 0x2b8 thru 0x2bb If the bit to increment GOOD (0x2e1, bit 2) is set to true, increment global GOOD by the value of the signed byte at offset 0x2B8 when this CRE is killed If the bit to increment LAW (0x2e1, bit 3) is set to true, increment global LAW by the value of the signed byte at offset 0x2B9 when this CRE is killed If the bit to increment LADY (0x2e1, bit 4) is set to true, increment global LADY by the value of the signed byte at offset 0x2BA when this CRE is killed If the bit to increment MURDER (0x2e1, bit 5) is set to true, increment global MURDER by the value of the signed byte at offset 0x2BB when this CRE is killed Additional note: the scripted DestroySelf() action does not trigger incrementing any of these globals. The scripted Kill() action does. Qwinn
  4. I know the readme says that it is okay to do this as long as credit is given (which I'm perfectly okay with), but I thought I'd be polite and ask anyway. I don't know if Cirerrek is still around, so if I get no response I'll assume (based on the permission given in the readme) that it's okay. Basically, the reason its necessary is that my mods (over at Spellhold Studios) make use of the AI scripts for things like banters, and if this mod is installed on top of it it overwrites all that stuff. I'd like to eventually rework them so that they don't cause compatibility problems with my mods, and add them as a component of Qwinn's PS:T Tweak Pack, with credit given to everyone involved (including both authors and G3). I won't be able to do this for a while, and the next release of my Tweak Pack won't be out for another few months anyway, so plenty of time for anyone to object if they wish to. Qwinn
  5. Actually, we're doing some additional investigation on what these and some other nearby fields do, so you might want to hold off on updating till we've got it all sorted. Qwinn
  6. Some of the bits listed as "Unknown" at offset 0x2e1 in IESDP's description of CRE 1.2 (PS:T only) correspond to whether this creature dying will affect certain globals such as your alignment, your Murder count, and your Lady count (meaning the counter that tracks whether you're pissing off the Lady of Pain enough to maze you). Here's what we have for the 8 bits at offset 0x2e1: Now, additionally, the IESDP CRE description says this: 0x02b8 32 (char array) Monstrous Compendium Entry The 32 character array in question actually starts at 2bc, ending at 2db. This is correctly displayed in Near Infinity. The bytes 2b8-2bb are marked in Near Infinity as "Unknown". Thanks to scient, we now know what they are for If the bit to increment GOOD is set to true, increment global GOOD by the value of the signed byte at offset 0x2B8 If the bit to increment LAW is set to true, increment global LAW by the value of the signed byte at offset 0x2B9 If the bit to increment LADY is set to true, increment global LADY by the value of the signed byte at offset 0x2BA If the bit to increment MURDER is set to true, increment global MURDER by the value of the signed byte at offset 0x2BB So, if you want a creature's death to give an alignment/murder/lady hit, you first set the corresponding flags at 0x2e1, and then you tell it by how much to increment each of these at the 0x2b8-0x2bb offsets. Qwinn
  7. Thanks! That helps lots. Yes, vanilla PS:T can handle 2-8 charisma bonus (I even have a "maximized Friends" tweak). As for how to fix the cumulative thing, it helps to have a really talented engine hacker handy Qwinn
  8. Hey folks. Thought I'd pick the brains of the hive mind over here, see what you guys think. In PS:T, the Friends spell is cumulative with itself. Cast it multiple times, and you will gain 2-8 points of charisma each time, and easily get up to 25 charisma regardless of what your base charisma is. So here's my questions: 1) Does it behave like this in BG1? 2) Does it behave like this in BG2? (scanning old threads, it seems that in BG2 it always gives you 6 points, and you guys tried to make some fix to it but had to retract it back in v3-v4? Couldn't figure out what that fix was supposed to be.) 3) Assuming it is cumulative in BG1/BG2, would you consider this a bug? Never mind "it's an engine bug, we can't fix it" issues. Assume you -can- fix it. Would you? Considering it doesn't work that way in PnP, or in any other stat-buffing spell I can think of, I'm inclined to consider it a bug. Doesn't help that it pretty much "breaks" charisma in that it eliminates the need to put any points into it. I'd like to see it work like the strength spells, where if you have a base 15 charisma, and you cast it and get 4 points, and then cast it again and get 6 points on the roll, you wind up at 21 charisma. Cast it again for a 3 point boost, and nothing happens. So, basically, it "stacks" only in that if you get a higher roll on the random bonus, it overwrites the previous casting. The most bonus you should be able to get at any given moment is 8 points. I'd be interested in hearing what you guys think about this. Qwinn
  9. Qwinn

    Randomisation in scripting

    One thing I discovered in my PS:T modding is that the total weights allocated to the RESPONSEs -does- matter. If your total weight is under 400 or so, then it seems to work okay. But if you have more than four or five RESPONSE #100's, those after the first four or five will never come up. This actually kept a whole lot of lines from showing up as stringheads in the game (some characters were supposed to have as many as 15 different strings appear their heads). I fix this for PS:T... I wonder if anyone has tested or fixed this in the other IE games, assuming it happens? Qwinn
  10. Quite a few of the spells appear to be handled completely within the engine. Take a look at the Strength spell, for instance. Fire and Ice appears to be in that category as well. Elysium's Tears appears to be handled outside of the engine, as there is a reference to the specific .BAM in the .SPL file. You could probably edit that .BAM, but I doubt you could make it scale by level. Qwinn
  11. Qwinn

    dialog.tlk revisited

    First, have the latest version of weidu.exe in the main game directory. Open up a DOS box. Change the directory to your main game directory. Type: weidu --traify-tlk dialog.tlk --out dialogedit.txt This will produce the file dialogedit.txt. I used MS Word to edit the thing for PS:T. When you have finished your edits, you can turn it back into a .tlk file by going back to the DOS box and typing: weidu --make-tlk dialogedit.txt --tlkout dialog.tlk (That will overwrite your existing dialog.tlk, so make sure you have a backup before doing it... or you could just name it something else, but it'll need to be named dialog.tlk for it to work with your game.) The same should work for dialogf.tlk, by the way, which is the file that gets used when the protagonist is female. Qwinn
  12. Hey guys. Grats on v2.0 This issue did get a chunk of discussion, and I believe a fix has been developed (though maybe not released yet) over on ghostdog's UI forum: http://www.shsforums.net/index.php?showtopic=38012 Qwinn
  13. In regards to Planescape mods at Spellhold Studios, I think what was being referred to was these I think you'll be surprised at how much more has been done for the game in the last 6 months. http://www.shsforums.net/index.php?showtopic=35985 As for G3 Tweaks not working, I reported a few times on the Tweak forum a long while ago that the Max HP Tweak causes the game to crash on startup. This was my last post about it, there were a few prior to it. http://forums.gibberlings3.net/index.php?showtopic=13989 No one ever responded, was that ever stealth fixed? It was actually partly due to that that I made my own pack - I kinda assumed the G3 PS:T Tweak Pack wasn't being maintained anymore. Qwinn
  14. Qwinn

    Can WeiDU tell PS:T 2CD from PS:T 4CD?

    I'm actually doing some engine tweaks for the next version of my Fixpack, so I'm pretty deep in this myself. I wouldn't do a plain old "ELSE" if I were you. I'd put a condition on that "ELSE" to -verify- that it's the 2CD version (search differerent location for the same value, or same location for different value). Just to be safe. For example, I don't know yet if the german version of the game has a different .exe (something I'm trying to find out now). BG2 has a whole ton of different versions of their .exe. I just don't think it's safe to say "if this value isn't here, it MUST be the 2cd version"... leave room for other possibilities. If it fails both your checks, then you can safely PRINT "Error: Can't identify PS:T version", dump out, and we'll all be better for identifying a third version of the .exe. Qwinn
  15. Hello. I am glad to hear that... I wasn't sure if "you and your friends are tired of being screwed by fanboys wanting five seconds of glory off your own work." was being directed at me or not. Sorry, bud, but I'm afraid you were. You were the hardest of all, actually, as I didn't have any contact info at all - nothing in the Restoration Pack download even hints at authorship. The only way I ever heard the name "Cilantro" was from the Sorcerer's Place description of your mod. I also had no idea that you went by other names... when you say "Ash is back", should I infer that you are the Ash McGowen that got credited in Platter's Fixpack? If so, good to know and nice to meetcha. Please do know, as SKARDAVNELNATE just vouched for and as I explained in detail in the Fixpack readme FAQ, I -did- try to find you. I just had nothing to go by. Nothing I did is immutable, and I plan on doing many updates to come. As mentioned in the FAQ, I welcome discussion and any disagreement with the way I handled things. If you would indeed prefer discussion, I'm all for it, shoot. You only actually cite one disagreement, so I'll respond to that. I can only assume you're talking about the recent version 2.0 change removing the saving throw from Mechanus Cannon? I did it that way because, in my opinion, the spell -isn't- already powerful, in fact it's much much worse than the spell Meteor Storm Bombardment, and really isn't even as good -with- the change. Here's the ORIGINAL descriptions for the two spells, which are both 8th level: Notice that Mechanus Cannon says saving throw for 1/2 in the stats, but no saving throw in the description. Assume that the "Saving Throw: 1/2" were what it should be. Why would -anyone- memorize a single-target spell that does 30-90 damage (save for 1/2), when they can memorize one that does 10-120 damage to every enemy (and only enemies, so no worries about hitting friendly targets) in a 50x50 area (save for 1/2)? With both spells having a saving throw, I'd always memorize Meteor Bombardment every time, no matter the circumstances. With Mechanus Cannon having no saving throw, I'd -still- usually memorize Meteor Bombardment, unless I knew I was prepping for a single boss fight. But at least I'd have a reason to ever memorize it. As the spell originally was, 30-90 points with the saving throw for 1/2, I'd say that spell should be 5th level. Maybe. Certainly seems worse than the normally 6th level Disintegrate of 2nd ed. D&D. At least that spell has a shot at killing the target outright. The description needed to be fixed, one way or the other, to resolve the contradiction. I went with the choice that seemed to me more balanced, and adjusted the way the spell worked accordingly. Hopefully that clears up why I did what I did. If you'd like to present an argument for why the original Mechanus Cannon was "powerful" for an 8th level spell compared to others of that (and even lower) levels, please go for it. I'm serious when I say I enjoy those kinds of discussions and am always willing to implement things differently if presented with a new way of looking at it that makes sense. I sincerely hope you feel I extended sufficient credit for the information I was able to glean by looking through your mod, and that whatever is making you "livid" at the thought of discussing my mods can be assuaged somehow. Let me know if there's anything I can do. Qwinn