MSCO07
Baseline - MSCO 07
SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.
|
BaseLine StructFew bytes left to figure out on this one.
SHORT: ObjOpperandCount
INT: SlotNameList
INT: UpdateCounter
{
ASTRING: SlotNameTable
INT: NotUsed
ASTRING: SlotName
}
INT: SlotContentsList
INT: UpdateCounter
{
INT: SlotContentType
}
INT: IngridientList
INT: UpdateCounter
{
INT: Counter
{
LONG: IngredientID
}
}
INT: QuantityList
INT: UpdateCounter
{
INT: Counter
{
INT: IngredientQuantity
}
}
INT: SlotQualityList
INT: UpdateCounter
{
FLOAT: Quality
}
INT: CleanSlotList
INT: UpdateCounter
{
INT: Value
}
INT: SlotIndexList
INT: UpdateCounter
{
INT: SlotIndex
}
BYTE: IngredientsCounter
INT: ExperimentationNameList
INT: UpdateCounter
{
ASTRING: ExperimentationTable
INT: NotUsed
ASTRING: ExperimentationName
}
INT: CurrentExperimentationValueList
INT: UpdateCounter
{
FLOAT: CurrentExperimentationValue
}
INT: ExperimentationOffsetList
INT: UpdateCounter
{
FLOAT: ExperimentationValueOffset
}
INT: BlueBarSizeList
INT: UpdateCounter
{
FLOAT: Size
}
INT: MaxExperimentationList
INT: UpdateCounter
{
FLOAT: MaxExperimentationValue
}
INT: CustomizationNameList
INT: UpdateCounter
{
ASTRING: CustomizationName
}
INT: PalleteSelectionList
INT: UpdateCounter
{
INT: PalleteSelection
}
INT: PalleteStartIndexList
INT: UpdateCounter
{
INT: PalleteStartIndex
}
INT: PalleteEndIndexList
INT: UpdateCounter
{
INT: PalleteEndIndex
}
BYTE: CustomizationCounter
FLOAT: RiskFactor
INT: ObjectTemplateCustomizationList
INT: UpdateCounter
{
ASTRING: ObjectTemplateIFF
}
BYTE: ReadyFlag
Deltas StructI've written the deltas part numbers in the baseline above. This Packet is to huge that one could make sense of it without structure. Thus the Delta parts themselves are further divided into - lets call them - slotspots. For every slot there is a 3 Byte slotspot in the Deltapart, save part 7, where the byte stale flag (??) is. So that every slotspot can be modified on its own and the monster gets more palateable the slotspots must be inserted. Think of it as a kind of FlowControl. So to set the amount of resource that got filled into the first slot :
SHORT: UpdateCount
SHORT: UpdateType
{
00:
INT: SlotNameList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
ASTRING: SlotNameTable
INT: NotUsed
ASTRING: SlotName
02:(change)
SHORT: Index
ASTRING: SlotNameTable
INT: NotUsed
ASTRING: SlotName
03:(resetall)
SHORT: NewListSize
{
ASTRING: SlotNameTable
INT: NotUsed
ASTRING: SlotName
}
04:(clear)
}
}
01:
INT: SlotContentsList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
INT: SlotContentType
02:(change)
SHORT: Index
INT: SlotContentType
03:(resetall)
SHORT: NewListSize
{
INT: SlotContentType
}
04:(clear)
}
}
02:
INT: IngridientList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT:
01:(add)
SHORT: Index
INT: Counter
{
LONG: IngredientID
}
02:(change)
SHORT: Index
INT: Counter
{
LONG: IngredientID
}
03:(resetall)
SHORT: NewListSize
{
INT: Counter
{
LONG: IngredientID
}
}
04:(clear)
}
}
03:
INT: QuantityList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
INT: Counter
{
INT: IngredientQuantity
}
02:(change)
SHORT: Index
INT: Counter
{
INT: IngredientQuantity
}
03:(resetall)
SHORT: NewListSize
{
INT: Counter
{
INT: IngredientQuantity
}
}
04:(clear)
}
}
04:
INT: SlotQualityList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
FLOAT: Quality
02:(change)
SHORT: Index
FLOAT: Quality
03:(resetall)
SHORT: NewListSize
{
FLOAT: Quality
}
04:(clear)
}
}
05:
INT: CleanSlotList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
INT: Value
02:(change)
SHORT: Index
INT: Value
03:(resetall)
SHORT: NewListSize
{
INT: Value
}
04:(clear)
}
}
06:
INT: SlotIndexList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
INT: SlotIndex
02:(change)
SHORT: Index
INT: SlotIndex
03:(resetall)
SHORT: NewListSize
{
INT: SlotIndex
}
04:(clear)
}
}
07:
BYTE: IngredientsCounter
08:
INT: ExperimentationNameList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
ASTRING: ExperimentationTable
INT: NotUsed
ASTRING: ExperimentationName
02:(change)
SHORT: Index
ASTRING: ExperimentationTable
INT: NotUsed
ASTRING: ExperimentationName
03:(resetall)
SHORT: NewListSize
{
ASTRING: ExperimentationTable
INT: NotUsed
ASTRING: ExperimentationName
}
04:(clear)
}
}
09:
INT: CurrentExperimentationValueList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
FLOAT: CurrentExperimentationValue
02:(change)
SHORT: Index
FLOAT: CurrentExperimentationValue
03:(resetall)
SHORT: NewListSize
{
FLOAT: CurrentExperimentationValue
}
04:(clear)
}
}
0A:
INT: ExperimentationOffsetList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
FLOAT: ExperimentationValueOffset
02:(change)
SHORT: Index
FLOAT: ExperimentationValueOffset
03:(resetall)
SHORT: NewListSize
{
FLOAT: ExperimentationValueOffset
}
04:(clear)
}
}
0B:
INT: BlueBarSizeList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
FLOAT: Size
02:(change)
SHORT: Index
FLOAT: Size
03:(resetall)
SHORT: NewListSize
{
FLOAT: Size
}
04:(clear)
}
}
0C:
INT: MaxExperimentationList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
FLOAT: MaxExperimentationValue
02:(change)
SHORT: Index
FLOAT: MaxExperimentationValue
03:(resetall)
SHORT: NewListSize
{
FLOAT: MaxExperimentationValue
}
04:(clear)
}
}
0D:
INT: CustomizationNameList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
ASTRING: CustomizationName
02:(change)
SHORT: Index
ASTRING: CustomizationName
03:(resetall)
SHORT: NewListSize
{
ASTRING: CustomizationName
}
04:(clear)
}
}
0E:
INT: PalleteSelectionList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
INT: PalleteSelection
02:(change)
SHORT: Index
INT: PalleteSelection
03:(resetall)
SHORT: NewListSize
{
INT: PalleteSelection
}
04:(clear)
}
}
0F:
INT: PalleteStartIndexList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
INT: PalleteStartIndex
02:(change)
SHORT: Index
INT: PalleteStartIndex
03:(resetall)
SHORT: NewListSize
{
INT: PalleteStartIndex
}
04:(clear)
}
}
10:
INT: PalleteEndIndexList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
INT: PalleteEndIndex
02:(change)
SHORT: Index
INT: PalleteEndIndex
03:(resetall)
SHORT: NewListSize
{
INT: PalleteEndIndex
}
04:(clear)
}
}
11:
BYTE: CustomizationCounter
12:
FLOAT: RiskFactor
13:
INT: ObjectTemplateCustomizationList
INT: UpdateCounter
{
BYTE: SubType
{
00:(remove)
SHORT: Index
01:(add)
SHORT: Index
ASTRING: ObjectTemplateIFF
02:(change)
SHORT: Index
ASTRING: ObjectTemplateIFF
03:(resetall)
SHORT: NewListSize
{
ASTRING: ObjectTemplateIFF
}
04:(clear)
}
}
14:
BYTE: ReadyFlag
}
|
Variable DescriptionsObj_OperandCount = Tags
|