Jump to content


Photo

PnP Fey creatures [IMPLEMENTED]


  • Please log in to reply
50 replies to this topic

#1 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 15 October 2011 - 05:27 AM

Introduction

This component brings all fey creatures in the game closer to their PnP counterparts. As with all PnP style AI components, the main goal here is not to make the enemies tougher (though they may become a bit more challenging due to the upgraded AI and the new abilities). The primary focus is on restoring any missing abilities, removing any superfluous traits and enhancing the AI so that it can act in the manner described in the source books. For this purpose, the AD&D Monstrous Manual and the Monstrous Compendium were used as reference.


Relevant links


Edited by aVENGER, 30 May 2012 - 07:39 PM.


#2 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 15 October 2011 - 05:28 AM

So, as previously announced, here's another small PnP component that I'm currently working on. The scope is fairly limited, as fey creatures are not that common in BG1, and even less so in BG2. However, combined with the "Revised Call Woodland Beings" component, they might get a bit more exposure in the future. Another thing to note, the spell-like abilities of all fey creatures that are handled by this component are available through the special abilities menu (see screenshot below). This was deliberately done in order to give the players a greater degree of control over fey summons.

Posted Image
A Hamadryad's spell-like abilities


By the way, every ability that is usable at will works similarly to the Pocketplane ability from the original game i.e. each time you cast it another instance of it is immediately added to the special abilities menu.

#3 Daulmakan

Daulmakan

    Comfortably numb

  • Member
  • 1065 posts

Posted 15 October 2011 - 09:26 AM

It's great having you back. 8)

item_pack.jpg   Drows.jpg

 


#4 Andrea C.

Andrea C.
  • Modder
  • 458 posts

Posted 15 October 2011 - 10:02 AM

Have I already mentioned loving your PnP components for aTweaks? If I have, then it's worth repeating. One can never have enough PnP mods for the Infinity Engine :woot:

Thumbs up for aVENGER!! :Bow: :Bow:

Edited by Andrea C., 15 October 2011 - 10:03 AM.


#5 Dakk

Dakk
  • Member
  • 398 posts

Posted 15 October 2011 - 12:21 PM

I like it, I like it a lot!
Regarding the Readme; the respective XP values for Dryad and Hamadryad can't be right? It looks like they might be switched. I know the Readme is WIP, but I thought I'd mention it anyway...

Edited by Dakk, 15 October 2011 - 12:22 PM.


#6 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 15 October 2011 - 12:40 PM

Regarding the Readme; the respective XP values for Dryad and Hamadryad can't be right? It looks like they might be switched. I know the Readme is WIP, but I thought I'd mention it anyway...


The XP value is as per the source books, but I've been wondering about that as well. It's possible that this was a misprint.

Since the Hamadryad is clearly more powerful, I might be inclined to raise her XP value to 1,400 which is the next value on the XP table, as per the DMG.

P.S.

Thanks for the kind words everyone. :)

Edited by aVENGER, 15 October 2011 - 12:53 PM.


#7 aigleborgne

aigleborgne
  • Member
  • 95 posts

Posted 15 October 2011 - 11:42 PM

As always with aTweaks, it is a great component :)

Relating experience, I am clearly thinking that 2nd edition experience numbers seem to be random and not consistent.
Hamadryad is one example, but I can find a lot of them! It is for this reason I am adding a new experience table for monsters.

#8 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 16 October 2011 - 12:44 AM

Here's an update on the Sirines. The first change concerns their Charming Song. It now affects all humanoid targets within hearing range (i.e. it functions like Mass Charm) but it has become a once per day ability. As a reminder, in the unmodded game this was a single-target, at will ability. Also, if the "Distinctive creature soundsets" component is installed, Sirines will only sing when they actually use this ability. ;)


Posted Image
A Sirine's Charming Song


