Ce sujet vise à améliorer et à compléter le module des alliances
Constat actuel : la gestion de la diplomatie des alliances est très incomplète. Les bases sont jetées, mais le projet en est resté là.
Idée : avoir une vraie gestion de la diplomatie.
1ère partie : Gestion graphique
Actuellement, en vie galaxie, il n'existe aucun affichage particulier permettant de visualiser directement tes alliés, tes blasonnés et tes ennemis.
Il faudrait donc ajouter :
- Une couleur pour tes alliés de l'alliance,
- Une couleur pour tes alliés liés par un pacte total,
- Une couleur pour tes alliés commerciaux liés par un pacte commercial,
- Une couleur pour tes alliés en pacte de non agression,
- Une couleur pour tes alliés de la wing de ton alliance.
Et bien sur, laisser cette belle couleur blanche pour les neutres!
2ème partie : La wing
Définition : Traduction directe : "Aile". Sous alliance d'une autre alliance, dite "Mère". Classiquement, c'est une alliance pour faire progresser des joueurs faibles afin qu'ils puissent plus tard intégrer l'alliance mère. Une wing peut aussi être créée en temps de guerre, afin de n'impliquer que des joueurs ayant envie de guerroyer sans ennuyer ceux qui n'ont pas envie de s'engager.
La wing devra être créée depuis l'interface de gestion de l'alliance mère, et le leader sera nommé parmi les membres de l'alliance mère.
Le TAG sera automatiquement le tag de l'alliance mère avec le préfixe -W.
Le nom de l'alliance sera automatiquement le nom de l'alliance suivi de Wing
Objectif : Permettre une communication individuelle, collective et une vision entre les 2 entités
- Permettre par défaut aux leaders des entités de pouvoir voir la liste des membres des différentes entités liées.
- Permettre en option d'allouer la vision de la liste des membres à d'autres rangs de l'alliance, avec l'option de pouvoir restreindre la vision du status online/offline des joueurs de l'autre alliance (option déjà présente pour la vision interne - option de rang)
- Permettre par défaut aux leaders des entités de pouvoir envoyer un message global aux entités (toutes en même temps) ou à une entité en particulier.
- Permettre en option d'allouer l'envoi de messages globaux aux entités (toutes en même temps) ou à une entité en particulier à d'autres membres de l'alliance (option de rang)
3ème partie : Les alliances
Dit aussi de manière commune : pacte total.
Objectif : Permettre une communication individuelle, collective et une vision entre les 2 entités
- Permettre par défaut aux leaders des entités de pouvoir voir la liste des membres des différentes entités liées, SANS voir les statuts online/offline ni les coordonnées.
- Permettre en option d'allouer la vision de la liste des membres à d'autres rangs de l'alliance, SANS voir les statuts online/offline ni les coordonnées.
- Permettre par défaut aux leaders des entités de pouvoir envoyer un message global aux entités (toutes en même temps) ou à une entité en particulier.
- Permettre en option d'allouer l'envoi de messages globaux aux entités (toutes en même temps) ou à une entité en particulier à d'autres membres de l'alliance (option de rang)
Fondamentalement, il n'y aura donc pas de différence entre une wing et une alliance en pacte total, mis à part le rôle réciproque de chacune des alliances.
4ème partie : Le pacte commercial
Objectif : Permettre une communication individuelle et une vision entre les 2 entités
- Permettre par défaut aux leaders des entités de pouvoir voir la liste des membres des différentes entités liées, SANS voir les statuts online/offline ni les coordonnées.
- Permettre en option d'allouer la vision de la liste des membres à d'autres rangs de l'alliance, SANS voir les statuts online/offline ni les coordonnées.
5ème partie : Le pacte de non agression
Juste ajouter la couleur en vue galaxie (cf : 1ère partie)
6ème partie : La guerre
Noyau central d'un war-game, ce module est totalement inabouti.
Objectif 1 : Permettre à 2 alliances en guerre de pouvoir le faire proprement, sans pouvoir en profiter pour harceler illégalement d'autres joueurs non en guerre.
Quand 2 alliances se déclarent la guerre :
- Abolition de la protection noob pour tous les joueurs concernés, mais uniquement contre les joueurs de l'alliance en guerre (ou membres de sa propre alliance, ya pas de raison de limiter la corruption)
- Abolition de la limite d'attaque sur une même planète pour tous les joueurs concernés, mais uniquement contre les joueurs de l'alliance en guerre (ou membres de sa propre alliance, ya pas de raison de limiter la corruption)
- Permettre de définir les conditions de victoire/défaite lors de la déclaration de la guerre, avec une gestion automatisée de ces conditions.
Conditions de victoire possible :
1er cas : Guerre avec une limite temporelle - l'alliance ou le groupe d'alliance qui a rempli le plus l'objectif gagne (un seul objectif autorisé)
- Victoire pas nombre d'unités perdues
- Victoire par la valeur des unités détruites
- Victoire par le nombre de ressources pillées
Une dissolution de toutes les alliances d'un camp engendre automatiquement une victoire
2ème cas : Guerre sans limite temporelle - l'alliance ou le groupe d'alliance qui a rempli en premier une des conditions de victoire gagne (un seul objectif autorisé)
- Victoire pas nombre d'unités perdues
- Victoire par la valeur des unités détruites
- Victoire par le nombre de ressources pillées
Une dissolution de toutes les alliances d'un camp engendre automatiquement une victoire
Sanction pour les vaincus (à définir lors de la déclaration de guerre) :
- Dissolution automatique de l'alliance
- Départ d'un joueur ou plus de l'alliance (liste à définir)
- Abolition d'un pacte avec une (ou plusieurs) autre(s) alliance(s)
- Pas de sanctions
Objectif 2 : Permettre aux alliances d'afficher leur score de guerre, avec les conditions, etc.
-> Interface graphique en vue générale de l'alliance
Attention lors du codage de cette partie, il y a des moyen de tricher pour afficher de hauts scores de guerre, notamment en mettant des conditions de victoires stupides.
Il y a alors 2 visions :
- Comme il y a un affichage des guerres effectuées, et des conditions de victoire associés, juste ajouter un outils en panel admin pour supprimer une entrée de la liste des guerres.
- Mettre en place une validation de la guerre par un opérateur, qui valide les conditions de victoire (je suis plus pour ce genre de développement)
Dans tous les cas, un pacte ou une guerre doit être validé par le leader (ou son/ses bras droits).
Il faut donc ajouter, si ce n'est pas déjà le cas, un envoi automatisé un message privé au leader et à son(ses) bras-droits afin de les informer de l'arrivé d'un pacte.
Il est à noter qu'un pacte doit pouvoir être révoqué à n'importe quel moment, sans conditions, SAUF pour les guerres, qui doivent être terminées par l'accomplissement d'une des conditions de victoire.