PWE_PRC8/_module/nss/bm_scr_get.nss
Jaysyn904 ee1dc35889 Initial Commit
Initial Commit
2025-04-03 10:29:41 -04:00

1029 lines
29 KiB
Plaintext

#include "bm_scroll_inc"
void main()
{
string sTalk = GetStringLowerCase(GetLocalString(OBJECT_SELF, "Stack"));
string sSpellTag;
int iSpellLevel;
int iAdditionalCost;
int iSpellCreated;
int iSpellID;
object oCreator = GetPCSpeaker();
//Get Spell Tag of the requested spell
if (sTalk != "") {
//Level 0 Spells
if (sTalk == "daze")
{
sSpellTag = "NW_IT_SPARSCR003";
iSpellLevel = 0;
iAdditionalCost = 0;
iSpellID = SPELL_DAZE;
}
else if (sTalk == "light")
{
sSpellTag = "NW_IT_SPARSCR004";
iSpellLevel = 0;
iAdditionalCost = 0;
iSpellID = SPELL_LIGHT;
}
else if (sTalk == "ray of frost")
{
sSpellTag = "NW_IT_SPARSCR002";
iSpellLevel = 0;
iAdditionalCost = 0;
iSpellID = SPELL_RAY_OF_FROST;
}
else if (sTalk == "resistance")
{
sSpellTag = "NW_IT_SPARSCR001";
iSpellLevel = 0;
iAdditionalCost = 0;
iSpellID = SPELL_RESISTANCE;
}
/*-------------------------- Level 1 Spells ------------------------*/
else if (sTalk == "burning hands")
{
sSpellTag = "NW_IT_SPARSCR112";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_BURNING_HANDS;
}
else if (sTalk == "charm person")
{
sSpellTag = "NW_IT_SPARSCR107";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_CHARM_PERSON;
}
else if (sTalk == "color spray")
{
sSpellTag = "NW_IT_SPARSCR110";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_COLOR_SPRAY;
}
else if (sTalk == "grease")
{
sSpellTag = "NW_IT_SPARSCR103";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_GREASE;
}
else if (sTalk == "identify")
{
sSpellTag = "NW_IT_SPARSCR106";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_IDENTIFY;
}
else if (sTalk == "mage armor")
{
sSpellTag = "NW_IT_SPARSCR104";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_MAGE_ARMOR;
}
else if (sTalk == "magic missile")
{
sSpellTag = "NW_IT_SPARSCR109";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_MAGIC_MISSILE;
}
else if (sTalk == "negative energy ray")
{
sSpellTag = "nw_it_sparscr113";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_NEGATIVE_ENERGY_RAY;
}
else if (sTalk == "protection from alignment")
{
sSpellTag = "NW_IT_SPARSCR102";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_PROTECTION_FROM_EVIL;
}
else if (sTalk == "ray of enfeeblement")
{
sSpellTag = "NW_IT_SPARSCR111";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_RAY_OF_ENFEEBLEMENT;
}
else if (sTalk == "scare")
{
sSpellTag = "NW_IT_SPARSCR210";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_SCARE;
}
else if (sTalk == "sleep")
{
sSpellTag = "NW_IT_SPARSCR108";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_SLEEP;
}
else if (sTalk == "summon creature i")
{
sSpellTag = "NW_IT_SPARSCR105";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_SUMMON_CREATURE_I;
}
else if (sTalk == "endure elements")
{
sSpellTag = "NW_IT_SPARSCR101";
iSpellLevel = 1;
iAdditionalCost = 0;
iSpellID = SPELL_ENDURE_ELEMENTS;
}
/*-------------------------- Level 2 Spells ------------------------*/
else if (sTalk == "blindness" || sTalk == "deafness" || sTalk == "blindness/deafness")
{
sSpellTag = "NW_IT_SPARSCR211";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_BLINDNESS_AND_DEAFNESS;
}
else if (sTalk == "bull's strength")
{
sSpellTag = "NW_IT_SPARSCR212";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_BULLS_STRENGTH;
}
else if (sTalk == "cat's grace")
{
sSpellTag = "NW_IT_SPARSCR213";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_CATS_GRACE;
}
else if (sTalk == "darkness")
{
sSpellTag = "NW_IT_SPARSCR206";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_DARKNESS;
}
else if (sTalk == "eagle's splendor")
{
sSpellTag = "nw_it_sparscr219";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_EAGLE_SPLEDOR;
}
else if (sTalk == "endurance")
{
sSpellTag = "NW_IT_SPARSCR215";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_ENDURANCE;
}
else if (sTalk == "fox's cunning")
{
sSpellTag = "nw_it_sparscr220";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_FOXS_CUNNING;
}
else if (sTalk == "ghostly visage")
{
sSpellTag = "NW_IT_SPARSCR208";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_GHOSTLY_VISAGE;
}
else if (sTalk == "ghoul touch")
{
sSpellTag = "NW_IT_SPARSCR209";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_GHOUL_TOUCH;
}
else if (sTalk == "invisibility")
{
sSpellTag = "NW_IT_SPARSCR207";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_INVISIBILITY;
}
else if (sTalk == "knock")
{
sSpellTag = "NW_IT_SPARSCR216";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_KNOCK;
}
else if (sTalk == "lesser dispel")
{
sSpellTag = "NW_IT_SPARSCR218";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_LESSER_DISPEL;
}
else if (sTalk == "melf's acid arrow")
{
sSpellTag = "NW_IT_SPARSCR202";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_MELFS_ACID_ARROW;
}
else if (sTalk == "owl's wisdom")
{
sSpellTag = "nw_it_sparscr221";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_OWLS_WISDOM;
}
else if (sTalk == "resist elements")
{
sSpellTag = "NW_IT_SPARSCR201";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_RESIST_ELEMENTS;
}
else if (sTalk == "see invisibility")
{
sSpellTag = "NW_IT_SPARSCR205";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_SEE_INVISIBILITY;
}
else if (sTalk == "summon creature ii")
{
sSpellTag = "NW_IT_SPARSCR203";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_SUMMON_CREATURE_II;
}
else if (sTalk == "web")
{
sSpellTag = "NW_IT_SPARSCR204";
iSpellLevel = 2;
iAdditionalCost = 0;
iSpellID = SPELL_WEB;
}
/*-------------------------- Level 3 Spells ------------------------*/
else if (sTalk == "clairaudience" || sTalk == "clairvoyance" || sTalk == "clairaudience/clairvoyance")
{
sSpellTag = "NW_IT_SPARSCR307";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE;
}
else if (sTalk == "clarity")
{
sSpellTag = "NW_IT_SPARSCR217";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_CLARITY;
}
else if (sTalk == "dispel magic")
{
sSpellTag = "NW_IT_SPARSCR301";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_DISPEL_MAGIC;
}
else if (sTalk == "find traps")
{
sSpellTag = "BM_IT_SCROLL001";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_FIND_TRAPS;
}
else if (sTalk == "fireball")
{
sSpellTag = "NW_IT_SPARSCR309";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_FIREBALL;
}
else if (sTalk == "flame arrow")
{
sSpellTag = "NW_IT_SPARSCR304";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_FLAME_ARROW;
}
else if (sTalk == "haste")
{
sSpellTag = "NW_IT_SPARSCR312";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_HASTE;
}
else if (sTalk == "hold person")
{
sSpellTag = "NW_IT_SPARSCR308";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_HOLD_PERSON;
}
else if (sTalk == "invisibility sphere")
{
sSpellTag = "NW_IT_SPARSCR314";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_INVISIBILITY_SPHERE;
}
else if (sTalk == "lightning bolt")
{
sSpellTag = "NW_IT_SPARSCR310";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_LIGHTNING_BOLT;
}
else if (sTalk == "magic circle against alignment")
{
sSpellTag = "NW_IT_SPARSCR302";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_MAGIC_CIRCLE_AGAINST_EVIL;
}
else if (sTalk == "negative energy burst")
{
sSpellTag = "nw_it_sparscr315";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_NEGATIVE_ENERGY_BURST;
}
else if (sTalk == "protection from elements")
{
sSpellTag = "NW_IT_SPARSCR303";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_PROTECTION_FROM_ELEMENTS;
}
else if (sTalk == "slow")
{
sSpellTag = "NW_IT_SPARSCR313";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_SLOW;
}
else if (sTalk == "stinking cloud")
{
sSpellTag = "NW_IT_SPARSCR305";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_STINKING_CLOUD;
}
else if (sTalk == "summon creature iii")
{
sSpellTag = "NW_IT_SPARSCR306";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_SUMMON_CREATURE_III;
}
else if (sTalk == "vampiric touch")
{
sSpellTag = "NW_IT_SPARSCR311";
iSpellLevel = 3;
iAdditionalCost = 0;
iSpellID = SPELL_VAMPIRIC_TOUCH;
}
/*-------------------------- Level 4 Spells ------------------------*/
else if (sTalk == "bestow curse")
{
sSpellTag = "NW_IT_SPARSCR414";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_BESTOW_CURSE;
}
else if (sTalk == "charm monster")
{
sSpellTag = "NW_IT_SPARSCR405";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_CHARM_MONSTER;
}
else if (sTalk == "confusion")
{
sSpellTag = "NW_IT_SPARSCR406";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_CONFUSION;
}
else if (sTalk == "contagion")
{
sSpellTag = "NW_IT_SPARSCR411";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_CONTAGION;
}
else if (sTalk == "enervation")
{
sSpellTag = "NW_IT_SPARSCR412";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_ENERVATION;
}
else if (sTalk == "evard's black tentacles")
{
sSpellTag = "BM_IT_SCROLL002";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_EVARDS_BLACK_TENTACLES;
}
else if (sTalk == "fear")
{
sSpellTag = "NW_IT_SPARSCR413";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_FEAR;
}
else if (sTalk == "ice storm")
{
sSpellTag = "BM_IT_SCROLL003";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_ICE_STORM;
}
else if (sTalk == "improved invisibility")
{
sSpellTag = "NW_IT_SPARSCR408";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_IMPROVED_INVISIBILITY;
}
else if (sTalk == "lesser spell breach")
{
sSpellTag = "NW_IT_SPARSCR417";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_LESSER_SPELL_BREACH;
}
else if (sTalk == "minor globe of invulnerability")
{
sSpellTag = "NW_IT_SPARSCR401";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_MINOR_GLOBE_OF_INVULNERABILITY;
}
else if (sTalk == "phantasmal killer")
{
sSpellTag = "NW_IT_SPARSCR409";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_PHANTASMAL_KILLER;
}
else if (sTalk == "ploymorph self")
{
sSpellTag = "NW_IT_SPARSCR415";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_POLYMORPH_SELF;
}
else if (sTalk == "remove blindness/deafness" || sTalk == "remove blindness" || sTalk == "remove deafness")
{
sSpellTag = "NW_IT_SPDVSCR301";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_REMOVE_BLINDNESS_AND_DEAFNESS;
}
else if (sTalk == "remove curse")
{
sSpellTag = "NW_IT_SPARSCR402";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_REMOVE_CURSE;
}
else if (sTalk == "shadow conjuration")
{
sSpellTag = "NW_IT_SPARSCR410";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_SHADOW_CONJURATION_DARKNESS;
}
else if (sTalk == "stoneskin")
{
sSpellTag = "NW_IT_SPARSCR403";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_STONESKIN;
}
else if (sTalk == "summon creature iv")
{
sSpellTag = "NW_IT_SPARSCR404";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_SUMMON_CREATURE_IV;
}
else if (sTalk == "wall of fire")
{
sSpellTag = "NW_IT_SPARSCR407";
iSpellLevel = 4;
iAdditionalCost = 0;
iSpellID = SPELL_WALL_OF_FIRE;
}
/*-------------------------- Level 5 Spells ------------------------*/
else if (sTalk == "cloudkill")
{
sSpellTag = "NW_IT_SPARSCR502";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_CLOUDKILL;
}
else if (sTalk == "cone of cold")
{
sSpellTag = "NW_IT_SPARSCR507";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_CONE_OF_COLD;
}
else if (sTalk == "dismissal")
{
sSpellTag = "NW_IT_SPARSCR501";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_DISMISSAL;
}
else if (sTalk == "dominate person")
{
sSpellTag = "NW_IT_SPARSCR503";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_DOMINATE_PERSON;
}
else if (sTalk == "elemental shield")
{
sSpellTag = "NW_IT_SPARSCR416";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_ELEMENTAL_SHIELD;
}
else if (sTalk == "energy buffer")
{
sSpellTag = "BM_IT_SCROLL004";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_ENERGY_BUFFER;
}
else if (sTalk == "feeblemind")
{
sSpellTag = "NW_IT_SPARSCR504";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_FEEBLEMIND;
}
else if (sTalk == "greater shadow conjuration")
{
sSpellTag = "NW_IT_SPARSCR508";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_GREATER_SHADOW_CONJURATION_ACID_ARROW;
}
else if (sTalk == "hold monster")
{
sSpellTag = "NW_IT_SPARSCR505";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_HOLD_MONSTER;
}
else if (sTalk == "lesser mind blank")
{
sSpellTag = "NW_IT_SPARSCR511";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_LESSER_MIND_BLANK;
}
else if (sTalk == "lesser planer binding")
{
sSpellTag = "NW_IT_SPARSCR512";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_LESSER_PLANAR_BINDING;
}
else if (sTalk == "lesser planer mantle")
{
sSpellTag = "NW_IT_SPARSCR513";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_LESSER_SPELL_MANTLE;
}
else if (sTalk == "mind fog")
{
sSpellTag = "NW_IT_SPARSCR506";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_MIND_FOG;
}
else if (sTalk == "summon creature v")
{
sSpellTag = "NW_IT_SPARSCR510";
iSpellLevel = 5;
iAdditionalCost = 0;
iSpellID = SPELL_SUMMON_CREATURE_V;
}
/*-------------------------- Level 6 Spells ------------------------*/
else if (sTalk == "acid fog")
{
sSpellTag = "NW_IT_SPARSCR603";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_ACID_FOG;
}
else if (sTalk == "chain lightning")
{
sSpellTag = "NW_IT_SPARSCR607";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_CHAIN_LIGHTNING;
}
else if (sTalk == "circle of death")
{
sSpellTag = "NW_IT_SPARSCR610";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_CIRCLE_OF_DEATH;
}
else if (sTalk == "ethereal visage")
{
sSpellTag = "NW_IT_SPARSCR608";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_ETHEREAL_VISAGE;
}
else if (sTalk == "globe of invulnerability")
{
sSpellTag = "NW_IT_SPARSCR601";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_GLOBE_OF_INVULNERABILITY;
}
else if (sTalk == "greater dispelling")
{
sSpellTag = "NW_IT_SPARSCR602";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_GREATER_DISPELLING;
}
else if (sTalk == "greater spell breach")
{
sSpellTag = "NW_IT_SPARSCR612";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_GREATER_SPELL_BREACH;
}
else if (sTalk == "greater stoneskin")
{
sSpellTag = "NW_IT_SPARSCR613";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_GREATER_STONESKIN;
}
else if (sTalk == "legend lore")
{
sSpellTag = "BM_IT_SCROLL005";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_LEGEND_LORE;
}
else if (sTalk == "mass haste")
{
sSpellTag = "NW_IT_SPARSCR611";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_MASS_HASTE;
}
else if (sTalk == "planar binding")
{
sSpellTag = "NW_IT_SPARSCR604";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_PLANAR_BINDING;
}
else if (sTalk == "shades")
{
sSpellTag = "NW_IT_SPARSCR609";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_SHADES_CONE_OF_COLD;
}
else if (sTalk == "summon creature vi")
{
sSpellTag = "NW_IT_SPARSCR605";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_SUMMON_CREATURE_VI;
}
else if (sTalk == "tenser's transfromation")
{
sSpellTag = "NW_IT_SPARSCR614";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_TENSERS_TRANSFORMATION;
}
else if (sTalk == "true seeing")
{
sSpellTag = "NW_IT_SPARSCR606";
iSpellLevel = 6;
iAdditionalCost = 0;
iSpellID = SPELL_TRUE_SEEING;
}
/*-------------------------- Level 7 Spells ------------------------*/
else if (sTalk == "control undead")
{
sSpellTag = "NW_IT_SPARSCR707";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_CONTROL_UNDEAD;
}
else if (sTalk == "delayed blast fireball")
{
sSpellTag = "NW_IT_SPARSCR704";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_DELAYED_BLAST_FIREBALL;
}
else if (sTalk == "finger of death")
{
sSpellTag = "NW_IT_SPARSCR708";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_FINGER_OF_DEATH;
}
else if (sTalk == "mordenkainen's sword")
{
sSpellTag = "NW_IT_SPARSCR705";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_MORDENKAINENS_SWORD;
}
else if (sTalk == "power word stun")
{
sSpellTag = "NW_IT_SPARSCR702";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_POWER_WORD_STUN;
}
else if (sTalk == "prismatic spray")
{
sSpellTag = "NW_IT_SPARSCR706";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_PRISMATIC_SPRAY;
}
else if (sTalk == "protection from spells")
{
sSpellTag = "NW_IT_SPARSCR802";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_PROTECTION_FROM_SPELLS;
}
else if (sTalk == "shadow shield")
{
sSpellTag = "BM_IT_SCROLL006";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_SHADOW_SHIELD;
}
else if (sTalk == "spell mantle")
{
sSpellTag = "NW_IT_SPARSCR701";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_SPELL_MANTLE;
}
else if (sTalk == "summon creature vii")
{
sSpellTag = "NW_IT_SPARSCR703";
iSpellLevel = 7;
iAdditionalCost = 0;
iSpellID = SPELL_SUMMON_CREATURE_VII;
}
/*-------------------------- Level 8 Spells ------------------------*/
else if (sTalk == "create undead")
{
sSpellTag = "BM_IT_SCROLL007";
iSpellLevel = 8;
iAdditionalCost = 0;
iSpellID = SPELL_CREATE_UNDEAD;
}
else if (sTalk == "greater planar binding")
{
sSpellTag = "NW_IT_SPARSCR803";
iSpellLevel = 8;
iAdditionalCost = 0;
iSpellID = SPELL_GREATER_PLANAR_BINDING;
}
else if (sTalk == "horrid wilting")
{
sSpellTag = "NW_IT_SPARSCR809";
iSpellLevel = 8;
iAdditionalCost = 0;
iSpellID = SPELL_HORRID_WILTING;
}
else if (sTalk == "incendiary cloud")
{
sSpellTag = "NW_IT_SPARSCR804";
iSpellLevel = 8;
iAdditionalCost = 0;
iSpellID = SPELL_INCENDIARY_CLOUD;
}
else if (sTalk == "mass blindness and deafness")
{
sSpellTag = "NW_IT_SPARSCR807";
iSpellLevel = 8;
iAdditionalCost = 0;
iSpellID = SPELL_MASS_BLINDNESS_AND_DEAFNESS;
}
else if (sTalk == "mass charm")
{
sSpellTag = "NW_IT_SPARSCR806";
iSpellLevel = 8;
iAdditionalCost = 0;
iSpellID = SPELL_MASS_CHARM;
}
else if (sTalk == "mind blank")
{
sSpellTag = "NW_IT_SPARSCR801";
iSpellLevel = 8;
iAdditionalCost = 0;
iSpellID = SPELL_MIND_BLANK;
}
else if (sTalk == "premonition")
{
sSpellTag = "NW_IT_SPARSCR808";
iSpellLevel = 8;
iAdditionalCost = 0;
iSpellID = SPELL_PREMONITION;
}
else if (sTalk == "summon creature viii")
{
sSpellTag = "NW_IT_SPARSCR805";
iSpellLevel = 8;
iAdditionalCost = 0;
iSpellID = SPELL_SUMMON_CREATURE_VIII;
}
/*-------------------------- Level 9 Spells ------------------------*/
else if (sTalk == "dominate monster")
{
sSpellTag = "NW_IT_SPARSCR905";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_DOMINATE_MONSTER;
}
else if (sTalk == "energy drain")
{
sSpellTag = "NW_IT_SPARSCR908";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_ENERGY_DRAIN;
}
else if (sTalk == "gate")
{
sSpellTag = "NW_IT_SPARSCR902";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_GATE;
}
else if (sTalk == "greater spell mantle")
{
sSpellTag = "NW_IT_SPARSCR912";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_GREATER_SPELL_MANTLE;
}
else if (sTalk == "meteor swarm")
{
sSpellTag = "NW_IT_SPARSCR906";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_METEOR_SWARM;
}
else if (sTalk == "mordenkainen's disjunction")
{
sSpellTag = "NW_IT_SPARSCR901";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_MORDENKAINENS_DISJUNCTION;
}
else if (sTalk == "power word kill")
{
sSpellTag = "NW_IT_SPARSCR903";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_POWER_WORD_KILL;
}
else if (sTalk == "shapechange")
{
sSpellTag = "NW_IT_SPARSCR910";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_SHAPECHANGE;
}
else if (sTalk == "summon creature ix")
{
sSpellTag = "NW_IT_SPARSCR904";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_SUMMON_CREATURE_IX;
}
else if (sTalk == "time stop")
{
sSpellTag = "NW_IT_SPARSCR911";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_TIME_STOP;
}
else if (sTalk == "wail of the banshee")
{
sSpellTag = "NW_IT_SPARSCR909";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_WAIL_OF_THE_BANSHEE;
}
else if (sTalk == "weird")
{
sSpellTag = "NW_IT_SPARSCR907";
iSpellLevel = 9;
iAdditionalCost = 0;
iSpellID = SPELL_WEIRD;
}
//Default if no spell matched
else
sSpellTag = "NOTSUPPORTED";
if (sSpellTag == "NOTSUPPORTED")
{
SendMessageToPC(oCreator, "The spell you entered was not found.");
iSpellCreated = 2;
SetLocalString(OBJECT_SELF, "Stack", "");
SetLocalInt(OBJECT_SELF, "iSpellCreated", iSpellCreated);
return;
}
if (sSpellTag != "")
{ //Perform Check to see if PC can create scroll
//TestPC
if (iSpellID == SPELL_PROTECTION_FROM_EVIL) //Check for any of the Protection from Alignment
{ if (CheckCasterLevel(oCreator, iSpellLevel) &&
(GetHasSpell(SPELL_PROTECTION_FROM_EVIL, oCreator) ||
GetHasSpell(SPELL_PROTECTION_FROM_GOOD, oCreator) ||
GetHasSpell(SPELL_PROTECTION_FROM_LAW, oCreator) ||
GetHasSpell(SPELL_PROTECTION__FROM_CHAOS, oCreator) ))
{
iSpellCreated = CreateScroll(oCreator, sSpellTag, iSpellLevel, iAdditionalCost);
}
}
else if (iSpellID == SPELL_MAGIC_CIRCLE_AGAINST_EVIL) //Check for any of the Magic Circle Spells
{ if (CheckCasterLevel(oCreator, iSpellLevel) &&
(GetHasSpell(SPELL_MAGIC_CIRCLE_AGAINST_EVIL, oCreator) ||
GetHasSpell(SPELL_MAGIC_CIRCLE_AGAINST_CHAOS, oCreator) ||
GetHasSpell(SPELL_MAGIC_CIRCLE_AGAINST_GOOD, oCreator) ||
GetHasSpell(SPELL_MAGIC_CIRCLE_AGAINST_LAW, oCreator) ))
{
iSpellCreated = CreateScroll(oCreator, sSpellTag, iSpellLevel, iAdditionalCost);
}
}
else if (iSpellID == SPELL_SHADOW_CONJURATION_DARKNESS) //Check for any of the Shadow Conjuration Spells
{ if (CheckCasterLevel(oCreator, iSpellLevel) &&
(GetHasSpell(SPELL_SHADOW_CONJURATION_INIVSIBILITY, oCreator) ||
GetHasSpell(SPELL_SHADOW_CONJURATION_MAGE_ARMOR, oCreator) ||
GetHasSpell(SPELL_SHADOW_CONJURATION_MAGIC_MISSILE, oCreator) ||
GetHasSpell(SPELL_SHADOW_CONJURATION_DARKNESS, oCreator) ||
GetHasSpell(SPELL_SHADOW_CONJURATION_SUMMON_SHADOW, oCreator) ))
{
iSpellCreated = CreateScroll(oCreator, sSpellTag, iSpellLevel, iAdditionalCost);
}
}
else if (iSpellID == SPELL_GREATER_SHADOW_CONJURATION_ACID_ARROW) //Check for any of the Greater Shadow Conjuration Spells
{ if (CheckCasterLevel(oCreator, iSpellLevel) &&
(GetHasSpell(SPELL_GREATER_SHADOW_CONJURATION_ACID_ARROW, oCreator) ||
GetHasSpell(SPELL_GREATER_SHADOW_CONJURATION_MINOR_GLOBE, oCreator) ||
GetHasSpell(SPELL_GREATER_SHADOW_CONJURATION_MIRROR_IMAGE, oCreator) ||
GetHasSpell(SPELL_GREATER_SHADOW_CONJURATION_SUMMON_SHADOW, oCreator) ||
GetHasSpell(SPELL_GREATER_SHADOW_CONJURATION_WEB, oCreator) ))
{
iSpellCreated = CreateScroll(oCreator, sSpellTag, iSpellLevel, iAdditionalCost);
}
}
else if (CheckCasterLevel(oCreator, iSpellLevel) && GetHasSpell(iSpellID, oCreator))
{
//Create Scroll
iSpellCreated = CreateScroll(oCreator, sSpellTag, iSpellLevel, iAdditionalCost);
}
else
iSpellCreated = 4;
}
SetLocalString(OBJECT_SELF, "Stack", "");
SetLocalInt(OBJECT_SELF, "iSpellCreated", iSpellCreated);
}
}