Salta ai contenuti

Gilde

Una gilda di giocatori è un gruppo di giocatori sotto un nome, tenuto da una pietra di gilda: la pietra è posata da un atto della pietra di gilda, il suo fondatore la guida, e i membri la gestiscono con il gump che la pietra apre. Il modello sono le gilde classiche delle ere successive: niente Order o Chaos, e la guida spetta al membro a cui punta la fedeltà dell’elenco.

  1. Un giocatore che non è in nessuna gilda fa doppio clic su un atto della pietra di gilda (guildstonedeed, l’atto convertito con lo script guildstone_deed), dal suo zaino o da entro due caselle da terra, e gli viene chiesto “What is your guild called?” (30275). Un giocatore che è già in una gilda legge “You are already in a guild.” (30276).
  2. Il nome è di al più 32 caratteri; uno senza lettere da cui ricavare un’abbreviazione è rifiutato con “That name says nothing a guild can be called by.” (30277). Un nome che ha già un’altra gilda, o le cui iniziali — la prima lettera di ogni parola, maiuscola, al più sei — un’altra gilda ha come abbreviazione, è rifiutato con “Another guild has that name, or those initials.” (30278).
  3. Il giocatore sceglie il terreno: vi è posata una pietra di gilda (guildstone, 0x0EDC, immobile), l’atto è speso, e legge “The guildstone is placed: your guild is born.” (30279). Il punto deve stare entro tre caselle dal giocatore, sul suo piano, calpestabile e libero; uno che non lo è legge il messaggio “troppo lontano” del client o “A guildstone cannot be placed there.” (30293). ESC, o un clic su un oggetto o su un mobile, lascia l’atto com’era. Allontanarsi dall’atto, o morire, annulla il cursore con il messaggio di troppa distanza. La gilda è fatta solo dopo che la pietra è posata, quindi un nome rifiutato (i controlli del punto 2 si fanno allora) non lascia né pietra né gilda, e l’atto resta.
  4. La pietra tiene la gilda con la sua prop guild e con l’istante in cui è stata fondata (guild_founded), così una pietra apre la gilda per cui è stata posata e mai una che in seguito abbia preso lo stesso id. Il fondatore è il primo membro, sostiene se stesso, e quindi guida.

Un membro che fa doppio clic sulla pietra della sua gilda, da entro due caselle, apre il gump guild_menu (templates/gumps/guild_menu.xml, riempito da scripts/gumps/guild_menu.lua); un estraneo legge “You are no member of this guild.” (30281), e una pietra la cui gilda è stata sciolta — il suo ultimo membro se n’è andato — legge “This guildstone belongs to no guild.” (30280).

Il gump mostra il nome con l’abbreviazione, lo statuto, il sito e l’elenco dei membri, a pagine: il capo per primo e segnato “leader”, ogni membro per nome (anche un membro che è fuori dal mondo è nominato, con “(offline)”). Il titolo e la fedeltà di un membro non sono mostrati; gli script li leggono con guild.roster e guild.member. Ogni clic rifà tutto il gump, e a ogni volta sono controllati l’appartenenza, la guida, la distanza dalla pietra (due caselle) e che il giocatore sia vivo: il gump si chiude quando il membro se n’è andato o la gilda è stata sciolta, o il giocatore si è allontanato dalla pietra o è morto. Un prompt annullato con ESC non cambia nulla.

  • Un clic su un membro gli dà la fedeltà di chi ha cliccato.
  • Il capo scrive lo statuto (30282) e il sito (30283), sceglie il colore del parlato della gilda sulla pietra stessa, dà un titolo a un membro (30284) ed espelle (“Done.” 30285); il capo stesso non può essere espulso da nessuno.
  • Resign lascia la gilda (“You have left your guild.” 30274), se il giocatore è ancora membro della gilda del gump; Exit chiude soltanto il gump.
  • Quando la pietra di un’altra gilda sta entro cinque caselle, il capo vede il nome dell’altra gilda con un pulsante Declare war / Make peace e uno Alliance / Break alliance.

Dire “i resign from my guild” lascia la gilda come fa il pulsante.

