Adds SC_MOVEHASTE_INFINITY status
* Partial fix for #5766. * Removes bSpeedRate,25 bonuses for several items which should be applied via a status change. Thanks to @mrjnumber1!
This commit is contained in:
parent
b41043d393
commit
0beb30ad1b
@ -5693,6 +5693,9 @@ Body:
|
||||
bonus bStr,10;
|
||||
bonus2 bAddRace,RC_Demon,3;
|
||||
skill "AL_HEAL",3;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 1316
|
||||
AegisName: Adventure_Axe
|
||||
Name: Adventure Axe
|
||||
@ -6286,7 +6289,9 @@ Body:
|
||||
Refineable: true
|
||||
Script: |
|
||||
bonus bStr,10;
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 1364
|
||||
AegisName: Great_Axe
|
||||
Name: Great Axe
|
||||
@ -6361,6 +6366,9 @@ Body:
|
||||
bonus bAtkEle,Ele_Holy;
|
||||
skill "AL_HEAL",3;
|
||||
bonus2 bAddRace,RC_Demon,3;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 1367
|
||||
AegisName: Slaughter
|
||||
Name: Slaughter
|
||||
@ -26367,8 +26375,10 @@ Body:
|
||||
bonus bMaxHPrate,20;
|
||||
bonus bMaxSPrate,20;
|
||||
bonus bSPrecovRate,25;
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
bonus bInt,25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 2411
|
||||
AegisName: Grave
|
||||
Name: Greaves
|
||||
@ -27452,7 +27462,9 @@ Body:
|
||||
bonus bMaxHPrate,20;
|
||||
bonus bMaxSPrate,20;
|
||||
bonus bSPrecovRate,15;
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 2463
|
||||
AegisName: Feral_Boots
|
||||
Name: Feral Boots
|
||||
@ -27993,8 +28005,10 @@ Body:
|
||||
.@r = getrefine();
|
||||
bonus bMdef,.@r;
|
||||
if (.@r>=14) {
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
}
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 2492
|
||||
AegisName: Bayani_Bangungot_Boots
|
||||
Name: Bayani Bangungot Boots of Nightmare
|
||||
@ -28011,8 +28025,10 @@ Body:
|
||||
.@r = getrefine();
|
||||
bonus bMdef,.@r;
|
||||
if (.@r>=12) {
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
}
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 2493
|
||||
AegisName: Goibne's_Combat_Boots_
|
||||
Name: Goibne's Greaves
|
||||
@ -41216,10 +41232,11 @@ Body:
|
||||
Refineable: true
|
||||
View: 305
|
||||
Script: |
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
bonus bDef,4;
|
||||
skill "TF_HIDING",1;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
sc_end SC_HIDING;
|
||||
- Id: 5274
|
||||
AegisName: Shiny_Wig
|
||||
@ -41234,10 +41251,11 @@ Body:
|
||||
Refineable: true
|
||||
View: 306
|
||||
Script: |
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
bonus bDef,4;
|
||||
skill "TF_HIDING",1;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
sc_end SC_HIDING;
|
||||
- Id: 5275
|
||||
AegisName: Marvelous_Wig
|
||||
@ -41252,10 +41270,11 @@ Body:
|
||||
Refineable: true
|
||||
View: 307
|
||||
Script: |
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
bonus bDef,4;
|
||||
skill "TF_HIDING",1;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
sc_end SC_HIDING;
|
||||
- Id: 5276
|
||||
AegisName: Fantastic_Wig
|
||||
@ -41270,10 +41289,11 @@ Body:
|
||||
Refineable: true
|
||||
View: 308
|
||||
Script: |
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
bonus bDef,4;
|
||||
skill "TF_HIDING",1;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
sc_end SC_HIDING;
|
||||
- Id: 5277
|
||||
AegisName: Yellow_Bandana
|
||||
@ -47641,9 +47661,11 @@ Body:
|
||||
Head_Top: true
|
||||
View: 314
|
||||
Script: |
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
bonus bAspdRate,10;
|
||||
bonus bVariableCastrate,-25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 5629
|
||||
AegisName: F_Vacation_Hat
|
||||
Name: F Vacation Hat
|
||||
@ -47912,8 +47934,10 @@ Body:
|
||||
View: 308
|
||||
Script: |
|
||||
bonus bDef,4;
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
skill "TF_HIDING",1;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 5646
|
||||
AegisName: F_Whisper_Mask
|
||||
Name: F Whisper Mask
|
||||
@ -71799,7 +71823,9 @@ Body:
|
||||
bonus bStr,2;
|
||||
bonus bVit,1;
|
||||
if (getrefine() > 7)
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 18638
|
||||
AegisName: Citron_Hat
|
||||
Name: Citron Hat
|
||||
@ -79032,7 +79058,9 @@ Body:
|
||||
Head_Low: true
|
||||
EquipLevelMin: 30
|
||||
Script: |
|
||||
autobonus "{ bonus bSpeedRate,25; }",50,5000,BF_NORMAL,"{ showscript \"Smokie-formation!\"; active_transform 1056,5000; /*SMOKIE*/ }";
|
||||
autobonus "{ sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25; }",50,5000,BF_NORMAL,"{ showscript \"Smokie-formation!\"; active_transform 1056,5000; /*SMOKIE*/ }";
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 19239
|
||||
AegisName: PoringTownCarrot
|
||||
Name: Poring Village Carrot
|
||||
@ -79044,7 +79072,9 @@ Body:
|
||||
Head_Low: true
|
||||
EquipLevelMin: 30
|
||||
Script: |
|
||||
autobonus "{ bonus bSpeedRate,25; }",50,5000,BF_NORMAL,"{ showscript \"Lunatic-formation!\"; active_transform 1063,5000; /*LUNATIC*/ }";
|
||||
autobonus "{ sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25; }",50,5000,BF_NORMAL,"{ showscript \"Lunatic-formation!\"; active_transform 1063,5000; /*LUNATIC*/ }";
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 19240
|
||||
AegisName: Toy_Syringe_K
|
||||
Name: Toy Syringe
|
||||
@ -84683,6 +84713,7 @@ Body:
|
||||
EquipLevelMin: 1
|
||||
View: 717
|
||||
Script: |
|
||||
if (gettime(DT_MONTH) == OCTOBER)
|
||||
bonus bVariableCastrate,-10;
|
||||
- Id: 19910
|
||||
AegisName: C_Halloween_Hat
|
||||
@ -84734,7 +84765,10 @@ Body:
|
||||
EquipLevelMin: 1
|
||||
View: 691
|
||||
Script: |
|
||||
bonus bSpeedRate,25;
|
||||
if (gettime(DT_MONTH) == OCTOBER)
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 19918
|
||||
AegisName: C_Lude_Mask
|
||||
Name: Costume Lude Mask
|
||||
@ -84745,6 +84779,7 @@ Body:
|
||||
EquipLevelMin: 1
|
||||
View: 802
|
||||
Script: |
|
||||
if (gettime(DT_MONTH) == OCTOBER)
|
||||
bonus bAddItemHealRate,20;
|
||||
- Id: 19919
|
||||
AegisName: C_Cube_Mask_
|
||||
@ -84756,6 +84791,7 @@ Body:
|
||||
EquipLevelMin: 1
|
||||
View: 472
|
||||
Script: |
|
||||
if (gettime(DT_MONTH) == OCTOBER)
|
||||
bonus bAspdRate,10;
|
||||
- Id: 19920
|
||||
AegisName: C_Adv_Whisper_Mask
|
||||
@ -84768,6 +84804,7 @@ Body:
|
||||
EquipLevelMin: 1
|
||||
View: 458
|
||||
Script: |
|
||||
if (gettime(DT_MONTH) == OCTOBER)
|
||||
bonus bFlee,20;
|
||||
- Id: 19922
|
||||
AegisName: C_Noah_Hat
|
||||
@ -85114,8 +85151,12 @@ Body:
|
||||
EquipLevelMin: 1
|
||||
View: 1144
|
||||
Script: |
|
||||
if (gettime(DT_MONTH) == DECEMBER) {
|
||||
bonus bAspdRate,10;
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
}
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 19977
|
||||
AegisName: C_Golden_Exclamation
|
||||
Name: Costume Golden Exclamation Mark
|
||||
@ -92480,6 +92521,7 @@ Body:
|
||||
bonus bMaxHPrate,3;
|
||||
bonus bMaxSPrate,3;
|
||||
bonus2 bSubRace,RC_Player_Human,5;
|
||||
bonus2 bSubRace,RC_Player_Doram,5;
|
||||
if (.@r>=7) {
|
||||
bonus bMaxHPrate,7;
|
||||
bonus bMaxSPrate,7;
|
||||
@ -92488,7 +92530,7 @@ Body:
|
||||
bonus bLongHPGainValue,5;
|
||||
}
|
||||
if (.@r>=8)
|
||||
bonus bSpeedRate,40;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
if (.@r>=9) {
|
||||
bonus bMaxHPrate,10;
|
||||
bonus bMaxSPrate,10;
|
||||
@ -92498,6 +92540,8 @@ Body:
|
||||
}
|
||||
if (.@r>=10)
|
||||
skill "AS_CLOAKING",3;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 20953
|
||||
AegisName: H_AD_Hood
|
||||
Name: High Adventurer Hood
|
||||
@ -95705,9 +95749,11 @@ Body:
|
||||
}
|
||||
if (.@r >=9) {
|
||||
.@bonus += 5;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
}
|
||||
bonus bMaxSPrate,.@bonus;
|
||||
bonus bSpeedRate,25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 22133
|
||||
AegisName: Shoes_IL
|
||||
Name: Illusion Shoes
|
||||
|
||||
@ -4400,7 +4400,9 @@ Body:
|
||||
BuyingStore: true
|
||||
DropEffect: CLIENT
|
||||
Script: |
|
||||
bonus bSpeedRate,25;
|
||||
sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25;
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 4132
|
||||
AegisName: Mistress_Card
|
||||
Name: Mistress Card
|
||||
@ -11018,7 +11020,9 @@ Body:
|
||||
BuyingStore: true
|
||||
DropEffect: CLIENT
|
||||
Script: |
|
||||
autobonus "{ bonus bAgi,44; heal 0,-40; }",500,3000,0,"{ sc_start SC_SPEEDUP1,3000,50; }";
|
||||
autobonus "{ bonus bAgi,44; sc_start SC_MOVEHAST_INFINITY,INFINITE_TICK,25; heal 0,-40; }",500,3000,0,"{ specialeffect2 EF_POTION_BERSERK; showscript \"I got the signal!!!!\"; }";
|
||||
UnEquipScript: |
|
||||
sc_end SC_MOVEHAST_INFINITY;
|
||||
- Id: 4582
|
||||
AegisName: Bungisngis_Card
|
||||
Name: Bungisngis Card
|
||||
|
||||
@ -1612,6 +1612,7 @@
|
||||
export_constant(SC_EMERGENCY_MOVE);
|
||||
export_constant(SC_MADOGEAR);
|
||||
export_constant(SC_NPC_HALLUCINATIONWALK);
|
||||
export_constant(SC_MOVEHASTE_INFINITY);
|
||||
#ifdef RENEWAL
|
||||
export_constant(SC_EXTREMITYFIST2);
|
||||
#endif
|
||||
|
||||
@ -1412,6 +1412,8 @@ void initChangeTables(void)
|
||||
StatusIconChangeTable[SC_MADOGEAR] = EFST_RIDING;
|
||||
#endif
|
||||
|
||||
StatusIconChangeTable[SC_MOVEHASTE_INFINITY] = EFST_MOVHASTE_INFINITY;
|
||||
|
||||
/* Other SC which are not necessarily associated to skills */
|
||||
StatusChangeFlagTable[SC_ASPDPOTION0] |= SCB_ASPD;
|
||||
StatusChangeFlagTable[SC_ASPDPOTION1] |= SCB_ASPD;
|
||||
@ -1600,6 +1602,8 @@ void initChangeTables(void)
|
||||
|
||||
StatusChangeFlagTable[SC_MADOGEAR] |= SCB_SPEED;
|
||||
|
||||
StatusChangeFlagTable[SC_MOVEHASTE_INFINITY] |= SCB_SPEED;
|
||||
|
||||
/* StatusDisplayType Table [Ind] */
|
||||
StatusDisplayType[SC_ALL_RIDING] = BL_PC;
|
||||
StatusDisplayType[SC_PUSH_CART] = BL_PC;
|
||||
@ -7447,6 +7451,8 @@ static unsigned short status_calc_speed(struct block_list *bl, struct status_cha
|
||||
val = max(val, 25); // !TODO: Confirm bonus movement speed
|
||||
if (sc->data[SC_EMERGENCY_MOVE])
|
||||
val = max(val, sc->data[SC_EMERGENCY_MOVE]->val2);
|
||||
if (sc->data[SC_MOVEHASTE_INFINITY])
|
||||
val = max(val, sc->data[SC_MOVEHASTE_INFINITY]->val1);
|
||||
|
||||
// !FIXME: official items use a single bonus for this [ultramage]
|
||||
if( sc->data[SC_SPEEDUP0] ) // Temporary item-based speedup
|
||||
@ -10224,6 +10230,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:
|
||||
case SC_MOVEHASTE_INFINITY:
|
||||
tick = INFINITE_TICK;
|
||||
break;
|
||||
|
||||
@ -12899,6 +12906,7 @@ int status_change_clear(struct block_list* bl, int type)
|
||||
case SC_REUSE_LIMIT_LUXANIMA:
|
||||
case SC_SOULENERGY:
|
||||
case SC_MADOGEAR:
|
||||
case SC_MOVEHASTE_INFINITY:
|
||||
// Costumes
|
||||
case SC_MOONSTAR:
|
||||
case SC_SUPER_STAR:
|
||||
@ -12936,6 +12944,7 @@ int status_change_clear(struct block_list* bl, int type)
|
||||
case SC_ENTRY_QUEUE_APPLY_DELAY:
|
||||
case SC_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT:
|
||||
case SC_MADOGEAR:
|
||||
case SC_MOVEHASTE_INFINITY:
|
||||
// Costumes
|
||||
case SC_MOONSTAR:
|
||||
case SC_SUPER_STAR:
|
||||
@ -15074,6 +15083,7 @@ void status_change_clear_buffs(struct block_list* bl, uint8 type)
|
||||
case SC_EP16_2_BUFF_SS:
|
||||
case SC_EP16_2_BUFF_SC:
|
||||
case SC_EP16_2_BUFF_AC:
|
||||
case SC_MOVEHASTE_INFINITY:
|
||||
// Clans
|
||||
case SC_CLAN_INFO:
|
||||
case SC_SWORDCLAN:
|
||||
|
||||
@ -944,6 +944,8 @@ enum sc_type : int16 {
|
||||
|
||||
SC_NPC_HALLUCINATIONWALK,
|
||||
|
||||
SC_MOVEHASTE_INFINITY,
|
||||
|
||||
#ifdef RENEWAL
|
||||
SC_EXTREMITYFIST2, //! NOTE: This SC should be right before SC_MAX, so it doesn't disturb if RENEWAL is disabled
|
||||
#endif
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user