[Guide] How to make your own Spell Fixes menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 18
  1. #1
    Pedregon's Avatar Contributor
    Reputation
    220
    Join Date
    Aug 2007
    Posts
    705
    Thanks G/R
    0/1
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Guide] How to make your own Spell Fixes

    Here's a guide on how to make your own spell fixes.

    1. Decide what spell you want to fix, if it is class related, go to
    the specific class 'section' that is located in the "Spellfixes.cpp" or
    "hackfixes.cpp".

    For example, for mages you would see -

    Code:
    	//////////////////////////////////////////
    	// MAGE			                //
    	//////////////////////////////////////////
    Its better to use this method to keep it more organized.

    2. Go to Wowhead: Good news, everyone! too look up the spell ID for the specific spell you want to fix.

    3. Once you find the 'class section' and the spell ID
    start writing the code like this -
    Code:
     sp = dbcSpell.LookupEntryForced( SPELLID );
    Replace SPELLID with the spell id you want to fix.

    and follow it with a
    Code:
    if ( sp != NULL )
    {
    under it.

    4. Add the "Spell effects under that.

    So far it should like this -

    Code:
    		sp = dbcSpell.LookupEntryForced( SPELLID );
    	    if( sp != NULL )
                {
    		      sp->procFlags = PROC_ON_ANY_HOSTILE_ACTION; //Procs on any hostile action
    Here's a list of Various Spell Effects -

    Code:
    SPELL_EFFECT_NULL = 0,
    	SPELL_EFFECT_INSTANT_KILL,              //    1
    	SPELL_EFFECT_SCHOOL_DAMAGE,             //    2
    	SPELL_EFFECT_DUMMY,                     //    3
    	SPELL_EFFECT_PORTAL_TELEPORT,           //    4
    	SPELL_EFFECT_TELEPORT_UNITS,            //    5
    	SPELL_EFFECT_APPLY_AURA,                //    6
    	SPELL_EFFECT_ENVIRONMENTAL_DAMAGE,      //    7
    	SPELL_EFFECT_POWER_DRAIN,               //    8
    	SPELL_EFFECT_HEALTH_LEECH,              //    9
    	SPELL_EFFECT_HEAL,                      //    10
    	SPELL_EFFECT_BIND,                      //    11
    	SPELL_EFFECT_PORTAL,                    //    12
    	SPELL_EFFECT_RITUAL_BASE,               //    13
    	SPELL_EFFECT_RITUAL_SPECIALIZE,         //    14
    	SPELL_EFFECT_RITUAL_ACTIVATE_PORTAL,    //    15
    	SPELL_EFFECT_QUEST_COMPLETE,            //    16
    	SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL,    //    17
    	SPELL_EFFECT_RESURRECT,                 //    18
    	SPELL_EFFECT_ADD_EXTRA_ATTACKS,         //    19
    	SPELL_EFFECT_DODGE,                     //    20
    	SPELL_EFFECT_EVADE,                     //    21
    	SPELL_EFFECT_PARRY,                     //    22
    	SPELL_EFFECT_BLOCK,                     //    23
    	SPELL_EFFECT_CREATE_ITEM,               //    24
    	SPELL_EFFECT_WEAPON,                    //    25
    	SPELL_EFFECT_DEFENSE,                   //    26
    	SPELL_EFFECT_PERSISTENT_AREA_AURA,      //    27
    	SPELL_EFFECT_SUMMON,                    //    28
    	SPELL_EFFECT_LEAP,                      //    29
    	SPELL_EFFECT_ENERGIZE,                  //    30
    	SPELL_EFFECT_WEAPON_PERCENT_DAMAGE,     //    31
    	SPELL_EFFECT_TRIGGER_MISSILE,           //    32
    	SPELL_EFFECT_OPEN_LOCK,                 //    33
    	SPELL_EFFECT_TRANSFORM_ITEM,            //    34
    	SPELL_EFFECT_APPLY_AREA_AURA,           //    35
    	SPELL_EFFECT_LEARN_SPELL,               //    36
    	SPELL_EFFECT_SPELL_DEFENSE,             //    37
    	SPELL_EFFECT_DISPEL,                    //    38
    	SPELL_EFFECT_LANGUAGE,                  //    39
    	SPELL_EFFECT_DUAL_WIELD,                //    40
    	SPELL_EFFECT_SUMMON_WILD,               //    41
    	SPELL_EFFECT_SUMMON_GUARDIAN,           //    42
    	SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER,//    43
    	SPELL_EFFECT_SKILL_STEP,                //    44
    	SPELL_EFFECT_UNDEFINED_45,              //    45
    	SPELL_EFFECT_SPAWN,                     //    46
    	SPELL_EFFECT_TRADE_SKILL,               //    47
    	SPELL_EFFECT_STEALTH,                   //    48
    	SPELL_EFFECT_DETECT,                    //    49
    	SPELL_EFFECT_SUMMON_OBJECT,             //    50
    	//SPELL_EFFECT_TRANS_DOOR,              //    50
    	SPELL_EFFECT_FORCE_CRITICAL_HIT,        //    51
    	SPELL_EFFECT_GUARANTEE_HIT,             //    52
    	SPELL_EFFECT_ENCHANT_ITEM,              //    53
    	SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY,    //    54
    	SPELL_EFFECT_TAMECREATURE,              //    55
    	SPELL_EFFECT_SUMMON_PET,                //    56
    	SPELL_EFFECT_LEARN_PET_SPELL,           //    57
    	SPELL_EFFECT_WEAPON_DAMAGE,             //    58
    	SPELL_EFFECT_OPEN_LOCK_ITEM,            //    59
    	SPELL_EFFECT_PROFICIENCY,               //    60
    	SPELL_EFFECT_SEND_EVENT,                //    61
    	SPELL_EFFECT_POWER_BURN,                //    62
    	SPELL_EFFECT_THREAT,                    //    63
    	SPELL_EFFECT_TRIGGER_SPELL,             //    64
    	SPELL_EFFECT_APPLY_AREA_AURA2,			//    65
    	SPELL_EFFECT_POWER_FUNNEL,              //    66
    	SPELL_EFFECT_HEAL_MAX_HEALTH,           //    67
    	SPELL_EFFECT_INTERRUPT_CAST,            //    68
    	SPELL_EFFECT_DISTRACT,                  //    69
    	SPELL_EFFECT_PULL,                      //    70
    	SPELL_EFFECT_PICKPOCKET,                //    71
    	SPELL_EFFECT_ADD_FARSIGHT,              //    72
    	SPELL_EFFECT_SUMMON_POSSESSED,          //    73
        SPELL_EFFECT_USE_GLYPH,	                //    74
    	SPELL_EFFECT_HEAL_MECHANICAL,           //    75
    	SPELL_EFFECT_SUMMON_OBJECT_WILD,        //    76
    	SPELL_EFFECT_SCRIPT_EFFECT,             //    77
    	SPELL_EFFECT_ATTACK,                    //    78
    	SPELL_EFFECT_SANCTUARY,                 //    79
    	SPELL_EFFECT_ADD_COMBO_POINTS,          //    80
    	SPELL_EFFECT_CREATE_HOUSE,              //    81
    	SPELL_EFFECT_BIND_SIGHT,                //    82
    	SPELL_EFFECT_DUEL,                      //    83
    	SPELL_EFFECT_STUCK,                     //    84
    	SPELL_EFFECT_SUMMON_PLAYER,             //    85
    	SPELL_EFFECT_ACTIVATE_OBJECT,           //    86
    	SPELL_EFFECT_SUMMON_TOTEM_SLOT1,        //    87
    	SPELL_EFFECT_SUMMON_TOTEM_SLOT2,        //    88
    	SPELL_EFFECT_SUMMON_TOTEM_SLOT3,        //    89
    	SPELL_EFFECT_SUMMON_TOTEM_SLOT4,        //    90
    	SPELL_EFFECT_THREAT_ALL,                //    91
    	SPELL_EFFECT_ENCHANT_HELD_ITEM,         //    92
    	SPELL_EFFECT_SUMMON_PHANTASM,           //    93
    	SPELL_EFFECT_SELF_RESURRECT,            //    94
    	SPELL_EFFECT_SKINNING,                  //    95
    	SPELL_EFFECT_CHARGE,                    //    96
    	SPELL_EFFECT_SUMMON_CRITTER,            //    97
    	SPELL_EFFECT_KNOCK_BACK,                //    98
    	SPELL_EFFECT_DISENCHANT,                //    99
    	SPELL_EFFECT_INEBRIATE,                 //    100
    	SPELL_EFFECT_FEED_PET,                  //    101
    	SPELL_EFFECT_DISMISS_PET,               //    102
    	SPELL_EFFECT_REPUTATION,                //    103
    	SPELL_EFFECT_SUMMON_OBJECT_SLOT1,       //    104
    	SPELL_EFFECT_SUMMON_OBJECT_SLOT2,       //    105
    	SPELL_EFFECT_SUMMON_OBJECT_SLOT3,       //    106
    	SPELL_EFFECT_SUMMON_OBJECT_SLOT4,       //    107
    	SPELL_EFFECT_DISPEL_MECHANIC,           //    108
    	SPELL_EFFECT_SUMMON_DEAD_PET,           //    109
    	SPELL_EFFECT_DESTROY_ALL_TOTEMS,        //    110
    	SPELL_EFFECT_DURABILITY_DAMAGE,         //    111
    	SPELL_EFFECT_SUMMON_DEMON,              //    112
    	SPELL_EFFECT_RESURRECT_FLAT,            //    113
    	SPELL_EFFECT_ATTACK_ME,                 //    114
    	SPELL_EFFECT_DURABILITY_DAMAGE_PCT,     //    115
    	SPELL_EFFECT_SKIN_PLAYER_CORPSE,        //    116
    	SPELL_EFFECT_SPIRIT_HEAL,               //    117
    	SPELL_EFFECT_SKILL,                     //    118
    	SPELL_EFFECT_APPLY_PET_AURA,            //    119
    	SPELL_EFFECT_TELEPORT_GRAVEYARD,        //    120
    	SPELL_EFFECT_DUMMYMELEE,                //    121
    	SPELL_EFFECT_UNKNOWN1,                  //    122
    	SPELL_EFFECT_Start_Taxi,                //    123
    	SPELL_EFFECT_PLAYER_PULL,               //    124
    	SPELL_EFFECT_UNKNOWN4,                  //    125
    	SPELL_EFFECT_UNKNOWN5,                  //    126
    	SPELL_EFFECT_PROSPECTING,               //    127
    	SPELL_EFFECT_UNKNOWN7,                  //    128
    	SPELL_EFFECT_UNKNOWN8,                  //    129
    //	SPELL_EFFECT_UNKNOWN9,                  //    129
    	SPELL_EFFECT_UNKNOWN10,                 //    130
    	SPELL_EFFECT_UNKNOWN11,                 //    131
    	SPELL_EFFECT_UNKNOWN12,                 //    132
    	SPELL_EFFECT_FORGET_SPECIALIZATION,     //    133
    	SPELL_EFFECT_KILL_CREDIT,               //    134
    	SPELL_EFFECT_UNKNOWN15,                 //    135
    	SPELL_EFFECT_UNKNOWN16,                 //    136
    	SPELL_EFFECT_UNKNOWN17,                 //    137
    	SPELL_EFFECT_UNKNOWN18,                 //    138
    	SPELL_EFFECT_UNKNOWN19,                 //    139
    	SPELL_EFFECT_UNKNOWN20,                 //    140
    	SPELL_EFFECT_UNKNOWN21,                 //    141
    	SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE,  //    142
    	SPELL_EFFECT_UNKNOWN22,                 //    143
    	SPELL_EFFECT_UNKNOWN23,                 //    144
    	SPELL_EFFECT_UNKNOWN24,                 //    145
    	SPELL_EFFECT_UNKNOWN25,                 //    146
    	SPELL_EFFECT_UNKNOWN26,                 //    147
    	SPELL_EFFECT_UNKNOWN27,                 //    148
    	SPELL_EFFECT_QUEST_FAIL,                //    149
    	SPELL_EFFECT_UNKNOWN28,                 //    150
    	SPELL_EFFECT_UNKNOWN29,                 //    151
    	SPELL_EFFECT_UNKNOWN30,                 //    152
    	SPELL_EFFECT_SUMMON_TARGET,             //    153
    	SPELL_EFFECT_SUMMON_REFER_A_FRIEND,     //    154
    	SPELL_EFFECT_TAME_CREATURE,             //    155
    	SPELL_EFFECT_ADD_SOCKET,                //    156
    	SPELL_EFFECT_CREATE_ITEM2,				//    157
    	SPELL_EFFECT_MILLING,					//    158
    	SPELL_EFFECT_UNKNOWN37,                 //    159
    	SPELL_EFFECT_UNKNOWN38,                 //    160
    	SPELL_EFFECT_LEARN_SPEC,                //    161
    	SPELL_EFFECT_ACTIVATE_SPEC,             //    162
        TOTAL_SPELL_EFFECTS,                    //    163
    };
    
    // target type flags
    enum SpellTargetTypes
    {
        SPELL_TARGET_TYPE_NONE              = 0x01,
        SPELL_TARGET_TYPE_PROFESSION        = 0x02,
        SPELL_TARGET_TYPE_NONE1             = 0x04,
        SPELL_TARGET_TYPE_NONE2             = 0x08,
        SPELL_TARGET_TYPE_ENCHANTABLE_ITEM  = 0x10,
        SPELL_TARGET_TYPE_UNK               = 0x20,     // seems to be scripted stuff
        SPELL_TARGET_TYPE_UNK0              = 0x40,     // lots of spells interesting to research this one further
        SPELL_TARGET_TYPE_UNK1              = 0x80,     // something todo with scripted and GM stuff
        SPELL_TARGET_TYPE_UNK2              = 0x100,    // lots of spells interesting to research this one further...
        SPELL_TARGET_TYPE_PLAYER_CORPSE     = 0x200,
        SPELL_TARGET_TYPE_DEATHx            = 0x400,
        SPELL_TARGET_TYPE_NONE3             = 0x800,
        SPELL_TARGET_TYPE_NONE4             = 0x1000,
        SPELL_TARGET_TYPE_NONE5             = 0x2000,
        SPELL_TARGET_TYPE_GAME_OBJECTS      = 0x4000, // like chests and mining
        SPELL_TARGET_TYPE_DEATH             = 0x8000,
    };
    
    enum SpellTypes // SPELL_ENTRY_buffType
    {
        SPELL_TYPE_NONE                 = 0x00000000,
        SPELL_TYPE_SEAL                 = 0x00000001,
        SPELL_TYPE_ASPECT               = 0x00000002,
        SPELL_TYPE_BLESSING             = 0x00000004,
        SPELL_TYPE_CURSE                = 0x00000008,
        SPELL_TYPE_STING                = 0x00000010,
        SPELL_TYPE_ARMOR                = 0x00000020,
        SPELL_TYPE_AURA                 = 0x00000040,
        //hmm these could be named simply incompatible spells. One active at a time
        SPELL_TYPE_MARK_GIFT            = 0x00000080,
        SPELL_TYPE_TRACK                = 0x00000100,
        SPELL_TYPE_HUNTER_TRAP          = 0x00000200,
        SPELL_TYPE_MAGE_INTEL           = 0x00000400,
        SPELL_TYPE_MAGE_MAGI            = 0x00000800,
        SPELL_TYPE_MAGE_WARDS           = 0x00001000,
        SPELL_TYPE_PRIEST_SH_PPROT      = 0x00002000,
        SPELL_TYPE_SHIELD               = 0x00004000,
        SPELL_TYPE_FORTITUDE            = 0x00008000,
        SPELL_TYPE_SPIRIT               = 0x00010000,
        SPELL_TYPE_MAGE_AMPL_DUMP       = 0x00020000,
        SPELL_TYPE_WARLOCK_IMMOLATE     = 0x00040000, //maybe there is a better way to trigger the aura state for immolate spell
        SPELL_TYPE_ELIXIR_BATTLE		= 0x00080000,
        SPELL_TYPE_ELIXIR_GUARDIAN      = 0x00100000,
        SPELL_TYPE_ELIXIR_FLASK         = SPELL_TYPE_ELIXIR_BATTLE | SPELL_TYPE_ELIXIR_GUARDIAN, //weee, this contains both battle and guardian elixirs ;)
        SPELL_TYPE_HUNTER_MARK			= 0x00200000,
        SPELL_TYPE_WARRIOR_SHOUT        = 0x00400000,
    	SPELL_TYPE_QUIVER_HASTE			= 0x00800000,
    	SPELL_TYPE_CORRUPTION			= 0x01000000,
    	SPELL_TYPE_HAND					= 0x02000000,
    };
    
    //custom stuff generated for spells that will not change in time
    enum SpellIsFlags
    {
        SPELL_FLAG_IS_DAMAGING				= 0x00000001,
        SPELL_FLAG_IS_HEALING				= 0x00000002,
        SPELL_FLAG_IS_TARGETINGSTEALTHED	= 0x00000004,
    	SPELL_FLAG_IS_REQUIRECOOLDOWNUPDATE	= 0x00000008, //it started with rogue cold blood but I'm sure others will come
        SPELL_FLAG_IS_POISON				= 0x00000010, //rogue has a few spells that can stack so can't use the spell_type enum ;)
        SPELL_FLAG_IS_FINISHING_MOVE		= 0x00000020, //rogue has a few spells that can stack so can't use the spell_type enum ;)
        SPELL_FLAG_IS_NOT_USING_DMG_BONUS	= 0x00000040,
        SPELL_FLAG_IS_CHILD_SPELL			= 0x00000080, //auras proc auras that have same name, these should not remove mother aura when adding to target
        SPELL_FLAG_IS_CASTED_ON_PET_SUMMON_ON_PET		= 0x00000100, //we should cast these on pet too
        SPELL_FLAG_IS_CASTED_ON_PET_SUMMON_PET_OWNER	= 0x00000200, //we should cast these on owner too
        SPELL_FLAG_IS_EXPIREING_WITH_PET	= 0x00000400, //when pet dies, we remove this too
        SPELL_FLAG_IS_EXPIREING_ON_PET		= 0x00000800, //when pet is summoned
    	SPELL_FLAG_IS_FORCEDDEBUFF			= 0x00001000, // forced to be a debuff
    	SPELL_FLAG_IS_FORCEDBUFF			= 0x00002000, // forced to be a buff
    	SPELL_FLAG_IS_INHERITING_LEVEL		= 0x00004000, // summons to inherit caster level or not
    	SPELL_FLAG_IS_MAXSTACK_FOR_DEBUFF	= 0x00008000, // summons to inherit caster level or not
    };
    
    enum SpellCoefficientsFlags
    {
    	SPELL_FLAG_IS_DOT_OR_HOT_SPELL		= 0x00000001, //Damage over Time or Healing over Time Spells
    	SPELL_FLAG_IS_DD_OR_DH_SPELL		= 0x00000002, //Direct Damage or Direct Healing Spells
    	SPELL_FLAG_IS_DD_DH_DOT_SPELL		= SPELL_FLAG_IS_DOT_OR_HOT_SPELL | SPELL_FLAG_IS_DD_OR_DH_SPELL, //DoT+(DD|DH) Spells
    	SPELL_FLAG_AOE_SPELL				= 0x00000004, //AoE Spells
    	SPELL_FLAG_ADITIONAL_EFFECT			= 0x00000008, //Spells with additional effect not DD or DoT or HoT
    };
    
    enum DiminishingGroup
    {
    	DIMINISHING_GROUP_STUN				= 0,
    	DIMINISHING_GROUP_STUN_PROC			= 1,
    	DIMINISHING_GROUP_ROOT				= 2,
    	DIMINISHING_GROUP_ROOT_PROC			= 3,
    	DIMINISHING_GROUP_SLEEP				= 4,
    	DIMINISHING_GROUP_BLIND_CYCLONE		= 5,
    	DIMINISHING_GROUP_GOUGE_POLY_SAP	= 6,
    	DIMINISHING_GROUP_FEAR				= 7,
    	DIMINISHING_GROUP_CHARM				= 8,
    	DIMINISHING_GROUP_KIDNEY_SHOT		= 9,
    	DIMINISHING_GROUP_HORROR			= 10,
    	DIMINISHING_GROUP_BANISH			= 11,
    	DIMINISHING_GROUP_NOT_DIMINISHED	= 12,
    	DIMINISHING_GROUP_DISARM			= 13,
    	DIMINISHING_GROUP_SILENCE			= 14,
    Misc -

    Code:
    const char * name = "Dummy Trigger";
    	SpellEntry * sp = new SpellEntry;
    	memset(sp, 0, sizeof(SpellEntry));
    	sp->Id = id;
    	sp->Attributes = 384;
    	sp->AttributesEx = 268435456;
    	sp->AttributesExB = 4;
    	sp->CastingTimeIndex=1;
    	sp->procChance=75;
    	sp->rangeIndex=13;
    	sp->EquippedItemClass=uint32(-1);
    	sp->Effect[0]=3;
    	sp->EffectImplicitTargetA[0]=25;
    	sp->NameHash=crc32((const unsigned char*)name, (unsigned int)strlen(name));
    	sp->dmg_multiplier[0]=1.0f;
    	sp->StanceBarOrder=-1;
    	dbcSpell.SetRow(id,sp);
    	sWorld.dummyspells.push_back(sp);
    		uint32 rank = 0;
    		uint32 namehash = 0;
    
    		sp->self_cast_only = false;
    		sp->apply_on_shapeshift_change = false;
    		sp->always_apply = false;
    		sp->base_range_or_radius_sqr = radius*radius;
    
    		sp->ai_target_type = GetAiTargetType( sp );
    sp->NameHash   = namehash;
    sp->EffectPointsPerComboPoint[col1_swap]
    sp->EffectRadiusIndex[col1_swap]
    sp->EffectDieSides[col1_swap]
    temp = sp->EffectMechanic[col1_swap];
    	sp->proc_interval = 0;//trigger at each event
    		sp->c_is_flags = 0;
    		sp->spell_coef_flags = 0;
    		sp->Dspell_coef_override = -1;
    		sp->OTspell_coef_override = -1;
    		sp->casttime_coef = 0;
    		sp->fixed_dddhcoef = -1;
    		sp->fixed_hotdotcoef = -1;
    sp->c_is_flags |= SPELL_FLAG_IS_NOT_USING_DMG_BONUS;
    sp->Effect[2] == SPELL_EFFECT_LEARN_SPELL )
    			if( sp->EffectApplyAuraName[0] == 27 ||
    				sp->EffectApplyAuraName[1] == 27 ||
    				sp->EffectApplyAuraName[2] == 27 )
    				sp->MechanicsType = MECHANIC_SILENCED;
    
    			//Set Stunning spells mechanic.
    			if( sp->EffectApplyAuraName[0] == 12 ||
    				sp->EffectApplyAuraName[1] == 12 ||
    				sp->EffectApplyAuraName[2] == 12 )
    				sp->MechanicsType = MECHANIC_STUNNED;
    
    			//Set Fearing spells mechanic
    			if( sp->EffectApplyAuraName[0] == 7 ||
    				sp->EffectApplyAuraName[1] == 7 ||
    				sp->EffectApplyAuraName[2] == 7 )
    				sp->MechanicsType = MECHANIC_FLEEING;
    			//Set Interrupted spells mech
    			if( sp->Effect[0] == SPELL_EFFECT_INTERRUPT_CAST ||
    				sp->Effect[1] == SPELL_EFFECT_INTERRUPT_CAST ||
    				sp->Effect[2] == SPELL_EFFECT_INTERRUPT_CAST )
    				sp->MechanicsType = MECHANIC_INTERRUPTED;
    				if (sp->EffectApplyAuraName[i] == SPELL_AURA_PERIODIC_DAMAGE ||
    };sp->EffectApplyAuraName[i] == SPELL_AURA_PERIODIC_HEAL ||
    sp->EffectApplyAuraName[i] == SPELL_AURA_PERIODIC_LEECH )
    sp->spell_coef_flags |= SPELL_FLAG_IS_DOT_OR_HOT_SPELL;
        TARGET_FLAG_SELF              
        TARGET_FLAG_UNK1               
        TARGET_FLAG_UNIT              
        TARGET_FLAG_UNK2              
        TARGET_FLAG_UNK3              
        TARGET_FLAG_ITEM              
        TARGET_FLAG_SOURCE_LOCATION   
        TARGET_FLAG_DEST_LOCATION     
        TARGET_FLAG_UNK6           
        TARGET_FLAG_UNK7           
        TARGET_FLAG_CORPSE       
        TARGET_FLAG_UNK8            
        TARGET_FLAG_OBJECT       
        TARGET_FLAG_TRADE_ITEM          
        TARGET_FLAG_STRING       
        TARGET_FLAG_UNK9     
        TARGET_FLAG_CORPSE2    
        TARGET_FLAG_GLYPH  
        SPELL_LOG_NONE,
        SPELL_LOG_MISS,
        SPELL_LOG_RESIST,
        SPELL_LOG_DODGE,
        SPELL_LOG_PARRY,
        SPELL_LOG_BLOCK,
        SPELL_LOG_EVADE,
        SPELL_LOG_IMMUNE,
        SPELL_LOG_IMMUNE2,
        SPELL_LOG_DEFLECT,
        SPELL_LOG_ABSORB,
        SPELL_LOG_REFLECT
    
    	PROC_NULL							
    	PROC_ON_ANY_HOSTILE_ACTION						
    	PROC_ON_GAIN_EXPIERIENCE						
    	PROC_ON_MELEE_ATTACK						
    	PROC_ON_CRIT_HIT_VICTIM						
    	PROC_ON_CAST_SPELL					
    	PROC_ON_PHYSICAL_ATTACK_VICTIM		
    	PROC_ON_RANGED_ATTACK				
    	PROC_ON_RANGED_CRIT_ATTACK			
    	PROC_ON_PHYSICAL_ATTACK				
    	PROC_ON_MELEE_ATTACK_VICTIM			
    	PROC_ON_SPELL_HIT					
    	PROC_ON_RANGED_CRIT_ATTACK_VICTIM	= 0x800,		
    	PROC_ON_CRIT_ATTACK					
    	PROC_ON_RANGED_ATTACK_VICTIM		
    	PROC_ON_PRE_DISPELL_AURA_VICTIM		
    	PROC_ON_SPELL_LAND_VICTIM			
    	PROC_ON_CAST_SPECIFIC_SPELL			
    	PROC_ON_SPELL_HIT_VICTIM			
    	PROC_ON_SPELL_CRIT_HIT_VICTIM		
    	PROC_ON_TARGET_DIE				
    	PROC_ON_ANY_DAMAGE_VICTIM			
    	PROC_ON_TRAP_TRIGGER					PROC_ON_AUTO_SHOT_HIT				
    	PROC_ON_ABSORB					        PROC_ON_RESIST_VICTIM				
    	PROC_ON_DODGE_VICTIM				
    	PROC_ON_DIE	
    	PROC_REMOVEONUSE					
    	PROC_MISC							
    	PROC_ON_BLOCK_VICTIM					
    	PROC_ON_SPELL_CRIT_HIT					
    	PROC_TARGET_SELF
    Obviously you could look into the spell.h or spellfixes.cpp/hackfixes.cpp
    and look at other spell fixes effects.

    For Procs use -

    Code:
    sp->procChance = 15;
    For Cooldowns use -

    Code:
    else sp->RecoveryTime = 1337; // 1 sec .337 sec Cooldown
    5. Once your done adding the effects end it with a bracket

    Code:
    }
    And your done.

    Here's an example.

    Code:
    		//Summon Water Elemental
    		sp = dbcSpell.LookupEntryForced( 31687 );
    	        if( sp != NULL )
                    {
    		      sp->Effect[0] = SPELL_EFFECT_SUMMON;
    		      sp->Effect[1] = 0;
    		      sp->EffectApplyAuraName[0] = sp->EffectApplyAuraName[1] = 0;
    		      sp->EffectMiscValueB[0] = 0;
    		      sp->EffectMiscValue[0] = 510;
    	    }


    For multiple ranks or spells, here's an example.

    Code:
    		// Holy Concentration
            sp = dbcSpell.LookupEntryForced( 34753 ); //Rank 1
                if( sp != NULL )
                {
                sp->EffectApplyAuraName[0] = SPELL_AURA_PROC_TRIGGER_SPELL;
                sp->procChance = 10;
                sp->procFlags = PROC_ON_SPELL_CRIT_HIT;
                sp->EffectTriggerSpell[0] = 34754;
    			}	
            sp = dbcSpell.LookupEntryForced( 34859 ); //Rank 2
                if( sp != NULL )
                {
                sp->EffectApplyAuraName[0] = SPELL_AURA_PROC_TRIGGER_SPELL;
                sp->procChance = 20;
                sp->procFlags = PROC_ON_SPELL_CRIT_HIT;
                sp->EffectTriggerSpell[0] = 34754;
    			}
    		sp = dbcSpell.LookupEntryForced( 34860 ); //Rank 3
                if( sp != NULL )
                {
                sp->EffectApplyAuraName[0] = SPELL_AURA_PROC_TRIGGER_SPELL;
                sp->procChance = 30;
                sp->procFlags = PROC_ON_SPELL_CRIT_HIT;
                sp->EffectTriggerSpell[0] = 34754;
    			}
    Last edited by Pedregon; 05-02-2010 at 03:49 PM.
    Leecher - 08-30-2007 - Contributor - 07-23-2008
    Donator - 06-19-2009
    My website



    [Guide] How to make your own Spell Fixes
  2. #2
    Thelovefool's Avatar Banned
    Reputation
    198
    Join Date
    Mar 2009
    Posts
    273
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    thx. this really helps alot

  3. #3
    geddy's Avatar Member
    Reputation
    1
    Join Date
    Aug 2007
    Posts
    22
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yeah could come in handy.thanks!

  4. #4
    Jurkey's Avatar Member
    Reputation
    1
    Join Date
    Jan 2009
    Posts
    28
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Isn't there a way just to go into a script or something and edit the spell?

  5. #5
    Pedregon's Avatar Contributor
    Reputation
    220
    Join Date
    Aug 2007
    Posts
    705
    Thanks G/R
    0/1
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Isn't there a way just to go into a script or something and edit the spell?
    What do you mean edit the spell? If the spell does not work, obviously it's not in the core,
    therefore, you would need to add it with this guide.
    Leecher - 08-30-2007 - Contributor - 07-23-2008
    Donator - 06-19-2009
    My website



  6. #6
    Jurkey's Avatar Member
    Reputation
    1
    Join Date
    Jan 2009
    Posts
    28
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    More like, if a spell is bugged?
    Like gouge adding 5 combo points instead of 1?

  7. #7
    P1raten's Avatar Banned
    Reputation
    500
    Join Date
    Mar 2008
    Posts
    1,323
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nice simple guide, although note that there are alot more advanced way to do this, which would make a alot better result. Good guide however, +rep x5

  8. #8
    Tompie25's Avatar Member
    Reputation
    1
    Join Date
    Jun 2007
    Posts
    11
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I dont understand anything of this o.o

    Where do I find spellfixes.ccp? It's nowhere in my server folder and its nowhere in my DB, im using p1ratens v2 repack tho

  9. #9
    Drumbumfred's Avatar Private
    Reputation
    1
    Join Date
    Apr 2010
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm using Keazain's repack and i have no clue where it is >.< been tryin to contact P1raten an ask for advice on how to set up his repack since it seems better than this one lmao

    -Fred

    edit - 'using'

  10. #10
    Laniax's Avatar Active Member
    Reputation
    47
    Join Date
    Feb 2008
    Posts
    187
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    For the two above, this can only be done if you compiled the core yourself.

    Aka. no repacks

  11. #11
    streetkiller's Avatar Member
    Reputation
    2
    Join Date
    Sep 2008
    Posts
    36
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just a question.
    This would let a spell proc right?
    What if the spell effects isn't implented?
    It will proc but it won't do anything right?

  12. #12
    Pedregon's Avatar Contributor
    Reputation
    220
    Join Date
    Aug 2007
    Posts
    705
    Thanks G/R
    0/1
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This would let a spell proc right?
    What if the spell effects isn't implented?
    It will proc but it won't do anything right?
    Depends on what the spell is; if you added the proc it wouldn't do anything if there was nothing to proc, and if the spell didn't need a hackfix; it wouldn't need to have the spell effects added and just have the proc added.
    Leecher - 08-30-2007 - Contributor - 07-23-2008
    Donator - 06-19-2009
    My website



  13. #13
    warnick42's Avatar Private
    Reputation
    4
    Join Date
    Feb 2011
    Posts
    11
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Where can I fix spells for CactusEMU? There is no spellfixes.cpp or hackfixes.cpp !!!

  14. #14
    *Alexz*'s Avatar Member
    Reputation
    105
    Join Date
    May 2007
    Posts
    521
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    CactusEMU is different than this this is for ArcEmu
    CactusEMU is based off of Trinity

    Also to add spellfixes.cpp doesn't exist anymore so this is a bit outdated however hackfixes still dose exist

  15. #15
    thebigman's Avatar Contributor Reliable Trader
    CoreCoins Purchaser
    Reputation
    89
    Join Date
    Dec 2008
    Posts
    605
    Thanks G/R
    2/0
    Trade Feedback
    26 (96%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    yea, warnick this is ancient shit here. Go get someone who knows what they are doing if you want trinity.

Page 1 of 2 12 LastLast

Similar Threads

  1. (Guide) How To Make Your Own House.
    By joshismad in forum WoW EMU Guides & Tutorials
    Replies: 19
    Last Post: 10-29-2008, 09:21 PM
  2. (Guide) How To Make Your Own House.
    By joshismad in forum WoW EMU Guides & Tutorials
    Replies: 0
    Last Post: 08-28-2008, 05:09 AM
  3. Replies: 9
    Last Post: 04-22-2008, 03:09 PM
  4. [Guide] How to make your own Machinima
    By TDWP in forum World of Warcraft General
    Replies: 0
    Last Post: 04-04-2008, 12:38 AM
  5. [Guide] How to make your own graveyard
    By latruwski in forum World of Warcraft Emulator Servers
    Replies: 15
    Last Post: 02-28-2008, 01:43 AM
All times are GMT -5. The time now is 02:02 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search