The other changes include Fog Cloud, which works similarly to Wall of Fog (which aTweaks' Mist Mephits already use) and Touch of Tranquility which can cause Feeblemind on a successful melee attack and a failed save vs. poison. For reference, Sirines will primarily use this ability on charmed mages as they aren't that much help in combat and because the Sirine auto-touches charmed targets. Concerning the implementation of Polymorph Self, I've settled on the Mustard Jelly form which primarily acts as a defense mechanism in case the Sirine is hit by magical damage or electricity. And yes, I did actually end up making a full blown PnP Mustard Jelly just for this. :P Finally, Sirines now carry 10 Arrows of Piercing and 40 normal arrows in addition to the 5 Arrows of Biting which they had in the unmodded game.

#9 Andrea C.

Andrea C.
  • Modder
  • 458 posts

Posted 16 October 2011 - 01:45 AM

h00ray for awesome! :woot:

#10 joshuar9476

joshuar9476
  • Member
  • 128 posts

Posted 16 October 2011 - 07:36 AM

with all respects to DW ... aTweaks is starting to rival SCS I and II in terms of a must have mod. thank you.
i have a witty signature thought up, i just haven't posted it yet.

#11 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 16 October 2011 - 09:24 AM

Thanks guys. :)

Here's another small update with the revised Call Woodland Beings spell:

Call Woodland Beings
(Conjuration, Summoning)
Level: 4
Sphere: Animal, Summoning
Range: Visual Range of Caster
Duration: 3 turns
Casting Time: 7
Area of Effect: Special
Saving Throw: None

By means of this spell, the caster is able to summon certain woodland creatures to his location. The type and the number of creatures that appear depend upon the level of the caster:

7th: 2 Dryads or 1 Hamadryad
10th: 3 Hamadryads
13th+: 4 Hamadryads and 1 Nymph

The summoned creatures aid the caster by whatever means they possess, staying until they are slain or the spell duration expires.


The spell is now a tad closer to PnP, but in the end, I decided to keep the Nymph as a summonable creature, though I've restricted it to level 13 druids. For comparison, in the unmodded game, even a level 7 druid could summon the Nymph which effectively gave the party another level 7 divine spellcaster. This was a bit too much in my view.

Edited by aVENGER, 16 October 2011 - 09:29 AM.


#12 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 16 October 2011 - 09:28 AM

A additional few notes on the behavior of summoned fey creatures. Firstly, thanks to Wild Empathy, they are effectively safe from roaming animals i.e. no bear, wolf, tiger etc. will harm a fey unless provoked first. Secondly, as noted earlier, the player has full control over they creatures' actions and spell-like abilities. Specifically, their scripts have been deliberately set up not to override the player's commands. For example, if you are up against a pack of Umber Hulks and you order your summoned Nymph to run away, she will no longer ignore that and Dimension Door straight into the creatures' claws as was the case in the unmodded game. The player's commands now have the highest priority.

Also, as per their PnP descriptions, Dryads and Hamadryads will avoid melee combat at all costs and attempt to use their spell-like abilities as long as possible. Afterwards, they will try to evade their enemies using Dimension Door (if available) and simply running away. It took a bit of work, but I managed to set up a script block which effectively enables them to teleport away from their pursuers. In case anyone's curious, it utilizes an invisible creature which assists with targeting. This was necessary because there's no regular way to tell a creature to teleport off-screen without specifying a fixed set of coordinates which vary with each map. Here's some sample code:

IF
	ActionListEmpty()
	!GlobalTimerNotExpired("RR#Cast","LOCALS")
	HaveSpellRES("rr#ddoor") // Dimension Door
	OR(2)
	  Range(NearestEnemyOf(Myself),6) // Dryads and Hamadryads avoid melee combat
	  AttackedBy([ANYONE],DEFAULT)
THEN
	RESPONSE #100
		SetInterrupt(FALSE)
		SetGlobalTimer("RR#Cast","LOCALS",6)
		CreateCreatureOffscreen("RR#TRAT",0) // Targeting Rat (script aid)
		ForceSpellRES("RR#DDORX","RR#TRAT") // Dimension Door (special version, breaks targeting via 1 second invisibility)
		SetInterrupt(TRUE)
END

In effect, this makes both summoned and hostile Dryads and Hamadryads a bit harder to chase down.

#13 Galactygon

Galactygon

    Modding since 2002

  • Member
  • 938 posts

Posted 16 October 2011 - 09:48 AM

Here's an update on the Sirines. The first change concerns their Charming Song. It now affects all humanoid targets within hearing range (i.e. it functions like Mass Charm) but it has become a once per day ability. As a reminder, in the unmodded game this was a single-target, at will ability.

Will deafness protect against charming song?

