Compare commits

..

4 Commits

Author SHA1 Message Date
Playtester
d6d850ba6e
Third Job Stats Level 61-70 (#8669)
- Combined trans and non-trans 3rd jobs in job_stats.yml as they have the exact same values
- Added job bonus stats for level 61-70 for 3rd jobs
- Added job bonus stats for level 51-70 for various extended classes
2024-09-22 10:05:14 +02:00
Playtester
63baa62f70
Finger Offensive Renewal Damage (#8668)
- Fixed damage of Finger Offensive being 5 times too high
- Added job stat bonus for Sura job level 61
- Fixes #8667
2024-09-21 18:15:38 +02:00
AoShinHo
8bd89b7fc0
Added Footprint related items (#8660)
* Added Footprint Enchants
* Summer_Select_Box4 package
2024-09-21 14:49:32 +02:00
Daegaladh
8c9e447fd5
Fixed Castling not getting the correct target (#8657)
Follow-up to ffead570b20060da5885f6babd28d5cc5b14eef0
2024-09-20 10:23:53 +02:00
8 changed files with 619 additions and 1048 deletions

View File

@ -202634,6 +202634,17 @@ Body:
} }
} }
} }
- Id: 480470
AegisName: C_Summer_Beach
Name: Costume Summer Beach # !todo check english name
Type: Armor
Locations:
Costume_Garment: true
ArmorLevel: 1
Script: |
hateffect HAT_EF_VACATION,true;
UnEquipScript: |
hateffect HAT_EF_VACATION,false;
- Id: 490004 - Id: 490004
AegisName: Atker_Ring AegisName: Atker_Ring
Name: Attacker Booster Ring Name: Attacker Booster Ring

View File

@ -80408,6 +80408,28 @@ Body:
Name: Footprint Effect Name: Footprint Effect
Type: Card Type: Card
SubType: Enchant SubType: Enchant
Script: |
hateffect FOOTPRINT_EF_BASE,true;
UnEquipScript: |
hateffect FOOTPRINT_EF_BASE,false;
- Id: 313067
AegisName: aegis_313067
Name: Purple Star Footprint
Type: Card
SubType: Enchant
Script: |
hateffect FOOTPRINT_EF_PURPLESTAR,true;
UnEquipScript: |
hateffect FOOTPRINT_EF_PURPLESTAR,false;
- Id: 313068
AegisName: aegis_313068
Name: Yellow Star Footprint
Type: Card
SubType: Enchant
Script: |
hateffect FOOTPRINT_EF_YELLOWSTAR,true;
UnEquipScript: |
hateffect FOOTPRINT_EF_YELLOWSTAR,false;
- Id: 313070 - Id: 313070
AegisName: Ep21_4_Def AegisName: Ep21_4_Def
Name: Forest Magic Orb (Physical Defense) Name: Forest Magic Orb (Physical Defense)
@ -81896,6 +81918,15 @@ Body:
Script: | Script: |
bonus bLongAtkRate,getskilllv("SH_HOWLING_OF_CHUL_HO"); bonus bLongAtkRate,getskilllv("SH_HOWLING_OF_CHUL_HO");
bonus bBaseAtk,4*getskilllv("SH_HOWLING_OF_CHUL_HO"); bonus bBaseAtk,4*getskilllv("SH_HOWLING_OF_CHUL_HO");
- Id: 313345
AegisName: aegis_313345
Name: Puppy Footprint
Type: Card
SubType: Enchant
Script: |
hateffect FOOTPRINT_EF_DOGFOOT,true;
UnEquipScript: |
hateffect FOOTPRINT_EF_DOGFOOT,false;
- Id: 1000000 - Id: 1000000
AegisName: IDTest_event AegisName: IDTest_event
Name: IDTest event Name: IDTest event
@ -89440,6 +89471,11 @@ Body:
Name: Footprint Effect (Garment) Name: Footprint Effect (Garment)
Type: Etc Type: Etc
Weight: 100 Weight: 100
- Id: 1001617
AegisName: PurpleStar_Foot_Robe
Name: Purple Star Footprint (Garment)
Type: Etc
Weight: 100
- Id: 1001618 - Id: 1001618
AegisName: aegis_1001618 AegisName: aegis_1001618
Name: Wigner Premium Exchange Ticket Name: Wigner Premium Exchange Ticket
@ -89709,6 +89745,11 @@ Body:
Weight: 10 Weight: 10
Flags: Flags:
BuyingStore: true BuyingStore: true
- Id: 1001650
AegisName: YellowStar_Foot_Robe
Name: Yellow Star Footprint (Garment)
Type: Etc
Weight: 100
- Id: 1001653 - Id: 1001653
AegisName: Ep21_Armor_E_Stone1 AegisName: Ep21_Armor_E_Stone1
Name: Turquoise Magic Stone Name: Turquoise Magic Stone
@ -90322,6 +90363,11 @@ Body:
NoGuildStorage: true NoGuildStorage: true
NoMail: true NoMail: true
NoAuction: true NoAuction: true
- Id: 1001772
AegisName: aegis_1001772
Name: Puppy Footprint (Garment)
Type: Etc
Weight: 100
- Id: 1200000 - Id: 1200000
AegisName: IDTest_arrow AegisName: IDTest_arrow
Name: IDTest arrow Name: IDTest arrow

