to make it short, SCPb3 is not supported in the current SS2 environment, whoever tries to use it in any way will have problems. this is standard policy - either you are up to date, or you are on your own.
ok, so, if you are unsure what you have changed in the gamesys, you can export all from the unmodified b3 gamesys, and then from your modified b3 gamesys, and then compare both exports using windiff. that will show you all the changes.
then you will have to convert them to proper dmls - no cheap way out of this. so you will have to learn how to read the exports, and convert them into a proper working dml.
example (full export):
Property "Creature: Time Warp"
{
Protocol Droid (-174): 0.80
Midwife (-179): 0.75
Rumbler (-180): 0.88
Grub (-182): 0.75
Arachnightmare (-189): 0.65
SHODAN (-196): 0.50
Once-Grunts (-396): 1.00
Training Droid (-4015): 0.80
} // 8 object(s)
say you need to apply the value to Protocol Droid. check proplist.txt, find the value;
ObjProp "TimeWarp" // type float , flags 0x0000 , editor name: "Creature: Time Warp"
{
"" : float
}
edit it accordingly;
ObjProp "Protocol Droid" "TimeWarp"
{
"" 0.80
}
or you can use the full export just as a guide - full export tells me I need to modify timewarp on the droid, so find the droid, and export the archetype as single dml;
DML1
// Object Export of "Protocol Droid (-174)"
// Note: Reverse links are not exported. Links, receptrons, stims and metaproperties are exported with '++',
// which will cause duplicates if the DML is used on an already populated object.
// Shape->Model Name
+ObjProp "Protocol Droid" "ModelName"
{
"" "protonew"
}
// Position
+ObjProp "Protocol Droid" "Position"
{
"Location" 0.00, 0.00, 0.00
"Heading" 0
"Pitch" 0
"Bank" 0
}
// Motions->ActorTagList
+ObjProp "Protocol Droid" "MotActorTagList"
{
"tags" "prodroid"
}
// Creature->Time Warp
+ObjProp "Protocol Droid" "TimeWarp"
{
"" 0.80
}
// Game->Damage Model->Hit Points
+ObjProp "Protocol Droid" "HitPoints"
{
"" 20
}
// Game->Damage Model->Max Hit Points
+ObjProp "Protocol Droid" "MAX_HP"
{
"" 20
}
// Obj->Object name
+ObjProp "Protocol Droid" "ObjName" = "ProtocolDroid: "A protocol droid.""
// Creature->Creature Type
+ObjProp "Protocol Droid" "Creature"
{
"Type" "Humanoid"
}
// AI->AI Core->AI
+ObjProp "Protocol Droid" "AI"
{
"Behavior set" "protocol"
}
// AI->AI Core->Vision Joint
+ObjProp "Protocol Droid" "AI_VisJoint"
{
"joint" "Head"
}
// AI->Ability Settings->Non-combat: Dmg Response Params
+ObjProp "Protocol Droid" "AI_NCDmgRsp"
{
"Wound Threshold" 1
"Severe Threshold" 10
"Response Chance (%)" 20
}
// AI->Ability Settings->Idling: Directions
+ObjProp "Protocol Droid" "AI_IdleDirs"
{
"Min. facing switch time" 5000
"Max. facing switch time" 20000
"Facing 1: direction" -45
" weight" 1
"Facing 2: direction" 0
" weight"[1] 2
"Facing 3: direction" 45
" weight"[2] 1
}
// Speech->Voice
+ObjProp "Protocol Droid" "SpchVoice"
{
"" "vprotobot"
}
// Schema->Class Tags
+ObjProp "Protocol Droid" "Class Tags"
{
"1: Tags" "CreatureType ProtoBot"
}
++Link "Protocol Droid" "Protocol Explosion" "Corpse"
{
}
++Link "Protocol Droid" "PD_Part_1" "Flinderize"
{
"Count" 2
"Impulse" 12.00
"Scatter?" TRUE
"Offset" 0.00, 0.00, 0.00
}
++Link "Protocol Droid" "PD_Part_2" "Flinderize"
{
"Count" 2
"Impulse" 8.00
"Scatter?" TRUE
"Offset" 0.00, 0.00, 0.00
}
but you only need the timewarp part, so you will end up with this (again);
ObjProp "Protocol Droid" "TimeWarp"
{
"" 0.80
}
and now you have the proper code snippet. do this with everything, put all the snippets together and there is your gamesys dml.