Ogni membro sostiene un membro della gilda. Un membro accolto da guild.recruit sostiene il capo; il fondatore sostiene se stesso. Reclutare è disponibile solo per gli script: nessuno script fornito lo chiama, quindi non c’è ancora modo di entrare in una gilda nel gioco. Il capo è il membro sostenuto da più membri; a parità, guida chi è entrato per primo. Un membro non può sostenere se stesso né un estraneo. Quando un membro se ne va, quelli che lo sostenevano sostengono di nuovo il capo; l’ultimo membro che esce scioglie la gilda, e le sue relazioni vanno con essa, anche quelle che altre gilde avevano dichiarato su di lei. Un personaggio che un giocatore cancella (è solo marcato, e lo staff può ripristinarlo) lascia subito la sua gilda e il ripristino non ce lo rimette.

Una guerra o un’alleanza è di due gilde e vive solo quando entrambe l’hanno dichiarata: il capo di una dichiara sulla pietra dell’altra (“The war on {0} is declared; it begins when they declare it back.” 30287), e comincia quando l’altra dichiara a sua volta (“You are at war with {0}.” 30288). La pace di una delle due parti finisce subito tutta la guerra (“The war on {0} is over.” 30289); un’offerta unilaterale spetta a chi l’ha fatta ritirarla, e la stessa pace lo fa. Un’alleanza è lo stesso, un’offerta (30290), entrambe la fanno vivere (30291), una qualunque la rompe (30292).

Attaccare un membro di una gilda in guerra non è un crimine: il servizio di combattimento legge la parola delle gilde prima di chiamarne uno. La notorietà che un giocatore vede è prima di tutto la parola delle gilde: un compagno di gilda o un alleato è verde (Ally), un membro di una gilda in guerra è arancione (Enemy), e il resto è quello che sarebbe senza gilde.

Ciò che dice un membro viene trasmesso con la sua abbreviazione davanti, [ABC] a fine day, nel colore della gilda — 1152 per impostazione predefinita, il capo ne sceglie un altro sulla pietra. Ciò che sentono gli ascoltatori NPC e gli script è il testo semplice: solo i giocatori vedono il prefisso e il colore.

Gli script lavorano le gilde con il modulo guild: guild.of(player) e guild.get(id) danno la gilda come { id, name, abbreviation, charter, website, hue, founded_at }, guild.member(player) l’appartenenza come { title, fealty, joined_at }, guild.leader(id) il membro a cui punta la fedeltà, guild.roster(id) i membri con il capo per primo, e guild.wars(id) / guild.allies(id) le gilde in guerra e alleate, guild.declared_war(id, other) / guild.declared_alliance(id, other) la parola della gilda stessa, offerta o viva. guild.create(player, name) ne fonda una (il serial della gilda, oppure "bad_name", "duplicate" o "already_member"), guild.recruit(id, player) accoglie un membro, guild.resign(player) e guild.eject(id, player) ne tolgono uno, guild.set_title, guild.set_charter, guild.set_website, guild.set_hue e guild.set_fealty lavorano il membro e la gilda, e guild.declare_war, guild.make_peace, guild.declare_alliance e guild.break_alliance le relazioni. guild.is_member(player, id) chiede a chi appartiene. L’elenco completo è nella guida di riferimento API Lua e in scripts/definitions.lua.

Un membro parla a tutta la gilda, o alla gilda e ai suoi alleati, con i tasti di chat del client: invia la riga come parlato di tipo gilda (0x0D) o alleanza (0x0E), e il server la consegna a ogni membro online, nello stesso tipo, così il client la disegna nel suo stile. La sentono solo i membri: nessun NPC, oggetto, guardia o script, e la riga non viene pubblicata come player_say.

  • La chat di gilda raggiunge i membri online della gilda di chi parla, chi parla compreso. La chat di alleanza raggiunge quelli della sua gilda e delle gilde alleate, non gli alleati di queste, e non una gilda in guerra, anche se i suoi capi hanno dichiarato anche un’alleanza.
  • Una riga viene ripulita e privata dei caratteri di controllo; una vuota, o di più di 128 caratteri, viene scartata.
  • Un giocatore senza gilda legge “You are not in a guild.” (30325), una gilda senza alleati “Your guild has no allies.” (30326) sulla chat di alleanza, e un detenuto della prigione non può usare nessuna delle due (30327). Un giocatore morto può.
  • Il pulsante della chat del client (0xB5) riceve una riga che nomina le chat che funzionano (30328): la finestra di chat classica, con canali, moderatori e voce, non è costruita.

La guerra tra Order e Chaos delle gilde classiche non è costruita, né la pietra di gilda come teletrasporto verso le sale della gilda, e un’alleanza è di due sole gilde: tre gilde alleate sono tre alleanze, una per ogni coppia.

Creato con ❤️ da Tom

Offrimi un caffè