Il 5°Clone

[Laboratorio] Mephit: gestione dei bonus

Nuove idee per giocare. Specificare l'edizione a cui ci si riferisce.

Moderatori: Webmaster, Moderatori, Mod in prova

Regole del forum
Ricordiamo di leggere il Regolamento Generale del 5°Clone e di rispettare il corretto utilizzo dei TAG del Forum.

[Laboratorio] Mephit: gestione dei bonus

Messaggioda jure » lun feb 12, 2018 1:56 pm

Un 20 naturale a tutti!

Ho da poco ricominciato a mettere mano a Mephit.

La prossima questione da risolvere è la gestione della miriade di bonus dati da classi, talenti e quant’altro. Per questo ho concluso che una semplice lista di bonus non basta: serve qualcosa di più flessibile, un sistema di “regole” che in un precedente articolo ho provato a schematizzare, definendolo “mini-linguaggio” anche se in realtà si basa saltanto su di una sintassi interpretata da una funzione.

Per farvi capire come sto procedendo, vi mostro come sto implementando i privilegi di classe del 1° livello del Barbaro (Ira, Analfabetismo, Movimento Veloce).

Che ne pensate?

Immagine

Movimento Veloce

Codice: Seleziona tutto
[{"type":"add","what":{"speed":10},"when":[{"armor":"<heavy","load":"<heavy"}]]


Analfabetismo

Codice: Seleziona tutto
[{"type":"add","what":{"skill_106":0},when:[{"skill_106":'<2',"level_pc","=level_class"}]}]


Ira

Codice: Seleziona tutto
[{"type":"add","action":"free","what":{"ability_1":4,"ability_3":4,"st_will":"morale_2","ac":-2},"times":[{"day":1,"encounter":1}],"duration":{"round":"3+ability_3","onEnd":"related_1"}},{"type":"related","what":{"condition":"fatigued"},"duration":{"encounter":1}}]


Fonte: http://www.mephit.it/blog/2018/02/rpgscript-comincia-prendere-forma/
MEPHIT - Play RPG online for free
www.mephit.it
Avatar utente
jure
Avventuriero Competente
Avventuriero Competente
 
Messaggi: 260
Iscritto il: lun feb 02, 2004 8:00 am
Località: Padova

Re: [Laboratorio] Mephit: gestione dei bonus

Messaggioda jure » ven feb 23, 2018 11:03 am

Dopo un po' di analisi, ecco come sta cambiando la sintassi.

Movimento veloce
Spoiler:
Codice: Seleziona tutto
[
    {
        "type": "add",
        "what": [
            "speed +10"
        ],
        "when": [
            [
                "armor < heavy",
                "load < heavy"
            ]
        ]
    }
]

Analfabetismo
Spoiler:
Codice: Seleziona tutto
[
    {
        "type": "add",
        "what": [
            "skill_106"
        ]
    },
    {
        "type": "add",
        "what": "note",
        "notes": [
            {
                "it": "Analfabeta",
                "en": "Illiterate"
            }
        ],
        "when": [
            [
                "skill_106 < 2"
            ],
            [
                "ignore_thisClass !has notes_'Illiterate'"
            ]
        ]
    }
]

Ira 1 volta al giorno
Spoiler:
Codice: Seleziona tutto
[
    {
        "type": "add",
        "action": "free",
        "what": [
            "str_points +4",
            "con_points +4",
            "will +2 (morale)",
            "ac -2"
        ],
        "times": [
            [
                "days 1",
                "encounters 1"
            ]
        ],
        "duration": [
            [
                "rounds 3 + con_mod"
            ]
        ],
        "on": [
            "end related_1"
        ]
    },
    {
        "id": "related_1",
        "type": "add",
        "what": {
            "condition": "fatigued"
        },
        "duration": [
            [
                "encounters 1"
            ]
        ]
    }
]

Schivare prodigioso
Spoiler:
Codice: Seleziona tutto
[
    {
        "type": "already",
        "what": "feature_5"
    },
    {
        "type": "remove",
        "what": [
            "condition dex_lost"
        ],
        "when": [
            [
                "source == flatfooted",
                "conditions !has immobilized"
            ],
            [
                "opponentConditions has invisible",
                "conditions !has immobilized"
            ]
        ]
    }
]

Schivare prodigioso migliorato
Spoiler:
Codice: Seleziona tutto
[
    {
        "type": "immune",
        "what": [
            "condition flanked"
        ],
        "when": [
            [
                "action == defense",
                "attack != sneak_attack"
            ],
            [
                "action == defense",
                "attack == sneak_attack",
                "sourceClass_level >= thisClass_level + 4"
            ]
        ]
    }
]

Percepire trappole +1
Spoiler:
Codice: Seleziona tutto
[
    {
        "type": "add",
        "what": [
            "ref +1"
        ],
        "when": [
            [
                "action save",
                "opponentType == trap"
            ]
        ]
    },
    {
        "type": "add",
        "what": [
            "ac +1"
        ],
        "when": [
            [
                "action == defense",
                "opponentType == trap"
            ]
        ]
    }
]
MEPHIT - Play RPG online for free
www.mephit.it
Avatar utente
jure
Avventuriero Competente
Avventuriero Competente
 
Messaggi: 260
Iscritto il: lun feb 02, 2004 8:00 am
Località: Padova


Torna a Laboratorio dei Cloni

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti

Pannello Utente



Chi c'è online

    Tiradadi

    Prossimi eventi

     

    Ultimi file da scaricare

    Creata sulla base delle liste by Darken&Erestor, ringrazio Necrid per avermi permesso di util...

    Immagini dalla galleria