Jump to content

Luke

Modders
  • Posts

    879
  • Joined

Everything posted by Luke

  1. So basically you coded it as a Chunked death for 3 HD and lower and a Normal Death for 4-5 HD... If that's the case, then OK, I misunderstood its description (in fact, my interpretation does sound a bit OP: all 6+ HD creatures are instantly killed on a failed Save vs. Spell...). Separately, I'm not sure you can solve the other issue by just reordering the effects... I think you do need an op206 effect to properly distinguish the two cases...
  2. Good. But that's how it should be coded for the time being... This is also related to "Enrage" spell-like abilities, which should not grant immunity to op109 (only the mental one, i.e., op175...) OK, but that's not case for all Abilities. For instance, look at the one whose `minimum_level=14`. Here op333 bypasses MR (`resist_dispel=3`), so both the main spell and its child "#BELTYN.spl" bypass MR (which is incorrect...). However, this is probably an unnecessary fix (since both the main spell and its child use projectile `1|None`), but just in case... Is there any particular reason for that...? I reported it because I find it a bit misleading (target makes its MR check but graphics and audio still play...).
  3. Yes, that is certainly true (even simple tasks like computing the successor of an integer coded in base 10 is cumbersome...) Are you talking about something like your SFO vs. COPY files pre-made with NearInfinity (or similar), right?
  4. @CamDawg Since you're directly porting everything from IWDEE as is, please be aware of the following issues (and please add them to your v2.7 to-do list):
  5. @DavidW So, to sum up: what did you mean by [WeiDU] is not just nominally Turing-complete...?
  6. Oh, you're right, sorry! So we can give that feature to, say, Monks without much trouble, that's good to know... However, since that's the case, you forgot to attach the EVASION spell state to all relevant CRE files (f.i., "LDDTHIE2" (Thief) is a level 8 thief, so he should have the EVASION spell state... Ditto for "NYM" (Nym), "MERCTHFD" (Mercenary Thief), etc... So you might want to add that to your v2.7 to-do list...
  7. Well, if that's the case, then OK for Abjuration (even if it sounds "odd"...)
  8. To tell the truth, Subtledoctor's Evasion turned up being a more flexible version of Evasion (i.e., it's not limited to Level 7+ thieves and does not rely upon SPLPROT entry #63 `EVASIONCHECK`). It relies on the `EVASION` spell state and makes use of op318/324 + EFF files (more details here), whereas yours is a direct port of the one present in IWD:EE (i.e., a simple op318/324 effect with `p2=63`). So to sum up, the two implementations are different... And now that I think about it, what about completely soft coding that entry (`EVASIONCHECK`) for patch v2.7 so that it can be freely used (i.e., not hardcoded to Level 7+ thieves)? Yes, as I've just pointed out, you can already achieve that with op318/324 + EFF files, but it looks quite messy if compared to a simple op318/324 effect...
  9. Yeah, me dumb (I answered myself without noticing it, sigh...). Better to leave the name as is...
  10. Neat indeed! It's quite curious that your scientific background is not "Computer Science and Engineering" (contrary to what I originally though...) Just to clarify: you depicted the so-called Single-Tape Turing Machine, right? In other words, there's a single tape for memory, input and output (namely the array "turing_tape")...? If so, shouldn't "Tape state: %display%" be renamed to "Output tape: %display%"...? Is the word "state" associated to Output kinda misleading...?
  11. @argent77Thanks, both methods are working fine for me. Also, I found out this nice little script find -E . -iregex '.*(tpp|tph|wav|bam|baf|2da)$' | while read f; do lc=$(echo ${f} | tr A-Z a-z); git mv $f ${lc}_; git mv ${lc}_ $lc; done When run in your root directory, it will lowercase all files whose extension matches (case-insensitively!) the specified regexp.
  12. @Mike1072 OK, here's another issue. On macOS, whose filesystem is generally case-insensitive, how can I lowercase ALL file names in my repo? If I run git config --global core.ignorecase false and then rename some files manually in VScode, my remote will have both, say, "TEST.baf" and "test.baf". How can I prevent Git from adding a new (renamed) file and instead tell it it's just renaming a file...? If instead I set the previous option to true git config --global core.ignorecase true and manually rename a file in VScode, then nothing happens (i.e. my renaming is not registered neither as "edit" nor as "add"...)
  13. @lynx Sigh, I'm still failing at this... So, I tried with git rebase -i --root and put 'f' ('fixup') for all commits BUT the VERY FIRST commit, for which I put 'r' ('reword'). After rewriting the very first commit message, I ran git pull origin master --allow-unrelated-histories Finally, I pushed everything to GitHub. However, ALL my old commits are still there in my commit history, they have not disappeared... What am I missing, sigh...?
  14. I mean, I tested that string here and everything is fine, so I can't really understand what I'm missing... OK, never mind, the error was somewhere else in my code...
  15. Do special characters (e.g. ".") need to be quoted when they're inside square brackets? Unless I'm missing something, it should not be necessary to quote them (i.e., they're always treated literally except for "[" and "]")... But if that's really the case, then I cannot understand why the following string {none,1,\(1\|3\),\(1\|3\|5\),\(1\|3\|5\|7\)} DOES NOT match ^{[^.,;{}%TAB%]+,[^.,;{}%TAB%]+\(,[^.,;{}%TAB%]+\)*}$
  16. @Galactygon Forgot to mention there's an issue with the new human-friendly identifiers (1PP_*) in "MISSILE.IDS". Further details are available here. Since it's unclear if WeiDU's IDS lexer is ever able to parse the "+" character, you might want to either contact @Wisp or remove that character from future releases...
  17. The following instruction GET_OFFSET_ARRAY "containers" ARE_V10_CONTAINERS collects all containers' info (i.e., offset, hex intervals between offsets, iterations, and so forth) into the array "containers". Let us consider "AR0016.ARE" as an example. The following code COPY_EXISTING - ~AR0016.ARE~ ~override~ PATCH_IF (SOURCE_SIZE > 228) THEN BEGIN GET_OFFSET_ARRAY "containers" ARE_V10_CONTAINERS PHP_EACH "containers" AS "ind" => "cont_offset" BEGIN PATCH_PRINT "%ind% => %cont_offset%" END END BUT_ONLY will print "current container index => current container offset". In this case: 0 => 1876 1 => 2068 As you can see, there's no need to compute those values manually (from the resource file). PHP_EACH loops through all containers and at each iteration "%cont_offset%" contains the current container offset. Anyway, more info here and here.
  18. You know the offset, it's "%cont_offset%". So: COPY_EXISTING_REGEXP GLOB ~.*\.ARE~ ~override~ PATCH_IF (SOURCE_SIZE > 228) THEN BEGIN GET_OFFSET_ARRAY "containers" ARE_V10_CONTAINERS PHP_EACH "containers" AS "ind" => "cont_offset" BEGIN READ_LONG ("%cont_offset%" + 0x28) "flags" READ_ASCII ("%cont_offset%" + 0x78) "key_item"
  19. Try this: COPY_EXISTING "your_area.are" "override" GET_OFFSET_ARRAY "containers" ARE_V10_CONTAINERS PHP_EACH "containers" AS "ind" => "cont_offset" BEGIN GET_OFFSET_ARRAY2 "items" "%cont_offset%" ARE_V10_ITEMS PHP_EACH "items" AS "ind2" => "item_offset" BEGIN WRITE_LONG ("%item_offset%" + 0x10) (THIS | BIT2) // Simply add the STOLEN flag, leave the other flags intact END END BUT_ONLY
  20. I got the following error: invalid upstream 'HEAD~5' That's probably because my master branch has exactly 5 commits. As I said, I do not want to squash and merge the last 5 commits. I'm interested into squashing and merging all the commits...
  21. What if I do not want to submit a PR? I just want to rewrite my master branch history... To clarify: Suppose my master branch has 5 commits: fifth (most recent commit) fourth third second first How can I merge (squash) those 5 commits into a new commit and delete those 5 commits (so that my master branch contains only the newly created commit)?
  22. How can I merge (squash) all the existing commits of a certain branch (f.i. master) into a new (single) commit?
  23. That's interesting, thanks for pointing it out. I can now see why it is attached to almost all NPCs (only SoD though, probably because the AI has been rewritten from scratch there...)
  24. You might want to check opcode #293 (0x125) Script: Enable Offscreen AI too. It is attached to a lot of CRE files (in particular SoD CRE files), but its functionality is unknown. I mean, creatures run scripts as long as they are in the current area, opcode #293 does not alter this, nor allow their scripts to run while they are in different areas...
×
×
  • Create New...