craftable starting set

velorite staff update

ore_nature_longbow

model fix
humanoid colours

Update agent.rs

improve rng (according to zesterer)

slower fleeing

More adjustments

fix cult leader name

more loot tables

all kinds of adjustments

smöl adjustments
This commit is contained in:
Monty Marz 2020-08-21 01:55:18 +02:00
parent 9d2fe79a78
commit e3eb34085f
43 changed files with 467 additions and 74 deletions

View File

@ -0,0 +1,12 @@
Item(
name: "Agile Cape",
description: "Keeps your shoulders warm.",
kind: Armor(
(
kind: Back("Short2"),
stats: (
protection: Normal(0.2),
),
)
),
)

View File

@ -5,7 +5,7 @@ Item(
( (
kind: Back("Short0"), kind: Back("Short0"),
stats: ( stats: (
protection: Normal(0.2), protection: Normal(0.3),
), ),
) )
), ),

View File

@ -0,0 +1,12 @@
Item(
name: "Agile Belt",
description: "",
kind: Armor(
(
kind: Belt("Leather2"),
stats: (
protection: Normal(1.0),
),
)
),
)

View File

@ -0,0 +1,12 @@
Item(
name: "Agile Chest",
description: " ",
kind: Armor(
(
kind: Chest("Leather2"),
stats: (
protection: Normal(6.0),
),
)
),
)

View File

@ -0,0 +1,12 @@
Item(
name: "Agile Kickers",
description: "",
kind: Armor(
(
kind: Foot("Leather2"),
stats: (
protection: Normal(2.0),
),
)
),
)

View File

@ -0,0 +1,12 @@
Item(
name: "Agile Gauntlets",
description: "",
kind: Armor(
(
kind: Hand("Leather2"),
stats: (
protection: Normal(4.0),
),
)
),
)

View File

@ -0,0 +1,12 @@
Item(
name: "Agile Pantalons",
description: "",
kind: Armor(
(
kind: Pants("Leather2"),
stats: (
protection: Normal(8.0),
),
)
),
)

View File

@ -5,7 +5,7 @@ Item(
( (
kind: Shoulder("ClothBlue0"), kind: Shoulder("ClothBlue0"),
stats: ( stats: (
protection: Normal(0.0), protection: Normal(1.0),
), ),
) )
), ),

View File

@ -5,7 +5,7 @@ Item(
( (
kind: Shoulder("ClothBlue1"), kind: Shoulder("ClothBlue1"),
stats: ( stats: (
protection: Normal(0.0), protection: Normal(1.0),
), ),
) )
), ),

View File

@ -5,7 +5,7 @@ Item(
( (
kind: Shoulder("ClothGreen0"), kind: Shoulder("ClothGreen0"),
stats: ( stats: (
protection: Normal(0.0), protection: Normal(1.0),
), ),
) )
), ),

View File

@ -5,7 +5,7 @@ Item(
( (
kind: Shoulder("ClothPurple0"), kind: Shoulder("ClothPurple0"),
stats: ( stats: (
protection: Normal(0.0), protection: Normal(1.0),
), ),
) )
), ),

View File

@ -0,0 +1,12 @@
Item(
name: "Agile Guards",
description: "",
kind: Armor(
(
kind: Shoulder("Leather1"),
stats: (
protection: Normal(6.0),
),
)
),
)

View File

