Petit cadeau du mois d'avril.
Nous avions besoin de connaitre le niveau des sorts pour pouvoir l'inclure dans un calcul et faire réagir un script différemment selon s'il s'agit d'un sort niveau 1 ou d'un sort niveau 8.
N'ayant rien trouvé dans nos recherches sur le net, on s'y est attelé. J'ai alors proposé qu'on le mette sur ce forum parce que le travail a été fastidieux.
Il vérifie le niveau des sorts de Prêtre, Druide, Barde, Magicien et Ensorceleur.
Il ne comprend pas les sorts de soin et de rappel à la vie pour des raisons tenant au système de notre module mais vous pouvez aisément les ajouter.
De même si vous souhaitez inclure les Rodeurs ou les Paladins par exemple. Vous aurez déjà une bonne base.
Nous partons du principe que si un sort manque à cette liste, son niveau est zéro.
PS : il y a normalement deux erreurs dans le niveau de sorts prêtres/druides qui sont plus bas niveau chez le druide que chez le prêtre et vice versa. Pour ne pas rallonger le script en séparant druide et prêtre, nous avons décidé de laisser les choses ainsi.
void main() { int iClass=GetLastSpellCastClass(); int iId=GetSpellId(); int iSpellLevel=0;
if (iClass==CLASS_TYPE_BARD) {
if (iId==SPELL_DAZE || iId==SPELL_FLARE || iId==SPELL_LIGHT || iId==SPELL_RESISTANCE){iSpellLevel=0;}
else if (iId==SPELL_CHARM_PERSON || iId==SPELL_GREASE || iId==SPELL_LESSER_DISPEL || iId==SPELL_MAGE_ARMOR || iId==SPELL_REMOVE_FEAR || iId==SPELL_SCARE || iId==SPELL_SLEEP || iId==SPELL_SUMMON_CREATURE_I || iId==SPELL_BALAGARNSIRONHORN || iId==SPELL_AMPLIFY || iId==SPELL_EXPEDITIOUS_RETREAT || iId==SPELL_MAGIC_WEAPON){iSpellLevel=1;}
else if (iId==SPELL_BLINDNESS_AND_DEAFNESS || iId==SPELL_CLARITY || iId==SPELL_DARKNESS || iId==SPELL_HOLD_PERSON || iId==SPELL_INVISIBILITY || iId==SPELL_GHOSTLY_VISAGE || iId==SPELL_SEE_INVISIBILITY || iId==SPELL_SILENCE || iId==SPELL_SOUND_BURST || iId==SPELL_SUMMON_CREATURE_II || iId==SPELL_TASHAS_HIDEOUS_LAUGHTER || iId==SPELL_CLOUD_OF_BEWILDERMENT ){iSpellLevel=2;}
else if (iId==SPELL_BESTOW_CURSE || iId==SPELL_CHARM_MONSTER || iId==SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE || iId==SPELL_CONFUSION || iId==SPELL_DISPEL_MAGIC || iId==SPELL_FEAR || iId==SPELL_GUST_OF_WIND || iId==SPELL_HASTE || iId==SPELL_INVISIBILITY_SPHERE || iId==SPELL_REMOVE_CURSE || iId==SPELL_REMOVE_DISEASE || iId==SPELL_SLOW || iId==SPELL_SUMMON_CREATURE_III || iId==SPELL_MAGIC_CIRCLE_AGAINST_EVIL || iId==SPELL_MAGIC_CIRCLE_AGAINST_GOOD || iId==SPELL_FIND_TRAPS || iId==SPELL_WOUNDING_WHISPERS || iId==SPELL_DISPLACEMENT || iId==SPELL_KEEN_EDGE || iId==SPELL_GREATER_MAGIC_WEAPON) {iSpellLevel=3;}
else if ( iId==SPELL_DISMISSAL || iId==SPELL_DOMINATE_PERSON || iId==SPELL_FREEDOM_OF_MOVEMENT || iId==SPELL_HOLD_MONSTER || iId==SPELL_IMPROVED_INVISIBILITY || iId==SPELL_NEUTRALIZE_POISON || iId==SPELL_SHADOW_CONJURATION_DARKNESS || iId==SPELL_SHADOW_CONJURATION_INIVSIBILITY || iId==SPELL_SHADOW_CONJURATION_MAGE_ARMOR || iId==SPELL_SHADOW_CONJURATION_MAGIC_MISSILE || iId==SPELL_SHADOW_CONJURATION_SUMMON_SHADOW || iId==SPELL_SUMMON_CREATURE_IV || iId==SPELL_WAR_CRY || iId==SPELL_LEGEND_LORE){iSpellLevel=4;}
else if ( iId==SPELL_GREATER_DISPELLING || iId==SPELL_HEALING_CIRCLE || iId==SPELL_MIND_FOG || iId==SPELL_ETHEREAL_VISAGE || iId==SPELL_SUMMON_CREATURE_V){iSpellLevel=5;}
else if ( iId=SPELL_MASS_HASTE || iId==SPELL_SUMMON_CREATURE_VI || iId==SPELL_ICE_STORM || iId==SPELL_ENERGY_BUFFER){iSpellLevel=6;} else iSpellLevel=0;
} ////////////////////////////////////////////////////////////////
if (iClass==CLASS_TYPE_WIZARD || iClass==CLASS_TYPE_SORCERER) { if (iId==SPELL_DAZE || iId==SPELL_FLARE || iId==SPELL_LIGHT || iId==SPELL_RESISTANCE || iId==SPELL_ACID_SPLASH || iId==SPELL_RAY_OF_FROST || iId==SPELL_ELECTRIC_JOLT){iSpellLevel=0;}
else if (iId==SPELL_CHARM_PERSON || iId==SPELL_GREASE || iId==SPELL_LESSER_DISPEL || iId==SPELL_MAGE_ARMOR || iId==SPELL_REMOVE_FEAR || iId==SPELL_SCARE || iId==SPELL_SLEEP || iId==SPELL_SUMMON_CREATURE_I || iId==SPELL_BALAGARNSIRONHORN || iId==SPELL_AMPLIFY || iId==SPELL_EXPEDITIOUS_RETREAT || iId==SPELL_MAGIC_WEAPON || iId==SPELL_BURNING_HANDS || iId==SPELL_COLOR_SPRAY || iId==SPELL_ENDURE_ELEMENTS || iId==SPELL_MAGIC_MISSILE || iId==SPELL_RAY_OF_ENFEEBLEMENT || iId==SPELL_NEGATIVE_ENERGY_RAY || iId==SPELL_TRUE_STRIKE || iId==SPELL_SHIELD || iId==SPELL_HORIZIKAULS_BOOM || iId==SPELL_IRONGUTS || iId==SPELL_SHELGARNS_PERSISTENT_BLADE || iId==SPELL_ICE_DAGGER){iSpellLevel=1;}
else if (iId==SPELL_BLINDNESS_AND_DEAFNESS || iId==SPELL_CLARITY || iId==SPELL_DARKNESS || iId==SPELL_HOLD_PERSON || iId==SPELL_INVISIBILITY || iId==SPELL_GHOSTLY_VISAGE || iId==SPELL_SEE_INVISIBILITY || iId==SPELL_SILENCE || iId==SPELL_SOUND_BURST || iId==SPELL_SUMMON_CREATURE_II || iId==SPELL_TASHAS_HIDEOUS_LAUGHTER || iId==SPELL_CLOUD_OF_BEWILDERMENT || iId==SPELL_GHOUL_TOUCH || iId==SPELL_KNOCK || iId==SPELL_MELFS_ACID_ARROW || iId==SPELL_WEB || iId==SPELL_CONTINUAL_FLAME || iId==SPELL_COMBUST || iId==SPELL_DEATH_ARMOR || iId==SPELL_GEDLEES_ELECTRIC_LOOP || iId==SPELL_STONE_BONES || iId==SPELL_FLAME_WEAPON){iSpellLevel==2;}
else if (iId==SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE || iId==SPELL_DISPEL_MAGIC || iId==SPELL_FEAR || iId==SPELL_GUST_OF_WIND || iId==SPELL_HASTE || iId==SPELL_INVISIBILITY_SPHERE || iId==SPELL_REMOVE_CURSE || iId==SPELL_REMOVE_DISEASE || iId==SPELL_SLOW || iId==SPELL_SUMMON_CREATURE_III || iId==SPELL_MAGIC_CIRCLE_AGAINST_EVIL || iId==SPELL_MAGIC_CIRCLE_AGAINST_GOOD || iId==SPELL_FIND_TRAPS || iId==SPELL_WOUNDING_WHISPERS || iId==SPELL_DISPLACEMENT || iId==SPELL_KEEN_EDGE || iId==SPELL_GREATER_MAGIC_WEAPON || iId==SPELL_FIREBALL || iId==SPELL_FLAME_ARROW || iId==SPELL_LIGHTNING_BOLT || iId==SPELL_PROTECTION_FROM_ELEMENTS || iId==SPELL_STINKING_CLOUD || iId==SPELL_NEGATIVE_ENERGY_BURST || iId==SPELL_MESTILS_ACID_BREATH || iId==SPELL_SCINTILLATING_SPHERE ){iSpellLevel=3;}
else if (iId==SPELL_BESTOW_CURSE || iId==SPELL_CHARM_MONSTER || iId==SPELL_CONFUSION || iId==SPELL_CONTAGION || iId==SPELL_ELEMENTAL_SHIELD || iId==SPELL_ENERVATION || iId==SPELL_LESSER_SPELL_BREACH || iId==SPELL_IMPROVED_INVISIBILITY || iId==SPELL_SHADOW_CONJURATION_DARKNESS || iId==SPELL_SHADOW_CONJURATION_INIVSIBILITY || iId==SPELL_SHADOW_CONJURATION_MAGE_ARMOR || iId==SPELL_SHADOW_CONJURATION_MAGIC_MISSILE || iId==SPELL_SHADOW_CONJURATION_SUMMON_SHADOW || iId==SPELL_SUMMON_CREATURE_IV || iId==SPELL_MINOR_GLOBE_OF_INVULNERABILITY || iId==SPELL_PHANTASMAL_KILLER || iId==SPELL_POLYMORPH_SELF || iId==SPELL_REMOVE_BLINDNESS_AND_DEAFNESS || iId==SPELL_STONESKIN || iId==SPELL_WALL_OF_FIRE || iId==SPELL_ICE_STORM || iId==SPELL_EVARDS_BLACK_TENTACLES || iId==SPELL_ISAACS_LESSER_MISSILE_STORM){iSpellLevel=4;}
else if(iId==SPELL_ANIMATE_DEAD || iId==SPELL_DISMISSAL || iId==SPELL_CONE_OF_COLD || iId==SPELL_DOMINATE_PERSON || iId==SPELL_CLOUDKILL || iId==SPELL_FEEBLEMIND || iId==SPELL_HOLD_MONSTER || iId==SPELL_SUMMON_CREATURE_V || iId==SPELL_GREATER_SHADOW_CONJURATION_ACID_ARROW || iId==SPELL_GREATER_SHADOW_CONJURATION_MINOR_GLOBE || iId==SPELL_GREATER_SHADOW_CONJURATION_MIRROR_IMAGE || iId==SPELL_GREATER_SHADOW_CONJURATION_SUMMON_SHADOW || iId==SPELL_GREATER_SHADOW_CONJURATION_WEB || iId==SPELL_LESSER_MIND_BLANK || iId==SPELL_LESSER_PLANAR_BINDING || iId==SPELL_LESSER_SPELL_MANTLE || iId==SPELL_MIND_FOG || iId==SPELL_ENERGY_BUFFER || iId==SPELL_FIREBRAND || iId==SPELL_BIGBYS_INTERPOSING_HAND || iId==SPELL_BALL_LIGHTNING || iId==SPELL_MESTILS_ACID_SHEATH){iSpellLevel=5;}
else if (iId==SPELL_ACID_FOG || iId==SPELL_CHAIN_LIGHTNING || iId==SPELL_CIRCLE_OF_DEATH || iId==SPELL_GLOBE_OF_INVULNERABILITY || iId==SPELL_GREATER_DISPELLING || iId==SPELL_GREATER_SPELL_BREACH || iId==SPELL_MASS_HASTE || iId==SPELL_SUMMON_CREATURE_VI || iId==SPELL_GREATER_STONESKIN || iId==SPELL_ETHEREAL_VISAGE || iId==SPELL_PLANAR_BINDING || iId==SPELL_TENSERS_TRANSFORMATION || iId==SPELL_TRUE_SEEING || iId==SPELL_LEGEND_LORE || iId==SPELL_ISAACS_GREATER_MISSILE_STORM || iId==SPELL_BIGBYS_FORCEFUL_HAND || iId==SPELL_FLESH_TO_STONE || iId==SPELL_STONE_TO_FLESH || iId==SPELL_UNDEATH_TO_DEATH){iSpellLevel=6;}
else if (iId==SPELL_CONTROL_UNDEAD || iId==SPELL_DELAYED_BLAST_FIREBALL || iId==SPELL_FINGER_OF_DEATH || iId==SPELL_MORDENKAINENS_SWORD || iId==SPELL_POWER_WORD_STUN || iId==SPELL_PRISMATIC_SPRAY || iId==SPELL_SHADOW_SHIELD || iId==SPELL_SPELL_MANTLE || iId==SPELL_SUMMON_CREATURE_VII || iId==SPELL_BANISHMENT || iId==SPELL_BIGBYS_GRASPING_HAND || iId==SPELL_GREAT_THUNDERCLAP){iSpellLevel=7;}
else if (iId==SPELL_CREATE_UNDEAD || iId==SPELL_GREATER_PLANAR_BINDING || iId==SPELL_INCENDIARY_CLOUD || iId==SPELL_MASS_BLINDNESS_AND_DEAFNESS || iId==SPELL_MASS_CHARM || iId==SPELL_MIND_BLANK || iId==SPELL_PREMONITION || iId==SPELL_PROTECTION_FROM_SPELLS || iId==SPELL_SUMMON_CREATURE_VIII || iId==SPELL_HORRID_WILTING || iId==SPELL_BIGBYS_CLENCHED_FIST || iId==SPELL_SUNBURST || iId==SPELL_BLACKSTAFF ){iSpellLevel=8;}
else if (iId==SPELL_DOMINATE_MONSTER || iId==SPELL_ENERGY_DRAIN || iId==SPELL_GATE || iId==SPELL_GREATER_SPELL_MANTLE || iId==SPELL_METEOR_SWARM || iId==SPELL_MORDENKAINENS_DISJUNCTION || iId==SPELL_POWER_WORD_KILL || iId==SPELL_SHAPECHANGE || iId==SPELL_SUMMON_CREATURE_IX || iId==SPELL_TIME_STOP || iId==SPELL_WAIL_OF_THE_BANSHEE || iId==SPELL_BIGBYS_CRUSHING_HAND || iId==SPELL_WEIRD || iId==SPELL_BLACK_BLADE_OF_DISASTER){iSpellLevel=9;} else iSpellLevel=0;}
if (iClass==CLASS_TYPE_CLERIC || iClass==CLASS_TYPE_DRUID) { if (iId==SPELL_LIGHT || iId==SPELL_RESISTANCE || iId==SPELL_VIRTUE || iId==SPELL_INFLICT_MINOR_WOUNDS){iSpellLevel=0;}
//level 1 else if (iId==SPELL_BLESS || iId==SPELL_DOOM || iId==SPELL_ENDURE_ELEMENTS || iId==SPELL_REMOVE_FEAR || iId==SPELL_SANCTUARY || iId==SPELL_SCARE || iId==SPELL_SUMMON_CREATURE_I || iId==SPELL_PROTECTION_FROM_GOOD || iId==SPELL_PROTECTION_FROM_EVIL || iId==SPELL_INFLICT_LIGHT_WOUNDS || iId==SPELL_DIVINE_FAVOR || iId==SPELL_ENTROPIC_SHIELD || iId==SPELL_BANE || iId==SPELL_SHIELD_OF_FAITH || iId==SPELL_MAGIC_WEAPON || iId==SPELL_ENTANGLE || iId==SPELL_SLEEP || iId==SPELL_CAMOFLAGE || iId==SPELL_MAGIC_FANG || iId==SPELL_BLOOD_FRENZY || iId==SPELL_ONE_WITH_THE_LAND || iId==SPELL_FLAME_WEAPON ){iSpellLevel=1;}
//level 2 else if (iId==SPELL_BARKSKIN || iId==SPELL_FLAME_LASH || iId==SPELL_GUST_OF_WIND || iId==SPELL_HOLD_ANIMAL || iId==SPELL_AID || iId==SPELL_DARKNESS || iId==SPELL_HOLD_PERSON || iId==SPELL_LESSER_DISPEL || iId==SPELL_LESSER_RESTORATION || iId==SPELL_REMOVE_PARALYSIS || iId==SPELL_RESIST_ELEMENTS || iId==SPELL_SILENCE || iId==SPELL_SOUND_BURST || iId==SPELL_SUMMON_CREATURE_II || iId==SPELL_NEGATIVE_ENERGY_RAY || iId==SPELL_FIND_TRAPS || iId==SPELL_INFLICT_MODERATE_WOUNDS || iId==SPELL_STONE_BONES){iSpellLevel=2;}
//level 3 else if (iId==SPELL_CALL_LIGHTNING || iId==SPELL_ANIMATE_DEAD || iId==SPELL_BESTOW_CURSE || iId==SPELL_BLINDNESS_AND_DEAFNESS || iId==SPELL_CLARITY || iId==SPELL_CONTAGION || iId==SPELL_DISPEL_MAGIC || iId==SPELL_INVISIBILITY_PURGE || iId==SPELL_NEGATIVE_ENERGY_PROTECTION || iId==SPELL_PRAYER || iId==SPELL_PROTECTION_FROM_ELEMENTS || iId==SPELL_REMOVE_BLINDNESS_AND_DEAFNESS || iId==SPELL_REMOVE_CURSE || iId==SPELL_REMOVE_DISEASE || iId==SPELL_SEARING_LIGHT || iId==SPELL_SUMMON_CREATURE_III || iId==SPELL_MAGIC_CIRCLE_AGAINST_GOOD || iId==SPELL_MAGIC_CIRCLE_AGAINST_EVIL || iId==SPELL_CONTINUAL_FLAME || iId==SPELL_INFLICT_SERIOUS_WOUNDS || iId==SPELL_MAGIC_VESTMENT || iId==SPELL_DARKFIRE || iId==SPELL_GLYPH_OF_WARDING || iId==SPELL_QUILLFIRE || iId==SPELL_GREATER_MAGIC_FANG || iId==SPELL_SPIKE_GROWTH || iId==SPELL_INFESTATION_OF_MAGGOTS || iId==SPELL_HEALING_STING){iSpellLevel=3;}
//level 4 else if (iId==SPELL_DEATH_WARD || iId==SPELL_DISMISSAL || iId==SPELL_DIVINE_POWER || iId==SPELL_FREEDOM_OF_MOVEMENT || iId==SPELL_HAMMER_OF_THE_GODS || iId==SPELL_NEUTRALIZE_POISON || iId==SPELL_POISON || iId==SPELL_RESTORATION || iId==SPELL_SUMMON_CREATURE_IV || iId==SPELL_INFLICT_CRITICAL_WOUNDS || iId==SPELL_GREATER_MAGIC_WEAPON || iId==SPELL_HOLD_MONSTER || iId==SPELL_MASS_CAMOFLAGE || iId==SPELL_STONESKIN || iId==SPELL_ICE_STORM ){iSpellLevel=4;}
// level 5 else if (iId==SPELL_CIRCLE_OF_DOOM || iId==SPELL_FLAME_STRIKE || iId==SPELL_HEALING_CIRCLE || iId==SPELL_LESSER_SPELL_MANTLE || iId==SPELL_SLAY_LIVING || iId==SPELL_SPELL_RESISTANCE || iId==SPELL_SUMMON_CREATURE_IV || iId==SPELL_TRUE_SEEING || iId==SPELL_BATTLETIDE || iId==SPELL_MONSTROUS_REGENERATION || iId==SPELL_DEATH_WARD || iId==SPELL_WALL_OF_FIRE || iId==SPELL_AWAKEN || iId==SPELL_INFERNO || iId==SPELL_VINE_MINE){iSpellLevel=5;}
// level 6 else if (iId==SPELL_BLADE_BARRIER || iId==SPELL_CONTROL_UNDEAD || iId==SPELL_CREATE_UNDEAD || iId==SPELL_GREATER_DISPELLING || iId==SPELL_HARM || iId==SPELL_SUMMON_CREATURE_VI || iId==SPELL_BANISHMENT || iId==SPELL_PLANAR_ALLY || iId==SPELL_UNDEATH_TO_DEATH || iId==SPELL_GREATER_STONESKIN || iId==SPELL_ENERGY_BUFFER || iId==SPELL_DROWN || iId==SPELL_CRUMBLE || iId==SPELL_STONEHOLD){iSpellLevel=6;}
// level 7 else if (iId==SPELL_GREATER_RESTORATION || iId==SPELL_SUMMON_CREATURE_VII || iId==SPELL_WORD_OF_FAITH || iId==SPELL_DESTRUCTION || iId==SPELL_REGENERATE || iId==SPELL_CREEPING_DOOM || iId==SPELL_AURA_OF_VITALITY){iSpellLevel=7;}
//level 8 else if (iId==SPELL_CREATE_GREATER_UNDEAD || iId==SPELL_FIRE_STORM || iId==SPELL_SUMMON_CREATURE_VII || iId==SPELL_SUNBEAM || iId==SPELL_EARTHQUAKE || iId==SPELL_FINGER_OF_DEATH || iId==SPELL_NATURES_BALANCE || iId==SPELL_BOMBARDMENT || iId==SPELL_SUNBURST){iSpellLevel=8;}
//level 9 else if (iId==SPELL_ENERGY_DRAIN || iId==SPELL_GATE || iId==SPELL_IMPLOSION || iId==SPELL_MASS_HEAL || iId==SPELL_STORM_OF_VENGEANCE || iId==SPELL_SUMMON_CREATURE_IX || iId==SPELL_UNDEATHS_ETERNAL_FOE || iId==SPELL_ELEMENTAL_SWARM || iId==SPELL_SHAPECHANGE ){iSpellLevel=9;}else iSpellLevel=0;}
}
|