Hack the planet, err I mean Proto! Hack the Proto.

Discussion in 'Negative Energy Plane' started by Nomad_Wanderer, Sep 25, 2003.

Remove all ads!
  1. Nomad_Wanderer

    Nomad_Wanderer Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    305
    Likes Received:
    0
    Here's the proto.tab thread. Every thing you would ever want to know about the proto tab.
     
  2. Nomad_Wanderer

    Nomad_Wanderer Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    305
    Likes Received:
    0
    Dhoom started a decipher list for this..
    Until he gets here, it's here:
    http://members.cox.net/dhoom/proto_key.txt

    and here
    ====================
    update 9/25/03 0:47
    made corrections additions.
    54 is internal name/key into ToEE1\art\interface\inventory\inventory.mes for inventroy picture

    (contains the reference to the inventory picture of this thing)

    81 is Armor Check Penalty
    80 is Spell Failure Percentage
    170 is acBonus
    ====================

    Field001: Item Number [[referenced in various code bits]]
    Field002: Item Type (obj_t_npc, obj_t_armor, obj_t_weapon, obj_t_scenery, obj_t_container, obj_t_money, obj_t_projectile, obj_t_npc, obj_t_generic, obj_t_ammo, obj_t_portal, obj_t_food, obj_t_pc, obj_t_key,obj_t_written, obj_t_scroll, obj_t_bag)
    Field003: BLANK
    Field004: BLANK
    Field005: BLANK
    Field006: BLANK
    Field007:
    Field008: BLANK
    Field009: BLANK
    Field010: BLANK
    Field011: BLANK
    Field012: BLANK
    Field013: BLANK
    Field014: BLANK
    Field015: BLANK
    Field016: BLANK
    Field017: BLANK
    Field018: BLANK
    Field019: BLANK
    Field020: BLANK
    Field021:
    Field022: BLANK
    Field023:
    Field024:
    Field025: Item Size (size_diminutive, size_tiny, size_small, size_medium, size_large, size_huge)
    Field026:
    Field027: BLANK
    Field028: Material Type (mat_flesh, mat_liquid, mat_gas, mat_wood, mat_metal, mat_cloth, mat_plant, mat_glass, mat_stone, mat_force, mat_paper, mat_powder, mat_fire) [[Used for item saving throws?]]
    Field029: BLANK
    Field030:
    Field031:
    Field032: PI (3.14159265358) [[ used to dictate targeting sphere? obj_ use is scenery only]]
    Field033:
    Field034:
    Field035:
    Field036:
    Field037:
    Field038:
    Field039: BLANK
    Field040: BLANK
    Field041: BLANK
    Field042:
    Field043:
    Field044:
    Field045:
    Field046: BLANK
    Field047:
    Field048: BLANK
    Field049: BLANK
    Field050: BLANK
    Field051:
    Field052:
    Field053:
    Field054: internal name/key into ToEE1\art\interface\inventory\inventory.mes for inventroy picture
    Field055:
    Field056:
    Field057:

    Field058:
    Field059:
    Field060:
    Field061:
    Field062: Equipable Slot (OIF_WEAR_WEAPON_SECONDARY, OIF_WEAR_ARMOR, OIF_WEAR_GLOVES, OIF_WEAR_BOOTS, OIF_WEAR_HELMET, OIF_WEAR_RING_PRIMARY, OIF_WEAR_RING_SECONDARY, OIF_WEAR_RING, OIF_WEAR_CLOAK, OIF_WEAR_ROBE, OIF_WEAR_2HAND_REQUIRED, OIF_WEAR_AMMO, OIF_WEAR_BARDIC_ITEM, OIF_WEAR_NECKLACE, OIF_WEAR_BRACERS)
    Field063:
    Field064: Type of 2handed (OWF_TWO_HANDED, OWF_RANGED_WEAPON, OWF_MAGIC_STAFF, OWF_DEFAULT_THROWS, OWF_THROWABLE) [[last two are shuriken only]]
    Field065:
    Field066: Range Wpn ??? (light_hammer, club, dagger, arrow, bolt, bullet, javelin, spear, ball_of_fire, shuriken, throwing_axe, dart, bottle) [[Bottle?? heh]]
    Field067: BLANK
    Field068:
    Field069:
    Field070: Damage Type (D20DT_SLASHING, D20DT_BLUDGEONING, D20DT_BLUDGEONING_AND_PIERCING, D20DT_PIERCING_AND_SLASHING, D20DT_PIERCING, D20DT_FIRE, D20DT_ACID) [[looks to be WEAPON ONLY damage type.. D20DT=D20 Damage Type]]
    Field071: Damage Dice (1d4, 1d6, 1d8, 1d10, 1d12, 2d4, 2d6, 2d8, 0d0) [[pretty standard stuff, here]]
    Field072: BLANK
    Field073: Weapon Class (orc_double_axe, Longsword, Warhammer, light_hammer, Club, gnome_hooked_hammer, Handaxe, Scythe, Light_mace, Morningstar, Heavy_pick, Heavy_Mace, Greatclub, Greataxe, Dwarven_waraxe, battleaxe, Dagger, Shortsword, short_sword, Scimitar, Rapier, Falchion, Greatsword, Bastard_sword, longbow, light_crossbow, heavy_crossbow, glaive, spear, javelin, ranseur, quarterstaff, quisarme, sling, dart, shuriken, shortspear, heavy_flail, spike_chain, halfling_siangham, kukri) [[only one item for halfling_siangham, and the kukri... lame.)
    Field074: Crit range (18, 19, 20) [[where the range begins in relation to 20]]
    Field075:
    Field076: Relates to #077 somehow... weight per stack?
    Field077: Ammo Type (arrow, bolt, bullet)
    Field078: BLANK
    Field079: BLANK
    Field080: Spell Failure Percentage
    Field081: Armor Check Penalty (5,10,15,20....)
    Field082: Armor Skill Check Penalty (2, 4...)
    Field083: Armor Feat Req. (ARMOR_TYPE_LIGHT, ARMOR_TYPE_MEDIUM, ARMOR_TYPE_HEAVY, ARMOR_TYPE_SHIELD
    Field084: Helm Types (HELM_TYPE_MEDIUM, HELM_TYPE_SMALL, HELM_TYPE_LARGE) [[No clue what this does -- armor only]]
    Field085: BLANK
    Field086: Relates to #087 only (50) [[only value is 50]]
    Field087: Coin Type (Copper, Silver, Gold, Platinum)
    Field088: BLANK
    Field089: BLANK
    Field090:
    Field091: BLANK
    Field092:
    Field093:
    Field094: BLANK
    Field095: Bag of Holding Value (OBF_HOLDING
    OBF_HOLDING_500 or OBF_HOLDING
    OBF_HOLDING_1000) [[hmmmmm...]]
    Field096:
    Field097:
    Field098:
    Field099:
    Field100:
    Field101:
    Field102:
    Field103:
    Field104:
    Field105:
    Field106:
    Field107:
    Field108:
    Field109:
    Field110:
    Field111:
    Field112:
    Field113:
    Field114:
    Field115:
    Field116:
    Field117:
    Field118:
    Field119:
    Field120:
    Field121:
    Field122:
    Field123:
    Field124:
    Field125:
    Field126:
    Field127:
    Field128:
    Field129:
    Field130:
    Field131:
    Field132:
    Field133:
    Field134:
    Field135:
    Field136:
    Field137:
    Field138:
    Field139:
    Field140:
    Field141:
    Field142:
    Field143:
    Field144:
    Field145:
    Field146:
    Field147:
    Field148:
    Field149:
    Field150:
    Field151:
    Field152:
    Field153:
    Field154:
    Field155:
    Field156:
    Field157:
    Field158:
    Field159:
    Field160:
    Field161:
    Field162:
    Field163:
    Field164:
    Field165:
    Field166:
    Field167:
    Field168:
    Field169:
    Field170: AC Bonus
    Field171:
    Field172:
    Field173:
    Field174:
    Field175:
    Field176:
    Field177:
    Field178:
    Field179:
    Field180:
    Field181:
    Field182:
    Field183:
    Field184:
    Field185:
    Field186:
    Field187:
    Field188:
    Field189:
    Field190:
    Field191:
    Field192:
    Field193:
    Field194:
    Field195:
    Field196:
    Field197:
    Field198:
    Field199:
    Field200:
    Field201:
    Field202:
    Field203:
    Field204:
    Field205:
    Field206:
    Field207:
    Field208:
    Field209:
    Field210:
    Field211:
    Field212:
    Field213:
    Field214:
    Field215:
    Field216:
    Field217:
    Field218:
    Field219:
    Field220:
    Field221:
    Field222:
    Field223:
    Field224:
    Field225:
    Field226:
    Field227:
    Field228:
    Field229:
    Field230:
    Field231:
    Field232:
    Field233:
    Field234:
    Field235:
    Field236:
    Field237:
    Field238:
    Field239:
    Field240:
    Field241:
    Field242:
    Field243:
    Field244:
    Field245:
    Field246:
    Field247:
    Field248:
    Field249:
    Field250:
    Field251:
    Field252:
    Field253:
    Field254:
    Field255:
     
    Last edited: Sep 25, 2003
  3. Zane

    Zane Member

    Joined:
    Sep 25, 2003
    Messages:
    16
    Likes Received:
    0
    BTW, proto.tab opened as a text database just fine in OpenOffice but it crashed when I tried to cut and paste the entire 'table' into a spreadsheet to export as CSV. :)

    Most likely you could set this up fairly easily as a text database with ODBC and then use it like an ODBC table source in Access or a custom app.

    -Zane
     
  4. Zane

    Zane Member

    Joined:
    Sep 25, 2003
    Messages:
    16
    Likes Received:
    0
    BTW, According to OpenOffice there are 334 columns. I'm browsing it right now.
     
  5. Nomad_Wanderer

    Nomad_Wanderer Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    305
    Likes Received:
    0
    I successfully made my starting equipment uber'd by modifying the proto say thats good news..

    (+10 AC Blue Mystical Garb, woohoo!)

    The proto also contains Door, NPC, and monster info as well.. I think that attributes for those are in reach too.
     
  6. Vaevictis666

    Vaevictis666 Established Member

    Joined:
    Sep 25, 2003
    Messages:
    114
    Likes Received:
    0
    Alright, this is my current area. I'm doing up a prog to at least view the contents of protos in some structure, if not allow editing as well.

    The entries are all over the place, I want to at least sort them by type and correlate what fields are and are not used. Wish me luck :)
     
  7. Sol Invictus

    Sol Invictus Beholder Watcher Veteran

    Joined:
    Aug 25, 2003
    Messages:
    325
    Likes Received:
    0
    Sweet. I bet we could reimplement the Brothel with this by replacing one of the doors/portals in Nulb.
     
  8. Vaevictis666

    Vaevictis666 Established Member

    Joined:
    Sep 25, 2003
    Messages:
    114
    Likes Received:
    0
    progress on proto editor going slowly. I can't get the stupid grid to load the data (tho I am getting it loading fine on the logic side - just can't display)

    Goin to bed now, might try more tomorrow.

    Ciao ppls. Ugh gotta be up in 7 hours to go to work.. :0
     
  9. Kobayashi

    Kobayashi Member

    Joined:
    Sep 25, 2003
    Messages:
    21
    Likes Received:
    0
    I think it is bad idea to work with entire file.
    Right now i'm splitting it into several files based on type of record (ie. armor, weapon,etc), because most types use just few (less than 20) colums, rest is blank.
     
    Last edited: Sep 25, 2003
  10. WintermuteX

    WintermuteX Member

    Joined:
    Sep 25, 2003
    Messages:
    10
    Likes Received:
    0
    Maybe someone with some coding skills should code a small tool to make life easier. :rolleyes:
    Well, i'm to lazy to sit down and code one (would be kind of "learning by doing" ... i didn't wrote a line for years (last tools i wrote on AMIGA *lo*l))
     
  11. Nomad_Wanderer

    Nomad_Wanderer Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    305
    Likes Received:
    0
    Please feel free to share your version :)
     
  12. Phalzyr

    Phalzyr Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    193
    Likes Received:
    1
    If someone pputs up the protos file link I will take a crack at in in delphi, though not database wise since all the database types I tried with delphi are limited to 255 fields also. Though some sort of string grid might work maybe even might be able to work in a sort method if I make it my own string grid instead a addon component I used for my D2 modder... If it is just tab delimited it shouldn't be too hard...
     
    Last edited: Sep 25, 2003
  13. Phalzyr

    Phalzyr Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    193
    Likes Received:
    1
    I have a question, if say ten fields or so are only used for items and # for this, and # for that. Why didn't they jsut reuse the first fields? You could have the very first field be the type and upon reading that know how many other fields need to be read in??? Kinda silly to have blank fields between values but that is just my opinion.
     
  14. PlatinumWeaver

    PlatinumWeaver Member

    Joined:
    Sep 25, 2003
    Messages:
    44
    Likes Received:
    0
    In what format should protos changes be? Is it just a case of having a text file with the updated data in a certain directory?
     
  15. Kobayashi

    Kobayashi Member

    Joined:
    Sep 25, 2003
    Messages:
    21
    Likes Received:
    0
    What do you mean ? For game, you have to modify original proto file.
    But for exchanging your modifications with other modders , best format would be IMHO something simple like this :
    row,column = value
    row,column = value
    ....
     
Our Host!