Neverwinter Nights

File information

Last updated

Original upload

Created by

Henesua

Uploaded by

henesua

Virus scan

Safe to use

Documentation

Readme

View as plain text

READ ME
AOE Gargoyle v3
The Magus - [email protected]
2012 oct 13
_____________________________________________________________

Purpose:

The purpose of this package is to improve the efficiency of the standard "gargoyle" system, placeables turning into monsters, by using an AOE's OnEnter event instead of a placeable's heartbeat. The radius of the AOE is used to determine proximity. Then the creature's heartbeat is used to determine whether any PCs are in range, and if not, the creature changes back into a placeable again. Incidentally, this enables the creature to heal itself.

The replacing version of this package when imported will cause any placeables using NW_02_GARGOYLE (gargoyle statue), NW_02_SKELETON (skeleton bones), or NW_02_ZOMBIE (zombie corpse) on their heartbeat to replace themselves on their first heartbeat with an AOE version. A builder would only need to import aoe_gargoyle_rep.erf to improve module performance (if these placeables are in the module).

-----------------------------------------------------------------

ARCHIVE CONTENTS:

README_aoegargoyle (this file)

[erf]
aoe_gargoyle.erf
scripts: aa_ai_plc_usrdef, aa_plcspawn_ent
placeable: "Gargoyle Statue" aoeplc_gargoyle (Custom 1)
creature: "Gargoyle" aoe_gargoyle (Custom 1)

aoe_gargoyle_rep.erf (replacing version)
scripts: aa_ai_plc_usrdef, aa_plcspawn_ent, nw_o2_gargoyle, nw_o2_statue, nw_o2_zombie
placeable: "Gargoyle Statue" aoeplc_gargoyle (Custom 1)
"Skeleton Bones" aoeplc_skeleton (Custom 1)
"Zombie Corpse" aoeplc_zombie (Custom 1)
creature: "Gargoyle" nw_gargoyle (Magical Beasts)

[2da]
vfx_persistent.2da
visualeffects.2da

-----------------------------------------------------------------
INSTRUCTIONS:
(1) Import either ERF into your module. Approve all overwrites if importing the replacing version.

(2) Place the gargoyle creature in game.

-----------------------------------------------------------------
NOTES:

- The first ERF (aoe_gargoyle.erf) is for builders who want the scripts to create their own placeable-creature combinations. The gargoyle is included as an example of how it works.
- The second ERF (aoe_gargoyle_rep.erf) is for builders or admins who wish to improve the efficiency of the standard gargoyles, skeletons, and zombie placeables in their module. Importing the ERF is all that is required.
- vfx_persistent.2da and visualeffects.2da are optional. vfx_persistent.2da is useful, if you wish to use this system to create other creatures. It contains a range of radiuses for custom AOEs. I also use these for custom spells and the like. vissualeffects.2da includes two modifications of the dust explosion vfx for gargoyles. Each plays a differnt stone sound to go along with the dust visual. The module Darkness Over Daggerford did something similar, and I thought it was much more appropriate for gargoyle spawns.

-----------------------------------------------------------------
EDITS:

for those that use NESS here is the spawn script I inserted into my spawn_sc_spawn. You'll need to look at the file to figure out where this goes. This applies the AOE to a spawning placeable which enables a builder to spawn the placeables directly instead of placing creatures that will revert to placeables on their first heartbeat.

spawn_sc_spawn:
---------------

// Spawn Script 004 ----------------------------------------------------
// For use with The Magus's AOE gargoyles
// Intention of this script is for a spawned placeable to receive a permanent area of effect
// area of effect ID and scripts are identified on the blueprint with local variables
else if (nSpawnScript == 4)
{
effect eAOE = EffectAreaOfEffect( GetLocalInt(OBJECT_SELF, "AOE_ID"),
GetLocalString(OBJECT_SELF, "AOE_ENTER"),
GetLocalString(OBJECT_SELF, "AOE_HB"),
GetLocalString(OBJECT_SELF, "AOE_EXIT")
);
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eAOE, GetLocation(OBJECT_SELF));
object oAOE = GetNearestObject(OBJECT_TYPE_AREA_OF_EFFECT);
SetLocalObject(OBJECT_SELF, "PAIRED", oAOE);
SetLocalObject(oAOE, "PAIRED", OBJECT_SELF);
return;
}// end spawn script 4


for those that want to add the 2da's into existing Custom Content:

VFX_PERSISTENT (index 70-79):
-----------------------------
70 VFX_CIRCLE_005 C 0.5 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
71 VFX_CIRCLE_010 C 1.0 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
72 VFX_CIRCLE_025 C 2.5 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
73 VFX_CIRCLE_050 C 5.0 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
74 VFX_CIRCLE_075 C 7.5 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
75 VFX_CIRCLE_100 C 10.0 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
76 VFX_CIRCLE_125 C 12.5 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
77 VFX_CIRCLE_150 C 15.0 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
78 VFX_CIRCLE_175 C 17.5 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
79 VFX_CIRCLE_200 C 20.0 **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****

VISUALEFFECTS (index 1150-1151):
-----------------------------
1150 VFX_IMP_GARG_EXPLOSION F 0 **** **** **** vim_dracdust **** **** **** as_cv_claybreak3 **** **** **** **** **** **** **** **** **** **** 2 0 0.3 **** **** 0
1151 VFX_IMP_GARG_EXPLOSION2 F 0 **** **** **** vim_dracdust **** **** **** sff_stonehold **** **** **** **** **** **** **** **** **** **** 2 0 0.3 **** **** 0

___________
Change Log:
v2 (2012 oct 11)
- added aoe_gargoyle2.erf so that builders have a replacing option
- changed aoeplc_gargoyle.utp to show up in Custom 1.
v3 (2012 oct 13)
- improved the replacing version to work on placeables gargoyles, skeletons and zombies
- enabled SPAWN_VFX to be set as an int (index of visualeffects.2da) or string (label of the VFX constant).