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:
Lemongrass3110 2018-12-18 17:46:56 +01:00 committed by GitHub
parent 732059ac03
commit 016d15b79a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 79 additions and 72 deletions

View File

@ -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
//=============================================================

View File

@ -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; },{},{}

View File

@ -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,{},{},{}

View File

@ -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

View File

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

View File

@ -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

View File

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

View File

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

View File

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

View File

@ -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);
}
/**

View File

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

View File

@ -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]

View File

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

View File

@ -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

View File

@ -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.

View File

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