data

package
v0.0.0-...-0a454e0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Conditions []Condition = []Condition{
	{},
	{
		Id:          1,
		Name:        "Asleep",
		Type:        NoActions,
		MinDuration: 2,
		MaxDuration: 4,
		ActiveQuote: "%s is Asleep!",
		EndQuote:    "%s woke up.",
	},
	{
		Id:          2,
		Name:        "Bleeding (Slashing)",
		Type:        DoDamage,
		MinDuration: 3,
		MaxDuration: 6,
		DamageType:  Slashing,
		ActiveQuote: "%s is Bleeding! It takes %d Slashing damage.",
		EndQuote:    "%s is no longer Bleeding.",
		FailQuote:   "%s is Bleeding but it is immune to Slashing damage!",
	},
	{
		Id:          3,
		Name:        "Bleeding (Piercing)",
		Type:        DoDamage,
		MinDuration: 3,
		MaxDuration: 6,
		DamageType:  Piercing,
		ActiveQuote: "%s is Bleeding! It takes %d Piercing damage.",
		EndQuote:    "%s is no longer Bleeding.",
		FailQuote:   "%s is Bleeding but it is immune to Piercing damage!",
	},
	{
		Id:          4,
		Name:        "Burned",
		Type:        DoDamage,
		MinDuration: 3,
		MaxDuration: 6,
		DamageType:  Fire,
		ActiveQuote: "%s is Burned! It takes %d Fire damage.",
		EndQuote:    "%s is no longer Burned.",
		FailQuote:   "%s is Burned but it is immune to Fire damage!",
	},
	{
		Id:          5,
		Name:        "Charmed",
		Type:        NoOffensiveAction,
		MinDuration: 2,
		MaxDuration: 4,
		ActiveQuote: "%s is Charmed!",
		EndQuote:    "%s is no longer Charmed.",
	},
	{
		Id:          6,
		Name:        "Confused",
		Type:        DoDamage,
		MinDuration: 3,
		MaxDuration: 6,
		DamageType:  Psychic,
		ActiveQuote: "%s is Confused! It takes %d Psychic damage.",
		EndQuote:    "%s is no longer Confused.",
		FailQuote:   "%s is Confused but it is immune to Psychic damage!",
	},
	{
		Id:          7,
		Name:        "Cursed",
		Type:        DoDamage,
		MinDuration: 3,
		MaxDuration: 6,
		DamageType:  Necrotic,
		ActiveQuote: "%s is Cursed! It takes %d Necrotic damage.",
		EndQuote:    "%s is no longer Cursed.",
		FailQuote:   "%s is Cursed but it is immune to Necrotic damage!",
	},
	{
		Id:          8,
		Name:        "Doomed",
		Type:        DoDamage,
		MinDuration: 3,
		MaxDuration: 6,
		DamageType:  Radiant,
		ActiveQuote: "%s is Doomed! It takes %d Radiant damage.",
		EndQuote:    "%s is no longer Doomed.",
		FailQuote:   "%s is Doomed but it is immune to Radiant damage!",
	},
	{
		Id:          9,
		Name:        "Electrified",
		Type:        DoDamage,
		MinDuration: 3,
		MaxDuration: 6,
		DamageType:  Thunder,
		ActiveQuote: "%s is Electrified! It takes %d Thunder damage.",
		EndQuote:    "%s is no longer Electrified.",
		FailQuote:   "%s is Electrified but it is immune to Thunder damage!",
	},
	{
		Id:          10,
		Name:        "Entangled",
		Type:        NoActions,
		MinDuration: 2,
		MaxDuration: 4,
		ActiveQuote: "%s is Entangled!",
		EndQuote:    "%s is no longer Entangled.",
	},
	{
		Id:          11,
		Name:        "Frozen",
		Type:        DoDamage,
		MinDuration: 3,
		MaxDuration: 6,
		DamageType:  Cold,
		ActiveQuote: "%s is Frozen! It takes %d Cold damage.",
		EndQuote:    "%s is no longer Frozen.",
		FailQuote:   "%s is Frozen but it is immune to Cold damage!",
	},
	{
		Id:          12,
		Name:        "Paralyzed",
		Type:        NoActions,
		MinDuration: 2,
		MaxDuration: 4,
		ActiveQuote: "%s is Paralyzed!",
		EndQuote:    "%s is no longer Paralyzed.",
	},
	{
		Id:          13,
		Name:        "Petrified",
		Type:        NoActions,
		MinDuration: 2,
		MaxDuration: 4,
		ActiveQuote: "%s is Petrified!",
		EndQuote:    "%s is no longer Petrified.",
	},
	{
		Id:          14,
		Name:        "Poisoned",
		Type:        DoDamage,
		MinDuration: 3,
		MaxDuration: 6,
		DamageType:  Earth,
		ActiveQuote: "%s is Poisoned! It takes %d Earth damage.",
		EndQuote:    "%s is no longer Poisoned.",
		FailQuote:   "%s is Poisoned but it is immune to Earth damage!",
	},
	{
		Id:          15,
		Name:        "Scared",
		Type:        NoActions,
		MinDuration: 2,
		MaxDuration: 4,
		ActiveQuote: "%s is Scared!",
		EndQuote:    "%s is no longer Scared.",
	},
	{
		Id:          16,
		Name:        "Silenced",
		Type:        NoSpells,
		MinDuration: 2,
		MaxDuration: 4,
		ActiveQuote: "%s is Silenced!",
		EndQuote:    "%s is no longer Silenced.",
	},
}
View Source
var Enchantments []Enchantment = []Enchantment{
	{},
	{
		Id:         1,
		Name:       "Flaming",
		Type:       Imbuement,
		Variable:   0,
		DamageType: Fire,
	},
	{
		Id:         2,
		Name:       "Frozen",
		Type:       Imbuement,
		Variable:   0,
		DamageType: Cold,
	},
	{
		Id:         3,
		Name:       "Electrifying",
		Type:       Imbuement,
		Variable:   0,
		DamageType: Thunder,
	},
	{
		Id:         4,
		Name:       "Earth Attuned",
		Type:       Imbuement,
		Variable:   0,
		DamageType: Earth,
	},
	{
		Id:         5,
		Name:       "Coruscating",
		Type:       Imbuement,
		Variable:   0,
		DamageType: Radiant,
	},
	{
		Id:         6,
		Name:       "Necromantic",
		Type:       Imbuement,
		Variable:   0,
		DamageType: Necrotic,
	},
	{
		Id:         7,
		Name:       "Mystic",
		Type:       Imbuement,
		Variable:   0,
		DamageType: Psychic,
	},
	{
		Id:         8,
		Name:       "Vampiric",
		Type:       VampiricWeapon,
		Variable:   0,
		DamageType: 0,
	},
}
View Source
var Items []Item = []Item{
	{},
	{
		Id:           1,
		Name:         "Staff",
		Type:         Weapon,
		DamageType:   Bludgeoning,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           2,
		Name:         "Mace",
		Type:         Weapon,
		DamageType:   Bludgeoning,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           3,
		Name:         "Dagger",
		Type:         Weapon,
		DamageType:   Piercing,
		Damage:       2,
		Armor:        0,
		Attack:       1,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           4,
		Name:         "Shortsword",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           5,
		Name:         "Greataxe",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       5,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           6,
		Name:         "Flaming Mace",
		Type:         Weapon,
		DamageType:   Bludgeoning,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{1},
	},
	{
		Id:           7,
		Name:         "Flaming Greatsword",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       5,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{1},
	},
	{
		Id:           8,
		Name:         "Corrupting Touch",
		Type:         Weapon,
		DamageType:   Necrotic,
		Damage:       2,
		Armor:        0,
		Attack:       1,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           9,
		Name:         "Poisonous Bite",
		Type:         Weapon,
		DamageType:   Piercing,
		Damage:       2,
		Armor:        0,
		Attack:       1,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{4},
	},
	{
		Id:           10,
		Name:         "Bite",
		Type:         Weapon,
		DamageType:   Piercing,
		Damage:       2,
		Armor:        0,
		Attack:       1,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           11,
		Name:         "Spear",
		Type:         Weapon,
		DamageType:   Piercing,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           12,
		Name:         "Greatclub",
		Type:         Weapon,
		DamageType:   Bludgeoning,
		Damage:       5,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           13,
		Name:         "Cursed Longsword",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       4,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{6},
	},
	{
		Id:           14,
		Name:         "Electrifying Longsword",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       4,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{3},
	},
	{
		Id:           15,
		Name:         "Flaming Whip",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       4,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{1},
	},
	{
		Id:           16,
		Name:         "Claw",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       2,
		Armor:        0,
		Attack:       1,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           17,
		Name:         "Fork",
		Type:         Weapon,
		DamageType:   Piercing,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           18,
		Name:         "Bite",
		Type:         Weapon,
		DamageType:   Piercing,
		Damage:       4,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           19,
		Name:         "Claw",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       4,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           20,
		Name:         "Slam",
		Type:         Weapon,
		DamageType:   Bludgeoning,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           21,
		Name:         "Natural Armor",
		Type:         Armor,
		DamageType:   0,
		Damage:       0,
		Armor:        2,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           22,
		Name:         "Poisonous Shortsword",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       2,
		Armor:        0,
		Attack:       1,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{4},
	},
	{
		Id:           23,
		Name:         "Poisoned Mace",
		Type:         Weapon,
		DamageType:   Bludgeoning,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{4},
	},
	{
		Id:           24,
		Name:         "Greatsword",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       5,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           25,
		Name:         "Battleaxe",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       4,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: nil,
	},
	{
		Id:           26,
		Name:         "Flaming Shortsword",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{1},
	},
	{
		Id:           27,
		Name:         "Frozen Shortsword",
		Type:         Weapon,
		DamageType:   Slashing,
		Damage:       3,
		Armor:        0,
		Attack:       0,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{2},
	},
	{
		Id:           28,
		Name:         "Vampiric Bite",
		Type:         Weapon,
		DamageType:   Piercing,
		Damage:       2,
		Armor:        0,
		Attack:       1,
		Defense:      0,
		Initiative:   0,
		Enchantments: []int{6},
	},
}
View Source
var Monsters []Character = []Character{
	{
		Id:        0,
		Name:      "Dummy",
		Might:     1,
		Power:     1,
		Speed:     1,
		Mind:      1,
		MaxHp:     20,
		CurrentHp: 20,
		Inventory: [4]int{1, 0, 0, 0},
		Class:     Fighter,
	},
	{
		Id:             1,
		Name:           "Angel Deva",
		Might:          4,
		Power:          3,
		Speed:          4,
		Mind:           3,
		MaxHp:          40,
		CurrentHp:      40,
		Inventory:      [4]int{6, 0, 0, 0},
		Spellbook:      []int{7},
		Resistances:    []DamageResistance{{DamageType: Radiant, Resistance: 2}},
		Immunities:     []DamageType{Thunder},
		CondImmunities: []int{13, 14},
		Class:          Hybrid,
	},
	{
		Id:             2,
		Name:           "Planetar Angel",
		Might:          5,
		Power:          4,
		Speed:          4,
		Mind:           3,
		MaxHp:          45,
		CurrentHp:      45,
		Inventory:      [4]int{7, 0, 0, 0},
		Spellbook:      []int{7, 8, 26},
		Resistances:    []DamageResistance{{DamageType: Radiant, Resistance: 2}},
		Immunities:     []DamageType{Thunder},
		CondImmunities: []int{13, 14},
		Class:          Hybrid,
	},
	{
		Id:             3,
		Name:           "Solar Angel",
		Might:          6,
		Power:          5,
		Speed:          5,
		Mind:           5,
		MaxHp:          50,
		CurrentHp:      50,
		Inventory:      [4]int{7, 0, 0, 0},
		Spellbook:      []int{7, 8, 10, 26},
		Resistances:    []DamageResistance{{DamageType: Radiant, Resistance: 3}},
		Immunities:     []DamageType{Thunder, Earth, Necrotic},
		CondImmunities: []int{13, 14},
		Class:          Hybrid,
	},
	{
		Id:             4,
		Name:           "Banshee",
		Might:          1,
		Power:          2,
		Speed:          3,
		Mind:           2,
		MaxHp:          25,
		CurrentHp:      25,
		Inventory:      [4]int{8, 0, 0, 0},
		Spellbook:      []int{15, 18, 19},
		Resistances:    []DamageResistance{{DamageType: Fire, Resistance: 2}, {DamageType: Thunder, Resistance: 2}, {DamageType: Earth, Resistance: 2}},
		Immunities:     []DamageType{Cold, Necrotic},
		CondImmunities: []int{1, 2, 3, 7, 12, 13, 14},
		Class:          Caster,
	},
	{
		Id:             5,
		Name:           "Basilisk",
		Might:          2,
		Power:          2,
		Speed:          1,
		Mind:           1,
		MaxHp:          30,
		CurrentHp:      30,
		Inventory:      [4]int{9, 0, 0, 0},
		Spellbook:      []int{12},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Hybrid,
	},
	{
		Id:             5,
		Name:           "Beholder",
		Might:          3,
		Power:          3,
		Speed:          1,
		Mind:           3,
		MaxHp:          35,
		CurrentHp:      35,
		Inventory:      [4]int{10, 0, 0, 0},
		Spellbook:      []int{5, 9, 12, 19, 24},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Caster,
	},
	{
		Id:             6,
		Name:           "Bugbear",
		Might:          2,
		Power:          1,
		Speed:          2,
		Mind:           1,
		MaxHp:          25,
		CurrentHp:      25,
		Inventory:      [4]int{2, 0, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Fighter,
	},
	{
		Id:             7,
		Name:           "Bullywug",
		Might:          1,
		Power:          1,
		Speed:          1,
		Mind:           1,
		MaxHp:          20,
		CurrentHp:      20,
		Inventory:      [4]int{11, 0, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Fighter,
	},
	{
		Id:             8,
		Name:           "Cambion",
		Might:          2,
		Power:          2,
		Speed:          1,
		Mind:           1,
		MaxHp:          25,
		CurrentHp:      25,
		Inventory:      [4]int{11, 0, 0, 0},
		Spellbook:      []int{11},
		Resistances:    []DamageResistance{{DamageType: Fire, Resistance: 2}, {DamageType: Cold, Resistance: 2}, {DamageType: Thunder, Resistance: 2}, {DamageType: Earth, Resistance: 2}},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Hybrid,
	},
	{
		Id:             9,
		Name:           "Chimera",
		Might:          3,
		Power:          2,
		Speed:          2,
		Mind:           1,
		MaxHp:          35,
		CurrentHp:      35,
		Inventory:      [4]int{10, 0, 0, 0},
		Spellbook:      []int{11},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Hybrid,
	},
	{
		Id:             10,
		Name:           "Couatl",
		Might:          1,
		Power:          4,
		Speed:          4,
		Mind:           4,
		MaxHp:          35,
		CurrentHp:      35,
		Inventory:      [4]int{10, 0, 0, 0},
		Spellbook:      []int{7, 18, 20},
		Resistances:    []DamageResistance{{DamageType: Radiant, Resistance: 2}},
		Immunities:     []DamageType{Psychic},
		CondImmunities: []int{6},
		Class:          Hybrid,
	},
	{
		Id:             11,
		Name:           "Cyclops",
		Might:          5,
		Power:          1,
		Speed:          3,
		Mind:           1,
		MaxHp:          45,
		CurrentHp:      45,
		Inventory:      [4]int{12, 0, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Fighter,
	},
	{
		Id:             12,
		Name:           "Death Knight",
		Might:          4,
		Power:          3,
		Speed:          3,
		Mind:           2,
		MaxHp:          40,
		CurrentHp:      40,
		Inventory:      [4]int{13, 0, 0, 0},
		Spellbook:      []int{3, 5, 11},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{Earth, Necrotic},
		CondImmunities: []int{7, 14},
		Class:          Hybrid,
	},
	{
		Id:             13,
		Name:           "Demilich",
		Might:          1,
		Power:          4,
		Speed:          5,
		Mind:           4,
		MaxHp:          30,
		CurrentHp:      30,
		Inventory:      [4]int{10, 0, 0, 0},
		Spellbook:      []int{2, 15, 19},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{Earth, Necrotic, Psychic},
		CondImmunities: []int{7, 12, 13, 14},
		Class:          Caster,
	},
	{
		Id:             14,
		Name:           "Balor Demon",
		Might:          5,
		Power:          5,
		Speed:          4,
		Mind:           4,
		MaxHp:          45,
		CurrentHp:      45,
		Inventory:      [4]int{14, 15, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{{DamageType: Cold, Resistance: 2}, {DamageType: Thunder, Resistance: 2}},
		Immunities:     []DamageType{Fire, Earth},
		CondImmunities: []int{4, 14},
		Class:          Fighter,
	},
	{
		Id:             15,
		Name:           "Hezrou Demon",
		Might:          3,
		Power:          2,
		Speed:          2,
		Mind:           2,
		MaxHp:          35,
		CurrentHp:      35,
		Inventory:      [4]int{10, 16, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{{DamageType: Fire, Resistance: 2}, {DamageType: Cold, Resistance: 2}, {DamageType: Thunder, Resistance: 2}},
		Immunities:     []DamageType{Earth},
		CondImmunities: []int{14},
		Class:          Fighter,
	},
	{
		Id:             16,
		Name:           "Horned Devil",
		Might:          4,
		Power:          3,
		Speed:          3,
		Mind:           3,
		MaxHp:          35,
		CurrentHp:      35,
		Inventory:      [4]int{17, 0, 0, 0},
		Spellbook:      []int{11},
		Resistances:    []DamageResistance{{DamageType: Fire, Resistance: 2}, {DamageType: Cold, Resistance: 2}, {DamageType: Thunder, Resistance: 2}},
		Immunities:     []DamageType{Earth},
		CondImmunities: []int{14},
		Class:          Hybrid,
	},
	{
		Id:             17,
		Name:           "Pit Fiend",
		Might:          5,
		Power:          4,
		Speed:          5,
		Mind:           4,
		MaxHp:          45,
		CurrentHp:      45,
		Inventory:      [4]int{6, 9, 0, 0},
		Spellbook:      []int{11},
		Resistances:    []DamageResistance{{DamageType: Cold, Resistance: 2}, {DamageType: Thunder, Resistance: 2}},
		Immunities:     []DamageType{Fire, Earth},
		CondImmunities: []int{4, 14},
		Class:          Hybrid,
	},
	{
		Id:             18,
		Name:           "Blue Dragon",
		Might:          6,
		Power:          6,
		Speed:          4,
		Mind:           6,
		MaxHp:          60,
		CurrentHp:      60,
		Inventory:      [4]int{18, 19, 0, 0},
		Spellbook:      []int{16, 23},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{Thunder},
		CondImmunities: []int{1, 9, 12},
		Class:          Hybrid,
	},
	{
		Id:             19,
		Name:           "Black Dragon",
		Might:          6,
		Power:          6,
		Speed:          4,
		Mind:           6,
		MaxHp:          60,
		CurrentHp:      60,
		Inventory:      [4]int{18, 19, 0, 0},
		Spellbook:      []int{1, 14},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{Earth},
		CondImmunities: []int{1, 12, 14},
		Class:          Hybrid,
	},
	{
		Id:             20,
		Name:           "Red Dragon",
		Might:          7,
		Power:          6,
		Speed:          4,
		Mind:           6,
		MaxHp:          60,
		CurrentHp:      60,
		Inventory:      [4]int{18, 19, 0, 0},
		Spellbook:      []int{11, 22},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{Fire},
		CondImmunities: []int{1, 4, 12},
		Class:          Hybrid,
	},
	{
		Id:             21,
		Name:           "White Dragon",
		Might:          6,
		Power:          6,
		Speed:          4,
		Mind:           6,
		MaxHp:          60,
		CurrentHp:      60,
		Inventory:      [4]int{18, 19, 0, 0},
		Spellbook:      []int{13, 21},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{Cold},
		CondImmunities: []int{1, 11, 12},
		Class:          Hybrid,
	},
	{
		Id:             22,
		Name:           "Shadow Dragon",
		Might:          6,
		Power:          6,
		Speed:          4,
		Mind:           6,
		MaxHp:          60,
		CurrentHp:      60,
		Inventory:      [4]int{18, 19, 0, 0},
		Spellbook:      []int{2, 19},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{Necrotic},
		CondImmunities: []int{1, 7, 12},
		Class:          Hybrid,
	},
	{
		Id:             23,
		Name:           "Air Elemental",
		Might:          2,
		Power:          2,
		Speed:          4,
		Mind:           1,
		MaxHp:          30,
		CurrentHp:      30,
		Inventory:      [4]int{20, 0, 0, 0},
		Spellbook:      []int{16},
		Resistances:    []DamageResistance{{DamageType: Thunder, Resistance: 2}},
		Immunities:     []DamageType{Earth},
		CondImmunities: []int{2, 3, 10, 12, 13, 14},
		Class:          Caster,
	},
	{
		Id:              24,
		Name:            "Earth Elemental",
		Might:           4,
		Power:           2,
		Speed:           1,
		Mind:            2,
		MaxHp:           35,
		CurrentHp:       35,
		Inventory:       [4]int{20, 0, 21, 0},
		Spellbook:       []int{27},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth},
		Vulnerabilities: []DamageType{Thunder},
		CondImmunities:  []int{2, 3, 12, 13, 14},
		Class:           Hybrid,
	},
	{
		Id:              25,
		Name:            "Fire Elemental",
		Might:           2,
		Power:           4,
		Speed:           2,
		Mind:            1,
		MaxHp:           30,
		CurrentHp:       30,
		Inventory:       [4]int{20, 0, 0, 0},
		Spellbook:       []int{11},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth, Fire},
		Vulnerabilities: []DamageType{Cold},
		CondImmunities:  []int{2, 3, 4, 12, 13, 14},
		Class:           Caster,
	},
	{
		Id:              26,
		Name:            "Water Elemental",
		Might:           3,
		Power:           3,
		Speed:           3,
		Mind:            1,
		MaxHp:           35,
		CurrentHp:       35,
		Inventory:       [4]int{20, 0, 0, 0},
		Spellbook:       []int{13, 21},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth},
		Vulnerabilities: []DamageType{},
		CondImmunities:  []int{2, 12, 13, 14},
		Class:           Hybrid,
	},
	{
		Id:             27,
		Name:           "Deep Elf Warrior",
		Might:          2,
		Power:          1,
		Speed:          2,
		Mind:           1,
		MaxHp:          25,
		CurrentHp:      25,
		Inventory:      [4]int{22, 0, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{1},
		Class:          Fighter,
	},
	{
		Id:             28,
		Name:           "Deep Elf Mage",
		Might:          1,
		Power:          2,
		Speed:          2,
		Mind:           1,
		MaxHp:          25,
		CurrentHp:      25,
		Inventory:      [4]int{1, 0, 0, 0},
		Spellbook:      []int{9, 16, 21},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{1},
		Class:          Caster,
	},
	{
		Id:             29,
		Name:           "Deep Elf Priestess",
		Might:          2,
		Power:          1,
		Speed:          2,
		Mind:           1,
		MaxHp:          25,
		CurrentHp:      25,
		Inventory:      [4]int{23, 0, 0, 0},
		Spellbook:      []int{3, 7, 10},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{1},
		Class:          Hybrid,
	},
	{
		Id:             30,
		Name:           "Ghoul",
		Might:          2,
		Power:          1,
		Speed:          2,
		Mind:           1,
		MaxHp:          25,
		CurrentHp:      25,
		Inventory:      [4]int{16, 0, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{Earth, Necrotic},
		CondImmunities: []int{1, 7, 12, 14},
		Class:          Fighter,
	},
	{
		Id:              31,
		Name:            "Fire Giant",
		Might:           5,
		Power:           3,
		Speed:           2,
		Mind:            2,
		MaxHp:           45,
		CurrentHp:       45,
		Inventory:       [4]int{5, 0, 0, 0},
		Spellbook:       []int{11},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Fire},
		Vulnerabilities: []DamageType{Cold},
		CondImmunities:  []int{4},
		Class:           Hybrid,
	},
	{
		Id:              32,
		Name:            "Frost Giant",
		Might:           5,
		Power:           3,
		Speed:           2,
		Mind:            2,
		MaxHp:           45,
		CurrentHp:       45,
		Inventory:       [4]int{24, 0, 0, 0},
		Spellbook:       []int{13},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Cold},
		Vulnerabilities: []DamageType{Fire},
		CondImmunities:  []int{11},
		Class:           Hybrid,
	},
	{
		Id:              33,
		Name:            "Storm Giant",
		Might:           5,
		Power:           3,
		Speed:           2,
		Mind:            2,
		MaxHp:           45,
		CurrentHp:       45,
		Inventory:       [4]int{5, 0, 0, 0},
		Spellbook:       []int{16},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Thunder},
		Vulnerabilities: []DamageType{},
		CondImmunities:  []int{9},
		Class:           Hybrid,
	},
	{
		Id:             34,
		Name:           "Gnoll",
		Might:          2,
		Power:          1,
		Speed:          2,
		Mind:           1,
		MaxHp:          25,
		CurrentHp:      25,
		Inventory:      [4]int{25, 0, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Fighter,
	},
	{
		Id:             35,
		Name:           "Lich",
		Might:          1,
		Power:          5,
		Speed:          2,
		Mind:           5,
		MaxHp:          35,
		CurrentHp:      35,
		Inventory:      [4]int{1, 0, 0, 0},
		Spellbook:      []int{2, 3, 5, 11, 19},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{Earth, Necrotic},
		CondImmunities: []int{1, 7, 12, 14},
		Class:          Caster,
	},
	{
		Id:              36,
		Name:            "Mummy",
		Might:           3,
		Power:           1,
		Speed:           2,
		Mind:            1,
		MaxHp:           35,
		CurrentHp:       35,
		Inventory:       [4]int{16, 0, 0, 0},
		Spellbook:       []int{},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth, Necrotic},
		Vulnerabilities: []DamageType{Fire},
		CondImmunities:  []int{1, 7, 12, 14, 15},
		Class:           Fighter,
	},
	{
		Id:             37,
		Name:           "Ogre",
		Might:          4,
		Power:          1,
		Speed:          2,
		Mind:           1,
		MaxHp:          35,
		CurrentHp:      35,
		Inventory:      [4]int{12, 0, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Fighter,
	},
	{
		Id:             38,
		Name:           "Orc",
		Might:          2,
		Power:          1,
		Speed:          2,
		Mind:           1,
		MaxHp:          25,
		CurrentHp:      25,
		Inventory:      [4]int{25, 0, 0, 0},
		Spellbook:      []int{},
		Resistances:    []DamageResistance{},
		Immunities:     []DamageType{},
		CondImmunities: []int{},
		Class:          Fighter,
	},
	{
		Id:              39,
		Name:            "Salamander",
		Might:           3,
		Power:           2,
		Speed:           2,
		Mind:            1,
		MaxHp:           35,
		CurrentHp:       35,
		Inventory:       [4]int{11, 0, 0, 0},
		Spellbook:       []int{11},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Fire},
		Vulnerabilities: []DamageType{Cold},
		CondImmunities:  []int{4},
		Class:           Hybrid,
	},
	{
		Id:              40,
		Name:            "Skeleton",
		Might:           1,
		Power:           1,
		Speed:           1,
		Mind:            1,
		MaxHp:           20,
		CurrentHp:       20,
		Inventory:       [4]int{4, 0, 0, 0},
		Spellbook:       []int{},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth},
		Vulnerabilities: []DamageType{Bludgeoning},
		CondImmunities:  []int{1, 2, 3, 14},
		Class:           Fighter,
	},
	{
		Id:              41,
		Name:            "Blackbone Skeleton",
		Might:           1,
		Power:           1,
		Speed:           1,
		Mind:            1,
		MaxHp:           20,
		CurrentHp:       20,
		Inventory:       [4]int{26, 0, 0, 0},
		Spellbook:       []int{},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth, Fire},
		Vulnerabilities: []DamageType{Bludgeoning, Cold},
		CondImmunities:  []int{1, 2, 3, 4, 14},
		Class:           Fighter,
	},
	{
		Id:              42,
		Name:            "Frostmarrow Skeleton",
		Might:           1,
		Power:           1,
		Speed:           1,
		Mind:            1,
		MaxHp:           20,
		CurrentHp:       20,
		Inventory:       [4]int{27, 0, 0, 0},
		Spellbook:       []int{},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Cold, Earth},
		Vulnerabilities: []DamageType{Bludgeoning, Fire},
		CondImmunities:  []int{1, 2, 3, 11, 14},
		Class:           Fighter,
	},
	{
		Id:              43,
		Name:            "Tarrasque",
		Might:           7,
		Power:           5,
		Speed:           2,
		Mind:            5,
		MaxHp:           70,
		CurrentHp:       70,
		Inventory:       [4]int{18, 19, 21, 0},
		Spellbook:       []int{},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth, Fire},
		Vulnerabilities: []DamageType{},
		CondImmunities:  []int{4, 12, 14},
		Class:           Fighter,
	},
	{
		Id:              44,
		Name:            "Treant",
		Might:           5,
		Power:           1,
		Speed:           1,
		Mind:            1,
		MaxHp:           40,
		CurrentHp:       40,
		Inventory:       [4]int{20, 0, 0, 0},
		Spellbook:       []int{},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{},
		Vulnerabilities: []DamageType{Fire},
		CondImmunities:  []int{},
		Class:           Fighter,
	},
	{
		Id:              45,
		Name:            "Troll",
		Might:           4,
		Power:           1,
		Speed:           2,
		Mind:            1,
		MaxHp:           35,
		CurrentHp:       35,
		Inventory:       [4]int{16, 0, 0, 0},
		Spellbook:       []int{},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{},
		Vulnerabilities: []DamageType{Fire},
		CondImmunities:  []int{},
		Class:           Fighter,
	},
	{
		Id:              46,
		Name:            "Vampire",
		Might:           4,
		Power:           3,
		Speed:           4,
		Mind:            3,
		MaxHp:           35,
		CurrentHp:       35,
		Inventory:       [4]int{28, 0, 0, 0},
		Spellbook:       []int{15, 19},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth, Necrotic},
		Vulnerabilities: []DamageType{Radiant},
		CondImmunities:  []int{1, 7, 12, 14},
		Class:           Hybrid,
	},
	{
		Id:              47,
		Name:            "Zombie",
		Might:           2,
		Power:           1,
		Speed:           1,
		Mind:            1,
		MaxHp:           25,
		CurrentHp:       25,
		Inventory:       [4]int{10, 0, 0, 0},
		Spellbook:       []int{},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth, Necrotic},
		Vulnerabilities: []DamageType{},
		CondImmunities:  []int{1, 7, 12, 14},
		Class:           Fighter,
	},
	{
		Id:              48,
		Name:            "Ghost",
		Might:           2,
		Power:           1,
		Speed:           3,
		Mind:            1,
		MaxHp:           25,
		CurrentHp:       25,
		Inventory:       [4]int{8, 0, 0, 0},
		Spellbook:       []int{},
		Resistances:     []DamageResistance{},
		Immunities:      []DamageType{Earth, Necrotic},
		Vulnerabilities: []DamageType{},
		CondImmunities:  []int{1, 2, 3, 7, 10, 12, 13, 14},
		Class:           Fighter,
	},
}
View Source
var Players []Character = []Character{
	{
		Id:        1,
		Name:      "Barbarian",
		Might:     3,
		Power:     1,
		Speed:     3,
		Mind:      1,
		MaxHp:     30,
		CurrentHp: 30,
		Inventory: [4]int{5, 0, 0, 0},
		Spellbook: []int{27},
	},
	{
		Id:        2,
		Name:      "Cleric",
		Might:     2,
		Power:     3,
		Speed:     1,
		Mind:      2,
		MaxHp:     30,
		CurrentHp: 30,
		Inventory: [4]int{2, 0, 0, 0},
		Spellbook: []int{7, 8, 10, 24, 26},
	},
	{
		Id:        3,
		Name:      "Druid",
		Might:     2,
		Power:     3,
		Speed:     2,
		Mind:      1,
		MaxHp:     30,
		CurrentHp: 30,
		Inventory: [4]int{1, 0, 0, 0},
		Spellbook: []int{1, 12, 14, 17, 25, 27},
	},
	{
		Id:        4,
		Name:      "Mentalist",
		Might:     1,
		Power:     3,
		Speed:     1,
		Mind:      3,
		MaxHp:     30,
		CurrentHp: 30,
		Inventory: [4]int{1, 0, 0, 0},
		Spellbook: []int{4, 18, 20},
	},
	{
		Id:        5,
		Name:      "Warlock",
		Might:     2,
		Power:     3,
		Speed:     1,
		Mind:      2,
		MaxHp:     30,
		CurrentHp: 30,
		Inventory: [4]int{4, 0, 0, 0},
		Spellbook: []int{2, 3, 5, 6, 15, 19},
	},
	{
		Id:        6,
		Name:      "Wizard",
		Might:     1,
		Power:     3,
		Speed:     1,
		Mind:      3,
		MaxHp:     30,
		CurrentHp: 30,
		Inventory: [4]int{1, 0, 0, 0},
		Spellbook: []int{6, 9, 11, 13, 16, 21, 22, 23},
	},
}
View Source
var Spells []Spell = []Spell{
	{},
	{
		Id:         1,
		Name:       "Acid Arrow",
		Type:       DirectDamage,
		DamageType: Earth,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Acid Arrow for %d Earth damage.",
		MissQuote:  "%s cast Acid Arrow but %s successfully avoided the spell!",
		FailQuote:  "%s cast Acid Arrow but %s is immune!",
		ExtraQuote: "",
	},
	{
		Id:         2,
		Name:       "Bestow Curse",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  7,
		Effect:     0,
		HitQuote:   "%s cast Bestow Curse. %s is Cursed!",
		MissQuote:  "%s cast Bestow Curse, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Bestow Curse, but %s is already Cursed!",
		ExtraQuote: "%s cast Bestow Curse, but %s is immune!",
	},
	{
		Id:         3,
		Name:       "Cause Fear",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  15,
		Effect:     0,
		HitQuote:   "%s cast Cause Fear. %s is Scared!",
		MissQuote:  "%s cast Cause Fear, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Cause Fear, but %s is already Scared!",
		ExtraQuote: "%s cast Cause Fear, but %s is immune!",
	},
	{
		Id:         4,
		Name:       "Charm",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  5,
		Effect:     0,
		HitQuote:   "%s cast Charm. %s is Charmed!",
		MissQuote:  "%s cast Charm, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Charm, but %s is already Charmed!",
		ExtraQuote: "%s cast Charm, but %s is immune!",
	},
	{
		Id:         5,
		Name:       "Chill Touch",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  12,
		Effect:     0,
		HitQuote:   "%s cast Chill Touch. %s is Paralyzed!",
		MissQuote:  "%s cast Chill Touch, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Chill Touch, but %s is already Paralyzed!",
		ExtraQuote: "%s cast Chill Touch, but %s is immune!",
	},
	{
		Id:        6,
		Name:      "Counterspell",
		Type:      ActivateEffect,
		Variable:  0,
		Condition: 0,
		Effect:    Counterspell,
		HitQuote:  "%s cast Counterspell. The next offensive spell cast against them will be negated!",
		MissQuote: "%s cast Counterspell, but the spell failed!",
		FailQuote: "%s cast Counterspell, but the spell is already activated!",
	},
	{
		Id:        7,
		Name:      "Cure Wounds",
		Type:      Healing,
		Variable:  2,
		Condition: 0,
		Effect:    0,
		HitQuote:  "%s cast Cure Wounds and healed for %d HP!",
		MissQuote: "%s cast Cure Wounds, but they're already full HP.",
	},
	{
		Id:        8,
		Name:      "Death Pact",
		Type:      ActivateEffect,
		Variable:  0,
		Condition: 0,
		Effect:    NoDeath,
		HitQuote:  "%s cast Death Pact. Death will spare them once!",
		MissQuote: "%s cast Death Pact, but they've failed having the Reaper answer their bidding!",
		FailQuote: "%s cast Death Pact, but the Reaper already fulfilled their request!",
	},
	{
		Id:         9,
		Name:       "Deep Slumber",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  1,
		Effect:     0,
		HitQuote:   "%s cast Deep Slumber. %s is Asleep!",
		MissQuote:  "%s cast Deep Slumber, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Deep Slumber, but %s is already Asleep!",
		ExtraQuote: "%s cast Deep Slumber, but %s is immune!",
	},
	{
		Id:         10,
		Name:       "Divine Punishment",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  8,
		Effect:     0,
		HitQuote:   "%s cast Divine Punishment. %s is Doomed!",
		MissQuote:  "%s cast Divine Punishment, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Divine Punishment, but %s is already Doomed!",
		ExtraQuote: "%s cast Divine Punishment, but %s is immune!",
	},
	{
		Id:         11,
		Name:       "Fireball",
		Type:       DirectDamage,
		DamageType: Fire,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Fireball for %d Fire damage.",
		MissQuote:  "%s cast Fireball but %s successfully avoided the spell!",
		FailQuote:  "%s cast Fireball but %s is immune!",
		ExtraQuote: "",
	},
	{
		Id:         12,
		Name:       "Flesh to Stone",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  13,
		Effect:     0,
		HitQuote:   "%s cast Flesh to Stone. %s is Petrified!",
		MissQuote:  "%s cast Flesh to Stone, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Flesh to Stone, but %s is already Petrified!",
		ExtraQuote: "%s cast Flesh to Stone, but %s is immune!",
	},
	{
		Id:         13,
		Name:       "Ice Spike",
		Type:       DirectDamage,
		DamageType: Cold,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Ice Spike for %d Cold damage.",
		MissQuote:  "%s cast Ice Spike but %s successfully avoided the spell!",
		FailQuote:  "%s cast Ice Spike but %s is immune!",
		ExtraQuote: "",
	},
	{
		Id:         14,
		Name:       "Insidious Spores",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  14,
		Effect:     0,
		HitQuote:   "%s cast Insidious Spores. %s is Poisoned!",
		MissQuote:  "%s cast Insidious Spores, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Insidious Spores, but %s is already Poisoned!",
		ExtraQuote: "%s cast Insidious Spores, but %s is immune!",
	},
	{
		Id:         15,
		Name:       "Life Drain",
		Type:       Drain,
		DamageType: Necrotic,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Life Drain for %d Necrotic damage and healed for %d HP.",
		MissQuote:  "%s cast Life Drain but %s successfully avoided the spell!",
		FailQuote:  "%s cast Life Drain but %s is immune!",
		ExtraQuote: "",
	},
	{
		Id:         16,
		Name:       "Lightning Bolt",
		Type:       DirectDamage,
		DamageType: Thunder,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Lightning Bolt for %d Thunder damage.",
		MissQuote:  "%s cast Lightning Bolt but %s successfully avoided the spell!",
		FailQuote:  "%s cast Lightning Bolt but %s is immune!",
		ExtraQuote: "",
	},
	{
		Id:         17,
		Name:       "Living Vines",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  10,
		Effect:     0,
		HitQuote:   "%s cast Living Vines. %s is Entangled!",
		MissQuote:  "%s cast Living Vines, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Living Vines, but %s is already Entangled!",
		ExtraQuote: "%s cast Living Vines, but %s is immune!",
	},
	{
		Id:         18,
		Name:       "Mind Blast",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  6,
		Effect:     0,
		HitQuote:   "%s cast Mind Blast. %s is Confused!",
		MissQuote:  "%s cast Mind Blast, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Mind Blast, but %s is already Confused!",
		ExtraQuote: "%s cast Mind Blast, but %s is immune!",
	},
	{
		Id:         19,
		Name:       "Necrotic Bolt",
		Type:       DirectDamage,
		DamageType: Necrotic,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Necrotic Bolt for %d Necrotic damage.",
		MissQuote:  "%s cast Necrotic Bolt but %s successfully avoided the spell!",
		FailQuote:  "%s cast Necrotic Bolt but %s is immune!",
		ExtraQuote: "",
	},
	{
		Id:         20,
		Name:       "Psybolt",
		Type:       DirectDamage,
		DamageType: Psychic,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Psybolt for %d Psychic damage.",
		MissQuote:  "%s cast Psybolt but %s successfully avoided the spell!",
		FailQuote:  "%s cast Psybolt but %s is immune!",
		ExtraQuote: "",
	},
	{
		Id:         21,
		Name:       "Ray of Frost",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  11,
		Effect:     0,
		HitQuote:   "%s cast Ray of Frost. %s is Frozen!",
		MissQuote:  "%s cast Ray of Frost, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Ray of Frost, but %s is already Frozen!",
		ExtraQuote: "%s cast Ray of Frost, but %s is immune!",
	},
	{
		Id:         22,
		Name:       "Scorching Ray",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  4,
		Effect:     0,
		HitQuote:   "%s cast Scorching Ray. %s is Burned!",
		MissQuote:  "%s cast Scorching Ray, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Scorching Ray, but %s is already Burned!",
		ExtraQuote: "%s cast Scorching Ray, but %s is immune!",
	},
	{
		Id:         23,
		Name:       "Shocking Touch",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  9,
		Effect:     0,
		HitQuote:   "%s cast Shocking Touch. %s is Electrified!",
		MissQuote:  "%s cast Shocking Touch, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Shocking Touch, but %s is already Electrified!",
		ExtraQuote: "%s cast Shocking Touch, but %s is immune!",
	},
	{
		Id:         24,
		Name:       "Silence",
		Type:       CauseCondition,
		Variable:   0,
		Condition:  16,
		Effect:     0,
		HitQuote:   "%s cast Silence. %s is Silenced!",
		MissQuote:  "%s cast Silence, but %s resisted and the spell failed!",
		FailQuote:  "%s cast Silence, but %s is already Silenced!",
		ExtraQuote: "%s cast Silence, but %s is immune!",
	},
	{
		Id:         25,
		Name:       "Spike Growth",
		Type:       DirectDamage,
		DamageType: Piercing,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Spike Growth for %d Piercing damage.",
		MissQuote:  "%s cast Spike Growth but %s successfully avoided the spell!",
		FailQuote:  "%s cast Spike Growth but %s is immune!",
		ExtraQuote: "",
	},
	{
		Id:         26,
		Name:       "Sun Bolt",
		Type:       DirectDamage,
		DamageType: Radiant,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Sun Bolt for %d Radiant damage.",
		MissQuote:  "%s cast Sun Bolt but %s successfully avoided the spell!",
		FailQuote:  "%s cast Sun Bolt but %s is immune!",
		ExtraQuote: "",
	},
	{
		Id:         27,
		Name:       "Tremor",
		Type:       DirectDamage,
		DamageType: Bludgeoning,
		Variable:   2,
		Condition:  0,
		Effect:     0,
		HitQuote:   "%s cast Tremor for %d Bludgeoning damage.",
		MissQuote:  "%s cast Tremor but %s successfully avoided the spell!",
		FailQuote:  "%s cast Tremor but %s is immune!",
		ExtraQuote: "",
	},
}

