diff --git a/db/pre-re/skill_db.conf b/db/pre-re/skill_db.conf index 6c042abe90f..93b1574be5f 100644 --- a/db/pre-re/skill_db.conf +++ b/db/pre-re/skill_db.conf @@ -8381,7 +8381,7 @@ skill_db: ( } InterruptCast: true CastTime: 3000 - SkillData1: { + SkillData1: { // Endow (SC) duration (in miliseconds) Lv1: 1200000 Lv2: 1200000 Lv3: 1200000 @@ -8424,7 +8424,7 @@ skill_db: ( } InterruptCast: true CastTime: 3000 - SkillData1: { + SkillData1: { // Endow (SC) duration (in miliseconds) Lv1: 1200000 Lv2: 1200000 Lv3: 1200000 @@ -8467,7 +8467,7 @@ skill_db: ( } InterruptCast: true CastTime: 3000 - SkillData1: { + SkillData1: { // Endow (SC) duration (in miliseconds) Lv1: 1200000 Lv2: 1200000 Lv3: 1200000 @@ -8510,7 +8510,7 @@ skill_db: ( } InterruptCast: true CastTime: 3000 - SkillData1: { + SkillData1: { // Endow (SC) duration (in miliseconds) Lv1: 1200000 Lv2: 1200000 Lv3: 1200000 diff --git a/db/re/sc_config.conf b/db/re/sc_config.conf index 0b3f73f3af3..fb5c3f36f21 100644 --- a/db/re/sc_config.conf +++ b/db/re/sc_config.conf @@ -679,7 +679,7 @@ SC_PROPERTYFIRE: { Buff: true } CalcFlags: { - Atk_Ele: true + All: true } Icon: "SI_PROPERTYFIRE" Skill: "SA_FLAMELAUNCHER" @@ -693,7 +693,7 @@ SC_PROPERTYWATER: { Buff: true } CalcFlags: { - Atk_Ele: true + All: true } Icon: "SI_PROPERTYWATER" Skill: "SA_FROSTWEAPON" @@ -707,7 +707,7 @@ SC_PROPERTYWIND: { Buff: true } CalcFlags: { - Atk_Ele: true + All: true } Icon: "SI_PROPERTYWIND" Skill: "SA_LIGHTNINGLOADER" @@ -721,7 +721,7 @@ SC_PROPERTYGROUND: { Buff: true } CalcFlags: { - Atk_Ele: true + All: true } Icon: "SI_PROPERTYGROUND" Skill: "SA_SEISMICWEAPON" diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index 748d364c581..983553834b0 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -8609,23 +8609,24 @@ skill_db: ( NoDamage: true } InterruptCast: true - SkillData1: { - Lv1: 1200000 - Lv2: 1200000 - Lv3: 1200000 - Lv4: 1200000 - Lv5: 1800000 - Lv6: 1800000 - Lv7: 1800000 - Lv8: 1800000 - Lv9: 1800000 - Lv10: 1800000 + SkillData1: { // Endow (SC) duration (in miliseconds) + Lv1: 600_000 + Lv2: 900_000 + Lv3: 1_200_000 + Lv4: 1_500_000 + Lv5: 1_800_000 + Lv6: 1_800_000 + Lv7: 1_800_000 + Lv8: 1_800_000 + Lv9: 1_800_000 + Lv10: 1_800_000 } - FixedCastTime: 3000 + FixedCastTime: 1_000 + CastTime: 1_000 Requirements: { SPCost: 40 Items: { - Boody_Red: 1 + Scarlet_Pts: 1 } } }, @@ -8651,23 +8652,24 @@ skill_db: ( NoDamage: true } InterruptCast: true - SkillData1: { - Lv1: 1200000 - Lv2: 1200000 - Lv3: 1200000 - Lv4: 1200000 - Lv5: 1800000 - Lv6: 1800000 - Lv7: 1800000 - Lv8: 1800000 - Lv9: 1800000 - Lv10: 1800000 + SkillData1: { // Endow (SC) duration (in miliseconds) + Lv1: 600_000 + Lv2: 900_000 + Lv3: 1_200_000 + Lv4: 1_500_000 + Lv5: 1_800_000 + Lv6: 1_800_000 + Lv7: 1_800_000 + Lv8: 1_800_000 + Lv9: 1_800_000 + Lv10: 1_800_000 } - FixedCastTime: 3000 + FixedCastTime: 1_000 + CastTime: 1_000 Requirements: { SPCost: 40 Items: { - Crystal_Blue: 1 + Indigo_Pts: 1 } } }, @@ -8693,23 +8695,24 @@ skill_db: ( NoDamage: true } InterruptCast: true - SkillData1: { - Lv1: 1200000 - Lv2: 1200000 - Lv3: 1200000 - Lv4: 1200000 - Lv5: 1800000 - Lv6: 1800000 - Lv7: 1800000 - Lv8: 1800000 - Lv9: 1800000 - Lv10: 1800000 + SkillData1: { // Endow (SC) duration (in miliseconds) + Lv1: 600_000 + Lv2: 900_000 + Lv3: 1_200_000 + Lv4: 1_500_000 + Lv5: 1_800_000 + Lv6: 1_800_000 + Lv7: 1_800_000 + Lv8: 1_800_000 + Lv9: 1_800_000 + Lv10: 1_800_000 } - FixedCastTime: 3000 + FixedCastTime: 1_000 + CastTime: 1_000 Requirements: { SPCost: 40 Items: { - Wind_Of_Verdure: 1 + Yellow_Wish_Pts: 1 } } }, @@ -8735,23 +8738,24 @@ skill_db: ( NoDamage: true } InterruptCast: true - SkillData1: { - Lv1: 1200000 - Lv2: 1200000 - Lv3: 1200000 - Lv4: 1200000 - Lv5: 1800000 - Lv6: 1800000 - Lv7: 1800000 - Lv8: 1800000 - Lv9: 1800000 - Lv10: 1800000 + SkillData1: { // Endow (SC) duration (in miliseconds) + Lv1: 600_000 + Lv2: 900_000 + Lv3: 1_200_000 + Lv4: 1_500_000 + Lv5: 1_800_000 + Lv6: 1_800_000 + Lv7: 1_800_000 + Lv8: 1_800_000 + Lv9: 1_800_000 + Lv10: 1_800_000 } - FixedCastTime: 3000 + FixedCastTime: 1_000 + CastTime: 1_000 Requirements: { SPCost: 40 Items: { - Yellow_Live: 1 + Lime_Green_Pts: 1 } } }, diff --git a/src/map/battle.c b/src/map/battle.c index 26df946465a..4b01f41dd20 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -4087,6 +4087,7 @@ static struct Damage battle_calc_magic_attack(struct block_list *src, struct blo } } } + #ifndef HMAP_ZONE_DAMAGE_CAP_TYPE if (skill_id) { for(i = 0; i < map->list[target->m].zone->capped_skills_count; i++) { diff --git a/src/map/skill.c b/src/map/skill.c index b8410855b91..ec4b8989eca 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -7262,7 +7262,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list * case SA_FLAMELAUNCHER: // added failure chance and chance to break weapon if turned on [Valaris] case SA_FROSTWEAPON: case SA_LIGHTNINGLOADER: - case SA_SEISMICWEAPON: + case SA_SEISMICWEAPON: { if (dstsd) { if (dstsd->weapontype == W_FIST || (dstsd->sc.count && !dstsd->sc.data[type] && @@ -7281,13 +7281,22 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list * break; } } +#ifndef RENEWAL // 100% success rate at lv4 & 5, but lasts longer at lv5 - if (!clif->skill_nodamage(src, bl, skill_id, skill_lv, sc_start(src, bl, type, (60 + skill_lv * 10), skill_lv, skill->get_time(skill_id, skill_lv), skill_id))) { - if (sd) + int sc_chance = (60 + skill_lv * 10); +#else + int sc_chance = 100; +#endif + int sc_result = sc_start(src, bl, type, sc_chance, skill_lv, skill->get_time(skill_id, skill_lv), skill_id); + if (clif->skill_nodamage(src, bl, skill_id, skill_lv, sc_result) == 0) { + if (sd != NULL) clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0, 0); - if (skill->break_equip(bl, EQP_WEAPON, 10000, BCT_PARTY) && sd && sd != dstsd) - clif->message(sd->fd, msg_sd(sd,869)); // "You broke the target's weapon." +#ifndef RENEWAL + if (skill->break_equip(bl, EQP_WEAPON, 10000, BCT_PARTY) != 0 && sd != NULL && sd != dstsd) + clif->message(sd->fd, msg_sd(sd, 869)); // "You broke the target's weapon." +#endif } + } break; case PR_ASPERSIO: diff --git a/src/map/status.c b/src/map/status.c index 4df3f889edd..a6a4e96a9fc 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -2342,6 +2342,17 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o if (sc->data[SC_EARTH_INSIGNIA] && sc->data[SC_EARTH_INSIGNIA]->val1 == 3) sd->magic_addele[ELE_EARTH] += 25; +#ifdef RENEWAL + if (sc->data[SC_PROPERTYFIRE] != NULL) + sd->magic_atk_ele[ELE_FIRE] += sc->data[SC_PROPERTYFIRE]->val1; + if (sc->data[SC_PROPERTYWATER] != NULL) + sd->magic_atk_ele[ELE_WATER] += sc->data[SC_PROPERTYWATER]->val1; + if (sc->data[SC_PROPERTYWIND] != NULL) + sd->magic_atk_ele[ELE_WIND] += sc->data[SC_PROPERTYWIND]->val1; + if (sc->data[SC_PROPERTYGROUND] != NULL) + sd->magic_atk_ele[ELE_EARTH] += sc->data[SC_PROPERTYGROUND]->val1; +#endif + // Geffen Scrolls if (sc->data[SC_SKELSCROLL]) { #ifdef RENEWAL