Unified infinite tick usage (#3755)
Introducing a new constant INFINITE_TICK Changed current usages in items, npcs and source to use the new and correct constant. Replaced some invalid usages of INVALID_TIMER and replaced them with the new constant.
This commit is contained in:
parent
732059ac03
commit
016d15b79a
@ -59,8 +59,8 @@
|
||||
|
||||
// Old Tuxedo and Wedding Dress, will display the outfit when worn.
|
||||
//==================================================================
|
||||
//2338,Wedding_Dress,Wedding Dress,4,43000,,500,,0,,0,0xFFFFFFFE,63,0,16,,0,1,0,{},{ sc_start SC_WEDDING,-1,0; },{ sc_end SC_WEDDING; }
|
||||
//7170,Tuxedo,Tuxedo,4,43000,,10,,0,,0,0xFFFFFFFE,63,1,16,,0,1,0,{},{ sc_start SC_WEDDING,-1,0; },{ sc_end SC_WEDDING; }
|
||||
//2338,Wedding_Dress,Wedding Dress,4,43000,,500,,0,,0,0xFFFFFFFE,63,0,16,,0,1,0,{},{ sc_start SC_WEDDING,INFINITE_TICK,0; },{ sc_end SC_WEDDING; }
|
||||
//7170,Tuxedo,Tuxedo,4,43000,,10,,0,,0,0xFFFFFFFE,63,1,16,,0,1,0,{},{ sc_start SC_WEDDING,INFINITE_TICK,0; },{ sc_end SC_WEDDING; }
|
||||
|
||||
// Non-kRO Eden Group Mark effect
|
||||
//=============================================================
|
||||
|
@ -1596,7 +1596,7 @@
|
||||
2773,Krieger_Ring2,Glorious Mass-Production Ring,4,20,,0,,0,,0,0xFFFFFFFE,7,2,136,,61,0,0,{ bonus bAllStats,2; },{},{}
|
||||
2774,Krieger_Ring3,Glorious Popularized Ring,4,20,,0,,0,,0,0xFFFFFFFE,7,2,136,,0,0,0,{ bonus bAllStats,1; },{},{}
|
||||
2775,Lure,Lure,4,20,,100,,0,,0,0xFFFFFFFF,7,2,136,,0,0,0,{},{},{}
|
||||
2776,Cool_Towel,Adventurer's Trusty Towel,4,20,,100,,,,0,0xFFFFFFFF,7,2,136,,0,0,0,{},{ sc_start SC_SUMMER,-1,0; },{ sc_end SC_SUMMER; }
|
||||
2776,Cool_Towel,Adventurer's Trusty Towel,4,20,,100,,,,0,0xFFFFFFFF,7,2,136,,0,0,0,{},{ sc_start SC_SUMMER,INFINITE_TICK,0; },{ sc_end SC_SUMMER; }
|
||||
2777,Shaman_Ring,Shaman Ring,4,20,,100,,0,,1,0xFFFFFFFF,7,2,136,,30,0,0,{ bonus bUseSPrate,-5; },{},{}
|
||||
2778,Shaman_Earing,Shaman Earrings,4,20,,100,,0,,0,0xFFFFFFFF,7,2,136,,30,0,0,{ bonus bInt,2; },{},{}
|
||||
2779,Dark_Knight_Belt,Dark Knight Belt,4,20,,500,,1,,0,0xFFFFFFFF,7,2,136,,30,0,0,{ bonus bStr,2; bonus bAgi,1; },{},{}
|
||||
|
@ -1987,7 +1987,7 @@
|
||||
2773,Krieger_Ring2,Glorious Mass-Production Ring,4,20,,0,,0,,0,0xFFFFFFFE,63,2,136,,61,0,0,{ bonus bAllStats,2; },{},{}
|
||||
2774,Krieger_Ring3,Glorious Popularized Ring,4,20,,0,,0,,0,0xFFFFFFFE,63,2,136,,0,0,0,{ bonus bAllStats,1; },{},{}
|
||||
2775,Lure,Lure,4,20,,100,,0,,0,0xFFFFFFFF,63,2,136,,0,0,0,{},{},{}
|
||||
2776,Cool_Towel,Adventurer's Trusty Towel,4,20,,100,,,,1,0xFFFFFFFF,63,2,136,,0,0,0,{},{ sc_start SC_SUMMER,-1,0; },{ sc_end SC_SUMMER; }
|
||||
2776,Cool_Towel,Adventurer's Trusty Towel,4,20,,100,,,,1,0xFFFFFFFF,63,2,136,,0,0,0,{},{ sc_start SC_SUMMER,INFINITE_TICK,0; },{ sc_end SC_SUMMER; }
|
||||
2777,Shaman_Ring,Shaman Ring,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,30,0,0,{ bonus bMaxHP,50; bonus bSPrecovRate,3; },{},{}
|
||||
2778,Shaman_Earing,Shaman Earrings,4,20,,100,,0,,0,0xFFFFFFFF,63,2,136,,1,0,0,{ bonus bInt,2; },{},{}
|
||||
2779,Dark_Knight_Belt,Dark Knight Belt,4,20,,500,,1,,0,0xFFFFFFFF,63,2,136,,1,0,0,{ bonus bStr,2; bonus bAgi,1; },{},{}
|
||||
@ -4052,9 +4052,9 @@
|
||||
5885,Blue_Wizardry_Hat_C,Blue Mage Hat C,4,20,,300,,1,,0,0x00810204,63,2,256,,0,1,285,{ bonus bInt,2; bonus bMaxSP,150; },{},{}
|
||||
5886,Yellow_Wizardry_Hat_C,Yellow Mage Hat C,4,20,,300,,1,,0,0x00810204,63,2,256,,0,1,286,{ bonus bInt,2; bonus bMaxSP,150; },{},{}
|
||||
5887,Half_L_Magestic_Goat,Half L Majestic Goat,4,20,,800,,5,,0,0xFFFFFFFF,63,2,256,,0,1,380,{ bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus bBaseAtk,(JobLevel*2)/7; },{},{}
|
||||
5892,RCC2013_1ST_CROWN,RCC2013 1ST CROWN,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1106,{ bonus bAllStats,5; skill "AL_TELEPORT",1; },{ sc_start SC_SPEEDUP0,-1,25; },{ sc_end SC_SPEEDUP0; }
|
||||
5893,RCC2013_2ND_CROWN,RCC2013 2ND CROWN,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1107,{ bonus bAllStats,4; skill "AL_TELEPORT",1; },{ sc_start SC_SPEEDUP0,-1,25; },{ sc_end SC_SPEEDUP0; }
|
||||
5894,RCC2013_3RD_CROWN,RCC2013 3RD CROWN,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1108,{ bonus bAllStats,3; skill "AL_TELEPORT",1; },{ sc_start SC_SPEEDUP0,-1,25; },{ sc_end SC_SPEEDUP0; }
|
||||
5892,RCC2013_1ST_CROWN,RCC2013 1ST CROWN,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1106,{ bonus bAllStats,5; skill "AL_TELEPORT",1; },{ sc_start SC_SPEEDUP0,INFINITE_TICK,25; },{ sc_end SC_SPEEDUP0; }
|
||||
5893,RCC2013_2ND_CROWN,RCC2013 2ND CROWN,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1107,{ bonus bAllStats,4; skill "AL_TELEPORT",1; },{ sc_start SC_SPEEDUP0,INFINITE_TICK,25; },{ sc_end SC_SPEEDUP0; }
|
||||
5894,RCC2013_3RD_CROWN,RCC2013 3RD CROWN,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1108,{ bonus bAllStats,3; skill "AL_TELEPORT",1; },{ sc_start SC_SPEEDUP0,INFINITE_TICK,25; },{ sc_end SC_SPEEDUP0; }
|
||||
5895,RCC2013_ANV_Hat,RCC2013 ANV Hat,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1109,{ bonus bAllStats,1; bonus2 bAddClass,Class_All,2; bonus bMatkRate,2; },{},{}
|
||||
5900,Divine_Guard_Hat,Divine Guard Hat,4,0,,200,,10,,1,0x00004000,56,2,256,,100,1,1121,{ .@r = getrefine(); bonus2 bSubSize,Size_All,5; if(.@r>=7) { .@level = getskilllv("AL_HEAL"); bonus3 bAutoSpellWhenHit,"AL_HEAL",(.@level ? .@level : 5),10; } if(.@r>=9) { bonus2 bSkillAtk,"LG_RAYOFGENESIS",20; } },{},{}
|
||||
5901,Focus_Beret,Focus Beret,4,0,,200,,10,,1,0x00008000,56,2,256,,100,1,1122,{ .@r = getrefine(); bonus4 bAutoSpellOnSkill,"SR_DRAGONCOMBO","SR_FALLENEMPIRE",max(getskilllv("SR_FALLENEMPIRE"),1),100; if(.@r>=7) { autobonus "{ bonus bAspd,2; }",30,5000,0,"{ specialeffect2 EF_ENHANCE; }"; } if(.@r>=9) { bonus2 bSkillAtk,"SR_FALLENEMPIRE",30; } },{},{}
|
||||
@ -9796,10 +9796,10 @@
|
||||
18737,Fortier_Mask,Fortier Masque,4,20,,200,,0,,0,0xFFFFFFFF,63,2,512,,10,0,876,{ bonus bUnbreakableHelm; bonus2 bMagicAtkEle,Ele_Fire,4; },{},{}
|
||||
18739,Carnation_Hairband,Carnation Hairband,4,20,,100,,0,,0,0xFFFFFFFF,63,2,256,,0,1,878,{ bonus bLuk,1; },{},{}
|
||||
18740,C_Hair_Of_The_Strong,RMSC2012 Special Costume,4,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,879,{},{},{}
|
||||
18741,C_Will_O_Wisp,Costume Will O Wisp,4,10,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,,880,{},{ sc_start SC_STRANGELIGHTS,-1,0; },{ sc_end SC_STRANGELIGHTS; }
|
||||
18742,C_MoonStar_Accessory,Costume Moon and Stars,4,20,,0,,0,,0,0xFFFFFFFF,63,2,2048,,0,0,881,{},{ sc_start SC_MOONSTAR,-1,0; },{ sc_end SC_MOONSTAR; }
|
||||
18741,C_Will_O_Wisp,Costume Will O Wisp,4,10,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,,880,{},{ sc_start SC_STRANGELIGHTS,INFINITE_TICK,0; },{ sc_end SC_STRANGELIGHTS; }
|
||||
18742,C_MoonStar_Accessory,Costume Moon and Stars,4,20,,0,,0,,0,0xFFFFFFFF,63,2,2048,,0,0,881,{},{ sc_start SC_MOONSTAR,INFINITE_TICK,0; },{ sc_end SC_MOONSTAR; }
|
||||
18743,C_Spirit_Of_Chung_E,Costume Spirit Of Chung E,4,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,882,{},{},{}
|
||||
18744,C_World_Star,Costume Twilight,4,20,,0,,0,,0,0xFFFFFFFF,63,2,2048,,0,0,883,{},{ sc_start SC_SUPER_STAR,-1,0; },{ sc_end SC_SUPER_STAR; }
|
||||
18744,C_World_Star,Costume Twilight,4,20,,0,,0,,0,0xFFFFFFFF,63,2,2048,,0,0,883,{},{ sc_start SC_SUPER_STAR,INFINITE_TICK,0; },{ sc_end SC_SUPER_STAR; }
|
||||
18745,Choco_Stick_In_Mouth,Choco Stick In Mouth,4,20,,100,,0,,0,0xFFFFFFFF,63,2,1,,10,0,884,{ bonus bMaxSP,50; },{},{}
|
||||
18746,Chilly_Breath,Chilly Breath,4,20,,100,,0,,0,0xFFFFFFFF,63,2,1,,10,0,885,{ bonus bInt,1; },{},{}
|
||||
18747,Eyes_Of_Ifrit,Eyes Of Ifrit,4,20,,100,,1,,1,0xFFFFFFFF,63,2,512,,0,0,886,{ bonus bDex,1; bonus2 bResEff,Eff_Curse,2500; },{},{}
|
||||
@ -9958,7 +9958,7 @@
|
||||
19019,Elemental_Crown,Elemental Crown,4,0,,500,,10,,1,0xFFFFFFFF,63,2,256,,,1,1219,{ .@r = getrefine(); bonus bDex,(3 + (.@r/2)+ (readparam(bDex) > 130 ? .@r : 0)); bonus bLongAtkRate,4; },{},{}
|
||||
19020,Survive_Circlet,Survive Circlet,4,0,,500,,10,,0,0xFFFFFFFF,63,2,256,,,1,1220,{ .@r = getrefine(); bonus bInt,(3 + (.@r/2)+ (BaseLevel > 130 ? .@r : 0)); bonus bMatkRate,4; },{},{}
|
||||
19021,Gigant_Helm,Gigant Helm,4,0,,500,,10,,0,0xFFFFFFFF,63,2,256,,,1,1221,{ bonus bStr,3+((BaseLevel > 130) ? getrefine() : 0); bonus2 bAddClass,Class_All,4; },{},{}
|
||||
19022,Floating_Stone_Of_Int,Floating Stone Of Intelligence,4,,,,,,,,0xFFFFFFFF,63,2,256,,,,1230,{},{ sc_start SC_FSTONE,-1,0; },{ sc_end SC_FSTONE; } // jRO Item
|
||||
19022,Floating_Stone_Of_Int,Floating Stone Of Intelligence,4,,,,,,,,0xFFFFFFFF,63,2,256,,,,1230,{},{ sc_start SC_FSTONE,INFINITE_TICK,0; },{ sc_end SC_FSTONE; } // jRO Item
|
||||
19024,Protect_Feathers,Protect Feathers,4,0,,500,,,,0,0xFFFFFFFF,63,2,512,,70,0,1232,{ bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; bonus bAspdRate,-5; .@vit = readparam(bVit); if (.@vit >= 108) { bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; bonus bAspdRate,-5; } if (.@vit >= 120) { bonus bMaxHPRate,3; bonus bMdef,3; } },{},{}
|
||||
19026,Aegir_Helm,Aegir Helm,4,10,,800,,10,,1,0xFFFFFFFF,63,2,256,,40,1,870,{ bonus bVit,3; },{},{}
|
||||
19030,Pretty_Rabbit_Hood,Pretty Rabbit Hood,4,10,,100,,20,,1,0xFFFFFFFF,63,2,769,,1,1,1085,{ bonus bMaxHP,(15*BaseLevel); },{},{}
|
||||
@ -10356,7 +10356,7 @@
|
||||
19863,C_Inccubus_Horn,Costume Incubus Horn,4,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,156,{},{},{}
|
||||
19864,C_Dokebi's_Wig,Costume Dokebi's Wig,4,20,,0,,0,,0,0xFFFFFFFF,63,2,3072,,0,0,302,{},{},{}
|
||||
19865,C_Joker_Jester,Costume Joker Jester,4,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,89,{},{},{}
|
||||
19871,C_Music_Decoration,Costume Decoration of Music,4,20,,0,,0,,0,0xFFFFFFFF,63,2,2048,,0,0,1074,{},{ sc_start SC_DECORATION_OF_MUSIC,-1,0; },{ sc_end SC_DECORATION_OF_MUSIC; }
|
||||
19871,C_Music_Decoration,Costume Decoration of Music,4,20,,0,,0,,0,0xFFFFFFFF,63,2,2048,,0,0,1074,{},{ sc_start SC_DECORATION_OF_MUSIC,INFINITE_TICK,0; },{ sc_end SC_DECORATION_OF_MUSIC; }
|
||||
19876,C_Rabbit_Ear_Hat,Costume Bunny Top Hat,4,0,,0,,,,,0xFFFFFFFF,63,2,1024,,1,,384,{},{},{}
|
||||
19878,C_Drooping_Bunny,Costume Evolved Drooping Bunny,4,0,,0,,,,,0xFFFFFFFF,63,2,1024,,1,,249,{},{},{}
|
||||
19882,C_Flowerpot_Mask,Costume Flowerpot Mask,4,0,,0,,,,,0xFFFFFFFF,63,2,4096,,1,,1086,{},{},{}
|
||||
@ -10498,7 +10498,7 @@
|
||||
20059,C_Welding_Mask,Costume Welding Mask,4,0,,0,,,,0,0xFFFFFFFF,63,2,6144,,1,1,79,{},{},{}
|
||||
20060,C_Construction_Helmet,Costume Construction Helmet,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,95,{},{},{}
|
||||
20061,C_Demo_Mask,Costume Demo Mask,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,52,{},{},{}
|
||||
20062,C_Angel_Stair,Costume Angel Stair,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,,{},{ sc_start SC_HAT_EFFECT,-1,0; },{ sc_end SC_HAT_EFFECT; }
|
||||
20062,C_Angel_Stair,Costume Angel Stair,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,,{},{ sc_start SC_HAT_EFFECT,INFINITE_TICK,0; },{ sc_end SC_HAT_EFFECT; }
|
||||
20063,C_Yellow_Brain_Hat,Costume Yellow Brain Hat,4,10,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1228,{},{},{}
|
||||
20064,C_Blue_Brain_Hat,Costume Blue Brain Hat,4,10,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1229,{},{},{}
|
||||
20065,C_Hairband_Of_Grandpeco,Costume Grand Peco Hairband,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,473,{},{},{}
|
||||
@ -10534,7 +10534,7 @@
|
||||
20096,C_Fillet_Blue,Costume Blue Ribbon,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,441,{},{},{}
|
||||
20097,C_Fillet_White,Costume White Ribbon,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,442,{},{},{}
|
||||
20098,C_Vampire_Hairband,Costume Vampire Hairband,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1238,{},{},{}
|
||||
20099,C_Ljosalfar,Flying Ljosalfar,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1239,{},{ sc_start SC_LJOSALFAR,-1,0; },{ sc_end SC_LJOSALFAR; }
|
||||
20099,C_Ljosalfar,Flying Ljosalfar,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1239,{},{ sc_start SC_LJOSALFAR,INFINITE_TICK,0; },{ sc_end SC_LJOSALFAR; }
|
||||
20100,C_Volume_Fhat,Costume Volume Fhat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1240,{},{},{}
|
||||
20101,C_Bragi_Wing_Ears,Costume Bragi Wing Ears,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1241,{},{},{}
|
||||
20102,C_Horse_King_J,Costume Horse King J,4,0,,0,,,,0,0xFFFFFFFF,63,2,7168,,1,1,1189,{},{},{}
|
||||
@ -10589,7 +10589,7 @@
|
||||
20151,C_Poison_Spore_Hat,Costume Poison Spore Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,899,{},{},{}
|
||||
20152,C_Straw_Rice_Bag,Costume Straw Rice Bag,4,0,,0,,,,0,0xFFFFFFFF,63,2,7168,,1,1,1273,{},{},{}
|
||||
20153,C_Monochrome_Cap,Costume Monochrome Cap,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1274,{},{},{}
|
||||
20154,C_Maple_Which_Falls,Costume Maple Which Falls,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,,1,1275,{},{ sc_start SC_MAPLE_FALLS,-1,0; },{ sc_end SC_MAPLE_FALLS; }
|
||||
20154,C_Maple_Which_Falls,Costume Maple Which Falls,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,,1,1275,{},{ sc_start SC_MAPLE_FALLS,INFINITE_TICK,0; },{ sc_end SC_MAPLE_FALLS; }
|
||||
20155,C_Ladys_Feather_Hat,Costume Lady's Feather Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,1,1276,{},{},{}
|
||||
20156,C_Fan_in_Mouth,Costume Fan in Mouth,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,857,{},{},{}
|
||||
20157,C_Fish_On_Head,Costume Evolved Blue Fish,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,149,{},{},{}
|
||||
@ -10644,7 +10644,7 @@
|
||||
20206,C_Chicken_Hat,Costume Chicken Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,7168,,1,1,1296,{},{},{}
|
||||
20207,C_Stripe_Band,Costume Striped Hairband,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,133,{},{},{}
|
||||
20208,C_Necktie,Costume Neck Tie,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,443,{},{},{}
|
||||
20209,C_Mermaid_Longing,Costume Mermaid Bubbles,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1299,{},{ sc_start SC_MERMAID_LONGING,-1,0; },{ sc_end SC_MERMAID_LONGING; } // jRO Item
|
||||
20209,C_Mermaid_Longing,Costume Mermaid Bubbles,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1299,{},{ sc_start SC_MERMAID_LONGING,INFINITE_TICK,0; },{ sc_end SC_MERMAID_LONGING; } // jRO Item
|
||||
20210,C_Chicken_Hat_,Costume Chicken Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,7168,,1,1,1297,{},{},{}
|
||||
20211,C_Chicken_Hat__,Costume Chicken Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,7168,,1,1,1298,{},{},{}
|
||||
20212,C_Loki_Nidhogg_Hat,Costume Loki & Nidhoggur's Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1304,{},{},{}
|
||||
@ -10680,7 +10680,7 @@
|
||||
20243,C_Choco_Mint_Bonnet,Costume Choco Mint Bonnet,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1314,{},{},{}
|
||||
20244,C_Zealotus_Mask,Costume Zealotus Mask,4,0,,0,,,,0,0xFFFFFFFF,63,2,3072,,1,1,200,{},{},{}
|
||||
20245,C_Cat_Paw_Hairpin,Costume Cat Paw Hairpin,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,447,{},{},{}
|
||||
20246,C_Decoration_Time,Costume Decoration Time,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1309,{},{ sc_start SC_TIME_ACCESSORY,-1,0; },{ sc_end SC_TIME_ACCESSORY; }
|
||||
20246,C_Decoration_Time,Costume Decoration Time,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1309,{},{ sc_start SC_TIME_ACCESSORY,INFINITE_TICK,0; },{ sc_end SC_TIME_ACCESSORY; }
|
||||
20247,C_Fate_Of_Black_Hand,Costume Fate Of Black Hand,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1310,{},{},{}
|
||||
20248,C_Black_Strong_Hair,Costume Black Strong Hair,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1315,{},{},{}
|
||||
20249,C_Red_Strong_Hair,Costume Red Strong Hair,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1316,{},{},{}
|
||||
@ -12275,7 +12275,7 @@
|
||||
31139,C_White_Rabbit_Ear,Costume White Rabbit Ears,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1558,{},{},{}
|
||||
31140,C_Cowboy_Hat_,Costume Black Cowboy Hat,4,0,,0,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,1569,{},{},{}
|
||||
31141,C_Rose_Corsage_,Costume Cactus Flower Corsage,4,0,,0,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,1570,{},{},{}
|
||||
31142,C_Time_Prison,Costume Prison of Time,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1309,{},{ sc_start SC_TIME_ACCESSORY,-1,0; },{ sc_end SC_TIME_ACCESSORY; }
|
||||
31142,C_Time_Prison,Costume Prison of Time,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1309,{},{ sc_start SC_TIME_ACCESSORY,INFINITE_TICK,0; },{ sc_end SC_TIME_ACCESSORY; }
|
||||
31144,C_Indi_Feather_Band,Costume Indian Feather Headband,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,809,{},{},{}
|
||||
31145,C_AliceFriesinger_Hat_69,Costume AliceFriesinger Hat 69,4,0,,0,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,1249,{},{},{}
|
||||
31146,C_KarduiEar,Costume Kardui Ears,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,0,1357,{},{},{}
|
||||
|
@ -5639,6 +5639,7 @@ with the 'SC_' prefix. A full list is located in 'src/map/status.h', though
|
||||
they are not currently documented.
|
||||
|
||||
The duration of the status is given in <ticks>, or milleseconds.
|
||||
Use INFINITE_TICK for infinite duration.
|
||||
|
||||
Certain status changes take an additional parameter <value 1>, which typically
|
||||
modifies player stats by the given number or percentage. This differs for each
|
||||
|
@ -112,7 +112,7 @@ prt_in,33,114,5 script Raffam Oranpere 10058,{
|
||||
}else{
|
||||
cutin "laperm02.bmp", 2;
|
||||
if (clan_join(SWORDCLAN)) {
|
||||
sc_start2 SC_SWORDCLAN, -1, 0, SWORDCLAN;
|
||||
sc_start2 SC_SWORDCLAN, INFINITE_TICK, 0, SWORDCLAN;
|
||||
mes "[Raffam Oranpere]";
|
||||
mes "Welcome to the ^3131FFSword Clan^000000!";
|
||||
mes "You can review Clan info with ^3131FFCtrl+G^000000.";
|
||||
@ -163,7 +163,7 @@ prt_in,33,114,5 script Raffam Oranpere 10058,{
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
sc_start2 SC_SWORDCLAN, -1, 0, SWORDCLAN, 10000, SCSTART_NOAVOID, getnpcid(0);
|
||||
sc_start2 SC_SWORDCLAN, INFINITE_TICK, 0, SWORDCLAN, 10000, SCSTART_NOAVOID, getnpcid(0);
|
||||
end;
|
||||
}
|
||||
|
||||
@ -276,7 +276,7 @@ prt_in,35,114,5 script Devon Aire 10059,{
|
||||
mes "Oh, I can be funny, too--FIRE PILLAR!";
|
||||
}else{
|
||||
if (clan_join(ARCWANDCLAN)) {
|
||||
sc_start2 SC_ARCWANDCLAN, -1, 0, ARCWANDCLAN;
|
||||
sc_start2 SC_ARCWANDCLAN, INFINITE_TICK, 0, ARCWANDCLAN;
|
||||
mes "[Devon Aire]";
|
||||
mes "You have joined the ^3131FFArc Wand Clan^000000.";
|
||||
next;
|
||||
@ -330,7 +330,7 @@ prt_in,35,114,5 script Devon Aire 10059,{
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
sc_start2 SC_ARCWANDCLAN, -1, 0, ARCWANDCLAN, 10000, SCSTART_NOAVOID, getnpcid(0);
|
||||
sc_start2 SC_ARCWANDCLAN, INFINITE_TICK, 0, ARCWANDCLAN, 10000, SCSTART_NOAVOID, getnpcid(0);
|
||||
end;
|
||||
}
|
||||
|
||||
@ -428,7 +428,7 @@ prt_in,37,114,5 script Berman Aire 10060,{
|
||||
mes "You're just confused, right?";
|
||||
}else{
|
||||
if (clan_join(GOLDENMACECLAN)) {
|
||||
sc_start2 SC_GOLDENMACECLAN, -1, 0, GOLDENMACECLAN;
|
||||
sc_start2 SC_GOLDENMACECLAN, INFINITE_TICK, 0, GOLDENMACECLAN;
|
||||
cutin "birman02.bmp", 2;
|
||||
mes "[Berman Aire]";
|
||||
mes "Welcome to the ^3131FFGolden Mace Clan^000000!";
|
||||
@ -474,7 +474,7 @@ prt_in,37,114,5 script Berman Aire 10060,{
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
sc_start2 SC_GOLDENMACECLAN, -1, 0, GOLDENMACECLAN, 10000, SCSTART_NOAVOID, getnpcid(0);
|
||||
sc_start2 SC_GOLDENMACECLAN, INFINITE_TICK, 0, GOLDENMACECLAN, 10000, SCSTART_NOAVOID, getnpcid(0);
|
||||
end;
|
||||
}
|
||||
|
||||
@ -573,7 +573,7 @@ prt_in,39,114,5 script Shaam Rumi 10027,{
|
||||
mes "Eh, you're already in a Clan. Hey, this isn't funny.";
|
||||
}else{
|
||||
if (clan_join(CROSSBOWCLAN)) {
|
||||
sc_start2 SC_CROSSBOWCLAN, -1, 0, CROSSBOWCLAN;
|
||||
sc_start2 SC_CROSSBOWCLAN, INFINITE_TICK, 0, CROSSBOWCLAN;
|
||||
cutin "sham02.bmp", 2;
|
||||
mes "[Shaam Rumi]";
|
||||
mes "Welcome to the ^3131FFCrossbow Clan^000000!";
|
||||
@ -627,6 +627,6 @@ prt_in,39,114,5 script Shaam Rumi 10027,{
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
sc_start2 SC_CROSSBOWCLAN, -1, 0, CROSSBOWCLAN, 10000, SCSTART_NOAVOID, getnpcid(0);
|
||||
sc_start2 SC_CROSSBOWCLAN, INFINITE_TICK, 0, CROSSBOWCLAN, 10000, SCSTART_NOAVOID, getnpcid(0);
|
||||
end;
|
||||
}
|
||||
|
@ -10,6 +10,8 @@
|
||||
|
||||
#define DIFF_TICK(a,b) ((int)((a)-(b)))
|
||||
|
||||
const int32 INFINITE_TICK = -1;
|
||||
|
||||
#define INVALID_TIMER -1
|
||||
#define CLIF_WALK_TIMER -2
|
||||
|
||||
|
@ -9128,7 +9128,7 @@ ACMD_FUNC(mount2) {
|
||||
clif_displaymessage(sd->fd,msg_txt(sd,1362)); // NOTICE: If you crash with mount your LUA is outdated.
|
||||
if (!sd->sc.data[SC_ALL_RIDING]) {
|
||||
clif_displaymessage(sd->fd,msg_txt(sd,1363)); // You have mounted.
|
||||
sc_start(NULL, &sd->bl, SC_ALL_RIDING, 10000, 1, INVALID_TIMER);
|
||||
sc_start(NULL, &sd->bl, SC_ALL_RIDING, 10000, 1, INFINITE_TICK);
|
||||
} else {
|
||||
clif_displaymessage(sd->fd,msg_txt(sd,1364)); // You have released your mount.
|
||||
status_change_end(&sd->bl, SC_ALL_RIDING, INVALID_TIMER);
|
||||
@ -9784,7 +9784,7 @@ ACMD_FUNC(costume) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
sc_start(&sd->bl, &sd->bl, (sc_type)name2id[k], 100, name2id[k] == SC_DRESSUP ? 1 : 0, -1);
|
||||
sc_start(&sd->bl, &sd->bl, (sc_type)name2id[k], 100, name2id[k] == SC_DRESSUP ? 1 : 0, INFINITE_TICK);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1330,7 +1330,7 @@ int chrif_save_scdata(struct map_session_data *sd) { //parses the sc_data of the
|
||||
else
|
||||
data.tick = 0; //Negative tick does not necessarily mean that sc has expired
|
||||
} else
|
||||
data.tick = -1; //Infinite duration
|
||||
data.tick = INFINITE_TICK; //Infinite duration
|
||||
data.type = i;
|
||||
data.val1 = sc->data[i]->val1;
|
||||
data.val2 = sc->data[i]->val2;
|
||||
|
@ -3714,7 +3714,7 @@ void clif_arrowequip(struct map_session_data *sd,int val) {
|
||||
nullpo_retv(sd);
|
||||
|
||||
#if PACKETVER >= 20121128
|
||||
clif_status_change(&sd->bl, EFST_CLIENT_ONLY_EQUIP_ARROW, 1, INVALID_TIMER, 0, 0, 0);
|
||||
clif_status_change(&sd->bl, EFST_CLIENT_ONLY_EQUIP_ARROW, 1, INFINITE_TICK, 0, 0, 0);
|
||||
#endif
|
||||
fd=sd->fd;
|
||||
WFIFOHEAD(fd, packet_len(0x013c));
|
||||
@ -3971,7 +3971,7 @@ void clif_changeoption(struct block_list* bl)
|
||||
//Whenever we send "changeoption" to the client, the provoke icon is lost
|
||||
//There is probably an option for the provoke icon, but as we don't know it, we have to do this for now
|
||||
if (sc->data[SC_PROVOKE] && sc->data[SC_PROVOKE]->timer == INVALID_TIMER)
|
||||
clif_status_change(bl, StatusIconChangeTable[SC_PROVOKE], 1, -1, 0, 0, 0);
|
||||
clif_status_change(bl, StatusIconChangeTable[SC_PROVOKE], 1, INFINITE_TICK, 0, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1264,7 +1264,7 @@ void hom_revive(struct homun_data *hd, unsigned int hp, unsigned int sp)
|
||||
clif_hominfo(sd,hd,0);
|
||||
clif_homskillinfoblock(sd);
|
||||
if (hd->homunculus.class_ == 6052) //eleanor
|
||||
sc_start(&hd->bl,&hd->bl, SC_STYLE_CHANGE, 100, MH_MD_FIGHTING, -1);
|
||||
sc_start(&hd->bl,&hd->bl, SC_STYLE_CHANGE, 100, MH_MD_FIGHTING, INFINITE_TICK);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -366,7 +366,7 @@ void mail_send(struct map_session_data *sd, const char *dest_name, const char *t
|
||||
clif_Mail_send(sd, WRITE_MAIL_FAILED_CNT);
|
||||
return;
|
||||
}else{
|
||||
sc_start2( &sd->bl, &sd->bl, SC_DAILYSENDMAILCNT, 100, date_get_dayofyear(), sd->sc.data[SC_DAILYSENDMAILCNT]->val2 + 1, -1 );
|
||||
sc_start2( &sd->bl, &sd->bl, SC_DAILYSENDMAILCNT, 100, date_get_dayofyear(), sd->sc.data[SC_DAILYSENDMAILCNT]->val2 + 1, INFINITE_TICK );
|
||||
}
|
||||
}
|
||||
|
||||
@ -415,6 +415,6 @@ void mail_refresh_remaining_amount( struct map_session_data* sd ){
|
||||
|
||||
// If it was not yet started or it was started on another day
|
||||
if( sd->sc.data[SC_DAILYSENDMAILCNT] == NULL || sd->sc.data[SC_DAILYSENDMAILCNT]->val1 != doy ){
|
||||
sc_start2( &sd->bl, &sd->bl, SC_DAILYSENDMAILCNT, 100, doy, 0, -1 );
|
||||
sc_start2( &sd->bl, &sd->bl, SC_DAILYSENDMAILCNT, 100, doy, 0, INFINITE_TICK );
|
||||
}
|
||||
}
|
||||
|
@ -12149,7 +12149,7 @@ void pc_cell_basilica(struct map_session_data *sd) {
|
||||
status_change_end(&sd->bl,SC_BASILICA,INVALID_TIMER);
|
||||
}
|
||||
else if (!sd->sc.data[SC_BASILICA])
|
||||
sc_start(&sd->bl,&sd->bl,SC_BASILICA,100,0,-1);
|
||||
sc_start(&sd->bl,&sd->bl,SC_BASILICA,100,0,INFINITE_TICK);
|
||||
}
|
||||
|
||||
/** [Cydh]
|
||||
|
@ -20681,7 +20681,7 @@ BUILDIN_FUNC(setmounting) {
|
||||
if( sd->sc.data[SC_ALL_RIDING] )
|
||||
status_change_end(&sd->bl, SC_ALL_RIDING, INVALID_TIMER); //release mount
|
||||
else
|
||||
sc_start(NULL, &sd->bl, SC_ALL_RIDING, 10000, 1, INVALID_TIMER); //mount
|
||||
sc_start(NULL, &sd->bl, SC_ALL_RIDING, 10000, 1, INFINITE_TICK); //mount
|
||||
script_pushint(st,1);//in both cases, return 1.
|
||||
}
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
|
@ -3929,6 +3929,7 @@
|
||||
export_constant(SCSTART_NORATEDEF);
|
||||
export_constant(SCSTART_NOICON);
|
||||
|
||||
/* unit control - types */
|
||||
export_constant(UNITTYPE_PC);
|
||||
export_constant(UNITTYPE_NPC);
|
||||
export_constant(UNITTYPE_PET);
|
||||
@ -7175,6 +7176,9 @@
|
||||
}
|
||||
export_constant(CD_MAX);
|
||||
|
||||
/* timer related */
|
||||
export_constant(INFINITE_TICK);
|
||||
|
||||
#undef export_constant
|
||||
#undef export_constant2
|
||||
#undef export_parameter
|
||||
|
@ -8216,7 +8216,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
case NPC_REBIRTH:
|
||||
if( md && md->state.rebirth )
|
||||
break; // only works once
|
||||
sc_start(src,bl,type,100,skill_lv,-1);
|
||||
sc_start(src,bl,type,100,skill_lv,INFINITE_TICK);
|
||||
break;
|
||||
|
||||
case NPC_DARKBLESSING:
|
||||
@ -9602,7 +9602,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
break;
|
||||
}
|
||||
|
||||
sc_start(src,bl, SC_STOP, 100, skill_lv, INVALID_TIMER); //Can't move while selecting a spellbook.
|
||||
sc_start(src,bl, SC_STOP, 100, skill_lv, INFINITE_TICK); //Can't move while selecting a spellbook.
|
||||
clif_spellbook_list(sd);
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
|
||||
}
|
||||
@ -9736,7 +9736,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
if( (sd->reproduceskill_idx >= 0 && sd->status.skill[sd->reproduceskill_idx].id) ||
|
||||
(sd->cloneskill_idx >= 0 && sd->status.skill[sd->cloneskill_idx].id) )
|
||||
{
|
||||
sc_start(src,src,SC_STOP,100,skill_lv,-1);// The skill_lv is stored in val1 used in skill_select_menu to determine the used skill lvl [Xazax]
|
||||
sc_start(src,src,SC_STOP,100,skill_lv,INFINITE_TICK);// The skill_lv is stored in val1 used in skill_select_menu to determine the used skill lvl [Xazax]
|
||||
clif_autoshadowspell_list(sd);
|
||||
clif_skill_nodamage(src,bl,skill_id,1,1);
|
||||
}
|
||||
@ -9872,7 +9872,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
splashrange = 3;
|
||||
switch(opt) {
|
||||
case 1: // Splash AoE ATK
|
||||
sc_start(src,bl,SC_SHIELDSPELL_DEF,100,opt,INVALID_TIMER);
|
||||
sc_start(src,bl,SC_SHIELDSPELL_DEF,100,opt,INFINITE_TICK);
|
||||
clif_skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skill_id,skill_lv,DMG_SKILL);
|
||||
map_foreachinrange(skill_area_sub,src,splashrange,BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill_castend_damage_id);
|
||||
status_change_end(bl,SC_SHIELDSPELL_DEF,INVALID_TIMER);
|
||||
@ -9906,7 +9906,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
splashrange = 3;
|
||||
switch(opt) {
|
||||
case 1: // Splash AoE MATK
|
||||
sc_start(src,bl,SC_SHIELDSPELL_MDEF,100,opt,INVALID_TIMER);
|
||||
sc_start(src,bl,SC_SHIELDSPELL_MDEF,100,opt,INFINITE_TICK);
|
||||
clif_skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skill_id,skill_lv,DMG_SKILL);
|
||||
map_foreachinrange(skill_area_sub,src,splashrange,BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill_castend_damage_id);
|
||||
status_change_end(bl,SC_SHIELDSPELL_MDEF,INVALID_TIMER);
|
||||
@ -9938,7 +9938,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
#endif
|
||||
break;
|
||||
case 3: // Recovers HP depending on Shield refine rate.
|
||||
sc_start(src,bl,SC_SHIELDSPELL_REF,100,opt,INVALID_TIMER); //HP Recovery.
|
||||
sc_start(src,bl,SC_SHIELDSPELL_REF,100,opt,INFINITE_TICK); //HP Recovery.
|
||||
status_heal(bl,sstatus->max_hp * ((status_get_lv(src) / 10) + (shield_refine + 1)) / 100,0,2);
|
||||
status_change_end(bl,SC_SHIELDSPELL_REF,INVALID_TIMER);
|
||||
break;
|
||||
@ -10769,7 +10769,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
// clif_messagecolor(&hd->master->bl, color_table[COLOR_RED], output, false, SELF);
|
||||
//}
|
||||
}
|
||||
else sc_start(&hd->bl,&hd->bl, SC_STYLE_CHANGE, 100, MH_MD_FIGHTING, -1);
|
||||
else sc_start(&hd->bl,&hd->bl, SC_STYLE_CHANGE, 100, MH_MD_FIGHTING, INFINITE_TICK);
|
||||
}
|
||||
break;
|
||||
case MH_MAGMA_FLOW:
|
||||
@ -14097,7 +14097,7 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, uns
|
||||
sc_start2(ss, bl, SC_POISON, 100, 1, ss->id, 1800000); //30 minutes
|
||||
break;
|
||||
case 5: // Level 10 Provoke
|
||||
clif_skill_nodamage(NULL, bl, SM_PROVOKE, 10, sc_start(ss, bl, SC_PROVOKE, 100, 10, -1)); //Infinite
|
||||
clif_skill_nodamage(NULL, bl, SM_PROVOKE, 10, sc_start(ss, bl, SC_PROVOKE, 100, 10, INFINITE_TICK)); //Infinite
|
||||
break;
|
||||
case 6: // DEF -100%
|
||||
sc_start(ss, bl, SC_INCDEFRATE, 100, -100, 20000); //20 seconds
|
||||
@ -19903,13 +19903,13 @@ void skill_spellbook(struct map_session_data *sd, unsigned short nameid) {
|
||||
for(i = SC_MAXSPELLBOOK; i >= SC_SPELLBOOK1; i--){ // This is how official saves spellbook. [malufett]
|
||||
if( !sc->data[i] ){
|
||||
sc->data[SC_FREEZE_SP]->val2 += point; // increase points
|
||||
sc_start4(&sd->bl,&sd->bl, (sc_type)i, 100, skill_id, pc_checkskill(sd,skill_id), point, 0, INVALID_TIMER);
|
||||
sc_start4(&sd->bl,&sd->bl, (sc_type)i, 100, skill_id, pc_checkskill(sd,skill_id), point, 0, INFINITE_TICK);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
sc_start2(&sd->bl,&sd->bl, SC_FREEZE_SP, 100, 0, point, INVALID_TIMER);
|
||||
sc_start4(&sd->bl,&sd->bl, SC_MAXSPELLBOOK, 100, skill_id, pc_checkskill(sd,skill_id), point, 0, INVALID_TIMER);
|
||||
sc_start2(&sd->bl,&sd->bl, SC_FREEZE_SP, 100, 0, point, INFINITE_TICK);
|
||||
sc_start4(&sd->bl,&sd->bl, SC_MAXSPELLBOOK, 100, skill_id, pc_checkskill(sd,skill_id), point, 0, INFINITE_TICK);
|
||||
}
|
||||
|
||||
// Reading Spell Book SP cost same as the sealed spell.
|
||||
|
@ -4286,7 +4286,7 @@ int status_calc_pc_sub(struct map_session_data* sd, enum e_status_calc_opt opt)
|
||||
|
||||
// If the skill is learned, the status is infinite.
|
||||
if( (skill = pc_checkskill(sd,SU_SPRITEMABLE)) > 0 && !sd->sc.data[SC_SPRITEMABLE] )
|
||||
sc_start(&sd->bl, &sd->bl, SC_SPRITEMABLE, 100, 1, -1);
|
||||
sc_start(&sd->bl, &sd->bl, SC_SPRITEMABLE, 100, 1, INFINITE_TICK);
|
||||
|
||||
calculating = 0;
|
||||
|
||||
@ -4421,7 +4421,7 @@ int status_calc_homunculus_(struct homun_data *hd, enum e_status_calc_opt opt)
|
||||
hd->battle_status.hp = hom->hp;
|
||||
hd->battle_status.sp = hom->sp;
|
||||
if(hom->class_ == 6052) // Eleanor
|
||||
sc_start(&hd->bl,&hd->bl, SC_STYLE_CHANGE, 100, MH_MD_FIGHTING, -1);
|
||||
sc_start(&hd->bl,&hd->bl, SC_STYLE_CHANGE, 100, MH_MD_FIGHTING, INFINITE_TICK);
|
||||
}
|
||||
|
||||
#ifndef RENEWAL
|
||||
@ -9514,7 +9514,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
case SC_SPRITEMABLE:
|
||||
case SC_CLAN_INFO:
|
||||
case SC_DAILYSENDMAILCNT:
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
|
||||
case SC_DECREASEAGI:
|
||||
@ -9544,22 +9544,22 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
}
|
||||
// val4 signals infinite endure (if val4 == 2 it is infinite endure from Berserk)
|
||||
if( val4 )
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
case SC_AUTOBERSERK:
|
||||
if (status->hp < status->max_hp>>2 &&
|
||||
(!sc->data[SC_PROVOKE] || sc->data[SC_PROVOKE]->val2==0))
|
||||
sc_start4(src,bl,SC_PROVOKE,100,10,1,0,0,60000);
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
case SC_SIGNUMCRUCIS:
|
||||
val2 = 10 + 4*val1; // Def reduction
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
clif_emotion(bl, ET_SWEAT);
|
||||
break;
|
||||
case SC_MAXIMIZEPOWER:
|
||||
tick_time = val2 = tick>0?tick:60000;
|
||||
tick = -1; // Duration sent to the client should be infinite
|
||||
tick = INFINITE_TICK; // Duration sent to the client should be infinite
|
||||
break;
|
||||
case SC_EDP:
|
||||
val2 = val1 + 2; // Chance to Poison enemies.
|
||||
@ -9593,7 +9593,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
break;
|
||||
case SC_SACRIFICE:
|
||||
val2 = 5; // Lasts 5 hits
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
case SC_ENCPOISON:
|
||||
val2= 250+50*val1; // Poisoning Chance (2.5+0.5%) in 1/10000 rate
|
||||
@ -9848,7 +9848,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
if (!sd) // Monsters should be able to walk with no penalties. [Skotlex]
|
||||
val1 = 10;
|
||||
tick_time = val2 = tick>0?tick:60000; // SP consumption rate.
|
||||
tick = -1; // Duration sent to the client should be infinite
|
||||
tick = INFINITE_TICK; // Duration sent to the client should be infinite
|
||||
val3 = 0; // Unused, previously walk speed adjustment
|
||||
// val4&1 signals the presence of a wall.
|
||||
// val4&2 makes cloak not end on normal attacks [Skotlex]
|
||||
@ -9914,7 +9914,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
val2 = 12; // SP cost
|
||||
tick_time = 10000; // Decrease at 10secs intervals.
|
||||
val3 = tick / tick_time;
|
||||
tick = -1; // Duration sent to the client should be infinite
|
||||
tick = INFINITE_TICK; // Duration sent to the client should be infinite
|
||||
break;
|
||||
case SC_PARRYING:
|
||||
val2 = 20 + val1*3; // Block Chance
|
||||
@ -10009,12 +10009,12 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
case SC_REJECTSWORD:
|
||||
val2 = 15*val1; // Reflect chance
|
||||
val3 = 3; // Reflections
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
|
||||
case SC_MEMORIZE:
|
||||
val2 = 5; // Memorized casts.
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
|
||||
case SC_GRAVITATION:
|
||||
@ -10115,7 +10115,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
break;
|
||||
case SC_RUN:
|
||||
val4 = gettick(); // Store time at which you started running.
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
case SC_KAAHI:
|
||||
val2 = 200*val1; // HP heal
|
||||
@ -10129,7 +10129,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
break;
|
||||
case SC_TRICKDEAD:
|
||||
if (vd) vd->dead_sit = 1;
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
case SC_CONCENTRATE:
|
||||
val2 = 2 + val1;
|
||||
@ -10492,7 +10492,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
break;
|
||||
case SC_WUGDASH:
|
||||
val4 = gettick(); // Store time at which you started running.
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
case SC__SHADOWFORM:
|
||||
{
|
||||
@ -10511,7 +10511,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
val2 = 50 - 10 * val1; // ASPD
|
||||
val3 = 20 * val1; // CRITICAL
|
||||
val4 = tick / 1000;
|
||||
tick = -1; // Duration sent to the client should be infinite
|
||||
tick = INFINITE_TICK; // Duration sent to the client should be infinite
|
||||
tick_time = 1000; // [GodLesZ] tick time
|
||||
break;
|
||||
case SC__ENERVATION:
|
||||
@ -10576,7 +10576,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
break;
|
||||
case SC_WARMER:
|
||||
val4 = tick / 3000;
|
||||
tick = -1; // Duration sent to the client should be infinite
|
||||
tick = INFINITE_TICK; // Duration sent to the client should be infinite
|
||||
tick_time = 3000;
|
||||
break;
|
||||
case SC_BLOODSUCKER:
|
||||
@ -10678,7 +10678,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
case SC_FORCEOFVANGUARD:
|
||||
val2 = 8 + 12 * val1; // Chance
|
||||
val3 = 5 + 2 * val1; // Max rage counters
|
||||
tick = -1; // Endless duration in the client
|
||||
tick = INFINITE_TICK; // Endless duration in the client
|
||||
tick_time = 10000; // [GodLesZ] tick time
|
||||
break;
|
||||
case SC_EXEEDBREAK:
|
||||
@ -10962,7 +10962,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
sc_start(src,bl, SC_ENDURE, 100, val1, tick); // Start endure for same duration
|
||||
break;
|
||||
case SC_STYLE_CHANGE:
|
||||
tick = -1; // Infinite duration
|
||||
tick = INFINITE_TICK; // Infinite duration
|
||||
break;
|
||||
case SC_CBC:
|
||||
val3 = 10; // Drain sp % dmg
|
||||
@ -11050,7 +11050,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
case SC_OVERHEAT_LIMITPOINT:
|
||||
case SC_STEALTHFIELD:
|
||||
tick_time = tick;
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
case SC_STEALTHFIELD_MASTER:
|
||||
tick_time = val3 = 2000 + 1000 * val1;
|
||||
@ -11075,7 +11075,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
break;
|
||||
case SC_NEUTRALBARRIER:
|
||||
val2 = 10 + val1 * 5; // Def/Mdef
|
||||
tick = -1;
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
|
||||
/* Rebellion */
|
||||
@ -11206,8 +11206,8 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
case SC_GOLDENMACECLAN:
|
||||
case SC_CROSSBOWCLAN:
|
||||
case SC_JUMPINGCLAN:
|
||||
tick = -1;
|
||||
status_change_start(src,bl,SC_CLAN_INFO,10000,0,val2,0,0,-1,flag);
|
||||
tick = INFINITE_TICK;
|
||||
status_change_start(src,bl,SC_CLAN_INFO,10000,0,val2,0,0,INFINITE_TICK,flag);
|
||||
break;
|
||||
case SC_DORAM_BUF_01:
|
||||
case SC_DORAM_BUF_02:
|
||||
@ -14146,7 +14146,7 @@ int status_change_spread(struct block_list *src, struct block_list *bl, bool typ
|
||||
if (sc->data[i]->timer != INVALID_TIMER)
|
||||
data.tick = DIFF_TICK(timer->tick, tick);
|
||||
else
|
||||
data.tick = INVALID_TIMER;
|
||||
data.tick = INFINITE_TICK;
|
||||
break;
|
||||
// Special cases
|
||||
case SC_TOXIN:
|
||||
@ -14162,7 +14162,7 @@ int status_change_spread(struct block_list *src, struct block_list *bl, bool typ
|
||||
if (sc->data[i]->timer != INVALID_TIMER)
|
||||
data.tick = DIFF_TICK(timer->tick, tick) + sc->data[i]->val4;
|
||||
else
|
||||
data.tick = INVALID_TIMER;
|
||||
data.tick = INFINITE_TICK;
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user