@ -4,8 +4,8 @@ Item(
kind: Lantern( kind: Lantern(
( (
kind: "Blue0", kind: "Blue0",
color: (r: 220, g: 220, b: 255), color: (r: 128, g: 26, b: 255),
strength_thousandths: 6500, strength_thousandths: 8500,
flicker_thousandths: 300, flicker_thousandths: 300,
), ),
), ),

View File

@ -4,7 +4,7 @@ Item(
kind: Lantern( kind: Lantern(
( (
kind: "Black0", kind: "Black0",
color: (r: 166, g: 100, b: 0), color: (r: 255, g: 128, b: 26),
strength_thousandths: 3000, strength_thousandths: 3000,
flicker_thousandths: 300, flicker_thousandths: 300,
), ),

View File

@ -4,7 +4,7 @@ Item(
kind: Lantern( kind: Lantern(
( (
kind: "Blue0", kind: "Blue0",
color: (r: 64, g: 127, b: 153), color: (r: 255, g: 128, b: 26),
strength_thousandths: 4000, strength_thousandths: 4000,
flicker_thousandths: 250, flicker_thousandths: 250,
), ),

View File

@ -4,7 +4,7 @@ Item(
kind: Lantern( kind: Lantern(
( (
kind: "Green0", kind: "Green0",
color: (r: 192, g: 255, b: 76), color: (r: 255, g: 128, b: 26),
strength_thousandths: 4000, strength_thousandths: 4000,
flicker_thousandths: 500, flicker_thousandths: 500,
), ),

View File

@ -4,7 +4,7 @@ Item(
kind: Lantern( kind: Lantern(
( (
kind: "Red0", kind: "Red0",
color: (r: 255, g: 127, b: 51), color: (r: 255, g: 128, b: 26),
strength_thousandths: 3500, strength_thousandths: 3500,
flicker_thousandths: 1000, flicker_thousandths: 1000,
), ),

View File

@ -6,7 +6,7 @@ Item(
kind: Sword("Zweihander0"), kind: Sword("Zweihander0"),
stats: ( stats: (
equip_time_millis: 500, equip_time_millis: 500,
power: 0.6, power: 0.2,
), ),
) )
), ),

View File

@ -0,0 +1,13 @@
Item(
name: "Velorite Bow",
description: "Infused with Velorite power.",
kind: Tool(
(
kind: Bow("NatureOreLongbow"),
stats: (
equip_time_millis: 400,
power: 2.00,
),
)
),
)

View File

@ -6,7 +6,7 @@ Item(
kind: Bow("WoodShortbow0"), kind: Bow("WoodShortbow0"),
stats: ( stats: (
equip_time_millis: 400, equip_time_millis: 400,
power: 0.75, power: 1.0,
), ),
) )
), ),

View File

@ -6,7 +6,7 @@ Item(
kind: Staff("SceptreVelorite"), kind: Staff("SceptreVelorite"),
stats: ( stats: (
equip_time_millis: 400, equip_time_millis: 400,
power: 1.0, power: 2.0,
), ),
) )
), ),

View File

@ -1,12 +1,12 @@
Item( Item(
name: "Wooden Training Sword", name: "Wooden Sword",
description: "It's not sharp.", description: "It's not sharp.",
kind: Tool( kind: Tool(
( (
kind: Sword("WoodTraining"), kind: Sword("WoodTraining"),
stats: ( stats: (
equip_time_millis: 400, equip_time_millis: 400,
power: 0.50, power: 1.0,
), ),
) )
), ),

View File

@ -1,4 +1,4 @@
[ [
// Fallback loot table // Fallback loot table
(1, "common.items.food.cheese"), (1, "common.items.food.mushroom"),
] ]

View File

@ -6,5 +6,5 @@
(0.25, "common.items.armor.back.short_1"), (0.25, "common.items.armor.back.short_1"),
// necks // necks
(0.25, "common.items.armor.neck.neck_0"), (0.25, "common.items.armor.neck.neck_0"),
(0.25, "common.items.armor.neck.neck_1"),
] ]

View File

@ -11,8 +11,6 @@
(1, "common.items.weapons.staff.cultist_staff"), (1, "common.items.weapons.staff.cultist_staff"),
(1, "common.items.weapons.hammer.cultist_purp_2h-0"), (1, "common.items.weapons.hammer.cultist_purp_2h-0"),
(1, "common.items.weapons.sword.cultist_purp_2h-0"), (1, "common.items.weapons.sword.cultist_purp_2h-0"),
// misc // misc
(9, "common.items.boss_drops.exp_flask"), (1, "common.items.boss_drops.lantern"),
(1, "common.items.boss_drops.lantern"),
(1, "common.items.boss_drops.potions"),
] ]

View File

@ -0,0 +1,56 @@
[
// Misc
(0.25, "common.items.armor.neck.neck_1"),
// swords
(0.07, "common.items.weapons.sword.greatsword_2h_fine-1"),
(0.07, "common.items.weapons.sword.greatsword_2h_fine-2"),
(0.08, "common.items.weapons.sword.long_2h_orn-0"),
(0.08, "common.items.weapons.sword.long_2h_orn-1"),
(0.08, "common.items.weapons.sword.long_2h_orn-2"),
(0.08, "common.items.weapons.sword.long_2h_orn-3"),
(0.08, "common.items.weapons.sword.long_2h_orn-4"),
(0.08, "common.items.weapons.sword.long_2h_orn-5"),
(0.20, "common.items.weapons.sword.zweihander_sword_0"),
(0.10, "common.items.weapons.sword.greatsword_2h_orn-0"),
(0.10, "common.items.weapons.sword.greatsword_2h_orn-1"),
(0.10, "common.items.weapons.sword.greatsword_2h_orn-2"),
// axes
(0.20, "common.items.weapons.axe.bloodsteel_axe-0"),
(0.20, "common.items.weapons.axe.bloodsteel_axe-1"),
(0.20, "common.items.weapons.axe.bloodsteel_axe-2"),
(0.30, "common.items.weapons.axe.cobalt_axe-0"),
(0.10, "common.items.weapons.axe.malachite_axe-0"),
(0.04, "common.items.weapons.axe.iron_axe-7"),
(0.04, "common.items.weapons.axe.iron_axe-8"),
(0.04, "common.items.weapons.axe.iron_axe-9"),
(0.04, "common.items.weapons.axe.steel_axe-0"),
(0.04, "common.items.weapons.axe.steel_axe-1"),
(0.04, "common.items.weapons.axe.steel_axe-2"),
(0.04, "common.items.weapons.axe.steel_axe-3"),
(0.04, "common.items.weapons.axe.steel_axe-4"),
(0.04, "common.items.weapons.axe.steel_axe-5"),
(0.04, "common.items.weapons.axe.steel_axe-6"),
// healing staff
(0.5, "common.items.weapons.staff.staff_nature"),
// staves
(1.00, "common.items.weapons.staff.bone_staff"),
(1.00, "common.items.weapons.staff.amethyst_staff"),
(0.1, "common.items.weapons.staff.sceptre_velorite_0"),
// hammers
(0.30, "common.items.weapons.hammer.cobalt_hammer-0"),
(0.30, "common.items.weapons.hammer.cobalt_hammer-1"),
(0.15, "common.items.weapons.hammer.runic_hammer"),
(0.15, "common.items.weapons.hammer.ramshead_hammer"),
(0.04, "common.items.weapons.hammer.iron_hammer-7"),
(0.04, "common.items.weapons.hammer.iron_hammer-8"),
(0.05, "common.items.weapons.hammer.steel_hammer-0"),
(0.05, "common.items.weapons.hammer.steel_hammer-1"),
(0.05, "common.items.weapons.hammer.steel_hammer-2"),
(0.05, "common.items.weapons.hammer.steel_hammer-3"),
(0.05, "common.items.weapons.hammer.steel_hammer-4"),
(0.05, "common.items.weapons.hammer.steel_hammer-5"),
// bows
(0.1, "common.items.weapons.bow.nature_ore_longbow-0"),
]

View File

@ -0,0 +1,206 @@
[
// Food
// simple
(3, "common.items.food.cheese"),
(3, "common.items.food.apple"),
(3, "common.items.food.mushroom"),
(3, "common.items.food.coconut"),
// crafted
(0.5, "common.items.food.apple_mushroom_curry"),
(0.5, "common.items.food.apple_stick"),
(0.5, "common.items.food.mushroom_stick"),
// Misc
(0.25, "common.items.armor.neck.neck_1"),
// Heavy Armour
// belts
(0.5, "common.items.armor.belt.plate_0"),
(0.3, "common.items.armor.belt.steel_0"),
// chests
(0.5, "common.items.armor.chest.plate_green_0"),
(0.3, "common.items.armor.chest.steel_0"),
// shoes
(0.5, "common.items.armor.foot.plate_0"),
(0.3, "common.items.armor.foot.steel_0"),
// pants
(0.5, "common.items.armor.pants.plate_green_0"),
(0.3, "common.items.armor.pants.steel_0"),
// shoulders
(0.40, "common.items.armor.shoulder.plate_0"),
(0.37, "common.items.armor.shoulder.iron_spikes"),
(0.33, "common.items.armor.shoulder.steel_0"),
//gloves
(0.67, "common.items.armor.hand.plate_0"),
(0.33, "common.items.armor.hand.steel_0"),
//Light Armour
// belts
(0.50, "common.items.armor.belt.leather_0"),
(0.50, "common.items.armor.belt.leather_2"),
// chests
(0.50, "common.items.armor.chest.leather_0"),
(0.50, "common.items.armor.chest.leather_2"),
// shoes
(0.50, "common.items.armor.foot.leather_0"),
(0.50, "common.items.armor.foot.leather_2"),
// pants
(0.33, "common.items.armor.pants.leather_0"),
(0.33, "common.items.armor.pants.leather_2"),
(0.33, "common.items.armor.pants.hunting"),
// shoulders
(0.6, "common.items.armor.shoulder.leather_strips"),
(0.4, "common.items.armor.shoulder.leather_0"),
(0.4, "common.items.armor.shoulder.leather_1"),
(0.4, "common.items.armor.shoulder.leather_2"),
(0.3, "common.items.armor.shoulder.leather_iron_0"),
(0.3, "common.items.armor.shoulder.leather_iron_1"),
(0.3, "common.items.armor.shoulder.leather_iron_2"),
(0.3, "common.items.armor.shoulder.leather_iron_3"),
//gloves
(0.50, "common.items.armor.hand.leather_0"),
(0.50, "common.items.armor.hand.leather_2"),
// Common Weapons
// swords
(0.4, "common.items.weapons.sword.wood_sword"),
(0.3, "common.items.weapons.sword.long_2h_dam-0"),
(0.3, "common.items.weapons.sword.long_2h_dam-1"),
(0.3, "common.items.weapons.sword.long_2h_dam-2"),
(0.3, "common.items.weapons.sword.long_2h_dam-3"),
(0.3, "common.items.weapons.sword.long_2h_dam-4"),
(0.3, "common.items.weapons.sword.long_2h_dam-5"),
(0.25, "common.items.weapons.sword.short_sword_0"),
(0.1, "common.items.weapons.sword.greatsword_2h_dam-0"),
(0.1, "common.items.weapons.sword.greatsword_2h_dam-1"),
(0.1, "common.items.weapons.sword.greatsword_2h_dam-2"),
// axes
(0.20, "common.items.weapons.axe.orc_axe-0"),
(0.10, "common.items.weapons.axe.worn_iron_axe-0"),
(0.10, "common.items.weapons.axe.worn_iron_axe-1"),
(0.10, "common.items.weapons.axe.worn_iron_axe-2"),
(0.10, "common.items.weapons.axe.worn_iron_axe-3"),
(0.10, "common.items.weapons.axe.worn_iron_axe-4"),
// healing staff
(0.25, "common.items.weapons.staff.staff_nature"),
// hammers
(0.15, "common.items.weapons.hammer.flimsy_hammer"),
(0.10, "common.items.weapons.hammer.wood_hammer-0"),
(0.10, "common.items.weapons.hammer.stone_hammer-0"),
(0.10, "common.items.weapons.hammer.stone_hammer-1"),
(0.10, "common.items.weapons.hammer.stone_hammer-2"),
(0.10, "common.items.weapons.hammer.stone_hammer-3"),
(0.05, "common.items.weapons.hammer.worn_iron_hammer-0"),
(0.05, "common.items.weapons.hammer.worn_iron_hammer-1"),
(0.05, "common.items.weapons.hammer.worn_iron_hammer-2"),
(0.05, "common.items.weapons.hammer.worn_iron_hammer-3"),
// bows
(0.25, "common.items.weapons.bow.wood_shortbow-0"),
(0.25, "common.items.weapons.bow.wood_shortbow-1"),
// Uncommon Weapons
// swords
(0.05, "common.items.weapons.sword.long_2h_simple-0"),
(0.05, "common.items.weapons.sword.long_2h_simple-1"),
(0.05, "common.items.weapons.sword.long_2h_simple-2"),
(0.05, "common.items.weapons.sword.long_2h_simple-3"),
(0.05, "common.items.weapons.sword.long_2h_simple-4"),
(0.05, "common.items.weapons.sword.long_2h_simple-5"),
(0.10, "common.items.weapons.sword.greatsword_2h_simple-0"),
(0.10, "common.items.weapons.sword.greatsword_2h_simple-1"),
(0.10, "common.items.weapons.sword.greatsword_2h_simple-2"),
(0.06, "common.items.weapons.sword.long_2h_fine-0"),
(0.06, "common.items.weapons.sword.long_2h_fine-1"),
(0.06, "common.items.weapons.sword.long_2h_fine-2"),
(0.06, "common.items.weapons.sword.long_2h_fine-3"),
(0.06, "common.items.weapons.sword.long_2h_fine-4"),
(0.06, "common.items.weapons.sword.long_2h_fine-5"),
(0.07, "common.items.weapons.sword.greatsword_2h_fine-0"),
(0.07, "common.items.weapons.sword.greatsword_2h_fine-1"),
(0.07, "common.items.weapons.sword.greatsword_2h_fine-2"),
// axes
(0.15, "common.items.weapons.axe.bronze_axe-0"),
(0.15, "common.items.weapons.axe.bronze_axe-1"),
(0.04, "common.items.weapons.axe.iron_axe-0"),
(0.04, "common.items.weapons.axe.iron_axe-1"),
(0.04, "common.items.weapons.axe.iron_axe-2"),
(0.04, "common.items.weapons.axe.iron_axe-3"),
(0.04, "common.items.weapons.axe.iron_axe-4"),
(0.04, "common.items.weapons.axe.iron_axe-5"),
(0.04, "common.items.weapons.axe.iron_axe-6"),
(0.04, "common.items.weapons.axe.iron_axe-7"),
(0.04, "common.items.weapons.axe.iron_axe-8"),
(0.04, "common.items.weapons.axe.iron_axe-9"),
(0.04, "common.items.weapons.axe.steel_axe-0"),
(0.04, "common.items.weapons.axe.steel_axe-1"),
(0.04, "common.items.weapons.axe.steel_axe-2"),
(0.04, "common.items.weapons.axe.steel_axe-3"),
(0.04, "common.items.weapons.axe.steel_axe-4"),
(0.04, "common.items.weapons.axe.steel_axe-5"),
(0.04, "common.items.weapons.axe.steel_axe-6"),
// healing staff
(0.5, "common.items.weapons.staff.staff_nature"),
// staves
(1.00, "common.items.weapons.staff.bone_staff"),
// hammers
(0.15, "common.items.weapons.hammer.bronze_hammer-0"),
(0.15, "common.items.weapons.hammer.bronze_hammer-1"),
(0.04, "common.items.weapons.hammer.iron_hammer-0"),
(0.04, "common.items.weapons.hammer.iron_hammer-1"),
(0.04, "common.items.weapons.hammer.iron_hammer-2"),
(0.04, "common.items.weapons.hammer.iron_hammer-3"),
(0.04, "common.items.weapons.hammer.iron_hammer-4"),
(0.04, "common.items.weapons.hammer.iron_hammer-5"),
(0.04, "common.items.weapons.hammer.iron_hammer-6"),
(0.04, "common.items.weapons.hammer.iron_hammer-7"),
(0.04, "common.items.weapons.hammer.iron_hammer-8"),
(0.05, "common.items.weapons.hammer.steel_hammer-0"),
(0.05, "common.items.weapons.hammer.steel_hammer-1"),
(0.05, "common.items.weapons.hammer.steel_hammer-2"),
(0.05, "common.items.weapons.hammer.steel_hammer-3"),
(0.05, "common.items.weapons.hammer.steel_hammer-4"),
(0.05, "common.items.weapons.hammer.steel_hammer-5"),
// bows
(0.30, "common.items.weapons.bow.leafy_shortbow-0"),
(0.25, "common.items.weapons.bow.wood_longbow-0"),
(0.25, "common.items.weapons.bow.wood_longbow-1"),
(0.20, "common.items.weapons.bow.leafy_longbow-0"),
// Rare Weapons
// swords
(0.08, "common.items.weapons.sword.long_2h_orn-0"),
(0.08, "common.items.weapons.sword.long_2h_orn-1"),
(0.08, "common.items.weapons.sword.long_2h_orn-2"),
(0.08, "common.items.weapons.sword.long_2h_orn-3"),
(0.08, "common.items.weapons.sword.long_2h_orn-4"),
(0.08, "common.items.weapons.sword.long_2h_orn-5"),
(0.20, "common.items.weapons.sword.zweihander_sword_0"),
(0.10, "common.items.weapons.sword.greatsword_2h_orn-0"),
(0.10, "common.items.weapons.sword.greatsword_2h_orn-1"),
(0.10, "common.items.weapons.sword.greatsword_2h_orn-2"),
// axes
(0.20, "common.items.weapons.axe.bloodsteel_axe-0"),
(0.20, "common.items.weapons.axe.bloodsteel_axe-1"),
(0.20, "common.items.weapons.axe.bloodsteel_axe-2"),
(0.30, "common.items.weapons.axe.cobalt_axe-0"),
(0.10, "common.items.weapons.axe.malachite_axe-0"),
// healing staff
(0.25, "common.items.weapons.staff.staff_nature"),
// staves
(1.00, "common.items.weapons.staff.amethyst_staff"),
// hammers
(0.01, "common.items.weapons.hammer.cobalt_hammer-0"),
(0.01, "common.items.weapons.hammer.cobalt_hammer-1"),
(0.01, "common.items.weapons.hammer.runic_hammer"),
(0.1, "common.items.weapons.hammer.ramshead_hammer"),
(0.001, "common.items.weapons.hammer.mjolnir"),
// bows
(0.6, "common.items.weapons.bow.horn_longbow-0"),
(0.2, "common.items.weapons.bow.iron_longbow-0"),
(0.10, "common.items.weapons.bow.rare_longbow"),
// cultist set
(0.1, "common.items.armor.belt.cultist_belt"),
(0.01, "common.items.armor.chest.cultist_chest_purple"),
(0.01, "common.items.armor.foot.cultist_boots"),
(0.01, "common.items.armor.hand.cultist_hands_purple"),
(0.01, "common.items.armor.pants.cultist_legs_purple"),
(0.01, "common.items.armor.shoulder.cultist_shoulder_purple"),
(0.005, "common.items.armor.back.dungeon_purple-0"),
(0.1, "common.items.boss_drops.exp_flask"),
(0.2, "common.items.boss_drops.potions"),
]

View File

@ -1,18 +1,35 @@
{ {
// Tools
"crafting_hammer": (("common.items.crafting_tools.craftsman_hammer", 1),[("common.items.crafting_ing.twigs", 14), ("common.items.crafting_ing.stones", 12)]), "crafting_hammer": (("common.items.crafting_tools.craftsman_hammer", 1),[("common.items.crafting_ing.twigs", 14), ("common.items.crafting_ing.stones", 12)]),
"mortar_pestle": (("common.items.crafting_tools.mortar_pestle", 1), [("common.items.crafting_ing.stones", 6), ("common.items.food.coconut", 2), ("common.items.crafting_tools.craftsman_hammer", 0)]), "mortar_pestle": (("common.items.crafting_tools.mortar_pestle", 1), [("common.items.crafting_ing.stones", 6), ("common.items.food.coconut", 2), ("common.items.crafting_tools.craftsman_hammer", 0)]),
// Ore and more
"velorite_frag": (("common.items.ore.veloritefrag", 2), [("common.items.ore.velorite", 1), ("common.items.crafting_tools.craftsman_hammer", 0)]), "velorite_frag": (("common.items.ore.veloritefrag", 2), [("common.items.ore.velorite", 1), ("common.items.crafting_tools.craftsman_hammer", 0)]),
//Potions
"potion_s": (("common.items.consumable.potion_minor", 1), [("common.items.crafting_ing.empty_vial", 1), ("common.items.ore.veloritefrag", 2)]), "potion_s": (("common.items.consumable.potion_minor", 1), [("common.items.crafting_ing.empty_vial", 1), ("common.items.ore.veloritefrag", 2)]),
"potion_m": (("common.items.consumable.potion_med", 1), [("common.items.consumable.potion_minor", 2), ("common.items.ore.veloritefrag", 4)]), "potion_m": (("common.items.consumable.potion_med", 1), [("common.items.consumable.potion_minor", 2), ("common.items.ore.veloritefrag", 4)]),
"collar_basic": (("common.items.utility.collar", 1), [("common.items.crafting_ing.leather_scraps", 5), ("common.items.crafting_ing.shiny_gem", 1)]), "collar_basic": (("common.items.utility.collar", 1), [("common.items.crafting_ing.leather_scraps", 5), ("common.items.crafting_ing.shiny_gem", 1)]),
"bomb_coconut": (("common.items.utility.bomb", 1), [("common.items.crafting_ing.stones", 10), ("common.items.food.coconut", 2), ("common.items.ore.veloritefrag", 2), ("common.items.crafting_tools.mortar_pestle", 0)]), "bomb_coconut": (("common.items.utility.bomb", 1), [("common.items.crafting_ing.stones", 10), ("common.items.food.coconut", 2), ("common.items.ore.veloritefrag", 2), ("common.items.crafting_tools.mortar_pestle", 0)]),
"firework_blue": (("common.items.utility.firework_blue", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]), // Firework
"firework_green": (("common.items.utility.firework_green", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]), "firework_blue": (("common.items.utility.firework_blue", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]),
"firework_purple": (("common.items.utility.firework_purple", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]), "firework_green": (("common.items.utility.firework_green", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]),
"firework_red": (("common.items.utility.firework_red", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]), "firework_purple": (("common.items.utility.firework_purple", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]),
"firework_yellow": (("common.items.utility.firework_yellow", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]), "firework_red": (("common.items.utility.firework_red", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]),
"firework_yellow": (("common.items.utility.firework_yellow", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]),
// Food
"apple_shroom_curry": (("common.items.food.apple_mushroom_curry", 1), [("common.items.food.mushroom", 8), ("common.items.food.coconut", 1), ("common.items.food.apple", 4), ("common.items.crafting_tools.mortar_pestle", 0)]), "apple_shroom_curry": (("common.items.food.apple_mushroom_curry", 1), [("common.items.food.mushroom", 8), ("common.items.food.coconut", 1), ("common.items.food.apple", 4), ("common.items.crafting_tools.mortar_pestle", 0)]),
"apples_stick": (("common.items.food.apple_stick", 1),[("common.items.crafting_ing.twigs", 2), ("common.items.food.apple", 2)]), "apples_stick": (("common.items.food.apple_stick", 1),[("common.items.crafting_ing.twigs", 2), ("common.items.food.apple", 2)]),
"mushroom_stick": (("common.items.food.mushroom_stick", 1),[("common.items.crafting_ing.twigs", 2), ("common.items.food.mushroom", 3)]), "mushroom_stick": (("common.items.food.mushroom_stick", 1),[("common.items.crafting_ing.twigs", 2), ("common.items.food.mushroom", 3)]),
// Weapons
"velorite_sceptre": (("common.items.weapons.staff.sceptre_velorite_0", 1),[("common.items.crafting_ing.twigs", 20), ("common.items.ore.veloritefrag", 10), ("common.items.crafting_ing.shiny_gem", 4), ("common.items.crafting_tools.craftsman_hammer", 0)]), "velorite_sceptre": (("common.items.weapons.staff.sceptre_velorite_0", 1),[("common.items.crafting_ing.twigs", 20), ("common.items.ore.veloritefrag", 10), ("common.items.crafting_ing.shiny_gem", 4), ("common.items.crafting_tools.craftsman_hammer", 0)]),
} // Enhanced starting weapons
"better bow": (("common.items.weapons.bow.wood_shortbow-0", 1), [("common.items.crafting_ing.leather_scraps", 8),("common.items.crafting_ing.twigs", 4), ("common.items.crafting_ing.stones", 0)]),
"better sword": (("common.items.weapons.sword.wood_sword", 1), [("common.items.crafting_ing.leather_scraps", 4),("common.items.crafting_ing.twigs", 8), ("common.items.crafting_ing.stones", 0)]),
// Adventurer/Beginner Leather Set
"adventure back": (("common.items.armor.back.leather_adventurer", 1),[("common.items.crafting_ing.leather_scraps", 4)]),
"adventure belt": (("common.items.armor.belt.leather_adventurer", 1),[("common.items.crafting_ing.leather_scraps", 2)]),
"adventure chest": (("common.items.armor.chest.leather_adventurer", 1),[("common.items.crafting_ing.leather_scraps", 12)]),
"adventure feet": (("common.items.armor.foot.leather_adventurer", 1),[("common.items.crafting_ing.leather_scraps", 6)]),
"adventure hands": (("common.items.armor.hand.leather_adventurer", 1),[("common.items.crafting_ing.leather_scraps", 4)]),
"adventure pants": (("common.items.armor.pants.leather_adventurer", 1),[("common.items.crafting_ing.leather_scraps", 8)]),
"adventure shoulder": (("common.items.armor.shoulder.leather_adventurer", 1),[("common.items.crafting_ing.leather_scraps", 12)]),
}

View File

@ -419,7 +419,7 @@ magically infused items?"#,
"gameinput.declinegroupinvite": "Decline Group Invite", "gameinput.declinegroupinvite": "Decline Group Invite",
"gameinput.crafting": "Crafting", "gameinput.crafting": "Crafting",
"gameinput.sneak": "Sneak", "gameinput.sneak": "Sneak",
"gameinput.swimdown": "Dive downwards", "gameinput.swimdown": "Swim downwards",
"gameinput.swimup": "Swim upwards", "gameinput.swimup": "Swim upwards",
/// End GameInput section /// End GameInput section

View File

@ -44,6 +44,10 @@
"voxel.weapon.bow.longbow_rare", "voxel.weapon.bow.longbow_rare",
(0.0, 0.0, 0.0), (90.0, 90.0, 0.0), 1.0, (0.0, 0.0, 0.0), (90.0, 90.0, 0.0), 1.0,
), ),
Tool(Bow("NatureOreLongbow")): VoxTrans(
"voxel.weapon.bow.longbow_ore_nature-0",
(0.0, 0.0, 0.0), (90.0, 90.0, 0.0), 1.0,
),
// Daggers // Daggers
Tool(Dagger("BasicDagger")): VoxTrans( Tool(Dagger("BasicDagger")): VoxTrans(
"voxel.weapon.dagger.dagger_rusty", "voxel.weapon.dagger.dagger_rusty",
@ -1075,7 +1079,7 @@
"voxel.armor.back.short-0", "voxel.armor.back.short-0",
(0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.0, (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.0,
), ),
Armor(Back("Short1")): VoxTrans( Armor(Back("Short1")): VoxTrans(
"voxel.armor.back.short-1", "voxel.armor.back.short-1",
(0.0, -2.0, 0.0), (-90.0, 180.0, 0.0), 1.0, (0.0, -2.0, 0.0), (-90.0, 180.0, 0.0), 1.0,
), ),
@ -1087,6 +1091,10 @@
"voxel.armor.back.dung_purp-0", "voxel.armor.back.dung_purp-0",
(0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.0, (0.0, 0.0, 0.0), (-90.0, 180.0, 0.0), 1.0,
), ),
Armor(Back("Short2")): VoxTrans(
"voxel.armor.back.short-2",
(0.0, -2.0, 0.0), (-90.0, 180.0, 0.0), 1.0,
),
// Rings // Rings
Armor(Ring("Ring0")): Png( Armor(Ring("Ring0")): Png(
"element.icons.ring-0", "element.icons.ring-0",

View File

@ -118,8 +118,8 @@ void main() {
} else if (inst_mode == FIRE) { } else if (inst_mode == FIRE) {
attr = Attr( attr = Attr(
linear_motion( linear_motion(
vec3(rand0 * 0.25, rand1 * 0.25, 0.3), vec3(rand0 * 0.3, rand1 * 0.3, 0.2),
vec3(rand2 * 0.1, rand3 * 0.1, 2.0 + rand4 * 1.0) vec3(rand1 * 0.1, rand3 * 0.1, 3.0 + rand4 * 1.2)
), ),
1.0, 1.0,
vec4(2, 0.8 + rand5 * 0.3, 0, 1), vec4(2, 0.8 + rand5 * 0.3, 0, 1),

BIN
assets/voxygen/voxel/armor/back/short-2.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -20,5 +20,9 @@
vox_spec: ("armor.back.short-1", (-5.0, -1.0, -11.0)), vox_spec: ("armor.back.short-1", (-5.0, -1.0, -11.0)),
color: None color: None
), ),
"Short2": (
vox_spec: ("armor.back.short-2", (-5.0, -1.0, -11.0)),
color: None
),
}, },
)) ))

