From 0b9606cbfe9b4527e96447e52310ca2f4703f88f Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 20 Dec 2020 17:52:44 +0100 Subject: [PATCH] Update entities documentation --- docs/entities/friendly.rst | 50 ++++++++++++++++++++++++++++++++++ docs/entities/index.rst | 15 ++++++++++- docs/entities/items.rst | 55 +++++++++++++++++++++++++++++++------- docs/texture-pack.rst | 35 +++++++++++++++++++----- 4 files changed, 137 insertions(+), 18 deletions(-) create mode 100644 docs/entities/friendly.rst diff --git a/docs/entities/friendly.rst b/docs/entities/friendly.rst new file mode 100644 index 0000000..11eea62 --- /dev/null +++ b/docs/entities/friendly.rst @@ -0,0 +1,50 @@ +Entités pacifiques +================== + +.. _`entité attaquante`: index.html#entites-attaquantes +.. _`pack de textures`: ../texture-pack.html + +Chaque entité pacifique est en particulier une `entité attaquante`_, +et hérite donc de ses attributs, et peut alors être attaquée. +Ils sont cependant non-hostiles. + +Il est possible d'interagir avec ces entités. En s'approchant d'elles, en +appuyant sur la touche ``T`` suivie de la direction où regarder, un échange +débute. + +On dénombre actuellement 2 types d'entités pacifiques : + +Tournesol +--------- + +Son nom est fixé à `sunflower`. Il a par défaut une **15** points de vie. + +Interagir avec un tournesol n'a pas de réel intérêt, si ce n'est déclencher +le « pouvoir des fleurs !! » ou bien savoir que « le soleil est chaud +aujourd'hui ». + +Dans le `pack de textures`_ ASCII, il est représenté par le caractère ``I``. + +Dans le `pack de textures`_ écureuil, il est représenté par l'émoji ``🌻``. + + +Marchand +-------- + +Son nom est fixé à `merchant`. Il a par défaut **5** points de vie. + +En interagissant avec un marchand, il est possible de lui acheter et de lui +vendre différents objets contre des Hazels, la monnaie du jeu. +Les prix sont fixés : + +* Bombe : 4 Hazels +* Coeur : 3 Hazels +* Potion d'arrachage de corps : 14 Hazels +* Épée : 20 Hazels +* Bouclier : 18 Hazels + +Le marchand commence avec 75 Hazels en sa possession, contre 42 pour le joueur. + +Dans le `pack de textures`_ ASCII, il est représenté par le caractère ``M``. + +Dans le `pack de textures`_ écureuil, il est représenté par l'émoji ``🦜``. diff --git a/docs/entities/index.rst b/docs/entities/index.rst index 1d63bbf..d23f79c 100644 --- a/docs/entities/index.rst +++ b/docs/entities/index.rst @@ -7,6 +7,7 @@ Entités player monsters + friendly items Entité @@ -38,11 +39,12 @@ Entité attaquante ----------------- .. _monstre: monsters.html +.. _entité pacifique: friendly.html .. _joueur: player.html Une entité attaquante (``FightingEntity``) est un type d'entités représentant les personnages présents sur la carte, pouvant alors se battre. Ce peut être -un monstre_ ou bien le joueur_. +un monstre_, une `entité pacifique`_ ou bien le joueur_. Elles disposent toutes, en plus des paramètres d'entité, des attributs suivants : @@ -77,3 +79,14 @@ en-dessous de 0 point de vie. À ce moment-là, l'entité est retirée de la car Lorsqu'une entité en frappe une autre, celle-ci inflige autant de dégâts qu'elle n'a de force, et autant de points de vie sont perdus. + + +Entité pacifique +---------------- + +Une entité pacifique (``FriendlyEntity``) est un cas particulier d'entité +attaquante. Contrairement aux montres, elles ne peuvent pas attaquer le joueur. + +On peut parler à une entité pacifique en appuyant sur la touche ``T`` puis en +appuyant sur la direction dans laquelle on veut parler à l'entité. + diff --git a/docs/entities/items.rst b/docs/entities/items.rst index 521ca91..918586c 100644 --- a/docs/entities/items.rst +++ b/docs/entities/items.rst @@ -28,23 +28,58 @@ Bombe .. _entités attaquantes: index.html#entite-attaquante Une bombe est un objet que l'on peut ramasser. Une fois ramassée, elle est placée -dans l'inventaire. Le joueur peut ensuite lâcher la bombe, qui fera alors -3 dégâts à toutes les `entités attaquantes`_ situées à moins de une case. +dans l'inventaire. Le joueur peut ensuite utiliser la bombe, via l'inventaire +ou après l'avoir équipée, qui fera alors 3 dégâts à toutes les +`entités attaquantes`_ situées à moins de trois cases au bout de 4 ticks de jeu. Elle est représentée dans le `pack de textures`_ ASCII par le caractère ``o`` -et dans le `pack de textures`_ écureuil par l'émoji ``💣``. +et dans le `pack de textures`_ écureuil par l'émoji ``💣``. Lors de l'explosion, +la bombe est remplacée par un symbole ``%`` ou l'émoji ``💥`` selon le pack de +textures utilisé. -.. note:: - - La gestion de l'inventaire n'ayant pas encore été implémentée, il n'est à - l'heure actuelle pas possible de lancer une bombe. +La bombe coûte 4 Hazels auprès des marchands. Cœur ---- -Une cœur est un objet que l'on ne peut pas ramasser. Dès que le joueur s'en -approche, il est régénéré automatiquement de 3 points de vie, et le cœur disparaît. +Un cœur est un objet que l'on ne peut pas ramasser. Dès que le joueur s'en +approche ou qu'il l'achète auprès d'un marchand, il est régénéré automatiquement +de 3 points de vie, et le cœur disparaît. -Elle est représentée dans le `pack de textures`_ ASCII par le caractère ``❤`` +Il est représenté dans le `pack de textures`_ ASCII par le caractère ``❤`` et dans le `pack de textures`_ écureuil par l'émoji ``💜``. + +Le cœur coûte 3 Hazels auprès des marchands. + + +Potion d'arrachage de corps +--------------------------- + +Cette potion permet, une fois utilisée, d'échanger toutes ses caractéristiques +avec une autre entité aléatoire sur la carte. Cela inclut la force, la position, +l'icône, ... + +Elle est représentée par les caractères ``I`` et ``🔀`` + +Cette potion coûte 14 Hazels auprès des marchands. + + +Épée +---- + +L'épée est un objet que l'on peut trouver uniquement par achat auprès d'un +marchand pour le coût de 20 Hazels. Une fois équipée, l'épée ajoute 3 de force +à son porteur. + +Elle est représentée par les caractères ``†`` et ``🗡️``. + + +Bouclier +-------- + +Le bouclier est un objet que l'on peut trouver uniquement par achat auprès d'un +marchand pour le coût de 18 Hazels. Une fois équipé, le bouclier ajoute 2 de +constitution à son porteur, le permettant de parer plus de coups. + +Il est représenté par les caractères ``D`` et ``🛡️``. diff --git a/docs/texture-pack.rst b/docs/texture-pack.rst index 377a3cf..c81e62a 100644 --- a/docs/texture-pack.rst +++ b/docs/texture-pack.rst @@ -9,18 +9,25 @@ Pack de textures .. _Joueur: entities/player.html .. _Hérisson: entities/monsters.html#herisson -.. _Cœur: entities/items.html#coeur -.. _Bombe: entities/items.html#bombe .. _Lapin: entities/monsters.html#lapin .. _Tigre: entities/monsters.html#tigre .. _Nounours: entities/monsters.html#nounours +.. _Tournesol: entities/friendly.html#tournesol +.. _Marchand: entities/friendly.html#marchand +.. _Cœur: entities/items.html#coeur +.. _Bombe: entities/items.html#bombe +.. _Explosion: entities/items.html#bombe +.. _Potion d'arrachage de corps: entities/items.html +.. _Épée: entities/items.html#epee +.. _Bouclier: entities/items.html#bouclier +.. _Hazel: ../index.html Chaque entité_ et chaque tuile_ de la carte_ est associé à un caractère pour être affiché dans le terminal. Cependant, afin de pouvoir proposer plusieurs expériences graphiques (notamment en fonction du support des émojis), différents packs de textures sont proposés. -Il est possible de changer de pack dans les paramètres. +Il est possible de changer de pack dans les paramètres_. Les packs de textures peuvent influencer la taille que prennent les tuiles_, en raison du fait que les émojis ne sont pas monospace. @@ -39,11 +46,18 @@ Chaque tuile fait un caractère de large. * Entités * Joueur_ : ``@`` * Hérisson_ : ``*`` - * Cœur_ : ``❤`` - * Bombe_ : ``o`` * Lapin_ : ``Y`` * Tigre_ : ``n`` * Nounours_ : ``8`` + * Tournesol_ : ``I`` + * Marchand_ : ``M`` + * Cœur_ : ``❤`` + * Bombe_ : ``o`` + * Explosion_ : ``%`` + * `Potion d'arrachage de corps`_ : ``S`` + * Épée_ : ``†`` + * Bouclier_ : ``D`` + * Hazel_ : ``¤`` Pack Écureuil @@ -58,8 +72,15 @@ Chaque tuile fait 2 caractères de large pour afficher les émojis proprement. * Entités * Joueur_ : ``🐿`` * Hérisson_ : ``🦔`` - * Cœur_ : ``💜`` - * Bombe_ : ``💣`` * Lapin_ : ``🐇`` * Tigre_ : ``🐅`` * Nounours_ : ``🧸`` + * Tournesol_ : ``🌻`` + * Marchand_ : ``🦜`` + * Cœur_ : ``💜`` + * Bombe_ : ``💣`` + * Explosion_ : ``💥`` + * `Potion d'arrachage de corps`_ : ``🔀`` + * Épée_ : ``🗡️`` + * Bouclier_ : ``🛡️`` + * Hazel : ``🌰``