Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 96 additions & 6 deletions db/re/item_db_equip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133619,6 +133619,11 @@ Body:
Type: ShadowGear
Locations:
Shadow_Right_Accessory: true
Trade:
NoDrop: true
NoSell: true
NoMail: true
NoAuction: true
Refineable: true
Script: |
.@r = getrefine();
Expand All @@ -133635,11 +133640,13 @@ Body:
AegisName: S_FullPene_Pendant
Name: Full Penetration Shadow Pendant
Type: ShadowGear
Jobs:
All: true
Novice: false
Locations:
Shadow_Left_Accessory: true
Trade:
NoDrop: true
NoSell: true
NoMail: true
NoAuction: true
Refineable: true
Script: |
.@r = getrefine();
Expand All @@ -133658,6 +133665,11 @@ Body:
Type: ShadowGear
Locations:
Shadow_Armor: true
Trade:
NoDrop: true
NoSell: true
NoMail: true
NoAuction: true
Refineable: true
Script: |
.@r = getrefine();
Expand All @@ -133674,11 +133686,13 @@ Body:
AegisName: S_FullPene_Shoes
Name: Full Penetration Shadow Shoes
Type: ShadowGear
Jobs:
All: true
Novice: false
Locations:
Shadow_Shoes: true
Trade:
NoDrop: true
NoSell: true
NoMail: true
NoAuction: true
Refineable: true
Script: |
.@r = getrefine();
Expand Down Expand Up @@ -180688,6 +180702,38 @@ Body:
Costume_Head_Top: true
ArmorLevel: 1
View: 2814
- Id: 401294
AegisName: aegis_401294
Name: Costume Tulip Hairpin (Yellow) # !todo check english name
Type: Armor
Locations:
Costume_Head_Top: true
ArmorLevel: 1
View: 499
- Id: 401295
AegisName: C_Nymph_Ear
Name: Costume Nymph's Ear
Type: Armor
Locations:
Costume_Head_Mid: true
ArmorLevel: 1
View: 2818
- Id: 401300
AegisName: C_LG_Feather_Hat
Name: Costume Light Green Feather Hat # !todo check english name
Type: Armor
Locations:
Costume_Head_Top: true
ArmorLevel: 1
View: 2819
- Id: 401303
AegisName: C_Ruck_Keeper
Name: Costume Ruck Keeper
Type: Armor
Locations:
Costume_Head_Top: true
ArmorLevel: 1
View: 2822
- Id: 410000
AegisName: Resonate_Taego_J
Name: Ancient Resonance
Expand Down Expand Up @@ -189744,6 +189790,30 @@ Body:
Costume_Head_Low: true
ArmorLevel: 1
View: 2816
- Id: 420774
AegisName: aegis_420774
Name: Costume Poporin Bubble Pipe
Type: Armor
Locations:
Costume_Head_Low: true
ArmorLevel: 1
View: 2753
- Id: 420775
AegisName: C_Petal_Twin
Name: Costume Petal Twin
Type: Armor
Locations:
Costume_Head_Low: true
ArmorLevel: 1
View: 2820
- Id: 420776
AegisName: C_Petal_Twin_N
Name: Costume Petal Twin (No Decoration)
Type: Armor
Locations:
Costume_Head_Low: true
ArmorLevel: 1
View: 2821
- Id: 430001
AegisName: C_Helm_Of_Ra
Name: Costume Hat of the Sun God
Expand Down Expand Up @@ -219762,6 +219832,26 @@ Body:
Costume_Garment: true
ArmorLevel: 1
View: 301
- Id: 480772
AegisName: C_Angel_Gift
Name: Costume Angel's Gift
Type: Armor
Locations:
Costume_Garment: true
ArmorLevel: 1
View: 302
Script: |
hateffect HAT_EF_C_ANGEL_GIFT,true;
UnEquipScript: |
hateffect HAT_EF_C_ANGEL_GIFT,false;
- Id: 480773
AegisName: C_Sakura_Rod_PK
Name: Costume Blooming Staff Pink # !todo check english name
Type: Armor
Locations:
Costume_Garment: true
ArmorLevel: 1
View: 303
- Id: 490004
AegisName: Atker_Ring
Name: Attacker Booster Ring
Expand Down
45 changes: 45 additions & 0 deletions db/re/item_db_etc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102030,6 +102030,51 @@ Body:
Weight: 10
Trade:
NoDrop: true
- Id: 1002834
AegisName: ABI_Ground_Essence
Name: Ground Essence of the Rift # !todo check english name
Type: Etc
Weight: 10
- Id: 1002835
AegisName: ABI_Ground_Rune_Ore
Name: Ground Rune Ore Shard # !todo check english name
Type: Etc
Weight: 1
- Id: 1002836
AegisName: ABI_Ground_Rune
Name: Ground Rune of Rift # !todo check english name
Type: Etc
Weight: 10
- Id: 1002837
AegisName: ABI_Lava_Essence
Name: Rift Volcanic Essence # !todo check english name
Type: Etc
Weight: 10
- Id: 1002838
AegisName: ABI_Lava_Rune_Ore
Name: Rift Volcano Rune Shard # !todo check english name
Type: Etc
Weight: 1
- Id: 1002839
AegisName: ABI_Lava_Rune
Name: Rift Volcano Rune # !todo check english name
Type: Etc
Weight: 10
- Id: 1002840
AegisName: ABI_Fixed_Crack
Name: Fixed Crack # !todo check english name
Type: Etc
Weight: 10
- Id: 1002841
AegisName: aegis_1002841
Name: Dimensional Land Card Shard # !todo check english name
Type: Etc
Weight: 10
- Id: 1002842
AegisName: aegis_1002842
Name: Dimensional Volcano Card Shard # !todo check english name
Type: Etc
Weight: 10
- Id: 1200000
AegisName: IDTest_arrow
Name: IDTest arrow
Expand Down
13 changes: 8 additions & 5 deletions db/re/skill_db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36951,15 +36951,18 @@ Body:
MaxLevel: 10
Type: Magic
TargetType: Attack
DamageFlags:
Splash: true
Range: 9
Hit: Single
HitCount: 1
Hit: Multi_Hit
HitCount: 2
Element: Holy
SplashArea: 4
GiveAp: 2
CastTime: 4000
AfterCastActDelay: 500
Duration1: 20000
Cooldown: 1000
Cooldown: 750
FixedCastTime: 1500
Requires:
SpCost:
Expand Down Expand Up @@ -37116,7 +37119,7 @@ Body:
FixedCastTime: 1500
Requires:
SpCost: 150
ApCost: 20
ApCost: 15
Unit:
Id: Pneumaticus_Procella
Range:
Expand Down Expand Up @@ -43548,7 +43551,7 @@ Body:
Type: Weapon
TargetType: Attack
Range: 2
Hit: Multi_hit
Hit: Multi_Hit
HitCount: -2
GiveAp: 3
Element: Weapon
Expand Down
7 changes: 4 additions & 3 deletions src/map/battle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2707,10 +2707,11 @@ static int32 battle_range_type(const block_list* src, const block_list* target,
case SS_SHIMIRU: // 11 cell cast range.
case SKE_STAR_LIGHT_KICK: // 7 cell cast range.
return BF_SHORT;
case CD_PETITIO: { // Skill range is 2 but damage is melee with books and ranged with mace.
const map_session_data* sd = BL_CAST(BL_PC,src);
case CD_EFFLIGO: // Skill range is 2 but damage is melee with books and ranged with mace.
case CD_PETITIO: {
const map_session_data* sd = BL_CAST(BL_PC, src);

if (sd && (sd->status.weapon == W_MACE || sd->status.weapon == W_2HMACE))
if (sd != nullptr && (sd->status.weapon == W_MACE || sd->status.weapon == W_2HMACE))
return BF_LONG;

break;
Expand Down
19 changes: 6 additions & 13 deletions src/map/skills/acolyte/arbitrium.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,21 @@
#include "map/pc.hpp"
#include "map/status.hpp"

SkillArbitrium::SkillArbitrium() : SkillImpl(CD_ARBITRIUM) {
}

void SkillArbitrium::castendDamageId(block_list* src, block_list* target, uint16 skill_lv, t_tick tick, int32& flag) const {
skill_attack(BF_MAGIC, src, src, target, getSkillId(), skill_lv, tick, flag);
SkillArbitrium::SkillArbitrium() : SkillImplRecursiveDamageSplash(CD_ARBITRIUM) {
}

void SkillArbitrium::calculateSkillRatio(const Damage* wd, const block_list* src, const block_list* target, uint16 skill_lv, int32& skillratio, int32 mflag) const {
const map_session_data* sd = BL_CAST(BL_PC, src);
const status_data* sstatus = status_get_status_data(*src);

skillratio += -100 + 1000 * skill_lv + 10 * sstatus->spl;
skillratio += 10 * pc_checkskill(sd, CD_FIDUS_ANIMUS) * skill_lv;
RE_LVL_DMOD(100);
}
skillratio += -100 + 950 * skill_lv;
skillratio += 10 * sstatus->spl; // TODO : spl ratio has changed ?
skillratio += 35 * pc_checkskill(sd, CD_FIDUS_ANIMUS) * skill_lv;

void SkillArbitrium::applyAdditionalEffects(block_list* src, block_list* target, uint16 skill_lv, t_tick tick, int32 attack_type, enum damage_lv dmg_lv) const {
// Target is Deep Silenced by chance and is then dealt a 2nd splash hit.
sc_start(src, target, SC_HANDICAPSTATE_DEEPSILENCE, 20 + 5 * skill_lv, skill_lv, skill_get_time(getSkillId(), skill_lv));
skill_castend_damage_id(src, target, CD_ARBITRIUM_ATK, skill_lv, tick, SD_LEVEL);
RE_LVL_DMOD(100);
}

// TODO : CD_ARBITRIUM_ATK is no longer used ?
SkillArbitriumAttack::SkillArbitriumAttack() : SkillImplRecursiveDamageSplash(CD_ARBITRIUM_ATK) {
}

Expand Down
4 changes: 1 addition & 3 deletions src/map/skills/acolyte/arbitrium.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@

#include "../skill_impl.hpp"

class SkillArbitrium : public SkillImpl {
class SkillArbitrium : public SkillImplRecursiveDamageSplash {
public:
SkillArbitrium();

void castendDamageId(block_list* src, block_list* target, uint16 skill_lv, t_tick tick, int32& flag) const override;
void calculateSkillRatio(const Damage* wd, const block_list* src, const block_list* target, uint16 skill_lv, int32& base_skillratio, int32 mflag) const override;
void applyAdditionalEffects(block_list* src, block_list* target, uint16 skill_lv, t_tick tick, int32 attack_type, enum damage_lv dmg_lv) const override;
};

class SkillArbitriumAttack : public SkillImplRecursiveDamageSplash {
Expand Down
7 changes: 5 additions & 2 deletions src/map/skills/acolyte/effligo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,14 @@ void SkillEffligo::calculateSkillRatio(const Damage* wd, const block_list* src,
const status_data* sstatus = status_get_status_data(*src);
const status_data* tstatus = status_get_status_data(*target);

skillratio += -100 + 1650 * skill_lv + 7 * sstatus->pow;
skillratio += -100 + 1800 * skill_lv;
skillratio += 7 * sstatus->pow;
skillratio += 8 * pc_checkskill(sd, CD_MACE_BOOK_M);

if (tstatus->race == RC_UNDEAD || tstatus->race == RC_DEMON) {
skillratio += 150 * skill_lv;
skillratio += 200 * skill_lv;
skillratio += 7 * pc_checkskill(sd, CD_MACE_BOOK_M);
}

RE_LVL_DMOD(100);
}
5 changes: 4 additions & 1 deletion src/map/skills/acolyte/petitio.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ void SkillPetitio::calculateSkillRatio(const Damage* wd, const block_list* src,
const map_session_data* sd = BL_CAST(BL_PC, src);
const status_data* sstatus = status_get_status_data(*src);

skillratio += -100 + (1050 + pc_checkskill(sd, CD_MACE_BOOK_M) * 50) * skill_lv + 5 * sstatus->pow;
skillratio += -100 + 1200 * skill_lv;
skillratio += pc_checkskill(sd, CD_MACE_BOOK_M) * 50 * skill_lv;
skillratio += 5 * sstatus->pow;

RE_LVL_DMOD(100);
}

Expand Down
Loading