Description

Les avocats ont été mis de côté, mais c’est maintenant leur time to shine :star:!

Actions et poursuites

On introduit désormais les poursuites judiciaires qui peuvent survenir lorsqu’un personnage a effectué certaines actions de sabotage.

:warning:
Les règles décrites dans la story ACT sont conservées pour chaque action, mais de nouvelles conséquences sont ajoutées.

FR - Lancer une fausse rumeur

actionCode: FR

Conséquences
Les personnages qui jouent (from) l’action reçoivent une poursuite judiciaire.

SC - Révéler un scandale

actionCode: SC

Conséquences
Les personnages qui jouent (from) l’action reçoivent une poursuite judiciaire.
Changement par rapport à la story 5: La cible du scandale perd 10 points de réputation.

PL - Plainte pour harcèlement

actionCode: PL

Conséquences
Les personnages qui jouent (from) l’action reçoivent une poursuite judiciaire.
Changement par rapport à la story 5: La cible du scandale perd 10 points de réputation.

Engager un avocat

Lorsque les rongeurs ont une/des poursuites judiciaires, ils ont besoin d’engager un avocat. Les acteurs n’ont pas la possibilité d’engager eux-mêmes un avocat alors c’est leur agent qui s’en occupe. Tant qu’un acteur n’a pas d’agent, ou que son agent n’a aucun contact avocat, alors ses poursuites judiciaires restent à son actif.

Critères pour trouver un avocat
L’avocat doit faire partie de ses contacts sur RattedIn
L’avocat a le statut openToWork
Trouver l’avocat qui a le plus de points de réputation, si égalité y aller en ordre alphabétique de nom, si égalité, choisir au hasard (ce cas ne sera pas testé)

Ainsi à chaque tour, les personnages qui ont des poursuites judiciaires et qui n’ont pas d’avocat doivent s’en trouver un. La priorité pour choisir un avocat va à ceux qui ont le plus grand solde à leur compte bancaire (ordre décroissant du solde bancaire (si acteur, solde de son compte même s’il passe par un agent pour trouver un avocat), si égalité ordre alphabétique, si égalité choisir au hasard, ces cas ne seront pas testés).

Une fois l’avocat engagé, son statut passe à busy. À chaque tour pour lequel il est busy, l’avocat gagne un salaire (celui mentionné lors de la création du personnage). Si un personnage n’a pas assez d’argent pour payer le salaire de l’avocat, le restant de son solde est entièrement transféré à l’avocat. Son solde tombe alors à 0 et il sera éliminé du jeu (même logique qu’un acteur qui doit payer son agent, story 3).

Note (21 nov): D’abord le personnage trouve un avocat et au prochain tour l’avocat est payé et règle une poursuite (donc trouver un avocat n’est pas dans le même tour que régler une poursuite), voir exemple plus bas.

Un avocat peut traiter plusieurs poursuites pour un même client. Ce qui veut dire que pour toutes les poursuites judiciaires d’un client, le même avocat y sera assigné. Si un personnage a plusieurs poursuites à son actif, alors à chaque tour son avocat peut résoudre une de ses poursuites (ordre de résolution => du plus vieux au plus récent). Une fois que toutes les poursuites du personnage sont résolues, l’avocat est libre de pratiquer pour un autre client. Donc son statut sera remis à openToWork.

Si le personnage ne trouve pas un avocat correspondant aux critères, aucune de ses poursuites n’est résolue et il faudra essayer à nouveau de trouver un avocat au prochain tour.

Impacts d’avoir des poursuites judiciaires

Si un acteur a une ou plusieurs poursuites:

  • Donc si un acteur était en audition et qu’il reçoit une poursuite, il est retiré du potentialCasting.
  • Donc si un acteur était en tournage et qu’il reçoit une poursuite, il est retiré du casting.
  • Ne pourra pas auditionner ou tourner tant qu’il a des poursuites à son actif.

Si un agent a une ou plusieurs poursuites:

  • S’il représentait un ou des acteurs, tous ses acteurs se retrouvent sans agent.
  • Ne pourra pas représenter aucun acteur tant qu’il a des poursuites à son actif.

Si un avocat a une ou plusieurs poursuites:

  • Il perd tous ses clients.
  • Ne pourra pas avoir un client tant qu’il a des poursuites à son actif.
:warning:
Changements par rapport à la story 5
  • RS - Participer à une téléréalité
    • Les personnages qui jouent l’action perdent 10 (et non 30) points de réputation.
  • PO - Promouvoir un film
    • Avoir au moins 9000 (et non 15K) abonnés au moment où l’action est jouée.

Ordre des événements lorsqu’un tour est joué:

# Description
1 Les personnages déjà dans le jeu et sur Hamstagram perdent 600 abonnés.
2 Les acteurs en tournage reçoivent leur salaire.
3 Les acteurs et les agents reçoivent leur bonus.
4 Les acteurs déjà dans le jeu paient leur agent s’ils en ont un.
:new: 5 Les personnages déjà dans le jeu paient leur avocat s’ils en ont un.
6 Les personnages déjà dans le jeu perdent 100$.
7 Les personnages déjà dans le jeu perdent 6 points de réputation.
:new: 8 Les personnages déjà dans le jeu qui ont une/des poursuites judiciaires cherchent un avocat.
:new: 9 Règlement des pousuites pour les personnages déjà dans le jeu et qui ont un avocat (1 poursuite réglée par personnage). Le statut de l’avocat devient openToWork si toutes les poursuites de son client sont réglées.
10 Les actions sont jouées en ordre chronologique. Il faut donc appliquer les conséquences des actions. :new: Les poursuites sont ajoutées ici.
11 Les personnages sont éliminés selon les règlements habituels.
12 Les informations sur les personnages éliminés sont retirées (voir plus haut la section lorsqu’un personnage est éliminé et story 3).
13 Les demandes de contact faites sur RattedIn sont acceptées ou refusées.
14 Le nouveau film est ajouté.
15 Les nouveaux personnages sont ajoutés en ordre chronologique.
16 Les nouveaux acteurs et agents se créent un compte sur Hamstagram.
17 Les nouveaux agents et avocats se créent un compte sur RattedIn.
18 Tous les agents (incluant ceux nouvellement ajoutés) font une proposition à tous les acteurs (incluant ceux nouvellement ajoutés) pour les représenter.
19 Les acteurs acceptent ou refusent les demandes des agents.

API

:memo: Obtenir les informations d’un personnage

:warning:
Introduction de changements par rapport aux stories précédentes

Requête

GET /characters/<name>

Ajout du champ nbLawsuits, nombre de poursuites que possède un personnage.

{
  "name": ""::string,
  "type": hamster | rat | chinchilla,
  "reputationScore": 75::int,
  "bankBalance": 1000.00::float,
  "nbLawsuits": 0::int   => Nouveau champ
}

:memo: Obtenir toutes les poursuites de tous les personnages

Requête

GET /lawsuits

Réponse

HTTP 200

  • Mettre null au champ lawyerName si le personnage n’a pas encore d’avocat.
  • turnNumber fait référence au numéro de tour lorsque le personnage reçoit la poursuite.
  • L’ordre des poursuites dans la liste n’est pas important.
  • Retirer la poursuite lorsqu’elle a été réglée.
{
  [
    {
      "turnNumber": 0:: int,
      "characterName": ""::string,
      "actionCode": ""::string,
      "lawyerName": ""::string  => null si pas d'avocat.
    },
    ...
  ]
}

Exception

Aucune n’est demandée.

Exemples (cliquez pour voir)

:arrow_right: Exemple 1 - Un acteur joue l’action SC - Révéler un scandale.

  • POST /characters => Ajout de Joe l’acteur.
  • POST /characters => Ajout de Dave l’acteur.
  • POST /characters => Ajout de Max l’agent.
  • POST /characters => Ajout de Bob l’avocat.
  • POST :game_die: /turn
  • POST /actions => Joe joue l’action SC {from: “Joe”,to: “Dave”, actionCode: “SC” }
  • POST :game_die: /turn
  • GET /characters/Joe => Joe a maintenant 1 poursuite.
  • GET /lawsuits => [{turnNumber: 2, characterName: “Joe”, actionCode: “SC”, lawyerName: null }]
  • POST :game_die: /turn
  • GET /characters/Joe => Joe a toujours 1 poursuite, il voudrait chercher pour un avocat, mais son agent n’a aucun contact avocat.
  • GET /lawsuits => [{turnNumber: 2, characterName: “Joe”, actionCode: “SC”, lawyerName: null }]
  • POST /rattedin/Bob/request => Max l’agent fait une demande de contact sur RattedIn à Bob l’avocat. Ce dernier accepte.
  • POST :game_die: /turn
  • GET /characters/Joe => Joe a toujours 1 poursuite, son agent a dans ses contacts un avocat, par contre selon l’ordre des événements, les contacts sont acceptés (ordre #17) sur RattedIn APRÈS que les personnages cherchent un avocat (ordre #8).
  • POST :game_die: /turn
  • GET /characters/Joe => Joe a toujours 1 poursuite, il peut chercher pour un avocat via son agent.
  • GET /lawsuits => [{turnNumber: 2, characterName: “Joe”, actionCode: “SC”, lawyerName: “Bob” }]
  • POST :game_die: /turn
  • GET /characters/Joe => Joe a 0 poursuite.
  • GET /lawsuits => [] La poursuite est réglée donc elle est retirée de la liste.

:arrow_right: Exemple 2 - Un acteur joue l’action SC - Révéler un scandale.

  • POST /characters => Ajout de Joe l’acteur
  • POST /characters => Ajout de Dave l’acteur
  • POST /characters => Ajout de Max l’agent
  • POST /characters => Ajout de Bob l’avocat
  • POST :game_die: /turn
  • POST /rattedin/Bob/request => Max l’agent fait une demande de contact sur RattedIn à Bob l’avocat. Ce dernier accepte.
  • POST :game_die: /turn
  • POST /actions => Joe joue l’action SC {from: “Joe”,to: “Dave”, actionCode: “SC” }
  • POST :game_die: /turn
  • GET /characters/Joe => Joe a maintenant 1 poursuite.
  • GET /lawsuits => [{turnNumber: 3, characterName: “Joe”, actionCode: “SC”, lawyerName: null }]
  • POST :game_die: /turn
  • GET /characters/Joe => Joe a 1 poursuite. Cherche un avocat via son agent.
  • GET /lawsuits => [{turnNumber: 3, characterName: “Joe”, actionCode: “SC”, lawyerName: “Bob” }]
  • POST :game_die: /turn
  • GET /characters/Joe => Joe a maintenant 0 poursuite.
  • GET /lawsuits => []