Functions

func ResetCharacterData

func ResetCharacterData()

func SaveCharacter

func SaveCharacter(char Character, isPlayer bool)

Types

type ActiveCondition

type ActiveCondition struct {
	Duration  int
	Condition Condition
}

type BattleEffect

type BattleEffect int
const (
	NoDeath BattleEffect = iota
	Counterspell
)

type Character

type Character struct {
	Id              int
	Name            string
	Might           int
	Power           int
	Speed           int
	Mind            int
	CurrentHp       int
	MaxHp           int
	Inventory       [4]int
	PrimarySlot     Item
	SecondarySlot   Item
	Armor           Item
	Ring            Item
	Spellbook       []int
	Spells          []Spell
	Resistances     []DamageResistance
	Immunities      []DamageType
	Vulnerabilities []DamageType
	Conditions      []ActiveCondition
	CondImmunities  []int
	Effects         []BattleEffect
	Class           CharacterClass
	IsInit          bool
}

func GenerateMonster

func GenerateMonster() Character

func GeneratePlayer

func GeneratePlayer() Character

func LoadCharacter

func LoadCharacter(isPlayer bool) Character

func NewCharacter

func NewCharacter() *Character

func (*Character) InitCharacter

func (c *Character) InitCharacter()

type CharacterClass

