From 55dc3f88e4eec4d96abeae645fd23cea645e9250 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 2 Apr 2021 15:22:49 -0300 Subject: Fighting against legendary mobs penalties, trait to nullify them. Also possible to nullify the penalties with Savior race, but the trait grants a bonus if the target monster DEF is higher than yours. Penalty: -25% crit, -40% ATK, -20% MATK, -5 MP/hit --- db/constants.conf | 1 + npc/025-1/phoenix.txt | 3 ++- npc/functions/hub.txt | 9 +++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/db/constants.conf b/db/constants.conf index a337ca652..caf663712 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -2405,6 +2405,7 @@ constants_db: { PCB_NOKNOCKBACK: 32768 PCB_SPLASHMASTER: 65536 PCB_RANGEMASTER: 131072 + PCB_LEGENDARY: 262144 @include "db/si_config.conf" @include "conf/import/constants.conf" diff --git a/npc/025-1/phoenix.txt b/npc/025-1/phoenix.txt index f3dc8a318..1a380f331 100644 --- a/npc/025-1/phoenix.txt +++ b/npc/025-1/phoenix.txt @@ -99,7 +99,8 @@ rif(!(PCBONUS & PCB_EXPBONUS), l("EXP Gain +10%")), PCB_EXPBONUS, rif(!(PCBONUS & PCB_NOKNOCKBACK), l("Knockback Immunity")), PCB_NOKNOCKBACK, rif(REBIRTH && !(PCBONUS & PCB_SPLASHMASTER), l("AoE (not stackable)")), PCB_SPLASHMASTER, - rif(REBIRTH && !(PCBONUS & PCB_RANGEMASTER), l("Atk Range +1")), PCB_RANGEMASTER; + rif(REBIRTH && !(PCBONUS & PCB_RANGEMASTER), l("Atk Range +1")), PCB_RANGEMASTER, + rif(REBIRTH < 5 && !(PCBONUS & PCB_LEGENDARY), l("No penalty against Legendary mobs")), PCB_LEGENDARY; if (@menuret == 0) return; PCBONUS=PCBONUS|@menuret; diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt index ed78eaf49..a8f21454d 100644 --- a/npc/functions/hub.txt +++ b/npc/functions/hub.txt @@ -989,6 +989,15 @@ function script HUB_PCBonus { if (PCBONUS & PCB_RANGEMASTER) { bonus bAtkRange, 1; } + if (Class != Savior && !(PCBONUS & PCB_LEGENDARY)) { + bonus2 bCriticalAddRace, RC_Legendary, -25; + bonus2 bSPDrainValueRace, RC_Legendary, -5; + bonus2 bAddRace, RC_Legendary, -40; + bonus2 bMagicAddRace, RC_Legendary, -20; + } + if (PCBONUS & PCB_LEGENDARY) { + bonus bDefRatioAtkRace, RC_Legendary; + } return; } -- cgit v1.2.3-60-g2f50