Cone-shaped spells

Discussion in 'The Temple of Elemental Evil' started by marc1967, Dec 20, 2017.

Remove all ads!
  1. marc1967

    marc1967 Established Member

    Joined:
    Jan 19, 2014
    Messages:
    578
    Likes Received:
    60
    Anyone know why they made Burning Hands in TOEE have a 180 degree arc, instead of the usual 90 degree arc that it should have? Not a big deal, just easier to cast in a crowded melee at 90 degrees. Though 180 is probably better solo or in a small group.

    On a related note, for some reason both Burning Hands (after changing it in 045 - Burning Hands.txt) and Color Spray are a 90 degree cone when a PC casts it and 180 when an NPC casts it. More toee oddities.

    The other five cone-shaped spells are consistent 90 degree cone-shape whether cast by a PC or NPC.
     
    Last edited: Dec 20, 2017
  2. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Have you checked their scripts? They might have manual targeting override from some livonya scripts.
     
  3. marc1967

    marc1967 Established Member

    Joined:
    Jan 19, 2014
    Messages:
    578
    Likes Received:
    60
    Yep, the 180 degree cone was coming from the Burning Hands script. It looks like the targets are completely redone for NPCs in the script, overwriting the ones chosen during game play. It was mixed in for all the code nullifying spells in the Water Node. This is the line:

    Code:
    target_list = list(game.obj_list_cone( spell.caster, OLC_CRITTERS, range, -30, 150 ))
    I think I can see why this was done. Burning Hands and Color Spray cast by an NPC create an almost 360 degree arc with the spells effect. So it's basically an area spell cast on themselves going out in all directions, not effecting the caster though. But the fix seems to make a off-center arc (is this from the -30,150 angle in the function call?) I'll have to examine it further tomorrow when I'm fresh.

    Anyways, using "cast fireball" fixes this problem for Color Spray, but not for Burning Hands, which is probably why someone put the fix in many years ago. Also, using "cast single" for both those spells will make the spell affect only the selected target and not harm any friends.
     
    Last edited: Dec 20, 2017
  4. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
  5. marc1967

    marc1967 Established Member

    Joined:
    Jan 19, 2014
    Messages:
    578
    Likes Received:
    60
    All the cone spells work fine for PC casting right now, except for the small issue that Burning Hands should be a 90 cone instead of a 180, as you said.

    My interest is when cone-shaped spells are cast by an NPC.

    Without the scripting changes added by Co8, all 7 cone spells spreads out in all directions, as if a 360 degree cone. This was fixed in the script files for Burning Hands, Cone of Cold, Prismatic Spray, and Shout. But not for Color Spray, Crushing Despair, or Fear. The fix was to basically erase the targets that were gathered when the spell was cast by the NPC, and the recompute them with a call to game.obj_list_cone(). This gets the job done, but there are a few problems:

    1. Making the new list of targets in the script ignores protections such as Spell Resistance that would have prevented a critter from being in the target list that was sent in. A simple solution to this is just to confirm that all critters in the new cone actually showed up in the original target list.

    2. The arc of the cone called by game.obj_list_cone() has odd arguments set up by the angle. They should all be (-45,90) to set up a 90 degree cone, but all of them are oddly shaped like (-30,60), (-30,90) and (-30,150).

    All of this is small pototoes because I think the only place these spells are used in the game by NPCs is the Ice Tyrants. But I plan on using them quite a bit for my mod, so I'm trying to get all this stuff working properly.
     
Our Host!