@@ -3794,8 +3794,8 @@ dialogEventClass: 'DialogEvent' WS audioevent_value WS* NEWLINE ((WS? audioevent
37943794audioevent_properties : ' Filename' ((WS ? EQ WS ?) | WS ) file
37953795 | ' MinVolume' ((WS ? EQ WS ?) | WS ) INT
37963796 | ' LoopCount' ((WS ? EQ WS ?) | WS ) INT
3797- | ' Priority' ((WS ? EQ WS ?) | WS ) (' lowest' | ' LOWEST' | ' low' | ' LOW' | ' normal' | ' NORMAL' | ' high' | ' HIGH' | ' critical' | ' CRITICAL' | None_value) (WS (' lowest' | ' LOWEST' | ' low' | ' LOW' | ' normal' | ' NORMAL' | ' high' | ' HIGH' | ' critical' | ' CRITICAL' | None_value))*
3798- | ' Control' ((WS ? EQ WS ?) | WS ) (' loop' | ' random' | All_value | ' postdelay' | ' interrupt' | None_value | ' Loop' | ' Random' | ' PostDelay' | ' Interrupt' ) (WS (' loop' | ' random' | All_value | ' postdelay' | ' interrupt' | None_value | ' Loop' | ' Random' | ' PostDelay' | ' Interrupt' ))*
3797+ | ' Priority' ((WS ? EQ WS ?) | WS ) (' lowest' | ' LOWEST' | ' Lowest ' | ' low' | ' LOW' | ' Low ' | ' normal' | ' NORMAL' | ' Normal ' | ' high' | ' HIGH' | ' High ' | ' critical' | ' CRITICAL' | ' Critical ' | None_value) (WS (' lowest' | ' LOWEST' | ' Lowest ' | ' low' | ' LOW' | ' Low ' | ' normal' | ' NORMAL' | ' Normal ' | ' high' | ' HIGH' | ' High ' | ' critical' | ' CRITICAL' | ' Critical ' | None_value))*
3798+ | ' Control' ((WS ? EQ WS ?) | WS ) (' loop' | ' random' | All_value | ' postdelay' | ' interrupt' | None_value | ' Loop' | ' Random' | ' PostDelay' | ' Interrupt' | ' Postdelay ' ) (WS (' loop' | ' random' | All_value | ' postdelay' | ' interrupt' | None_value | ' Loop' | ' Random' | ' PostDelay' | ' Interrupt' | ' Postdelay ' ))*
37993799 | ' Sounds' ((WS ? EQ WS ?) | WS ) ID (WS ID )*
38003800 | ' SoundsNight' ((WS ? EQ WS ?) | WS ) ID (WS ID )*
38013801 | ' SoundsEvening' ((WS ? EQ WS ?) | WS ) ID (WS ID )*
@@ -4284,8 +4284,8 @@ locomotor_type: ('SET_NORMAL' | 'SET_PANIC' | 'SET_NORMAL_UPGRADED' | 'SET_SUPER
42844284object_property : ' Object' ((WS ? EQ WS ?) | WS ) object_value;
42854285object_value : (ID | None_value);
42864286
4287- kindof_value: (None_value | 'IGNORE_DOCKING_BONES' | 'IGNORES_SELECT_ALL' | 'IGNORED_IN_GUI' | 'CONSERVATIVE_BUILDING' | 'DEMOTRAP' | 'EMP_HARDENED' | 'TECH_BASE_DEFENSE' | 'CANNOT_RETALIATE' | 'REJECT_UNMANNED ' | 'AIRCRAFT_CARRIER' | 'OPTIMIZED_TREE' | 'PROP' | 'BLAST_CRATER' | 'BOOBY_TRAP' | 'REVEALS_ENEMY_PATHS' | 'MONEY_HACKER' | 'CLIFF_JUMPER' | 'DONT_AUTO_CRUSH_INFANTRY' | 'HERO' | 'INERT' | 'DISGUISER' | 'REVEAL_TO_ALL' | 'SUPPLY_SOURCE' | 'CANNOT_BUILD_NEAR_SUPPLIES' | 'SPAWNS_ARE_THE_WEAPONS' | 'SHOW_PORTRAIT_WHEN_CONTROLLED' | 'HULK' | 'IMMUNE_TO_CAPTURE' | 'BOAT' | 'GARRISONABLE_UNTIL_DESTROYED' | 'PARACHUTE' | 'PARACHUTABLE' | 'SUPPLY_SOURCE_ON_PREVIEW' | 'CLICK_THROUGH' | 'BALLISTIC_MISSILE' | 'DRONE' | 'PRODUCED_AT_HELIPAD' | 'POWERED' | 'TECH_BUILDING' | 'AUTO_RALLYPOINT' | 'FORCEATTACKABLE' | 'LOW_OVERLAPPABLE' | 'AIRCRAFT_PATH_AROUND' | 'DEFENSIVE_WALL' | 'WALK_ON_TOP_OF_WALL' | 'ATTACK_NEEDS_LINE_OF_SIGHT' | 'ALWAYS_SELECTABLE' | 'PORTABLE_STRUCTURE' | 'CLEANUP_HAZARD' | 'MINE' | 'UNATTACKABLE' | 'ALWAYS_VISIBLE' | 'SMALL_MISSILE' | 'CLEARED_BY_BUILD' | 'CAPTURABLE' | 'CRATE' | 'MOB_NEXUS' | 'SCORE_DESTROY' | 'SCORE_CREATE' | 'SCORE' | 'REBUILD_HOLE' | 'MP_COUNT_FOR_VICTORY' | 'DRAWABLE_ONLY' | 'CASH_GENERATOR' | 'STEALTH_GARRISON' | 'HEAL_PAD' | 'REPAIR_PAD' | 'WAVE_EFFECT' | 'WAVEGUIDE' | 'NO_GARRISON' | 'NO_COLLIDE' | 'NO_HEAL_ICON' | 'NO_SELECT' | 'PRELOAD' | 'PROJECTILE' | 'BRIDGE_TOWER' | 'LANDMARK_BRIDGE' | 'BRIDGE' | 'TRANSPORT' | 'WEAPON_SALVAGER' | 'ARMOR_SALVAGER' | 'SALVAGER' | 'LINEBUILD' | 'COMMANDCENTER' | 'HARVESTER' | 'DOZER' | 'HUGE_VEHICLE' | 'AIRCRAFT' | 'VEHICLE' | 'INFANTRY' | 'STRUCTURE' | 'SHRUBBERY' | 'STICK_TO_TERRAIN_SLOPE' | 'IMMOBILE' | 'SELECTABLE' | 'OBSTACLE' | 'FS_STRATEGY_CENTER' | 'FS_SUPPLY_CENTER' | 'FS_BLACK_MARKET' | 'FS_SUPERWEAPON' | 'FS_SUPPLY_DROPZONE' | 'FS_AIRFIELD' | 'FS_WARFACTORY' | 'FS_BARRACKS' | 'FS_ADVANCED_TECH' | 'FS_TECHNOLOGY' | 'FS_BASE_DEFENSE' | 'FS_FACTORY' | 'FS_POWER' | 'FS_INTERNET_CENTER' | 'FS_FAKE' | 'CAN_BE_REPULSED' | 'CAN_RAPPEL' | 'CAN_ATTACK' | 'CAN_CAST_REFLECTIONS' | 'CAN_SEE_THROUGH_STRUCTURE');
4288- status_value : (None_value | ' DESTROYED' | ' CAN_ATTACK' | ' UNDER_CONSTRUCTION' | ' UNSELECTABLE' | ' NO_COLLISIONS' | ' NO_ATTACK' | ' AIRBORNE_TARGET' | ' PARACHUTING' | ' REPULSOR' | ' HIJACKED' | ' AFLAME' | ' BURNED' | ' WET' | ' IS_FIRING_WEAPON' | ' IS_BRAKING' | ' STEALTHED' | ' DETECTED' | ' CAN_STEALTH' | ' SOLD' | ' UNDERGOING_REPAIR' | ' RECONSTRUCTING' | ' MASKED' | ' IS_ATTACKING' | ' USING_ABILITY' | ' IS_AIMING_WEAPON' | ' NO_ATTACK_FROM_AI' | ' IGNORING_STEALTH' | ' IS_CARBOMB' | ' DECK_HEIGHT_OFFSET' | ' STATUS_RIDER1' | ' STATUS_RIDER2' | ' STATUS_RIDER3' | ' STATUS_RIDER4' | ' STATUS_RIDER5' | ' STATUS_RIDER6' | ' STATUS_RIDER7' | ' STATUS_RIDER8' | ' FAERIE_FIRE' | ' KILLING_SELF' | ' REASSIGN_PARKING' | ' BOOBY_TRAPPED' | ' IMMOBILE' | ' DISGUISED' | ' DEPLOYED' );
4287+ kindof_value: ('+' | '-')? (None_value | All_value | 'IGNORE_DOCKING_BONES' | 'IGNORES_SELECT_ALL' | 'IGNORED_IN_GUI' | 'CONSERVATIVE_BUILDING' | 'DEMOTRAP' | 'EMP_HARDENED' | 'TECH_BASE_DEFENSE' | 'CANNOT_RETALIATE' | 'REJECT_UNMANNED ' | 'AIRCRAFT_CARRIER' | 'OPTIMIZED_TREE' | 'PROP' | 'BLAST_CRATER' | 'BOOBY_TRAP' | 'REVEALS_ENEMY_PATHS' | 'MONEY_HACKER' | 'CLIFF_JUMPER' | 'DONT_AUTO_CRUSH_INFANTRY' | 'HERO' | 'INERT' | 'DISGUISER' | 'REVEAL_TO_ALL' | 'SUPPLY_SOURCE' | 'CANNOT_BUILD_NEAR_SUPPLIES' | 'SPAWNS_ARE_THE_WEAPONS' | 'SHOW_PORTRAIT_WHEN_CONTROLLED' | 'HULK' | 'IMMUNE_TO_CAPTURE' | 'BOAT' | 'GARRISONABLE_UNTIL_DESTROYED' | 'PARACHUTE' | 'PARACHUTABLE' | 'SUPPLY_SOURCE_ON_PREVIEW' | 'CLICK_THROUGH' | 'BALLISTIC_MISSILE' | 'DRONE' | 'PRODUCED_AT_HELIPAD' | 'POWERED' | 'TECH_BUILDING' | 'AUTO_RALLYPOINT' | 'FORCEATTACKABLE' | 'LOW_OVERLAPPABLE' | 'AIRCRAFT_PATH_AROUND' | 'DEFENSIVE_WALL' | 'WALK_ON_TOP_OF_WALL' | 'ATTACK_NEEDS_LINE_OF_SIGHT' | 'ALWAYS_SELECTABLE' | 'PORTABLE_STRUCTURE' | 'CLEANUP_HAZARD' | 'MINE' | 'UNATTACKABLE' | 'ALWAYS_VISIBLE' | 'SMALL_MISSILE' | 'CLEARED_BY_BUILD' | 'CAPTURABLE' | 'CRATE' | 'MOB_NEXUS' | 'SCORE_DESTROY' | 'SCORE_CREATE' | 'SCORE' | 'REBUILD_HOLE' | 'MP_COUNT_FOR_VICTORY' | 'DRAWABLE_ONLY' | 'CASH_GENERATOR' | 'STEALTH_GARRISON' | 'HEAL_PAD' | 'REPAIR_PAD' | 'WAVE_EFFECT' | 'WAVEGUIDE' | 'NO_GARRISON' | 'NO_COLLIDE' | 'NO_HEAL_ICON' | 'NO_SELECT' | 'PRELOAD' | 'PROJECTILE' | 'BRIDGE_TOWER' | 'LANDMARK_BRIDGE' | 'BRIDGE' | 'TRANSPORT' | 'WEAPON_SALVAGER' | 'ARMOR_SALVAGER' | 'SALVAGER' | 'LINEBUILD' | 'COMMANDCENTER' | 'HARVESTER' | 'DOZER' | 'HUGE_VEHICLE' | 'AIRCRAFT' | 'VEHICLE' | 'INFANTRY' | 'STRUCTURE' | 'SHRUBBERY' | 'STICK_TO_TERRAIN_SLOPE' | 'IMMOBILE' | 'SELECTABLE' | 'OBSTACLE' | 'FS_STRATEGY_CENTER' | 'FS_SUPPLY_CENTER' | 'FS_BLACK_MARKET' | 'FS_SUPERWEAPON' | 'FS_SUPPLY_DROPZONE' | 'FS_AIRFIELD' | 'FS_WARFACTORY' | 'FS_BARRACKS' | 'FS_ADVANCED_TECH' | 'FS_TECHNOLOGY' | 'FS_BASE_DEFENSE' | 'FS_FACTORY' | 'FS_POWER' | 'FS_INTERNET_CENTER' | 'FS_FAKE' | 'CAN_BE_REPULSED' | 'CAN_RAPPEL' | 'CAN_ATTACK' | 'CAN_CAST_REFLECTIONS' | 'CAN_SEE_THROUGH_STRUCTURE');
4288+ status_value : (' + ' | ' - ' )? ( None_value | All_value | ' DESTROYED' | ' CAN_ATTACK' | ' UNDER_CONSTRUCTION' | ' UNSELECTABLE' | ' NO_COLLISIONS' | ' NO_ATTACK' | ' AIRBORNE_TARGET' | ' PARACHUTING' | ' REPULSOR' | ' HIJACKED' | ' AFLAME' | ' BURNED' | ' WET' | ' IS_FIRING_WEAPON' | ' IS_BRAKING' | ' STEALTHED' | ' DETECTED' | ' CAN_STEALTH' | ' SOLD' | ' UNDERGOING_REPAIR' | ' RECONSTRUCTING' | ' MASKED' | ' IS_ATTACKING' | ' USING_ABILITY' | ' IS_AIMING_WEAPON' | ' NO_ATTACK_FROM_AI' | ' IGNORING_STEALTH' | ' IS_CARBOMB' | ' DECK_HEIGHT_OFFSET' | ' STATUS_RIDER1' | ' STATUS_RIDER2' | ' STATUS_RIDER3' | ' STATUS_RIDER4' | ' STATUS_RIDER5' | ' STATUS_RIDER6' | ' STATUS_RIDER7' | ' STATUS_RIDER8' | ' FAERIE_FIRE' | ' KILLING_SELF' | ' REASSIGN_PARKING' | ' BOOBY_TRAPPED' | ' IMMOBILE' | ' DISGUISED' | ' DEPLOYED' );
42894289
42904290ocl_value : (ID | None_value);
42914291
@@ -4333,7 +4333,7 @@ Null_value: 'Null' | 'NULL';
43334333None_value : ' None' | ' NONE' | ' none' ;
43344334All_value : ' All' | ' ALL' | ' all' ;
43354335INT : DASH ? [0-9]+;
4336- FLOAT : DASH ? [0-9]* ' .' [0-9]+ ' f' ?;
4336+ FLOAT : DASH ? [0-9]* ' .' ( [0-9]+ ' f' ?) ?;
43374337PERCENT : (INT | FLOAT ) ' %' ;
43384338EQ : ' =' ;
43394339DASH : ' -' ;
@@ -4380,7 +4380,7 @@ BOOLEAN: 'Yes' | 'yes' | 'YES' | 'No' | 'no' | 'NO';
43804380STRING : ' "' ( ~[\\" \n\r ] | '\\ ' [\\ " ] )* ' "' ;
43814381ID : ([a-zA-Z_0 -9][a-zA-Z_0 -9%\-:]* | BOX );
43824382
4383- NEWLINE : ([\r]?[\n]);
4383+ NEWLINE : WS * ([\r]?[\n]);
43844384
43854385WS : [ \t]+;
43864386
0 commit comments