Procházet zdrojové kódy

Fixed remove trap skills

Fixes #4605

Thanks to @Angelic234 and @mazvi
Lemongrass3110 před 5 roky
rodič
revize
57e50a1906
1 změnil soubory, kde provedl 2 přidání a 2 odebrání
  1. 2 2
      src/map/skill.cpp

+ 2 - 2
src/map/skill.cpp

@@ -8491,13 +8491,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 		{
 			struct skill_unit* su;
 			struct skill_unit_group* sg = NULL;
-			std::shared_ptr<s_skill_db> skill_group = skill_db.find(sg->skill_id);
+			std::shared_ptr<s_skill_db> skill_group;
 
 			su = BL_CAST(BL_SKILL, bl);
 
 			// Mercenaries can remove any trap
 			// Players can only remove their own traps or traps on Vs maps.
-			if( su && (sg = su->group) && (src->type == BL_MER || sg->src_id == src->id || map_flag_vs(bl->m)) && skill_group->inf2[INF2_ISTRAP] )
+			if( su && (sg = su->group) && (src->type == BL_MER || sg->src_id == src->id || map_flag_vs(bl->m)) && ( skill_group = skill_db.find(sg->skill_id) ) && skill_group->inf2[INF2_ISTRAP] )
 			{
 				clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
 				if( sd && !(sg->unit_id == UNT_USED_TRAPS || (sg->unit_id == UNT_ANKLESNARE && sg->val2 != 0 )) )