summaryrefslogblamecommitdiff
path: root/npc/magic/demure.txt
blob: 0a1477e4889c2145f17e32a7f4212f573ea02ed7 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                                          















                                             
                    

                         

                 



















                                             
                           







                                             
 






































                                                                                                                               

  
                                         
                                    




                                                                                  

                                            
                                        





                                                                             




                                                            
 
                             

                                                  
                                                             


                                                                        



                                       

        






                                                                    
                                                                 

        
       

        
// TMW2 script
// Author: Jesusalva <admin@tmw2.org>
//
// Magic Script: TMW2_DEMURE
//
// Let yourself rage and go out of control destroy everything around you
// Doubles attack speed but nullifies evade complety for 30 seconds.
// Each level grants +30s and +1% evade and +5% attack speed.
// After level 1, evade penalty/cooldown raises in 1s per additional level
//
// Cooldown is cast duration
/*
	SC_INCAGI:                        190
	SC_INCVIT:                        191
	SC_INCINT:                        192
	SC_INCDEX:                        193
	SC_INCLUK:                        194
	SC_INCHIT:                        195
	SC_INCHITRATE:                    196
	SC_INCFLEE:                       197
	SC_INCFLEERATE:                   198
	SC_INCMHPRATE:                    199
	SC_INCMSPRATE:                    200
	SC_INCATKRATE:                    201
	SC_INCMATKRATE:                   202
	SC_INCDEFRATE:                    203

	SC_WALKSPEED
	SC_INVINCIBLE (?)
    SC_MANA_PLUS (?)
	SC_INCMHP
	SC_INCMSP

    // The basic ones
	SC_STONE:                           0
	SC_FREEZE:                          1
	SC_STUN:                            2
	SC_SLEEP:                           3
	SC_POISON:                          4
	SC_CURSE:                           5
	SC_SILENCE:                         6
	SC_CONFUSION:                       7
	SC_BLIND:                           8
	SC_BLOODING:                        9
	SC_DPOISON:                        10
	SC_FEAR:                           11
	SC_COLD:                           12
	SC_BURNING:                        13
	SC_DEEP_SLEEP:                     14
	SC_PROVOKE:                        20
	SC_ENDURE:                         21

    // Original potion ones
	SC_ATTHASTE_POTION1:               55
	SC_ATTHASTE_POTION2:               56
	SC_ATTHASTE_POTION3:               57
	SC_ATTHASTE_INFINITY:              58
	SC_MOVHASTE_HORSE:                 59
	SC_MOVHASTE_INFINITY:              60
	SC_PLUSATTACKPOWER:                61
	SC_PLUSMAGICPOWER:                 62

    // Guild Skills
	SC_INCALLSTATUS
	SC_SLOWPOISON
	SC_BENEDICTIO (?)
	SC_GDSKILL_REGENERATION (?)
	SC_ANGELUS:                          DEF+
	SC_BLESSING:                         STR/DEX/INT+
	SC_IMPOSITIO:                        Wpn ATK+
	SC_FORTUNE:                          CRIT+

	// Guild & Party skills
	SC_KAIZEL:                           Auto Revive
	SC_MAXIMIZEPOWER:                    Always at full power
	SC_MAGNIFICAT:                       MP Regen × 2

	// Tested Newer ones
	SC_RICHMANKIM:                    167 (Target EXP+)

    // Untested Newer ones
	SC_CRITICALPERCENT:               262
	SC_RESIST_PROPERTY_WATER:         664
	SC_RESIST_PROPERTY_GROUND:        665
	SC_RESIST_PROPERTY_FIRE:          666
	SC_RESIST_PROPERTY_WIND:          667

	// Potionable Skills (Scrolls?)
	TMW2_OVERLOAD (Pierce Double Damage)
	TMW2_MAGNUSHEAL (Area Healing based on MATK, affects homun)
	TMW2_FIREARROW (A weak fire-based attack. Bleeds.)
	TMW2_FROSTDIVER (A weak ice-based attack. Freeze.)
	TMW2_LIGHTNINGBOLT (A strong wind-based attack)
	TMW2_HOLYLIGHT (A strong holy-based attack vs tile)
	TMW2_METEORSHOWER (A strong AoE earth-based attack, which also stuns)
	TMW2_ARROWSHOWER (AoE attack, causes your damage to become arrows)
	TMW2_ALLINONE (Xanthem's Gambit - Weak w/ shields, multi-ele multi-attack)
	«Summons»
	«Little Wonders - Recover/dispel ailments, but no heal»

	// Art of War: TMW2_HORIZONTALSLASH + TMW2_DIAGONALSLASH + TMW2_VERTICALSLASH + TMW2_STAB + TMW2_GRANDBLAST (possibly?)
*/

function	script	SK_Demure	{
    // non-melee weapons not allowed
    if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_RANGE) > 3) {
        dispbottom l("Only melee weapons are permitted for use with this skill.");
        end;
    }

    // Determine length: 30s per skill level
    .@length=getskilllv(TMW2_DEMURE)*30000;
    .@effect=25+getskilllv(TMW2_DEMURE);
    .@penalty=getskilllv(TMW2_DEMURE)-101;
    .@malus=(getskilllv(TMW2_DEMURE)-1)*1000;

    // Add two SC_ effects: One to raise attack speed and other to drop evade
    //sc_start(<effect type>, <ticks>, <value 1>{, <rate>, <flag>{, <GID>}})
    sc_start SC_ATTHASTE_POTION2, .@length, .@effect;
    SC_Bonus(.@length, SC_INCHITRATE, .@effect);
    SC_Bonus(.@length, SC_INCATKRATE, .@effect);
    SC_Bonus((.@length+.@malus), SC_INCFLEERATE, .@penalty);
    SC_Bonus((.@length+.@malus), SC_INCDEFRATE,  .@penalty);
    SC_Bonus((.@length+.@malus), SC_INCMHPRATE,  .@penalty);

    // set cooldown and timer
    @demure_at=gettimetick(2);
    @demure_at=@demure_at+(.@length+.@malus)/1000;
    addtimer(rand(786,1346), "sk#demure::OnTMW2DemureCheck");

    // Get a few mana experience points (this is NOT used by Mana Stone)
    GetManaExp(TMW2_DEMURE, rand(1,getskilllv(TMW2_DEMURE)));
    return;
}

-	script	sk#demure	32767,{
    end;

// If you switch to a bow, you lose the effect at once and loop dies
OnTMW2DemureCheck:
    if (@demure_at < gettimetick(2))
        end;
    if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_RANGE) > 3)
        sc_start SC_ATTHASTE_POTION2, 100, -50;
    else
        addtimer(rand(786,1346), "sk#demure::OnTMW2DemureCheck");
    end;

OnInit:
    end;
}