Script pour obtenir le niveau d'un sort

Répondre
Partager Rechercher
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.

Code PHP:

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;}


Citation :
Publié par Rose Noire
On vient tous piocher ici mais en réalité, l'époque où on donnait aussi un peu de nos scripts est révolue alors j'essaye de montrer l'exemple en communiquant un peu de nos scripts.
Le partage, c'est bon Mangez en !
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés