Giter VIP home page Giter VIP logo

charasheet's Introduction

Heyo ! 👋

I'm Gabriel, a software developer from France. You can read more about me or discover my posts over at https://gabnotes.org 🙂

If you're looking for my code repositories, you'll likely find them at https://git.augendre.info.

charasheet's People

Contributors

crocmagnon avatar dependabot[bot] avatar pre-commit-ci[bot] avatar

Watchers

 avatar  avatar

charasheet's Issues

Arme manquante

Arme manquante dans le tableau, mais présente dans l'équipement de départ du cavalier :

  • Nom : Lance de cavalerie
  • Dégats : 2d6
  • Spécial :
    • Arme à une main (utilisable avec un bouclier)
    • Pas d'utilisation non monté, déplacement obligatoire (10m?) avant l'attaque (le poids, l'élan)

2FA

Ajouter la double authentification, au moins via OTP et au mieux en plus via Webauthn

Lien vers le groupe depuis la page personnage

Quand le MJ clique sur gérer un personnage, il peut cliquer sur les autres personnages mais pas sur le groupe pour y retourner facilement.

On pourrait mettre un hyperlink sur le groupe (cf. PJ)
Screenshot 2022-11-22 at 10 27 35

Ajouter des tests

Unitaires, fonctionnels, d'intégration... Peu importe leur nom mais il en manque cruellement.

Impossible d'ajouter des personnages à un groupe (existant ?)

[2022-11-16 11:00:10,406 - ERROR - MainProcess/log.log_response:241] Internal Server Error: /party/2/change/
Traceback (most recent call last):
  File "/app/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/src/party/views.py", line 66, in party_change
    if form.is_valid():
       ^^^^^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/forms/forms.py", line 205, in is_valid
    return self.is_bound and not self.errors
                                 ^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/forms/forms.py", line 200, in errors
    self.full_clean()
  File "/app/venv/lib/python3.11/site-packages/django/forms/forms.py", line 437, in full_clean
    self._clean_fields()
  File "/app/venv/lib/python3.11/site-packages/django/forms/forms.py", line 449, in _clean_fields
    value = field.clean(value)
            ^^^^^^^^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/forms/models.py", line 1596, in clean
    qs = self._check_values(value)
         ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/forms/models.py", line 1621, in _check_values
    self.queryset.filter(**{key: pk})
  File "/app/venv/lib/python3.11/site-packages/django/db/models/query.py", line 1419, in filter
    self._not_support_combined_queries("filter")
  File "/app/venv/lib/python3.11/site-packages/django/db/models/query.py", line 1945, in _not_support_combined_queries
    raise NotSupportedError(
django.db.utils.NotSupportedError: Calling QuerySet.filter() after union() is not supported.

Auto save notes

Pendant l'écriture, au debounce, save mais continuer à éditer.

Gestion des armes

Améliorer la gestion des armes :

  • Permettre aux utilisateurs (MJ ?) d'en rajouter.
  • Permettre aux joueurs de modifier plus facilement leur arsenal, par exemple avec une recherche

Impossible d'observer un personnage invité à deux groupes - Erreur 500

[2022-11-16 14:08:03,048 - ERROR - MainProcess/log.log_response:241] Internal Server Error: /character/10/
Traceback (most recent call last):
  File "/app/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/src/character/views.py", line 74, in character_view
    character = get_object_or_404(
                ^^^^^^^^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/shortcuts.py", line 85, in get_object_or_404
    return queryset.get(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/venv/lib/python3.11/site-packages/django/db/models/query.py", line 653, in get
    raise self.model.MultipleObjectsReturned(
character.models.character.Character.MultipleObjectsReturned: get() returned more than one Character -- it returned 2!

Gestion basique des effets avec une durée en tours

Modèle :

  • nom de l’effet
  • Cible (text)
  • Description
  • Nombre de tours restants (-1 = permanent)
  • associe a un groupe
  • créé par (user)

Règles :

  1. tous les joueurs d'un groupe peuvent y attacher des effets
  2. le MJ peut décrémenter ou incrémenter le nombre de tours restants
  3. un effet à 0 tours restants est encore affiché comme terminé
  4. affichage en pile du nombre de tours restants
  5. Un joueur ne peut pas intervenir sur un effet existant
  6. n'importe qui peut supprimer des effets terminés
  7. le MJ peut supprimer un effet à tout moment

Add button Reset all stats

At the end of a chapter, or for events that include a series of long rest without using magic and losing HP, it would be nice to have:

  • A button for the DM to reset stats of all PC's to the max
  • And/or a button for each player to reset its own stats to the max

Stats would be (fr)
PV - PR - PC - optionally PM if use those

Ajouter un field Notes visible que par le MJ sur les fuches des perso

Ajouter un field FreeText que seul le MJ peut voir/edit sur les fiches des persos.

Usage: le perso trouve un item, mais ne sait pas ce qu'il fait, je peux noter dans sa fiche que c'est une potion de soins 3d8 par exemple, mais y a que moi qui le sait, et je galere pas a me rappeler où il a trouvé cet objet, que je dois ensuite retrouver dans le livre.
Pas mal utile pour tou·te·s les objets/armes non identifiés

Websockets

La vue MJ serait plus agréable si les modifs des joueurs étaient poussées à tous les clients.
Possible avec HTMX, à étudier et pourquoi pas implémenter.

Demande pas mal de changements côté backend -> django channels

Ajouter un footer

Diverses infos :

  • Lien vers le github + issue tracker
  • Commit déployé

Le commit pourra ensuite être utilisé dans l'action github pour vérifier le bon déploiement

implement death saves handler

Add death saves with 3 tick able boxes on each side (death<->life)
It should be visible by both the GM and the concerned player, not the others

[Feature request] Gestion des familiers

Plusieurs classes ont a disposition des familiers, avec une gestion des stats différentes des personnages.
Il serait très pratique de pouvoir les gérer depuis charasheet.

Le forgesort à accès à un golem. Le druide à un animal.
Leurs caractéristiques sont résumées par des bonus/malus aux jets.

Exemple ci dessous pour les Golems :

Créature non vivante
Initiative : forgesort
Défense : 14
Attaque : niveau du forgesort + mod force
PV : 4x niveau du forgesort
Récupération PV : 1d6/rang + Mod Intelligence forgesort PV pour une heure de réparation
Dégats : 1d8 +1

  • Force : +1
  • Dextérité : -1
  • Constitution : +10
  • Intelligence : -4
  • Sagesse : -3
  • Charisme : -4

Dans le cas du golem, il acquière des compétences / gain en stat grâce à la voie "Golem" du forgesort : https://www.co-drs.org/fr/jeu/profils/forgesort

Exemple pour un familier druide :

Créature vivante
Initiative : 18 (ou règle du dé)
Défense : 16
Attaque : niveau du forgesort + mod force
PV : 4x niveau du druide
Récupération PV : règles habituelles
Dégats : 1d6 +2

  • Force : +2
  • Dextérité : +4*
  • Constitution : +2
  • Intelligence : -3
  • Sagesse : +2*
  • Charisme : -2

* ces carac utilisent la règle d'avantage (deux d20 sur les tests, le MJ retiens le meilleur jet)
Lorsque le druide acquière 4 dans la voie du fauce, les carac du familier sont buff : https://www.co-drs.org/fr/jeu/profils/druide

Audit

Qui a fait quoi quand ? Permet de répondre à la question "mais pourquoi vous êtes tous full vie ?"
Cc @vicolivry

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.