Okay, I've written a really basic implementation of Scorching Ray. It works. Kind of. So I'm sticking it on the forum in case anyone's interested. A couple notes that may or may not be in the readme: 1. It lets you target <caster level> targets. This is bad. The spell is coded to only use the first min(3, <caster level> + 1 / 4) targets. This is good. It crashes if you assign more than five targets. This is bad. It doesn't crash until the particle affects hit the targets. This is weird. Fixing this will probably require modifying temple.dll, since I can't figure out where magic missile determines it's target count. 2. The scorching ray is BLUE. I copied the particle affects from Ray of Frost. Also, it doesn't do that nifty multiple projectiles the way magic missile does. 3. There's no way to actually get the spell - no scroll, no wand, no item creation feats, etc. I hex edited it into the spellbook of my wizard. If there's any interest whatsoever, I'll try hacking up the dev helper to get it to give you the spell. (edited: forgot the data\mes\spell.mes changes)
Most excellent work!! Just tested and my Sorc (from a previous saved game) was able to pick the spell (Scorching Ray) on a level up. I think I miscoded partsys1.tab though because the spell wasn't working properly. Should have used a proper tab editor like Phalzyr's. As usual if I try to cut corners and use Wordpad (Notepad can't open big files) things get non-functional. Just downloaded Ultraedit to see how good an editor it is. Anyway if you could code in all files and include it in the attachment it would make it a bit easier for board members to test it. Regarding: 1)Can't really help here. As you've mentioned, there probably needs to be some dll adjustments. Still, I'm very happy that we could actually implement a new spell and your implementation certainly sticks to the rules well. quoting 3.5e SRD: Scorching Ray Evocation [Fire] Level: Sor/Wiz 2 Components: V, S Casting Time: 1 standard action Range: Close (25 ft. + 5 ft./2 levels) Effect: One or more rays Duration: Instantaneous Saving Throw: None Spell Resistance: Yes You blast your enemies with fiery rays. You may fire one ray, plus one additional ray for every four levels beyond 3rd (to a maximum of three rays at 11th level). Each ray requires a ranged touch attack to hit and deals 4d6 points of fire damage. The rays may be fired at the same or different targets, but all bolts must be aimed at targets within 30 feet of each other and fired simultaneously. 2)Hmm... try copying the particle effects from Produce Flame (it's a druid spell). For starters, it's red in color. Might not be ideal but its an alternative. 3)Well, Sorcs do get the spell on level up. That much I can confirm and that's with a previous saved game without starting anew. Once the spell works, making wands and scrolls for it shouldn't be too hard of a problem, I think. We just need to insert a new entry in protos.tab for it and refer the "san_use" field (I think) to call the proper py file. And you have already taken care of the py file and other accompanying details so I'm fairly certain it will work out well. Thanks again and hope we can clear up any remaining small issues. Really nice contribution and if we're fast enough getting everything smoothed out, we can even get it into our next mod pack update.
Actually try NoteTab light.. It's free, does unicode, and has some cool features.. let me know if you do like it though.. There's a hard to find option to turn off the navigator thing in the left.
Made a few minor changes: Replaced: projectile.obj_set_int( obj_f_projectile_part_sys_id, game.particles( 'sp-Scorching Ray', projectile ) ) with: projectile.obj_set_int( obj_f_projectile_part_sys_id, game.particles( 'sp-Produce Flame-proj', projectile ) ) Replaced both lines of: game.particles( 'sp-Scorching Ray-Hit', target.obj ) with: game.particles( 'sp-Ray of Frost-Hit', target.obj ) This enabled me to forego any changes to partsys1.tab Tested and my level 9 Sorc casts it perfectly without problems. Being level 9, he gets 9+1/4 (rounded down) = 2 rays. Tried to target more (5) (could have 9 targets as you stated), cast it and still produced 2 rays. Checked on damage and it was 4d6 Fire damage as it should be. No crashing, no untoward effects. Was thinking of putting the following lines in SpellList.mes: // Scorching Ray {542000}{School: Evocation [Fire]} {542001}{Level: Sor (2), Wiz (2)} {542002}{CastComponents: V, S} {542010}{} {542011}{} {542015}{[Begin], Type: NoOp} But the spell seems to work Ok without it. Maybe I'll pose a couple of questions for Steve Moret later to clear up any last doubts. I've zipped up all the needed files into a forum attachment: "733 - Scorching Ray.txt" "Spell733 - Scorching Ray.py" "spell_enum.mes" "spell.mes"
re: Targeting One thing you might try is setting the max_Target to 3 instead of 0. Since you won't get this spell until third level (when the code will give you "three" targets), and you can't go over three targets anyways, there doesn't seem to be any harm. And that way you can avoid whatever crashy bits I encountered when you select above five targets. As a second note, I've figured out where the magic missile max_Target is calculated, so I'm playing around with that.