Envenom's element can be found in db/(pre-)re/skill_db.txt, look for TF_POISON.
52,-2,6,1,5,0,0,10,1,no,0,0,0,weapon,0,0x0, TF_POISON,Envenom
The 5 is for poison.
As for the rest, you'll have to look up how it's been implemented. Start off by checking in skill.c and you'll see soon enough that the status is applied in skill_additional_effect. You're looking for:
case TF_POISON:
case AS_SPLASHER:
if(!sc_start2(src,bl,SC_POISON,(4*skill_lv+10),skill_lv,src->id,skill_get_time2(skill_id,skill_lv))
&& sd && skill_id==TF_POISON
)
clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
The proc chance is at (4*skill_lv+10), which is out of 100. If you want to costumize TF_POISON only, you'll have to separate it from AS_SPLASHER since they share the same poison effect.
Battle formulas (or skill damage) are usually in battle.c. Searching for TF_POISON will get you to
// renewal:
if(skill_id == TF_POISON) //Additional ATK from Envenom is treated as mastery type damage [helvetica]
ATK_ADD(wd.masteryAtk, wd.masteryAtk2, 15 * skill_lv);
// or pre-renewal:
if (skill_id == TF_POISON)
ATK_ADD(wd.damage, wd.damage2, 15 * skill_lv);
So the damage of 15 * skill_lv can be changed there.
SP costs and other skill requirements are found in db/(pre-re)/skill_require_db.txt.
52,0,0,12,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TF_POISON
Poison will consume 12 SP as shown on the line above.
Cast times and delays are found in db/(pre-)re/skill_cast_db.txt :
//-- TF_POISON
52,0,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0
So here it uses the 'duration2' field, which is then used in the function above 'skill_get_time2(skill_id,skill_lv)' to get the duration of the status on the player. You can get more info from the file's header.
Edit: oops, I missed the pre-renewal part! Sorry ;x! Most of the information still works though xD