Smembrare i cadaveri
Un giocatore con un coltello, un pugnale o una spada, portata con sé o equipaggiata, ci fa doppio clic e sceglie il cadavere di una creatura entro 2 passi: ciò che la creatura dà, come carne, pelli, lana o piume, compare dentro il cadavere. Un cadavere si lavora una sola volta. Il cadavere di un giocatore, quello di un animale domestico (addomesticato o legato) e quello di una creatura evocata non si possono lavorare.
Le tabelle
Section titled “Le tabelle”Ciò che una creatura dà è una tabella di smembramento in templates/carves/*.toml, sottocartelle comprese. Un
template di mobile nomina la sua tabella con carve, e il cadavere della creatura ne conserva il nome quando muore:
[[carve]]id = "cow"entries = [ { item = "cut_of_raw_ribs", amount = "8", message = 500467 }, { item = "pile_of_hides", amount = "12", message = 500471 },][[mobile]]id = "cow"carve = "cow"Ogni voce viene tirata per conto suo, quindi uno smembramento può dare tutte le voci, alcune o nessuna:
| Campo | Significato |
|---|---|
id |
Il nome della tabella, che il carve di un template di mobile indica |
entries |
Ciò che la tabella dà |
item |
Un id di template di oggetto |
amount |
Un numero o dei dadi come 1d3, da 1 a 65535; se non è impostato vale 1. Un oggetto che si impila viene creato come un’unica pila, uno che non si impila come altrettanti oggetti |
chance |
La probabilità in percentuale che la voce dia qualcosa, da 1 a 100; se non è impostata vale 100 |
message |
Il testo del client (cliloc) che chi lavora si sente dire quando la voce ha dato qualcosa, come 500467 per la carne; voci con lo stesso numero lo dicono una volta sola. Se non è impostato non dice nulla |
Il server si ferma all’avvio quando un id è vuoto o usato due volte, un item non è un template di oggetto, un
amount può uscire fuori da 1 a 65535, una chance è fuori da 1 a 100, un message è sotto 0, o il carve di un
template di mobile nomina una tabella inesistente. Un template di mobile senza carve prende quello del genitore, e
un cadavere che non ne ha non dà nulla di utile; carve = "" toglie la tabella del genitore, come fanno i cavalcabili
eterei, il destriero di fuoco, lo scarabeo gigante ed Exodus. Il cadavere di un animale domestico (una creatura con un
padrone o legata) o di una creatura evocata non conserva nessuna tabella, qualunque cosa dica il suo template.
La distribuzione include due insiemi. animals.toml ha la mucca, il toro, il maiale, la pecora, la gallina e lo
scarabeo di fuoco, con le quantità delle regole classiche (un maiale è un taglio di costolette e nessuna pelle, una
pecora tre cosce d’agnello e la sua lana), e un template di quei nomi le nomina. uox3.toml ha le 100 tabelle di carve.dfn di UOX3,
chiamate uox3_<n> e assegnate ad altre 105 creature da moongate-convert uox-carves (vedi Migrare da
UOX3): carne, pelli, piume, squame e le pelli spinate, cornute e uncinate.
Che cosa succede
Section titled “Che cosa succede”- La lama chiede al giocatore su che cosa usarla. Il cadavere deve trovarsi entro 2 passi e un piano (16 di altezza); altrimenti al giocatore viene detto che è troppo lontano. Un cadavere fuori vista, dietro un muro, non si vede.
carve.corpse(corpse, user)rifiuta ciò che non è un cadavere, un cadavere che non giace a terra, il cadavere di un giocatore (ha uncorpse.owner), quello di un animale domestico (ha uncorpse.pet_owner) e un cadavere già lavorato.- La tabella viene tirata e
on_carvingviene chiesto allo script del cadavere. Il cadavere viene valutato di nuovo dopo la risposta dell’hook: un hook che ha lavorato il cadavere da sé, o lo ha tolto di mezzo, non lascia più nulla da fare. - Gli oggetti vengono creati dentro il cadavere, il cadavere viene segnato
corpse.carved, a chi lavora viene detto ilmessagedi ogni voce che ha dato qualcosa e viene pubblicato l’eventocorpse_carved. - La lama mostra di nuovo il cadavere a chi lavora, così che un cadavere che aveva aperto mostri ciò che è stato trovato.
Un cadavere senza tabella, o il cui tiro non ha dato nulla, viene comunque segnato come lavorato, e a chi lavora viene detto che non c’è nulla di utile da ricavare. Un cadavere contiene 125 oggetti: ciò che non ci sta viene appoggiato a terra nella casella del cadavere e mostrato ai giocatori intorno, e una voce di un oggetto che non si impila ne crea al massimo 125.
Per chi scrive script
Section titled “Per chi scrive script”Lo script del cadavere è scripts/items/corpse.lua. Non definisce alcun hook, e uno script tuo può aggiungere
on_carving(serial, carver, items):
-- a sheep that gives a second pile of woolfunction corpse.on_carving(serial, carver, items) if item.get_prop(serial, "corpse.template") == "sheep" then table.insert(items, { item = "pile_of_wool_2", amount = 3 })
return items endenditems è il tiro, un array di { item = template id, amount = n }. Restituisci false per annullare: non viene
creato nulla, il cadavere non viene segnato come lavorato e chi lo lavora si sente dire che non può usare la lama su
quello. Restituisci una tabella della stessa forma per sostituire il tiro; una voce mal formata o che nomina un
template di oggetto inesistente viene scartata. Qualsiasi altra cosa tiene il tiro. L’hook gira dentro l’azione e
non deve chiamare wait: vedi Hook degli script.
carve.corpse(corpse, user) è la funzione che uno script tuo chiama per lavorare un cadavere in altri modi; dà
"carved", "nothing_useful", "already_carved", "not_carvable" o "cancelled", e la distanza e ciò che si dice
al giocatore spettano allo script. Uno script che ascolta events.on("corpse_carved", ...) riceve serial (il
cadavere), carver e items (quanti oggetti sono stati creati, dentro il cadavere o accanto a esso, una pila contando come uno); vedi
Eventi e timer.
Non realizzato
Section titled “Non realizzato”- Smembrare un cadavere umano in torso e arti.
- Una pecora che dà lana solo finché non è tosata: una pecora dà sempre la sua lana.
- Mostrare i nuovi oggetti a un altro giocatore che ha il cadavere aperto: compaiono quando il cadavere viene riaperto.
- Una razza, una facet o un’abilità che cambiano le quantità.
- La tabella umana di UOX3 (torso e arti) e le voci delle sue tabelle che scelgono un oggetto da una lista.
Vedi anche
Section titled “Vedi anche”Creato con ❤️ da Tom
