Implementation of Status Changes in YAML (#1685)

* Removes the initialization of Status Changes via hard-code and puts it into YAML form.
* From this database it is much easier to delegate icons, calc flags, opt flags, miscellaneous flags, and several other things for all stats changes.
* Statuses can quickly be reloaded via atcommand reloadstatus.
Thanks to @cydh, @Atemo, @Lemongrass3110, and the others who helped!
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
Co-authored-by: atemo <capucrath@gmail.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
This commit is contained in:
Cydh Ramdh
2022-03-11 01:11:59 +07:00
committed by GitHub
parent e74bbfd37e
commit f28d207274
36 changed files with 18120 additions and 5011 deletions

View File

@@ -1529,14 +1529,15 @@ void guild_guildaura_refresh(struct map_session_data *sd, uint16 skill_id, uint1
if( !skill_lv )
return;
std::shared_ptr<s_skill_unit_group> group;
sc_type type = status_skill2sc(skill_id);
sc_type type = skill_get_sc(skill_id);
if (type == SC_NONE)
return;
status_change_end(&sd->bl, type, INVALID_TIMER);
std::shared_ptr<s_skill_unit_group> group = skill_unitsetting(&sd->bl,skill_id,skill_lv,sd->bl.x,sd->bl.y,0);
if( sd->sc.data[type] && (group = skill_id2group(sd->sc.data[type]->val4)) ) {
skill_delunitgroup(group);
status_change_end(&sd->bl,type,INVALID_TIMER);
}
group = skill_unitsetting(&sd->bl,skill_id,skill_lv,sd->bl.x,sd->bl.y,0);
if( group )
sc_start4(NULL,&sd->bl,type,100,(battle_config.guild_aura&16)?0:skill_lv,0,0,group->group_id,600000);//duration doesn't matter these status never end with val4
return;