Jump to content


  • Posts

  • Joined

About Luke

Profile Information

  • Gender

Recent Profile Visitors

12,909 profile views

Luke's Achievements

  1. There's no oil effect: oils are simply skipped. But if IR treats "POTN14" as a Potion, then my mod will react accordingly...
  2. My mod is not 100% compatible with IR as of now (the actual effects of some potions such as Potion of Speed, Potion of Fire Resistance, etc. are applied by a subspell via op146, and my code doesn't detect those effects... Will try addressing them in a future update...)
  3. @raimn On macOS, press and hold the Option key, then drag one folder to the location that contains a folder with the same name. In the dialog that appears, click Merge.
  4. I see. So the creature weapon will always use the "S1" animation but the actual drop can be either a long sword (S1), or a bastard sword (S0), or a short sword (SS), or a scimitar (SC). And in all cases it'll be a bladed weapon, so as to minimize the mismatch between the dropped weapon and the creature animation...
  5. Are you saying that when using object selectors, SecondNearest, ThirdNearest, etc. are meaningless for "SpellCastOnMe([identifier],0)"...? So when I say "SpellCastOnMe([PC],0)", it doesn't matter if the Party Member casting the spell is the nearest one or not... The only thing that matters is that its allegiance is PC... And I guess the same holds for HitBy(), AttackedBy(), NumCreature\(LT\|GT\)?()...
  6. So basically different variants of bows and/or swords...?
  7. Well, you can always make, say, a mace whose equipped appearance (@ 0x22) is "S1". In so doing, Ogre Mages can wield maces without swinging an invisible weapon... The only "problem" is that they'll be swinging a sword while dealing crushing damage...
  8. Yes, you're right. I somehow expected [PC] to naturally expand into SecondNearest([PC]), ThirdNearest([PC]), etc. even without explicitly listing them in the script... I mean, SpellCastOnMe([PC],0) returns true even if the PC casting the spell is not the nearest one, and that's what deceived me in the first place... Guess I'm failing to understand what they [object specifiers] are checked every time they are referenced means...
  9. @DavidW I know that your AI is well-consolidated as of now, but have you ever thought about simplifying your scripts? By "simplifying" I mean: have you ever thought about using object selectors in place of static objects? According to the IESDP (and unless I'm missing something!), TargetBlock(s) like this one TARGET=PCsInOrderShort [PC] SecondNearest([PC]) ThirdNearest([PC]) can be reduced to just [PC], i.e.: the engine will automatically switch to "SecondNearest([PC])" if "[PC]" is not a valid target, to "ThirdNearest([PC])" if "SecondNearest([PC])" is not a valid target, and so forth. In other words: "[PC]" is not necessarily the nearest Party Member! In other words: script blocks containing "SecondNearest([PC])", "ThirdNearest([PC])", etc. never fire. Similarly, this one TARGET=EnemiesInOrder NearestEnemyOf(Myself) SecondNearestEnemyOf(Myself) ThirdNearestEnemyOf(Myself) FourthNearestEnemyOf(Myself) FifthNearestEnemyOf(Myself) SixthNearestEnemyOf(Myself) can be reduced to just [GOODCUTOFF]. Sure, there may be cases where you want to use static objects (f.i. "*FarthestEnemyOf(Myself)"), but as far as targeting the nearest creature is concerned, it may be better to stick with object selectors... In so doing, scripts will be even easier to debug (hopefully...)
  10. Assuming Gnolls are wielding Halberds (Category = 30; Weapon proficiency = PROFICIENCYHALBERD) and you want to give them 3 points: WRITE_BYTE 0x71 3 // BG1 style SET_BG2_PROFICIENCY ~PROFICIENCYHALBERD~ 3 // BG2 / EE style
  11. Correct. However, potential party members should use op233 because the level-up system (UI) cannot read the old BG1 values...
  12. To tell the truth, there's another issue. You might want to replace SOURCE_SIZE (here and here) with BUFFER_LENGTH (i.e., current file size), otherwise patches like this one will fail COPY_EXISTING "spwi112.spl" "override" LPF "DELETE_SPELL_HEADER" INT_VAR "header_type" = "-1" // All END LPF "ADD_SPELL_HEADER" INT_VAR "type" = 2 END BUT_ONLY_IF_IT_CHANGES
  13. Correct, at least on EE games, where you might want to use script triggers "WeaponEffectiveVs()" and "WeaponCanDamage()" to detect if you can hit a creature with your currently equipped weapon / ammo...
  14. OK, but what's causing that issue (also calling @argent77)...?
  • Create New...