void main()
{
    int nVolcano = GetLocalInt(OBJECT_SELF,"Volcano");
    object oPC = GetEnteringObject();
    if ((nVolcano != 1) && (GetIsPC(oPC) == TRUE))
    {
        AddJournalQuestEntry("dungeon",20,oPC);
        object oGas = GetNearestObjectByTag("Gas",oPC);
        object oFire = GetNearestObjectByTag("Fire",oPC);
        effect eAOE = EffectAreaOfEffect(AOE_PER_FOGACID, "NW_T1_GasMinoC1", "****", "****");
        effect eAOE2 = EffectAreaOfEffect(AOE_PER_FOGFIRE, "NW_T1_FireMinoC1", "****", "****");
        int nCount = 1;
        while (oGas != OBJECT_INVALID)
        {
            location lTarget = GetLocation(oGas);
            ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eAOE, lTarget);
            nCount = nCount + 1;
            oGas = GetNearestObjectByTag("Gas",oPC,nCount);
        }
        int nCount2 = 1;
        while (oFire != OBJECT_INVALID)
        {
            location lTarget2 = GetLocation(oFire);
            ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eAOE2, lTarget2);
            nCount2 = nCount2 + 1;
            oFire = GetNearestObjectByTag("Fire",oPC,nCount2);
        }
        SetLocalInt(OBJECT_SELF,"Volcano",1);
    }
}
