Added a builder for elements and made the buttons and damage bursts reflect the elemental color

This commit is contained in:
James Daly
2019-06-23 21:25:08 -04:00
parent 11b03b02d2
commit 4d456d7e5d
10 changed files with 1003 additions and 170 deletions

View File

@@ -2,15 +2,15 @@ package fmon.stat
import scala.io.Source
import scalafx.scene.paint.Color
import fmon.util.YamlHelper
case class Element(val name : String, val effect : Map[String, Double]) {
case class Element(val name : String, val bgColor: Color, val fontColor: Color, val effect : Map[String, Double]) {
def -->(other : Element) = {
effect.getOrElse(other.name, 1.0)
}
def -->(other : Element) = other <-- this
def <--(other : Element) = other --> this
def <--(other : Element) = effect.getOrElse(other.name, 1.0)
override def toString = name
}

View File

@@ -1,174 +1,523 @@
Bug:
effect:
Dark: 2.0
Fairy: 0.5
Fighting: 0.5
Fire: 0.5
Flying: 0.5
Ghost: 0.5
Grass: 2.0
Poison: 0.5
Psychic: 2.0
Steel: 0.5
name: Bug
Dark:
effect:
Dark: 0.5
Fairy: 0.5
Fighting: 0.5
Ghost: 2.0
Psychic: 2.0
name: Dark
Dragon:
effect:
Dragon: 2.0
Fairy: 0.0
Steel: 0.5
name: Dragon
Electric:
effect:
Dragon: 0.5
Electric: 0.5
Flying: 2.0
Grass: 0.5
Ground: 0.0
Water: 2.0
name: Electric
Fairy:
effect:
Dark: 2.0
Dragon: 2.0
Fighting: 2.0
Fire: 0.5
Poison: 0.5
Steel: 0.5
name: Fairy
Fighting:
effect:
Bug: 0.5
Dark: 2.0
Fairy: 0.5
Flying: 0.5
Ghost: 0.0
Ice: 2.0
Normal: 2.0
Poison: 0.5
Psychic: 0.5
Rock: 2.0
Steel: 2.0
name: Fighting
Fire:
effect:
Bug: 2.0
Dragon: 0.5
Fire: 0.5
Grass: 2.0
Ice: 2.0
Rock: 0.5
Steel: 2.0
Water: 0.5
name: Fire
Flying:
effect:
Bug: 2.0
Electric: 0.5
Fighting: 2.0
Grass: 2.0
Rock: 0.5
Steel: 0.5
name: Flying
Ghost:
effect:
Dark: 0.5
Ghost: 2.0
Normal: 0.0
Psychic: 2.0
name: Ghost
Grass:
effect:
Bug: 0.5
Dragon: 0.5
Fire: 0.5
Flying: 0.5
Grass: 0.5
Ground: 2.0
Poison: 0.5
Rock: 2.0
Steel: 0.5
Water: 2.0
name: Grass
Ground:
effect:
Bug: 0.5
Electric: 2.0
Fire: 2.0
Flying: 0.0
Grass: 0.5
Poison: 2.0
Rock: 2.0
Steel: 2.0
name: Ground
Ice:
effect:
Dragon: 2.0
Fire: 0.5
Flying: 2.0
Grass: 2.0
Ground: 2.0
Ice: 0.5
Steel: 0.5
Water: 0.5
name: Ice
---
Normal:
name: "Normal"
bgColor:
red: 0.501960813999176
green: 0.501960813999176
blue: 0.501960813999176
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 1.0
Poison: 1.0
Rock: 1.0
Flying: 1.0
Ghost: 0.0
Rock: 0.5
Steel: 0.5
name: Normal
Poison:
Ice: 1.0
Water: 1.0
Fighting: 2.0
Ground: 1.0
Steel: 1.0
Bug: 1.0
Fire: 1.0
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 1.0
Dark: 1.0
Electric:
name: "Electric"
bgColor:
red: 0.9019607901573181
green: 0.9019607901573181
blue: 0.3019607961177826
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Fairy: 2.0
Ghost: 0.5
Normal: 1.0
Electric: 0.5
Poison: 1.0
Rock: 1.0
Flying: 0.5
Ghost: 1.0
Ice: 1.0
Water: 1.0
Fighting: 1.0
Ground: 2.0
Steel: 0.5
Bug: 1.0
Fire: 1.0
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 1.0
Dark: 1.0
Poison:
name: "Poison"
bgColor:
red: 0.6000000238418579
green: 0.4000000059604645
blue: 0.6000000238418579
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 1.0
Poison: 0.5
Rock: 1.0
Flying: 1.0
Ghost: 1.0
Ice: 1.0
Water: 1.0
Fighting: 0.5
Ground: 2.0
Steel: 1.0
Bug: 0.5
Fire: 1.0
Fairy: 0.5
Dragon: 1.0
Psychic: 2.0
Grass: 0.5
Dark: 1.0
Rock:
name: "Rock"
bgColor:
red: 0.6000000238418579
green: 0.4000000059604645
blue: 0.0
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 0.5
Electric: 1.0
Poison: 0.5
Rock: 1.0
Flying: 0.5
Ghost: 1.0
Ice: 1.0
Water: 2.0
Fighting: 2.0
Ground: 2.0
Steel: 2.0
Bug: 1.0
Fire: 0.5
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 2.0
Ground: 0.5
Dark: 1.0
Flying:
name: "Flying"
bgColor:
red: 0.7019608020782471
green: 0.6000000238418579
blue: 1.0
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 2.0
Poison: 1.0
Rock: 2.0
Flying: 1.0
Ghost: 1.0
Ice: 2.0
Water: 1.0
Fighting: 0.5
Ground: 0.0
Steel: 1.0
Bug: 0.5
Fire: 1.0
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 0.5
Dark: 1.0
Ghost:
name: "Ghost"
bgColor:
red: 0.501960813999176
green: 0.3019607961177826
blue: 0.501960813999176
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 0.0
Electric: 1.0
Poison: 0.5
Rock: 1.0
Flying: 1.0
Ghost: 2.0
Ice: 1.0
Water: 1.0
Fighting: 0.0
Ground: 1.0
Steel: 1.0
Bug: 0.5
Fire: 1.0
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 1.0
Dark: 2.0
Ice:
name: "Ice"
bgColor:
red: 0.7019608020782471
green: 0.9019607901573181
blue: 0.9019607901573181
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 1.0
Poison: 1.0
Rock: 2.0
Flying: 1.0
Ghost: 1.0
Ice: 0.5
Water: 1.0
Fighting: 2.0
Ground: 1.0
Steel: 2.0
Bug: 1.0
Fire: 2.0
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 1.0
Dark: 1.0
Water:
name: "Water"
bgColor:
red: 0.501960813999176
green: 0.6000000238418579
blue: 1.0
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 2.0
Poison: 1.0
Rock: 1.0
Flying: 1.0
Ghost: 1.0
Ice: 0.5
Water: 0.5
Fighting: 1.0
Ground: 1.0
Steel: 0.5
Bug: 1.0
Fire: 0.5
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 2.0
Dark: 1.0
Fighting:
name: "Fighting"
bgColor:
red: 0.800000011920929
green: 0.20000000298023224
blue: 0.20000000298023224
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 1.0
Poison: 1.0
Rock: 0.5
Flying: 2.0
Ghost: 1.0
Ice: 1.0
Water: 1.0
Fighting: 1.0
Ground: 1.0
Steel: 1.0
Bug: 0.5
Fire: 1.0
Fairy: 2.0
Dragon: 1.0
Psychic: 2.0
Grass: 1.0
Dark: 0.5
Ground:
name: "Ground"
bgColor:
red: 0.9019607901573181
green: 0.7019608020782471
blue: 0.3019607961177826
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 0.0
Poison: 0.5
Rock: 0.5
Steel: 0.0
name: Poison
Psychic:
effect:
Dark: 0.0
Fighting: 2.0
Poison: 2.0
Psychic: 0.5
Steel: 0.5
name: Psychic
Rock:
effect:
Bug: 2.0
Fighting: 0.5
Fire: 2.0
Flying: 2.0
Ground: 0.5
Flying: 1.0
Ghost: 1.0
Ice: 2.0
Steel: 0.5
name: Rock
Water: 2.0
Fighting: 1.0
Ground: 1.0
Steel: 1.0
Bug: 1.0
Fire: 1.0
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 2.0
Dark: 1.0
Steel:
name: "Steel"
bgColor:
red: 0.800000011920929
green: 0.800000011920929
blue: 0.800000011920929
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Electric: 0.5
Fairy: 2.0
Fire: 0.5
Ice: 2.0
Rock: 2.0
Steel: 0.5
Water: 0.5
name: Steel
Water:
effect:
Dragon: 0.5
Fire: 2.0
Grass: 0.5
Normal: 0.5
Electric: 1.0
Poison: 0.0
Rock: 0.5
Flying: 0.5
Ghost: 1.0
Ice: 0.5
Water: 1.0
Fighting: 2.0
Ground: 2.0
Steel: 0.5
Bug: 0.5
Fire: 2.0
Fairy: 0.5
Dragon: 0.5
Psychic: 0.5
Grass: 0.5
Dark: 1.0
Bug:
name: "Bug"
bgColor:
red: 0.7019608020782471
green: 0.9019607901573181
blue: 0.7019608020782471
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 1.0
Poison: 1.0
Rock: 2.0
Flying: 2.0
Ghost: 1.0
Ice: 1.0
Water: 1.0
Fighting: 0.5
Ground: 0.5
Steel: 1.0
Bug: 1.0
Fire: 2.0
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 0.5
Dark: 1.0
Fire:
name: "Fire"
bgColor:
red: 0.9019607901573181
green: 0.501960813999176
blue: 0.3019607961177826
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 1.0
Poison: 1.0
Rock: 2.0
Flying: 1.0
Ghost: 1.0
Ice: 0.5
Water: 2.0
Fighting: 1.0
Ground: 2.0
Steel: 0.5
Bug: 0.5
Fire: 0.5
Fairy: 0.5
Dragon: 1.0
Psychic: 1.0
Grass: 0.5
Dark: 1.0
Fairy:
name: "Fairy"
bgColor:
red: 0.9019607901573181
green: 0.7019608020782471
blue: 0.800000011920929
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 1.0
Poison: 2.0
Rock: 1.0
Flying: 1.0
Ghost: 1.0
Ice: 1.0
Water: 1.0
Fighting: 0.5
Ground: 1.0
Steel: 2.0
Bug: 0.5
Fire: 1.0
Fairy: 1.0
Dragon: 0.0
Psychic: 1.0
Grass: 1.0
Dark: 0.5
Dragon:
name: "Dragon"
bgColor:
red: 0.4000000059604645
green: 0.20000000298023224
blue: 0.4000000059604645
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 0.5
Poison: 1.0
Rock: 1.0
Flying: 1.0
Ghost: 1.0
Ice: 2.0
Water: 0.5
name: Water
Fighting: 1.0
Ground: 1.0
Steel: 1.0
Bug: 1.0
Fire: 0.5
Fairy: 2.0
Dragon: 2.0
Psychic: 1.0
Grass: 0.5
Dark: 1.0
Psychic:
name: "Psychic"
bgColor:
red: 1.0
green: 0.501960813999176
blue: 0.501960813999176
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 1.0
Poison: 1.0
Rock: 1.0
Flying: 1.0
Ghost: 2.0
Ice: 1.0
Water: 1.0
Fighting: 0.5
Ground: 1.0
Steel: 1.0
Bug: 2.0
Fire: 1.0
Fairy: 1.0
Dragon: 1.0
Psychic: 0.5
Grass: 1.0
Dark: 2.0
Grass:
name: "Grass"
bgColor:
red: 0.6000000238418579
green: 0.800000011920929
blue: 0.6000000238418579
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 0.5
Poison: 2.0
Rock: 1.0
Flying: 2.0
Ghost: 1.0
Ice: 2.0
Water: 0.5
Fighting: 1.0
Ground: 0.5
Steel: 1.0
Bug: 2.0
Fire: 2.0
Fairy: 1.0
Dragon: 1.0
Psychic: 1.0
Grass: 0.5
Dark: 1.0
Dark:
name: "Dark"
bgColor:
red: 0.3019607961177826
green: 0.3019607961177826
blue: 0.3019607961177826
fontColor:
red: 0.0
green: 0.0
blue: 0.0
effect:
Normal: 1.0
Electric: 1.0
Poison: 1.0
Rock: 1.0
Flying: 1.0
Ghost: 0.5
Ice: 1.0
Water: 1.0
Fighting: 2.0
Ground: 1.0
Steel: 1.0
Bug: 2.0
Fire: 1.0
Fairy: 2.0
Dragon: 1.0
Psychic: 0.0
Grass: 1.0
Dark: 0.5