type CharacterClass int
const (
	Fighter CharacterClass = iota
	Caster
	Hybrid
)

type Condition

type Condition struct {
	Id          int
	Name        string
	Type        ConditionType
	MinDuration int
	MaxDuration int
	DamageType  DamageType
	ActiveQuote string
	EndQuote    string
	FailQuote   string
}

type ConditionType

type ConditionType int
const (
	NoActions ConditionType = iota
	DoDamage
	NoSpells
	NoOffensiveAction
)

type DamageResistance

type DamageResistance struct {
	DamageType DamageType
	Resistance int
}

type DamageType

type DamageType int
const (
	Bludgeoning DamageType = iota
	Slashing
	Piercing
	Fire
	Cold
	Thunder
	Earth
	Radiant
	Necrotic
	Psychic
)

func (DamageType) String

func (dt DamageType) String() string

type Enchantment

type Enchantment struct {
	Id         int
	Name       string
	Type       EnchantmentType
	Variable   int
	DamageType DamageType
}

type EnchantmentType

type EnchantmentType int
const (
	AttributeBonus EnchantmentType = iota
	ConditionImmunity
	ResistanceDamage
	ImmunityDamage
	Imbuement
	VampiricWeapon
)

type Item

type Item struct {
	Id           int
	Name         string
	Type         ItemType
	DamageType   DamageType
	Damage       int
	Armor        int
	Attack       int
	Defense      int
	Initiative   int
	Enchantments []int
}

type ItemType

type ItemType int
const (
	Weapon ItemType = iota
	Shield
	Armor
	Ring
)

type Spell

type Spell struct {
	Id         int
	Name       string
	Type       SpellType
	DamageType DamageType
	Variable   int
	Condition  int
	Effect     BattleEffect
	HitQuote   string
	MissQuote  string
	FailQuote  string
	ExtraQuote string
}

type SpellType

type SpellType int
const (
	Healing SpellType = iota
	CauseCondition
	DirectDamage
	Drain
	ActivateEffect
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL