Qui in allegato alcune informazioni sui file.obj.
NOTABENE: Lo scopo finale e' creare un'armory, quindi saranno necessari due programmi/passaggi:
1) Importare in un database (che posso fornirvi su qualunque specifica mi forniate) i dati dei file.obj che vengono forniti al "portale";
2) Sfogliare questo database a seconda di diversi parametri (Es: tutti gli obj per collo che hanno piu' di 2 dam).
Buon lavoro
Traccia per lettura file.obj
- Yngwie
- Esperto
- Messaggi: 236
- Iscritto il: lun giu 17, 2013 4:09 pm
- Classe: Bardo
- Skype: drowpower
- Contatta:
Traccia per lettura file.obj
- Allegati
-
- objs.zip
- Traccia file obj
- (34.2 KiB) Scaricato 442 volte
yngwie@leu:~> lamentele > /dev/null
- Yngwie
- Esperto
- Messaggi: 236
- Iscritto il: lun giu 17, 2013 4:09 pm
- Classe: Bardo
- Skype: drowpower
- Contatta:
Re: Traccia per lettura file.obj
TYPE OBJS
Extra Affects
SUSCE, RESI E IMMU (se su un solito slot vanno sommate, esempio 33= pierce + fire)
I weapon spell, eat spell ecc vengono aggiunti direttamente inserendo l'id dello spell.
SPELL AFFECT:
Codice: Seleziona tutto
1 LIGHT 2 SCROLL
3 WAND 4 STAFF
5 WEAPON 6 FIRE WEAPON
7 MISSILE 8 TREASURE
9 ARMOR 10 POTION
11 WORN 12 OTHER
13 TRASH 14 TRAP
15 CONTAINER 16 NOTE
17 LIQUID CONTAINER 18 KEY
19 FOOD 20 MONEY
21 PEN 22 BOAT
23 AUDIO 24 BOARD
25 TREE 26 ROCK
Codice: Seleziona tutto
1 NONE 2 STR 3 DEX
4 INT 5 WIS 6 CON
7 CHR 8 SEX 9 LEVEL
10 AGE 11 CHAR_WEIGHT 12 CHAR_HEIGHT
13 MANA 14 HIT 15 MOVE
16 GOLD 17 EXP 18 ARMOR
19 HITROLL 20 DAMROLL 21 SAVING_PARA
22 SAVING_ROD 23 SAVING_PETRI 24 SAVING_BREATH
25 SAVING_SPELL 26 SAVING_ALL 27 RESISTANCE
28 SUSCEPTIBILITY 29 IMMUNITY 30 SPELL AFFECT
31 WEAPON SPELL 32 EAT SPELL 33 BACKSTAB
34 KICK 35 SNEAK 36 HIDE
37 BASH 38 PICK 39 STEAL
40 TRACK 41 HIT-N-DAM 42 SPELLFAIL
43 EXTRA ATTACK 44 HASTE 45 SLOW
46 OTHER 47 FIND-TRAPS 48 RIDE
49 RACE-SLAYER 50 ALIGN-SLAYER 51 MANA-REGEN
52 HIT-REGEN 53 MOVE-REGEN 54 MOD-THIRST
55 MOD-HUNGER 56 MOD-DRUNK 66 SPELLPOWER
67 DAM_REDUCTION_BLUNT 68 DAM_REDUCTION_SLASH 69 DAM_REDUCTION_PIERCE
70 SPELLFOCUS 71 HITNSP
Codice: Seleziona tutto
1 : FIRE 2 : COLD
4 : ELECTRICITY 8 : ENERGY
16 : BLUNT 32 : PIERCE
64 : SLASH 128 : ACID
256 : POISON 512 : DRAIN
1024 : SLEEP 2048 : CHARM
4096 : HOLD 8192 : NON-MAGIC
16384 : +1 32768 : +2
65536 : +3 131072 : +4
SPELL AFFECT:
Codice: Seleziona tutto
1 : BLIND 2 : INVISIBLE
4 : DETECT-EVIL 8 : DETECT-INVISIBLE
16 : DETECT-MAGIC 32 : SENCE-LIFE
64 : HOLD 128 : SANCTUARY
256 : DRAGON RIDE 512 : GROWTH
1024 : CURSE 2048 : FLYING
4096 : POISON 8192 : TREE TRAVEL
16384 : PARALYSIS 32768 : INFRAVISION
65536 : WATER-BREATH 131072 : SLEEP
262144 : TRAVELLING 524288 : SNEAK
1048576 : HIDE 2097152 : SILENCE
4194304 : CHARM 8388608 : FOLLOW
16777216 : PROTECT-FROM-EVIL 33554432 : TRUE SIGHT
67108864 : SCRYING 134217728 : FIRESHIELD
268435456 : GROUP 536870912 : TELEPATHY
1073741824 : ICESHIELD
Codice: Seleziona tutto
enum EObjectTypes
{
ITEM_INVALID = 0,
ITEM_LIGHT = 1,
ITEM_SCROLL = 2,
ITEM_WAND = 3,
ITEM_STAFF = 4,
ITEM_WEAPON = 5,
ITEM_FIREWEAPON = 6,
ITEM_MISSILE = 7,
ITEM_TREASURE = 8,
ITEM_ARMOR = 9,
ITEM_POTION = 10,
ITEM_WORN = 11,
ITEM_OTHER = 12,
ITEM_TRASH = 13,
ITEM_TRAP = 14,
ITEM_CONTAINER = 15,
ITEM_NOTE = 16,
ITEM_DRINKCON = 17,
ITEM_KEY = 18,
ITEM_FOOD = 19,
ITEM_MONEY = 20,
ITEM_PEN = 21,
ITEM_BOAT = 22,
ITEM_AUDIO = 23,
ITEM_BOARD = 24,
ITEM_TREE = 25,
ITEM_ROCK = 26
};
/* Bitvector For 'wear_flags' */
const unsigned long ITEM_TAKE = 0x00000001; // 1
const unsigned long ITEM_WEAR_FINGER = 0x00000002; // 2
const unsigned long ITEM_WEAR_NECK = 0x00000004; // 4
const unsigned long ITEM_WEAR_BODY = 0x00000008; // 8
const unsigned long ITEM_WEAR_HEAD = 0x00000010; // 16
const unsigned long ITEM_WEAR_LEGS = 0x00000020; // 32
const unsigned long ITEM_WEAR_FEET = 0x00000040; // 64
const unsigned long ITEM_WEAR_HANDS = 0x00000080; // 128
const unsigned long ITEM_WEAR_ARMS = 0x00000100; // 256
const unsigned long ITEM_WEAR_SHIELD = 0x00000200; // 512
const unsigned long ITEM_WEAR_ABOUT = 0x00000400; // 1024
const unsigned long ITEM_WEAR_WAISTE = 0x00000800; // 2048
const unsigned long ITEM_WEAR_WRIST = 0x00001000; // 4096
const unsigned long ITEM_WIELD = 0x00002000; // 8192
const unsigned long ITEM_HOLD = 0x00004000; // 16384
const unsigned long ITEM_THROW = 0x00008000; // 32768
const unsigned long ITEM_PERSONAL_ON_EQUIP = 0x00010000; // 65536
const unsigned long ITEM_WEAR_BACK = 0x00020000; // 131072
const unsigned long ITEM_WEAR_EAR = 0x00040000; // 262144
const unsigned long ITEM_WEAR_EYE = 0x00080000; // 524288
#if defined( CLAN )
const unsigned long ITEM_WEAR_INSEGNA = 0x00100000; // 1048576
#endif
/* Bitvector for 'extra_flags' */
const unsigned long ITEM_GLOW = 0x00000001; // 1
const unsigned long ITEM_HUM = 0x00000002; // 2
const unsigned long ITEM_METAL = 0x00000004; // 4
const unsigned long ITEM_MINERAL = 0x00000008; // 8
const unsigned long ITEM_ORGANIC = 0x00000010; // 16
const unsigned long ITEM_INVISIBLE = 0x00000020; // 32
const unsigned long ITEM_MAGIC = 0x00000040; // 64
const unsigned long ITEM_NODROP = 0x00000080; // 128
const unsigned long ITEM_BLESS = 0x00000100; // 256
const unsigned long ITEM_ANTI_GOOD = 0x00000200; // 512 not usable by good people
const unsigned long ITEM_ANTI_EVIL = 0x00000400; // 1024 not usable by evil people
const unsigned long ITEM_ANTI_NEUTRAL = 0x00000800; // 2048 not usable by neutral people
const unsigned long ITEM_ANTI_CLERIC = 0x00001000; // 4096
const unsigned long ITEM_ANTI_MAGE = 0x00002000; // 8192
const unsigned long ITEM_ANTI_THIEF = 0x00004000; // 16384
const unsigned long ITEM_ANTI_FIGHTER = 0x00008000; // 32768
const unsigned long ITEM_BRITTLE = 0x00010000; // 65536
const unsigned long ITEM_RESISTANT = 0x00020000; // 131072 resistant to damage
const unsigned long ITEM_IMMUNE = 0x00040000; // 262144 Item is iimmune to scrapping
const unsigned long ITEM_ANTI_MEN = 0x00080000; // 524288 men can t wield
const unsigned long ITEM_ANTI_WOMEN = 0x00100000; // 1048576 women can t wield
//const unsigned long ITEM_ANTI_SUN = 0x00200000; // 2097152 item is sensitive to sun
const unsigned long ITEM_NO_EDIT = 0x00200000; // 2097152 item is no editable
const unsigned long ITEM_ANTI_BARBARIAN = 0x00400000; // 4194304
const unsigned long ITEM_ANTI_RANGER = 0x00800000; // 8388608
const unsigned long ITEM_ANTI_PALADIN = 0x01000000; // 16777216
const unsigned long ITEM_ANTI_PSI = 0x02000000; // 33554432
const unsigned long ITEM_ANTI_MONK = 0x04000000; // 67108864
const unsigned long ITEM_ANTI_DRUID = 0x08000000; // 134217728
const unsigned long ITEM_ONLY_CLASS = 0x10000000; // 268435456
const unsigned long ITEM_DIG = 0x20000000; // 536870912
const unsigned long ITEM_SCYTHE = 0x40000000; // 1073741824
const unsigned long ITEM_DONATED = 0x80000000; // 2147483648
/* Some different kind of liquids */
const int LIQ_WATER = 0;
const int LIQ_BEER = 1;
const int LIQ_WINE = 2;
const int LIQ_ALE = 3;
const int LIQ_DARKALE = 4;
const int LIQ_WHISKY = 5;
const int LIQ_LEMONADE = 6;
const int LIQ_FIREBRT = 7;
const int LIQ_LOCALSPC = 8;
const int LIQ_SLIME = 9;
const int LIQ_MILK = 10;
const int LIQ_TEA = 11;
const int LIQ_COFFE = 12;
const int LIQ_BLOOD = 13;
const int LIQ_SALTWATER = 14;
const int LIQ_COKE = 15;
/* special addition for drinks */
const unsigned DRINK_POISON = 1;
const unsigned DRINK_PERM = 2;
/* for containers */
const int CONT_FLAGS = 1;
const int CONST_KEY = 2;
const unsigned CONT_CLOSEABLE = 1;
const unsigned CONT_PICKPROOF = 2;
const unsigned CONT_CLOSED = 4;
const unsigned CONT_LOCKED = 8;
const unsigned SLAYER_GOOD = 1;
const unsigned SLAYER_NEUTRAL = 2;
const unsigned SLAYER_EVIL = 4;
// Flags per le chiavi - value[ 0 ]
const unsigned KEY_ONETIME = 1; /* La chiave si distrugge dopo l'utilizzo. */
const int KEY_FLAGS = 0;
const int MAX_OBJ_AFFECT = 5;
const int OBJ_NOTIMER = -7000000;
const int MAX_OBJ_SAVE = 250;
struct obj_data;
extern CIndexData< obj_data > *aObjProtos[]; // index table for object file
extern int giObjTypesCount;
#endif
yngwie@leu:~> lamentele > /dev/null