Browse Source

weapon shop

pbs
jake 4 years ago
parent
commit
65208cddba
  1. 30
      data/shops/alt_grind.toml
  2. 99
      data/shops/attribute1.toml
  3. 99
      data/shops/attribute2.toml
  4. 30
      data/shops/grind.toml
  5. 107
      data/shops/hard/bluefull/weapon.toml
  6. 111
      data/shops/hard/greenill/weapon.toml
  7. 103
      data/shops/hard/oran/weapon.toml
  8. 103
      data/shops/hard/pinkal/weapon.toml
  9. 111
      data/shops/hard/purplenum/weapon.toml
  10. 107
      data/shops/hard/redria/weapon.toml
  11. 103
      data/shops/hard/skyly/weapon.toml
  12. 103
      data/shops/hard/viridia/weapon.toml
  13. 107
      data/shops/hard/whitill/weapon.toml
  14. 111
      data/shops/hard/yellowboze/weapon.toml
  15. 115
      data/shops/normal/bluefull/weapon.toml
  16. 111
      data/shops/normal/greenill/weapon.toml
  17. 115
      data/shops/normal/oran/weapon.toml
  18. 107
      data/shops/normal/pinkal/weapon.toml
  19. 115
      data/shops/normal/purplenum/weapon.toml
  20. 107
      data/shops/normal/redria/weapon.toml
  21. 99
      data/shops/normal/skyly/weapon.toml
  22. 103
      data/shops/normal/viridia/weapon.toml
  23. 103
      data/shops/normal/whitill/weapon.toml
  24. 111
      data/shops/normal/yellowboze/weapon.toml
  25. 120
      data/shops/special.toml
  26. 149
      data/shops/ultimate/bluefull/weapon.toml
  27. 157
      data/shops/ultimate/greenill/weapon.toml
  28. 145
      data/shops/ultimate/oran/weapon.toml
  29. 129
      data/shops/ultimate/pinkal/weapon.toml
  30. 157
      data/shops/ultimate/purplenum/weapon.toml
  31. 153
      data/shops/ultimate/redria/weapon.toml
  32. 125
      data/shops/ultimate/skyly/weapon.toml
  33. 141
      data/shops/ultimate/viridia/weapon.toml
  34. 157
      data/shops/ultimate/whitill/weapon.toml
  35. 129
      data/shops/ultimate/yellowboze/weapon.toml
  36. 111
      data/shops/veryhard/bluefull/weapon.toml
  37. 111
      data/shops/veryhard/greenill/weapon.toml
  38. 107
      data/shops/veryhard/oran/weapon.toml
  39. 99
      data/shops/veryhard/pinkal/weapon.toml
  40. 111
      data/shops/veryhard/purplenum/weapon.toml
  41. 107
      data/shops/veryhard/redria/weapon.toml
  42. 95
      data/shops/veryhard/skyly/weapon.toml
  43. 103
      data/shops/veryhard/viridia/weapon.toml
  44. 111
      data/shops/veryhard/whitill/weapon.toml
  45. 99
      data/shops/veryhard/yellowboze/weapon.toml
  46. 1
      src/ship/mod.rs
  47. 1
      src/ship/shops/mod.rs
  48. 405
      src/ship/shops/weapon.rs

30
data/shops/alt_grind.toml

@ -0,0 +1,30 @@
[[grind]]
level = 0
min = 0
max = 1
[[grind]]
level = 3
min = 0
max = 3
[[grind]]
level = 10
min = 1
max = 5
[[grind]]
level = 25
min = 2
max = 8
[[grind]]
level = 40
min = 3
max = 11
[[grind]]
level = 55
min = 3
max = 16

99
data/shops/attribute1.toml

@ -0,0 +1,99 @@
[[attributes]]
level = 0
percent_min = 5
percent_max = 25
none = 60
native = 20
abeast = 20
machine = 0
dark = 0
hit = 0
[[attributes]]
level = 3
percent_min = 5
percent_max = 25
none = 50
native = 15
abeast = 20
machine = 15
dark = 0
hit = 0
[[attributes]]
level = 10
percent_min = 5
percent_max = 30
none = 30
native = 10
abeast = 15
machine = 25
dark = 20
hit = 0
[[attributes]]
level = 17
percent_min = 5
percent_max = 30
none = 10
native = 25
abeast = 15
machine = 20
dark = 30
hit = 0
[[attributes]]
level = 25
percent_min = 5
percent_max = 35
none = 10
native = 25
abeast = 25
machine = 20
dark = 20
hit = 0
[[attributes]]
level = 35
percent_min = 5
percent_max = 35
none = 10
native = 20
abeast = 20
machine = 30
dark = 20
hit = 0
[[attributes]]
level = 45
percent_min = 5
percent_max = 35
none = 10
native = 25
abeast = 20
machine = 20
dark = 25
hit = 0
[[attributes]]
level = 60
percent_min = 5
percent_max = 40
none = 10
native = 20
abeast = 20
machine = 20
dark = 25
hit = 5
[[attributes]]
level = 75
percent_min = 5
percent_max = 50
none = 10
native = 20
abeast = 20
machine = 20
dark = 20
hit = 10

