SC2Mapster Wiki/Understand the Meta Concept of Data Editor (A Good Starting Point)
(Work In progress)
- 1 Introduction
- 2 Intractables
- 2.1 Data Tree Initiators
- 2.2 Linking Data Tree Branches
- 2.3 Data Tree Terminal Effectors
- 2.4 Referencing Data Tree Ancestors
- 2.5 Restrictions, Logic, Validators and Requirements
- 2.6 The Sounds and Visuals (Eye Candy)
- 2.7 Moving Units and Missiles
- 3 Environment
- 4 Starting Points For Making The Data Portion Of A Map
- 5 Additional
- 5.1 Items, Loot and Carrying It
- 5.2 Upgrades, Research and Catalog Triggers
- 5.3 Pathing and Footprints
- 5.4 Attacking, Weapons and Turrets
- 5.5 Creating Units
- 5.6 Resources
- 5.7 Veterancy, Heroes, Learning Skills and Revival
- 5.8 Converting One Unit Into Another
- 5.9 Transporting Units
- 5.10 Creep
- 5.11 Races and Gameplay Variants
- 6 Campaign Data Types and Triggers Galore
- 7 UI
- 8 Data Type Interaction Map (WIP)
- 9 Detailed Interaction Map (WIP)
The data editor consists of different data types organized into tabs that are clustered into groups with vaguely similar uses. Some data types can only have variations performing the same primary function while others have many subtypes performing different functions. Most data types interact with each other and the interaction can be unidirectional or bidirectional. Some data objects that are rarely edited like the various properties of creep have data types affecting it with no mutual interactions or hierarchy that are scattered throughout the tab groups. Other data objects such as those affecting the cliffs and terrain textures with associated meshes and foliage follow a branched unidirectional linear hierarchy from the Terrain Types data type and are mostly under the Terrain Data tab group.
The data types most influential to the gameplay experience, in the form of Units that are interacted with by the player and the various active or passive functions associated with them, have no defined hierarchy but can be catenated indefinitely with the occasional Actor branching off to give a visual or auditory perception of what is happening. These data types and subtypes can be compared to LEGO blocks (see picture) where each block has a distinct function but can be linked to any compatible block with the same or a different function according to the desires of the map maker.
Data Tree Initiators
Units are what you interact with in the game. Units can be preplaced or created using abilities, effects and triggers. They are capable of using abilities, behaviours and weapons which act as the start of data trees. Unless the unit is created by a few specific abilities, it is known as the caster for any data trees it uses.
Abilities are data tree initiators that use effects, apply behaviours, create units or cause the unit with the ability to interact with other units. Although some abilities are passive the majority are active and can be linked to a button in the command card where players can order them to be used (the Smart Command flag can allow use to be linked to mouse clicks). The unit needs to have the ability under the Ability: Abilities - Ability field in order to use it even if the ability is not linked to the command card. Ability use can be forced to be initiated by the Issue Order effect type but the caster of the ability effect tree is still known as the unit who used the ability and not the caster of the Issue Order effect, it can also use active abilities not linked to the command card. All units created by abilities are independent entities and known as their own casters that are in no way linked to the creating unit (with the excetion of the Arm Magazine ability). Abilities start data trees by using effects or applying behaviours and the majority of abilities have a field for their application. Details as to what each ability type does and what fields it has can be found under Abilities.
Behaviors are data tree initiators that use effects, apply weapons and turrets, modify units, behavior and ability use, modify UI, change ownership, link vitals of units, generate creep, enable jumping, give resources capacity, reveal parts of the map and force units to wander around. The unit needs to have the behavior under the Behavior: Behaviors - Behavior field or to have it applied by a Behavior type ability for the unit to be known as the caster. Effects used by weapons added through behaviors are not known as part of the effect tree. How behaviors initiate effect trees is through effects used when applied, refreshed, removed, periodically once applied or when the behavior expires. Behaviors are mostly used when passive, effect over time or buff/debuffs are needed. Details as to what each behavior type does and what fields it has can be found under Behaviors.
Weapons use effects to initiate data trees and require the Attack ability to be used. The unit firing the weapon is known as the caster. There are two kinds of weapon, legacy which makes the unit stand still and shoot and strafe which forces the unit to continue moving forward making it have to make multiple passes over a target. Weapons do not always have to target the attack target.
Triggers can apply effects and behaviors to targets/points. The casters for effects are known as the point the effect is applied at while for behaviors it is the unit.
Linking Data Tree Branches
Data Tree Terminal Effectors
Referencing Data Tree Ancestors
Restrictions, Logic, Validators and Requirements
The Sounds and Visuals (Eye Candy)
Moving Units and Missiles
Starting Points For Making The Data Portion Of A Map
Items, Loot and Carrying It
Upgrades, Research and Catalog Triggers
Pathing and Footprints
Attacking, Weapons and Turrets
Veterancy, Heroes, Learning Skills and Revival
Converting One Unit Into Another
Races and Gameplay Variants
Campaign Data Types and Triggers Galore
Data Type Interaction Map (WIP)
(list for pic under construction) Models=>Actors Models=-=>Turrets Models=>Terrain Textures Units<=>Abilities Abilities<=>Effects Effects<=>Units Abilities<=>Behaviors Abilities=>Weapons Abilities=>Movers Abilities=>Upgrades Abilities<=>Validators Abilities<=>Requirements Abilities=>Actors Abilities<=Item Classes Abilities=>Item Containers Abilities<=Buttons Behaviors<=>Units Behaviors<=>Validators Behaviors<=>Requirements Behaviors<=>Effects Behaviors=>Weapons Behaviors<=Herds Behaviors<=Sounds Behaviors=>Actors Behaviors=>Turrets Behaviors<=Footprints Behaviors<=Movers Effects=>Actors Effects<=Target Sorts Effects<=>Validators Effects<=Movers Footprints=>Actors Footprints=>Units Footprints=>Validators Items<=Units Items=>Behaviors Items=>Weapons Items=>Turrets Items=-=>Abilities Items=>Item Containers Items<=Item Classes Items<=Requirements Items=>Loot Loot=>Effects Loot<=>Units Loot<=-=Item Classes Movers=>Units Movers=>Validators Requirements=>Validators Requirements<=Units Requirements<=Upgrades Units<=Buttons Units=>Turrets Units=>Weapons Units=>Validators Upgrades=>Units Upgrades=>Behaviors Upgrades=>Actors Upgrades=>Buttons Upgrades=>Effects Upgrades=>Game UI Data Upgrades=>Item Containers Upgrades=>Target Finds Upgrades=>Weapons Validators<=-=Terrain Editor Validators<=-=Triggers Validators<=Weapons Weapons=>Effects Army Categories => Triggers Army Categories <= Units Army Categories <= Upgrades Army Categories => User Types Army Categories <= Abilities Army Categories <= Army Upgrades Army Units => Triggers Army Units <= Army Upgrades Army Units <= Textures Army Units <= Units Army Units <= Upgrades Army Units => User Types Army Upgrades => Triggers Army Upgrades <= Abilities Army Upgrades <= Textures Army Upgrades <= Upgrades Army Upgrades => User Types Bank Conditions => Triggers Bank Conditions <=-= All Data Types Characters <= Actors Characters <= Models Conversations <= Upgrades Conversations <= Sounds Conversations <=-= Cutscene Editor Conversations <= Characters Conversations => Triggers Conversations <= Conversation States Conversation States <= Abilities Conversation States <= Upgrades Conversation States <= Models Conversation States => Triggers Heroes => User Types Heroes <= Abilities Heroes <= Models Heroes => Triggers Hero Abilities <= Abilities Hero Abilities <= Upgrades Hero Abilities <= Maps Hero Abilities => User Types Hero Abilities => Triggers Hero Abilities <= Hero Statistics Hero Statistics => User Types Hero Statistics => Triggers Locations <= Sounds Locations <= Models Locations <= Actors Locations <=> Maps Locations => User Types Locations => Triggers Maps <= Army Categories Maps <= Actors Maps <= Models Maps <= Objectives Maps => User Types Maps => Triggers Objectives => Triggers Objectives => User Types Preload <= Units Preload <= Bank Conditions Preload <= Actors Preload <= Conversations Preload <= Models Preload <= Sounds Preload => Triggers Actors <= Attach Methods Actors <= Turrets Actors <= Sounds Triggers => Actors Movers => Actors Actors <= Validators Actors <= Textures Actors <= Terrain Textures Actors <= Weapons Actors <=-= Physics Materials Actors <= Cameras Actors <= Terrain Types Actors <= Herd Nodes Actors <= Text Editor Beams = ??? Digital Sound Effects => Terrain Types Reverb Effects => Terrain Types Lights => Triggers Lights => Terrain Types Soundtracks => Terrain Types Soundtracks => Triggers Terrain Cliffs <= Cliff Meshes Terrain Cliffs => Terrain Types Fog Of War Data => Map Properties Terrain Types <= Models Terrain Types <= Cameras Terrain Types <= Terrain Roads Terrain Types => Map Textures Terrain Types <= Terrain Textures Terrain Objects <= Terrain Cliffs Terrain Objects <= Footprints Terrain Objects <= Models Terrain Objects <= Terrain Types Terrain Textures <= Physics Materials Water <= Sounds Water <= Models Achievements <=> Achievement Terms Achievement Terms <= Validators Achievement Terms <= Abilities Achievement Terms <= Behaviors Achievement Terms <= Effects Achievement Terms <= Score Values Achievement Terms <= Units Alerts <= Models Alerts <= Sounds Gameplay Data <=> Behaviors Gameplay Data <=> Effects Gameplay Data <=> Units Gameplay Data <= Abilities Gameplay Data <= Sounds Gameplay Data => Map Bounds Game UI Data <= Sounds Game UI Data <= UI Game UI Data <= Text Editor Game UI Data => Actors Game UI Data => Weapons Herds <= Herd Nodes Item Containers <= Models Item Containers <= Item Classes Item Containers <= Buttons Item Containers <= Requirements Races <= Sounds Races <= Alerts Races <= Soundtracks Races <= Units Races => Units Races => Validators Races => Upgrades Requirement Nodes => Requirements Races => Rewards Rewards <= Upgrades Score Results <= Score Values Tactical AI Cooldown <= Abilities Tactical AI Cooldown <= Units Tactical AI Data <= Abilities Tactical AI Data <= Target Sorts Tactical AI Data <= Validators Target Finds <= Validators Target Finds <= Effects Target Finds <= Target Sorts Target Finds <= Abilities Target Sorts <= Effects Target Sorts <= Units Target Sorts <= Behaviors Target Sorts <= Abilities User Types <= Abilities User Types <= Actors User Types <= Models User Types <= Upgrades Actors <= UI