Server Development
Posts: 578
Joined: Tue Mar 25, 2014 6:47 pm
Dungeon System and Data
it's current status is beta code. it is working as intended, but is not fully implemented to it's potential.
will post more when i get more time.
i will have files and other relevant data for those interested in helping, as missions use this dungeon system.
data-crunching is something anyone can help with, if they so choose.
NOTE: this is mostly accurate. will revisit later to verify
*********** BEGIN DUNGEON SYSTEM NOTES ************
'dunTemplates' table - simply put, this is the actual dungeon template. (current)
dunTemplateID - unique id for this template
/* templateID format. ABCDE
* A = site - 1:mission, 2:grav, 3:mag, 4:radar, 5:ladar, 6:ded, 7:anomaly, 8:unrated, 9:escalation
* B = sec - mission: 1-9 (incomplete); others - sysSec: 1=hi, 2=lo, 3=null, 4=mid;
* C = type - grav: ore 0-5, ice 6-9; anomaly: 1-5; mission: 1-9; mag: *see below*; ded: 1-8; ladar/radar: 1-8
* D = level - mission: 1-9; grav: ore 1-3, ice 0; mag: *see below*; radar: 1-norm; 2-digital(nullsec); ladar: 1; anomaly: 1-5
* E = faction - 0=code defined, 1=Serpentis, 2=Angel, 3=Blood, 4=Guristas, 5=Sansha, 6=Drones, 7=region sov, 8=region rat, 9=other
*
* NOTE: mag sites have multiple types and levels based on other variables.
* types are defined as relic(1), salvage(2), and drone(3), with salvage being dominant.
* for hisec and losec, levels are 1-8 for relic and salvage. there are no drone mag sites here
* for nullsec, relic site levels are 1-8, salvage site levels are 1-4, and drone site levels are 1-7
*
* NOTE: faction can only be 8 for grav and anomaly sites, unless drones (6). all others MUST use 1-6
*/
'dunRoomData' table - this table contains one or more group templates and its relative position to define a given room.
dunRoomID - room id this template. each ID can have mutiple entries
dunGroupID - groupID (template) for this room
x,y,z - coord offset of this itemGroup based on 'origin point' of dungeon being 0,0,0
dunRoomName - name identifying (or describing) the room
dunRoomSpawnID - spawn template id (types, pos, qty) to be used for this room (maybe null). uses ratspawn format
/* roomID format. ABCD
* A = roomtype - 1:combat, 2:rescue, 3:capture, 4:salvage, 5:relic, 6:hacking, 7:roids, 8:clouds, 9:recon
* B = level - 0:none, 1:f, 2:d, 3:c, 4:af/ad, 5:bc, 6:ac, 7:bs, 8:abs, 9:hard
* C = amount/size - 0:code defined 1:small(1-5), 2:medium(2-10), 3:large(5-25), 4:enormous(10-50), 5:colossal(20-100), 6-9:ice
* D = faction - 0=drone, 1:Serpentis, 2:Angel, 3:Blood, 4:Guristas, 5:Sansha, 6:Amarr, 7:Caldari, 8:Gallente, 9:Minmatar
* D = sublevel - 0:gas, 1-5:ore, 6-9:ice
*/
'dunGroupData' table - this type and position table will contain item types used to define a common theme.
dunGroupID - group id of this template. each ID can have mutiple entries
typeID - item typeID defined for this group
groupID - item groupID defined for this group. overrides typeID if not null
x,y,z - coord offset of this item
/* groupID format
ABB - item def groups
A = group type - 1:deco, 2:system effect beacon, 3:mining, 4:lco, 5:ships, 6:base, 7:station gun, 8:station wrecks, 9:misc
B = 1:space objects, 2:effect beacons, 3:roid types, 4:ice types, 5:, 6:asteroid colony, 7:, 8:, 9:misc
B = ship/gun faction: 1:Amarr, 2:Caldari, 3:Gallente, 4:Minmatar, 5:Sentinel, 6:Guardian
B = faction: 00:none, 01:Serpentis, 02:Angel, 03:Blood, 04:Guristas, 05:Sansha, 06:Drones, 07:Amarr, 08:Caldari, 09:Gallente,
10:Minmatar, 11:Sleeper, 12:Talocan, 13:Ammatar
1xx deco items
110 wormholes
13x mining types
130 named roids
131 misc roids
132 worthless mining types
140 infested items
160 Asteroid Colony
191 Monument
2xx effect beacons **incomplete
211 Electronic
212 omni
22x Incursion
23x Black Hole
24x Magnetar
25x Pulsar
26x Red Giant
27x Wolf Rayet
28x Cataclysmic Variable
3xx mining objects
30x ore
34x ice
36x clouds
4xx lco
401 Serpentis
402 Angel
403 Blood
404 Guristas
405 Sansha
406 drone
407 Amarr
408 Caldari
409 Gallente
410 Minmatar
42x lco ships
43x lco structures
430 lco misc
431 lco Habitation
432 lco drug labs
433 lco Starbase
5xx ships
51x Amarr
52x Caldari
53x Gallente
54x Minmatar
6xx base
601 Serpentis
602 Angel
603 Blood
604 Guristas
605 Sansha
606 drone
607 Amarr
608 Caldari
609 Gallente
610 Minmatar
611 Sleeper
612 Talocan
613 Ammatar
620 Starbase
630 Habitation
640 Stationary
650 Indestructible
660 Forcefield
670 Shipyard
680 Construction
690 Storage
691 misc
7xx station guns **incomplete
8xx station and structure ruins **incomplete
80x Sansha
81x Amarr
82x Caldari
83x Gallente
84x Minmatar
85x misc ruined parts
86x misc debris
9xx misc **incomplete
91x comets
92x clouds
93x environment
96x event lco/lcs
*/
** THE FOLLOWING TABLES HAVE NOT BEEN STARTED, AND ARE CURRENTLY NOT USED **
'dunSpawnInfo' table - crossreference for type and group data for roomID.
dunSpawnID - unique spawn id as defined in dunRoomSpawnData table
dunSpawnName - name identifying (or describing) the Spawn
dunSpawnType - the (unique, internal) 'type' of this Spawn (wip)
x,y,z - spawn origin
'dunSpawnData' table - crossreference for type and group data for roomID.
dunSpawnID - spawn id of this template (listed as 'type' in roid rat class)
/* spawnID format. AB
* A = level - 1:f, 2:d, 3:c, 4:af/ad, 5:bc, 6:ac, 7:bs, 8:abs, 9:hard
* B = faction - 0=code defined, 1=Serpentis, 2=Angel, 3=Blood, 4=Guristas, 5=Sansha, 6=Drones, 7=region sov, 8=region pirate, 9=other
*/
**data here follows roid_rat_class.sql structure for determining ship classes**
'dunSpawnType' table - this table will list faction and ship groups for this dungeon
dunSpawnTypeID - type id of this template (listed as 'shipClass' in roid rats)
**data here follows roid_rats.sql structure for determining ship factions and groups**
'dunEntryID' table - template for warp in point for this dungeon.
dunEntryID - unique id for this warp in template.
dunEntryName - name for this warp in template. (may not use...)
x,y,z - coord offset for warp in.
** will this be used or are dungeons fully dynamic?
'dunActive' table - currently active dungeons (this is all dungeons, for whatever reason)
systemID - solar system id (to avoid cross-system position errors)
dungeonID - server generated unique dungeonID (bigint(20))
dunTemplateID - template id
dunExpiryTime - timestamp of when dungeon expires
state - internal state variable. pristine, started, partial, inactive, abandoned, completed, more...