99
data/shops/attribute2.toml

@ -0,0 +1,99 @@
[[attributes]]
level = 0
percent_min = 5
percent_max = 20
none = 100
native = 0
abeast = 0
machine = 0
dark = 0
hit = 0
[[attributes]]
level = 5
percent_min = 5
percent_max = 25
none = 100
native = 0
abeast = 0
machine = 0
dark = 0
hit = 0
[[attributes]]
level = 10
percent_min = 5
percent_max = 25
none = 65
native = 5
abeast = 10
machine = 10
dark = 10
hit = 0
[[attributes]]
level = 17
percent_min = 5
percent_max = 25
none = 45
native = 10
abeast = 10
machine = 15
dark = 20
hit = 0
[[attributes]]
level = 25
percent_min = 5
percent_max = 30
none = 30
native = 25
abeast = 20
machine = 10
dark = 10
hit = 5
[[attributes]]
level = 35
percent_min = 5
percent_max = 30
none = 15
native = 15
abeast = 20
machine = 25
dark = 20
hit = 5
[[attributes]]
level = 45
percent_min = 5
percent_max = 35
none = 15
native = 15
abeast = 20
machine = 25
dark = 15
hit = 10
[[attributes]]
level = 60
percent_min = 5
percent_max = 35
none = 10
native = 15
abeast = 20
machine = 20
dark = 20
hit = 15
[[attributes]]
level = 75
percent_min = 5
percent_max = 50
none = 10
native = 20
abeast = 15
machine = 15
dark = 20
hit = 20

30
data/shops/grind.toml

@ -0,0 +1,30 @@
[[grind]]
level = 0
min = 0
max = 2
[[grind]]
level = 3
min = 0
max = 3
[[grind]]
level = 10
min = 0
max = 4
[[grind]]
level = 25
min = 0
max = 6
[[grind]]
level = 40
min = 0
max = 8
[[grind]]
level = 55
min = 0
max = 10

107
data/shops/hard/bluefull/weapon.toml

@ -0,0 +1,107 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 3
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 5
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 6
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 5
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 7
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 3
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 9
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 7
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 7
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 7

111
data/shops/hard/greenill/weapon.toml

@ -0,0 +1,111 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 15
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 25
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 16
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 12
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 6
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 8
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 4
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 4
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 5
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 9
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 15
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 11

103
data/shops/hard/oran/weapon.toml

@ -0,0 +1,103 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 25
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 12
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 16
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 8
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 4
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 4
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 4
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 5
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 5
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 11
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 11
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10

103
data/shops/hard/pinkal/weapon.toml

@ -0,0 +1,103 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 5
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 30
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 16
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 16
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 5
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 6
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 5
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 4
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 4
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 9
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 15
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 7
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 7

111
data/shops/hard/purplenum/weapon.toml

@ -0,0 +1,111 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 12
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 16
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 4
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 3
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 5
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 3
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 4
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 15
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 11
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 11

107
data/shops/hard/redria/weapon.toml

@ -0,0 +1,107 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 5
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 6
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 3
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 5
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 6
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 4
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 4
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 8
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 5
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 7
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 9

103
data/shops/hard/skyly/weapon.toml

@ -0,0 +1,103 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 16
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 5
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 3
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 3
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 4
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 4
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 5
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 3
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 3
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 11
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10

103
data/shops/hard/viridia/weapon.toml

@ -0,0 +1,103 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 12
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 5
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 4
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 4
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 4
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 6
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 4
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 4
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 5
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 7
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 9

107
data/shops/hard/whitill/weapon.toml

@ -0,0 +1,107 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 3
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 5
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 8
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 3
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 5
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 6
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 3
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 3
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 7
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10

111
data/shops/hard/yellowboze/weapon.toml

@ -0,0 +1,111 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 12
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 12
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 3
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 3
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 3
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 3
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 7
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 7
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 15
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10

115
data/shops/normal/bluefull/weapon.toml

@ -0,0 +1,115 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 8
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 8
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 8
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 7
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 7

111
data/shops/normal/greenill/weapon.toml

@ -0,0 +1,111 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 15
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 25
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 16
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 12
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 8
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 12
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 8
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 16
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 16
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 16
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10