The other changes include Fog Cloud, which works similarly to Wall of Fog (which aTweaks' Mist Mephits already use) and Touch of Tranquility which can cause Feeblemind on a successful melee attack and a failed save vs. poison.

How do you achieve selective auto-touching on charmed targets? It's a nice feature.

In case anyone's curious, it utilizes an invisible creature which assists with targeting. This was necessary because there's no regular way to tell a creature to teleport off-screen without specifying a fixed set of coordinates which vary with each map. Here's some sample code:
<SNIP>


The definition of CreateCreatureOffscreen() in the IESDP is ambiguous. How are the coordinates of the new .cre determined? I always thought CreateCreatureObjectOffset() and the invisible .cre does a Shout() if !Detect([GOODCUTOFF]) would do the trick. Your way sounds much shorter and elegant.

-Galactygon
Posted Image

#14 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 16 October 2011 - 10:07 AM

Will deafness protect against charming song?


Now that you've brought it up, it will. :) I can easily patch any spell/item that causes deafness to protect against Charming Song thanks to a small piece of code. Wisp came up with that when he was dealing with spells/items that cause blindness. He nicely made them protect against aTweaks' PnP Color Spray.

How do you achieve selective auto-touching on charmed targets? It's a nice feature.


The Sirine's fist weapon uses opcode #146 to cast the Touch of Tranquility spell on hit when the Sirine is engaged in normal combat. However, when a Sirine charms an opponent, she simply walks up to him and uses it as a regular spell, thereby avoiding the 'to hit' roll.

The definition of CreateCreatureOffscreen() in the IESDP is ambiguous. How are the coordinates of the new .cre determined?


Semi-randomly from my experience. However, the creature almost always ends up away from the current screen which is good enough in 90% of the cases.

#15 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 16 October 2011 - 10:15 AM

BTW, in case anyone's wondering, the Dimension Door spell-like ability of all summoned fey creatures is now usable by the player and works as per PnP. This means that there is no longer a line of sight requirement i.e. if you've explored a part of the map, you can order your Dryad/Hamadryad/Nymph to Dimension Door there. They still can't go into unexplored terrain (black areas on the map) but if you scout the area with Farsight, Clairvoyance or WIzard's Eye, that obstacle can be removed as well. ;)

If anyone's interested, I could whip that up into a separate component and restore the PnP Dimension Door behavior for players too.

#16 Andrea C.

Andrea C.
  • Modder
  • 458 posts

Posted 16 October 2011 - 10:32 AM

If anyone's interested, I could whip that up into a separate component and restore the PnP Dimension Door behavior for players too.


Yes, please :) The more PnP, the merrier!

#17 Galactygon

Galactygon

    Modding since 2002

  • Member
  • 938 posts

Posted 17 October 2011 - 01:03 PM

Now that you've brought it up, it will. :) I can easily patch any spell/item that causes deafness to protect against Charming Song thanks to a small piece of code. Wisp came up with that when he was dealing with spells/items that cause blindness. He nicely made them protect against aTweaks' PnP Color Spray.

We'll need opcode 266 for blindness/deafness removing spells. It can still be messy if other spells/items use 206 against your shell spell.

The Sirine's fist weapon uses opcode #146 to cast the Touch of Tranquility spell on hit when the Sirine is engaged in normal combat. However, when a Sirine charms an opponent, she simply walks up to him and uses it as a regular spell, thereby avoiding the 'to hit' roll.

This means only the AI can use this nice feature; it will be barred from Sirines summoned by the PC.

Semi-randomly from my experience. However, the creature almost always ends up away from the current screen which is good enough in 90% of the cases.

Is the invisible .cre created relative to your screen rather than the caster of DD? For example, if the combat is going offscreen on the other side of the map, the caster of DD will jump across the entire map just outside your screen? Does resolution affect CreateCreatureObjectOffscreen()? Will the widescreen mod make nymphs cast DD farther?

Have you tried CreateCreatureObjectOffScreen()? Maybe this removes this limitation.

If anyone's interested, I could whip that up into a separate component and restore the PnP Dimension Door behavior for players too.

See some of my work.

-Galactygon
Posted Image

#18 Pol

Pol
  • Member
  • 45 posts

Posted 17 October 2011 - 07:14 PM