View File

@ -484,6 +484,10 @@
vox_spec: ("weapon.bow.longbow_rare", (-2.0, -6.0, -2.5)), vox_spec: ("weapon.bow.longbow_rare", (-2.0, -6.0, -2.5)),
color: None color: None
), ),
Bow("NatureOreLongbow"): (
vox_spec: ("weapon.bow.longbow_ore_nature-0", (-2.0, -4.0, -4.5)),
color: None
),
// Farming Equipment // Farming Equipment
Farming("Broom"): ( Farming("Broom"): (
vox_spec: ("weapon.tool.broom-0", (-1.5, -4.0, -4.0)), vox_spec: ("weapon.tool.broom-0", (-1.5, -4.0, -4.0)),
@ -548,7 +552,7 @@
color: None color: None
), ),
Staff("SceptreVelorite"): ( Staff("SceptreVelorite"): (
vox_spec: ("weapon.staff.ore-nature", (-1.0, -6.0, -5.0)), vox_spec: ("weapon.staff.ore-nature", (-2.0, -6.0, -5.0)),
color: None color: None
), ),
// Misc // Misc

BIN
assets/voxygen/voxel/weapon/bow/longbow_ore_nature-0.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -245,7 +245,7 @@ impl Tool {
energy_cost: 350, energy_cost: 350,
buildup_duration: Duration::from_millis(0), buildup_duration: Duration::from_millis(0),
recover_duration: Duration::from_millis(1000), recover_duration: Duration::from_millis(1000),
base_healthchange: (150.0 * self.base_power()) as i32, base_healthchange: (350.0 * self.base_power()) as i32,
range: 100.0, range: 100.0,
max_angle: 90.0, max_angle: 90.0,
}, },

