// Token: 0x06001030 RID: 4144 RVA: 0x0008CD04 File Offset: 0x0008AF04
    private static void gmEneUniuniNeedleWaitMain(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK  = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work;
        AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK2 = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work.parent_obj;
        int   num   = gms_ENE_UNIUNI_WORK2.rot_y;
        int   rot_x = gms_ENE_UNIUNI_WORK2.rot_x;
        int   rot_z = gms_ENE_UNIUNI_WORK2.rot_z;
        float len   = gms_ENE_UNIUNI_WORK2.len;

        num += AppMain.AKM_DEGtoA32(360) / 4 * gms_ENE_UNIUNI_WORK.num;
        num %= AppMain.AKM_DEGtoA32(360);
        AppMain.SNNS_MATRIX snns_MATRIX;
        AppMain.nnMakeRotateXMatrix(out snns_MATRIX, rot_x);
        AppMain.nnRotateZMatrix(ref snns_MATRIX, ref snns_MATRIX, rot_z);
        AppMain.nnRotateYMatrix(ref snns_MATRIX, ref snns_MATRIX, num);
        AppMain.SNNS_MATRIX snns_MATRIX2;
        AppMain.nnMakeTranslateMatrix(out snns_MATRIX2, len, 0f, 0f);
        AppMain.SNNS_MATRIX snns_MATRIX3;
        AppMain.nnMultiplyMatrix(out snns_MATRIX3, ref snns_MATRIX, ref snns_MATRIX2);
        AppMain.SNNS_VECTOR snns_VECTOR;
        AppMain.nnCopyMatrixTranslationVector(out snns_VECTOR, ref snns_MATRIX3);
        obj_work.pos.x = AppMain.FX_F32_TO_FX32(snns_VECTOR.x) + gms_ENE_UNIUNI_WORK2.ene_3d_work.ene_com.obj_work.pos.x;
        obj_work.pos.y = AppMain.FX_F32_TO_FX32(snns_VECTOR.y) + gms_ENE_UNIUNI_WORK2.ene_3d_work.ene_com.obj_work.pos.y;
        obj_work.pos.z = 655360;
        if (gms_ENE_UNIUNI_WORK2.attack != 0 && ( double )snns_VECTOR.y >= ( double )len * 0.98)
        {
            obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneUniuniNeedleAttackInit);
        }
    }
Esempio n. 2
0
 private static AppMain.OBS_OBJECT_WORK GmEneUniuniNeedleInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.OBS_OBJECT_WORK     work             = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_ENE_UNIUNI_WORK()), "ENE_UNIUNI");
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)work;
     AppMain.GMS_ENE_UNIUNI_WORK gmsEneUniuniWork = (AppMain.GMS_ENE_UNIUNI_WORK)work;
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_ene_uniuni_obj_3d_list[1], gmsEnemy3DWork.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(work, 0, true, AppMain.ObjDataGet(695), (string)null, 0, (AppMain.AMS_AMB_HEADER)null);
     AppMain.ObjDrawObjectSetToon(work);
     work.pos.z = 655360;
     AppMain.OBS_RECT_WORK pRec1 = gmsEnemy3DWork.ene_com.rect_work[1];
     AppMain.ObjRectWorkSet(pRec1, (short)-4, (short)-4, (short)4, (short)4);
     pRec1.flag |= 4U;
     AppMain.OBS_RECT_WORK pRec2 = gmsEnemy3DWork.ene_com.rect_work[2];
     AppMain.ObjRectWorkSet(pRec2, (short)-19, (short)0, (short)19, (short)32);
     pRec2.flag &= 4294967291U;
     gmsEnemy3DWork.ene_com.enemy_flag |= 32768U;
     work.move_flag &= 4294967167U;
     work.move_flag |= 256U;
     work.disp_flag |= 4194304U;
     AppMain.gmEneUniuniNeedleWaitInit(work);
     work.obj_3d.use_light_flag &= 4294967294U;
     work.obj_3d.use_light_flag |= 64U;
     return(work);
 }
