I'm taking a peek at Gunslinger's Ground Drift in order to better understand how it works.
case UNT_GROUNDDRIFT_WIND:
if(skill_attack(skill_get_type(sg->skill_id),ss,src,bl,sg->skill_id,sg->skill_lv,tick,sg->val1))
sc_start(ss,bl,SC_STUN,50,sg->skill_lv,skill_get_time2(sg->skill_id, 1));
break;
case UNT_GROUNDDRIFT_DARK:
if(skill_attack(skill_get_type(sg->skill_id),ss,src,bl,sg->skill_id,sg->skill_lv,tick,sg->val1))
sc_start(ss,bl,SC_BLIND,50,sg->skill_lv,skill_get_time2(sg->skill_id, 2));
break;
case UNT_GROUNDDRIFT_POISON:
if(skill_attack(skill_get_type(sg->skill_id),ss,src,bl,sg->skill_id,sg->skill_lv,tick,sg->val1))
sc_start2(ss,bl,SC_POISON,50,sg->skill_lv,ss->id,skill_get_time2(sg->skill_id, 3));
break;
case UNT_GROUNDDRIFT_WATER:
if(skill_attack(skill_get_type(sg->skill_id),ss,src,bl,sg->skill_id,sg->skill_lv,tick,sg->val1))
sc_start(ss,bl,SC_FREEZE,50,sg->skill_lv,skill_get_time2(sg->skill_id, 4));
break;
case UNT_GROUNDDRIFT_FIRE:
if(skill_attack(skill_get_type(sg->skill_id),ss,src,bl,sg->skill_id,sg->skill_lv,tick,sg->val1))
skill_blown(src,bl,skill_get_blewcount(sg->skill_id,sg->skill_lv),-1,BLOWN_NONE);
break;
Each trap has a different effect depending on which Sphere is used to place it. The duration of each status effect is called from Duration2 within the skill_db.yml file.
I was able to confirm that Poison, Blind and Stun indeed work correctly. But once I tried the Water Sphere, I ran into issues. I'm able to freeze enemies but they don't stay frozen for the 12 seconds that are stated in skill_db.yml. In fact, they will break out of freeze immediately. I tried against monsters and players, same result.
Also, although these calls have skill_lv on them, I was unable to figure out what they do for the purpose of status effects. While they do increase the damage of the traps, I don't see where they fit here.