115
data/shops/normal/oran/weapon.toml

@ -0,0 +1,115 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 25
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 8
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 8
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 18
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7

107
data/shops/normal/pinkal/weapon.toml

@ -0,0 +1,107 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 5
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 30
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 18
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 8
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 8
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 16
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 16
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 16
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10

115
data/shops/normal/purplenum/weapon.toml

@ -0,0 +1,115 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 8
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 8
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 8
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 12
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 16
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 16
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 16
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10

107
data/shops/normal/redria/weapon.toml

@ -0,0 +1,107 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 5
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 8
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 8
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 8
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 8
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 12
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 12
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 12
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7

99
data/shops/normal/skyly/weapon.toml

@ -0,0 +1,99 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 8
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 12
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 18
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 12
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 12
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 12
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 12

103
data/shops/normal/viridia/weapon.toml

@ -0,0 +1,103 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 8
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 8
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 12
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 8
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 12
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 12

103
data/shops/normal/whitill/weapon.toml

@ -0,0 +1,103 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 8
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 3
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 8
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 3
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 3
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 12
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 3
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 12
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 10
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 3

111
data/shops/normal/yellowboze/weapon.toml

@ -0,0 +1,111 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 8
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 12
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 13
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 12
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 16
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 16
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 16
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7

120
data/shops/special.toml

@ -0,0 +1,120 @@
[[specials]]
level = 0
[[specials.special]]
tier = 0
probability = 85
[[specials.special]]
tier = 1
probability = 15
[[specials.special]]
tier = 2
probability = 0
[[specials]]
level = 10
[[specials.special]]
tier = 0
probability = 70
[[specials.special]]
tier = 1
probability = 30
[[specials.special]]
tier = 2
probability = 0
[[specials]]
level = 17
[[specials.special]]
tier = 0
probability = 50
[[specials.special]]
tier = 1
probability = 50
[[specials.special]]
tier = 2
probability = 0
[[specials]]
level = 25
[[specials.special]]
tier = 0
probability = 20
[[specials.special]]
tier = 1
probability = 80
[[specials.special]]
tier = 2
probability = 0
[[specials]]
level = 35
[[specials.special]]
tier = 0
probability = 20
[[specials.special]]
tier = 1
probability = 60
[[specials.special]]
tier = 2
probability = 20
[[specials]]
level = 45
[[specials.special]]
tier = 0
probability = 20
[[specials.special]]
tier = 1
probability = 40
[[specials.special]]
tier = 2
probability = 40
[[specials]]
level = 60
[[specials.special]]
tier = 0
probability = 10
[[specials.special]]
tier = 1
probability = 30
[[specials.special]]
tier = 2
probability = 60
[[specials]]
level = 75
[[specials.special]]
tier = 0
probability = 10
[[specials.special]]
tier = 1
probability = 10
[[specials.special]]
tier = 2
probability = 80

149
data/shops/ultimate/bluefull/weapon.toml

@ -0,0 +1,149 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 3
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 3
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 8
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 5
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 9
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 7
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 8
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 7
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 11
[[weapon_tier.weapons]]
weapon = "Cutter"
probability = 7
[[weapon_tier.weapons]]
weapon = "Glaive"
probability = 7
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 10
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sawcer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Berdys"
probability = 7
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 10
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Ripper"
probability = 10
[[weapon_tier.weapons]]
weapon = "Diska"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gungnir"
probability = 7
[[weapon_tier.weapons]]
weapon = "Raygun"
probability = 10

157
data/shops/ultimate/greenill/weapon.toml

@ -0,0 +1,157 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 15
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 25
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 4
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 8
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 12
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 18
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 8
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cannon"
probability = 17
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Launcher"
probability = 18
[[weapon_tier.weapons]]
weapon = "Gatling"
probability = 7
[[weapon_tier.weapons]]
weapon = "Beam"
probability = 7
[[weapon_tier.weapons]]
weapon = "Club"
probability = 10
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Raygun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Arms"
probability = 18
[[weapon_tier.weapons]]
weapon = "Vulcan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Laser"
probability = 7
[[weapon_tier.weapons]]
weapon = "Club"
probability = 10

145
data/shops/ultimate/oran/weapon.toml

@ -0,0 +1,145 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 25
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 12
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 16
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 3
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 3
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 3
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 5
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 8
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 8
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 9
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 11
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Beam"
probability = 10
[[weapon_tier.weapons]]
weapon = "Club"
probability = 10
[[weapon_tier.weapons]]
weapon = "Baton"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pillar"
probability = 7
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Laser"
probability = 10
[[weapon_tier.weapons]]
weapon = "Club"
probability = 10
[[weapon_tier.weapons]]
weapon = "Scepter"
probability = 7
[[weapon_tier.weapons]]
weapon = "Striker"
probability = 7