View File

@ -78855,6 +78855,11 @@ Body:
NoAuction: true NoAuction: true
Script: | Script: |
getgroupitem(IG_STOVE_CHANNELING_BOX_4); getgroupitem(IG_STOVE_CHANNELING_BOX_4);
- Id: 103263
AegisName: Summer_Select_Box4
Name: Star Footprint Selection Box (Summer Beach)
Type: Usable
Weight: 10
- Id: 200000 - Id: 200000
AegisName: IDTest_Cash AegisName: IDTest_Cash
Name: IDTest Cash Name: IDTest Cash

View File

@ -980,3 +980,13 @@ Body:
- Group: 1 - Group: 1
Items: Items:
- Item: C_Chaos_Emerald - Item: C_Chaos_Emerald
- Item: Summer_Select_Box4
Groups:
- Group: 0
Items:
- Item: PurpleStar_Foot_Robe
- Item: C_Summer_Beach
- Group: 1
Items:
- Item: YellowStar_Foot_Robe
- Item: C_Summer_Beach

File diff suppressed because it is too large Load Diff

View File

@ -7535,7 +7535,7 @@ Body:
TargetTrap: true TargetTrap: true
Range: 9 Range: 9
Hit: Multi_Hit Hit: Multi_Hit
HitCount: 5 HitCount: -5
Element: Weapon Element: Weapon
CopyFlags: CopyFlags:
Skill: Skill:

View File

@ -3693,6 +3693,12 @@ static int battle_get_spiritball_damage(struct Damage& wd, struct block_list& sr
// These skills used as many spheres as they do hits // These skills used as many spheres as they do hits
damage = (wd.div_ + sd->spiritball) * 3; damage = (wd.div_ + sd->spiritball) * 3;
break; break;
#ifdef RENEWAL
case MO_FINGEROFFENSIVE:
// These skills store the spheres used in spiritball_old
damage = (sd->spiritball_old + sd->spiritball) * 3;
break;
#endif
case MO_EXTREMITYFIST: case MO_EXTREMITYFIST:
// These skills store the number of spheres the player had before cast // These skills store the number of spheres the player had before cast
damage = sd->spiritball_old * 3; damage = sd->spiritball_old * 3;
@ -6803,9 +6809,9 @@ static void battle_calc_attack_plant(struct Damage* wd, struct block_list *src,s
return; return;
} }
// Triple Attack has a special property that it does not split damage on plant mode // Triple Attack and Finger Offensive have a special property, they do not split damage on plant mode
// In pre-renewal, it requires the monster to have exactly 100 def // In pre-renewal, it requires the monster to have exactly 100 def
if (skill_id == MO_TRIPLEATTACK && wd->div_ < 0 if ((skill_id == MO_TRIPLEATTACK || skill_id == MO_FINGEROFFENSIVE) && wd->div_ < 0
#ifndef RENEWAL #ifndef RENEWAL
&& tstatus->def == 100 && tstatus->def == 100
#endif #endif

View File

@ -10682,7 +10682,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case HAMI_CASTLE: //[orn] case HAMI_CASTLE: //[orn]
if (src != bl && rnd_chance(20 * skill_lv, 100)) { if (src != bl && rnd_chance(20 * skill_lv, 100)) {
// Get one of the monsters targeting the player and set the homunculus as its new target // Get one of the monsters targeting the player and set the homunculus as its new target
if (block_list* tbl = battle_getenemy(bl, BL_MOB, AREA_SIZE); tbl != nullptr) { if (block_list* tbl = battle_gettargeted(bl); tbl != nullptr && tbl->type == BL_MOB) {
if (unit_data* ud = unit_bl2ud(tbl); ud != nullptr) if (unit_data* ud = unit_bl2ud(tbl); ud != nullptr)
unit_changetarget_sub(*ud, *src); unit_changetarget_sub(*ud, *src);
} }