Documentation - CODAGE

CODAGE

Santé et Goggles  -  par FSMOD

SANTE et GOGGLES

L'usage des jumelles infra-rouges et de vision nocturne (Thermal et NV goggles) affectent le joueur qui les utilise, d'une perte totale de protection par l'armure. Il ne lui reste que la santé. Cette pénalité est justifiée dans la mesure où il perçoit très nettement et à distance, la silhouette écarlate de la cible qui lui offre ainsi, un avantage certain. D'autant plus que des cloisons minces laissent même apparaitre la cible si elle se trouve collée contre la paroi. Le WH n'est pas loin.

Personnellement j'ai jugé insuffisante cette pénalité aussi ai-je codé un CVAR g_healthGoggle, dont la valeur sur une plage de 5 à 100, sera choisie par le Sysop. Elle impactera le capital santé de départ du joueur concerné. La valeur g_healthGoggle est fixée à 50 par défaut.

Pour résumer:

  • 5 = Taux d'anémie très élevé
  • 100 = C'est la pleine forme

Modification du code sources

Fichier g_local.h

Après

 extern vmCvar_t g_realisticAmmo;

Ajouter

 extern vmCvar_t g_healthGoggle; // *FSMOD* Santé goggles

Fichier g_main.c

Après

 vmCvar_t  g_realisticAmmo;

Ajouter

 vmCvar_t  g_healthGoggle;  //*FSMOD* Santé goggles

Après

 { &g_realisticAmmo, "g_realisticAmmo", "0", CVAR_SYSTEMINFO, 0.0f, 0.0f, 0, qfalse },

Ajouter

 { &g_healthGoggle, "g_healthGoggle", "50", CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_LOCK_RANGE, 05.0, 100.0 },// *FSMOD* Santé goggles

Fichier g_client.c

Dans la fonction ClientSpawn, remplacez le groupe

  

// Everyone gets full armor in deathmatch
        client->ps.stats[STAT_ARMOR] = MAX_HEALTH;
    }

    client->ps.stats[STAT_HEALTH] = ent->health = MAX_HEALTH;

Par le groupe suivant

    // Everyone gets full armor in deathmatch
        client->ps.stats[STAT_ARMOR] = MAX_HEALTH;
    }

// *FSMOD* La santé est fixée en cas d'usage des goggles
    if ( pm->ps->stats[STAT_GOGGLES] == GOGGLES_INFRARED  || pm->ps->stats[STAT_GOGGLES] == GOGGLES_NIGHTVISION   )


    {
        client->ps.stats[STAT_HEALTH] = ent->health =  g_healthGoggle.integer;
        if (g_healthGoggle.integer != 100 && disable_thermal.integer == 0)

        {

        trap_SendServerCommand(ent-g_entities, "chat -1\ ".:: Your health is reduced by using thermals  ::.\n " );

        }

    }

   else
    {
        client->ps.stats[STAT_HEALTH] = ent->health = MAX_HEALTH;
    }

// *FSMOD*

Nota: Bien entendu il est impératif que les CVAR disable_thermal et/ou disable_NightVision soient à 0 afin de rendre les jumelles disponibles pour les joueurs. Par ailleurs, ceux qui choisiront l'armure ne seront pas affectés par le handicap santé.

-=mad=-

Publié le 13/03/2019 18:38   Haut
Rubriques

Vous êtes ici :   Accueil » Documentation » CODAGE