129
data/shops/ultimate/pinkal/weapon.toml

@ -0,0 +1,129 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 5
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 30
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 16
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 4
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 16
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 9
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 18
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 7
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 7
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 17
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Pillar"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gladius"
probability = 10
[[weapon_tier.weapons]]
weapon = "Claymore"
probability = 18
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Striker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gladius"
probability = 10
[[weapon_tier.weapons]]
weapon = "Calibur"
probability = 18

157
data/shops/ultimate/purplenum/weapon.toml

@ -0,0 +1,157 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 12
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 16
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 6
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 4
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 4
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 18
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 8
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Cannon"
probability = 7
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 17
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Launcher"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gatling"
probability = 7
[[weapon_tier.weapons]]
weapon = "Beam"
probability = 18
[[weapon_tier.weapons]]
weapon = "Club"
probability = 10
[[weapon_tier.weapons]]
weapon = "Baton"
probability = 7
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Arms"
probability = 7
[[weapon_tier.weapons]]
weapon = "Vulcan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Laser"
probability = 18
[[weapon_tier.weapons]]
weapon = "Club"
probability = 10
[[weapon_tier.weapons]]
weapon = "Scepter"
probability = 7

153
data/shops/ultimate/redria/weapon.toml

@ -0,0 +1,153 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 5
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 5
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 6
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 5
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 7
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 8
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 9
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 7
[[weapon_tier.weapons]]
weapon = "Cutter"
probability = 7
[[weapon_tier.weapons]]
weapon = "Glaive"
probability = 7
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cannon"
probability = 7
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sawcer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Berdys"
probability = 7
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Launcher"
probability = 7
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Ripper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Diska"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gungnir"
probability = 7
[[weapon_tier.weapons]]
weapon = "Raygun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Arms"
probability = 7

125
data/shops/ultimate/skyly/weapon.toml

@ -0,0 +1,125 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 16
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 5
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 3
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 3
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 9
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Baton"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pillar"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gladius"
probability = 10
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Scepter"
probability = 7
[[weapon_tier.weapons]]
weapon = "Striker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gladius"
probability = 10

141
data/shops/ultimate/viridia/weapon.toml

@ -0,0 +1,141 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 12
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 5
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 4
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 4
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 4
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 9
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 8
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 7
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 9
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 7
[[weapon_tier.weapons]]
weapon = "Glaive"
probability = 11
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Gladius"
probability = 10
[[weapon_tier.weapons]]
weapon = "Claymore"
probability = 7
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 7
[[weapon_tier.weapons]]
weapon = "Berdys"
probability = 10
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Gladius"
probability = 10
[[weapon_tier.weapons]]
weapon = "Calibur"
probability = 7
[[weapon_tier.weapons]]
weapon = "Ripper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gungnir"
probability = 10

157
data/shops/ultimate/whitill/weapon.toml

@ -0,0 +1,157 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 3
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 12
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 8
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Cutter"
probability = 7
[[weapon_tier.weapons]]
weapon = "Glaive"
probability = 17
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 11
[[weapon_tier.weapons]]
weapon = "Cannon"
probability = 7
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Sawcer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Berdys"
probability = 18
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 11
[[weapon_tier.weapons]]
weapon = "Launcher"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gatling"
probability = 7
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Diska"
probability = 7
[[weapon_tier.weapons]]
weapon = "Gungnir"
probability = 18
[[weapon_tier.weapons]]
weapon = "Raygun"
probability = 11
[[weapon_tier.weapons]]
weapon = "Arms"
probability = 7
[[weapon_tier.weapons]]
weapon = "Vulcan"
probability = 7

129
data/shops/ultimate/yellowboze/weapon.toml

@ -0,0 +1,129 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 12
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 4
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 4
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 4
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 7
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 8
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 18
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 7
[[weapon_tier]]
level = 99
[[weapon_tier.weapons]]
weapon = "Gladius"
probability = 10
[[weapon_tier.weapons]]
weapon = "Claymore"
probability = 7
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 7
[[weapon_tier]]
level = 150
[[weapon_tier.weapons]]
weapon = "Gladius"
probability = 10
[[weapon_tier.weapons]]
weapon = "Calibur"
probability = 7
[[weapon_tier.weapons]]
weapon = "Ripper"
probability = 7

111
data/shops/veryhard/bluefull/weapon.toml

@ -0,0 +1,111 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 3
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 3
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 8
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 5
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 9
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 7
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 8
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 7
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 11
[[weapon_tier.weapons]]
weapon = "Cutter"
probability = 7
[[weapon_tier.weapons]]
weapon = "Glaive"
probability = 7
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 10

