inherit "/std/object";
#pragma no_inherit
#pragma strict_types
#include <pl.h>
#include <stdproperties.h>
#include <std.h>
#include <macros.h>
#include <ss_types.h>
#define RACESKILL ([ \
	"czlowiek"	: ([		\
		SS_WEP_SWORD	: 100,	\
		SS_WEP_AXE      : 100,  \
		SS_WEP_POLEARM  : 100, \
		SS_WEP_KNIFE    : 100,  \
		SS_WEP_CLUB	: 100, \
	    	SS_WEP_MISSILE  : 100, \
		SS_WEP_JAVELIN  : 100, \
		SS_WEP_WARHAMMER: 100, \
		SS_2H_COMBAT    : 100, \
		SS_UNARM_COMBAT : 100, \
		SS_BLIND_COMBAT : 100, \
 		SS_PARRY	: 100,	\
		SS_SHIELD_PARRY : 100,  \
		SS_DEFENCE	: 100,  \
		SS_MOUNTED_COMBAT:100,  \
		SS_SPELLCRAFT   : 100,  \
		SS_HERBALISM    : 100,  \
		SS_ALCHEMY	: 100,  \
		SS_OPEN_LOCK	: 100,  \
		SS_PICK_POCKET  : 100,  \
		SS_ACROBAT	: 100,  \
		SS_FR_TRAP	: 100,  \
		SS_SNEAK	: 100,  \
		SS_HIDE 	: 100,  \
		SS_APPR_MON	: 100,  \
		SS_APPR_OBJ     : 100,  \
		SS_APPR_VAL	: 100,	\
		SS_CLIMB	: 100,  \
		SS_ANI_HANDL	: 100,  \
		SS_LOC_SENSE	: 100,  \
		SS_TRACKING     : 100,  \
		SS_SWIM		: 100,	\
		SS_HUNTING	: 100,  \
		SS_LANGUAGE	: 100,  \
		SS_AWARENESS	: 100,  \
		SS_TRADING 	: 100,  \
		SS_RIDING	: 100,  \
		/* 64 + 51 + 13 + 13 + 62 = 203 cc */\
                          ]),		\
	"elf"		: ([		\
	    SS_WEP_SWORD	: 100,	\
		SS_WEP_AXE      : 100,  \
		SS_WEP_POLEARM  : 100, \
		SS_WEP_KNIFE    : 100,  \
		SS_WEP_CLUB	: 100, \
	    	SS_WEP_MISSILE  : 100, \
		SS_WEP_JAVELIN  : 100, \
		SS_WEP_WARHAMMER: 100, \
		SS_2H_COMBAT    : 100, \
		SS_UNARM_COMBAT : 100, \
		SS_BLIND_COMBAT : 100, \
 		SS_PARRY	: 100,	\
		SS_SHIELD_PARRY : 100,  \
		SS_DEFENCE	: 100,  \
		SS_MOUNTED_COMBAT:100,  \
		SS_SPELLCRAFT   : 100,  \
		SS_HERBALISM    : 100,  \
		SS_ALCHEMY	: 100,  \
		SS_OPEN_LOCK	: 100,  \
		SS_PICK_POCKET  : 100,  \
		SS_ACROBAT	: 100,  \
		SS_FR_TRAP	: 100,  \
		SS_SNEAK	: 100,  \
		SS_HIDE 	: 100,  \
		SS_APPR_MON	: 100,  \
		SS_APPR_OBJ     : 100,  \
		SS_APPR_VAL	: 100,	\
		SS_CLIMB	: 100,  \
		SS_ANI_HANDL	: 100,  \
		SS_LOC_SENSE	: 100,  \
		SS_TRACKING     : 100,  \
		SS_SWIM		: 100,	\
		SS_HUNTING	: 100,  \
		SS_LANGUAGE	: 100,  \
		SS_AWARENESS	: 100,  \
		SS_TRADING 	: 100,  \
		SS_RIDING	: 100,  \
		/* 29 + 100 + 18 + 18 + 13 + 13 = 201 cc */\
                          ]),		\
	"krasnolud"	: ([		\
		SS_WEP_SWORD	: 100,	\
		SS_WEP_AXE      : 100,  \
		SS_WEP_POLEARM  : 100, \
		SS_WEP_KNIFE    : 100,  \
		SS_WEP_CLUB	: 100, \
	    	SS_WEP_MISSILE  : 100, \
		SS_WEP_JAVELIN  : 100, \
		SS_WEP_WARHAMMER: 100, \
		SS_2H_COMBAT    : 100, \
		SS_UNARM_COMBAT : 100, \
		SS_BLIND_COMBAT : 100, \
 		SS_PARRY	: 100,	\
		SS_SHIELD_PARRY : 100,  \
		SS_DEFENCE	: 100,  \
		SS_MOUNTED_COMBAT:100,  \
		SS_SPELLCRAFT   : 100,  \
		SS_HERBALISM    : 100,  \
		SS_ALCHEMY	: 100,  \
		SS_OPEN_LOCK	: 100,  \
		SS_PICK_POCKET  : 100,  \
		SS_ACROBAT	: 100,  \
		SS_FR_TRAP	: 100,  \
		SS_SNEAK	: 100,  \
		SS_HIDE 	: 100,  \
		SS_APPR_MON	: 100,  \
		SS_APPR_OBJ     : 100,  \
		SS_APPR_VAL	: 100,	\
		SS_CLIMB	: 100,  \
		SS_ANI_HANDL	: 100,  \
		SS_LOC_SENSE	: 100,  \
		SS_TRACKING     : 100,  \
		SS_SWIM		: 100,	\
		SS_HUNTING	: 100,  \
		SS_LANGUAGE	: 100,  \
		SS_AWARENESS	: 100,  \
		SS_TRADING 	: 100,  \
		SS_RIDING	: 100,  \
		/* 87 + 51 + 32 + 32 = 202 cc */\
                          ]),		\
	"halfling"	: ([		\
		SS_WEP_SWORD	: 100,	\
		SS_WEP_AXE      : 100,  \
		SS_WEP_POLEARM  : 100, \
		SS_WEP_KNIFE    : 100,  \
		SS_WEP_CLUB	: 100, \
	    	SS_WEP_MISSILE  : 100, \
		SS_WEP_JAVELIN  : 100, \
		SS_WEP_WARHAMMER: 100, \
		SS_2H_COMBAT    : 100, \
		SS_UNARM_COMBAT : 100, \
		SS_BLIND_COMBAT : 100, \
 		SS_PARRY	: 100,	\
		SS_SHIELD_PARRY : 100,  \
		SS_DEFENCE	: 100,  \
		SS_MOUNTED_COMBAT:100,  \
		SS_SPELLCRAFT   : 100,  \
		SS_HERBALISM    : 100,  \
		SS_ALCHEMY	: 100,  \
		SS_OPEN_LOCK	: 100,  \
		SS_PICK_POCKET  : 100,  \
		SS_ACROBAT	: 100,  \
		SS_FR_TRAP	: 100,  \
		SS_SNEAK	: 100,  \
		SS_HIDE 	: 100,  \
		SS_APPR_MON	: 100,  \
		SS_APPR_OBJ     : 100,  \
		SS_APPR_VAL	: 100,	\
		SS_CLIMB	: 100,  \
		SS_ANI_HANDL	: 100,  \
		SS_LOC_SENSE	: 100,  \
		SS_TRACKING     : 100,  \
		SS_SWIM		: 100,	\
		SS_HUNTING	: 100,  \
		SS_LANGUAGE	: 100,  \
		SS_AWARENESS	: 100,  \
		SS_TRADING 	: 100,  \
		SS_RIDING	: 100,  \
		/* 29 + 51 + 87 + 18 + 13 = 198 cc */\
                          ]),		\
	"gnom"		: ([		\
		SS_WEP_SWORD	: 100,	\
		SS_WEP_AXE      : 100,  \
		SS_WEP_POLEARM  : 100, \
		SS_WEP_KNIFE    : 100,  \
		SS_WEP_CLUB	: 100, \
	    	SS_WEP_MISSILE  : 100, \
		SS_WEP_JAVELIN  : 100, \
		SS_WEP_WARHAMMER: 100, \
		SS_2H_COMBAT    : 100, \
		SS_UNARM_COMBAT : 100, \
		SS_BLIND_COMBAT : 100, \
 		SS_PARRY	: 100,	\
		SS_SHIELD_PARRY : 100,  \
		SS_DEFENCE	: 100,  \
		SS_MOUNTED_COMBAT:100,  \
		SS_SPELLCRAFT   : 100,  \
		SS_HERBALISM    : 100,  \
		SS_ALCHEMY	: 100,  \
		SS_OPEN_LOCK	: 100,  \
		SS_PICK_POCKET  : 100,  \
		SS_ACROBAT	: 100,  \
		SS_FR_TRAP	: 100,  \
		SS_SNEAK	: 100,  \
		SS_HIDE 	: 100,  \
		SS_APPR_MON	: 100,  \
		SS_APPR_OBJ     : 100,  \
		SS_APPR_VAL	: 100,	\
		SS_CLIMB	: 100,  \
		SS_ANI_HANDL	: 100,  \
		SS_LOC_SENSE	: 100,  \
		SS_TRACKING     : 100,  \
		SS_SWIM		: 100,	\
		SS_HUNTING	: 100,  \
		SS_LANGUAGE	: 100,  \
		SS_AWARENESS	: 100,  \
		SS_TRADING 	: 100,  \
		SS_RIDING	: 100,  \
		/* Nie zbalansowane jeszcze. Zrobi sie pozniej. */\
                          ]),		\
	"skinhead"		: ([		\
		SS_WEP_SWORD	: 100,	\
		SS_WEP_AXE      : 100,  \
		SS_WEP_POLEARM  : 100, \
		SS_WEP_KNIFE    : 100,  \
		SS_WEP_CLUB	: 100, \
	    	SS_WEP_MISSILE  : 100, \
		SS_WEP_JAVELIN  : 100, \
		SS_WEP_WARHAMMER: 100, \
		SS_2H_COMBAT    : 100, \
		SS_UNARM_COMBAT : 100, \
		SS_BLIND_COMBAT : 100, \
 		SS_PARRY	: 100,	\
		SS_SHIELD_PARRY : 100,  \
		SS_DEFENCE	: 100,  \
		SS_MOUNTED_COMBAT:100,  \
		SS_SPELLCRAFT   : 100,  \
		SS_HERBALISM    : 100,  \
		SS_ALCHEMY	: 100,  \
		SS_OPEN_LOCK	: 100,  \
		SS_PICK_POCKET  : 100,  \
		SS_ACROBAT	: 100,  \
		SS_FR_TRAP	: 100,  \
		SS_SNEAK	: 100,  \
		SS_HIDE 	: 100,  \
		SS_APPR_MON	: 100,  \
		SS_APPR_OBJ     : 100,  \
		SS_APPR_VAL	: 100,	\
		SS_CLIMB	: 100,  \
		SS_ANI_HANDL	: 100,  \
		SS_LOC_SENSE	: 100,  \
		SS_TRACKING     : 100,  \
		SS_SWIM		: 100,	\
		SS_HUNTING	: 100,  \
		SS_LANGUAGE	: 100,  \
		SS_AWARENESS	: 100,  \
		SS_TRADING 	: 100,  \
		SS_RIDING	: 100,  \
		/* 62 + 21 + 112 + 4 = 199 cc */\
                          ]),		\
                  ])