Esempio n. 3
0
    private static void gmEneUniuniNeedleWaitMain(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENE_UNIUNI_WORK gmsEneUniuniWork = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work;
        AppMain.GMS_ENE_UNIUNI_WORK parentObj        = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work.parent_obj;
        int   rotY = parentObj.rot_y;
        int   rotX = parentObj.rot_x;
        int   rotZ = parentObj.rot_z;
        float len  = parentObj.len;
        int   ay   = (rotY + AppMain.AKM_DEGtoA32(360) / 4 * gmsEneUniuniWork.num) % AppMain.AKM_DEGtoA32(360);

        AppMain.SNNS_MATRIX dst1;
        AppMain.nnMakeRotateXMatrix(out dst1, rotX);
        AppMain.nnRotateZMatrix(ref dst1, ref dst1, rotZ);
        AppMain.nnRotateYMatrix(ref dst1, ref dst1, ay);
        AppMain.SNNS_MATRIX dst2;
        AppMain.nnMakeTranslateMatrix(out dst2, len, 0.0f, 0.0f);
        AppMain.SNNS_MATRIX dst3;
        AppMain.nnMultiplyMatrix(out dst3, ref dst1, ref dst2);
        AppMain.SNNS_VECTOR dst4;
        AppMain.nnCopyMatrixTranslationVector(out dst4, ref dst3);
        obj_work.pos.x = AppMain.FX_F32_TO_FX32(dst4.x) + parentObj.ene_3d_work.ene_com.obj_work.pos.x;
        obj_work.pos.y = AppMain.FX_F32_TO_FX32(dst4.y) + parentObj.ene_3d_work.ene_com.obj_work.pos.y;
        obj_work.pos.z = 655360;
        if (parentObj.attack == 0 || (double)dst4.y < (double)len * 0.98)
        {
            return;
        }
        obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneUniuniNeedleAttackInit);
    }
Esempio n. 4
0
 private static void gmEneUniuniNeedleAttackInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENE_UNIUNI_WORK parentObj = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work.parent_obj;
     --parentObj.num;
     obj_work.spd.x      = ((int)parentObj.ene_3d_work.ene_com.obj_work.disp_flag & 1) == 0 ? AppMain.FX_F32_TO_FX32(1f) : -AppMain.FX_F32_TO_FX32(1f);
     obj_work.parent_obj = (AppMain.OBS_OBJECT_WORK)null;
     obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneUniuniNeedleAttackMain);
 }
 // Token: 0x06001029 RID: 4137 RVA: 0x0008C9F0 File Offset: 0x0008ABF0
 private static void gmEneUniuniWalkInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work;
     obj_work.disp_flag       |= 4U;
     obj_work.ppFunc           = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneUniuniWalkMain);
     obj_work.move_flag       &= 4294967291U;
     gms_ENE_UNIUNI_WORK.timer = 1;
 }
