GetSpellId()
呪文の識別を得ます。
int GetSpellId();
Description
スクリプトで実行中の呪文のID(SPELL_*)を返します。
プログラムの再利用の為に呪文のeffectを扱う複数の呪文が同一スクリプトに割り当てられていますが、書付は動作中の特定呪文によってわずかに変化します。
例えば、ポリモーフセルフのスクリプト(スクリプト名 NW_S0_POLYSELF)は、変身するモンスターによって異なる呪文から呼出されます。
Remarks
厳格には、呪文や呪文の能力を扱うスクリプトの中で使用し、この関数は既存の呪文や呪文能力(Biowareによってスクリプト化された物やscripts.bifで見つかるスクリプト)を編集していなければ使用すべきではありません。
呪文のスクリプトを書き換え、モジュール内(またはHakパック)に保存することで、Biowareの呪文や呪文の能力(例、フレイム・ストライク用のファイル:NW_S0_FLMSTRIKE)を書き換えることが出来ます。
現在、(筆者の知る限り)既存の呪文や呪文能力を上書きすることができるだけで、新しく呪文を追加する方法はありません。
Version
1.24
Example
//:://///////////////////////////////////////////// //:: Polymorph Self //:: NW_S0_PolySelf.nss //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* The PC is able to changed their form to one of several forms. */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Jan 21, 2002 //::////////////////////////////////////////////// void main() { //Declare major variables int nSpell = GetSpellId(); object oTarget = GetSpellTargetObject(); effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH); effect ePoly; int nPoly; int nMetaMagic = GetMetaMagicFeat(); int nDuration = GetCasterLevel(OBJECT_SELF); //Enter Metamagic conditions if (nMetaMagic == METAMAGIC_EXTEND) { nDuration = nDuration *2; //Duration is +100% } //Determine Polymorph subradial type if(nSpell == 387) { nPoly = POLYMORPH_TYPE_GIANT_SPIDER; } else if (nSpell == 388) { nPoly = POLYMORPH_TYPE_TROLL; } else if (nSpell == 389) { nPoly = POLYMORPH_TYPE_UMBER_HULK; } else if (nSpell == 390) { nPoly = POLYMORPH_TYPE_PIXIE; } else if (nSpell == 391) { nPoly = POLYMORPH_TYPE_ZOMBIE; } ePoly = EffectPolymorph(nPoly); //Fire cast spell at event for the specified target SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_POLYMORPH_SELF, FALSE)); //Apply the VFX impact and effects ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePoly, oTarget, TurnsToSeconds(nDuration)); }
See Also
functions: | GetLastSpell |
categories: | Spells Functions |
constants: | SPELL_* Constants |
author: Tom Cassiotis, editor: Charles Feduke, JP team: Rainie
Send comments on this topic.