github.com/loomnetwork/gamechain@v0.0.0-20200406110549-36c47eb97a92/types/zb/zb_enums/zb_enums.proto (about) 1 syntax = "proto3"; 2 3 option csharp_namespace = "Loom.ZombieBattleground.Protobuf"; 4 5 import "github.com/gogo/protobuf/gogoproto/gogo.proto"; 6 7 message CardVariant { 8 enum Enum { 9 Standard = 0; 10 Backer = 1; 11 Limited = 2; 12 Binance = 3; 13 Tron = 4; 14 } 15 } 16 17 message CardSet { 18 enum Enum { 19 Undefined = 0; 20 Season1 = 1; 21 Season2 = 2; 22 Season3 = 3; 23 KickstarterExclusive = 4; 24 } 25 } 26 27 message CardKind { 28 enum Enum { 29 UNDEFINED = 0 [(gogoproto.enumvalue_customname) = "Undefined"]; 30 CREATURE = 1 [(gogoproto.enumvalue_customname) = "Creature"]; 31 ITEM = 2 [(gogoproto.enumvalue_customname) = "Item"]; 32 } 33 } 34 35 message CreatureRank { 36 enum Enum { 37 UNDEFINED = 0 [(gogoproto.enumvalue_customname) = "Undefined"]; 38 MINION = 1 [(gogoproto.enumvalue_customname) = "Minion"]; 39 OFFICER = 2 [(gogoproto.enumvalue_customname) = "Officer"]; 40 COMMANDER = 3 [(gogoproto.enumvalue_customname) = "Commander"]; 41 GENERAL = 4 [(gogoproto.enumvalue_customname) = "General"]; 42 } 43 } 44 45 message CardType { 46 enum Enum { 47 Undefined = 0 [(gogoproto.enumvalue_customname) = "Undefined"]; 48 WALKER = 1 [(gogoproto.enumvalue_customname) = "Walker"]; 49 FERAL = 2 [(gogoproto.enumvalue_customname) = "Feral"]; 50 HEAVY = 3 [(gogoproto.enumvalue_customname) = "Heavy"]; 51 } 52 } 53 54 message Faction { 55 enum Enum { 56 NONE = 0 [(gogoproto.enumvalue_customname) = "None"]; 57 FIRE = 1 [(gogoproto.enumvalue_customname) = "Fire"]; 58 WATER = 2 [(gogoproto.enumvalue_customname) = "Water"]; 59 EARTH = 3 [(gogoproto.enumvalue_customname) = "Earth"]; 60 AIR = 4 [(gogoproto.enumvalue_customname) = "Air"]; 61 LIFE = 5 [(gogoproto.enumvalue_customname) = "Life"]; 62 TOXIC = 6 [(gogoproto.enumvalue_customname) = "Toxic"]; 63 ITEM = 7 [(gogoproto.enumvalue_customname) = "Item"]; 64 OTHERS = 8 [(gogoproto.enumvalue_customname) = "Others"]; 65 } 66 } 67 68 message UniqueAnimation 69 { 70 enum Enum { 71 None = 0; 72 ShammannArrival = 1; 73 ZVirusArrival = 2; 74 ZeuzArrival = 3; 75 CerberusArrival = 4; 76 TzunamyArrival = 5; 77 ChernoBillArrival = 6; 78 MountainArrival = 7; 79 GargantuaArrival = 8; 80 BlizzardArrival = 9; 81 GoozillaArrival = 10; 82 VortexArrival = 11; 83 } 84 } 85 86 message Target { 87 enum Enum { 88 NONE = 0 [(gogoproto.enumvalue_customname) = "None"]; 89 PLAYER = 1 [(gogoproto.enumvalue_customname) = "Player"]; 90 PLAYER_CARD = 2 [(gogoproto.enumvalue_customname) = "PlayerCard"]; 91 PLAYER_ALL_CARDS = 3 [(gogoproto.enumvalue_customname) = "PlayerAllCards"]; 92 OPPONENT = 4 [(gogoproto.enumvalue_customname) = "Opponent"]; 93 OPPONENT_CARD = 5 [(gogoproto.enumvalue_customname) = "OpponentCard"]; 94 OPPONENT_ALL_CARDS = 6 [(gogoproto.enumvalue_customname) = "OpponentAllCards"]; 95 ALL_CARDS = 7 [(gogoproto.enumvalue_customname) = "AllCards"]; 96 ALL = 8 [(gogoproto.enumvalue_customname) = "All"]; 97 ITSELF = 9 [(gogoproto.enumvalue_customname) = "Itself"]; 98 } 99 } 100 101 message SkillTarget { 102 enum Enum { 103 NONE = 0 [(gogoproto.enumvalue_customname) = "None"]; 104 PLAYER = 1 [(gogoproto.enumvalue_customname) = "Player"]; 105 PLAYER_CARD = 2 [(gogoproto.enumvalue_customname) = "PlayerCard"]; 106 PLAYER_ALL_CARDS = 3 [(gogoproto.enumvalue_customname) = "PlayerAllCards"]; 107 OPPONENT = 4 [(gogoproto.enumvalue_customname) = "Opponent"]; 108 OPPONENT_CARD = 5 [(gogoproto.enumvalue_customname) = "OpponentCard"]; 109 OPPONENT_ALL_CARDS = 6 [(gogoproto.enumvalue_customname) = "OpponentAllCards"]; 110 ALL_CARDS = 7 [(gogoproto.enumvalue_customname) = "AllCards"]; 111 } 112 } 113 114 message GameMechanicDescription 115 { 116 enum Enum { 117 UNDEFINED = 0 [(gogoproto.enumvalue_customname) = "Undefined"]; 118 ATTACK = 1 [(gogoproto.enumvalue_customname) = "Attack"]; 119 DEATH = 2 [(gogoproto.enumvalue_customname) = "Death"]; 120 DELAYED = 3 [(gogoproto.enumvalue_customname) = "DelayedX"]; 121 DESTROY = 4 [(gogoproto.enumvalue_customname) = "Destroy"]; 122 DEVOUR = 5 [(gogoproto.enumvalue_customname) = "Devour"]; 123 DISTRACT = 6 [(gogoproto.enumvalue_customname) = "Distract"]; 124 END = 7 [(gogoproto.enumvalue_customname) = "End"]; 125 ENTRY = 8 [(gogoproto.enumvalue_customname) = "Entry"]; 126 FERAL = 9 [(gogoproto.enumvalue_customname) = "Feral"]; 127 FLASH = 10 [(gogoproto.enumvalue_customname) = "Flash"]; 128 FREEZE = 11 [(gogoproto.enumvalue_customname) = "Freeze"]; 129 GUARD = 12 [(gogoproto.enumvalue_customname) = "Guard"]; 130 HEAVY = 13 [(gogoproto.enumvalue_customname) = "Heavy"]; 131 OVERFLOW = 14 [(gogoproto.enumvalue_customname) = "OverflowX"]; 132 RAGE = 15 [(gogoproto.enumvalue_customname) = "RageX"]; 133 REANIMATE = 16 [(gogoproto.enumvalue_customname) = "Reanimate"]; 134 SHATTER = 17 [(gogoproto.enumvalue_customname) = "Shatter"]; 135 SWING = 18 [(gogoproto.enumvalue_customname) = "SwingX"]; 136 TURN = 19 [(gogoproto.enumvalue_customname) = "Turn"]; 137 GOT_DAMAGE = 20 [(gogoproto.enumvalue_customname) = "GotDamage"]; 138 AT_DEFENSE = 21 [(gogoproto.enumvalue_customname) = "AtDefense"]; 139 IN_HAND = 22 [(gogoproto.enumvalue_customname) = "InHand"]; 140 KILL_UNIT = 23 [(gogoproto.enumvalue_customname) = "KillUnit"]; 141 PERMANENT = 24 [(gogoproto.enumvalue_customname) = "Permanent"]; 142 BLITZ = 25 [(gogoproto.enumvalue_customname) = "Blitz"]; 143 RESTORE = 26 [(gogoproto.enumvalue_customname) = "Restore"]; 144 CHAINSAW = 27 [(gogoproto.enumvalue_customname) = "Chainsaw"]; 145 SUPER_SERUM = 28 [(gogoproto.enumvalue_customname) = "SuperSerum"]; 146 AURA = 29 [(gogoproto.enumvalue_customname) = "Aura"]; 147 } 148 } 149 150 message AttackRestriction { 151 enum Enum { 152 ANY = 0 [(gogoproto.enumvalue_customname) = "ANY"]; 153 ONLY_DIFFERENT = 1 [(gogoproto.enumvalue_customname) = "OnlyNotAttackedByThisUnitInThisTurn"]; 154 } 155 } 156 157 message CardAbilityBuffType { 158 enum Enum { 159 NONE = 0 [(gogoproto.enumvalue_customname) = "None"]; 160 GUARD = 1 [(gogoproto.enumvalue_customname) = "Guard"]; 161 DEFENCE = 2 [(gogoproto.enumvalue_customname) = "Defence"]; 162 HEAVY = 3 [(gogoproto.enumvalue_customname) = "Heavy"]; 163 WEAPON = 4 [(gogoproto.enumvalue_customname) = "Weapon"]; 164 RUSH = 5 [(gogoproto.enumvalue_customname) = "Rush"]; 165 ATTACK = 6 [(gogoproto.enumvalue_customname) = "Attack"]; 166 FREEZE = 7 [(gogoproto.enumvalue_customname) = "Freeze"]; 167 DAMAGE = 8 [(gogoproto.enumvalue_customname) = "Damage"]; 168 HEAL_ALLY = 9 [(gogoproto.enumvalue_customname) = "HealAlly"]; 169 DESTROY = 10 [(gogoproto.enumvalue_customname) = "Destroy"]; 170 REANIMATE = 11 [(gogoproto.enumvalue_customname) = "Reanimate"]; 171 } 172 } 173 174 message AbilityActivity { 175 enum Enum { 176 UNDEFINED = 0 [(gogoproto.enumvalue_customname) = "Undefined"]; 177 PASSIVE = 1 [(gogoproto.enumvalue_customname) = "Passive"]; 178 ACTIVE = 2 [(gogoproto.enumvalue_customname) = "Active"]; 179 } 180 } 181 182 message AbilityTrigger { 183 enum Enum { 184 UNDEFINED = 0 [(gogoproto.enumvalue_customname) = "Undefined"]; 185 TURN = 1 [(gogoproto.enumvalue_customname) = "Turn"]; 186 ENTRY = 2 [(gogoproto.enumvalue_customname) = "Entry"]; 187 END = 3 [(gogoproto.enumvalue_customname) = "End"]; 188 ATTACK = 4 [(gogoproto.enumvalue_customname) = "Attack"]; 189 DEATH = 5 [(gogoproto.enumvalue_customname) = "Death"]; 190 PERMANENT = 6 [(gogoproto.enumvalue_customname) = "Permanent"]; 191 GOT_DAMAGE = 7 [(gogoproto.enumvalue_customname) = "GotDamage"]; 192 AT_DEFENCE = 8 [(gogoproto.enumvalue_customname) = "AtDefence"]; 193 IN_HAND = 9 [(gogoproto.enumvalue_customname) = "InHand"]; 194 KILL_UNIT = 10 [(gogoproto.enumvalue_customname) = "KillUnit"]; 195 RAGE = 11 [(gogoproto.enumvalue_customname) = "Rage"]; 196 AURA = 12 [(gogoproto.enumvalue_customname) = "Aura"]; 197 } 198 } 199 200 message AbilityEffect { 201 enum Enum { 202 NONE = 0 [(gogoproto.enumvalue_customname) = "None"]; 203 MASSIVE_WATER_WAVE = 1 [(gogoproto.enumvalue_customname) = "MassiveWaterWave"]; 204 MASSIVE_FIRE = 2 [(gogoproto.enumvalue_customname) = "MassiveFire"]; 205 MASSIVE_LIGHTNING = 3 [(gogoproto.enumvalue_customname) = "MassiveLightning"]; 206 MASSIVE_TOXIC_ALL = 4 [(gogoproto.enumvalue_customname) = "MassiveToxicAll"]; 207 TARGET_ROCK = 5 [(gogoproto.enumvalue_customname) = "TargetRock"]; 208 TARGET_FIRE = 6 [(gogoproto.enumvalue_customname) = "TargetFire"]; 209 TARGET_LIFE = 7 [(gogoproto.enumvalue_customname) = "TargetLife"]; 210 TARGET_TOXIC = 8 [(gogoproto.enumvalue_customname) = "TargetToxic"]; 211 TARGET_WATER = 9 [(gogoproto.enumvalue_customname) = "TargetWater"]; 212 TARGET_ADJUSTMENTS_BOMB = 10 [(gogoproto.enumvalue_customname) = "TargetAdjustmentsBomb"]; 213 STUN_FREEZES = 11 [(gogoproto.enumvalue_customname) = "StunFreezes"]; 214 STUN_OR_DAMAGE_FREEZES = 12 [(gogoproto.enumvalue_customname) = "StunOrDamageFreezes"]; 215 TARGET_ADJUSTMENTS_AIR = 13 [(gogoproto.enumvalue_customname) = "TargetAdjustmentsAir"]; 216 HEAL_DIRECTLY = 14 [(gogoproto.enumvalue_customname) = "HealDirectly"]; 217 HEAL = 15 [(gogoproto.enumvalue_customname) = "Heal"]; 218 } 219 } 220 221 message AbilityType { 222 enum Enum { 223 UNDEFINED = 0 [(gogoproto.enumvalue_customname) = "Undefined"]; 224 HEAL = 1 [(gogoproto.enumvalue_customname) = "Heal"]; 225 MODIFICATOR_STATS = 2 [(gogoproto.enumvalue_customname) = "ModificatorStats"]; 226 CHANGE_STAT = 3 [(gogoproto.enumvalue_customname) = "ChangeStat"]; 227 STUN = 4 [(gogoproto.enumvalue_customname) = "Stun"]; 228 STUN_OR_DAMAGE_ADJUSTMENTS = 5 [(gogoproto.enumvalue_customname) = "StunOrDamageAdjustments"]; 229 SPURT = 6 [(gogoproto.enumvalue_customname) = "Spurt"]; 230 ADD_GOO_VIAL = 7 [(gogoproto.enumvalue_customname) = "AddGooVial"]; 231 ADD_GOO_CARRIER = 8 [(gogoproto.enumvalue_customname) = "AddGooCarrier"]; 232 DOT = 9 [(gogoproto.enumvalue_customname) = "Dot"]; 233 SUMMON = 10 [(gogoproto.enumvalue_customname) = "Summon"]; 234 SPELL_ATTACK = 11 [(gogoproto.enumvalue_customname) = "SpellAttack"]; 235 MASSIVE_DAMAGE = 12 [(gogoproto.enumvalue_customname) = "MassiveDamage"]; 236 DAMAGE_TARGET_ADJUSTMENTS = 13 [(gogoproto.enumvalue_customname) = "DamageTargetAdjustments"]; 237 DAMAGE_TARGET = 14 [(gogoproto.enumvalue_customname) = "DamageTarget"]; 238 CARD_RETURN = 15 [(gogoproto.enumvalue_customname) = "CardReturn"]; 239 WEAPON = 16 [(gogoproto.enumvalue_customname) = "Weapon"]; 240 CHANGE_STAT_OF_CREATURES_BY_TYPE = 17 [(gogoproto.enumvalue_customname) = "ChangeStatOfCreaturesByType"]; 241 ATTACK_NUMBER_OF_TIMES_PER_TURN = 18 [(gogoproto.enumvalue_customname) = "AttackNumberOfTimesPerTurn"]; 242 DRAW_CARD = 19 [(gogoproto.enumvalue_customname) = "DrawCard"]; 243 DEVOUR_ZOMBIES_AND_COMBINE_STATS = 20 [(gogoproto.enumvalue_customname) = "DevourZombiesAndCombineStats"]; 244 DESTROY_UNIT_BY_TYPE = 21 [(gogoproto.enumvalue_customname) = "DestroyUnitByType"]; 245 LOWER_COST_OF_CARD_IN_HAND = 22 [(gogoproto.enumvalue_customname) = "LowerCostOfCardInHand"]; 246 OVERFLOW_GOO = 23 [(gogoproto.enumvalue_customname) = "OverflowGoo"]; 247 LOSE_GOO = 24 [(gogoproto.enumvalue_customname) = "LoseGoo"]; 248 DISABLE_NEXT_TURN_GOO = 25 [(gogoproto.enumvalue_customname) = "DisableNextTurnGoo"]; 249 RAGE = 26 [(gogoproto.enumvalue_customname) = "Rage"]; 250 FREEZE_UNITS = 27 [(gogoproto.enumvalue_customname) = "FreezeUnits"]; 251 TAKE_DAMAGE_RANDOM_ENEMY = 28 [(gogoproto.enumvalue_customname) = "TakeDamageRandomEnemy"]; 252 TAKE_CONTROL_ENEMY_UNIT = 29 [(gogoproto.enumvalue_customname) = "TakeControlEnemyUnit"]; 253 GUARD = 30 [(gogoproto.enumvalue_customname) = "Guard"]; 254 DESTROY_FROZEN_UNIT = 31 [(gogoproto.enumvalue_customname) = "DestroyFrozenUnit"]; 255 USE_ALL_GOO_TO_INCREASE_STATS = 32 [(gogoproto.enumvalue_customname) = "UseAllGooToIncreaseStats"]; 256 FIRST_UNIT_IN_PLAY = 33 [(gogoproto.enumvalue_customname) = "FirstUnitInPlay"]; 257 ALLY_UNITS_OF_TYPE_IN_PLAY_GET_STATS = 34 [(gogoproto.enumvalue_customname) = "AllyUnitsOfTypeInPlayGetStats"]; 258 DAMAGE_ENEMY_UNITS_AND_FREEZE_THEM = 35 [(gogoproto.enumvalue_customname) = "DamageEnemyUnitsAndFreezeThem"]; 259 RETURN_UNITS_ON_BOARD_TO_OWNERS_DECKS = 36 [(gogoproto.enumvalue_customname) = "ReturnUnitsOnBoardToOwnersDecks"]; 260 TAKE_UNIT_TYPE_TO_ADJACENT_ALLY_UNITS = 37 [(gogoproto.enumvalue_customname) = "TakeUnitTypeToAdjacentAllyUnits"]; 261 ENEMY_THAT_ATTACKS_BECOME_FROZEN = 38 [(gogoproto.enumvalue_customname) = "EnemyThatAttacksBecomeFrozen"]; 262 TAKE_UNIT_TYPE_TO_ALLY_UNIT = 39 [(gogoproto.enumvalue_customname) = "TakeUnitTypeToAllyUnit"]; 263 REVIVE_DIED_UNITS_OF_TYPE_FROM_MATCH = 40 [(gogoproto.enumvalue_customname) = "ReviveDiedUnitsOfTypeFromMatch"]; 264 CHANGE_STAT_UNTILL_END_OF_TURN = 41 [(gogoproto.enumvalue_customname) = "ChangeStatUntilEndOfTurn"]; 265 ATTACK_OVERLORD = 42 [(gogoproto.enumvalue_customname) = "AttackOverlord"]; 266 ADJACENT_UNITS_GET_HEAVY = 43 [(gogoproto.enumvalue_customname) = "AdjacentUnitsGetHeavy"]; 267 FREEZE_NUMBER_OF_RANDOM_ALLY = 44 [(gogoproto.enumvalue_customname) = "FreezeNumberOfRandomAlly"]; 268 ADD_CARD_BY_NAME_TO_HAND = 45 [(gogoproto.enumvalue_customname) = "AddCardByNameToHand"]; 269 DEAL_DAMAGE_TO_THIS_AND_ADJACENT_UNITS = 46 [(gogoproto.enumvalue_customname) = "DealDamageToThisAndAdjacentUnits"]; 270 SWING = 47 [(gogoproto.enumvalue_customname) = "Swing"]; 271 TAKE_DEFENSE_IF_OVERLORD_HAS_LESS_DEFENSE_THAN = 48 [(gogoproto.enumvalue_customname) = "TakeDefenseIfOverlordHasLessDefenseThan"]; 272 GAIN_NUMBER_OF_LIFE_FOR_EACH_DAMAGE_THIS_DEALS = 49 [(gogoproto.enumvalue_customname) = "GainNumberOfLifeForEachDamageThisDeals"]; 273 ADDITIONAL_DAMAGE_TO_HEAVY_IN_ATTACK = 50 [(gogoproto.enumvalue_customname) = "AdditionalDamageToHeavyInAttack"]; 274 UNIT_WEAPON = 51 [(gogoproto.enumvalue_customname) = "UnitWeapon"]; 275 TAKE_DAMAGE_AT_END_OF_TURN_TO_THIS = 52 [(gogoproto.enumvalue_customname) = "TakeDamageAtEndOfTurnToThis"]; 276 DELAYED_LOSE_HEAVY_GAIN_ATTACK = 53 [(gogoproto.enumvalue_customname) = "DelayedLoseHeavyGainAttack"]; 277 DELAYED_GAIN_ATTACK = 54 [(gogoproto.enumvalue_customname) = "DelayedGainAttack"]; 278 REANIMATE_UNIT = 55 [(gogoproto.enumvalue_customname) = "ReanimateUnit"]; 279 PRIORITY_ATTACK = 56 [(gogoproto.enumvalue_customname) = "PriorityAttack"]; 280 DESTROY_TARGET_UNIT_AFTER_ATTACK = 57 [(gogoproto.enumvalue_customname) = "DestroyTargetUnitAfterAttack"]; 281 COSTS_LESS_IF_CARD_TYPE_IN_HAND = 58 [(gogoproto.enumvalue_customname) = "CostsLessIfCardTypeInHand"]; 282 RETURN_UNITS_ON_BOARD_TO_OWNERS_HANDS = 59 [(gogoproto.enumvalue_customname) = "ReturnUnitsOnBoardToOwnersHands"]; 283 REPLACE_UNITS_WITH_TYPE_ON_STRONGER_ONES = 60 [(gogoproto.enumvalue_customname) = "ReplaceUnitsWithTypeOnStrongerOnes"]; 284 RESTORE_DEF_RANDOMLY_SPLIT = 61 [(gogoproto.enumvalue_customname) = "RestoreDefRandomlySplit"]; 285 ADJACENT_UNITS_GET_GUARD = 62 [(gogoproto.enumvalue_customname) = "AdjacentUnitsGetGuard"]; 286 SUMMON_UNIT_FROM_HAND = 63 [(gogoproto.enumvalue_customname) = "SummonUnitFromHand"]; 287 DAMAGE_AND_DISTRACT_TARGET = 64 [(gogoproto.enumvalue_customname) = "DamageAndDistractTarget"]; 288 DRAW_CARD_IF_DAMAGED_ZOMBIE_IN_PLAY = 65 [(gogoproto.enumvalue_customname) = "DrawCardIfDamagedZombieInPlay"]; 289 TAKE_STAT_IF_OVERLORD_HAS_LESS_DEFENSE_THAN = 66 [(gogoproto.enumvalue_customname) = "TakeStatIfOverlordHasLessDefenseThan"]; 290 DAMAGE_OVERLORD_ON_COUNT_ITEMS_PLAYED = 67 [(gogoproto.enumvalue_customname) = "DamageOverlordOnCountItemsPlayed"]; 291 SHUFFLE_THIS_CARD_TO_DECK = 68 [(gogoproto.enumvalue_customname) = "ShuffleThisCardToDeck"]; 292 TAKE_DEFENSE_TO_OVERLORD_WITH_DEFENSE = 69 [(gogoproto.enumvalue_customname) = "TakeDefenseToOverlordWithDefense"]; 293 PUT_RANDOM_UNIT_FROM_DECK_ON_BOARD = 70 [(gogoproto.enumvalue_customname) = "PutRandomUnitFromDeckOnBoard"]; 294 DISTRACT = 71 [(gogoproto.enumvalue_customname) = "Distract"]; 295 DAMAGE_TARGET_FREEZE_IT_IF_SURVIVES = 72 [(gogoproto.enumvalue_customname) = "DamageTargetFreezeItIfSurvives"]; 296 DESTROY_UNIT_BY_COST = 73 [(gogoproto.enumvalue_customname) = "DestroyUnitByCost"]; 297 DAMAGE_ENEMY_OR_RESTORE_DEFENSE_ALLY = 74 [(gogoproto.enumvalue_customname) = "DamageEnemyOrRestoreDefenseAlly"]; 298 TAKE_SWING_TO_UNITS = 75 [(gogoproto.enumvalue_customname) = "TakeSwingToUnits"]; 299 DELAYED_PLACE_COPIES_IN_PLAY_DESTROY_UNIT = 76 [(gogoproto.enumvalue_customname) = "DelayedPlaceCopiesInPlayDestroyUnit"]; 300 ADJACENT_UNITS_GET_STAT = 77 [(gogoproto.enumvalue_customname) = "AdjacentUnitsGetStat"]; 301 EXTRA_GOO_IF_UNIT_IN_PLAY = 78 [(gogoproto.enumvalue_customname) = "ExtraGooIfUnitInPlay"]; 302 DESTROY_UNITS = 79 [(gogoproto.enumvalue_customname) = "DestroyUnits"]; 303 DEAL_DAMAGE_TO_UNIT_AND_SWING = 80 [(gogoproto.enumvalue_customname) = "DealDamageToUnitAndSwing"]; 304 SET_ATTACK_AVAILABILITY = 81 [(gogoproto.enumvalue_customname) = "SetAttackAvailability"]; 305 CHOOSABLE_ABILITIES = 82 [(gogoproto.enumvalue_customname) = "ChoosableAbilities"]; 306 COSTS_LESS_IF_CARD_TYPE_IN_PLAY = 83 [(gogoproto.enumvalue_customname) = "CostsLessIfCardTypeInPlay"]; 307 GAIN_GOO = 84 [(gogoproto.enumvalue_customname) = "GainGoo"]; 308 BLITZ = 85 [(gogoproto.enumvalue_customname) = "Blitz"]; 309 DRAW_CARD_BY_FACTION = 86 [(gogoproto.enumvalue_customname) = "DrawCardByFaction"]; 310 DESTROY_TARGET_UNIT = 87 [(gogoproto.enumvalue_customname) = "DestroyTargetUnit"]; 311 AGILE = 88 [(gogoproto.enumvalue_customname) = "Agile"]; 312 CHANGE_STAT_OF_CARDS_IN_HAND = 89 [(gogoproto.enumvalue_customname) = "ChangeStatOfCardInHand"]; 313 GIVE_BUFFS_TO_UNIT = 90 [(gogoproto.enumvalue_customname) = "GiveBuffsToUnit"]; 314 DISCARD_CARD_FROM_HAND = 91 [(gogoproto.enumvalue_customname) = "DiscardCardFromHand"]; 315 GET_GOO_THIS_TURN = 92 [(gogoproto.enumvalue_customname) = "GetGooThisTurn"]; 316 COSTS_LESS = 93 [(gogoproto.enumvalue_customname) = "CostsLess"]; 317 FILL_BOARD_BY_UNITS = 94 [(gogoproto.enumvalue_customname) = "FillBoardByUnits"]; 318 DEAL_DAMAGE_TO_TARGET_THAT_ATTACK_THIS = 95 [(gogoproto.enumvalue_customname) = "DealDamageToTargetThatAttackThis"]; 319 CHANGE_COST = 96 [(gogoproto.enumvalue_customname) = "ChangeCost"]; 320 GAIN_STATS_OF_ADJACENT_UNITS = 97 [(gogoproto.enumvalue_customname) = "GainStatsOfAdjacentUnits"]; 321 DISTRACT_AND_CHANGE_STAT = 98 [(gogoproto.enumvalue_customname) = "DistractAndChangeStat"]; 322 DAMAGE_AND_DISTRACT = 99 [(gogoproto.enumvalue_customname) = "DamangeAndDistract"]; 323 PUT_UNITS_FROM_DISCARD_INTO_PLAY = 100 [(gogoproto.enumvalue_customname) = "PutUnitsFromDiscardIntoPlay"]; 324 PUT_UNITS_FRON_LIBRARY_INTO_PLAY = 101 [(gogoproto.enumvalue_customname) = "PutUnitsFromLibraryIntoPlay"]; 325 BLOCK_TAKE_DAMAGE = 102 [(gogoproto.enumvalue_customname) = "BlockTakeDamage"]; 326 TAKE_UNIT_TYPE_TO_TARGET_UNIT = 103 [(gogoproto.enumvalue_customname) = "TakeUnitTypeToTargetUnit"]; 327 CHANGE_STAT_THIS_TURN = 104 [(gogoproto.enumvalue_customname) = "ChangeStatThisTurn"]; 328 } 329 } 330 331 message AbilitySubTrigger 332 { 333 enum Enum { 334 None = 0; 335 OnlyThisUnitInPlay = 1; 336 AllOtherAllyUnitsInPlay = 2; 337 AllAllyUnitsInPlay = 3; 338 RandomUnit = 4; 339 AllEnemyUnitsInPlay = 5; 340 AllAllyUnitsByFactionInPlay = 6; 341 ForEachFactionOfUnitInHand = 7; 342 IfHasUnitsWithFactionInPlay = 8; 343 AllyUnitsByFactionThatCost = 9; 344 YourOverlord = 10; 345 PermanentChanges = 11; 346 HasChangesInParameters = 12; 347 LessDefThanInOpponent = 13; 348 OverlordDefenseEqualOrLess = 14; 349 OnlyThisCardInHand = 15; 350 AllCardsInHand = 16; 351 CardCostMoreThanCostOfThis = 17; 352 ForEachEnemyUnitInPlay = 18; 353 ForEachAllyUnitInPlay = 19; 354 IfHaveFewerUnitsInPlay = 20; 355 ToOpponentOverlord = 21; 356 UntilStartOfNextPlayerTurn = 22; 357 DuringCardInHand = 23; 358 ForEachUnitInPlay = 24; 359 HighestCost = 25; 360 EqualToUnitAttack = 26; 361 NumberOfUnspentGoo = 27; 362 } 363 } 364 365 message Zone { 366 enum type { 367 PLAY = 0; 368 DECK = 1; 369 HAND = 2; 370 GRAVEYARD = 3; 371 REMOVEFROMGAME = 4; 372 SETASIDE = 5; 373 SECRET = 6; 374 } 375 } 376 377 message PlayerActionType { 378 enum Enum { 379 None = 0; 380 EndTurn = 1; 381 Mulligan = 2; 382 CardPlay = 3; 383 CardAttack = 4; 384 CardAbilityUsed = 5; 385 OverlordSkillUsed = 6; 386 LeaveMatch = 7; 387 RankBuff = 8; 388 CheatDestroyCardsOnBoard = 9; 389 } 390 } 391 392 message OverlordSkillType { 393 enum Enum { 394 NONE = 0 [(gogoproto.enumvalue_customname) = "None"]; 395 396 // AIR 397 PUSH = 1 [(gogoproto.enumvalue_customname) = "Push"]; 398 DRAW = 2 [(gogoproto.enumvalue_customname) = "Draw"]; 399 WIND_SHIELD = 3 [(gogoproto.enumvalue_customname) = "WindShield"]; 400 LEVITATE = 4 [(gogoproto.enumvalue_customname) = "WindWall"]; 401 RETREAT = 5 [(gogoproto.enumvalue_customname) = "Retreat"]; 402 403 // EARTH 404 HARDEN = 6 [(gogoproto.enumvalue_customname) = "Harden"]; 405 STONE_SKIN = 7 [(gogoproto.enumvalue_customname) = "StoneSkin"]; 406 FORTIFY = 8 [(gogoproto.enumvalue_customname) = "Fortify"]; 407 PHALANX = 9 [(gogoproto.enumvalue_customname) = "Phalanx"]; 408 FORTRESS = 10 [(gogoproto.enumvalue_customname) = "Fortress"]; 409 410 // FIRE 411 FIRE_BOLT = 11 [(gogoproto.enumvalue_customname) = "FireBolt"]; 412 RABIES = 12 [(gogoproto.enumvalue_customname) = "Rabies"]; 413 FIREBALL = 13 [(gogoproto.enumvalue_customname) = "Fireball"]; 414 MASS_RABIES = 14 [(gogoproto.enumvalue_customname) = "MassRabies"]; 415 METEOR_SHOWER = 15 [(gogoproto.enumvalue_customname) = "MeteorShower"]; 416 417 // LIFE 418 HEALING_TOUCH = 16 [(gogoproto.enumvalue_customname) = "HealingTouch"]; 419 MEND = 17 [(gogoproto.enumvalue_customname) = "Mend"]; 420 RESSURECT = 18 [(gogoproto.enumvalue_customname) = "Ressurect"]; 421 ENHANCE = 19 [(gogoproto.enumvalue_customname) = "Enhance"]; 422 REANIMATE = 20 [(gogoproto.enumvalue_customname) = "Reanimate"]; 423 424 // TOXIC 425 POISON_DART = 21 [(gogoproto.enumvalue_customname) = "PoisonDart"]; 426 TOXIC_POWER = 22 [(gogoproto.enumvalue_customname) = "ToxicPower"]; 427 BREAKOUT = 23 [(gogoproto.enumvalue_customname) = "Breakout"]; 428 INFECT = 24 [(gogoproto.enumvalue_customname) = "Infect"]; 429 EPIDEMIC = 25 [(gogoproto.enumvalue_customname) = "Epidemic"]; 430 431 // WATER 432 FREEZE = 26 [(gogoproto.enumvalue_customname) = "Freeze"]; 433 ICE_BOLT = 27 [(gogoproto.enumvalue_customname) = "IceBolt"]; 434 ICE_WALL = 28 [(gogoproto.enumvalue_customname) = "IceWall"]; 435 SHATTER = 29 [(gogoproto.enumvalue_customname) = "Shatter"]; 436 BLIZZARD = 30 [(gogoproto.enumvalue_customname) = "Blizzard"]; 437 } 438 } 439 440 enum OverlordSkillSelectionType { 441 Primary = 0; 442 Secondary = 1; 443 } 444 445 message Stat { 446 enum Enum { 447 option allow_alias = true; 448 449 UNDEFINED = 0 [(gogoproto.enumvalue_customname) = "Undefined"]; 450 DEFENSE = 1 [(gogoproto.enumvalue_customname) = "Defense"]; 451 HEALTH = 1 [(gogoproto.enumvalue_customname) = "_XXXHealth"]; // for backwards compatibility 452 DAMAGE = 2 [(gogoproto.enumvalue_customname) = "Damage"]; 453 } 454 } 455 456 message UnitSpecialStatus { 457 enum Enum { 458 NONE = 0 [(gogoproto.enumvalue_customname) = "None"]; 459 FROZEN = 1 [(gogoproto.enumvalue_customname) = "Frozen"]; 460 } 461 } 462 463 message AIType { 464 enum Enum { 465 UNDEFINED = 0; 466 BLITZ_AI = 1; 467 DEFENSE_AI = 2; 468 MIXED_AI = 3; 469 MIXED_BLITZ_AI = 4; 470 TIME_BLITZ_AI = 5; 471 MIXED_DEFENSE_AI = 6; 472 } 473 } 474 475 message ExperienceActionType { 476 enum Enum { 477 KillOverlord = 0; 478 KillMinion = 1; 479 PlayCard = 2; 480 ActivateRankAbility = 3; 481 UseOverlordAbility = 4; 482 } 483 } 484 485 // nullable 486 487 message CardSetEnumValue { 488 CardSet.Enum value = 1; 489 } 490 491 message CardKindEnumValue { 492 CardKind.Enum value = 1; 493 } 494 495 message FactionEnumValue { 496 Faction.Enum value = 1; 497 } 498 499 message CreatureRankEnumValue { 500 CreatureRank.Enum value = 1; 501 } 502 503 message CardTypeEnumValue { 504 CardType.Enum value = 1; 505 } 506 507 message UniqueAnimationEnumValue { 508 UniqueAnimation.Enum value = 1; 509 }