Added null pointer checks for autobonus (#6327)

Fixes #6324

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
This commit is contained in:
Jittapan Pluemsumran 2021-10-24 19:52:10 +07:00 committed by GitHub
parent 487c27833b
commit e50a91c59c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2248,6 +2248,10 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
if( sd && !sd->autobonus.empty() )
{
for(auto &it : sd->autobonus) {
if( it == nullptr ){
continue;
}
if (rnd()%1000 >= it->rate)
continue;
if (!(((it->atk_type)&attack_type)&BF_WEAPONMASK &&
@ -2333,6 +2337,8 @@ int skill_onskillusage(struct map_session_data *sd, struct block_list *bl, uint1
if( sd && !sd->autobonus3.empty() ) {
for (auto &it : sd->autobonus3) {
if (it == nullptr)
continue;
if (rnd()%1000 >= it->rate)
continue;
if (it->atk_type != skill_id)
@ -2556,6 +2562,10 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
//Autobonus when attacked
if( dstsd && !status_isdead(bl) && !dstsd->autobonus2.empty() && !(skill_id && skill_get_nk(skill_id, NK_NODAMAGE)) ) {
for (auto &it : dstsd->autobonus2) {
if( it == nullptr ){
continue;
}
if (rnd()%1000 >= it->rate)
continue;
if (!(((it->atk_type)&attack_type)&BF_WEAPONMASK &&