|
12 | 12 | "repository": { |
13 | 13 | "class": { |
14 | 14 | "patterns": [ |
| 15 | + {"include": "#damagefx-class"}, |
15 | 16 | {"include": "#fxlist-class"}, |
16 | 17 | {"include": "#particlesystem-class"}, |
17 | 18 | {"include": "#audio-class"}, |
|
29 | 30 | {"include": "#ocl-class"}, |
30 | 31 | {"include": "#mappedimage-class"}, |
31 | 32 | {"include": "#locomotor-class"}, |
| 33 | + {"include": "#objectreskin-class"}, |
32 | 34 | {"include": "#object-class"} |
33 | 35 | ] |
34 | 36 | }, |
| 37 | + "damagefx-class": { |
| 38 | + "begin": "\\s*\\b([Dd]amage[Ff][Xx])\\s+([a-zA-Z]\\w+)", |
| 39 | + "beginCaptures": { |
| 40 | + "1": { |
| 41 | + "name": "keyword.control.ini" |
| 42 | + }, |
| 43 | + "2": { |
| 44 | + "name": "entity.name.type" |
| 45 | + } |
| 46 | + }, |
| 47 | + "end": "\\b([Ee]nd|END)\\s*", |
| 48 | + "endCaptures": { |
| 49 | + "1": { |
| 50 | + "name": "keyword.control.ini" |
| 51 | + } |
| 52 | + }, |
| 53 | + "patterns":[ |
| 54 | + { |
| 55 | + "include": "#assignment" |
| 56 | + }, |
| 57 | + { |
| 58 | + "include": "#inline-comment" |
| 59 | + } |
| 60 | + ] |
| 61 | + }, |
35 | 62 | "fxlist-class": { |
36 | 63 | "begin": "\\s*\\b([Ff][Xx][Ll]ist)\\s+([a-zA-Z]\\w+)", |
37 | 64 | "beginCaptures": { |
|
805 | 832 | } |
806 | 833 | ] |
807 | 834 | }, |
| 835 | + "objectreskin-class": { |
| 836 | + "begin": "\\s*\\b(ObjectReskin)\\s+([a-zA-Z]\\w+)\\s+([a-zA-Z]\\w+)", |
| 837 | + "beginCaptures": { |
| 838 | + "1": { |
| 839 | + "name": "keyword.control.ini" |
| 840 | + }, |
| 841 | + "2": { |
| 842 | + "name": "entity.name.type.ini" |
| 843 | + }, |
| 844 | + "3": { |
| 845 | + "name": "entity.name.type.ini" |
| 846 | + } |
| 847 | + }, |
| 848 | + "end": "\\s*\\b([Ee]nd|END)", |
| 849 | + "endCaptures": { |
| 850 | + "1": { |
| 851 | + "name": "keyword.control.ini" |
| 852 | + } |
| 853 | + }, |
| 854 | + "patterns": [ |
| 855 | + { |
| 856 | + "include": "#Object-WeaponSet" |
| 857 | + }, |
| 858 | + { |
| 859 | + "include": "#Object-ArmorSet" |
| 860 | + }, |
| 861 | + { |
| 862 | + "include": "#Object-Prerequisites" |
| 863 | + }, |
| 864 | + { |
| 865 | + "include": "#UnitSpecificSounds" |
| 866 | + }, |
| 867 | + { |
| 868 | + "include": "#UnitSpecificFX" |
| 869 | + }, |
| 870 | + { |
| 871 | + "include": "#modules" |
| 872 | + }, |
| 873 | + { |
| 874 | + "include": "#AddModule-block" |
| 875 | + }, |
| 876 | + { |
| 877 | + "include": "#inline-removemodule" |
| 878 | + }, |
| 879 | + { |
| 880 | + "include": "#assignment" |
| 881 | + }, |
| 882 | + { |
| 883 | + "include": "#inline-comment" |
| 884 | + } |
| 885 | + ] |
| 886 | + }, |
808 | 887 | "object-class": { |
809 | 888 | "begin": "\\s*\\b(Object)\\s+([a-zA-Z]\\w+)", |
810 | 889 | "beginCaptures": { |
|
1118 | 1197 | { |
1119 | 1198 | "include": "#behavior-turret" |
1120 | 1199 | }, |
| 1200 | + { |
| 1201 | + "include": "#behavior-altturret" |
| 1202 | + }, |
1121 | 1203 | { |
1122 | 1204 | "include": "#behavior-attackareadecal" |
1123 | 1205 | }, |
|
1160 | 1242 | } |
1161 | 1243 | ] |
1162 | 1244 | }, |
| 1245 | + "behavior-altturret": { |
| 1246 | + "begin": "\\s*\\b(AltTurret)\\b", |
| 1247 | + "beginCaptures": { |
| 1248 | + "1": { |
| 1249 | + "name": "keyword.control.ini" |
| 1250 | + } |
| 1251 | + }, |
| 1252 | + "end": "\\s*\\b([Ee]nd|END)", |
| 1253 | + "endCaptures": { |
| 1254 | + "1": { |
| 1255 | + "name": "keyword.control.ini" |
| 1256 | + } |
| 1257 | + }, |
| 1258 | + "patterns": [ |
| 1259 | + { |
| 1260 | + "include": "#weapon-types-turret" |
| 1261 | + }, |
| 1262 | + { |
| 1263 | + "include": "#assignment" |
| 1264 | + }, |
| 1265 | + { |
| 1266 | + "include": "#inline-comment" |
| 1267 | + } |
| 1268 | + ] |
| 1269 | + }, |
1163 | 1270 | "behavior-attackareadecal": { |
1164 | 1271 | "begin": "\\s*\\b(AttackAreaDecal)\\b", |
1165 | 1272 | "beginCaptures": { |
|
1343 | 1450 | }, |
1344 | 1451 | "patterns": [ |
1345 | 1452 | { |
1346 | | - "match": "\\b(NONE|USER_1|USER_2|JAMMED|ATTACKING|WEAPONSET_CRATEUPGRADE_ONE|WEAPONSET_CRATEUPGRADE_TWO|ARMORSET_CRATEUPGRADE_TWO|ARMORSET_CRATEUPGRADE_ONE|PREORDER|STUNNED|STUNNED_FLAILING|EXPLODED_BOUNCING|EXPLODED_FLAILING|CAPTURED|RAISING_FLAG|CONTINUOUS_FIRE_SLOW|CONTINUOUS_FIRE_FAST|CONTINUOUS_FIRE_MEAN|SPECIAL_CHEERING|ARMED|RAPELLING|PARACHUTING|CLIMBING|SPLATTED|BURNED|AFLAME|SMOLDERING|POWER_PLANT_UPGRADING|POWER_PLANT_UPGRADED|OVER_WATER|MOVING|DEPLOYED|UNPACKING|PACKING|JETEXHAUST|JETAFTERBURNER|LOADED|CARRYING|DOCKING_ENDING|DOCKING_ACTIVE|DOCKING_BEGINNING|DOCKING|PANICKING|RADAR_UPGRADED|RADAR_EXTENDED|CONSTRUCTION_COMPLETE|ACTIVELY_CONSTRUCTING|ACTIVELY_BEING_CONSTRUCTED|PARTIALLY_CONSTRUCTED|AWAITING_CONSTRUCTION|DYING|PRONE|FREEFALL|POST_COLLAPSE|TOPPLED|TURRET_ROTATE|RELOADING_A|BETWEEN_FIRING_SHOTS_A|FIRING_A|PREATTACK_A|USING_WEAPON_A|RELOADING_B|BETWEEN_FIRING_SHOTS_B|FIRING_B|PREATTACK_B|USING_WEAPON_B|RELOADING_C|BETWEEN_FIRING_SHOTS_C|FIRING_C|PREATTACK_C|USING_WEAPON_C|DOOR_4_WAITING_TO_CLOSE|DOOR_4_WAITING_OPEN|DOOR_4_CLOSING|DOOR_4_OPENING|DOOR_3_WAITING_TO_CLOSE|DOOR_3_WAITING_OPEN|DOOR_3_CLOSING|DOOR_3_OPENING|DOOR_2_WAITING_TO_CLOSE|DOOR_2_WAITING_OPEN|DOOR_2_CLOSING|DOOR_2_OPENING|DOOR_1_WAITING_TO_CLOSE|DOOR_1_WAITING_OPEN|DOOR_1_CLOSING|DOOR_1_OPENING|WEAPONSET_PLAYER_UPGRADE|WEAPONSET_HERO|WEAPONSET_ELITE|WEAPONSET_VETERAN|ENEMYNEAR|REALLYDAMAGED|RUBBLE|DAMAGED|SNOW|SOLD|DISGUISED|NIGHT|SPECIAL_DAMAGED|BACKCRUSHED|FRONTCRUSHED|SECOND_LIFE|RIDER1|RIDER2|RIDER3|RIDER4|RIDER5|RIDER6|RIDER7|RIDER8|PRISTINE|RIGHT_TO_CENTER|CENTER_TO_RIGHT|LEFT_TO_CENTER|CENTER_TO_LEFT)+", |
| 1453 | + "match": "\\b(NONE|USER_1|USER_2|JAMMED|ATTACKING|WEAPONSET_CRATEUPGRADE_ONE|WEAPONSET_CRATEUPGRADE_TWO|ARMORSET_CRATEUPGRADE_TWO|ARMORSET_CRATEUPGRADE_ONE|PREORDER|STUNNED|STUNNED_FLAILING|EXPLODED_BOUNCING|EXPLODED_FLAILING|CAPTURED|RAISING_FLAG|CONTINUOUS_FIRE_SLOW|CONTINUOUS_FIRE_FAST|CONTINUOUS_FIRE_MEAN|SPECIAL_CHEERING|ARMED|RAPELLING|PARACHUTING|CLIMBING|SPLATTED|BURNED|AFLAME|SMOLDERING|POWER_PLANT_UPGRADING|POWER_PLANT_UPGRADED|OVER_WATER|MOVING|DEPLOYED|UNPACKING|PACKING|JETEXHAUST|JETAFTERBURNER|LOADED|CARRYING|DOCKING_ENDING|DOCKING_ACTIVE|DOCKING_BEGINNING|DOCKING|PANICKING|RADAR_UPGRADED|RADAR_EXTENDED|CONSTRUCTION_COMPLETE|ACTIVELY_CONSTRUCTING|ACTIVELY_BEING_CONSTRUCTED|PARTIALLY_CONSTRUCTED|AWAITING_CONSTRUCTION|DYING|PRONE|FREEFALL|POST_COLLAPSE|TOPPLED|TURRET_ROTATE|RELOADING_A|BETWEEN_FIRING_SHOTS_A|FIRING_A|PREATTACK_A|USING_WEAPON_A|RELOADING_B|BETWEEN_FIRING_SHOTS_B|FIRING_B|PREATTACK_B|USING_WEAPON_B|RELOADING_C|BETWEEN_FIRING_SHOTS_C|FIRING_C|PREATTACK_C|USING_WEAPON_C|DOOR_4_WAITING_TO_CLOSE|DOOR_4_WAITING_OPEN|DOOR_4_CLOSING|DOOR_4_OPENING|DOOR_3_WAITING_TO_CLOSE|DOOR_3_WAITING_OPEN|DOOR_3_CLOSING|DOOR_3_OPENING|DOOR_2_WAITING_TO_CLOSE|DOOR_2_WAITING_OPEN|DOOR_2_CLOSING|DOOR_2_OPENING|DOOR_1_WAITING_TO_CLOSE|DOOR_1_WAITING_OPEN|DOOR_1_CLOSING|DOOR_1_OPENING|WEAPONSET_PLAYER_UPGRADE|WEAPONSET_HERO|WEAPONSET_ELITE|WEAPONSET_VETERAN|ENEMYNEAR|REALLYDAMAGED|RUBBLE|DAMAGED|SNOW|SOLD|DISGUISED|NIGHT|SPECIAL_DAMAGED|BACKCRUSHED|FRONTCRUSHED|SECOND_LIFE|RIDER1|RIDER2|RIDER3|RIDER4|RIDER5|RIDER6|RIDER7|RIDER8|PRISTINE|RIGHT_TO_CENTER|CENTER_TO_RIGHT|LEFT_TO_CENTER|CENTER_TO_LEFT|[Nn]one|[Uu]ser_1|[Uu]ser_2|[Jj]ammed|[Aa]ttacking|[Ww]eaponset_[Cc]rateupgrade_[Oo]ne|[Ww]eaponset_[Cc]rateupgrade_[Tt]wo|[Aa]rmorset_[Cc]rateupgrade_[Tt]wo|[Aa]rmorset_[Cc]rateupgrade_[Oo]ne|[Pp]reorder|[Ss]tunned|[Ss]tunned_[Ff]lailing|[Ee]xploded_[Bb]ouncing|[Ee]xploded_[Ff]lailing|[Cc]aptured|[Rr]aising_[Ff]lag|[Cc]ontinuous_[Ff]ire_[Ss]low|[Cc]ontinuous_[Ff]ire_[Ff]ast|[Cc]ontinuous_[Ff]ire_[Mm]ean|[Ss]pecial_[Cc]heering|[Aa]rmed|[Rr]apelling|[Pp]arachuting|[Cc]limbing|[Ss]platted|[Bb]urned|[Aa]flame|[Ss]moldering|[Pp]ower_[Pp]lant_[Uu]pgrading|[Pp]ower_[Pp]lant_[Uu]pgraded|[Oo]ver_[Ww]ater|[Mm]oving|[Dd]eployed|[Uu]npacking|[Pp]acking|[Jj]etexhaust|[Jj]etafterburner|[Ll]oaded|[Cc]arrying|[Dd]ocking_[Ee]nding|[Dd]ocking_[Aa]ctive|[Dd]ocking_[Bb]eginning|[Dd]ocking|[Pp]anicking|[Rr]adar_[Uu]pgraded|[Rr]adar_[Ee]xtended|[Cc]onstruction_[Cc]omplete|[Aa]ctively_[Cc]onstructing|[Aa]ctively_[Bb]eing_[Cc]onstructed|[Pp]artially_[Cc]onstructed|[Aa]waiting_[Cc]onstruction|[Dd]ying|[Pp]rone|[Ff]reefall|[Pp]ost_[Cc]ollapse|[Tt]oppled|[Tt]urret_[Rr]otate|[Rr]eloading_[Aa]|[Bb]etween_[Ff]iring_[Ss]hots_[Aa]|[Ff]iring_[Aa]|[Pp]reattack_[Aa]|[Uu]sing_[Ww]eapon_[Aa]|[Rr]eloading_[Bb]|[Bb]etween_[Ff]iring_[Ss]hots_[Bb]|[Ff]iring_[Bb]|[Pp]reattack_[Bb]|[Uu]sing_[Ww]eapon_[Bb]|[Rr]eloading_[Cc]|[Bb]etween_[Ff]iring_[Ss]hots_[Cc]|[Ff]iring_[Cc]|[Pp]reattack_[Cc]|[Uu]sing_[Ww]eapon_[Cc]|[Dd]oor_4_[Ww]aiting_[Tt]o_[Cc]lose|[Dd]oor_4_[Ww]aiting_[Oo]pen|[Dd]oor_4_[Cc]losing|[Dd]oor_4_[Oo]pening|[Dd]oor_3_[Ww]aiting_to_[Cc]lose|[Dd]oor_3_[Ww]aiting_[Oo]pen|[Dd]oor_3_[Cc]losing|[Dd]oor_3_[Oo]pening|[Dd]oor_2_[Ww]aiting_[Tt]o_[Cc]lose|[Dd]oor_2_[Ww]aiting_[Oo]pen|[Dd]oor_2_[Cc]losing|[Dd]oor_2_[Oo]pening|[Dd]oor_1_[Ww]aiting_[Tt]o_[Cc]lose|[Dd]oor_1_[Ww]aiting_[Oo]pen|[Dd]oor_1_[Cc]losing|[Dd]oor_1_[Oo]pening|[Ww]eaponset_[Pp]layer_[Uu]pgrade|[Ww]eaponset_[Hh]ero|[Ww]eaponset_[Ee]lite|[Ww]eaponset_[Vv]eteran|[Ee]nemynear|[Rr]eally[Dd]amaged|[Rr]ubble|[Dd]amaged|[Ss]now|[Ss]old|[Dd]isguised|[Nn]ight|[Ss]pecial_[Dd]amaged|[Bb]ack[Cc]rushed|[Ff]ront[Cc]rushed|[Ss]econd_[Ll]ife|[Rr]ider1|[Rr]ider2|[Rr]ider3|[Rr]ider4|[Rr]ider5|[Rr]ider6|[Rr]ider7|[Rr]ider8|[Pp]ristine|[Rr]ight_[Tt]o_[Cc]enter|[Cc]enter_[Tt]o_[Rr]ight|[Ll]eft_[Tt]o_[Cc]enter|[Cc]enter_[Tt]o_[Ll]eft)+", |
1347 | 1454 | "name": "variable.other.constant.ini" |
1348 | 1455 | }, |
1349 | 1456 | { |
|
1462 | 1569 | "include": "#boolean" |
1463 | 1570 | }, |
1464 | 1571 | { |
1465 | | - "include": "#string" |
| 1572 | + "include": "#numbers" |
1466 | 1573 | }, |
1467 | 1574 | { |
1468 | | - "include": "#doublequoted-strings" |
| 1575 | + "include": "#string" |
1469 | 1576 | }, |
1470 | 1577 | { |
1471 | | - "include": "#numbers" |
| 1578 | + "include": "#doublequoted-strings" |
1472 | 1579 | }, |
1473 | 1580 | { |
1474 | 1581 | "include": "#inline-comment" |
|
1546 | 1653 | ] |
1547 | 1654 | }, |
1548 | 1655 | "numbers": { |
1549 | | - "begin": "(^[ \\t]+)?(?=-?\\d)", |
| 1656 | + "begin": "(^[ \\t]+)?(?=(-|\\.){0,2}\\d)", |
1550 | 1657 | "beginCaptures": { |
1551 | 1658 | "1": { |
1552 | 1659 | "name": "punctuation.whitespace.ini" |
|
1560 | 1667 | ] |
1561 | 1668 | }, |
1562 | 1669 | "double": { |
1563 | | - "match": "-?\\d[\\.\\d%fF]*( \\d[\\.\\d%fF]*)*", |
| 1670 | + "match": "-?( |\\d+\\.|\\.|\\d+|\\d+\\.\\d+|0|%)+", |
1564 | 1671 | "name": "constant.numeric.ini" |
1565 | 1672 | }, |
1566 | 1673 | "boolean": { |
|
0 commit comments