111
data/shops/veryhard/greenill/weapon.toml

@ -0,0 +1,111 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 15
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 25
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 4
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 8
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 12
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 18
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 8
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cannon"
probability = 17
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10

107
data/shops/veryhard/oran/weapon.toml

@ -0,0 +1,107 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 25
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 12
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 7
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 16
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Assault"
probability = 3
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 3
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 3
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 5
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 8
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 8
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 9
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 11
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7

99
data/shops/veryhard/pinkal/weapon.toml

@ -0,0 +1,99 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 5
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 30
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 16
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 4
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 16
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 9
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 18
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 7
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 7
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 17

111
data/shops/veryhard/purplenum/weapon.toml

@ -0,0 +1,111 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 12
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 16
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 6
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 4
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 4
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 18
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 8
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Cannon"
probability = 7
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 17
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7

107
data/shops/veryhard/redria/weapon.toml

@ -0,0 +1,107 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 5
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 25
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 7
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 5
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 6
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 5
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 7
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 8
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 9
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 7
[[weapon_tier.weapons]]
weapon = "Cutter"
probability = 7
[[weapon_tier.weapons]]
weapon = "Glaive"
probability = 7
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Cannon"
probability = 7

95
data/shops/veryhard/skyly/weapon.toml

@ -0,0 +1,95 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 16
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 5
[[weapon_tier.weapons]]
weapon = "Gigush"
probability = 3
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 3
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 9
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Staff"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pole"
probability = 7
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10

103
data/shops/veryhard/viridia/weapon.toml

@ -0,0 +1,103 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 12
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 5
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 4
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 4
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 4
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Buster"
probability = 9
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 8
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 7
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 9
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 7
[[weapon_tier.weapons]]
weapon = "Glaive"
probability = 11

111
data/shops/veryhard/whitill/weapon.toml

@ -0,0 +1,111 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 25
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 15
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 25
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 15
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 7
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 7
[[weapon_tier.weapons]]
weapon = "Sniper"
probability = 7
[[weapon_tier.weapons]]
weapon = "Brand"
probability = 10
[[weapon_tier.weapons]]
weapon = "Sword"
probability = 3
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Slicer"
probability = 7
[[weapon_tier.weapons]]
weapon = "Partisan"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 12
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Wand"
probability = 7
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Spread"
probability = 8
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blaster"
probability = 7
[[weapon_tier.weapons]]
weapon = "Mace"
probability = 10
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Cutter"
probability = 7
[[weapon_tier.weapons]]
weapon = "Glaive"
probability = 17
[[weapon_tier.weapons]]
weapon = "Railgun"
probability = 11
[[weapon_tier.weapons]]
weapon = "Cannon"
probability = 7
[[weapon_tier.weapons]]
weapon = "Repeater"
probability = 7

99
data/shops/veryhard/yellowboze/weapon.toml

@ -0,0 +1,99 @@
[[weapon_tier]]
level = 0
[[weapon_tier.weapons]]
weapon = "Saber"
probability = 20
[[weapon_tier.weapons]]
weapon = "Dagger"
probability = 20
[[weapon_tier.weapons]]
weapon = "Handgun"
probability = 20
[[weapon_tier.weapons]]
weapon = "Rifle"
probability = 20
[[weapon_tier.weapons]]
weapon = "Cane"
probability = 20
[[weapon_tier]]
level = 10
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 10
[[weapon_tier.weapons]]
weapon = "Mechgun"
probability = 7
[[weapon_tier.weapons]]
weapon = "Stick"
probability = 10
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 12
[[weapon_tier]]
level = 25
[[weapon_tier.weapons]]
weapon = "Knife"
probability = 4
[[weapon_tier.weapons]]
weapon = "Autogun"
probability = 5
[[weapon_tier.weapons]]
weapon = "Rod"
probability = 4
[[weapon_tier.weapons]]
weapon = "Shot"
probability = 4
[[weapon_tier]]
level = 42
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Blade"
probability = 7
[[weapon_tier.weapons]]
weapon = "Spinner"
probability = 8
[[weapon_tier.weapons]]
weapon = "Halbert"
probability = 18
[[weapon_tier.weapons]]
weapon = "Lockgun"
probability = 10
[[weapon_tier]]
level = 60
[[weapon_tier.weapons]]
weapon = "Pallasch"
probability = 10
[[weapon_tier.weapons]]
weapon = "Breaker"
probability = 7
[[weapon_tier.weapons]]
weapon = "Edge"
probability = 7

1
src/ship/mod.rs