Esempio n. 6
0
 private static AppMain.OBS_OBJECT_WORK GmEneUniuniInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.OBS_OBJECT_WORK     work             = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_ENE_UNIUNI_WORK()), "ENE_UNIUNI");
     AppMain.GMS_ENEMY_3D_WORK   gmsEnemy3DWork   = (AppMain.GMS_ENEMY_3D_WORK)work;
     AppMain.GMS_ENE_UNIUNI_WORK gmsEneUniuniWork = (AppMain.GMS_ENE_UNIUNI_WORK)work;
     AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_ene_uniuni_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
     AppMain.ObjObjectAction3dNNMotionLoad(work, 0, true, AppMain.ObjDataGet(695), (string)null, 0, (AppMain.AMS_AMB_HEADER)null);
     AppMain.ObjDrawObjectSetToon(work);
     work.pos.z = 655360;
     AppMain.OBS_RECT_WORK pRec1 = gmsEnemy3DWork.ene_com.rect_work[1];
     AppMain.ObjRectWorkSet(pRec1, (short)-8, (short)0, (short)8, (short)16);
     pRec1.flag |= 4U;
     AppMain.OBS_RECT_WORK pRec2 = gmsEnemy3DWork.ene_com.rect_work[0];
     AppMain.ObjRectWorkSet(pRec2, (short)-16, (short)-8, (short)16, (short)16);
     pRec2.flag |= 4U;
     gmsEnemy3DWork.ene_com.rect_work[2].flag &= 4294967291U;
     AppMain.OBS_RECT_WORK pRec3 = gmsEnemy3DWork.ene_com.rect_work[2];
     AppMain.ObjRectWorkSet(pRec3, (short)-19, (short)-16, (short)19, (short)16);
     pRec3.flag     &= 4294967291U;
     work.move_flag &= 4294967167U;
     work.move_flag |= 256U;
     if (((int)eve_rec.flag & 1) == 0)
     {
         work.disp_flag |= 1U;
         work.dir.y      = (ushort)AppMain.AKM_DEGtoA16(45);
     }
     else
     {
         work.dir.y = (ushort)AppMain.AKM_DEGtoA16(-45);
     }
     work.user_work                = (uint)(work.pos.x + ((int)eve_rec.left << 12));
     work.user_flag                = (uint)(work.pos.x + ((int)eve_rec.left + (int)eve_rec.width << 12));
     gmsEneUniuniWork.spd_dec      = 76;
     gmsEneUniuniWork.spd_dec_dist = 15360;
     gmsEneUniuniWork.len          = 17.5f;
     gmsEneUniuniWork.len_target   = 35.5f;
     gmsEneUniuniWork.len_spd      = 1f;
     gmsEneUniuniWork.rot_x        = AppMain.AKM_DEGtoA32(90f);
     gmsEneUniuniWork.rot_y        = AppMain.AKM_DEGtoA32(0.0f);
     gmsEneUniuniWork.rot_z        = AppMain.AKM_DEGtoA32(0.0f);
     gmsEneUniuniWork.num          = 0;
     AppMain.gmEneUniuniWalkInit(work);
     for (int index = 0; index < 4; ++index)
     {
         AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.GmEventMgrLocalEventBirth((ushort)310, pos_x, pos_y, (ushort)0, (sbyte)0, (sbyte)0, (byte)0, (byte)0, (byte)0);
         obsObjectWork.parent_obj = work;
         ((AppMain.GMS_ENE_UNIUNI_WORK)obsObjectWork).num = index;
         ++gmsEneUniuniWork.num;
     }
     work.obj_3d.use_light_flag &= 4294967294U;
     work.obj_3d.use_light_flag |= 64U;
     return(work);
 }
Esempio n. 7
0
    // Token: 0x06001026 RID: 4134 RVA: 0x0008C564 File Offset: 0x0008A764
    private static OBS_OBJECT_WORK GmEneUniuniInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENE_UNIUNI_WORK(), "ENE_UNIUNI");

        AppMain.GMS_ENEMY_3D_WORK   gms_ENEMY_3D_WORK   = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK = (AppMain.GMS_ENE_UNIUNI_WORK)obs_OBJECT_WORK;
        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_uniuni_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
        AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(695), null, 0, null);
        AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK);
        obs_OBJECT_WORK.pos.z = 655360;
        AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -8, 0, 8, 16);
        obs_RECT_WORK.flag |= 4U;
        obs_RECT_WORK       = gms_ENEMY_3D_WORK.ene_com.rect_work[0];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -16, -8, 16, 16);
        obs_RECT_WORK.flag |= 4U;
        gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U;
        obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2];
        AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -16, 19, 16);
        obs_RECT_WORK.flag        &= 4294967291U;
        obs_OBJECT_WORK.move_flag &= 4294967167U;
        obs_OBJECT_WORK.move_flag |= 256U;
        if ((eve_rec.flag & 1) == 0)
        {
            obs_OBJECT_WORK.disp_flag |= 1U;
            obs_OBJECT_WORK.dir.y      = ( ushort )AkMath.DEGtoA16(45);
        }
        else
        {
            obs_OBJECT_WORK.dir.y = ( ushort )AkMath.DEGtoA16(-45);
        }
        obs_OBJECT_WORK.user_work        = ( uint )(obs_OBJECT_WORK.pos.x + (( int )eve_rec.left << 12));
        obs_OBJECT_WORK.user_flag        = ( uint )(obs_OBJECT_WORK.pos.x + (( int )(eve_rec.left + ( sbyte )eve_rec.width) << 12));
        gms_ENE_UNIUNI_WORK.spd_dec      = 76;
        gms_ENE_UNIUNI_WORK.spd_dec_dist = 15360;
        gms_ENE_UNIUNI_WORK.len          = 17.5f;
        gms_ENE_UNIUNI_WORK.len_target   = 35.5f;
        gms_ENE_UNIUNI_WORK.len_spd      = 1f;
        gms_ENE_UNIUNI_WORK.rot_x        = AkMath.DEGtoA32(90f);
        gms_ENE_UNIUNI_WORK.rot_y        = AkMath.DEGtoA32(0f);
        gms_ENE_UNIUNI_WORK.rot_z        = AkMath.DEGtoA32(0f);
        gms_ENE_UNIUNI_WORK.num          = 0;
        AppMain.gmEneUniuniWalkInit(obs_OBJECT_WORK);
        for (int i = 0; i < 4; i++)
        {
            OBS_OBJECT_WORK obs_OBJECT_WORK2 = AppMain.GmEventMgrLocalEventBirth(310, pos_x, pos_y, 0, 0, 0, 0, 0, 0);
            obs_OBJECT_WORK2.parent_obj = obs_OBJECT_WORK;
            AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK2 = (AppMain.GMS_ENE_UNIUNI_WORK)obs_OBJECT_WORK2;
            gms_ENE_UNIUNI_WORK2.num = i;
            gms_ENE_UNIUNI_WORK.num++;
        }
        obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U;
        obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U;
        return(obs_OBJECT_WORK);
    }
 // Token: 0x06001031 RID: 4145 RVA: 0x0008CE58 File Offset: 0x0008B058
 private static void gmEneUniuniNeedleAttackInit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work.parent_obj;
     gms_ENE_UNIUNI_WORK.num--;
     if ((gms_ENE_UNIUNI_WORK.ene_3d_work.ene_com.obj_work.disp_flag & 1U) != 0U)
     {
         obj_work.spd.x = -AppMain.FX_F32_TO_FX32(1f);
     }
     else
     {
         obj_work.spd.x = AppMain.FX_F32_TO_FX32(1f);
     }
     obj_work.parent_obj = null;
     obj_work.ppFunc     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneUniuniNeedleAttackMain);
 }