View File

@ -146,12 +146,12 @@ impl<'a> System<'a> for Sys {
const AVG_FOLLOW_DIST: f32 = 6.0; const AVG_FOLLOW_DIST: f32 = 6.0;
const MAX_FOLLOW_DIST: f32 = 12.0; const MAX_FOLLOW_DIST: f32 = 12.0;
const MAX_CHASE_DIST: f32 = 24.0; const MAX_CHASE_DIST: f32 = 18.0;
const LISTEN_DIST: f32 = 16.0; const LISTEN_DIST: f32 = 16.0;
const SEARCH_DIST: f32 = 48.0; const SEARCH_DIST: f32 = 48.0;
const SIGHT_DIST: f32 = 128.0; const SIGHT_DIST: f32 = 80.0;
const MIN_ATTACK_DIST: f32 = 3.5; const MIN_ATTACK_DIST: f32 = 2.0;
const MAX_FLEE_DIST: f32 = 32.0; const MAX_FLEE_DIST: f32 = 20.0;
let scale = scales.get(entity).map(|s| s.0).unwrap_or(1.0); let scale = scales.get(entity).map(|s| s.0).unwrap_or(1.0);
@ -333,7 +333,7 @@ impl<'a> System<'a> for Sys {
.try_normalized() .try_normalized()
.unwrap_or(Vec2::zero()) .unwrap_or(Vec2::zero())
* speed * speed
* 0.6; //Let small/slow animals flee slower than the player * 0.2; //Let small/slow animals flee slower than the player
inputs.jump.set_state(bearing.z > 1.5); inputs.jump.set_state(bearing.z > 1.5);
inputs.swimup.set_state(bearing.z > 0.5); inputs.swimup.set_state(bearing.z > 0.5);
inputs.swimdown.set_state(bearing.z < 0.5); inputs.swimdown.set_state(bearing.z < 0.5);

View File

@ -119,8 +119,8 @@ pub fn handle_create_waypoint(server: &mut Server, pos: Vec3<f32>) {
.state .state
.create_object(Pos(pos), comp::object::Body::CampfireLit) .create_object(Pos(pos), comp::object::Body::CampfireLit)
.with(LightEmitter { .with(LightEmitter {
col: Rgb::new(1.0, 0.65, 0.2), col: Rgb::new(1.0, 0.8, 0.0),
strength: 5.0, strength: 8.0,
flicker: 1.0, flicker: 1.0,
animated: true, animated: true,
}) })

View File

@ -263,32 +263,25 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
}, },
}, },
Some(common::comp::Body::BipedLarge(biped_large)) => match biped_large.species { Some(common::comp::Body::BipedLarge(biped_large)) => match biped_large.species {
_ => match rng.gen_range(0, 9) { _ => match rng.gen_range(0, 8) {
0 => { 0 => {
assets::load_expect::<Lottery<String>>("common.loot_tables.loot_table_food") assets::load_expect::<Lottery<String>>("common.loot_tables.loot_table_food")
}, },
1 => assets::load_expect::<Lottery<String>>( 1 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_armor_misc", "common.loot_tables.loot_table_armor_nature",
),
2 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_armor_light",
), ),
3 => assets::load_expect::<Lottery<String>>( 3 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_armor_heavy", "common.loot_tables.loot_table_armor_heavy",
), ),
4 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_armor_misc",
),
5 => assets::load_expect::<Lottery<String>>( 5 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_weapon_common",
),
6 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_weapon_uncommon", "common.loot_tables.loot_table_weapon_uncommon",
), ),
7 => assets::load_expect::<Lottery<String>>( 6 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_weapon_rare", "common.loot_tables.loot_table_weapon_rare",
), ),
_ => assets::load_expect::<Lottery<String>>("common.loot_tables.loot_table"), _ => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_cave_large",
),
}, },
}, },
Some(common::comp::Body::Golem(golem)) => match golem.species { Some(common::comp::Body::Golem(golem)) => match golem.species {
@ -322,13 +315,9 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
}, },
Some(common::comp::Body::Critter(critter)) => match critter.species { Some(common::comp::Body::Critter(critter)) => match critter.species {
_ => match rng.gen_range(0, 3) { _ => match rng.gen_range(0, 3) {
0 => { _ => assets::load_expect::<Lottery<String>>(
assets::load_expect::<Lottery<String>>("common.loot_tables.loot_table_food")
},
1 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_animal_parts", "common.loot_tables.loot_table_animal_parts",
), ),
_ => assets::load_expect::<Lottery<String>>("common.loot_tables.loot_table"),
}, },
}, },
Some(common::comp::Body::Dragon(_)) => { Some(common::comp::Body::Dragon(_)) => {

View File

@ -405,7 +405,7 @@ impl<'a> Widget for Crafting<'a> {
.set(state.ids.ingredient_img[i], ui); .set(state.ids.ingredient_img[i], ui);
// Ingredients text and amount // Ingredients text and amount
// Don't show inventory amounts above 999 to avoid the widget clipping // Don't show inventory amounts above 999 to avoid the widget clipping
let over9k = "999+"; let over9k = "99+";
let in_inv: &str = &self.inventory.item_count(item).to_string(); let in_inv: &str = &self.inventory.item_count(item).to_string();
// Show Ingredients // Show Ingredients
// Align "Required" Text below last ingredient // Align "Required" Text below last ingredient
@ -429,7 +429,7 @@ impl<'a> Widget for Crafting<'a> {
"{}x {} ({})", "{}x {} ({})",
amount, amount,
item.name(), item.name(),
if self.inventory.item_count(item) > 999 { if self.inventory.item_count(item) > 99 {
over9k over9k
} else { } else {
in_inv in_inv
@ -439,7 +439,7 @@ impl<'a> Widget for Crafting<'a> {
Text::new(&input) Text::new(&input)
.right_from(state.ids.ingredient_frame[i], 10.0) .right_from(state.ids.ingredient_frame[i], 10.0)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(12))
.color(col) .color(col)
.set(state.ids.ingredients[i], ui); .set(state.ids.ingredients[i], ui);
} }

View File

@ -2,7 +2,7 @@ use crate::{
column::ColumnSample, column::ColumnSample,
sim::SimChunk, sim::SimChunk,
util::{RandomField, Sampler}, util::{RandomField, Sampler},
Index, IndexRef, CONFIG, IndexRef, CONFIG,
}; };
use common::{ use common::{
assets, comp, assets, comp,
@ -130,10 +130,10 @@ pub fn apply_scatter_to<'a>(
// Collecable Objects // Collecable Objects
// Only spawn twigs in temperate forests // Only spawn twigs in temperate forests
(Twigs, false, |c| { (Twigs, false, |c| {
((c.tree_density - 0.5).max(0.0) * MUSH_FACT *0.5, None) ((c.tree_density - 0.5).max(0.0) * MUSH_FACT * 0.5, None)
}), }),
(Stones, false, |c| { (Stones, false, |c| {
((c.rockiness - 0.5).max(0.0) * MUSH_FACT *0.5, None) ((c.rockiness - 0.5).max(0.0) * MUSH_FACT * 0.5, None)
}), }),
// Don't spawn Mushrooms in snowy regions // Don't spawn Mushrooms in snowy regions
(Mushroom, false, |c| { (Mushroom, false, |c| {
@ -197,8 +197,8 @@ pub fn apply_scatter_to<'a>(
c.humidity, c.humidity,
CONFIG.desert_hum, CONFIG.desert_hum,
0.3, 0.3,
)) * MUSH_FACT* 0.1, )) * MUSH_FACT
* 0.1,
None, None,
) )
}), }),
@ -208,8 +208,8 @@ pub fn apply_scatter_to<'a>(
c.humidity, c.humidity,
CONFIG.desert_hum, CONFIG.desert_hum,
0.2, 0.2,
)) * MUSH_FACT* 0.1, )) * MUSH_FACT
* 0.1,
None, None,
) )
}), }),