@ -9,3 +9,4 @@ pub mod monster;
pub mod drops;
pub mod packet;
pub mod quests;
pub mod shops;

1
src/ship/shops/mod.rs

@ -0,0 +1 @@
pub mod weapon;

405
src/ship/shops/weapon.rs

@ -0,0 +1,405 @@
use std::collections::HashMap;
use std::fs::File;
use std::io::Read;
use std::path::PathBuf;
use serde::Deserialize;
use rand::{Rng, SeedableRng};
use rand::distributions::{WeightedIndex, Distribution};
use rand::seq::{SliceRandom, IteratorRandom};
use crate::entity::character::SectionID;
use crate::ship::room::Difficulty;
use crate::entity::item::weapon::{WeaponType, WeaponSpecial, Attribute, WeaponAttribute};
const TIER1_SPECIAL: [WeaponSpecial; 8] = [WeaponSpecial::Draw, WeaponSpecial::Heart, WeaponSpecial::Ice, WeaponSpecial::Bind,
WeaponSpecial::Heat, WeaponSpecial::Shock, WeaponSpecial::Dim, WeaponSpecial::Panic];
const TIER2_SPECIAL: [WeaponSpecial; 10] = [WeaponSpecial::Drain, WeaponSpecial::Mind, WeaponSpecial::Masters, WeaponSpecial::Charge, WeaponSpecial::Frost,
WeaponSpecial::Hold, WeaponSpecial::Fire, WeaponSpecial::Thunder, WeaponSpecial::Shadow, WeaponSpecial::Riot];
#[derive(Debug)]
pub struct ShopWeapon {
weapon: WeaponType,
special: Option<WeaponSpecial>,
grind: usize,
attributes: [Option<WeaponAttribute>; 2],
}
#[derive(Debug, Deserialize)]
struct WeaponTableTierEntry {
weapon: WeaponType,
probability: usize,
}
#[derive(Debug, Deserialize)]
struct WeaponTableTier {
level: usize,
weapons: Vec<WeaponTableTierEntry>,
}
#[derive(Debug)]
struct WeaponTable(Vec<WeaponTableTier>);
#[derive(Debug, Deserialize)]
struct GrindTier {
level: usize,
min: usize,
max: usize,
}
#[derive(Debug)]
struct GrindTable(Vec<GrindTier>);
#[derive(Debug, Deserialize)]
struct AttributeTier {
level: usize,
percent_min: isize,
percent_max: isize,
none: usize,
native: usize,
abeast: usize,
machine: usize,
dark: usize,
hit: usize,
}
#[derive(Debug)]
struct AttributeTable(Vec<AttributeTier>);
#[derive(Debug, Deserialize)]
struct SpecialTierEntry {
tier: usize,
probability: usize,
}
#[derive(Debug, Deserialize)]
struct SpecialTier {
level: usize,
special: Vec<SpecialTierEntry>,
}
#[derive(Debug)]
struct SpecialTable(Vec<SpecialTier>);
/*
trait WeaponTableLoader {
fn load(difficulty: Difficulty, section_id: SectionID) -> WeaponTable where Self::Sized;
}
struct WeaponTableLoaderImpl;
impl WeaponTableLoader for WeaponTableLoaderImpl {
fn load(difficulty: Difficulty, section_id: SectionID) -> WeaponTable {
let mut path = PathBuf::from("data/shops/");
path.push(difficulty.to_string().to_lowercase());
path.push(section_id.to_string().to_lowercase());
path.push("weapon.toml");
let mut f = File::open(path).unwrap();
let mut s = String::new();
f.read_to_string(&mut s);
let table: Vec<WeaponTableTier> = toml::from_str(s.as_str()).unwrap();
println!("table {:?}", table);
WeaponTable {
}
}
}
*/
fn load_weapon_table(difficulty: Difficulty, section_id: SectionID) -> WeaponTable {
let mut path = PathBuf::from("data/shops/");
path.push(difficulty.to_string().to_lowercase());
path.push(section_id.to_string().to_lowercase());
path.push("weapon.toml");
let mut f = File::open(path).unwrap();
let mut s = String::new();
f.read_to_string(&mut s).unwrap();
let mut table: HashMap<String, Vec<WeaponTableTier>> = toml::from_str(s.as_str()).unwrap();
WeaponTable(table.remove("weapon_tier".into()).unwrap())
}
fn load_special_table() -> SpecialTable {
let mut path = PathBuf::from("data/shops/special.toml");
let mut f = File::open(path).unwrap();
let mut s = String::new();
f.read_to_string(&mut s).unwrap();
let mut table: HashMap<String, Vec<SpecialTier>> = toml::from_str(s.as_str()).unwrap();
SpecialTable(table.remove("specials".into()).unwrap())
}
fn load_grind_table() -> GrindTable {
let mut path = PathBuf::from("data/shops/grind.toml");
let mut f = File::open(path).unwrap();
let mut s = String::new();
f.read_to_string(&mut s).unwrap();
let mut table: HashMap<String, Vec<GrindTier>> = toml::from_str(s.as_str()).unwrap();
GrindTable(table.remove("grind".into()).unwrap())
}
fn load_alt_grind_table() -> GrindTable {
let mut path = PathBuf::from("data/shops/alt_grind.toml");
let mut f = File::open(path).unwrap();
let mut s = String::new();
f.read_to_string(&mut s).unwrap();
let mut table: HashMap<String, Vec<GrindTier>> = toml::from_str(s.as_str()).unwrap();
GrindTable(table.remove("grind".into()).unwrap())
}
fn load_attribute1_table() -> AttributeTable {
let mut path = PathBuf::from("data/shops/attribute1.toml");
let mut f = File::open(path).unwrap();
let mut s = String::new();
f.read_to_string(&mut s).unwrap();
let mut table: HashMap<String, Vec<AttributeTier>> = toml::from_str(s.as_str()).unwrap();
AttributeTable(table.remove("attributes".into()).unwrap())
}
fn load_attribute2_table() -> AttributeTable {
let mut path = PathBuf::from("data/shops/attribute2.toml");
let mut f = File::open(path).unwrap();
let mut s = String::new();
f.read_to_string(&mut s).unwrap();
let mut table: HashMap<String, Vec<AttributeTier>> = toml::from_str(s.as_str()).unwrap();
AttributeTable(table.remove("attributes".into()).unwrap())
}
#[derive(Debug)]
struct WeaponShop<R: Rng + SeedableRng> {
difficulty: Difficulty,
section_id: SectionID,
weapon: WeaponTable,
special: SpecialTable,
grind: GrindTable,
alt_grind: GrindTable,
attr1: AttributeTable,
attr2: AttributeTable,
rng: R,
}
impl<R: Rng + SeedableRng> WeaponShop<R> {
pub fn new(difficulty: Difficulty, section_id: SectionID) -> WeaponShop<R> {
WeaponShop {
difficulty: difficulty,
section_id: section_id,
weapon: load_weapon_table(difficulty, section_id),
special: load_special_table(),
grind: load_grind_table(),
alt_grind: load_alt_grind_table(),
attr1: load_attribute1_table(),
attr2: load_attribute1_table(),
rng: R::from_entropy(),
}
}
fn generate_type(&mut self, level: usize) -> WeaponType {
let tier = self.weapon.0.iter()
.filter(|t| t.level < level)
.last()
.unwrap();
let weapon_choice = WeightedIndex::new(tier.weapons.iter().map(|t| t.probability)).unwrap();
tier.weapons.get(weapon_choice.sample(&mut self.rng)).unwrap().weapon
}
fn generate_special(&mut self, level: usize) -> Option<WeaponSpecial> {
let tier = self.special.0.iter()
.filter(|t| t.level < level)
.last()
.unwrap();
let special_tier = WeightedIndex::new(tier.special.iter().map(|t| t.probability)).unwrap();
match special_tier.sample(&mut self.rng) {
1 => TIER1_SPECIAL.choose(&mut self.rng).cloned(),
2 => TIER2_SPECIAL.choose(&mut self.rng).cloned(),
_ => None
}
}
fn generate_grind(&mut self, level: usize) -> usize {
let tier = self.grind.0.iter()
.filter(|t| t.level < level)
.last()
.unwrap();
self.rng.gen_range(tier.min, tier.max+1)
}
fn generate_alt_grind(&mut self, level: usize) -> usize {
let tier = self.alt_grind.0.iter()
.filter(|t| t.level < level)
.nth(0)
.unwrap();
self.rng.gen_range(tier.min, tier.max+1)
}
fn generate_attribute1(&mut self, level: usize) -> Option<WeaponAttribute> {
let tier = self.attr1.0.iter()
.filter(|t| t.level < level)
.last()
.unwrap();
let attr_choice = WeightedIndex::new(&[tier.none, tier.native, tier.abeast, tier.machine, tier.dark, tier.hit]).unwrap();
let attr = match attr_choice.sample(&mut self.rng) {
0 => return None,
1 => Attribute::Native,
2 => Attribute::ABeast,
3 => Attribute::Machine,
4 => Attribute::Dark,
5 => Attribute::Hit,
_ => panic!()
};
let percent = (tier.percent_min..tier.percent_max+1)
.filter(|p| p % 5 == 0)
.choose(&mut self.rng)?;
Some(WeaponAttribute {
attr: attr,
value: percent as i8,
})
}
fn generate_attribute2(&mut self, level: usize) -> Option<WeaponAttribute> {
let tier = self.attr2.0.iter()
.filter(|t| t.level < level)
.last()
.unwrap();
let attr_choice = WeightedIndex::new(&[tier.none, tier.native, tier.abeast, tier.machine, tier.dark, tier.hit]).unwrap();
let attr = match attr_choice.sample(&mut self.rng) {
0 => return None,
1 => Attribute::Native,
2 => Attribute::ABeast,
3 => Attribute::Machine,
4 => Attribute::Dark,
5 => Attribute::Hit,
_ => panic!()
};
let percent = (tier.percent_min..tier.percent_max+1)
.filter(|p| p % 5 == 0)
.choose(&mut self.rng)?;
Some(WeaponAttribute {
attr: attr,
value: percent as i8,
})
}
fn is_alt_grind(&self, weapon: &WeaponType) -> bool {
match (self.section_id, weapon) {
(SectionID::Viridia, WeaponType::Shot) => true,
(SectionID::Viridia, WeaponType::Spread) => true,
(SectionID::Viridia, WeaponType::Cannon) => true,
(SectionID::Viridia, WeaponType::Launcher) => true,
(SectionID::Viridia, WeaponType::Arms) => true,
(SectionID::Greenill, WeaponType::Rifle) => true,
(SectionID::Greenill, WeaponType::Sniper) => true,
(SectionID::Greenill, WeaponType::Blaster) => true,
(SectionID::Greenill, WeaponType::Beam) => true,
(SectionID::Greenill, WeaponType::Laser) => true,
(SectionID::Skyly, WeaponType::Sword) => true,
(SectionID::Skyly, WeaponType::Gigush) => true,
(SectionID::Skyly, WeaponType::Breaker) => true,
(SectionID::Skyly, WeaponType::Claymore) => true,
(SectionID::Skyly, WeaponType::Calibur) => true,
(SectionID::Bluefull, WeaponType::Partisan) => true,
(SectionID::Bluefull, WeaponType::Halbert) => true,
(SectionID::Bluefull, WeaponType::Glaive) => true,
(SectionID::Bluefull, WeaponType::Berdys) => true,
(SectionID::Bluefull, WeaponType::Gungnir) => true,
(SectionID::Purplenum, WeaponType::Mechgun) => true,
(SectionID::Purplenum, WeaponType::Assault) => true,
(SectionID::Purplenum, WeaponType::Repeater) => true,
(SectionID::Purplenum, WeaponType::Gatling) => true,
(SectionID::Purplenum, WeaponType::Vulcan) => true,
(SectionID::Pinkal, WeaponType::Cane) => true,
(SectionID::Pinkal, WeaponType::Stick) => true,
(SectionID::Pinkal, WeaponType::Mace) => true,
(SectionID::Pinkal, WeaponType::Club) => true,
(SectionID::Oran, WeaponType::Dagger) => true,
(SectionID::Oran, WeaponType::Knife) => true,
(SectionID::Oran, WeaponType::Blade) => true,
(SectionID::Oran, WeaponType::Edge) => true,
(SectionID::Oran, WeaponType::Ripper) => true,
(SectionID::Whitill, WeaponType::Slicer) => true,
(SectionID::Whitill, WeaponType::Spinner) => true,
(SectionID::Whitill, WeaponType::Cutter) => true,
(SectionID::Whitill, WeaponType::Sawcer) => true,
(SectionID::Whitill, WeaponType::Diska) => true,
_ => false,
}
}
pub fn generate_weapon(&mut self, level: usize) -> ShopWeapon {
let weapon = self.generate_type(level);
let grind = if self.is_alt_grind(&weapon) {
self.generate_alt_grind(level)
} else {
self.generate_grind(level)
};
let special = self.generate_special(level);
let (attr1, attr2) = {
match self.generate_attribute1(level) {
Some(a1) => {
let a2 = loop {
let attr = self.generate_attribute2(level);
match attr {
Some(a2) => {
if a2.attr != a1.attr {
break Some(a2);
}
},
None => break None,
}
};
(Some(a1), a2)
},
None => {
let a2 = self.generate_attribute2(level);
(a2, None)
}
}
};
ShopWeapon {
weapon: weapon,
grind: grind,
special: special,
attributes: [attr1, attr2],
}
}
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn test_loading_weapons() {
WeaponShop::<rand_chacha::ChaCha20Rng>::new(Difficulty::Ultimate, SectionID::Pinkal);
}
}
Loading…
Cancel
Save