Now that you've brought it up, it will. :) I can easily patch any spell/item that causes deafness to protect against Charming Song thanks to a small piece of code. Wisp came up with that when he was dealing with spells/items that cause blindness. He nicely made them protect against aTweaks' PnP Color Spray.

We'll need opcode 266 for blindness/deafness removing spells. It can still be messy if other spells/items use 206 against your shell spell.

Yes, I've noticed that Nature's Beauty for instance grants permanent immunity to Color Spray, even after the blindness is cured.

Might sectype removal be better (already done for the Yugoloths' disease)? I believe 266 under a Cure Disease spell would remove protection from Color Spray (and whatever other gaze attacks or sound based attacks blindness and deafness are supposed to protect from) even if it's granted by an equipped item or spell.

Slightly OT: I've tested blindness shell spells (duration 1 round to permanent) that set visual range to half normal rather than 2, and allow blinded creatures to actually carry out their scripts; the problem is that they don't currently set STATE_BLIND but STATE_CHANTBAD and need to be installed last to avoid AI issues (the G3 fixpack's version of Chant also sets STATE_CHANTBAD, but I'm not sure that works as intended, a creature under the effects of negative chant takes extra damage from area effects as if it had a luck penalty).


The Sirine's fist weapon uses opcode #146 to cast the Touch of Tranquility spell on hit when the Sirine is engaged in normal combat. However, when a Sirine charms an opponent, she simply walks up to him and uses it as a regular spell, thereby avoiding the 'to hit' roll.

This means only the AI can use this nice feature; it will be barred from Sirines summoned by the PC.

If an enemy is already charmed, there's not much point in trying to feeblemind them - you lose an ally.

#19 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 17 October 2011 - 08:48 PM

We'll need opcode 266 for blindness/deafness removing spells. It can still be messy if other spells/items use 206 against your shell spell.


I'll look into it, but frankly it's not a high priority issue as dispel magic works fine for that purpose. Also, I'd prefer not adding a new sectype just for this as their quantity is limited.

This means only the AI can use this nice feature; it will be barred from Sirines summoned by the PC.


Summons have AI scripts too and a summoned Sirine could be easily scripted to do the same. However, I don't let players summon Sirines in aTweaks as they technically don't count as 'woodland beings'.

Is the invisible .cre created relative to your screen rather than the caster of DD?


From my testing, it's relative to the currently active screen.

For example, if the combat is going offscreen on the other side of the map, the caster of DD will jump across the entire map just outside your screen?


Yes.

Will the widescreen mod make nymphs cast DD farther?


Not as far as I can tell. From testing, "offscreen" in terms of CreateCreatureOffScreen() is a random point covered by fog of war located just outside of the visual range of the party.

Have you tried CreateCreatureObjectOffScreen()? Maybe this removes this limitation.


I actually tried that first, but didn't get satisfactory results. If the object referenced by CreateCreatureObjectOffScreen() is not on the currently active screen, the Dryad DDs only a few pixels next to it. This doesn't happen with CreateCreatureOffScreen().

See some of my work.


Spell Pack is awesome, I do look to it for inspiration from time to time. :)

Edited by aVENGER, 17 October 2011 - 08:54 PM.


#20 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 17 October 2011 - 08:51 PM

Slightly OT: I've tested blindness shell spells (duration 1 round to permanent) that set visual range to half normal rather than 2, and allow blinded creatures to actually carry out their scripts; the problem is that they don't currently set STATE_BLIND but STATE_CHANTBAD


I'd advise against this. Several mods, including aTweaks, use STATE_CHANTBAD for detecting negative chant i.e. they way it's supposed to be used. It would be better to ask Ascension64 to add a configurable visual range penalty to the Blindness opcode via TobEx.

G3 fixpack's version of Chant also sets STATE_CHANTBAD, but I'm not sure that works as intended, a creature under the effects of negative chant takes extra damage from area effects as if it had a luck penalty)


It's intended as that's exactly the opposte of how the regular chant opcode works. See IESDP.

If an enemy is already charmed, there's not much point in trying to feeblemind them - you lose an ally.


Charming Song wears off after 1 turn while Touch of Tranquility lasts for 8 hours. ;) And, as noted earlier, this is primarily used on charmed mages who are not much help in melee combat but can become a big hindrance for the Sirine after the charm wears off.