NAMN gille FÖRFATTARE Skapad av Gunnar utgående från gamla /rum/adv_guild.c Gunnar 931107 Större flexibilitet i advance(). BESKRIVNING Den här filen innehåller de funktioner som är gemensamma för alla gillen och ska ärvas av alla gillesrum där man kan gå upp i nivå eller höja sina egenskaper. För att undvika skillnader (och buggar) i olika gillen ska funktionen advance i den här filen inte definieras om. För att ändå möjliggöra lite kosmetiska skillnader mellan olika gillen finns det ett antal funktioner som kan definieras för att skapa annorlunda utskrifter (se nedan). Funktionerna cost_for_level, uppdragslistan, uppdrag, pyssel får definieras om i fall behov skulle finnas då de ändå bara är av informativ karaktär. En fördel med att använda de funktioner som finns är att vid eventuella centrala ändringar av dem kommer de med automatiskt. Utskriftsfunktioner som används av advance: write_too_high_average() Anropas när en spelare försöker höja en egenskap men inte har tillräckligt hög nivå för att höja fler egenskaper. write_ok(string egenskap) Anropas när en spelare lyckats höja en egenskap. Argumentet är en sträng med namnet på erfarenheten i fråga. write_not_enough_exp(string egenskap) Anropas när en spelare misslyckats med att höja en egenskap p.g.a. för lite erfarenhet. write_wizard_not_raise() Anropas när en magiker försöker gå upp i nivå. write_not_enough_money() Anropas när en spelare har för lite pengar för att köpa sig upp i nivå. say_new_level(string namn, string titel, int nivå) Anropas när en spelare lyckats gå upp i nivå. Som argument skickas spelarens namn, nya titel och nya nivå. Denna funktion är avsedd för att tala om för omvärlden vad som hänt. write_new_level() Som föregående men avsedd för meddelanden till spelaren. Om en funktion ej är definierad skrivs en defaulttext ut istället. Om ingen av dem är definierad kommer det att se ut precis som i äventyrarnas gille i Muddevalla. Funktionen måste returnera 1 (eller annat sant värde) för att inte defaulttexten ska skrivas ut också. Om dessa funktioner inte skulle räcka, prata med någon ärkemagiker. Titlarna sätts med funktionen set_titles(), vilken måste finnas. FUNKTIONER int query_cost(int level) Den här funktionen anropas av monster för att beräkna hur mycket de är värda. varargs status raise_cost(int base, status action) Beräkna kostnaderna för att öka en egenskap en nivå. 'base' är den nivå du har nu, men aldrig mindre än 1. void raise_con() void raise_dex() void raise_int() void raise_str() int query_cost_for_level(int level, int exp) int cost_for_level() status advance(string arg) status for_oeka_her() Kolla om vi får lova att öka här, dvs vi inte skall öka i hemma-gille. Returnerar sant om this_player() får lov att öka nivå i detta gille. Det får han om han/hon antingen: - är med i detta gille. - är med i ett annat gille som tillåter att man ökar någon annanstans (testas med funktionen har_ett_hemmagille()). uppdragslistan(str) uppdrag(num) pyssel(num) FINNS I /rum/generisk/gille.c För exempel hänvisas till /rum/adv_guild och /rum/strandhamn/gille.