Miloch Posted April 2, 2007 Share Posted April 2, 2007 I would like to script an effect that makes the caster jump several feet regardless of where he or she is, like the Dimension Door spell. It looks like actions like ForceSpellPoint, JumpToPoint and MoveToPoint require absolute rather than relative coordinates. Is there a way to use relative coordinates somehow? The nymph script in BG2 has Forcespell(Nearestenemyof(Myself),WIZARD_DIMENSION_DOOR). How does this even work (or does it) with no coordinates (not to mention the spell target is Self)? Edit: Eh... maybe ForceSpell(Myself,DRYAD_TELEPORT) will work? Amazing how often this is used by non-dryads... Link to comment
devSin Posted April 2, 2007 Share Posted April 2, 2007 DRYAD_TELEPORT is a DestroySelf() spell. It runs the dimension door animation and then destroys the actor. Not what you want! Negative coordinates sometimes act as offsets, so you can try that. I thought there was a MoveToOffset() or similar action, but that won't have you teleport. Scripting Dimension Door works like scripting AoE spells (the engine uses the coordinates of the object targeted). There's an effect for teleport field that has the target teleport randomly, and there's a phase effect that automatically teleports the target to a random enemy (when an enemy is onscreen). Otherwise, you're going to have to get clever to try to get something close (well, close enough) to what you want. Link to comment
igi Posted April 2, 2007 Share Posted April 2, 2007 You may want to try tracking down Galc's "SpellPoint without no stinking point" (at least, it's called something like that) tutorial. As I remember, the idea is to summon some invisible creatures, have them run away, then teleport to one of them. Link to comment
Nythrun Posted April 2, 2007 Share Posted April 2, 2007 I'd just use the teleport field opcode in a custom spell if I wanted random - it already observes wallgroups and whatnot correctly. After distinctly unimpressive results with using seven invisible creatures to replicate Seven Eyes from IWD, I prefer keeping them to a minimum (and immediately destroyed) Link to comment
Avenger Posted April 4, 2007 Share Posted April 4, 2007 Why do you need creatures for the seven eyes? Link to comment
Nythrun Posted April 4, 2007 Share Posted April 4, 2007 Ablative damage prevention - BG2 doesn't like doing that, so it required dumb hacks to make effects like "Stop the first fire attack, then go away OR stick around until I expend you doing this other effect" work. It ended up being pretty yucky Soul Eater and Beltyn's Burning Blood worked fine once I robbed devSin's set creature's Area script trick Link to comment
Galactygon Posted April 5, 2007 Share Posted April 5, 2007 You may want to try tracking down Galc's "SpellPoint without no stinking point" (at least, it's called something like that) tutorial.As I remember, the idea is to summon some invisible creatures, have them run away, then teleport to one of them. From what I remember, it involved several creatures that were created at certain offsets. But instead of running away, it is better to wingbuffet them, since it is quicker. After they are "wingbuffetted", they Shout() if they see no enemies, and character can react to those shouts using Heard(), ForceSpell(LastHeardBy(Myself),WIZARD_DIMENSION_DOOR), and ActionOverride(LastHeardBy(Myself),DestroySelf()) Ablative damage prevention - BG2 doesn't like doing that, so it required dumb hacks to make effects like "Stop the first fire attack, then go away OR stick around until I expend you doing this other effect" work. There are ways to make Seven Eyes work without resorting to scripting or anything equally dirty. SecTypes and SpellSchools have much more potential in them than what Bioware intended. -Galactygon Link to comment
Miloch Posted April 5, 2007 Author Share Posted April 5, 2007 I did find your tutorial here. It looks useful, for BG1 at least. If it's as simple as using opcode #222 Teleport Field in a custom spell for BG2-derivatives, I'll try that first. Though I'm also going to want a BG1 version, if it's not too cumbersome (BG1 doesn't have opcode #222). Link to comment
Nythrun Posted April 5, 2007 Share Posted April 5, 2007 At the cost of making your work incompatible with everyone else who's using the same trick, none of whom bother to document which primary/secondary types they're using, yeah, you can do that too. It's a good trick, don't get me wrong Link to comment
Galactygon Posted April 5, 2007 Share Posted April 5, 2007 At the cost of making your work incompatible with everyone else who's using the same trick, none of whom bother to document which primary/secondary types they're using, yeah, you can do that too. APPENDs could solve that quite easily. -Galactygon Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.