void
create_object()
{
    ustaw_nazwe( ({ "skiller", "skillera", "skillerowi",
        "skiller", "skillerem", "skillerze" }), 
        ({ "skillery", "skillerow", "skillerom", "skillery", 
        "skillerami", "skillerach" }), PL_MESKI_NOS_NZYW);
    
    set_long("Dzieki skillerowi wizowie moga zwiekszac swoje, "+
    "cechy,i umiejetnosci. Kazdy wiz po uzyciu urzadzenia, powinien "+
    "niezwlocznie go destructowac. Jesli tego nie zrobi , bede ja czyli "+
    "bog simon wyciagal z tego konsekwencje :).\n");
    add_prop(OBJ_M_NO_STEAL, 1);
    add_prop(OBJ_M_NO_SELL, "Skillera nie da sie sprzedac!!!\n");    
    add_prop(OBJ_I_WEIGHT, 1);
    add_prop(OBJ_I_VOLUME, 1);
    add_prop(OBJ_I_VALUE, 1);

}
public int
addskill()
{
    mapping skille;
    string *tab;
    int x;
    write("Dzieki wspanialej wiedzy simona, twoje umiejetnosci rosna.\n");
    skille = RACESKILL[this_player()->query_race_name()];
    tab = m_indices(skille);
//
x=sizeof(tab);
    
    while (--x >= 0)
        this_player()->set_skill(tab[x], skille[tab[x]]);
return 1;
}
public void
init()
{
    ::init();
    add_action(addskill, "adskill");
}