View File

@ -461,6 +461,13 @@ impl Floor {
&& !tile_is_pillar && !tile_is_pillar
{ {
// Bad // Bad
let chosen =
assets::load_expect::<Lottery<String>>(match rng.gen_range(0, 5) {
0 => "common.loot_tables.loot_table_humanoids",
1 => "common.loot_tables.loot_table_armor_misc",
_ => "common.loot_tables.loot_table_cultists",
});
let chosen = chosen.choose();
let entity = EntityInfo::at( let entity = EntityInfo::at(
tile_wcenter.map(|e| e as f32) tile_wcenter.map(|e| e as f32)
// Randomly displace them a little // Randomly displace them a little
@ -472,6 +479,7 @@ impl Floor {
.with_alignment(comp::Alignment::Enemy) .with_alignment(comp::Alignment::Enemy)
.with_body(comp::Body::Humanoid(comp::humanoid::Body::random())) .with_body(comp::Body::Humanoid(comp::humanoid::Body::random()))
.with_automatic_name() .with_automatic_name()
.with_loot_drop(assets::load_expect_cloned(chosen))
.with_main_tool(assets::load_expect_cloned(match rng.gen_range(0, 6) { .with_main_tool(assets::load_expect_cloned(match rng.gen_range(0, 6) {
0 => "common.items.npc_weapons.axe.malachite_axe-0", 0 => "common.items.npc_weapons.axe.malachite_axe-0",
1 => "common.items.npc_weapons.sword.cultist_purp_2h-0", 1 => "common.items.npc_weapons.sword.cultist_purp_2h-0",
@ -509,7 +517,7 @@ impl Floor {
.with_alignment(comp::Alignment::Enemy) .with_alignment(comp::Alignment::Enemy)
.with_body(comp::Body::Humanoid(comp::humanoid::Body::random())) .with_body(comp::Body::Humanoid(comp::humanoid::Body::random()))
.with_name(format!( .with_name(format!(
"{}\nCult Leader", "Cult Leader {}",
npc::get_npc_name(npc::NpcKind::Humanoid) npc::get_npc_name(npc::NpcKind::Humanoid)
)) ))
.with_main_tool(assets::load_expect_cloned( .with_main_tool(assets::load_expect_cloned(
@ -620,7 +628,7 @@ impl Floor {
self.tiles.get(tile_pos) self.tiles.get(tile_pos)
{ {
let room = &self.rooms[*room]; let room = &self.rooms[*room];
if RandomField::new(room.seed).chance(Vec3::from(pos), room.loot_density) { if RandomField::new(room.seed).chance(Vec3::from(pos), room.loot_density * 0.5) {
BlockMask::new(Block::new(BlockKind::Chest, Rgb::white()), 1) BlockMask::new(Block::new(BlockKind::Chest, Rgb::white()), 1)
} else { } else {
empty empty

View File

@ -10,7 +10,7 @@ impl RandomField {
pub const fn new(seed: u32) -> Self { Self { seed } } pub const fn new(seed: u32) -> Self { Self { seed } }
pub fn chance(&self, pos: Vec3<i32>, chance: f32) -> bool { pub fn chance(&self, pos: Vec3<i32>, chance: f32) -> bool {
(self.get(pos) % (1 << 10)) as f32 / ((1 << 10) as f32) < chance (self.get(pos) % (1 << 16)) as f32 / ((1 << 16) as f32) < chance
} }
} }