Esempio n. 9
0
 private static int gmEneUniuniSetWalkSpeed(AppMain.GMS_ENE_UNIUNI_WORK uniuni_work)
 {
     return(0);
 }
Esempio n. 10
0
 private static void gmEneUniuniWalkMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENE_UNIUNI_WORK gmsEneUniuniWork = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work;
     obj_work.spd.x = ((int)obj_work.disp_flag & 1) == 0 ? 1536 : -1536;
     if ((double)gmsEneUniuniWork.len_target == 17.5)
     {
         if (((int)obj_work.disp_flag & 1) != 0)
         {
             gmsEneUniuniWork.rot_y += AppMain.AKM_DEGtoA32(1);
         }
         else
         {
             gmsEneUniuniWork.rot_y += AppMain.AKM_DEGtoA32(-1);
         }
     }
     else
     {
         if (((int)obj_work.disp_flag & 1) != 0)
         {
             gmsEneUniuniWork.rot_y += AppMain.AKM_DEGtoA32(0.5f);
         }
         else
         {
             gmsEneUniuniWork.rot_y += AppMain.AKM_DEGtoA32(-0.5f);
         }
         obj_work.spd.x = 0;
     }
     if ((double)gmsEneUniuniWork.len_target > (double)gmsEneUniuniWork.len)
     {
         gmsEneUniuniWork.len += gmsEneUniuniWork.len_spd;
         if ((double)gmsEneUniuniWork.len_target <= (double)gmsEneUniuniWork.len)
         {
             gmsEneUniuniWork.len = gmsEneUniuniWork.len_target;
         }
         gmsEneUniuniWork.len_spd += 0.03f;
     }
     if ((double)gmsEneUniuniWork.len_target < (double)gmsEneUniuniWork.len)
     {
         gmsEneUniuniWork.len -= gmsEneUniuniWork.len_spd;
         if ((double)gmsEneUniuniWork.len_target >= (double)gmsEneUniuniWork.len)
         {
             gmsEneUniuniWork.len = gmsEneUniuniWork.len_target;
         }
         gmsEneUniuniWork.len_spd -= 0.05f;
         if ((double)gmsEneUniuniWork.len_spd < 0.100000001490116)
         {
             gmsEneUniuniWork.len_spd = 0.1f;
         }
     }
     if (gmsEneUniuniWork.timer > 0)
     {
         --gmsEneUniuniWork.timer;
     }
     else if ((double)gmsEneUniuniWork.len_target == 17.5)
     {
         gmsEneUniuniWork.timer      = 120;
         gmsEneUniuniWork.len_spd    = 0.0f;
         gmsEneUniuniWork.len_target = 35.5f;
     }
     else
     {
         if ((double)gmsEneUniuniWork.len_target != 35.5)
         {
             return;
         }
         gmsEneUniuniWork.timer      = 120;
         gmsEneUniuniWork.len_spd    = 1f;
         gmsEneUniuniWork.len_target = 17.5f;
     }
 }
 // Token: 0x0600102A RID: 4138 RVA: 0x0008CA44 File Offset: 0x0008AC44
 private static void gmEneUniuniWalkMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENE_UNIUNI_WORK gms_ENE_UNIUNI_WORK = (AppMain.GMS_ENE_UNIUNI_WORK)obj_work;
     if ((obj_work.disp_flag & 1U) != 0U)
     {
         obj_work.spd.x = -1536;
     }
     else
     {
         obj_work.spd.x = 1536;
     }
     if (gms_ENE_UNIUNI_WORK.len_target == 17.5f)
     {
         if ((obj_work.disp_flag & 1U) != 0U)
         {
             gms_ENE_UNIUNI_WORK.rot_y += AppMain.AKM_DEGtoA32(1);
         }
         else
         {
             gms_ENE_UNIUNI_WORK.rot_y += AppMain.AKM_DEGtoA32(-1);
         }
     }
     else
     {
         if ((obj_work.disp_flag & 1U) != 0U)
         {
             gms_ENE_UNIUNI_WORK.rot_y += AppMain.AKM_DEGtoA32(0.5f);
         }
         else
         {
             gms_ENE_UNIUNI_WORK.rot_y += AppMain.AKM_DEGtoA32(-0.5f);
         }
         obj_work.spd.x = 0;
     }
     if (gms_ENE_UNIUNI_WORK.len_target > gms_ENE_UNIUNI_WORK.len)
     {
         gms_ENE_UNIUNI_WORK.len += gms_ENE_UNIUNI_WORK.len_spd;
         if (gms_ENE_UNIUNI_WORK.len_target <= gms_ENE_UNIUNI_WORK.len)
         {
             gms_ENE_UNIUNI_WORK.len = gms_ENE_UNIUNI_WORK.len_target;
         }
         gms_ENE_UNIUNI_WORK.len_spd += 0.03f;
     }
     if (gms_ENE_UNIUNI_WORK.len_target < gms_ENE_UNIUNI_WORK.len)
     {
         gms_ENE_UNIUNI_WORK.len -= gms_ENE_UNIUNI_WORK.len_spd;
         if (gms_ENE_UNIUNI_WORK.len_target >= gms_ENE_UNIUNI_WORK.len)
         {
             gms_ENE_UNIUNI_WORK.len = gms_ENE_UNIUNI_WORK.len_target;
         }
         gms_ENE_UNIUNI_WORK.len_spd -= 0.05f;
         if (gms_ENE_UNIUNI_WORK.len_spd < 0.1f)
         {
             gms_ENE_UNIUNI_WORK.len_spd = 0.1f;
         }
     }
     if (gms_ENE_UNIUNI_WORK.timer > 0)
     {
         gms_ENE_UNIUNI_WORK.timer--;
         return;
     }
     if (gms_ENE_UNIUNI_WORK.len_target == 17.5f)
     {
         gms_ENE_UNIUNI_WORK.timer      = 120;
         gms_ENE_UNIUNI_WORK.len_spd    = 0f;
         gms_ENE_UNIUNI_WORK.len_target = 35.5f;
         return;
     }
     if (gms_ENE_UNIUNI_WORK.len_target == 35.5f)
     {
         gms_ENE_UNIUNI_WORK.timer      = 120;
         gms_ENE_UNIUNI_WORK.len_spd    = 1f;
         gms_ENE_UNIUNI_WORK.len_target = 17.5f;
     }
 }