Jump to content


Photo

A little preview: the Taunt spell for BGEE


  • Please log in to reply
5 replies to this topic

#1 temnix

temnix
  • Member
  • 983 posts

Posted 17 September 2016 - 12:35 PM

Taunt spell for BGEE
(Re-uploaded)

Version 1
Thanks to: The Imp, Mike1072, Ardanis, Roxanne, subtledoctor and everyone else who helped me learn the ropes

This small mod is a demonstration of some of the design principles I argued for on the Beamdog forums. The Taunt spell is a small but official AD&D 1st Edition enchantment spell from a 1983 issue of the Dragon Magazine. It is by no means a game-changer, and its effect is similar to a spell from Torment. It even uses the same BAM file. But mine is an area effect spell, albeit tiny, and the environment of Baldur's Gate is different enough to matter. Used smartly, it is a short but real step towards more flexible and intelligent tactics that my other spells will do more to promote.

Taunt will make enemies chase the caster, ignoring the rest of the world, for three rounds. The spell is finished, tested and ready to be copied to a spellbook. Try casting it a few times - as a man, as a woman, a midget man, a midget woman.

Bonus! Charm Person:

I included a new, different version of Charm Person in the package - the first of my revamped charms. It is not complete, but you can play around with it, cast it on different enemies and see what happens. It will not overwrite your Charm Person. For convenience this demo spell works automatically, without a saving throw. Press Ctrl + Space to bring up the console and type: C:CreateItem("charmp_#"), then press Enter. Read the description in the scroll.

Installation: Unpack the archive to the main game directory and run setup-Taunt.exe. The installer adds lines to your Specific.ids (636 and 637), Missile.ids (636 and 637) and Projectl.ids (635 and 636), so make sure you do not have any other custom entries in those files at those positions. If there are no files with these names in the override folder, it means that you do not. A clash is very unlikely even if you have many other spells and effects installed.

Play: Find Qeebie in the Inner Grounds of Candlekeep. Start a new game or type C:MoveToArea("AR2600") in the console, then use Ctrl + J to teleport inside the walls. The dialogue works better for a new character who is short on cash after buying equipment, as Qeebie will demand 100 gold for the two scrolls he is offering. The dusty scroll will give you Taunt, the other one is useless. You can buy only one for 50 gold, but it's luck of the draw. If you would rather get the Taunt scroll directly, type C:CreateItem("taunsc_#") in the console.

Sorcerers: The demo shows how I intend to handle giving select new spells to sorcerers - in an ad hoc way, through quests, special encounters and situations, in this case from an item. Get both scrolls or just the dusty scroll from Qeebie, then have a sorcerer examine it. You will also see the price sorcerers will have to pay for new power.

Charm inside dialogue: I have suggested that instead of replacing a creature's conversation entirely Charm should give special dialogue options. Charm Qeebie with either the new or the old Charm Person and see what you can tell him now.

Undermine expectations: The steep cost of the scrolls is intentional - it is a test of how eager a wizard or a sorcerer is for new power. Taunt scrolls will be available for copying later in the game, but the dusty scroll is the only opportunity for a sorcerer. Generally magic should be neither easy nor straightforward in acquiring. It should not be something to shop for. Unscrupulous characters might find it easier to stab Qeebie or steal from him.

Spells by monsters: I hope to make most of my spells usable by monsters against the party, not just give them to adventurers as another tool. To see what Taunt does to the group, type C:CreateCreature("-hostile") - no underscore or hash. Try it a couple of times for a complete experience.

Download:

http://www.shsforums...spell-for-bgee/


Edited by temnix, 24 September 2016 - 05:06 PM.


#2 Ulb

Ulb
  • Modder
  • 373 posts

Posted 18 September 2016 - 04:29 AM

Interesting mod.

Being able to taunt would make fighters so much more interesting.

 

I have a few questions about the mechanical details of this spell though. Since this is your mod's release page(?) this might be interesting for other people as well:

 

- Will taunted creatures go into melee combat or still be able to cast spells/use ranged attacks.

 

- Will creatures be forced to attack the caster for a set duration or is this a “one time only” switch? (i.e.: can taunted creatures re-evaluate their target directly after being taunted?)

 

- Does this spell modify a creature's scripts and if so are those modifications permanent?

(i.e.: will a creature be left with the same scripts it had before being taunted when the spell expires?)



#3 temnix

temnix
  • Member
  • 983 posts

Posted 19 September 2016 - 09:50 AM

You can cast Taunt as a fighter/mage or a mage/thief, obviously. As to the questions:

 

1) The spell uses a Berserk effect. The creatures will chase after the caster with melee weapons. There was a way to simply make them focus on the caster, ignoring everyone else, and attack him as usual, with spells and ranged weapons, but that's not really how someone aggravated behaves, especially because many spellcasters are scripted to first use defensive spells, like Shadow Door. All of that isn't appropriate.

 

2) The spell forces the creature to go Berserk (opcode 14). Normally this means random attacks on whoever is nearby, but the spell also makes the caster the only targetable creature for the berserker. Everyone else is cloaked by a Protection From Creature Type effect (opcode 100). So for the duration of the spell the berserker will chase after the caster like the world is not big enough for the two of them... if several creatures go berserk, they ignore each other and fly after the caster.

 

3) I'm very happy and proud to say that the AI "change" is completely non-destructive. The inspiration for Taunt, Torment's Litany of Curses, uses a simple AI shift with opcode 82, replacing the target's script with a single-minded attack script. It makes the creature chase after Morte until the Nameless One or someone else finds the time to kill it, or stand around when Morte isn't in sight. Basically it destroys the target's AI. I stayed away from scripts and used an IDS change (opcode 72 to a custom Specific value) + opcode 100 to give an equivalent of invisibility to all but the caster, plus a Berserk effect. When Taunt wears off in three rounds, the creature resumes its regular scripted actions.



#4 Ulb

Ulb
  • Modder
  • 373 posts

Posted 19 September 2016 - 01:55 PM

@temnix

Thanks for the explanation, that's a really clever way to implement taunt.



#5 temnix

temnix
  • Member
  • 983 posts

Posted 20 September 2016 - 04:33 AM

Thank you.



#6 temnix

temnix
  • Member
  • 983 posts

Posted 24 September 2016 - 04:23 PM

To those who have downloaded the file: I just found out that an important BAM file was missing. Sorry about that. Please download the file from the new link - you will find the casting much more entertaining.