Jump to content

Galactygon

Modders
  • Content Count

    728
  • Joined

  • Last visited

About Galactygon

  • Rank
    Creator of spells

Profile Information

  • Gender
    Male
  • Location
    Sweden

Recent Profile Visitors

7,658 profile views
  1. A bit of extra info: if opcode 333 has a saving throw attached to it, that save will be rolled each time the effect repeats and the effect self-terminates on a successful saving throw but not other effects from the same resource like opcode 321. Creatures carrying effects that were applied via opcodes 326/333 will use the dispel.level of the target of 326/333 rather than the original caster. This functionality is present as of patch 2.5 which may/may not be fixed in the future.
  2. Thanks, edited original post for accuracy. Is targettype 9-original caster properly used on reflection by spell turning? In that case, original caster should switch to the creature doing the reflection. Some existing spells use the parent spell to affect turning/deflection (nonzero power values) while others have their nonzero resist/dispel/power values used in the child .spls. I will report this inconsistency in Redmine on a good repro case.
  3. It appears that targettypes of effects within a .spl applied via opcodes 326 or 333 is treated as follows: 1-Self is applied regardless of the projectile within that .spl and is applied instantly to the target of the parent spell using opcode 326/333 2-Pre-target is applied via the projectile within that .spl. If projectile 1-none is used then effects using this targettype are applied to the target of the parent effect opcode 326/333 after any effects using 1-self are used. 9-Original Caster is known to be used by SPWI631B.spl (i.e. soul eater in IWD:EE) and applies effects t
  4. Oh right, forgot to mention this as well. Yeah, auto-pause on spell cast can do two fairly bad things--one, as you've already mentioned, is that it can re-roll the probabilities so that not every effect gets the same roll (for further reading, any old thread about the duration of the Friends spell in the Fixpack). Another, but lesser known problem, is that it can sometimes cause the engine to apply spell effects out of order, which can cause all sorts of bad things for spells like Otiluke's where the order is necessary for the proper functioning of the spell. edit: I should note that while
  5. This. I couldn't have said it any better.
  6. Something I just remembered to mention now is when cloning spells as different filenames, instances of immunity spell opcodes (318/324) need to be updated so that they self-block the effects of the new spell rather than the original copied spell. SCS liberally clones spells, so I would integrate this change into the clone spells macros or whatever they are called.
  7. I've updated/clarified the differences between bit0 and bit3. I can confirm that bit3 is the noncumulative version of hp transfer in that if the recipient carries any instance of opcode 18 with special set to 1, then no current and maximum hitpoints are added.
  8. Is there anything similar for delayed and delayed/duration timing modes i.e. using AI frames instead of seconds? PST:EE uses AI frames instead of seconds for its delayed timing mode while the rest of the IE uses seconds.
  9. There are a limited number of splstates (255) so I would only use new slots sparingly.
  10. I believe you need a caster and a target creature for a scorcher-type projectile whose two endpoints move with the caster & target.
  11. I went ahead and wrote a function that can handle .ssl => .baf => .bcs compilation in one go. The modder has to specify the following 3 things: 1. The path of SSL.exe (default is %MOD_FOLDER%/SSL/ssl.exe) 2. The name of the array with a list of .ssl libraries with their file paths specified (valid format either .slb or .ssl). Default value is "SSL_LIB". 3. The name of the associative array with of individual .ssl files compiled as .bcs files in the override folder. Default value is "SSL_LIST". 4. (optional) Any ssl variables can be defined in STR_VAR ssl_variables. Default value is "
  12. When I try to compile ssl scripts from a .bat file run from the main game directory I am unable to specify a directory if ssl.exe is located somewhere else relative to the .bat file in the manner of: LCTests/SSL/ssl.exe "LCTests/SSL/testactions.ssl LCTests/SSL/testssl.ssl -l LCTests/SSL/testlib.slb IsLich=True&CreType=Undead" I get the message "LCTests is not recognized as an internal or external command" I do manage to compile them if ssl.exe is located in the same folder as the .bat file and use the following instead. ssl.exe "LCTests/SSL/testactions.ssl LCTests/SSL/testssl.ssl -
  13. Thanks for the help, Wisp. That was the issue. I was now able to generate the desired .baf file. Now I've got yet even more questions to ask you: 1. Why did you choose not to run ssl.exe? Is it a hassle to account for the different operating systems? 2. You have written a python script make_baf.pl which I couldn't find in any of the SCS folders. What does it do? Is it something specific for aTweaks rather than ssl?
  14. Thanks for your reply, Wisp. I've been looking into pregenerating .baf blocks but you do not seem to have ssl.exe in aTweaks; I am speculating that the scripts distributed in aTweaks are already "ready-made" complete .baf files and the .ssl blocks are there for reference. SCS pregenerates so much with different scripts that it's difficult to boil it down to a simple example of a .tph launching an .ssl compiler with the most basic features and libraries. I've been trying to generate one .baf file from the single block of .ssl code above by running ssl.exe via a .bat but keep getting the err
  15. Question: what does Combine() do? Here's an example from aTweaks/ssl/mage/chaos.ssl: IF TRIGGER TargetBlock(PCsInOrder) TriggerBlock(Disabled|Enemy|MR50|Confusion|SIEnc) THEN DO Combine() Action(Spell,WIZARD_CHAOS|100|50) END My initial guess is that it generates a series of False() targeting blocks with all the "scstarget"s followed up by a LastSeenBy(Myself) block but I could be wrong.
×
×
  • Create New...