/*
 * Plik  : shadow.c
 * Autor : Torg
 * Opis  : Glowny plik gildii Wyznawcow Solkana
 * Data  : 15 sierpnia 2002
 *
 * Copyright (C)
 *
 */

inherit "/std/guild/guild_occ_sh";

#include <ss_types.h>
#include "defs.h"

#define TYTULY ({"Lowca Czarownic",\
                 "Wyznawca Solkana",\
                 "Nizszy Kaplan Solkana",\
                 "Kaplan Solkana",\
                 "Pogromca Cieni",\
                 "Szukajacy Umarlych",\
                 "Wyzwoliciel Dusz",\
                 "Kroczacy w Swiatlosci",\
                 "Sluchajacy Glosu Solkana",\
                 "Tkajacy Nic Prawdy, Arcykaplan Solkana",\
                 "Milczacy Msciciel, Arcykaplan Solkana",\
                 "Trwajacy w Prawdzie, Natchniony Przez Solkana",\
                 "Oswiecony",\
                 "Ostatni ze Sprawiedliwych"})

public int
query_guild_tax_occ()
{
    return 37;
}

public string
query_guild_name_occ()
{
return GUILD_NAME;
}

public string
query_guild_title_occ()
{
    object *guilditem;
    int i;

    guilditem = deep_inventory(shadow_who);
    for (i= 0; i < sizeof(guilditem); i++)
    if (guilditem[i]->czy_pas_solkana())
    if (guilditem[i]->czy_zalozyl_pas())
    switch(shadow_who->query_stat(7))
    {
        case 1..35:
            return TYTULY[0];
        case 36..45:
            return TYTULY[1];
        case 46..55:
            return TYTULY[2];
        case 56..60:
            return TYTULY[3];
        case 61..70:
            return TYTULY[4];
        case 71..80:
            return TYTULY[5];
        case 81..90:
            return TYTULY[6];
        case 91..110:
            return TYTULY[7];
        case 111..130:
            return TYTULY[8];
        case 131..150:
            return TYTULY[9];
        case 151..175:
            return TYTULY[10];
        case 176..190:
            return TYTULY[11];
        case 191..215:
            return TYTULY[12];
        default:
            return TYTULY[13];
    }
    return "";
}

public int
query_solkan()
{
    return 1;
}

int
query_guild_keep_player(object player)
{
  set_alarm(0.1,0.0,"dodaj_soula",player);
  setuid();
  seteuid(getuid());
  SOLKAN->logowanie(player);
  return 1;
}

void
dodaj_soula(object komu)
{
  komu->add_cmdsoul(SOLKAN_SOUL);
  komu->update_hooks();
  komu->update_cmdsoul_list();
}

void
remove_soula(object komu)
{
  komu->remove_cmdsoul(SOLKAN_SOUL);
  komu->update_hooks();
}

