From 671f1a059ddc2a48d793a403a80fefee6e51afd7 Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 14 Nov 2021 14:43:04 -0500 Subject: [PATCH] add diviner,mesmer,hologram,elephant,uuuh probably more things --- cardtype.go | 20 +++++++++++++++++--- cardtype_enumer.go | 23 ++++++++++++++--------- effect.go | 11 ++++++----- util.go | 2 ++ 4 files changed, 39 insertions(+), 17 deletions(-) diff --git a/cardtype.go b/cardtype.go index 5075c59..ceaffa3 100644 --- a/cardtype.go +++ b/cardtype.go @@ -19,7 +19,6 @@ const ( HealthPotion //both players get +1 health Tree //grows to 8 after five turns Goblin //adds two other 1 strength units - GoblinSpawn //1 power goblin token Chupacabra //Destroy target creature //Rank 2 @@ -27,10 +26,25 @@ const ( Enemy //puts -1 token on enemy unit //Rank 3 - Duelist + Duelist //puts +0/+1 on allied unit //Rank 4 - Vanguard + Vanguard //puts +1/+0 on allied unit + + //Rank 5 + Elephant //Created a dud on enemy board + + //Rank 6 + Mesmerist //Shuffles enemy deck + Diviner //Peek top 3, bottom 2 + + //Rank 8 + Hologram //Can't deal HP damage, disapears after 3 turns + + //Tokens,etc + GoblinSpawn //1 power goblin token + Dud //0 power token + ) const ( EmptyValue CardType = -1 diff --git a/cardtype_enumer.go b/cardtype_enumer.go index ab70e5d..c05c5d4 100644 --- a/cardtype_enumer.go +++ b/cardtype_enumer.go @@ -8,9 +8,9 @@ import ( "fmt" ) -const _CardTypeName = "EmptyValueValkSpeedsterCommanderPaladinScholarWarriorFighterSevenShieldWallHealthPotionTreeGoblinGoblinSpawnChupacabraAllyEnemyDuelistVanguard" +const _CardTypeName = "EmptyValueValkSpeedsterCommanderPaladinScholarWarriorFighterSevenShieldWallHealthPotionTreeGoblinChupacabraAllyEnemyDuelistVanguardElephantMesmeristDivinerHologramGoblinSpawnDud" -var _CardTypeIndex = [...]uint8{0, 10, 14, 23, 32, 39, 46, 53, 60, 65, 75, 87, 91, 97, 108, 118, 122, 127, 134, 142} +var _CardTypeIndex = [...]uint8{0, 10, 14, 23, 32, 39, 46, 53, 60, 65, 75, 87, 91, 97, 107, 111, 116, 123, 131, 139, 148, 155, 163, 174, 177} func (i CardType) String() string { i -= -1 @@ -20,7 +20,7 @@ func (i CardType) String() string { return _CardTypeName[_CardTypeIndex[i]:_CardTypeIndex[i+1]] } -var _CardTypeValues = []CardType{-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17} +var _CardTypeValues = []CardType{-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22} var _CardTypeNameToValueMap = map[string]CardType{ _CardTypeName[0:10]: -1, @@ -36,12 +36,17 @@ var _CardTypeNameToValueMap = map[string]CardType{ _CardTypeName[75:87]: 9, _CardTypeName[87:91]: 10, _CardTypeName[91:97]: 11, - _CardTypeName[97:108]: 12, - _CardTypeName[108:118]: 13, - _CardTypeName[118:122]: 14, - _CardTypeName[122:127]: 15, - _CardTypeName[127:134]: 16, - _CardTypeName[134:142]: 17, + _CardTypeName[97:107]: 12, + _CardTypeName[107:111]: 13, + _CardTypeName[111:116]: 14, + _CardTypeName[116:123]: 15, + _CardTypeName[123:131]: 16, + _CardTypeName[131:139]: 17, + _CardTypeName[139:148]: 18, + _CardTypeName[148:155]: 19, + _CardTypeName[155:163]: 20, + _CardTypeName[163:174]: 21, + _CardTypeName[174:177]: 22, } // CardTypeString retrieves an enum value from the enum constants string name. diff --git a/effect.go b/effect.go index 95c0ece..7571ca6 100644 --- a/effect.go +++ b/effect.go @@ -7,10 +7,11 @@ import ( ) type Effect struct { - Owner uuid.UUID - Target uuid.UUID - ID int - Modifier int + Owner uuid.UUID + Target uuid.UUID + ID int + Modifier int + NeedsCard bool } func RemoveEffect(source uuid.UUID, c *Card) { @@ -34,7 +35,7 @@ func RemovePlayerEffect(source uuid.UUID, p *Player) { } } func AddEffect(c *Card, e *Effect) { - if c.Type == EmptyValue { + if c.Type == EmptyValue && e.NeedsCard { //can't apply effect to empty card return } diff --git a/util.go b/util.go index 40df812..5fcde18 100644 --- a/util.go +++ b/util.go @@ -16,7 +16,9 @@ const ( const ( TargetSelf = iota TargetOwn + TargetOwnEmpty TargetOpp + TargetOppEmpty TargetAny TargetNone )