├── gui ├── menu.gd.uid ├── new_game.gd.uid ├── guild_test.gd.uid ├── item_icon_test.gd.uid ├── main │ ├── scripts │ │ ├── mods.gd.uid │ │ ├── skills.gd.uid │ │ ├── abilities.gd.uid │ │ ├── attributes.gd.uid │ │ ├── equipment.gd.uid │ │ ├── guilds.gd.uid │ │ ├── inventory.gd.uid │ │ ├── main_gui.gd.uid │ │ ├── main_log.gd.uid │ │ ├── recipes.gd.uid │ │ ├── statistics.gd.uid │ │ ├── timetable.gd.uid │ │ ├── tooltip.gd.uid │ │ ├── character_panel.gd.uid │ │ ├── location_panel.gd.uid │ │ ├── skill_modules.gd.uid │ │ ├── stat_display.gd.uid │ │ ├── armour_preference.gd.uid │ │ ├── potion_preference.gd.uid │ │ ├── progress_count_down.gd.uid │ │ ├── weapon_preference.gd.uid │ │ ├── progress_count_down.gd │ │ ├── attributes.gd │ │ ├── armour_preference.gd │ │ ├── main_log.gd │ │ ├── potion_preference.gd │ │ ├── weapon_preference.gd │ │ └── guilds.gd │ └── scenes │ │ └── tooltip.tscn ├── chart │ ├── scripts │ │ ├── ui │ │ │ ├── chart.gd.uid │ │ │ ├── graph.gd.uid │ │ │ ├── grid.gd.uid │ │ │ └── graph_layer.gd.uid │ │ └── references │ │ │ └── graph.gd.uid │ └── scenes │ │ └── graph_layer.tscn ├── item_icon_test.tscn └── guild_test.tscn ├── models ├── god.gd.uid ├── guild.gd.uid ├── region.gd.uid ├── ability.gd.uid ├── location.gd.uid ├── god.gd ├── ability.gd └── location.gd ├── libraries ├── enemies.gd.uid ├── guilds.gd.uid ├── items.gd.uid ├── names.gd.uid ├── regions.gd.uid ├── skills.gd.uid ├── story.gd.uid ├── utils.gd.uid ├── characters.gd.uid ├── god_description.gd.uid ├── guild_description.gd.uid ├── item_description.gd.uid ├── item_enchantment.gd.uid ├── text_generation.gd.uid ├── region_description.gd.uid ├── regions.tscn ├── guilds.tscn └── items.tscn ├── scenes └── main │ ├── main.gd.uid │ └── main.tscn ├── shaders ├── item.gdshader.uid ├── fade_in_lr.gdshader.uid └── fade_in_lr.gdshader ├── .gitignore ├── images ├── gui │ ├── license.txt │ ├── paper.png │ ├── paper.webp │ ├── black_rectangle_16.png │ ├── black_rectangle_32.png │ ├── transparent_pixel.png │ ├── paper.png.import │ ├── paper.webp.import │ ├── transparent_pixel.png.import │ ├── black_rectangle_16.png.import │ ├── black_rectangle_32.png.import │ ├── sea.svg.import │ ├── cave.svg.import │ ├── tent.svg.import │ ├── tree.svg.import │ ├── cloud.svg.import │ ├── coast.svg.import │ ├── dunes.svg.import │ ├── field.svg.import │ ├── house.svg.import │ ├── river.svg.import │ ├── swamp.svg.import │ ├── tower.svg.import │ ├── castle.svg.import │ ├── dungeon.svg.import │ ├── factory.svg.import │ ├── volcano.svg.import │ ├── waiting.svg.import │ ├── mountain.svg.import │ ├── tomb_stone.svg.import │ ├── arrows_right.svg.import │ └── floating_island.svg.import └── icons │ ├── license.txt │ ├── chart.svg.import │ ├── journal.svg.import │ ├── overview.svg.import │ ├── settings.svg.import │ ├── character.svg.import │ └── inventory.svg.import ├── data ├── tilesets │ ├── license.txt │ ├── dunes.png │ ├── farm.png │ ├── hills.png │ ├── pines.png │ ├── water.png │ ├── cities.png │ ├── forest.png │ ├── vulcano.png │ ├── mountains.png │ ├── farm.png.import │ ├── cities.png.import │ ├── dunes.png.import │ ├── forest.png.import │ ├── hills.png.import │ ├── pines.png.import │ ├── water.png.import │ ├── vulcano.png.import │ └── mountains.png.import ├── items │ ├── recipes │ │ ├── waist │ │ │ ├── rope.json │ │ │ ├── chain.json │ │ │ └── leather.json │ │ ├── feet │ │ │ ├── chain.json │ │ │ ├── plate.json │ │ │ ├── cloth.json │ │ │ └── leather.json │ │ ├── head │ │ │ ├── chain.json │ │ │ ├── glasses.json │ │ │ ├── plate.json │ │ │ ├── cloth.json │ │ │ └── leather.json │ │ ├── melee │ │ │ ├── axe.json │ │ │ ├── whip.json │ │ │ ├── sword.json │ │ │ ├── dagger.json │ │ │ ├── mace.json │ │ │ ├── flail.json │ │ │ ├── chain_saw.json │ │ │ ├── scythe.json │ │ │ ├── spear.json │ │ │ ├── battleaxe.json │ │ │ ├── greatsword.json │ │ │ ├── greatmaul.json │ │ │ └── morningstar.json │ │ ├── earrings │ │ │ ├── gem.json │ │ │ ├── orb.json │ │ │ └── metal.json │ │ ├── hands │ │ │ ├── chain.json │ │ │ ├── plate.json │ │ │ ├── cloth.json │ │ │ └── leather.json │ │ ├── magical │ │ │ ├── tome.json │ │ │ ├── orb.json │ │ │ ├── spellblade.json │ │ │ ├── amplifier.json │ │ │ ├── magestaff.json │ │ │ └── quarterstaff.json │ │ ├── rings │ │ │ ├── metal.json │ │ │ └── leather.json │ │ ├── ranged │ │ │ ├── pistol.json │ │ │ ├── sling.json │ │ │ ├── bow.json │ │ │ ├── crossbow.json │ │ │ ├── gun_blade.json │ │ │ └── blunderbuss.json │ │ ├── amulets │ │ │ ├── rope.json │ │ │ └── metal.json │ │ ├── legs │ │ │ ├── panties.json │ │ │ ├── chain.json │ │ │ ├── plate.json │ │ │ ├── cloth.json │ │ │ └── leather.json │ │ ├── bracelet │ │ │ ├── metal.json │ │ │ └── wood.json │ │ ├── capes │ │ │ ├── cloth.json │ │ │ ├── metal.json │ │ │ └── magical.json │ │ ├── torso │ │ │ ├── plate.json │ │ │ ├── chain.json │ │ │ ├── leather.json │ │ │ └── cloth.json │ │ └── shields │ │ │ ├── buckler.json │ │ │ ├── kite_shield.json │ │ │ └── tower_shield.json │ ├── components │ │ ├── coatings │ │ │ ├── glass.json │ │ │ ├── magical.json │ │ │ ├── paint.json │ │ │ └── metal.json │ │ ├── hilt.json │ │ ├── magic │ │ │ ├── gem.json │ │ │ ├── orb.json │ │ │ └── formula.json │ │ ├── joints │ │ │ ├── rope_chain.json │ │ │ ├── metal_chain.json │ │ │ ├── metal_strip.json │ │ │ ├── leather_strip.json │ │ │ ├── leather_joints.json │ │ │ ├── metal_joints.json │ │ │ └── rope_joints.json │ │ ├── shaft.json │ │ ├── melee │ │ │ ├── blade.json │ │ │ ├── chain_saw.json │ │ │ ├── knife.json │ │ │ ├── pole.json │ │ │ └── whip.json │ │ ├── ranged │ │ │ ├── string.json │ │ │ ├── bow.json │ │ │ ├── loader.json │ │ │ └── barrel.json │ │ └── armour │ │ │ ├── cloth.json │ │ │ ├── leather.json │ │ │ ├── light.json │ │ │ ├── chain.json │ │ │ └── plate.json │ ├── attributes │ │ ├── origin.json │ │ ├── thickness.json │ │ ├── weight.json │ │ ├── curse.json │ │ ├── stains.json │ │ ├── weakness.json │ │ ├── care.json │ │ ├── prophecy.json │ │ ├── mental_illness.json │ │ ├── quality.json │ │ ├── liquid.json │ │ ├── force.json │ │ ├── crime.json │ │ ├── craftsmanship.json │ │ ├── shape.json │ │ ├── emotion.json │ │ └── enemy.json │ ├── potions │ │ ├── mana_potion.json │ │ ├── healing_potion.json │ │ ├── stamina_potion.json │ │ ├── mana_salve.json │ │ ├── healing_salve.json │ │ ├── stamina_salve.json │ │ ├── bandage.json │ │ ├── energy_drink.json │ │ └── healing_infusion.json │ ├── texts │ │ ├── sentence_end.json │ │ └── addition.json │ ├── food │ │ ├── soup.json │ │ ├── tea.json │ │ ├── salad.json │ │ ├── mayonnaise.json │ │ ├── pizza.json │ │ ├── pot.json │ │ ├── pudding.json │ │ ├── curry.json │ │ ├── dessert.json │ │ └── sandwich.json │ └── cards │ │ └── base.json ├── materials │ ├── soul_stones │ │ ├── empty_soul_stone.json │ │ ├── soul_gem.json │ │ ├── soul_orb.json │ │ ├── soul_jewel.json │ │ ├── soul_shard.json │ │ ├── soul_stone.json │ │ └── soul_splinter.json │ ├── slime.json │ ├── sand.json │ ├── cabbage.json │ ├── scrap.json │ ├── algae.json │ ├── dust.json │ ├── fruit.json │ ├── hair.json │ ├── ore.json │ ├── wood.json │ ├── bean.json │ ├── coin.json │ ├── cotton.json │ ├── meat.json │ ├── paper.json │ ├── foil.json │ ├── mold.json │ ├── feather.json │ ├── bar.json │ ├── cog.json │ ├── cloth.json │ ├── glass.json │ ├── pebble.json │ ├── plank.json │ ├── silk.json │ ├── herb.json │ ├── ingot.json │ ├── tissue.json │ ├── wires.json │ ├── flower.json │ ├── gem.json │ ├── leaf.json │ ├── wrapping.json │ ├── kidney.json │ ├── resin.json │ ├── residue.json │ ├── spice.json │ ├── carrot.json │ ├── claw.json │ ├── nail.json │ ├── berry.json │ ├── fur.json │ ├── root.json │ ├── tooth.json │ ├── plankton.json │ ├── ram_modules.json │ ├── condensate.json │ ├── jewel.json │ ├── processing_unit.json │ ├── skin.json │ ├── stone.json │ ├── synth_skin.json │ ├── tail.json │ ├── wing.json │ ├── mushroom.json │ ├── oil.json │ ├── parchment.json │ ├── plasma.json │ ├── venom.json │ ├── battery.json │ ├── fang.json │ ├── skull.json │ ├── tongue.json │ ├── hide.json │ ├── horn.json │ ├── bone.json │ ├── moss.json │ ├── shell.json │ ├── ear.json │ ├── eye_ball.json │ ├── fin.json │ ├── magic_salt.json │ ├── pincer.json │ ├── scale.json │ ├── testicle.json │ ├── insistine.json │ ├── heart.json │ └── leather.json ├── guilds │ ├── specialization │ │ ├── cooking.json │ │ ├── conspiracy.json │ │ ├── cryomancy.json │ │ ├── pyromancy.json │ │ ├── summoner.json │ │ ├── archeology.json │ │ ├── blood.json │ │ ├── occultism.json │ │ ├── assassination.json │ │ ├── bulwark.json │ │ ├── thaumaturgy.json │ │ ├── combat.json │ │ ├── herbalist.json │ │ └── necromancy.json │ ├── attributes │ │ ├── destiny.json │ │ └── headquarters.json │ ├── organization │ │ ├── institute.json │ │ ├── guild.json │ │ ├── club.json │ │ └── cult.json │ └── subject │ │ ├── adventure.json │ │ ├── worship.json │ │ ├── hunt.json │ │ ├── crafting.json │ │ ├── research.json │ │ ├── thief.json │ │ ├── battle.json │ │ └── magic.json ├── enemies │ ├── training │ │ └── dummy.json │ ├── beasts │ │ ├── boar.json │ │ ├── shark.json │ │ ├── wolf.json │ │ ├── snap_turtle.json │ │ ├── sky_snake.json │ │ ├── water_snake.json │ │ ├── bat.json │ │ └── strong_wolf.json │ ├── elves │ │ └── elf.json │ ├── halflings │ │ └── halfling.json │ ├── dwarfs │ │ └── dwarf.json │ ├── humans │ │ └── human.json │ ├── undead │ │ ├── zombie.json │ │ ├── ghoul.json │ │ ├── lich.json │ │ ├── undead_shark.json │ │ └── undead.json │ ├── primitives │ │ └── hobgoblin.json │ ├── robots │ │ └── cyborg.json │ └── slimes │ │ └── nanite_slime.json ├── gods │ └── domains │ │ ├── commerce.json │ │ ├── faith.json │ │ ├── non_existance.json │ │ └── nature.json └── skills │ └── application │ └── base.json ├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── .gitattributes ├── translations ├── ui.en.translation ├── items.en.translation ├── texts.en.translation ├── actions.en.translation ├── colors.en.translation ├── skills.en.translation ├── texts.csv ├── ui.csv.import ├── items.csv.import ├── texts.csv.import ├── colors.csv.import ├── skills.csv.import ├── actions.csv.import └── colors.csv ├── README.md ├── icon.svg.import └── LICENSE /gui/menu.gd.uid: -------------------------------------------------------------------------------- 1 | uid://vb5b2dwrrj8v 2 | -------------------------------------------------------------------------------- /gui/new_game.gd.uid: -------------------------------------------------------------------------------- 1 | uid://dk6hjgcqbq4nm 2 | -------------------------------------------------------------------------------- /models/god.gd.uid: -------------------------------------------------------------------------------- 1 | uid://bf74ohctg2g5t 2 | -------------------------------------------------------------------------------- /models/guild.gd.uid: -------------------------------------------------------------------------------- 1 | uid://e1cejvwrtn1n 2 | -------------------------------------------------------------------------------- /models/region.gd.uid: -------------------------------------------------------------------------------- 1 | uid://k2q4hdog1joi 2 | -------------------------------------------------------------------------------- /gui/guild_test.gd.uid: -------------------------------------------------------------------------------- 1 | uid://dv5h4wrtgqn6c 2 | -------------------------------------------------------------------------------- /libraries/enemies.gd.uid: -------------------------------------------------------------------------------- 1 | uid://c8i3i41lpfqmo 2 | -------------------------------------------------------------------------------- /libraries/guilds.gd.uid: -------------------------------------------------------------------------------- 1 | uid://c8xdtxuuoiya5 2 | -------------------------------------------------------------------------------- /libraries/items.gd.uid: -------------------------------------------------------------------------------- 1 | uid://bx3ujbt6x0std 2 | -------------------------------------------------------------------------------- /libraries/names.gd.uid: -------------------------------------------------------------------------------- 1 | uid://b4qnfs6aao8r3 2 | -------------------------------------------------------------------------------- /libraries/regions.gd.uid: -------------------------------------------------------------------------------- 1 | uid://235k4nrghqna 2 | -------------------------------------------------------------------------------- /libraries/skills.gd.uid: -------------------------------------------------------------------------------- 1 | uid://c5oorxxrcl40t 2 | -------------------------------------------------------------------------------- /libraries/story.gd.uid: -------------------------------------------------------------------------------- 1 | uid://v3uj3i4wh7hn 2 | -------------------------------------------------------------------------------- /libraries/utils.gd.uid: -------------------------------------------------------------------------------- 1 | uid://bb6y85huf1fwx 2 | -------------------------------------------------------------------------------- /models/ability.gd.uid: -------------------------------------------------------------------------------- 1 | uid://dy1y3ra7iknn5 2 | -------------------------------------------------------------------------------- /models/location.gd.uid: -------------------------------------------------------------------------------- 1 | uid://b23643x5gy001 2 | -------------------------------------------------------------------------------- /scenes/main/main.gd.uid: -------------------------------------------------------------------------------- 1 | uid://coj57kf1b71wy 2 | -------------------------------------------------------------------------------- /gui/item_icon_test.gd.uid: -------------------------------------------------------------------------------- 1 | uid://d080130r8l7cx 2 | -------------------------------------------------------------------------------- /gui/main/scripts/mods.gd.uid: -------------------------------------------------------------------------------- 1 | uid://b4uw5ocghv2v 2 | -------------------------------------------------------------------------------- /gui/main/scripts/skills.gd.uid: -------------------------------------------------------------------------------- 1 | uid://qf6jn8c1ahae 2 | -------------------------------------------------------------------------------- /libraries/characters.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cqgyjhcqwi8x8 2 | -------------------------------------------------------------------------------- /shaders/item.gdshader.uid: -------------------------------------------------------------------------------- 1 | uid://c1q3skglg78l8 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Godot 4+ specific ignores 2 | .godot/ 3 | -------------------------------------------------------------------------------- /gui/chart/scripts/ui/chart.gd.uid: -------------------------------------------------------------------------------- 1 | uid://c6ixml78ifn2v 2 | -------------------------------------------------------------------------------- /gui/chart/scripts/ui/graph.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cc4vjjx2h55l4 2 | -------------------------------------------------------------------------------- /gui/chart/scripts/ui/grid.gd.uid: -------------------------------------------------------------------------------- 1 | uid://jmpe1jxy0irs 2 | -------------------------------------------------------------------------------- /gui/main/scripts/abilities.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cl2w8jtpeat 2 | -------------------------------------------------------------------------------- /gui/main/scripts/attributes.gd.uid: -------------------------------------------------------------------------------- 1 | uid://1qu8eqanouvw 2 | -------------------------------------------------------------------------------- /gui/main/scripts/equipment.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cpumy2bs82lfr 2 | -------------------------------------------------------------------------------- /gui/main/scripts/guilds.gd.uid: -------------------------------------------------------------------------------- 1 | uid://bnxmsvbw0p6my 2 | -------------------------------------------------------------------------------- /gui/main/scripts/inventory.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cxp22gc4f4wgi 2 | -------------------------------------------------------------------------------- /gui/main/scripts/main_gui.gd.uid: -------------------------------------------------------------------------------- 1 | uid://8de6201xgfoq 2 | -------------------------------------------------------------------------------- /gui/main/scripts/main_log.gd.uid: -------------------------------------------------------------------------------- 1 | uid://d2txfujvc52jj 2 | -------------------------------------------------------------------------------- /gui/main/scripts/recipes.gd.uid: -------------------------------------------------------------------------------- 1 | uid://bxuqunhdt65c1 2 | -------------------------------------------------------------------------------- /gui/main/scripts/statistics.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cpbgiil5hkv12 2 | -------------------------------------------------------------------------------- /gui/main/scripts/timetable.gd.uid: -------------------------------------------------------------------------------- 1 | uid://dw13iv8d2h60h 2 | -------------------------------------------------------------------------------- /gui/main/scripts/tooltip.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cotqs4ynhteph 2 | -------------------------------------------------------------------------------- /libraries/god_description.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cv5bh6lm3dxp0 2 | -------------------------------------------------------------------------------- /libraries/guild_description.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cggj5y00saka1 2 | -------------------------------------------------------------------------------- /libraries/item_description.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cdt3rleyf05px 2 | -------------------------------------------------------------------------------- /libraries/item_enchantment.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cp2xsbft51auy 2 | -------------------------------------------------------------------------------- /libraries/text_generation.gd.uid: -------------------------------------------------------------------------------- 1 | uid://dsdtogft54csl 2 | -------------------------------------------------------------------------------- /shaders/fade_in_lr.gdshader.uid: -------------------------------------------------------------------------------- 1 | uid://d0yxgsqrnme0l 2 | -------------------------------------------------------------------------------- /gui/chart/scripts/ui/graph_layer.gd.uid: -------------------------------------------------------------------------------- 1 | uid://c8duj33mkep1v 2 | -------------------------------------------------------------------------------- /gui/main/scripts/character_panel.gd.uid: -------------------------------------------------------------------------------- 1 | uid://cemdadev3as02 2 | -------------------------------------------------------------------------------- /gui/main/scripts/location_panel.gd.uid: -------------------------------------------------------------------------------- 1 | uid://b4ge6xtacfiiy 2 | -------------------------------------------------------------------------------- /gui/main/scripts/skill_modules.gd.uid: -------------------------------------------------------------------------------- 1 | uid://evcj1ksu1pyr 2 | -------------------------------------------------------------------------------- /gui/main/scripts/stat_display.gd.uid: -------------------------------------------------------------------------------- 1 | uid://dm6u654c24vg7 2 | -------------------------------------------------------------------------------- /libraries/region_description.gd.uid: -------------------------------------------------------------------------------- 1 | uid://bqdmllw7rhq6t 2 | -------------------------------------------------------------------------------- /gui/chart/scripts/references/graph.gd.uid: -------------------------------------------------------------------------------- 1 | uid://b5jbcasjngbdb 2 | -------------------------------------------------------------------------------- /gui/main/scripts/armour_preference.gd.uid: -------------------------------------------------------------------------------- 1 | uid://c58yreut2syco 2 | -------------------------------------------------------------------------------- /gui/main/scripts/potion_preference.gd.uid: -------------------------------------------------------------------------------- 1 | uid://0n1otdlfi5ii 2 | -------------------------------------------------------------------------------- /gui/main/scripts/progress_count_down.gd.uid: -------------------------------------------------------------------------------- 1 | uid://doowqljk47kwn 2 | -------------------------------------------------------------------------------- /gui/main/scripts/weapon_preference.gd.uid: -------------------------------------------------------------------------------- 1 | uid://fpi2c85vnqx4 2 | -------------------------------------------------------------------------------- /images/gui/license.txt: -------------------------------------------------------------------------------- 1 | Copyright: Viktor Hahn 2 | License: CC0 3 | -------------------------------------------------------------------------------- /images/icons/license.txt: -------------------------------------------------------------------------------- 1 | Copyright: Viktor Hahn 2 | License: CC0 3 | -------------------------------------------------------------------------------- /data/tilesets/license.txt: -------------------------------------------------------------------------------- 1 | Copyright: Viktor Hahn 2 | License: CC0 3 | -------------------------------------------------------------------------------- /images/gui/paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/images/gui/paper.png -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: fenix-hub 4 | -------------------------------------------------------------------------------- /data/tilesets/dunes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/data/tilesets/dunes.png -------------------------------------------------------------------------------- /data/tilesets/farm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/data/tilesets/farm.png -------------------------------------------------------------------------------- /data/tilesets/hills.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/data/tilesets/hills.png -------------------------------------------------------------------------------- /data/tilesets/pines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/data/tilesets/pines.png -------------------------------------------------------------------------------- /data/tilesets/water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/data/tilesets/water.png -------------------------------------------------------------------------------- /images/gui/paper.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/images/gui/paper.webp -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Normalize EOL for all files that Git considers text files. 2 | * text=auto eol=lf 3 | -------------------------------------------------------------------------------- /data/tilesets/cities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/data/tilesets/cities.png -------------------------------------------------------------------------------- /data/tilesets/forest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/data/tilesets/forest.png -------------------------------------------------------------------------------- /data/tilesets/vulcano.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/data/tilesets/vulcano.png -------------------------------------------------------------------------------- /data/tilesets/mountains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/data/tilesets/mountains.png -------------------------------------------------------------------------------- /translations/ui.en.translation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/translations/ui.en.translation -------------------------------------------------------------------------------- /images/gui/black_rectangle_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/images/gui/black_rectangle_16.png -------------------------------------------------------------------------------- /images/gui/black_rectangle_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/images/gui/black_rectangle_32.png -------------------------------------------------------------------------------- /images/gui/transparent_pixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/images/gui/transparent_pixel.png -------------------------------------------------------------------------------- /translations/items.en.translation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/translations/items.en.translation -------------------------------------------------------------------------------- /translations/texts.en.translation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/translations/texts.en.translation -------------------------------------------------------------------------------- /translations/actions.en.translation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/translations/actions.en.translation -------------------------------------------------------------------------------- /translations/colors.en.translation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/translations/colors.en.translation -------------------------------------------------------------------------------- /translations/skills.en.translation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/V-ktor/RNG-quest/HEAD/translations/skills.en.translation -------------------------------------------------------------------------------- /data/items/recipes/waist/rope.json: -------------------------------------------------------------------------------- 1 | { 2 | "rope_belt": { 3 | "type": "belt", 4 | "components":["cloth_armour", "rope_joints"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/components/coatings/glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "glass_coating": { 3 | "accuracy":3, 4 | "evasion":3, 5 | "material":["sand"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/components/hilt.json: -------------------------------------------------------------------------------- 1 | { 2 | "hilt": { 3 | "attack":4, 4 | "accuracy":2, 5 | "material":["wood", "stone", "leather"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/components/magic/gem.json: -------------------------------------------------------------------------------- 1 | { 2 | "gem": { 3 | "subtype": "magic", 4 | "magic":6, 5 | "material":["gem", "magical"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/feet/chain.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain_boots": { 3 | "type": "feet", 4 | "components":["chain_armour", "metal_joints"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/feet/plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "plate_boots": { 3 | "type": "feet", 4 | "components":["metal_joints", "metal_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/head/chain.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain_coif": { 3 | "type": "head", 4 | "components":["chain_armour", "metal_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/head/glasses.json: -------------------------------------------------------------------------------- 1 | { 2 | "glasses": { 3 | "type": "head", 4 | "components":["metal_coating", "glass_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/head/plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "plate_helm": { 3 | "type": "head", 4 | "components":["metal_joints", "metal_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/melee/axe.json: -------------------------------------------------------------------------------- 1 | { 2 | "axe": { 3 | "type": "weapon", 4 | "components":["blade", "shaft"], 5 | "icon": "axe", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/melee/whip.json: -------------------------------------------------------------------------------- 1 | { 2 | "whip": { 3 | "type": "weapon", 4 | "components":["whip", "shaft"], 5 | "icon": "whip", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/waist/chain.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain_belt": { 3 | "type": "belt", 4 | "components":["chain_armour", "metal_joints"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/components/coatings/magical.json: -------------------------------------------------------------------------------- 1 | { 2 | "magical_coating": { 3 | "magic":3, 4 | "willpower":3, 5 | "material":["magical"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/earrings/gem.json: -------------------------------------------------------------------------------- 1 | { 2 | "gem_earring": { 3 | "type": "earring", 4 | "name": "earring", 5 | "components":["gem"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/earrings/orb.json: -------------------------------------------------------------------------------- 1 | { 2 | "orb_earring": { 3 | "type": "earring", 4 | "name": "earring", 5 | "components":["orb"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/hands/chain.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain_gauntlets": { 3 | "type": "hands", 4 | "components":["chain_armour", "metal_joints"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/hands/plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "plate_gauntlets": { 3 | "type": "hands", 4 | "components":["metal_joints", "metal_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/magical/tome.json: -------------------------------------------------------------------------------- 1 | { 2 | "tome": { 3 | "type": "weapon", 4 | "components":["formula", "gem"], 5 | "icon": "tome", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/melee/sword.json: -------------------------------------------------------------------------------- 1 | { 2 | "sword": { 3 | "type": "weapon", 4 | "components":["blade", "hilt"], 5 | "icon": "sword", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/rings/metal.json: -------------------------------------------------------------------------------- 1 | { 2 | "metal_ring": { 3 | "type": "ring", 4 | "name": "ring", 5 | "components":["metal_strip"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/magical/orb.json: -------------------------------------------------------------------------------- 1 | { 2 | "orb": { 3 | "type": "weapon", 4 | "components":["magical_coating", "orb"], 5 | "icon": "orb", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/melee/dagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "dagger": { 3 | "type": "weapon", 4 | "components":["knife", "hilt"], 5 | "icon": "dagger", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/melee/mace.json: -------------------------------------------------------------------------------- 1 | { 2 | "mace": { 3 | "type": "weapon", 4 | "components":["metal_coating", "hilt"], 5 | "icon": "mace", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/ranged/pistol.json: -------------------------------------------------------------------------------- 1 | { 2 | "pistol": { 3 | "type": "weapon", 4 | "components":["barrel", "hilt"], 5 | "icon": "pistol", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/ranged/sling.json: -------------------------------------------------------------------------------- 1 | { 2 | "sling": { 3 | "type": "weapon", 4 | "components":["string", "shaft"], 5 | "icon": "sling", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/rings/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_ring": { 3 | "type": "ring", 4 | "name": "ring", 5 | "components":["leather_strip"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/waist/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_belt": { 3 | "type": "belt", 4 | "components":["leather_armour", "leather_joints"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/components/joints/rope_chain.json: -------------------------------------------------------------------------------- 1 | { 2 | "rope_chain": { 3 | "magic":2, 4 | "stamina":10, 5 | "mana":10, 6 | "material":["cloth"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/amulets/rope.json: -------------------------------------------------------------------------------- 1 | { 2 | "rope_amulet": { 3 | "type": "amulet", 4 | "name": "amulet", 5 | "components":["rope_chain", "gem"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/earrings/metal.json: -------------------------------------------------------------------------------- 1 | { 2 | "metal_earring": { 3 | "type": "earring", 4 | "name": "earring", 5 | "components":["metal_strip"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/legs/panties.json: -------------------------------------------------------------------------------- 1 | { 2 | "panties": { 3 | "type": "legs", 4 | "components":["cloth_armour", "rope_joints", "magical_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/melee/flail.json: -------------------------------------------------------------------------------- 1 | { 2 | "flail": { 3 | "type": "weapon", 4 | "components":["whip", "metal_coating"], 5 | "icon": "flail", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/components/coatings/paint.json: -------------------------------------------------------------------------------- 1 | { 2 | "paint_coating": { 3 | "armour":1, 4 | "evasion":3, 5 | "accuracy":2, 6 | "material":["alchemy"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/joints/metal_chain.json: -------------------------------------------------------------------------------- 1 | { 2 | "metal_chain": { 3 | "armour":2, 4 | "stamina":10, 5 | "mana":10, 6 | "material":["metal"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/joints/metal_strip.json: -------------------------------------------------------------------------------- 1 | { 2 | "metal_strip": { 3 | "attack":2, 4 | "accuracy":2, 5 | "evasion":2, 6 | "material":["metal"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/magic/orb.json: -------------------------------------------------------------------------------- 1 | { 2 | "orb": { 3 | "subtype": "magic", 4 | "magic":2, 5 | "willpower":4, 6 | "material":["gem", "elemental"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/shaft.json: -------------------------------------------------------------------------------- 1 | { 2 | "shaft": { 3 | "attack":2, 4 | "accuracy":2, 5 | "evasion":2, 6 | "material":["wood", "stone", "metal"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/amulets/metal.json: -------------------------------------------------------------------------------- 1 | { 2 | "metal_amulet": { 3 | "type": "amulet", 4 | "name": "amulet", 5 | "components":["metal_chain", "orb"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/bracelet/metal.json: -------------------------------------------------------------------------------- 1 | { 2 | "metal_bracelet": { 3 | "type": "bracelet", 4 | "name": "bracelet", 5 | "components":["metal_chain"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/bracelet/wood.json: -------------------------------------------------------------------------------- 1 | { 2 | "wood_bracelet": { 3 | "type": "bracelet", 4 | "name": "bracelet", 5 | "components":["light_armour"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/head/cloth.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloth_hat": { 3 | "type": "head", 4 | "name": "hat", 5 | "components":["cloth_armour", "magical_coating"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/legs/chain.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain_greaves": { 3 | "type": "legs", 4 | "components":["chain_armour", "chain_armour", "metal_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/legs/plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "plate_greaves": { 3 | "type": "legs", 4 | "components":["plate_armour", "metal_joints", "metal_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/recipes/magical/spellblade.json: -------------------------------------------------------------------------------- 1 | { 2 | "spellblade": { 3 | "type": "weapon", 4 | "components":["blade", "gem"], 5 | "icon": "spellblade", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/melee/chain_saw.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain_saw": { 3 | "type": "weapon", 4 | "components":["chain_saw", "hilt"], 5 | "icon": "chain_saw", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/capes/cloth.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloth_cape": { 3 | "type": "cape", 4 | "name": "cloak", 5 | "components":["cloth_armour", "paint_coating"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/capes/metal.json: -------------------------------------------------------------------------------- 1 | { 2 | "metal_cape": { 3 | "type": "cape", 4 | "name": "cape", 5 | "components":["chain_armour", "paint_coating"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/feet/cloth.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloth_sandals": { 3 | "type": "feet", 4 | "name": "sandals", 5 | "components":["cloth_armour", "rope_joints"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/head/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_hat": { 3 | "type": "head", 4 | "name": "hat", 5 | "components":["leather_armour", "paint_coating"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/components/coatings/metal.json: -------------------------------------------------------------------------------- 1 | { 2 | "metal_coating": { 3 | "armour":4, 4 | "attack":2, 5 | "damage_type": "impact", 6 | "material":["metal"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/joints/leather_strip.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_strip": { 3 | "accuracy":2, 4 | "evasion":2, 5 | "health":10, 6 | "material":["leather"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/magic/formula.json: -------------------------------------------------------------------------------- 1 | { 2 | "formula": { 3 | "subtype": "magic", 4 | "magic":4, 5 | "willpower":2, 6 | "material":["paper", "leather"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/capes/magical.json: -------------------------------------------------------------------------------- 1 | { 2 | "magical_cape": { 3 | "type": "cape", 4 | "name": "cape", 5 | "components":["cloth_armour", "magical_coating"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/feet/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_boots": { 3 | "type": "feet", 4 | "name": "boots", 5 | "components":["leather_armour", "leather_joints"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/hands/cloth.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloth_sleeves": { 3 | "type": "hands", 4 | "name": "sleeves", 5 | "components":["cloth_armour", "rope_joints"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/magical/amplifier.json: -------------------------------------------------------------------------------- 1 | { 2 | "amplifier": { 3 | "type": "weapon", 4 | "components":["magical_coating", "gem"], 5 | "icon": "amplifier", 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/components/melee/blade.json: -------------------------------------------------------------------------------- 1 | { 2 | "blade": { 3 | "subtype": "melee", 4 | "attack":6, 5 | "damage_type": "cutting", 6 | "material":["metal", "bone"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/ranged/string.json: -------------------------------------------------------------------------------- 1 | { 2 | "string": { 3 | "subtype": "ranged", 4 | "attack":6, 5 | "damage_type": "piercing", 6 | "material":["leather"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/hands/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_gloves": { 3 | "type": "hands", 4 | "name": "gloves", 5 | "components":["leather_armour", "leather_joints"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/ranged/bow.json: -------------------------------------------------------------------------------- 1 | { 2 | "bow": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["string", "bow", "bow", "shaft"], 6 | "icon": "bow", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/torso/plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "plate_cuirass": { 3 | "type": "torso", 4 | "components":["plate_armour", "plate_armour", "metal_joints", "metal_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /gui/main/scripts/progress_count_down.gd: -------------------------------------------------------------------------------- 1 | extends TextureProgressBar 2 | 3 | 4 | func _process(delta: float): 5 | value += delta 6 | if value > max_value: 7 | get_parent().hide() 8 | -------------------------------------------------------------------------------- /data/items/components/joints/leather_joints.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_joints": { 3 | "subtype": "medium", 4 | "accuracy":3, 5 | "evasion":3, 6 | "material":["leather"], 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/legs/cloth.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloth_pants": { 3 | "type": "legs", 4 | "name": "pants", 5 | "components":["cloth_armour", "cloth_armour", "magical_coating"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/melee/scythe.json: -------------------------------------------------------------------------------- 1 | { 2 | "scythe": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["blade", "pole", "pole", "hilt"], 6 | "icon": "scythe", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/melee/spear.json: -------------------------------------------------------------------------------- 1 | { 2 | "spear": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["knife", "pole", "pole", "shaft"], 6 | "icon": "spear", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/torso/chain.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain_cuirass": { 3 | "type": "torso", 4 | "components":["chain_armour", "chain_armour", "leather_joints", "metal_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/materials/soul_stones/empty_soul_stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "empty_soul_stone": { 3 | "name":["empty soul stone"], 4 | "quality":1.0, 5 | "tags":["cage"], 6 | "price":10, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/torso/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_chest": { 3 | "type": "torso", 4 | "components":["leather_armour", "leather_armour", "leather_joints", "paint_coating"], 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /data/items/components/armour/cloth.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloth_armour": { 3 | "subtype": "light", 4 | "armour":1, 5 | "evasion":3, 6 | "mana":10, 7 | "material":["cloth"], 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /data/items/recipes/legs/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_pants": { 3 | "type": "legs", 4 | "name": "pants", 5 | "components":["leather_armour", "leather_joints", "paint_coating"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/items/recipes/magical/magestaff.json: -------------------------------------------------------------------------------- 1 | { 2 | "magestaff": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["gem", "orb", "shaft", "shaft"], 6 | "icon": "magestaff", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/melee/battleaxe.json: -------------------------------------------------------------------------------- 1 | { 2 | "battleaxe": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["blade", "blade", "pole", "shaft"], 6 | "icon": "battleaxe", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/ranged/crossbow.json: -------------------------------------------------------------------------------- 1 | { 2 | "crossbow": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["string", "bow", "loader", "shaft"], 6 | "icon": "crossbow", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/shields/buckler.json: -------------------------------------------------------------------------------- 1 | { 2 | "buckler": { 3 | "type": "weapon", 4 | "subtype": "shield", 5 | "components":["light_armour", "shaft"], 6 | "icon": "buckler", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/ranged/bow.json: -------------------------------------------------------------------------------- 1 | { 2 | "bow": { 3 | "subtype": "ranged", 4 | "attack":5, 5 | "accuracy":1, 6 | "damage_type": "piercing", 7 | "material":["wood"], 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /data/items/components/ranged/loader.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": { 3 | "subtype": "ranged", 4 | "attack":8, 5 | "accuracy":3, 6 | "speed":-1, 7 | "material":["wood", "metal"], 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /data/items/recipes/melee/greatsword.json: -------------------------------------------------------------------------------- 1 | { 2 | "greatsword": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["blade", "blade", "knife", "hilt"], 6 | "icon": "greatsword", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/ranged/gun_blade.json: -------------------------------------------------------------------------------- 1 | { 2 | "gun_blade": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["knife", "barrel", "loader", "shaft"], 6 | "icon": "gunblade", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/armour/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather_armour": { 3 | "subtype": "medium", 4 | "armour":3, 5 | "accuracy":1, 6 | "stamina":10, 7 | "material":["leather"], 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /data/items/components/armour/light.json: -------------------------------------------------------------------------------- 1 | { 2 | "light_armour": { 3 | "subtype": "medium", 4 | "armour":4, 5 | "accuracy":1, 6 | "evasion":1, 7 | "material":["wood", "paper"], 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /data/items/recipes/magical/quarterstaff.json: -------------------------------------------------------------------------------- 1 | { 2 | "quarterstaff": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["gem", "pole", "pole", "shaft"], 6 | "icon": "quarterstaff", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/ranged/blunderbuss.json: -------------------------------------------------------------------------------- 1 | { 2 | "blunderbuss": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["barrel", "barrel", "loader", "hilt"], 6 | "icon": "blunderbuss", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/shields/kite_shield.json: -------------------------------------------------------------------------------- 1 | { 2 | "kite_shield": { 3 | "type": "weapon", 4 | "subtype": "shield", 5 | "components":["chain_armour", "shaft"], 6 | "icon": "kite_shield", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/torso/cloth.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloth_shirt": { 3 | "type": "torso", 4 | "name": "shirt", 5 | "components":["cloth_armour", "cloth_armour", "rope_joints", "magical_coating"], 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /data/materials/slime.json: -------------------------------------------------------------------------------- 1 | { 2 | "slime": { 3 | "name":["{name_prefix} slime"], 4 | "tags":["liquid"], 5 | "attributes": { 6 | "adjective":["slimy"], 7 | }, 8 | "price":5, 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /shaders/fade_in_lr.gdshader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | uniform float progress = 1.0; 4 | 5 | void fragment() { 6 | float w = clamp(100.0 * (progress - SCREEN_UV.x), 0.0, 1.0); 7 | COLOR.a *= w; 8 | } 9 | -------------------------------------------------------------------------------- /translations/texts.csv: -------------------------------------------------------------------------------- 1 | ,en 2 | MODEST,modest 3 | ADEQUATE,adequate 4 | HIGH,high 5 | RIDICULOUS,ridiculous 6 | OUTRAGEOUS,outrageous 7 | THE_PRICE_IS,"The price is {price}." 8 | AND,and 9 | THAT,that 10 | -------------------------------------------------------------------------------- /data/items/recipes/melee/greatmaul.json: -------------------------------------------------------------------------------- 1 | { 2 | "greatmaul": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["metal_coating", "metal_coating", "pole", "hilt"], 6 | "icon": "greatmaul", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/melee/morningstar.json: -------------------------------------------------------------------------------- 1 | { 2 | "morningstar": { 3 | "type": "weapon", 4 | "2h":true, 5 | "components":["metal_coating", "whip", "whip", "shaft"], 6 | "icon": "morningstar", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/recipes/shields/tower_shield.json: -------------------------------------------------------------------------------- 1 | { 2 | "tower_shield": { 3 | "type": "weapon", 4 | "subtype": "shield", 5 | "components":["plate_armour", "shaft"], 6 | "icon": "tower_shield", 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/items/components/melee/chain_saw.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain_saw": { 3 | "subtype": "melee", 4 | "attack":4, 5 | "penetration":2, 6 | "damage_type": "cutting", 7 | "material":["metal"], 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /data/items/components/melee/knife.json: -------------------------------------------------------------------------------- 1 | { 2 | "knife": { 3 | "subtype": "melee", 4 | "attack":3, 5 | "penetration":4, 6 | "damage_type": "piercing", 7 | "material":["metal", "bone"], 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /data/items/components/melee/pole.json: -------------------------------------------------------------------------------- 1 | { 2 | "pole": { 3 | "subtype": "melee", 4 | "attack":4, 5 | "accuracy":2, 6 | "damage_type": "impact", 7 | "material":["wood", "stone", "metal"], 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /data/items/components/ranged/barrel.json: -------------------------------------------------------------------------------- 1 | { 2 | "barrel": { 3 | "subtype": "ranged", 4 | "attack":4, 5 | "accuracy":2, 6 | "damage_type": "impact", 7 | "material":["metal", "stone"], 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /data/items/attributes/origin.json: -------------------------------------------------------------------------------- 1 | { 2 | "origin": [ 3 | { 4 | "singular": "unknown", 5 | "plural": "enigma", 6 | "adjective": "unknown", 7 | "suffix": "of Unknown Origin", 8 | }, 9 | ], 10 | } 11 | -------------------------------------------------------------------------------- /data/materials/sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "sand": { 3 | "name":["{base_name} sand"], 4 | "tags":["sand"], 5 | "attributes": { 6 | "adjective":["sandy", "yellow", "grey"], 7 | }, 8 | "price":10, 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /data/items/attributes/thickness.json: -------------------------------------------------------------------------------- 1 | { 2 | "thickness": [ 3 | { 4 | "adjective": "viscous", 5 | }, 6 | { 7 | "adjective": "thick", 8 | }, 9 | { 10 | "adjective": "thin", 11 | }, 12 | ], 13 | } 14 | -------------------------------------------------------------------------------- /data/items/components/joints/metal_joints.json: -------------------------------------------------------------------------------- 1 | { 2 | "metal_joints": { 3 | "subtype": "heavy", 4 | "attack":1, 5 | "armour":3, 6 | "accuracy":1, 7 | "evasion":1, 8 | "material":["metal"], 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /data/items/components/joints/rope_joints.json: -------------------------------------------------------------------------------- 1 | { 2 | "rope_joints": { 3 | "subtype": "light", 4 | "magic":1, 5 | "willpower":1, 6 | "accuracy":2, 7 | "evasion":2, 8 | "material":["cloth"], 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /data/items/components/melee/whip.json: -------------------------------------------------------------------------------- 1 | { 2 | "whip": { 3 | "subtype": "melee", 4 | "attack":4, 5 | "accuracy":1, 6 | "penetration":2, 7 | "damage_type": "impact", 8 | "material":["leather"], 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /data/materials/cabbage.json: -------------------------------------------------------------------------------- 1 | { 2 | "cabbage": { 3 | "name":["{base_name} cabbage"], 4 | "tags":["cooking", "plant"], 5 | "attributes": { 6 | "adjective":["fresh", "green"], 7 | }, 8 | "price":10, 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /data/items/components/armour/chain.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain_armour": { 3 | "subtype": "heavy", 4 | "armour":6, 5 | "accuracy":-2, 6 | "evasion":-2, 7 | "health":10, 8 | "stamina":10, 9 | "material":["metal"], 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /data/items/components/armour/plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "plate_armour": { 3 | "subtype": "heavy", 4 | "armour":9, 5 | "accuracy":-2, 6 | "evasion":-2, 7 | "speed":-1, 8 | "health":15, 9 | "material":["metal"], 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /data/materials/scrap.json: -------------------------------------------------------------------------------- 1 | { 2 | "scrap": { 3 | "name":["{base_name} scrap"], 4 | "quality":0.9, 5 | "tags":["metal", "stone"], 6 | "attributes": { 7 | "adjective":["metallic", "rusty"], 8 | }, 9 | "price":5, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /data/materials/soul_stones/soul_gem.json: -------------------------------------------------------------------------------- 1 | { 2 | "soul_gem": { 3 | "name":["{soul_prefix} soul gem", "soul gem of {base_name}", "{soul_prefix} soul gem of {base_name}"], 4 | "quality":1.2, 5 | "tags":["soul"], 6 | "price":20, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/materials/soul_stones/soul_orb.json: -------------------------------------------------------------------------------- 1 | { 2 | "soul_orb": { 3 | "name":["{soul_prefix} soul orb", "soul orb of {base_name}", "{soul_prefix} soul orb of {base_name}"], 4 | "quality":1.6, 5 | "tags":["soul"], 6 | "price":45, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/materials/algae.json: -------------------------------------------------------------------------------- 1 | { 2 | "algae": { 3 | "name":["{base_name} algae"], 4 | "quality":1.1, 5 | "tags":["cooking", "plant"], 6 | "attributes": { 7 | "adjective":["salty", "sea green"], 8 | }, 9 | "price":15, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /data/materials/dust.json: -------------------------------------------------------------------------------- 1 | { 2 | "dust": { 3 | "name":["{base_name} dust"], 4 | "tags":["magical"], 5 | "attributes": { 6 | "adjective":["dusty"], 7 | }, 8 | "add": { 9 | "magic":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/fruit.json: -------------------------------------------------------------------------------- 1 | { 2 | "fruit": { 3 | "name":["{base_name} fruit"], 4 | "quality":1.1, 5 | "tags":["cooking", "plant"], 6 | "attributes": { 7 | "adjective":["fruity", "juicy"], 8 | }, 9 | "price":15, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /data/materials/hair.json: -------------------------------------------------------------------------------- 1 | { 2 | "hair": { 3 | "name":["{base_name} hair"], 4 | "tags":["cloth"], 5 | "attributes": { 6 | "adjective":["hairy"], 7 | }, 8 | "add": { 9 | "evasion":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "ore": { 3 | "name":["{base_name} ore"], 4 | "tags":["metal"], 5 | "attributes": { 6 | "adjective":["metallic"], 7 | }, 8 | "add": { 9 | "attack":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/wood.json: -------------------------------------------------------------------------------- 1 | { 2 | "wood": { 3 | "name":["{base_name} wood"], 4 | "tags":["wood"], 5 | "attributes": { 6 | "adjective":["wooden"], 7 | }, 8 | "add": { 9 | "accuracy":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/guilds/specialization/cooking.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cooking", 3 | "relics": [ 4 | "infusion" 5 | ], 6 | "abilities": [ 7 | "cooking", 8 | ], 9 | "exp_gain": { 10 | "cook": 10 11 | }, 12 | "tags": [ 13 | "cooking" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /data/items/potions/mana_potion.json: -------------------------------------------------------------------------------- 1 | { 2 | "mana_potion": { 3 | "name": "mana potion", 4 | "type": "potion", 5 | "effect": "mana", 6 | "healing":75, 7 | "price":20, 8 | "material_types":[["magical"],["liquid", "magical"]], 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /data/materials/bean.json: -------------------------------------------------------------------------------- 1 | { 2 | "bean": { 3 | "name":["{base_name} bean"], 4 | "quality":1.1, 5 | "tags":["cooking"], 6 | "attributes": { 7 | "adjective":["healthy", "brown", "white", "red"], 8 | }, 9 | "price":15, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /data/materials/coin.json: -------------------------------------------------------------------------------- 1 | { 2 | "coin": { 3 | "name":["{base_name} coin"], 4 | "tags":["metal"], 5 | "attributes": { 6 | "adjective":["metallic"], 7 | }, 8 | "add": { 9 | "armour":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/cotton.json: -------------------------------------------------------------------------------- 1 | { 2 | "cotton": { 3 | "name":["{base_name} cotton"], 4 | "tags":["cloth"], 5 | "attributes": { 6 | "adjective":["cloth"], 7 | }, 8 | "add": { 9 | "evasion":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/meat.json: -------------------------------------------------------------------------------- 1 | { 2 | "meat": { 3 | "name":["{base_name} meat"], 4 | "veggie_name":["{base_name} tofu"], 5 | "tags":["cooking", "meat"], 6 | "attributes": { 7 | "adjective":["meaty"], 8 | }, 9 | "price":10, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /data/materials/paper.json: -------------------------------------------------------------------------------- 1 | { 2 | "paper": { 3 | "name":["{base_name} paper"], 4 | "tags":["paper"], 5 | "attributes": { 6 | "adjective":["thin"], 7 | }, 8 | "add": { 9 | "willpower":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/soul_stones/soul_jewel.json: -------------------------------------------------------------------------------- 1 | { 2 | "soul_jewel": { 3 | "name":["{soul_prefix} soul jewel", "soul jewel of {base_name}", "{soul_prefix} soul jewel of {base_name}"], 4 | "quality":1.4, 5 | "tags":["soul"], 6 | "price":30, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/materials/soul_stones/soul_shard.json: -------------------------------------------------------------------------------- 1 | { 2 | "soul_shard": { 3 | "name":["{soul_prefix} soul shard", "soul shard of {base_name}", "{soul_prefix} soul shard of {base_name}"], 4 | "quality":0.8, 5 | "tags":["soul"], 6 | "price":5, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/materials/soul_stones/soul_stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "soul_stone": { 3 | "name":["{soul_prefix} soul stone", "soul stone of {base_name}", "{soul_prefix} soul stone of {base_name}"], 4 | "quality":1.0, 5 | "tags":["soul"], 6 | "price":10, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/guilds/attributes/destiny.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "texts": [ 4 | "to carry out the will of {god}", 5 | "to follow {god}", 6 | "to embrace {god}", 7 | "to be the tool of {god}" 8 | ], 9 | "tags": [ 10 | "god" 11 | ] 12 | }, 13 | ] 14 | -------------------------------------------------------------------------------- /data/guilds/specialization/conspiracy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "conspiracy", 3 | "relics": [ 4 | "relic" 5 | ], 6 | "abilities": [ 7 | "stealth" 8 | ], 9 | "exp_gain": { 10 | "quest": 4 11 | }, 12 | "tags": [ 13 | "conspiracy" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /data/guilds/specialization/cryomancy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cryomancy", 3 | "relics": [ 4 | "crystal" 5 | ], 6 | "abilities": [ 7 | "elemental_magic" 8 | ], 9 | "exp_gain": { 10 | "attack": 1 11 | }, 12 | "tags": [ 13 | "ice" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /data/guilds/specialization/pyromancy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pyromancy", 3 | "relics": [ 4 | "crystal" 5 | ], 6 | "abilities": [ 7 | "elemental_magic" 8 | ], 9 | "exp_gain": { 10 | "attack": 1 11 | }, 12 | "tags": [ 13 | "fire" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/foil.json: -------------------------------------------------------------------------------- 1 | { 2 | "foil": { 3 | "name":["{base_name} foil"], 4 | "tags":["cloth"], 5 | "attributes": { 6 | "adjective":["foil", "thin"], 7 | }, 8 | "add": { 9 | "evasion":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/mold.json: -------------------------------------------------------------------------------- 1 | { 2 | "mold": { 3 | "name":["{base_name} mold"], 4 | "tags":["toxic", "alchemy"], 5 | "attributes": { 6 | "adjective":["moldy"], 7 | }, 8 | "add": { 9 | "health":2.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/feather.json: -------------------------------------------------------------------------------- 1 | { 2 | "feather": { 3 | "name":["{base_name} feather"], 4 | "tags":["cloth"], 5 | "attributes": { 6 | "adjective":["feathered"], 7 | }, 8 | "add": { 9 | "evasion":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /scenes/main/main.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://cx2f13pqvsvxo"] 2 | 3 | [ext_resource type="Script" uid="uid://coj57kf1b71wy" path="res://scenes/main/main.gd" id="1_7tv8d"] 4 | 5 | [node name="Main" type="Node"] 6 | script = ExtResource("1_7tv8d") 7 | -------------------------------------------------------------------------------- /data/items/potions/healing_potion.json: -------------------------------------------------------------------------------- 1 | { 2 | "healing_potion": { 3 | "name": "healing potion", 4 | "type": "potion", 5 | "effect": "health", 6 | "healing": 75, 7 | "price": 20, 8 | "material_types": [["healing"], ["liquid", "healing"]], 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /data/materials/bar.json: -------------------------------------------------------------------------------- 1 | { 2 | "bar": { 3 | "name":["{base_name} bar"], 4 | "quality":1.1, 5 | "tags":["metal"], 6 | "attributes": { 7 | "adjective":["metallic"], 8 | }, 9 | "add": { 10 | "attack":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/cog.json: -------------------------------------------------------------------------------- 1 | { 2 | "cog": { 3 | "name":["{base_name} cog"], 4 | "quality":1.1, 5 | "tags":["metal"], 6 | "attributes": { 7 | "adjective":["metallic"], 8 | }, 9 | "add": { 10 | "attack":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/soul_stones/soul_splinter.json: -------------------------------------------------------------------------------- 1 | { 2 | "soul_splinter": { 3 | "name":["{soul_prefix} soul splinter", "soul splinter of {base_name}", "{soul_prefix} soul splinter of {base_name}"], 4 | "quality":0.6, 5 | "tags":["soul"], 6 | "price":2, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /data/guilds/specialization/summoner.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "summoner", 3 | "relics": [ 4 | "crystal" 5 | ], 6 | "abilities": [ 7 | "summoning" 8 | ], 9 | "exp_gain": { 10 | "summon": 4 11 | }, 12 | "tags": [ 13 | "summoning", 14 | "nature" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/items/potions/stamina_potion.json: -------------------------------------------------------------------------------- 1 | { 2 | "stamina_potion": { 3 | "name": "stamina potion", 4 | "type": "potion", 5 | "effect": "stamina", 6 | "healing":75, 7 | "price":20, 8 | "material_types":[["elemental"],["liquid", "elemental"]], 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /data/materials/cloth.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloth": { 3 | "name":["{base_name} cloth"], 4 | "quality":1.1, 5 | "tags":["cloth"], 6 | "attributes": { 7 | "adjective":["woven"], 8 | }, 9 | "add": { 10 | "evasion":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "glass": { 3 | "name":["{base_name} glass"], 4 | "tags":["glass"], 5 | "attributes": { 6 | "adjective":["translucent", "glass"], 7 | }, 8 | "add": { 9 | "penetration":0.75, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/pebble.json: -------------------------------------------------------------------------------- 1 | { 2 | "pebble": { 3 | "name":["{base_name} pebble"], 4 | "tags":["stone"], 5 | "attributes": { 6 | "adjective":["rocky", "lithic", "stone"], 7 | }, 8 | "add": { 9 | "armour":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/plank.json: -------------------------------------------------------------------------------- 1 | { 2 | "plank": { 3 | "name":["{base_name} plank"], 4 | "quality":1.1, 5 | "tags":["wood"], 6 | "attributes": { 7 | "adjective":["wooden"], 8 | }, 9 | "add": { 10 | "accuracy":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/silk.json: -------------------------------------------------------------------------------- 1 | { 2 | "silk": { 3 | "name":["{base_name} silk"], 4 | "quality":1.1, 5 | "tags":["cloth"], 6 | "attributes": { 7 | "adjective":["elegant"], 8 | }, 9 | "add": { 10 | "evasion":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/herb.json: -------------------------------------------------------------------------------- 1 | { 2 | "herb": { 3 | "name":["{base_name} herb"], 4 | "tags":["alchemy", "plant", "healing"], 5 | "attributes": { 6 | "adjective":["fresh", "herbal"], 7 | }, 8 | "add": { 9 | "health":2.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/ingot.json: -------------------------------------------------------------------------------- 1 | { 2 | "ingot": { 3 | "name":["{base_name} ingot"], 4 | "quality":1.1, 5 | "tags":["metal"], 6 | "attributes": { 7 | "adjective":["metallic"], 8 | }, 9 | "add": { 10 | "attack":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/tissue.json: -------------------------------------------------------------------------------- 1 | { 2 | "tissue": { 3 | "name":["{base_name} tissue"], 4 | "quality":1.1, 5 | "tags":["cloth"], 6 | "attributes": { 7 | "adjective":["cloth"], 8 | }, 9 | "add": { 10 | "evasion":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/wires.json: -------------------------------------------------------------------------------- 1 | { 2 | "wires": { 3 | "name":["{base_name} wires"], 4 | "tags":["cloth"], 5 | "quality":1.1, 6 | "attributes": { 7 | "adjective":["metallic"], 8 | }, 9 | "add": { 10 | "critical":0.6, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/guilds/specialization/archeology.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "archeology", 3 | "relics": [ 4 | "fossil" 5 | ], 6 | "abilities": [ 7 | ], 8 | "exp_gain": { 9 | "exploration": 10, 10 | "loot": 1 11 | }, 12 | "tags": [ 13 | "archeology", 14 | "looting" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/guilds/specialization/blood.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "blood", 3 | "relics": [ 4 | "fossil" 5 | ], 6 | "abilities": [ 7 | "blood_magic" 8 | ], 9 | "exp_gain": { 10 | "attack": 1 11 | }, 12 | "tags": [ 13 | "blood", 14 | "mysterious", 15 | "vile" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /data/guilds/specialization/occultism.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "occultism", 3 | "relics": [ 4 | "relic" 5 | ], 6 | "abilities": [ 7 | "celestial_magic" 8 | ], 9 | "exp_gain": { 10 | "attack": 1 11 | }, 12 | "tags": [ 13 | "darkness", 14 | "mysterious" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/materials/flower.json: -------------------------------------------------------------------------------- 1 | { 2 | "flower": { 3 | "name":["{base_name} flower"], 4 | "tags":["alchemy", "healing"], 5 | "attributes": { 6 | "adjective":["flowering", "floral"], 7 | }, 8 | "add": { 9 | "health":2.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/gem.json: -------------------------------------------------------------------------------- 1 | { 2 | "gem": { 3 | "name":["{base_name} gem", "{base_name} crystal"], 4 | "tags":["gem"], 5 | "attributes": { 6 | "adjective":["expensive", "crystaline"], 7 | }, 8 | "add": { 9 | "magic":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/leaf.json: -------------------------------------------------------------------------------- 1 | { 2 | "leaf": { 3 | "name":["{base_name} leaf"], 4 | "tags":["alchemy", "plant", "cooking"], 5 | "attributes": { 6 | "adjective":["fresh", "refreshing"], 7 | }, 8 | "add": { 9 | "health":2.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/wrapping.json: -------------------------------------------------------------------------------- 1 | { 2 | "wrapping": { 3 | "name":["{base_name} wrapping"], 4 | "quality":1.1, 5 | "tags":["cloth"], 6 | "attributes": { 7 | "adjective":["wrapped"], 8 | }, 9 | "add": { 10 | "evasion":0.5, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/guilds/specialization/assassination.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "assassination", 3 | "relics": [ 4 | "artifact" 5 | ], 6 | "abilities": [ 7 | "stealth", 8 | "dirty_fighting" 9 | ], 10 | "exp_gain": { 11 | "buff": 1 12 | }, 13 | "tags": [ 14 | "murder" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/guilds/specialization/bulwark.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bulwark", 3 | "relics": [ 4 | "banner" 5 | ], 6 | "abilities": [ 7 | "armour", 8 | "shield" 9 | ], 10 | "exp_gain": { 11 | "attacked": 2 12 | }, 13 | "tags": [ 14 | "armour", 15 | "constitution" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /data/guilds/specialization/thaumaturgy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "thaumaturgy", 3 | "relics": [ 4 | "crystal" 5 | ], 6 | "abilities": [ 7 | "elemental_magic" 8 | ], 9 | "exp_gain": { 10 | "attack": 1 11 | }, 12 | "tags": [ 13 | "combat", 14 | "elemental" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /data/materials/kidney.json: -------------------------------------------------------------------------------- 1 | { 2 | "kidney": { 3 | "name":["{base_name} kidney"], 4 | "veggie_name":["{base_name} kidney bean"], 5 | "quality":1.1, 6 | "tags":["cooking", "meat"], 7 | "attributes": { 8 | "adjective":["meaty"], 9 | }, 10 | "price":15, 11 | }, 12 | } 13 | -------------------------------------------------------------------------------- /data/materials/resin.json: -------------------------------------------------------------------------------- 1 | { 2 | "resin": { 3 | "name":["{name_prefix} resin"], 4 | "quality":1.1, 5 | "tags":["crafting", "magical"], 6 | "attributes": { 7 | "adjective":["slimy"], 8 | }, 9 | "add": { 10 | "magic":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/items/texts/sentence_end.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "type": "sentence_end", 4 | "sentence":[ 5 | "termination", 6 | ], 7 | "transition": [ 8 | "sentence_start", 9 | "sentence_subject", 10 | "sentence_subject_predicate", 11 | "sentence_full", 12 | ], 13 | }, 14 | ] 15 | -------------------------------------------------------------------------------- /data/materials/residue.json: -------------------------------------------------------------------------------- 1 | { 2 | "residue": { 3 | "name":["{base_name} residue", "{name_prefix} residue"], 4 | "tags":["liquid", "magical"], 5 | "attributes": { 6 | "adjective":["slimy"], 7 | }, 8 | "add": { 9 | "magic":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/spice.json: -------------------------------------------------------------------------------- 1 | { 2 | "spice": { 3 | "name":["{base_name} spice"], 4 | "quality":1.1, 5 | "tags":["alchemy", "cooking"], 6 | "attributes": { 7 | "adjective":["spicy", "hot"], 8 | }, 9 | "add": { 10 | "health":2.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/guilds/specialization/combat.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "combat", 3 | "relics": [ 4 | "banner" 5 | ], 6 | "abilities": [ 7 | "light_weapons", 8 | "heavy_weapons" 9 | ], 10 | "exp_gain": { 11 | "attack": 1, 12 | }, 13 | "tags": [ 14 | "combat", 15 | "brutality" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /data/guilds/specialization/herbalist.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "herbalist", 3 | "relics": [ 4 | "infusion" 5 | ], 6 | "abilities": [ 7 | "alchemy", 8 | ], 9 | "exp_gain": { 10 | "harvest": 2, 11 | "alchemy": 4, 12 | }, 13 | "tags": [ 14 | "research", 15 | "alchemy" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /data/materials/carrot.json: -------------------------------------------------------------------------------- 1 | { 2 | "carrot": { 3 | "name":["{base_name} carrot"], 4 | "tags":["alchemy", "plant", "cooking"], 5 | "attributes": { 6 | "adjective":["fresh", "healthy", "orange"], 7 | }, 8 | "add": { 9 | "health":2.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/claw.json: -------------------------------------------------------------------------------- 1 | { 2 | "claw": { 3 | "name":["{base_name} claw"], 4 | "veggie_name":["{base_name} ceramic"], 5 | "tags":["bone"], 6 | "attributes": { 7 | "adjective":["clawed"], 8 | }, 9 | "add": { 10 | "penetration":0.75, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/nail.json: -------------------------------------------------------------------------------- 1 | { 2 | "nail": { 3 | "name":["{base_name} nail"], 4 | "veggie_name":["{base_name} iron nail"], 5 | "tags":["bone"], 6 | "attributes": { 7 | "adjective":["hard"], 8 | }, 9 | "add": { 10 | "penetration":0.75, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/guilds/specialization/necromancy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "necromancy", 3 | "relics": [ 4 | "fossil" 5 | ], 6 | "abilities": [ 7 | "necromancy", 8 | "blood_magic" 9 | ], 10 | "exp_gain": { 11 | "summon": 4 12 | }, 13 | "tags": [ 14 | "necromancy", 15 | "darkness" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /data/materials/berry.json: -------------------------------------------------------------------------------- 1 | { 2 | "berry": { 3 | "name":["{base_name} berry"], 4 | "quality":1.1, 5 | "tags":["alchemy", "cooking", "plant"], 6 | "attributes": { 7 | "adjective":["fruity", "juicy"], 8 | }, 9 | "add": { 10 | "health":2.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/fur.json: -------------------------------------------------------------------------------- 1 | { 2 | "fur": { 3 | "name":["{base_name} fur"], 4 | "veggie_name":["{base_name} polyester"], 5 | "tags":["cloth"], 6 | "attributes": { 7 | "adjective":["hairy", "furry"], 8 | }, 9 | "add": { 10 | "evasion":0.5, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/root.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "name":["{base_name} root"], 4 | "quality":1.1, 5 | "tags":["alchemy", "plant", "cooking"], 6 | "attributes": { 7 | "adjective":["gnarly", "brown"], 8 | }, 9 | "add": { 10 | "health":2.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/tooth.json: -------------------------------------------------------------------------------- 1 | { 2 | "tooth": { 3 | "name":["{base_name} tooth"], 4 | "veggie_name":["{base_name} ceramic"], 5 | "tags":["bone"], 6 | "attributes": { 7 | "adjective":["bony"], 8 | }, 9 | "add": { 10 | "penetration":0.75, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/plankton.json: -------------------------------------------------------------------------------- 1 | { 2 | "plankton": { 3 | "name":["{base_name} plankton"], 4 | "quality":1.1, 5 | "tags":["cooking", "alchemy"], 6 | "attributes": { 7 | "adjective":["salty", "sea green"], 8 | }, 9 | "add": { 10 | "health":2.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/ram_modules.json: -------------------------------------------------------------------------------- 1 | { 2 | "ram_module": { 3 | "name":["{base_name} RAM module"], 4 | "quality":1.1, 5 | "tags":["gem"], 6 | "attributes": { 7 | "adjective":["metallic", "computational"], 8 | }, 9 | "add": { 10 | "willpower":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/condensate.json: -------------------------------------------------------------------------------- 1 | { 2 | "condensate": { 3 | "name":["{base_name} condensate", "{name_prefix} condensate"], 4 | "tags":["liquid", "elemental"], 5 | "attributes": { 6 | "adjective":["slimy"], 7 | }, 8 | "add": { 9 | "willpower":0.5, 10 | }, 11 | "price":10, 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /data/materials/jewel.json: -------------------------------------------------------------------------------- 1 | { 2 | "jewel": { 3 | "name":["{base_name} jewel", "{base_name} gem stone"], 4 | "quality":1.1, 5 | "tags":["gem"], 6 | "attributes": { 7 | "adjective":["expensive", "crystaline"], 8 | }, 9 | "add": { 10 | "magic":0.5, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/processing_unit.json: -------------------------------------------------------------------------------- 1 | { 2 | "processing_unit": { 3 | "name":["{base_name} processing unit"], 4 | "quality":1.1, 5 | "tags":["gem"], 6 | "attributes": { 7 | "adjective":["metallic", "silicon"], 8 | }, 9 | "add": { 10 | "magic":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/skin.json: -------------------------------------------------------------------------------- 1 | { 2 | "skin": { 3 | "name":["{base_name} skin"], 4 | "veggie_name":["{base_name} polymere"], 5 | "tags":["leather"], 6 | "attributes": { 7 | "adjective":["leather", "smooth"], 8 | }, 9 | "add": { 10 | "accuracy":0.5, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "stone": { 3 | "name":["{base_name} stone", "{base_name} rock"], 4 | "quality":1.1, 5 | "tags":["stone"], 6 | "attributes": { 7 | "adjective":["rocky", "lithic", "stone"], 8 | }, 9 | "add": { 10 | "armour":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/synth_skin.json: -------------------------------------------------------------------------------- 1 | { 2 | "synth_skin": { 3 | "name":["{base_name} synth skin"], 4 | "quality":1.1, 5 | "tags":["leather"], 6 | "attributes": { 7 | "adjective":["synthetic", "fake", "smooth"], 8 | }, 9 | "add": { 10 | "accuracy":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/tail.json: -------------------------------------------------------------------------------- 1 | { 2 | "tail": { 3 | "name":["{base_name} tail"], 4 | "veggie_name":["{base_name} cloth"], 5 | "quality":1.1, 6 | "tags":["cloth"], 7 | "attributes": { 8 | "adjective":["cloth"], 9 | }, 10 | "add": { 11 | "evasion":0.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/wing.json: -------------------------------------------------------------------------------- 1 | { 2 | "wing": { 3 | "name":["{base_name} wing"], 4 | "veggie_name":["{base_name} foil"], 5 | "tags":["leather", "alchemy"], 6 | "attributes": { 7 | "adjective":["smooth", "thin"], 8 | }, 9 | "add": { 10 | "accuracy":0.5, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/mushroom.json: -------------------------------------------------------------------------------- 1 | { 2 | "mushroom": { 3 | "name":["{base_name} mushroom"], 4 | "quality":1.1, 5 | "tags":["cooking", "alchemy", "poison"], 6 | "attributes": { 7 | "adjective":["poisonous", "healthy"], 8 | }, 9 | "add": { 10 | "health":2.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/oil.json: -------------------------------------------------------------------------------- 1 | { 2 | "oil": { 3 | "name":["{base_name} oil", "{name_prefix} oil"], 4 | "tags":["liquid", "elemental"], 5 | "attributes": { 6 | "adjective":["oily", "well-oiled"], 7 | }, 8 | "add": { 9 | "attack":0.25, 10 | "magic":0.25, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/parchment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parchment": { 3 | "name":["{base_name} parchement"], 4 | "veggie_name":["{base_name} paper"], 5 | "tags":["paper"], 6 | "attributes": { 7 | "adjective":["thin", "parched"], 8 | }, 9 | "add": { 10 | "magic":0.5, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/plasma.json: -------------------------------------------------------------------------------- 1 | { 2 | "plasma": { 3 | "name":["{base_name} plasma", "{name_prefix} plasma"], 4 | "quality":1.1, 5 | "tags":["liquid", "elemental"], 6 | "attributes": { 7 | "adjective":["slimy"], 8 | }, 9 | "add": { 10 | "willpower":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/venom.json: -------------------------------------------------------------------------------- 1 | { 2 | "venom": { 3 | "name":["{base_name} venom"], 4 | "quality":1.1, 5 | "tags":["toxic", "alchemy"], 6 | "attributes": { 7 | "adjective":["toxic", "poisonous"], 8 | }, 9 | "add": { 10 | "stamina":1.5, 11 | "mana":1.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/battery.json: -------------------------------------------------------------------------------- 1 | { 2 | "battery": { 3 | "name":["{base_name} battery"], 4 | "quality":1.1, 5 | "tags":["alchemy"], 6 | "attributes": { 7 | "adjective":["acidic", "toxic", "metallic"], 8 | }, 9 | "add": { 10 | "stamina":1.5, 11 | "mana":1.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/fang.json: -------------------------------------------------------------------------------- 1 | { 2 | "fang": { 3 | "name":["{base_name} fang"], 4 | "veggie_name":["{base_name} ceramic"], 5 | "quality":1.1, 6 | "tags":["bone"], 7 | "attributes": { 8 | "adjective":["fanged"], 9 | }, 10 | "add": { 11 | "penetration":0.75, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/skull.json: -------------------------------------------------------------------------------- 1 | { 2 | "skull": { 3 | "name":["{base_name} skull"], 4 | "veggie_name":["{base_name} casing"], 5 | "quality":1.1, 6 | "tags":["bone"], 7 | "attributes": { 8 | "adjective":["bone", "hard"], 9 | }, 10 | "add": { 11 | "armour":0.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/tongue.json: -------------------------------------------------------------------------------- 1 | { 2 | "tongue": { 3 | "name":["{base_name} tongue"], 4 | "veggie_name":["{base_name} B12 pill"], 5 | "tags":["alchemy", "cooking", "meat"], 6 | "attributes": { 7 | "adjective":["meaty"], 8 | }, 9 | "add": { 10 | "health":2.5, 11 | }, 12 | "price":10, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/hide.json: -------------------------------------------------------------------------------- 1 | { 2 | "hide": { 3 | "name":["{base_name} hide"], 4 | "veggie_name":["{base_name} wool"], 5 | "quality":1.1, 6 | "tags":["leather", "cloth"], 7 | "attributes": { 8 | "adjective":["leather"], 9 | }, 10 | "add": { 11 | "accuracy":0.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/horn.json: -------------------------------------------------------------------------------- 1 | { 2 | "horn": { 3 | "name":["{base_name} horn"], 4 | "veggie_name":["{base_name} ceramic"], 5 | "quality":1.1, 6 | "tags":["bone"], 7 | "attributes": { 8 | "adjective":["hard", "thick"], 9 | }, 10 | "add": { 11 | "penetration":0.75, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/items/food/soup.json: -------------------------------------------------------------------------------- 1 | { 2 | "soup": { 3 | "name": "soup", 4 | "type": "food", 5 | "stamina": 20, 6 | "status": { 7 | "type": "buff", 8 | "name": "regeneration", 9 | "health_regen": 10, 10 | "duration": 1200, 11 | }, 12 | "price": 10, 13 | "material_types": [["cooking", "liquid"]], 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/bone.json: -------------------------------------------------------------------------------- 1 | { 2 | "bone": { 3 | "name":["{base_name} bone"], 4 | "veggie_name":["{base_name} ceramic"], 5 | "quality":1.1, 6 | "tags":["bone"], 7 | "attributes": { 8 | "adjective":["bone", "skeletal"], 9 | }, 10 | "add": { 11 | "penetration":0.75, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/moss.json: -------------------------------------------------------------------------------- 1 | { 2 | "moss": { 3 | "name":["{base_name} moss"], 4 | "quality":1.1, 5 | "tags":["alchemy", "healing", "toxic"], 6 | "attributes": { 7 | "adjective":["green", "mossy", "overgrown"], 8 | }, 9 | "add": { 10 | "stamina":1.5, 11 | "mana":1.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/shell.json: -------------------------------------------------------------------------------- 1 | { 2 | "shell": { 3 | "name":["{base_name} shell"], 4 | "veggie_name":["{base_name} lime"], 5 | "quality":1.1, 6 | "tags":["stone", "bone"], 7 | "attributes": { 8 | "adjective":["hard", "armoured"], 9 | }, 10 | "add": { 11 | "armour":0.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/items/potions/mana_salve.json: -------------------------------------------------------------------------------- 1 | { 2 | "mana_salve": { 3 | "name": "mana salve", 4 | "type": "potion", 5 | "effect": "mana", 6 | "status": { 7 | "type": "buff", 8 | "name": "healing", 9 | "mana_regen":200, 10 | "duration":10.0, 11 | }, 12 | "price":10, 13 | "material_types":[["magical"]], 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/ear.json: -------------------------------------------------------------------------------- 1 | { 2 | "ear": { 3 | "name":["{base_name} ear"], 4 | "veggie_name":["{base_name} poison"], 5 | "tags":["alchemy", "poison"], 6 | "attributes": { 7 | "adjective":["meaty", "poisonous"], 8 | }, 9 | "add": { 10 | "stamina":1.5, 11 | "mana":1.5, 12 | }, 13 | "price":10, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/eye_ball.json: -------------------------------------------------------------------------------- 1 | { 2 | "eye_ball": { 3 | "name":["{base_name} eye ball"], 4 | "veggie_name":["{base_name} marble"], 5 | "quality":1.1, 6 | "tags":["alchemy", "gem"], 7 | "attributes": { 8 | "adjective":["meaty"], 9 | }, 10 | "add": { 11 | "willpower":0.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/fin.json: -------------------------------------------------------------------------------- 1 | { 2 | "fin": { 3 | "name":["{base_name} fin"], 4 | "veggie_name":["{base_name} synthetic leather"], 5 | "quality":1.1, 6 | "tags":["leather"], 7 | "attributes": { 8 | "adjective":["leather", "robust"], 9 | }, 10 | "add": { 11 | "evasion":0.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/magic_salt.json: -------------------------------------------------------------------------------- 1 | { 2 | "magic_salt": { 3 | "name":["{base_name} salt", "{name_prefix} salt"], 4 | "quality":1.1, 5 | "tags":["magical", "elemental", "cooking"], 6 | "attributes": { 7 | "adjective":["salty", "magical"], 8 | }, 9 | "add": { 10 | "magic":0.5, 11 | }, 12 | "price":15, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /data/materials/pincer.json: -------------------------------------------------------------------------------- 1 | { 2 | "pincer": { 3 | "name":["{base_name} pincer"], 4 | "veggie_name":["{base_name} pea"], 5 | "quality":1.1, 6 | "tags":["alchemy", "cooking", "meat"], 7 | "attributes": { 8 | "adjective":["meaty"], 9 | }, 10 | "add": { 11 | "health":2.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/items/food/tea.json: -------------------------------------------------------------------------------- 1 | { 2 | "tea": { 3 | "name": "tea", 4 | "type": "food", 5 | "stamina": 40, 6 | "status": { 7 | "type": "buff", 8 | "name": "regeneration", 9 | "health_regen": 10, 10 | "duration": 1200, 11 | }, 12 | "price": 20, 13 | "material_types":[["healing"], ["plant", "healing"]], 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/scale.json: -------------------------------------------------------------------------------- 1 | { 2 | "scale": { 3 | "name":["{base_name} scale"], 4 | "veggie_name":["{base_name} plate"], 5 | "quality":1.1, 6 | "tags":["cloth", "leather"], 7 | "attributes": { 8 | "adjective":["shimmering", "smooth"], 9 | }, 10 | "add": { 11 | "armour":0.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/testicle.json: -------------------------------------------------------------------------------- 1 | { 2 | "testicle": { 3 | "name":["{base_name} testicle"], 4 | "veggie_name":["{base_name} nut"], 5 | "tags":["cooking", "alchemy", "meat"], 6 | "attributes": { 7 | "adjective":["meaty"], 8 | }, 9 | "add": { 10 | "stamina":1.5, 11 | "mana":1.5, 12 | }, 13 | "price":10, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/insistine.json: -------------------------------------------------------------------------------- 1 | { 2 | "insistine": { 3 | "name":["{base_name} insistine"], 4 | "veggie_name":["{base_name} soy"], 5 | "tags":["cooking", "alchemy", "meat"], 6 | "attributes": { 7 | "adjective":["meaty"], 8 | }, 9 | "add": { 10 | "stamina":1.5, 11 | "mana":1.5, 12 | }, 13 | "price":10, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/heart.json: -------------------------------------------------------------------------------- 1 | { 2 | "heart": { 3 | "name":["{base_name} heart"], 4 | "veggie_name":["{base_name} heartstone"], 5 | "quality":1.1, 6 | "tags":["alchemy", "meat", "gem"], 7 | "attributes": { 8 | "adjective":["meaty", "hearty"], 9 | }, 10 | "add": { 11 | "willpower":0.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/materials/leather.json: -------------------------------------------------------------------------------- 1 | { 2 | "leather": { 3 | "name":["{base_name} leather"], 4 | "veggie_name":["{base_name} synthetic leather"], 5 | "quality":1.1, 6 | "tags":["leather"], 7 | "attributes": { 8 | "adjective":["leather", "robust"], 9 | }, 10 | "add": { 11 | "accuracy":0.5, 12 | }, 13 | "price":15, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/items/potions/healing_salve.json: -------------------------------------------------------------------------------- 1 | { 2 | "healing_salve": { 3 | "name": "healing salve", 4 | "type": "potion", 5 | "effect": "health", 6 | "status": { 7 | "type": "buff", 8 | "name": "healing", 9 | "health_regen": 500, 10 | "duration": 10.0, 11 | }, 12 | "price": 10, 13 | "material_types":[["healing"]], 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/items/potions/stamina_salve.json: -------------------------------------------------------------------------------- 1 | { 2 | "stamina_salve": { 3 | "name": "stamina salve", 4 | "type": "potion", 5 | "effect": "stamina", 6 | "status": { 7 | "type": "buff", 8 | "name": "healing", 9 | "stamina_regen":200, 10 | "duration":10.0, 11 | }, 12 | "price":10, 13 | "material_types":[["elemental"]], 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /data/items/food/salad.json: -------------------------------------------------------------------------------- 1 | { 2 | "salad": { 3 | "name": "salad", 4 | "type": "food", 5 | "stamina": 20, 6 | "status": { 7 | "type": "buff", 8 | "name": "agility", 9 | "effect": ["accuracy", "evasion"], 10 | "effect_scale": 3.0, 11 | "duration": 1200, 12 | }, 13 | "price": 10, 14 | "material_types": [["plant"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/guilds/attributes/headquarters.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "texts": [ 4 | "headquarters" 5 | ], 6 | "tags": [ 7 | "guild" 8 | ] 9 | }, 10 | { 11 | "texts": [ 12 | "institute" 13 | ], 14 | "tags": [ 15 | "institute" 16 | ] 17 | }, 18 | { 19 | "texts": [ 20 | "origin" 21 | ], 22 | "tags": [ 23 | "club" 24 | ] 25 | } 26 | ] 27 | -------------------------------------------------------------------------------- /translations/ui.csv.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="csv_translation" 4 | type="Translation" 5 | uid="uid://lopplbpuafjj" 6 | 7 | [deps] 8 | 9 | files=["res://translations/ui.en.translation"] 10 | 11 | source_file="res://translations/ui.csv" 12 | dest_files=["res://translations/ui.en.translation"] 13 | 14 | [params] 15 | 16 | compress=true 17 | delimiter=0 18 | -------------------------------------------------------------------------------- /data/items/food/mayonnaise.json: -------------------------------------------------------------------------------- 1 | { 2 | "mayonnaise": { 3 | "name": "mayonnaise", 4 | "type": "food", 5 | "stamina": 30, 6 | "status": { 7 | "type": "buff", 8 | "name": "mayonnaise", 9 | "mana_regen": 8, 10 | "stamina_regen": 8, 11 | "duration": 1200, 12 | }, 13 | "price": 15, 14 | "material_types": [["cooking", "liquid"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/items/food/pizza.json: -------------------------------------------------------------------------------- 1 | { 2 | "pizza": { 3 | "name": "pizza", 4 | "type": "food", 5 | "stamina": 40, 6 | "status": { 7 | "type": "buff", 8 | "name": "vigor", 9 | "effect": ["attack", "magic"], 10 | "effect_scale": 5.5, 11 | "duration": 1200, 12 | }, 13 | "price": 20, 14 | "material_types": [["cooking"], ["cooking"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/items/food/pot.json: -------------------------------------------------------------------------------- 1 | { 2 | "pot": { 3 | "name": "pot", 4 | "type": "food", 5 | "stamina": 40, 6 | "status": { 7 | "type": "buff", 8 | "name": "satisfaction", 9 | "effect": ["armour", "evasion"], 10 | "effect_scale": 6.0, 11 | "duration": 1200, 12 | }, 13 | "price": 20, 14 | "material_types": [["cooking"], ["cooking"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/items/food/pudding.json: -------------------------------------------------------------------------------- 1 | { 2 | "pudding": { 3 | "name": "pudding", 4 | "type": "food", 5 | "stamina": 40, 6 | "status": { 7 | "type": "buff", 8 | "name": "joy", 9 | "effect": ["speed"], 10 | "effect_scale": 1.0, 11 | "duration": 600, 12 | }, 13 | "price": 20, 14 | "material_types": [["cooking"], ["liquid", "cooking"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/items/food/curry.json: -------------------------------------------------------------------------------- 1 | { 2 | "curry": { 3 | "name": "curry", 4 | "type": "food", 5 | "stamina": 40, 6 | "status": { 7 | "type": "buff", 8 | "name": "vigor", 9 | "effect": ["attack", "magic"], 10 | "effect_scale": 5.5, 11 | "duration": 1200, 12 | }, 13 | "price": 20, 14 | "material_types": [["cooking"], ["liquid", "cooking"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/items/food/dessert.json: -------------------------------------------------------------------------------- 1 | { 2 | "dessert": { 3 | "name": "dessert", 4 | "type": "food", 5 | "stamina": 40, 6 | "status": { 7 | "type": "buff", 8 | "name": "joy", 9 | "effect": ["willpower", "accuracy"], 10 | "effect_scale": 6.0, 11 | "duration": 1200, 12 | }, 13 | "price": 20, 14 | "material_types": [["cooking"], ["cooking"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/items/potions/bandage.json: -------------------------------------------------------------------------------- 1 | { 2 | "bandage": { 3 | "name": "bandage", 4 | "type": "potion", 5 | "effect": "health", 6 | "status": { 7 | "type": "buff", 8 | "name": "healing", 9 | "health_regen": 200, 10 | "health": 20.0, 11 | "duration": 20.0, 12 | }, 13 | "price": 10, 14 | "material_types": [["healing", "cloth", "leather"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /translations/items.csv.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="csv_translation" 4 | type="Translation" 5 | uid="uid://cqa4km0po74i4" 6 | 7 | [deps] 8 | 9 | files=["res://translations/items.en.translation"] 10 | 11 | source_file="res://translations/items.csv" 12 | dest_files=["res://translations/items.en.translation"] 13 | 14 | [params] 15 | 16 | compress=true 17 | delimiter=0 18 | -------------------------------------------------------------------------------- /translations/texts.csv.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="csv_translation" 4 | type="Translation" 5 | uid="uid://dok64686afbnj" 6 | 7 | [deps] 8 | 9 | files=["res://translations/texts.en.translation"] 10 | 11 | source_file="res://translations/texts.csv" 12 | dest_files=["res://translations/texts.en.translation"] 13 | 14 | [params] 15 | 16 | compress=true 17 | delimiter=0 18 | -------------------------------------------------------------------------------- /data/items/attributes/weight.json: -------------------------------------------------------------------------------- 1 | { 2 | "weight": [ 3 | { 4 | "adjective": "heavy", 5 | "adverb": "heavily", 6 | }, 7 | { 8 | "adjective": "massive", 9 | "adverb": "massively", 10 | }, 11 | { 12 | "adjective": "light", 13 | "adverb": "lightly", 14 | }, 15 | { 16 | "adjective": "lightweight", 17 | "adverb": "easily", 18 | }, 19 | ], 20 | } 21 | -------------------------------------------------------------------------------- /translations/colors.csv.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="csv_translation" 4 | type="Translation" 5 | uid="uid://dywrb883k2t43" 6 | 7 | [deps] 8 | 9 | files=["res://translations/colors.en.translation"] 10 | 11 | source_file="res://translations/colors.csv" 12 | dest_files=["res://translations/colors.en.translation"] 13 | 14 | [params] 15 | 16 | compress=true 17 | delimiter=0 18 | -------------------------------------------------------------------------------- /translations/skills.csv.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="csv_translation" 4 | type="Translation" 5 | uid="uid://pwe6ar0o2gi3" 6 | 7 | [deps] 8 | 9 | files=["res://translations/skills.en.translation"] 10 | 11 | source_file="res://translations/skills.csv" 12 | dest_files=["res://translations/skills.en.translation"] 13 | 14 | [params] 15 | 16 | compress=true 17 | delimiter=0 18 | -------------------------------------------------------------------------------- /translations/actions.csv.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="csv_translation" 4 | type="Translation" 5 | uid="uid://donoxqyrshtq5" 6 | 7 | [deps] 8 | 9 | files=["res://translations/actions.en.translation"] 10 | 11 | source_file="res://translations/actions.csv" 12 | dest_files=["res://translations/actions.en.translation"] 13 | 14 | [params] 15 | 16 | compress=true 17 | delimiter=0 18 | -------------------------------------------------------------------------------- /data/items/food/sandwich.json: -------------------------------------------------------------------------------- 1 | { 2 | "sandwich": { 3 | "name": "sandwich", 4 | "type": "food", 5 | "stamina": 40, 6 | "status": { 7 | "type": "buff", 8 | "name": "resilience", 9 | "effect": ["armour", "willpower"], 10 | "effect_scale": 6.0, 11 | "duration": 1200, 12 | }, 13 | "price": 20, 14 | "material_types": [["cooking"], ["plant", "cooking"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/items/potions/energy_drink.json: -------------------------------------------------------------------------------- 1 | { 2 | "energy_drink": { 3 | "name": "energy drink", 4 | "type": "potion", 5 | "effect": "stamina", 6 | "status": { 7 | "type": "buff", 8 | "name": "healing", 9 | "mana_regen":200, 10 | "stamina_regen":200, 11 | "duration":15.0, 12 | }, 13 | "price":20, 14 | "material_types":[["liquid"], ["plant", "meat"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/items/potions/healing_infusion.json: -------------------------------------------------------------------------------- 1 | { 2 | "healing_infusion": { 3 | "name": "healing infusion", 4 | "type": "potion", 5 | "effect": "health", 6 | "status": { 7 | "type": "buff", 8 | "name": "healing", 9 | "health_regen": 200, 10 | "duration": 15.0, 11 | }, 12 | "healing": 50, 13 | "price": 20, 14 | "material_types": [["healing"], ["liquid", "healing"]], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /data/items/attributes/curse.json: -------------------------------------------------------------------------------- 1 | { 2 | "curse": [ 3 | { 4 | "singular": "curse", 5 | "plural": "curses", 6 | "adjective": "cursed", 7 | "prefix": "Cursed", 8 | }, 9 | { 10 | "singular": "damnation", 11 | "adjective": "forsaken", 12 | "prefix": "Forsaken", 13 | }, 14 | { 15 | "singular": "blessing", 16 | "plural": "blessings", 17 | "adjective": "blessed", 18 | "prefix": "Blessed", 19 | }, 20 | ], 21 | } 22 | -------------------------------------------------------------------------------- /translations/colors.csv: -------------------------------------------------------------------------------- 1 | ,en 2 | WHITE,white 3 | GREY,grey 4 | BLACK,black 5 | BROWN,brown 6 | RED,red 7 | ORANGE,orange 8 | YELLOW,yellow 9 | GREEN,green 10 | CYAN,cyan 11 | BLUE,blue 12 | VIOLET,violet 13 | PURPLE,purple 14 | PINK,pink 15 | MAGENTA,magenta 16 | CRIMSON,crimson 17 | INDIGO,indigo 18 | GOLD,gold 19 | GOLDEN,golden 20 | SILVER,silver 21 | BEIGE,beige 22 | AQUAMARINE,aquamarine 23 | ORCHID,orchid 24 | TURQUOISE,turquoise 25 | TEAL,teal 26 | -------------------------------------------------------------------------------- /data/items/attributes/stains.json: -------------------------------------------------------------------------------- 1 | { 2 | "stains": [ 3 | { 4 | "singular": "blood stains", 5 | "adjective": "blood stained", 6 | "prefix": "Blood Stained", 7 | }, 8 | { 9 | "singular": "grease stains", 10 | "adjective": "grease stained", 11 | }, 12 | { 13 | "singular": "rust stains", 14 | "adjective": "rust stained", 15 | }, 16 | { 17 | "singular": "water stains", 18 | "adjective": "water stained", 19 | }, 20 | ], 21 | } 22 | -------------------------------------------------------------------------------- /data/items/attributes/weakness.json: -------------------------------------------------------------------------------- 1 | { 2 | "weakness": [ 3 | { 4 | "singular": "weakness", 5 | "adjective": "weak", 6 | }, 7 | { 8 | "singular": "dullness", 9 | "adjective": "dull", 10 | }, 11 | { 12 | "singular": "bluntness", 13 | "adjective": "blunt", 14 | }, 15 | { 16 | "singular": "brittleness", 17 | "adjective": "brittle", 18 | }, 19 | { 20 | "singular": "age", 21 | "adjective": "old", 22 | }, 23 | ], 24 | } 25 | -------------------------------------------------------------------------------- /gui/main/scripts/attributes.gd: -------------------------------------------------------------------------------- 1 | extends Panel 2 | class_name AttributePanel 3 | 4 | var character: Characters.Character 5 | 6 | @onready 7 | var vbox_container:= $VBoxContainer 8 | 9 | 10 | func update(): 11 | for attribute in character.attributes: 12 | var container:= vbox_container.get_node(attribute.capitalize()) as HBoxContainer 13 | if container == null: 14 | continue 15 | (container.get_node("Value") as Label).text = str(character.attributes[attribute]) 16 | -------------------------------------------------------------------------------- /libraries/regions.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://ba5opu7oene6u"] 2 | 3 | [ext_resource type="Script" uid="uid://235k4nrghqna" path="res://libraries/regions.gd" id="1_h1ibj"] 4 | [ext_resource type="Script" uid="uid://bqdmllw7rhq6t" path="res://libraries/region_description.gd" id="2_nvttf"] 5 | 6 | [node name="Regions" type="Node"] 7 | script = ExtResource("1_h1ibj") 8 | 9 | [node name="RegionDescription" type="Node" parent="."] 10 | script = ExtResource("2_nvttf") 11 | -------------------------------------------------------------------------------- /data/guilds/organization/institute.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "institute", 3 | "organization": "institute", 4 | "names": [ 5 | "institute", 6 | "academy", 7 | "circle", 8 | "syndicate", 9 | "house" 10 | ], 11 | "rank_carry_over": 1.0, 12 | "max_range": 2, 13 | "give_parting_gift": true, 14 | "rank_prefixes": { 15 | "-1": [ 16 | "low" 17 | ], 18 | "0": [ 19 | "advanced" 20 | ], 21 | "1": [ 22 | "high" 23 | ] 24 | }, 25 | "tags": [ 26 | "institute", 27 | "research" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /data/guilds/organization/guild.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "guild", 3 | "organization": "branches", 4 | "names": [ 5 | "guild", 6 | "association", 7 | "organization" 8 | ], 9 | "addendum": [ 10 | "- {region} branch", 11 | "- {city} branch" 12 | ], 13 | "rank_carry_over": 0.75, 14 | "give_welcome_gift": true, 15 | "rank_prefixes": { 16 | "-1": [ 17 | "beginner" 18 | ], 19 | "0": [ 20 | "advanced" 21 | ], 22 | "1": [ 23 | "master" 24 | ] 25 | }, 26 | "tags": [ 27 | "guild", 28 | "quests" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /data/items/attributes/care.json: -------------------------------------------------------------------------------- 1 | { 2 | "care": [ 3 | { 4 | "singular": "polishing", 5 | "adjective": "polished", 6 | }, 7 | { 8 | "singular": "sharpening", 9 | "adjective": "sharpened", 10 | }, 11 | { 12 | "singular": "oiling", 13 | "adjective": "well oiled", 14 | }, 15 | { 16 | "singular": "neglect", 17 | "adjective": "worn-down", 18 | }, 19 | { 20 | "singular": "aging", 21 | "adjective": "old", 22 | }, 23 | { 24 | "singular": "rot", 25 | "adjective": "rotten", 26 | }, 27 | ], 28 | } 29 | -------------------------------------------------------------------------------- /data/guilds/organization/club.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "club", 3 | "organization": "independant", 4 | "names": [ 5 | "club", 6 | "group", 7 | "brotherhood" 8 | ], 9 | "preamble": [ 10 | "{region}", 11 | "{city}" 12 | ], 13 | "addendum": [ 14 | "of {region}", 15 | "of {city}" 16 | ], 17 | "rank_carry_over": 0.25, 18 | "rank_prefixes": { 19 | "-1": [ 20 | "rookie" 21 | ], 22 | "0": [ 23 | "veteran" 24 | ], 25 | "1": [ 26 | "elite" 27 | ] 28 | }, 29 | "tags": [ 30 | "club", 31 | "constitution" 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /data/guilds/organization/cult.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cult", 3 | "organization": "cult", 4 | "names": [ 5 | "cult", 6 | "circle", 7 | "house", 8 | "society" 9 | ], 10 | "rank_carry_over": 1.0, 11 | "max_range": 1, 12 | "revival_chance": 0.1, 13 | "give_welcome_gift": true, 14 | "give_parting_gift": true, 15 | "rank_prefixes": { 16 | "-1": [ 17 | "initiate" 18 | ], 19 | "0": [ 20 | "anointed" 21 | ], 22 | "1": [ 23 | "arch" 24 | ] 25 | }, 26 | "tags": [ 27 | "blood", 28 | "vile", 29 | "conspiracy" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /gui/main/scripts/armour_preference.gd: -------------------------------------------------------------------------------- 1 | extends Panel 2 | class_name ArmourPreferencePanel 3 | 4 | var character_settings: Characters.CharacterSettings 5 | 6 | 7 | func update(): 8 | ($VBoxContainer/CheckBoxLight as CheckBox).set_pressed_no_signal( 9 | "light" in character_settings.valid_armour_types) 10 | ($VBoxContainer/CheckBoxMedium as CheckBox).set_pressed_no_signal( 11 | "medium" in character_settings.valid_armour_types) 12 | ($VBoxContainer/CheckBoxHeavy as CheckBox).set_pressed_no_signal( 13 | "heavy" in character_settings.valid_armour_types) 14 | -------------------------------------------------------------------------------- /gui/main/scripts/main_log.gd: -------------------------------------------------------------------------------- 1 | extends Control 2 | 3 | @onready var text_node:= $RichTextLabel 4 | 5 | 6 | func print_log_msg(text: String, linebreak:= false): 7 | if text_node.get_line_count() >= 1000: 8 | text_node.text = text_node.text.substr(ceil(text_node.text.length()/2)) 9 | text[0] = text[0].to_upper() 10 | text_node.append_text(text) 11 | if linebreak: 12 | text_node.append_text("\n") 13 | else: 14 | text_node.append_text(" ") 15 | 16 | 17 | func _ready(): 18 | TextGeneration.connect("travel_text", Callable(self, "print_log_msg")) 19 | 20 | -------------------------------------------------------------------------------- /gui/main/scripts/potion_preference.gd: -------------------------------------------------------------------------------- 1 | extends Panel 2 | class_name PotionPreferencePanel 3 | 4 | var character_settings: Characters.CharacterSettings 5 | 6 | 7 | func update(): 8 | ($VBoxContainer/CheckBoxHealth as CheckBox).set_pressed_no_signal( 9 | "health" in character_settings.valid_potion_types) 10 | ($VBoxContainer/CheckBoxStamina as CheckBox).set_pressed_no_signal( 11 | "stamina" in character_settings.valid_potion_types) 12 | ($VBoxContainer/CheckBoxMana as CheckBox).set_pressed_no_signal( 13 | "mana" in character_settings.valid_potion_types) 14 | -------------------------------------------------------------------------------- /data/items/attributes/prophecy.json: -------------------------------------------------------------------------------- 1 | { 2 | "prophecy": [ 3 | { 4 | "singular": "prophecy", 5 | "plural": "prophecies", 6 | "adjective": "prophesied", 7 | "suffix": "of Prophecy", 8 | }, 9 | { 10 | "singular": "oracle", 11 | "plural": "oracles", 12 | "adjective": "prophetic", 13 | "suffix": "Oracle's", 14 | }, 15 | { 16 | "singular": "fate", 17 | "adjective": "fated", 18 | "suffix": "of Fate", 19 | }, 20 | { 21 | "singular": "destiny", 22 | "adjective": "destined", 23 | "suffix": "of Destiny", 24 | }, 25 | ], 26 | } 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## About 2 | 3 | Procedurally generated zero-player idle RPG. 4 | 5 | These are the project files for Godot 4.0.2. It's meant to be opened or run using Godot's project manager. See https://godotengine.org/ 6 | 7 | 8 | ## Features 9 | * idle RPG with no need to waste time playing the game 10 | * text-based 11 | * procedurally generated world, skills, items, enemies, and NPCs 12 | * complex modular skill system 13 | * modular crafting system and procedurally generated crafting materials 14 | * randomized quests 15 | * join guilds and increase your ranks 16 | * too much randomness 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "[FEATURE]" 5 | labels: enhancement 6 | assignees: fenix-hub 7 | 8 | --- 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe an implementation suggestion** 14 | A clear and concise description of any implementation method you'd like to suggest. It may be technical or just theoretical. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /data/items/attributes/mental_illness.json: -------------------------------------------------------------------------------- 1 | { 2 | "mental_illness": [ 3 | { 4 | "singular": "madness", 5 | "adjective": "mad", 6 | "suffix": "of Madness", 7 | }, 8 | { 9 | "singular": "agony", 10 | "adjective": "agonizing", 11 | "suffix": "of Agony", 12 | }, 13 | { 14 | "singular": "despair", 15 | "adjective": "hopeless", 16 | "suffix": "of Despair", 17 | }, 18 | { 19 | "singular": "nightmares", 20 | "adjective": "haunted", 21 | "suffix": "of Nightmares", 22 | }, 23 | { 24 | "singular": "suffering", 25 | "adjective": "suffering", 26 | "suffix": "of Suffering", 27 | }, 28 | ], 29 | } 30 | -------------------------------------------------------------------------------- /data/items/attributes/quality.json: -------------------------------------------------------------------------------- 1 | { 2 | "quality": [ 3 | { 4 | "singular": "spike", 5 | "plural": "spikes", 6 | "adjective": "sharp", 7 | }, 8 | { 9 | "singular": "blade", 10 | "plural": "blades", 11 | "adjective": "sharp", 12 | }, 13 | { 14 | "singular": "tip", 15 | "plural": "tips", 16 | "adjective": "pointy", 17 | }, 18 | { 19 | "singular": "hammer", 20 | "plural": "hammers", 21 | "adjective": "blunt", 22 | }, 23 | { 24 | "singular": "metal", 25 | "adjective": "polished", 26 | }, 27 | { 28 | "singular": "barb", 29 | "plural": "barbs", 30 | "adjective": "vile", 31 | }, 32 | ], 33 | } 34 | -------------------------------------------------------------------------------- /libraries/guilds.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=3 uid="uid://c272b31fmx5ud"] 2 | 3 | [ext_resource type="Script" uid="uid://c8xdtxuuoiya5" path="res://libraries/guilds.gd" id="1_s72jj"] 4 | [ext_resource type="Script" uid="uid://cggj5y00saka1" path="res://libraries/guild_description.gd" id="2_5eqra"] 5 | [ext_resource type="Script" uid="uid://cv5bh6lm3dxp0" path="res://libraries/god_description.gd" id="3_jqdd1"] 6 | 7 | [node name="Guilds" type="Node"] 8 | script = ExtResource("1_s72jj") 9 | 10 | [node name="Description" type="Node" parent="."] 11 | script = ExtResource("2_5eqra") 12 | 13 | [node name="Gods" type="Node" parent="."] 14 | script = ExtResource("3_jqdd1") 15 | -------------------------------------------------------------------------------- /libraries/items.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=3 uid="uid://yhamv2ut50o6"] 2 | 3 | [ext_resource type="Script" uid="uid://bx3ujbt6x0std" path="res://libraries/items.gd" id="1_nevmv"] 4 | [ext_resource type="Script" uid="uid://cdt3rleyf05px" path="res://libraries/item_description.gd" id="2_mgjri"] 5 | [ext_resource type="Script" uid="uid://cp2xsbft51auy" path="res://libraries/item_enchantment.gd" id="3_8ax1f"] 6 | 7 | [node name="Items" type="Node"] 8 | script = ExtResource("1_nevmv") 9 | 10 | [node name="Description" type="Node" parent="."] 11 | script = ExtResource("2_mgjri") 12 | 13 | [node name="Enchantment" type="Node" parent="."] 14 | script = ExtResource("3_8ax1f") 15 | -------------------------------------------------------------------------------- /data/items/attributes/liquid.json: -------------------------------------------------------------------------------- 1 | { 2 | "liquid": [ 3 | { 4 | "singular": "water", 5 | "plural":"waters", 6 | "adjective": "watery", 7 | }, 8 | { 9 | "singular": "poison", 10 | "plural": "poisons", 11 | "adjective": "poisonous", 12 | }, 13 | { 14 | "singular": "acid", 15 | "plural": "acids", 16 | "adjective": "acidic", 17 | }, 18 | { 19 | "default": "blood", 20 | "adjective": "bloody", 21 | }, 22 | { 23 | "default": "oil", 24 | "adjective": "oily", 25 | }, 26 | { 27 | "default": "syrup", 28 | "adjective": "sweet", 29 | }, 30 | { 31 | "default": "resin", 32 | "adjective": "sticky", 33 | }, 34 | ], 35 | } 36 | -------------------------------------------------------------------------------- /gui/item_icon_test.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=3 uid="uid://b7avvm34u2vd0"] 2 | 3 | [ext_resource type="Script" uid="uid://d080130r8l7cx" path="res://gui/item_icon_test.gd" id="1_7tf28"] 4 | [ext_resource type="PackedScene" uid="uid://b4h04wll7qn4h" path="res://gui/item.tscn" id="2_04evl"] 5 | [ext_resource type="Texture2D" uid="uid://bkk3k233cxyb4" path="res://images/icons/magestaff.svg" id="3_5tmy3"] 6 | 7 | [node name="CanvasLayer" type="CanvasLayer"] 8 | layer = 20 9 | script = ExtResource("1_7tf28") 10 | 11 | [node name="Item" parent="." instance=ExtResource("2_04evl")] 12 | 13 | [node name="Icon" parent="Item" index="0"] 14 | texture = ExtResource("3_5tmy3") 15 | 16 | [editable path="Item"] 17 | -------------------------------------------------------------------------------- /models/god.gd: -------------------------------------------------------------------------------- 1 | extends RefCounted 2 | class_name God 3 | 4 | var name: String 5 | var ID: String 6 | var description: Array[String] 7 | var domains: Array[String] 8 | 9 | func _init(data: Dictionary) -> void: 10 | self.name = data.get("name", "unknown") as String 11 | self.ID = data.get("ID", "god" + str(randi())) as String 12 | self.description = [] 13 | for d in data.get("description", []): 14 | self.description.push_back(d) 15 | self.domains = [] 16 | for d in data.get("domains", []): 17 | self.domains.push_back(d) 18 | 19 | func to_dict() -> Dictionary: 20 | return { 21 | "name": self.name, 22 | "ID": self.ID, 23 | "description": self.description, 24 | "domains": self.domains, 25 | } 26 | -------------------------------------------------------------------------------- /data/enemies/training/dummy.json: -------------------------------------------------------------------------------- 1 | { 2 | "dummy":{ 3 | "base_name":["dummy"], 4 | "lesser_prefix":["broken","straw","one-armed","headless"], 5 | "greater_prefix":["training","reinforced","steel-clad","crash test"], 6 | "abilities":[], 7 | "exp":0, 8 | "base_stats":{ 9 | "strength":4, 10 | "constitution":40, 11 | "dexterity":4, 12 | "intelligence":4, 13 | "wisdom":4, 14 | "cunning":4, 15 | }, 16 | "attributes":{ 17 | "attack":5, 18 | "magic":5, 19 | "willpower":20, 20 | "armour":0, 21 | "evasion":10, 22 | "accuracy":10, 23 | "penetration":0, 24 | "speed":-5, 25 | "critical":0, 26 | }, 27 | "soul_rarity":-4, 28 | "race": "construct", 29 | }, 30 | } 31 | -------------------------------------------------------------------------------- /data/gods/domains/commerce.json: -------------------------------------------------------------------------------- 1 | { 2 | "merchant": { 3 | "name": "merchant", 4 | "title": [ 5 | "Merchant" 6 | ], 7 | "suffix": [ 8 | "of Commerce" 9 | ], 10 | "tags": [ 11 | "crafting" 12 | ] 13 | }, 14 | "trade": { 15 | "name": "trade", 16 | "title": [ 17 | "Trader" 18 | ], 19 | "prefix": [ 20 | "Trading" 21 | ], 22 | "suffix": [ 23 | "of Trade" 24 | ], 25 | "tags": [ 26 | ] 27 | }, 28 | "wealth": { 29 | "name": "wealth", 30 | "title": [ 31 | "Wealth", 32 | "Wealthy" 33 | ], 34 | "prefix": [ 35 | "Wealthy" 36 | ], 37 | "suffix": [ 38 | "of Wealth" 39 | ], 40 | "tags": [ 41 | "gold", 42 | "crafting" 43 | ] 44 | }, 45 | } 46 | -------------------------------------------------------------------------------- /gui/chart/scenes/graph_layer.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=3 uid="uid://dreiacjgnbowr"] 2 | 3 | [ext_resource type="Shader" uid="uid://d0yxgsqrnme0l" path="res://shaders/fade_in_lr.gdshader" id="1_0h22o"] 4 | [ext_resource type="Script" uid="uid://c8duj33mkep1v" path="res://gui/chart/scripts/ui/graph_layer.gd" id="2_ydsxf"] 5 | 6 | [sub_resource type="ShaderMaterial" id="ShaderMaterial_tic22"] 7 | shader = ExtResource("1_0h22o") 8 | shader_parameter/progress = 1.0 9 | 10 | [node name="Layer" type="Control"] 11 | material = SubResource("ShaderMaterial_tic22") 12 | layout_mode = 3 13 | anchors_preset = 15 14 | anchor_right = 1.0 15 | anchor_bottom = 1.0 16 | grow_horizontal = 2 17 | grow_vertical = 2 18 | script = ExtResource("2_ydsxf") 19 | -------------------------------------------------------------------------------- /data/items/cards/base.json: -------------------------------------------------------------------------------- 1 | { 2 | "object": { 3 | }, 4 | "component": { 5 | }, 6 | "material": { 7 | "attributes": [ 8 | "adjective", 9 | ], 10 | }, 11 | "shape": { 12 | }, 13 | "quality": { 14 | }, 15 | "color": { 16 | }, 17 | "liquid": { 18 | "attributes": [ 19 | "color", 20 | "thickness", 21 | ], 22 | }, 23 | "theme": { 24 | }, 25 | "element": { 26 | }, 27 | "curse": { 28 | }, 29 | "mental_illness": { 30 | }, 31 | "weakness": { 32 | }, 33 | "craftmanship": { 34 | }, 35 | "stains": { 36 | }, 37 | "enemy": { 38 | }, 39 | "prophecy": { 40 | }, 41 | "emotion": { 42 | }, 43 | "origin": { 44 | }, 45 | "force": { 46 | }, 47 | "care": { 48 | }, 49 | "crime": { 50 | }, 51 | "science": { 52 | }, 53 | } 54 | -------------------------------------------------------------------------------- /data/gods/domains/faith.json: -------------------------------------------------------------------------------- 1 | { 2 | "fate": { 3 | "name": "fate", 4 | "title": [ 5 | "Fate" 6 | ], 7 | "prefix": [ 8 | "Fated" 9 | ], 10 | "suffix": [ 11 | "who Spins Fate" 12 | ], 13 | "tags": [ 14 | "worship" 15 | ] 16 | }, 17 | "destiny": { 18 | "name": "destiny", 19 | "title": [ 20 | "Destiny" 21 | ], 22 | "suffix": [ 23 | "who Defies Fate" 24 | ], 25 | "tags": [ 26 | "exploration", 27 | "salvation" 28 | ] 29 | }, 30 | "providence": { 31 | "name": "providence", 32 | "title": [ 33 | "Providence" 34 | ], 35 | "prefix": [ 36 | "Untouchable" 37 | ], 38 | "suffix": [ 39 | "of Providence", 40 | "Granting Providence" 41 | ], 42 | "tags": [ 43 | "god", 44 | "salvation" 45 | ] 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /data/enemies/beasts/boar.json: -------------------------------------------------------------------------------- 1 | { 2 | "boar":{ 3 | "base_name":["boar"], 4 | "lesser_prefix":["hungry","starved","injured"], 5 | "greater_prefix":["feral","huge","aggressive","ferocious"], 6 | "abilities":["fangs","claws"], 7 | "base_stats":{ 8 | "strength":8, 9 | "constitution":12, 10 | "dexterity":6, 11 | "intelligence":4, 12 | "wisdom":4, 13 | "cunning":6, 14 | }, 15 | "attributes":{ 16 | "attack":10, 17 | "magic":5, 18 | "willpower":8, 19 | "armour":8, 20 | "evasion":5, 21 | "accuracy":5, 22 | "penetration":0, 23 | "speed":-1, 24 | "critical":-2, 25 | }, 26 | "materials":[ 27 | "fur","leather","bone","meat", 28 | ], 29 | "soul_prefix":["lesser","mundane","simple"], 30 | "soul_rarity":-1, 31 | "race": "beast", 32 | }, 33 | } 34 | -------------------------------------------------------------------------------- /data/enemies/beasts/shark.json: -------------------------------------------------------------------------------- 1 | { 2 | "shark":{ 3 | "base_name":["shark"], 4 | "lesser_prefix":["young","weak"], 5 | "greater_prefix":["feral","huge","ferocious"], 6 | "abilities":["fangs","feral_cutting_water_magic","evasion"], 7 | "base_stats":{ 8 | "strength":11, 9 | "constitution":8, 10 | "dexterity":10, 11 | "intelligence":5, 12 | "wisdom":5, 13 | "cunning":9, 14 | }, 15 | "attributes":{ 16 | "attack":15, 17 | "magic":0, 18 | "willpower":0, 19 | "armour":5, 20 | "evasion":5, 21 | "accuracy":15, 22 | "penetration":2, 23 | "speed":1, 24 | "critical":2, 25 | }, 26 | "materials":[ 27 | "leather","bone","meat","fin", 28 | ], 29 | "exp":15, 30 | "soul_prefix":["lesser","mundane","simple"], 31 | "soul_rarity":-1, 32 | "race": "beast", 33 | }, 34 | } 35 | -------------------------------------------------------------------------------- /data/enemies/beasts/wolf.json: -------------------------------------------------------------------------------- 1 | { 2 | "wolf":{ 3 | "base_name":["wolf","hound","dog"], 4 | "lesser_prefix":["hungry","starved","injured"], 5 | "greater_prefix":["feral","huge","aggressive","ferocious"], 6 | "abilities":["fangs","claws"], 7 | "base_stats":{ 8 | "strength":8, 9 | "constitution":8, 10 | "dexterity":10, 11 | "intelligence":4, 12 | "wisdom":4, 13 | "cunning":6, 14 | }, 15 | "attributes":{ 16 | "attack":10, 17 | "magic":5, 18 | "willpower":0, 19 | "armour":4, 20 | "evasion":5, 21 | "accuracy":10, 22 | "penetration":0, 23 | "speed":0, 24 | "critical":2, 25 | }, 26 | "materials":[ 27 | "fur","tail","fang","bone","eye_ball","meat" 28 | ], 29 | "soul_prefix":["lesser","mundane","simple"], 30 | "soul_rarity":-1, 31 | "race": "beast", 32 | }, 33 | } 34 | -------------------------------------------------------------------------------- /data/enemies/beasts/snap_turtle.json: -------------------------------------------------------------------------------- 1 | { 2 | "snap_turtle":{ 3 | "base_name":["snap turtle"], 4 | "lesser_prefix":["young","starved","injured"], 5 | "greater_prefix":["feral","huge","sturdy","ferocious"], 6 | "abilities":["fangs","feral_impact_water_magic","armour"], 7 | "base_stats":{ 8 | "strength":8, 9 | "constitution":12, 10 | "dexterity":6, 11 | "intelligence":6, 12 | "wisdom":6, 13 | "cunning":8, 14 | }, 15 | "attributes":{ 16 | "attack":10, 17 | "magic":5, 18 | "willpower":0, 19 | "armour":15, 20 | "evasion":-2, 21 | "accuracy":8, 22 | "penetration":0, 23 | "speed":-2, 24 | "critical":0, 25 | }, 26 | "materials":[ 27 | "shell","leather","bone","meat", 28 | ], 29 | "soul_prefix":["lesser","mundane","simple"], 30 | "soul_rarity":-1, 31 | "race": "beast", 32 | }, 33 | } 34 | -------------------------------------------------------------------------------- /data/items/attributes/force.json: -------------------------------------------------------------------------------- 1 | { 2 | "force": [ 3 | { 4 | "singular": "storm", 5 | "plural": "storms", 6 | "adjective": "devastating", 7 | "suffix": "of Storms", 8 | }, 9 | { 10 | "singular": "earthquake", 11 | "plural": "earthquakes", 12 | "adjective": "ground shaking", 13 | "suffix": "of Earthquakes", 14 | }, 15 | { 16 | "singular": "flashflood", 17 | "adjective": "destructive", 18 | "suffix": "of Flashfloods", 19 | }, 20 | { 21 | "singular": "apocalypse", 22 | "adjective": "apocalyptic", 23 | "suffix": "of Apocalypse", 24 | }, 25 | { 26 | "singular": "annihilation", 27 | "adjective": "annihilating", 28 | "suffix": "of Annihilation", 29 | }, 30 | { 31 | "singular": "world's end", 32 | "adjective": "ultimate", 33 | "suffix": "of the End", 34 | }, 35 | ], 36 | } 37 | -------------------------------------------------------------------------------- /data/guilds/subject/adventure.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "adventure", 3 | "prefixes": [ 4 | "adventure", "explorer", "scout" 5 | ], 6 | "ranks": { 7 | "0": [ 8 | "copper" 9 | ], 10 | "1": [ 11 | "tin" 12 | ], 13 | "2": [ 14 | "bronze" 15 | ], 16 | "3": [ 17 | "iron" 18 | ], 19 | "4": [ 20 | "steel" 21 | ], 22 | "5": [ 23 | "tungsten", 24 | "chromium" 25 | ], 26 | "6": [ 27 | "silver" 28 | ], 29 | "7": [ 30 | "gold" 31 | ], 32 | "8": [ 33 | "titanium", 34 | "platinum" 35 | ], 36 | "9": [ 37 | "mithril", 38 | "admanite" 39 | ] 40 | }, 41 | "relics": [ 42 | "artifact" 43 | ], 44 | "abilities": [ 45 | ], 46 | "exp_gain": { 47 | "exploration": 40, 48 | "quest": 10 49 | }, 50 | "tags": [ 51 | "quests", 52 | "exploration", 53 | "salvation", 54 | "versatility" 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: "[BUG]" 5 | labels: bug 6 | assignees: fenix-hub 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. Windows] 28 | - Godot Engine Version [e.g. 3.2.3rc6] 29 | - Plugin Version [e.g. v1.7.0] 30 | 31 | **Additional context** 32 | Add any other context about the problem here. 33 | -------------------------------------------------------------------------------- /data/guilds/subject/worship.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "worship", 3 | "prefixes": [ 4 | "holy", "celestial", "divine" 5 | ], 6 | "ranks": { 7 | "0": [ 8 | "layman" 9 | ], 10 | "1": [ 11 | "apprentice" 12 | ], 13 | "2": [ 14 | "novice" 15 | ], 16 | "3": [ 17 | "preacher" 18 | ], 19 | "4": [ 20 | "cleric" 21 | ], 22 | "5": [ 23 | "priest" 24 | ], 25 | "6": [ 26 | "missionary" 27 | ], 28 | "7": [ 29 | "inquisitor" 30 | ], 31 | "8": [ 32 | "saint" 33 | ], 34 | "9": [ 35 | "angel" 36 | ] 37 | }, 38 | "relics": [ 39 | "idol" 40 | ], 41 | "abilities": [ 42 | "celestial_magic", 43 | "defensive_magic", 44 | "healing", 45 | "summoning" 46 | ], 47 | "exp_gain": { 48 | "heal": 4, 49 | "buff": 1, 50 | "summon": 1, 51 | }, 52 | "tags": [ 53 | "worship", 54 | "gods", 55 | "light" 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /data/items/attributes/crime.json: -------------------------------------------------------------------------------- 1 | { 2 | "crime": [ 3 | { 4 | "singular": "murder", 5 | "plural": "murders", 6 | "adjective": "murderous", 7 | "suffix": "of Murder", 8 | }, 9 | { 10 | "singular": "genocide", 11 | "plural": "genocides", 12 | "adjective": "genocidal", 13 | "suffix": "of Genocide", 14 | }, 15 | { 16 | "singular": "trespassing", 17 | "plural": "tresspassings", 18 | "adjective": "trespassing", 19 | }, 20 | { 21 | "singular": "stealing", 22 | "plural": "thefts", 23 | "adjective": "stealing", 24 | "suffix": "of Theft", 25 | }, 26 | { 27 | "singular": "tyranny", 28 | "plural": "tyrannies", 29 | "adjective": "tyrannic", 30 | "suffix": "of Tyranny", 31 | }, 32 | { 33 | "singular": "terrorism", 34 | "plural": "terrorist attacks", 35 | "adjective": "terrorising", 36 | }, 37 | ], 38 | } 39 | -------------------------------------------------------------------------------- /data/gods/domains/non_existance.json: -------------------------------------------------------------------------------- 1 | { 2 | "absence": { 3 | "name": "absence", 4 | "title": [ 5 | "Absence", 6 | "Missing" 7 | ], 8 | "prefix": [ 9 | "Absent", 10 | "Missing" 11 | ], 12 | "suffix": [ 13 | "who Is Absent" 14 | ], 15 | "tags": [ 16 | ] 17 | }, 18 | "void": { 19 | "name": "void", 20 | "title": [ 21 | "Void", 22 | "Vacuum" 23 | ], 24 | "prefix": [ 25 | "Non-Existing", 26 | "Voidborn" 27 | ], 28 | "suffix": [ 29 | "of Void", 30 | "Consumed by the Void" 31 | ], 32 | "tags": [ 33 | "vile", 34 | "mysterious" 35 | ] 36 | }, 37 | "null": { 38 | "name": "null", 39 | "title": [ 40 | "Null", 41 | "Null Device" 42 | ], 43 | "prefix": [ 44 | "Null" 45 | ], 46 | "suffix": [ 47 | "of Null", 48 | "of Null Pointers" 49 | ], 50 | "tags": [ 51 | "android" 52 | ] 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /data/guilds/subject/hunt.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hunt", 3 | "prefixes": [ 4 | "hunter", "woodsman" 5 | ], 6 | "ranks": { 7 | "0": [ 8 | "rookie" 9 | ], 10 | "1": [ 11 | "greenhorn" 12 | ], 13 | "2": [ 14 | "trainee" 15 | ], 16 | "3": [ 17 | "scout" 18 | ], 19 | "4": [ 20 | "pathfinder" 21 | ], 22 | "5": [ 23 | "woodsman" 24 | ], 25 | "6": [ 26 | "hunter" 27 | ], 28 | "7": [ 29 | "predator" 30 | ], 31 | "8": [ 32 | "slayer" 33 | ], 34 | "9": [ 35 | "legend" 36 | ] 37 | }, 38 | "relics": [ 39 | "idol" 40 | ], 41 | "abilities": [ 42 | "archery", 43 | "gun_slinging", 44 | "evasion", 45 | "trapping", 46 | "cooking" 47 | ], 48 | "exp_gain": { 49 | "hit": 1, 50 | "cook": 20, 51 | "trap": 4, 52 | }, 53 | "tags": [ 54 | "hunt", 55 | "trapping", 56 | "archery", 57 | "dexterity" 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /data/guilds/subject/crafting.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "crafting", 3 | "prefixes": [ 4 | "crafter" 5 | ], 6 | "ranks": { 7 | "0": [ 8 | "apprentice" 9 | ], 10 | "1": [ 11 | "novice" 12 | ], 13 | "2": [ 14 | "fellow" 15 | ], 16 | "3": [ 17 | "journeyman" 18 | ], 19 | "4": [ 20 | "craftsman" 21 | ], 22 | "5": [ 23 | "professional" 24 | ], 25 | "6": [ 26 | "smith" 27 | ], 28 | "7": [ 29 | "artisan" 30 | ], 31 | "8": [ 32 | "master" 33 | ], 34 | "9": [ 35 | "legend" 36 | ] 37 | }, 38 | "relics": [ 39 | "banner" 40 | ], 41 | "abilities": [ 42 | "weapon_smithing", 43 | "armour_smithing", 44 | "woodwork", 45 | "tayloring" 46 | ], 47 | "exp_gain": { 48 | "loot": 2, 49 | "craft": 6, 50 | }, 51 | "tags": [ 52 | "crafting", 53 | "equipment", 54 | "materials", 55 | "weapons", 56 | "armour" 57 | ] 58 | } 59 | -------------------------------------------------------------------------------- /data/guilds/subject/research.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "research", 3 | "prefixes": [ 4 | "science", "research", 5 | ], 6 | "ranks": { 7 | "0": [ 8 | "amateur" 9 | ], 10 | "1": [ 11 | "trainee" 12 | ], 13 | "2": [ 14 | "student" 15 | ], 16 | "3": [ 17 | "librarian" 18 | ], 19 | "4": [ 20 | "PhD" 21 | ], 22 | "5": [ 23 | "instructor" 24 | ], 25 | "6": [ 26 | "lecturer" 27 | ], 28 | "7": [ 29 | "PI" 30 | ], 31 | "8": [ 32 | "professor" 33 | ], 34 | "9": [ 35 | "genius" 36 | ] 37 | }, 38 | "relics": [ 39 | "core" 40 | ], 41 | "abilities": [ 42 | "alchemy", 43 | "enchanting", 44 | "soul_binding", 45 | "gun_slinging", 46 | ], 47 | "exp_gain": { 48 | "identify": 30, 49 | "harvest": 1, 50 | "alchemy": 6, 51 | }, 52 | "tags": [ 53 | "research", 54 | "technology", 55 | "alchemy", 56 | "enchanting" 57 | ] 58 | } 59 | -------------------------------------------------------------------------------- /gui/guild_test.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://63fg3wc77184"] 2 | 3 | [ext_resource type="Script" uid="uid://dv5h4wrtgqn6c" path="res://gui/guild_test.gd" id="1_q2010"] 4 | 5 | [node name="Control" type="Control"] 6 | layout_mode = 3 7 | anchors_preset = 15 8 | anchor_right = 1.0 9 | anchor_bottom = 1.0 10 | grow_horizontal = 2 11 | grow_vertical = 2 12 | script = ExtResource("1_q2010") 13 | 14 | [node name="RichTextLabel" type="RichTextLabel" parent="."] 15 | layout_mode = 1 16 | anchors_preset = -1 17 | anchor_right = 0.5 18 | anchor_bottom = 1.0 19 | grow_horizontal = 2 20 | grow_vertical = 2 21 | scroll_following = true 22 | 23 | [node name="RichTextLabel2" type="RichTextLabel" parent="."] 24 | layout_mode = 1 25 | anchors_preset = -1 26 | anchor_left = 0.5 27 | anchor_right = 1.0 28 | anchor_bottom = 1.0 29 | grow_horizontal = 2 30 | grow_vertical = 2 31 | scroll_following = true 32 | -------------------------------------------------------------------------------- /gui/main/scripts/weapon_preference.gd: -------------------------------------------------------------------------------- 1 | extends Panel 2 | class_name WeaponPreferencePanel 3 | 4 | var character_settings: Characters.CharacterSettings 5 | 6 | 7 | func update(): 8 | ($VBoxContainer/CheckBoxMelee as CheckBox).set_pressed_no_signal( 9 | "melee" in character_settings.valid_weapon_types) 10 | ($VBoxContainer/CheckBoxRanged as CheckBox).set_pressed_no_signal( 11 | "ranged" in character_settings.valid_weapon_types) 12 | ($VBoxContainer/CheckBoxMagic as CheckBox).set_pressed_no_signal( 13 | "magic" in character_settings.valid_weapon_types) 14 | ($VBoxContainer/CheckBoxShield as CheckBox).set_pressed_no_signal( 15 | "shield" in character_settings.valid_weapon_types) 16 | ($VBoxContainer/CheckBox1h as CheckBox).set_pressed_no_signal( 17 | character_settings.weapon_1h_alowed) 18 | ($VBoxContainer/CheckBox2h as CheckBox).set_pressed_no_signal( 19 | character_settings.weapon_2h_alowed) 20 | -------------------------------------------------------------------------------- /data/guilds/subject/thief.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "thief", 3 | "prefixes": [ 4 | "thief", "crime", "pirate" 5 | ], 6 | "ranks": { 7 | "0": [ 8 | "rascal" 9 | ], 10 | "1": [ 11 | "swindler" 12 | ], 13 | "2": [ 14 | "crook" 15 | ], 16 | "3": [ 17 | "trickster" 18 | ], 19 | "4": [ 20 | "cutthroat" 21 | ], 22 | "5": [ 23 | "thief" 24 | ], 25 | "6": [ 26 | "burglar" 27 | ], 28 | "7": [ 29 | "rogue" 30 | ], 31 | "8": [ 32 | "phantom", 33 | "apparition" 34 | ], 35 | "9": [ 36 | "assassin" 37 | ] 38 | }, 39 | "relics": [ 40 | "relic" 41 | ], 42 | "abilities": [ 43 | "dirty_fighting", 44 | "brawling", 45 | "evasion", 46 | "trapping" 47 | ], 48 | "exp_gain": { 49 | "loot": 4, 50 | "debuff": 2, 51 | "attack": 1, 52 | }, 53 | "tags": [ 54 | "theft", 55 | "looting", 56 | "gold", 57 | "cunning", 58 | "darkness" 59 | ] 60 | } 61 | -------------------------------------------------------------------------------- /images/gui/paper.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://b78hnhrtssfg1" 6 | path="res://.godot/imported/paper.png-e84c86cd8aec1fae2eb8052466d8c275.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/paper.png" 14 | dest_files=["res://.godot/imported/paper.png-e84c86cd8aec1fae2eb8052466d8c275.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /data/enemies/elves/elf.json: -------------------------------------------------------------------------------- 1 | { 2 | "elf":{ 3 | "base_name":["elf"], 4 | "lesser_prefix":["weak","young","pacifist"], 5 | "greater_prefix":["strong","elite","fierce"], 6 | "base_stats":{ 7 | "strength":8, 8 | "constitution":8, 9 | "dexterity":11, 10 | "intelligence":9, 11 | "wisdom":9, 12 | "cunning":6, 13 | }, 14 | "attributes":{ 15 | "attack":15, 16 | "magic":15, 17 | "willpower":10, 18 | "armour":10, 19 | "evasion":15, 20 | "accuracy":15, 21 | "penetration":0, 22 | "speed":0, 23 | "critical":4, 24 | }, 25 | "abilities":["light_weapons","archery","nature_magic","healing","evasion"], 26 | "exp":20, 27 | "equipment_drop_chance":0.3, 28 | "equipment_enchantment_chance":0.1, 29 | "equipment_quality":1.0, 30 | "soul_prefix":["mundane","common","unremarkable"], 31 | "soul_rarity":1, 32 | "soul_add":{ 33 | "magic":1, 34 | }, 35 | "race": "elf", 36 | }, 37 | } 38 | -------------------------------------------------------------------------------- /data/tilesets/farm.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://b2agk1ffpxnal" 6 | path="res://.godot/imported/farm.png-4964021066eeca5fd7123798e664fbfd.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://data/tilesets/farm.png" 14 | dest_files=["res://.godot/imported/farm.png-4964021066eeca5fd7123798e664fbfd.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /images/gui/paper.webp.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://b5p4f12mpodhd" 6 | path="res://.godot/imported/paper.webp-963e2e152a43d5dc68e2e0597f993647.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/paper.webp" 14 | dest_files=["res://.godot/imported/paper.webp-963e2e152a43d5dc68e2e0597f993647.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /models/ability.gd: -------------------------------------------------------------------------------- 1 | extends RefCounted 2 | class_name Ability 3 | 4 | var name: String 5 | var level: int 6 | var experience: int 7 | 8 | 9 | func add_exp(add_experience: int) -> bool: 10 | self.experience += add_experience 11 | if self.experience > self.get_max_exp(): 12 | self.level_up() 13 | return true 14 | return false 15 | 16 | func level_up(): 17 | var max_exp := self.get_max_exp() 18 | self.level += 1 19 | self.experience -= max_exp 20 | 21 | func get_max_exp() -> int: 22 | return 100 + 75 * self.level + 25 * self.level * self.level 23 | 24 | 25 | func _init(dict: Dictionary) -> void: 26 | self.name = dict.get("name", "unknown") as String 27 | self.level = dict.get("level", 1) as int 28 | self.experience = dict.get("experience", 0) as int 29 | 30 | func to_dict() -> Dictionary[String, Variant]: 31 | return { 32 | "name": self.name, 33 | "level": self.level, 34 | "experience": self.experience, 35 | } 36 | -------------------------------------------------------------------------------- /data/enemies/halflings/halfling.json: -------------------------------------------------------------------------------- 1 | { 2 | "halfling":{ 3 | "base_name":["halfling"], 4 | "lesser_prefix":["weak","tiny","small"], 5 | "greater_prefix":["strong","elite","fierce"], 6 | "base_stats":{ 7 | "strength":9, 8 | "constitution":9, 9 | "dexterity":12, 10 | "intelligence":6, 11 | "wisdom":6, 12 | "cunning":10, 13 | }, 14 | "attributes":{ 15 | "attack":15, 16 | "magic":0, 17 | "willpower":6, 18 | "armour":15, 19 | "evasion":15, 20 | "accuracy":20, 21 | "penetration":5, 22 | "speed":0, 23 | "critical":5, 24 | }, 25 | "abilities":["light_weapons","dirty_fighting","evasion"], 26 | "exp":20, 27 | "equipment_drop_chance":0.3, 28 | "equipment_enchantment_chance":0.1, 29 | "equipment_quality":1.0, 30 | "soul_prefix":["mundane","common","unremarkable"], 31 | "soul_rarity":1, 32 | "soul_add":{ 33 | "evasion":1, 34 | }, 35 | "race": "halfling", 36 | }, 37 | } 38 | -------------------------------------------------------------------------------- /data/tilesets/cities.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://b38sphh1r07ee" 6 | path="res://.godot/imported/cities.png-e7d04ee91aeb551f88c02282d6732f8b.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://data/tilesets/cities.png" 14 | dest_files=["res://.godot/imported/cities.png-e7d04ee91aeb551f88c02282d6732f8b.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /data/tilesets/dunes.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cncjactbf8gbe" 6 | path="res://.godot/imported/dunes.png-9523c04a0544aa9eb43b1f1b442a59eb.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://data/tilesets/dunes.png" 14 | dest_files=["res://.godot/imported/dunes.png-9523c04a0544aa9eb43b1f1b442a59eb.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /data/tilesets/forest.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://6ngo8di2qba1" 6 | path="res://.godot/imported/forest.png-ef1aec56395968dc6f86a8c6fc3b85ad.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://data/tilesets/forest.png" 14 | dest_files=["res://.godot/imported/forest.png-ef1aec56395968dc6f86a8c6fc3b85ad.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /data/tilesets/hills.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://b07y1hc4qh6ow" 6 | path="res://.godot/imported/hills.png-04ea9df750e256236eae10398c5c7491.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://data/tilesets/hills.png" 14 | dest_files=["res://.godot/imported/hills.png-04ea9df750e256236eae10398c5c7491.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /data/tilesets/pines.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c1xa5rw1mi4em" 6 | path="res://.godot/imported/pines.png-9ad08ed2e2e830b54ea1df00f1998b4e.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://data/tilesets/pines.png" 14 | dest_files=["res://.godot/imported/pines.png-9ad08ed2e2e830b54ea1df00f1998b4e.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /data/tilesets/water.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cmoi5f5ksy74j" 6 | path="res://.godot/imported/water.png-25d883e5637b7447ea675e701f7a8bd9.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://data/tilesets/water.png" 14 | dest_files=["res://.godot/imported/water.png-25d883e5637b7447ea675e701f7a8bd9.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /data/items/attributes/craftsmanship.json: -------------------------------------------------------------------------------- 1 | { 2 | "craftmanship": [ 3 | { 4 | "singular": "amateur", 5 | "adjective": "amateurish", 6 | "adverb": "amateurishly", 7 | }, 8 | { 9 | "singular": "unskilled craftman", 10 | "adjective": "thoughtless", 11 | "adverb": "thoughtlessly", 12 | }, 13 | { 14 | "singular": "novice craftman", 15 | "adjective": "acceptable", 16 | "adverb": "acceptably", 17 | }, 18 | { 19 | "singular": "professional", 20 | "adjective": "professional", 21 | "adverb": "professionally", 22 | }, 23 | { 24 | "singular": "experienced craftman", 25 | "adjective": "inspiring", 26 | "adverb": "skillfully", 27 | }, 28 | { 29 | "singular": "skilled craftman", 30 | "adjective": "skillful", 31 | "adverb": "skillfully", 32 | }, 33 | { 34 | "singular": "legendary craftman", 35 | "adjective": "legendary", 36 | "adverb": "legendaryly", 37 | }, 38 | ], 39 | } 40 | -------------------------------------------------------------------------------- /data/tilesets/vulcano.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bu5843byioeol" 6 | path="res://.godot/imported/vulcano.png-5e054188a929584761b0b2256d5b4726.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://data/tilesets/vulcano.png" 14 | dest_files=["res://.godot/imported/vulcano.png-5e054188a929584761b0b2256d5b4726.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /data/guilds/subject/battle.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "battle", 3 | "prefixes": [ 4 | "fighter", "battle", "strife", "brawler" 5 | ], 6 | "ranks": { 7 | "0": [ 8 | "greenhorn" 9 | ], 10 | "1": [ 11 | "brawler" 12 | ], 13 | "2": [ 14 | "combatant", 15 | "fighter" 16 | ], 17 | "3": [ 18 | "battler" 19 | ], 20 | "4": [ 21 | "challenger" 22 | ], 23 | "5": [ 24 | "grand_master" 25 | ], 26 | "6": [ 27 | "champion" 28 | ], 29 | "7": [ 30 | "warlord" 31 | ], 32 | "8": [ 33 | "titan" 34 | ], 35 | "9": [ 36 | "legend" 37 | ] 38 | }, 39 | "relics": [ 40 | "banner" 41 | ], 42 | "abilities": [ 43 | "light_weapons", 44 | "heavy_weapons", 45 | "brawling", 46 | "shield", 47 | "armour" 48 | ], 49 | "exp_gain": { 50 | "attack": 1, 51 | "kill": 4 52 | }, 53 | "tags": [ 54 | "combat", 55 | "strength", 56 | "brutality", 57 | "weapons", 58 | "armour" 59 | ] 60 | } 61 | -------------------------------------------------------------------------------- /data/guilds/subject/magic.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "magic", 3 | "prefixes": [ 4 | "mage", "arcane", 5 | ], 6 | "ranks": { 7 | "0": [ 8 | "amateur" 9 | ], 10 | "1": [ 11 | "apprentice" 12 | ], 13 | "2": [ 14 | "novice" 15 | ], 16 | "3": [ 17 | "spell_caster", 18 | "spell_slinger" 19 | ], 20 | "4": [ 21 | "wizard" 22 | ], 23 | "5": [ 24 | "mage" 25 | ], 26 | "6": [ 27 | "sage" 28 | ], 29 | "7": [ 30 | "gifted" 31 | ], 32 | "8": [ 33 | "master" 34 | ], 35 | "9": [ 36 | "legend" 37 | ] 38 | }, 39 | "relics": [ 40 | "crystal", 41 | ], 42 | "abilities": [ 43 | "elemental_magic", 44 | "nature_magic", 45 | "defensive_magic", 46 | "enchanting", 47 | "necromancy" 48 | ], 49 | "exp_gain": { 50 | "enchant": 6, 51 | "hit": 1, 52 | "buff": 1, 53 | "summon": 1 54 | }, 55 | "tags": [ 56 | "magic", 57 | "elemental", 58 | "nature", 59 | "intelligence" 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /data/items/texts/addition.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "type": "addition", 4 | "sentence":[ 5 | ], 6 | "text": [ 7 | "like {stains.plural} on {theme.singular}", 8 | ], 9 | "required": [ 10 | "stains", 11 | "theme", 12 | ], 13 | "remove": [ 14 | "stains", 15 | ], 16 | "transition": [ 17 | "sentence_end", 18 | ], 19 | }, 20 | { 21 | "type": "addition", 22 | "sentence":[ 23 | ], 24 | "text": [ 25 | "like {color.adjective} {theme.singular}", 26 | ], 27 | "required": [ 28 | "color", 29 | "theme", 30 | ], 31 | "remove": [ 32 | "theme", 33 | ], 34 | "transition": [ 35 | "sentence_end", 36 | ], 37 | }, 38 | { 39 | "type": "addition", 40 | "sentence":[ 41 | ], 42 | "text": [ 43 | "with {force.adjective} force", 44 | ], 45 | "required": [ 46 | "force", 47 | ], 48 | "remove": [ 49 | "force", 50 | ], 51 | "transition": [ 52 | "sentence_end", 53 | ], 54 | }, 55 | ] 56 | -------------------------------------------------------------------------------- /data/tilesets/mountains.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bg2w68v8et6i" 6 | path="res://.godot/imported/mountains.png-14b1d8a9966f674f581eef648bd22c11.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://data/tilesets/mountains.png" 14 | dest_files=["res://.godot/imported/mountains.png-14b1d8a9966f674f581eef648bd22c11.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /data/enemies/dwarfs/dwarf.json: -------------------------------------------------------------------------------- 1 | { 2 | "dwarf":{ 3 | "base_name":["dwarf","hammerdwarf","dwarven fighter"], 4 | "lesser_prefix":["weak","tiny","small"], 5 | "greater_prefix":["sturdy","elite","fierce"], 6 | "base_stats":{ 7 | "strength":13, 8 | "constitution":13, 9 | "dexterity":8, 10 | "intelligence":6, 11 | "wisdom":6, 12 | "cunning":6, 13 | }, 14 | "attributes":{ 15 | "attack":20, 16 | "magic":0, 17 | "willpower":10, 18 | "armour":20, 19 | "evasion":10, 20 | "accuracy":10, 21 | "penetration":0, 22 | "speed":0, 23 | "critical":10, 24 | }, 25 | "abilities":["heavy_weapons","brawling","shield","armour"], 26 | "exp":20, 27 | "equipment_drop_chance":0.3, 28 | "equipment_enchantment_chance":0.1, 29 | "equipment_quality":1.0, 30 | "soul_prefix":["mundane","common","unremarkable"], 31 | "soul_rarity":1, 32 | "soul_add":{ 33 | "armour":1, 34 | }, 35 | "race": "dwarf", 36 | }, 37 | } 38 | -------------------------------------------------------------------------------- /data/enemies/humans/human.json: -------------------------------------------------------------------------------- 1 | { 2 | "human":{ 3 | "base_name":["swordsman","human"], 4 | "lesser_prefix":["weak","pathetic","unexperienced"], 5 | "greater_prefix":["strong","elite","fierce"], 6 | "base_stats":{ 7 | "strength":12, 8 | "constitution":12, 9 | "dexterity":10, 10 | "intelligence":6, 11 | "wisdom":8, 12 | "cunning":8, 13 | }, 14 | "attributes":{ 15 | "attack":20, 16 | "magic":0, 17 | "willpower":4, 18 | "armour":18, 19 | "evasion":10, 20 | "accuracy":15, 21 | "penetration":0, 22 | "speed":-1, 23 | "critical":1, 24 | }, 25 | "abilities":["light_weapons","heavy_weapons","evasion","armour"], 26 | "exp":20, 27 | "equipment_drop_chance":0.3, 28 | "equipment_enchantment_chance":0.1, 29 | "equipment_quality":1.0, 30 | "soul_prefix":["mundane","common","unremarkable"], 31 | "soul_rarity":1, 32 | "soul_add":{ 33 | "willpower":1, 34 | }, 35 | "race": "human", 36 | }, 37 | } 38 | -------------------------------------------------------------------------------- /models/location.gd: -------------------------------------------------------------------------------- 1 | extends RefCounted 2 | class_name Location 3 | 4 | var name: String 5 | var type: String 6 | var enemies: Array[String] 7 | var resources: Array[String] 8 | var materials: Array[String] 9 | 10 | func _init(dict: Dictionary[String, Variant]) -> void: 11 | self.name = dict.get("name", "region") as String 12 | self.type = dict.get("type", "unknown") as String 13 | self.enemies = [] 14 | for enemy in dict.get("enemies", []): 15 | self.enemies.push_back(String(enemy)) 16 | self.resources = [] 17 | for resource in dict.get("resources", []): 18 | self.resources.push_back(String(resource)) 19 | self.materials = [] 20 | for material in dict.get("materials", []): 21 | self.materials.push_back(String(material)) 22 | 23 | func to_dict() -> Dictionary[String, Variant]: 24 | return { 25 | "name": self.name, 26 | "type": self.type, 27 | "enemies": self.enemies, 28 | "resources": self.resources, 29 | "materials": self.materials, 30 | } 31 | -------------------------------------------------------------------------------- /images/gui/transparent_pixel.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://rsq30f81bquw" 6 | path="res://.godot/imported/transparent_pixel.png-19899bf7068f69e8c6d99ef3b14ac703.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/transparent_pixel.png" 14 | dest_files=["res://.godot/imported/transparent_pixel.png-19899bf7068f69e8c6d99ef3b14ac703.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /images/gui/black_rectangle_16.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dtgblnp2uvyls" 6 | path="res://.godot/imported/black_rectangle_16.png-23ffa47ad51047ed54a8667817045368.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/black_rectangle_16.png" 14 | dest_files=["res://.godot/imported/black_rectangle_16.png-23ffa47ad51047ed54a8667817045368.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /images/gui/black_rectangle_32.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://b00lnbwhkim45" 6 | path="res://.godot/imported/black_rectangle_32.png-75ee619a6f5874e1c66a40a81644b82b.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/black_rectangle_32.png" 14 | dest_files=["res://.godot/imported/black_rectangle_32.png-75ee619a6f5874e1c66a40a81644b82b.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /icon.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://fbi8rbtbj6hr" 6 | path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://icon.svg" 14 | dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/sea.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dsjv16pnm1jyk" 6 | path="res://.godot/imported/sea.svg-1dd4ae02ee926537936331a0c559af18.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/sea.svg" 14 | dest_files=["res://.godot/imported/sea.svg-1dd4ae02ee926537936331a0c559af18.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/cave.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://buqyd0fsl3wrj" 6 | path="res://.godot/imported/cave.svg-9a6fd2ada65055db11581f69c07a4068.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/cave.svg" 14 | dest_files=["res://.godot/imported/cave.svg-9a6fd2ada65055db11581f69c07a4068.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/tent.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dyrmsit2lesp0" 6 | path="res://.godot/imported/tent.svg-d2c34003138b68d0d5638354daa98c8b.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/tent.svg" 14 | dest_files=["res://.godot/imported/tent.svg-d2c34003138b68d0d5638354daa98c8b.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/tree.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bv4p0x306vn05" 6 | path="res://.godot/imported/tree.svg-03a0e65b19defe5bd94ae4133eeb6b2f.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/tree.svg" 14 | dest_files=["res://.godot/imported/tree.svg-03a0e65b19defe5bd94ae4133eeb6b2f.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/cloud.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cjfdmdxf0ewi5" 6 | path="res://.godot/imported/cloud.svg-9d09788772a21f67157998c4731d2b01.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/cloud.svg" 14 | dest_files=["res://.godot/imported/cloud.svg-9d09788772a21f67157998c4731d2b01.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/coast.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bmyd63eadjvdp" 6 | path="res://.godot/imported/coast.svg-b25d09741992072985ed4103ec2add94.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/coast.svg" 14 | dest_files=["res://.godot/imported/coast.svg-b25d09741992072985ed4103ec2add94.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/dunes.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://04w7u3pvgsvc" 6 | path="res://.godot/imported/dunes.svg-d22af87c3424d281dd1eace2d8f04424.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/dunes.svg" 14 | dest_files=["res://.godot/imported/dunes.svg-d22af87c3424d281dd1eace2d8f04424.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/field.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://g4ij6ykixpor" 6 | path="res://.godot/imported/field.svg-dc4e572343d626ba48e17536110c65d3.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/field.svg" 14 | dest_files=["res://.godot/imported/field.svg-dc4e572343d626ba48e17536110c65d3.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/house.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://ofnjrxwgqikj" 6 | path="res://.godot/imported/house.svg-a1b481a75a921f4aff0ce3075d21f0a2.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/house.svg" 14 | dest_files=["res://.godot/imported/house.svg-a1b481a75a921f4aff0ce3075d21f0a2.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/river.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bs3x542yuvvhu" 6 | path="res://.godot/imported/river.svg-da07dd3d62a88431a216015a69096984.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/river.svg" 14 | dest_files=["res://.godot/imported/river.svg-da07dd3d62a88431a216015a69096984.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/swamp.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bg4na4bieewj1" 6 | path="res://.godot/imported/swamp.svg-be3a9386fc3d978f1e7234346e32850f.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/swamp.svg" 14 | dest_files=["res://.godot/imported/swamp.svg-be3a9386fc3d978f1e7234346e32850f.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/tower.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://crg3blkxqmu2r" 6 | path="res://.godot/imported/tower.svg-9efdc87b2f14605675ed69316763cb12.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/tower.svg" 14 | dest_files=["res://.godot/imported/tower.svg-9efdc87b2f14605675ed69316763cb12.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/icons/chart.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://daweldqfvj4c" 6 | path="res://.godot/imported/chart.svg-1b22b18f55f52b32242f64c8ff222e26.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/icons/chart.svg" 14 | dest_files=["res://.godot/imported/chart.svg-1b22b18f55f52b32242f64c8ff222e26.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /data/enemies/undead/zombie.json: -------------------------------------------------------------------------------- 1 | { 2 | "zombie":{ 3 | "base_name":["zombie"], 4 | "lesser_prefix":["weak","hobbling","rotten","decomposing","half"], 5 | "greater_prefix":["fresh","strong","super"], 6 | "base_stats":{ 7 | "strength":7, 8 | "constitution":5, 9 | "dexterity":4, 10 | "intelligence":4, 11 | "wisdom":4, 12 | "cunning":2, 13 | }, 14 | "attributes":{ 15 | "attack":10, 16 | "magic":10, 17 | "willpower":-2, 18 | "armour":2, 19 | "evasion":0, 20 | "accuracy":5, 21 | "penetration":5, 22 | "speed":0, 23 | "critical":-2, 24 | }, 25 | "resistance":{ 26 | "poison":0.5, 27 | "light":-0.5, 28 | "darkness":0.25, 29 | }, 30 | "abilities":["claws"], 31 | "equipment_drop_chance":0.1, 32 | "equipment_enchantment_chance":0.1, 33 | "equipment_quality":0.75, 34 | "materials":[ 35 | "bone","skin","nail","insistine","meat","hair","parchment", 36 | ], 37 | "soul_prefix":["etheral","ephemeral","tenuous"], 38 | "soul_rarity":-1, 39 | "race": "undead", 40 | }, 41 | } 42 | -------------------------------------------------------------------------------- /images/gui/castle.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bu77itwf0fxga" 6 | path="res://.godot/imported/castle.svg-717e1218e4260ea88bc2328918b7c5bb.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/castle.svg" 14 | dest_files=["res://.godot/imported/castle.svg-717e1218e4260ea88bc2328918b7c5bb.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/dungeon.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bw3ejpytykron" 6 | path="res://.godot/imported/dungeon.svg-4c0c6cfe73c89ffd5ca5b06112a22517.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/dungeon.svg" 14 | dest_files=["res://.godot/imported/dungeon.svg-4c0c6cfe73c89ffd5ca5b06112a22517.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/factory.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://ctg0g4qaqef4x" 6 | path="res://.godot/imported/factory.svg-b59af6c05006f727857786bb72f7b7b2.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/factory.svg" 14 | dest_files=["res://.godot/imported/factory.svg-b59af6c05006f727857786bb72f7b7b2.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/volcano.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c2cua5wwuhvc" 6 | path="res://.godot/imported/volcano.svg-ad8229b8d54663b72832427d78c7dc55.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/volcano.svg" 14 | dest_files=["res://.godot/imported/volcano.svg-ad8229b8d54663b72832427d78c7dc55.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/waiting.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://be6a3wwf20ybd" 6 | path="res://.godot/imported/waiting.svg-e30d773211c57e337e08e38eb207f9b6.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/waiting.svg" 14 | dest_files=["res://.godot/imported/waiting.svg-e30d773211c57e337e08e38eb207f9b6.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/mountain.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://ypglgvwt33v2" 6 | path="res://.godot/imported/mountain.svg-f887d2a937ecf2f13d6db64de361f3ec.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/mountain.svg" 14 | dest_files=["res://.godot/imported/mountain.svg-f887d2a937ecf2f13d6db64de361f3ec.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/icons/journal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cqjvar71exxv7" 6 | path="res://.godot/imported/journal.svg-25f4f176d8cc3a09cc0302152151ad0c.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/icons/journal.svg" 14 | dest_files=["res://.godot/imported/journal.svg-25f4f176d8cc3a09cc0302152151ad0c.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/icons/overview.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cics21jodet7p" 6 | path="res://.godot/imported/overview.svg-ca7e8258a2ec06b904870d08fc80bab3.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/icons/overview.svg" 14 | dest_files=["res://.godot/imported/overview.svg-ca7e8258a2ec06b904870d08fc80bab3.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/icons/settings.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dqsr4uq5f6ucf" 6 | path="res://.godot/imported/settings.svg-601d2f86f3057bfb0eb9c3efe9875d60.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/icons/settings.svg" 14 | dest_files=["res://.godot/imported/settings.svg-601d2f86f3057bfb0eb9c3efe9875d60.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/tomb_stone.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cdcwkts1m4tvk" 6 | path="res://.godot/imported/tomb_stone.svg-59ff5b8e803252c7c15160315d89923a.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/tomb_stone.svg" 14 | dest_files=["res://.godot/imported/tomb_stone.svg-59ff5b8e803252c7c15160315d89923a.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/icons/character.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://iydd5obvkaw5" 6 | path="res://.godot/imported/character.svg-9da2bda7527dbfc8cfc8562df32fe791.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/icons/character.svg" 14 | dest_files=["res://.godot/imported/character.svg-9da2bda7527dbfc8cfc8562df32fe791.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/icons/inventory.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bv3m1vsxft4up" 6 | path="res://.godot/imported/inventory.svg-974011a9c78adc18d126802acb1d9ed2.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/icons/inventory.svg" 14 | dest_files=["res://.godot/imported/inventory.svg-974011a9c78adc18d126802acb1d9ed2.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/arrows_right.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://2q6idpe7wgl5" 6 | path="res://.godot/imported/arrows_right.svg-1104f278a47ba5ae35946b186ab3ed28.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/arrows_right.svg" 14 | dest_files=["res://.godot/imported/arrows_right.svg-1104f278a47ba5ae35946b186ab3ed28.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /images/gui/floating_island.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://q3yjjxe15n1u" 6 | path="res://.godot/imported/floating_island.svg-9c289d139b94005f0df69e9c44740326.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://images/gui/floating_island.svg" 14 | dest_files=["res://.godot/imported/floating_island.svg-9c289d139b94005f0df69e9c44740326.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /data/enemies/undead/ghoul.json: -------------------------------------------------------------------------------- 1 | { 2 | "ghoul":{ 3 | "base_name":["ghoul"], 4 | "lesser_prefix":["weak","rotten","decomposing","hungry"], 5 | "greater_prefix":["fresh","strong","well fed"], 6 | "base_stats":{ 7 | "strength":9, 8 | "constitution":6, 9 | "dexterity":6, 10 | "intelligence":6, 11 | "wisdom":5, 12 | "cunning":4, 13 | }, 14 | "attributes":{ 15 | "attack":15, 16 | "magic":10, 17 | "willpower":4, 18 | "armour":4, 19 | "evasion":15, 20 | "accuracy":20, 21 | "penetration":10, 22 | "speed":-1, 23 | "critical":0, 24 | }, 25 | "resistance":{ 26 | "poison":0.5, 27 | "light":-0.5, 28 | "darkness":0.25, 29 | }, 30 | "abilities":["claws","toxic_bite","feral_impact_darkness_magic"], 31 | "exp":15, 32 | "equipment_drop_chance":0.1, 33 | "equipment_enchantment_chance":0.1, 34 | "equipment_quality":1.0, 35 | "materials":[ 36 | "skin","nail","insistine","meat","hair","parchment", 37 | ], 38 | "soul_prefix":["etheral","ephemeral","tenuous"], 39 | "soul_rarity":0, 40 | "race": "undead", 41 | }, 42 | } 43 | -------------------------------------------------------------------------------- /data/items/attributes/shape.json: -------------------------------------------------------------------------------- 1 | { 2 | "shape": [ 3 | { 4 | "singular": "ball", 5 | "plural": "balls", 6 | "adjective": "round", 7 | }, 8 | { 9 | "singular": "sphere", 10 | "plural": "spheres", 11 | "adjective": "spherical", 12 | }, 13 | { 14 | "singular": "cube", 15 | "plural": "cubes", 16 | "adjective": "cubic", 17 | }, 18 | { 19 | "singular": "triangle", 20 | "plural": "triangles", 21 | "adjective": "triangular", 22 | }, 23 | { 24 | "singular": "rectangle", 25 | "plural": "rectangles", 26 | "adjective": "rectangular", 27 | }, 28 | { 29 | "singular": "pentagon", 30 | "plural": "pentagons", 31 | "adjective": "pentagonal", 32 | }, 33 | { 34 | "singular": "hexagon", 35 | "plural": "hexagons", 36 | "adjective": "hexagonal", 37 | "prefix": "Hexa", 38 | }, 39 | { 40 | "singular": "octagon", 41 | "plural": "octagons", 42 | "adjective": "octagonal", 43 | }, 44 | { 45 | "singular": "odd shape", 46 | "plural": "odd shapes", 47 | "adjective": "irregular", 48 | "prefix": "Odd", 49 | }, 50 | ], 51 | } 52 | -------------------------------------------------------------------------------- /data/enemies/beasts/sky_snake.json: -------------------------------------------------------------------------------- 1 | { 2 | "sky_snake":{ 3 | "base_name":["sky snake","air snake"], 4 | "lesser_prefix":["small","weak","dim"], 5 | "greater_prefix":["king","deadly","astral"], 6 | "abilities":["toxic_bite","feral_wind_magic","feral_cutting_wind_magic","evasion"], 7 | "base_stats":{ 8 | "strength":5, 9 | "constitution":7, 10 | "dexterity":12, 11 | "intelligence":10, 12 | "wisdom":9, 13 | "cunning":10, 14 | }, 15 | "attributes":{ 16 | "attack":10, 17 | "magic":16, 18 | "willpower":4, 19 | "armour":2, 20 | "evasion":10, 21 | "accuracy":18, 22 | "penetration":12, 23 | "speed":2, 24 | "critical":7, 25 | }, 26 | "resistance":{ 27 | "poison":0.25, 28 | "acid":0.25, 29 | "wind":0.5, 30 | "earth":-0.25, 31 | }, 32 | "exp":17, 33 | "materials":[ 34 | "leather","meat","fang","venom","scale", 35 | ], 36 | "soul_prefix":["lesser","mundane","floating"], 37 | "soul_rarity":-1, 38 | "soul_add":{ 39 | "resistance":{ 40 | "wind":0.05, 41 | }, 42 | "damage":{ 43 | "wind":0.05, 44 | }, 45 | }, 46 | "race": "beast", 47 | }, 48 | } 49 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Viktor Hahn 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /data/enemies/beasts/water_snake.json: -------------------------------------------------------------------------------- 1 | { 2 | "water_snake":{ 3 | "base_name":["water snake","sea snake"], 4 | "lesser_prefix":["small","weak","shallow"], 5 | "greater_prefix":["king","deadly","deep"], 6 | "abilities":["toxic_bite","feral_water_magic","feral_cutting_water_magic","evasion"], 7 | "base_stats":{ 8 | "strength":5, 9 | "constitution":7, 10 | "dexterity":12, 11 | "intelligence":9, 12 | "wisdom":10, 13 | "cunning":10, 14 | }, 15 | "attributes":{ 16 | "attack":10, 17 | "magic":15, 18 | "willpower":4, 19 | "armour":2, 20 | "evasion":8, 21 | "accuracy":20, 22 | "penetration":10, 23 | "speed":2, 24 | "critical":6, 25 | }, 26 | "resistance":{ 27 | "poison":0.25, 28 | "acid":0.25, 29 | "water":0.5, 30 | "ice":-0.25, 31 | }, 32 | "exp":15, 33 | "materials":[ 34 | "leather","meat","fang","venom","scale", 35 | ], 36 | "soul_prefix":["lesser","mundane","simple"], 37 | "soul_rarity":-1, 38 | "soul_add":{ 39 | "resistance":{ 40 | "water":0.05, 41 | }, 42 | "damage":{ 43 | "water":0.05, 44 | }, 45 | }, 46 | "race": "beast", 47 | }, 48 | } 49 | -------------------------------------------------------------------------------- /data/enemies/beasts/bat.json: -------------------------------------------------------------------------------- 1 | { 2 | "bat":{ 3 | "base_name":["bat"], 4 | "lesser_prefix":["tiny","small","confused"], 5 | "greater_prefix":["feral","huge","strong"], 6 | "abilities":["fangs","evasion"], 7 | "base_stats":{ 8 | "strength":4, 9 | "constitution":4, 10 | "dexterity":12, 11 | "intelligence":8, 12 | "wisdom":8, 13 | "cunning":6, 14 | }, 15 | "attributes":{ 16 | "attack":5, 17 | "magic":5, 18 | "willpower":-4, 19 | "armour":1, 20 | "evasion":10, 21 | "accuracy":18, 22 | "penetration":5, 23 | "speed":5, 24 | "critical":0, 25 | }, 26 | "resistance":{ 27 | "wind":-0.5, 28 | }, 29 | "variants":{ 30 | "default":{}, 31 | "vampiric":{ 32 | "name_prefix":["vampiric","blood-sucking"], 33 | "resistance":{ 34 | "darkness":0.25, 35 | }, 36 | "abilities":["draining_bite"], 37 | }, 38 | "fast":{ 39 | "name_prefix":["fast","agile"], 40 | "attributes":{ 41 | "armour":0, 42 | "speed":8, 43 | }, 44 | }, 45 | }, 46 | "materials":[ 47 | "fang","wing","claw" 48 | ], 49 | "soul_prefix":["lesser","mundane","simple"], 50 | "soul_rarity":-2, 51 | "race": "beast", 52 | }, 53 | } 54 | -------------------------------------------------------------------------------- /data/enemies/undead/lich.json: -------------------------------------------------------------------------------- 1 | { 2 | "lich":{ 3 | "base_name":["lich"], 4 | "lesser_prefix":["minor","lesser","weakened"], 5 | "greater_prefix":["ancient","greater","powerful"], 6 | "base_stats":{ 7 | "strength":6, 8 | "constitution":12, 9 | "dexterity":9, 10 | "intelligence":13, 11 | "wisdom":12, 12 | "cunning":12, 13 | }, 14 | "attributes":{ 15 | "attack":10, 16 | "magic":18, 17 | "willpower":16, 18 | "armour":4, 19 | "evasion":10, 20 | "accuracy":16, 21 | "penetration":8, 22 | "speed":0, 23 | "critical":8, 24 | }, 25 | "resistance":{ 26 | "acid":-0.25, 27 | "poison":0.5, 28 | "darkness":0.5, 29 | "light":-0.5, 30 | "ice":0.25, 31 | }, 32 | "abilities":["draining_bite","celestial_magic","elemental_magic","defensive_magic","feral_cutting_darkness_magic"], 33 | "exp":25, 34 | "equipment_drop_chance":0.25, 35 | "equipment_enchantment_chance":0.2, 36 | "equipment_quality":1.0, 37 | "materials":[ 38 | "ore","cloth","paper","parchment","dust","hair","bone","skin", 39 | ], 40 | "soul_prefix":["eternal","bound","ancient"], 41 | "soul_rarity":2, 42 | "soul_add":{ 43 | "mana_regen":2, 44 | }, 45 | "race": "undead", 46 | }, 47 | } 48 | -------------------------------------------------------------------------------- /gui/main/scripts/guilds.gd: -------------------------------------------------------------------------------- 1 | extends Panel 2 | 3 | var guild_lvl: Dictionary 4 | var guild_exp: Dictionary 5 | 6 | @onready var container:= $ScrollContainer/VBoxContainer 7 | 8 | func update(): 9 | for c in container.get_children(): 10 | c.hide() 11 | 12 | for i in range(guild_lvl.size()): 13 | var panel: Control 14 | var guild:= guild_lvl.keys()[i] as String 15 | var rank:= mini(guild_lvl.values()[i] / 25 * Items.RANK_COLORS.size(), Items.RANK_COLORS.size() - 1) 16 | if container.has_node("Guild" + str(i)): 17 | panel = container.get_node("Guild" + str(i)) as Control 18 | else: 19 | panel = (container.get_node("Guild0") as Control).duplicate() 20 | panel.name = "Guild" + str(i) 21 | container.add_child(panel) 22 | 23 | (panel.get_node("LabelName") as Label).text = tr(guild.to_upper()) 24 | (panel.get_node("LabelRank") as Label).text = Guilds.get_rank(guild_lvl.values()[i], guild) 25 | (panel.get_node("LabelRank") as Label).add_theme_color_override("font_color", Items.RANK_COLORS[rank]) 26 | (panel.get_node("LabelName/ExpBar") as ProgressBar).set_max(Guilds.get_max_exp(guild_lvl[guild])) 27 | (panel.get_node("LabelName/ExpBar") as ProgressBar).set_value(guild_exp[guild]) 28 | panel.show() 29 | -------------------------------------------------------------------------------- /data/skills/application/base.json: -------------------------------------------------------------------------------- 1 | { 2 | "rocket":{ 3 | "name":"rocket", 4 | "auto_naming_attack":{ 5 | "base":["bolt","blast","arrow","dart"] 6 | }, 7 | "auto_naming_healing":{ 8 | "base":["propellant","infusion","application"], 9 | }, 10 | "latent_damage_type":["impact"], 11 | "range":1, 12 | }, 13 | "beam":{ 14 | "name":"beam", 15 | "auto_naming":{ 16 | "base":["beam","jet","ray","arc"] 17 | }, 18 | "cost":{ 19 | "mana":2, 20 | }, 21 | "latent_damage_type":["light"], 22 | "range":1, 23 | "area":1, 24 | "cooldown":3.0, 25 | }, 26 | "chain":{ 27 | "name":"chain", 28 | "auto_naming":{ 29 | "prefix":["chain","spark"], 30 | }, 31 | "cost":{ 32 | "mana":1, 33 | }, 34 | "latent_damage_type":["lightning"], 35 | "damage_multiplier":-0.2, 36 | "healing_multiplier":-0.2, 37 | "range":1, 38 | "area":1, 39 | }, 40 | "explosion":{ 41 | "name":"explosion", 42 | "auto_naming_attack":{ 43 | "base":["flash","explosion"], 44 | }, 45 | "auto_naming_healing":{ 46 | "base":["wave"], 47 | }, 48 | "latent_damage_type":["fire"], 49 | "damage_multiplier":-0.3, 50 | "healing_multiplier":-0.3, 51 | "cost":{ 52 | "mana":2, 53 | }, 54 | "area":2, 55 | }, 56 | } 57 | -------------------------------------------------------------------------------- /gui/main/scenes/tooltip.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://dxb635fm2610y"] 2 | 3 | [ext_resource type="Script" uid="uid://cotqs4ynhteph" path="res://gui/main/scripts/tooltip.gd" id="1_6sfc2"] 4 | 5 | [sub_resource type="ButtonGroup" id="ButtonGroup_q6wl8"] 6 | 7 | [node name="Tooltip" type="Panel"] 8 | offset_right = 256.0 9 | offset_bottom = 128.0 10 | script = ExtResource("1_6sfc2") 11 | 12 | [node name="VBoxContainer" type="VBoxContainer" parent="."] 13 | clip_contents = true 14 | layout_mode = 1 15 | anchors_preset = -1 16 | anchor_right = 1.0 17 | anchor_bottom = 1.0 18 | offset_left = 4.0 19 | offset_top = 4.0 20 | offset_right = -4.0 21 | offset_bottom = -4.0 22 | grow_horizontal = 2 23 | grow_vertical = 2 24 | mouse_filter = 0 25 | theme_override_constants/separation = 4 26 | 27 | [node name="Tabs" type="HBoxContainer" parent="VBoxContainer"] 28 | layout_mode = 2 29 | 30 | [node name="Button0" type="Button" parent="VBoxContainer/Tabs"] 31 | layout_mode = 2 32 | size_flags_horizontal = 3 33 | theme_override_font_sizes/font_size = 12 34 | toggle_mode = true 35 | button_group = SubResource("ButtonGroup_q6wl8") 36 | text = "TAB0" 37 | 38 | [node name="RichTextLabel" type="RichTextLabel" parent="VBoxContainer"] 39 | layout_mode = 2 40 | size_flags_vertical = 3 41 | -------------------------------------------------------------------------------- /data/enemies/undead/undead_shark.json: -------------------------------------------------------------------------------- 1 | { 2 | "undead_shark":{ 3 | "base_name":["shark"], 4 | "lesser_prefix":["rotten","decaying"], 5 | "greater_prefix":["necrotic","preserved"], 6 | "abilities":["fangs","feral_cutting_darkness_magic","dirty_fighting"], 7 | "base_stats":{ 8 | "strength":12, 9 | "constitution":7, 10 | "dexterity":9, 11 | "intelligence":7, 12 | "wisdom":7, 13 | "cunning":11, 14 | }, 15 | "attributes":{ 16 | "attack":10, 17 | "magic":15, 18 | "willpower":5, 19 | "armour":15, 20 | "evasion":5, 21 | "accuracy":10, 22 | "penetration":0, 23 | "speed":1, 24 | "critical":-2, 25 | }, 26 | "variants":{ 27 | "skeleton":{ 28 | "name_suffix":["skeleton"], 29 | "abilities":["brawling"], 30 | "attributes":{ 31 | "armour": 25, 32 | }, 33 | }, 34 | "necrotic":{ 35 | "name_prefix":["necromantic","necro"], 36 | "abilities":["feral_darkness_magic"], 37 | }, 38 | "poisonous":{ 39 | "name_prefix":["poisonous","toxic"], 40 | "abilities":["feral_poison_magic"], 41 | }, 42 | }, 43 | "materials":[ 44 | "leather","bone","meat","fin", 45 | ], 46 | "exp":20, 47 | "soul_prefix":["lesser","mundane","simple"], 48 | "soul_rarity":-1, 49 | "race": "undead", 50 | }, 51 | } 52 | -------------------------------------------------------------------------------- /data/enemies/beasts/strong_wolf.json: -------------------------------------------------------------------------------- 1 | { 2 | "strong_wolf":{ 3 | "base_name":["wolf","hound","beast"], 4 | "lesser_prefix":["hungry","starved","injured"], 5 | "greater_prefix":["feral","huge","aggressive","ferocious"], 6 | "abilities":["fangs","claws"], 7 | "base_stats":{ 8 | "strength":9, 9 | "constitution":10, 10 | "dexterity":12, 11 | "intelligence":6, 12 | "wisdom":6, 13 | "cunning":8, 14 | }, 15 | "attributes":{ 16 | "attack":10, 17 | "magic":5, 18 | "willpower":-2, 19 | "armour":5, 20 | "evasion":10, 21 | "accuracy":15, 22 | "penetration":5, 23 | "speed":0, 24 | "critical":4, 25 | }, 26 | "resistance":{ 27 | "impact":0.25, 28 | }, 29 | "variants":{ 30 | "bleeding":{ 31 | "name_suffix":["razor","sable-tooth"], 32 | "abilities":["lacerating_fangs"], 33 | "attributes":{ 34 | "penetration":10, 35 | }, 36 | }, 37 | "nimble":{ 38 | "name_prefix":["nimble","agile"], 39 | "abilities":["evasion"], 40 | "attributes":{ 41 | "evasion":15, 42 | }, 43 | }, 44 | }, 45 | "exp":15, 46 | "materials":[ 47 | "fur","tail","fang","bone","eye_ball","meat" 48 | ], 49 | "soul_prefix":["lesser","mundane","simple"], 50 | "soul_rarity":-1, 51 | "race": "beast", 52 | }, 53 | } 54 | -------------------------------------------------------------------------------- /data/enemies/primitives/hobgoblin.json: -------------------------------------------------------------------------------- 1 | { 2 | "hobgoblin":{ 3 | "base_name":["hobgoblin"], 4 | "lesser_prefix":["weak","small","one-eyed","old"], 5 | "greater_prefix":["strong","huge","oversized","elite"], 6 | "base_stats":{ 7 | "strength":8, 8 | "constitution":10, 9 | "dexterity":8, 10 | "intelligence":5, 11 | "wisdom":5, 12 | "cunning":6, 13 | }, 14 | "attributes":{ 15 | "attack":10, 16 | "magic":5, 17 | "willpower":10, 18 | "armour":12, 19 | "evasion":10, 20 | "accuracy":15, 21 | "penetration":5, 22 | "speed":0, 23 | "critical":4, 24 | }, 25 | "resistance":{ 26 | "poison":0.25, 27 | }, 28 | "variants":{ 29 | "basher":{ 30 | "name_suffix":["basher","smasher"], 31 | "abilities":["heavy_weapons","shield","brawling"], 32 | }, 33 | "brawler":{ 34 | "name_suffix":["brawler","brute"], 35 | "abilities":["light_weapons","brawling","armour"], 36 | }, 37 | }, 38 | "exp":20, 39 | "equipment_drop_chance":0.2, 40 | "equipment_enchantment_chance":0.2, 41 | "equipment_quality":1.0, 42 | "materials":[ 43 | "bone","skin","nail","tongue","ear","hair","eye_ball","wood","ore","paper" 44 | ], 45 | "soul_prefix":["lesser","mundane","simple"], 46 | "soul_rarity":1, 47 | "race": "goblin", 48 | }, 49 | } 50 | -------------------------------------------------------------------------------- /data/enemies/robots/cyborg.json: -------------------------------------------------------------------------------- 1 | { 2 | "cyborg":{ 3 | "base_name":["cyborg"], 4 | "lesser_prefix":["rusty","malfunctioning","steam-powered"], 5 | "greater_prefix":["elite","super","mega","ultra"], 6 | "base_stats":{ 7 | "strength":10, 8 | "constitution":11, 9 | "dexterity":10, 10 | "intelligence":11, 11 | "wisdom":11, 12 | "cunning":8, 13 | }, 14 | "attributes":{ 15 | "attack":18, 16 | "magic":12, 17 | "willpower":10, 18 | "armour":15, 19 | "evasion":15, 20 | "accuracy":15, 21 | "penetration":0, 22 | "speed":0, 23 | "critical":4, 24 | }, 25 | "resistance":{ 26 | "poison":0.25, 27 | "acid":-0.25, 28 | }, 29 | "abilities":["light_weapons","high_tech_cutting","gun_slinging","armour"], 30 | "exp":25, 31 | "equipment_drop_chance":0.1, 32 | "equipment_enchantment_chance":0.2, 33 | "equipment_quality":1.0, 34 | "materials":[ 35 | "cog","scrap","paper","skin","synth_skin","cloth","tissue","shell", 36 | "processing_unit","heart","ram_module", 37 | ], 38 | "soul_prefix":["digital","assimilated","cyber"], 39 | "soul_rarity":1, 40 | "soul_add":{ 41 | "resistance":{ 42 | "water":-0.1, 43 | "cutting":0.1, 44 | "piercing":0.1, 45 | "impact":0.1, 46 | }, 47 | }, 48 | "race": "cyborg", 49 | }, 50 | } 51 | -------------------------------------------------------------------------------- /data/enemies/undead/undead.json: -------------------------------------------------------------------------------- 1 | { 2 | "undead":{ 3 | "base_name":["necromancer","thrall master","undead fiend"], 4 | "lesser_prefix":["weakened","unexpirienced","drained"], 5 | "greater_prefix":["elite","powerful","ancient"], 6 | "base_stats":{ 7 | "strength":7, 8 | "constitution":9, 9 | "dexterity":10, 10 | "intelligence":12, 11 | "wisdom":12, 12 | "cunning":12, 13 | }, 14 | "attributes":{ 15 | "attack":8, 16 | "magic":15, 17 | "willpower":10, 18 | "armour":5, 19 | "evasion":12, 20 | "accuracy":16, 21 | "penetration":10, 22 | "speed":0, 23 | "critical":8, 24 | }, 25 | "resistance":{ 26 | "acid":-0.25, 27 | "poison":0.5, 28 | "darkness":0.5, 29 | "light":-0.5, 30 | }, 31 | "abilities":["draining_bite","celestial_magic","defensive_magic"], 32 | "exp":20, 33 | "equipment_drop_chance":0.25, 34 | "equipment_enchantment_chance":0.2, 35 | "equipment_quality":1.0, 36 | "materials":[ 37 | "heart","ore","cloth","paper","parchment","dust","hair", 38 | ], 39 | "soul_prefix":["ethereal","eternal","bound","ancient"], 40 | "soul_rarity":0, 41 | "soul_add":{ 42 | "resistance":{ 43 | "light":-0.05, 44 | }, 45 | "damage":{ 46 | "darkness":0.1, 47 | }, 48 | }, 49 | "race": "undead", 50 | }, 51 | } 52 | -------------------------------------------------------------------------------- /data/gods/domains/nature.json: -------------------------------------------------------------------------------- 1 | { 2 | "wilderness": { 3 | "name": "wilderness", 4 | "prefix": [ 5 | "Wild", 6 | "Feral", 7 | "Overgrown" 8 | ], 9 | "suffix": [ 10 | "of Wilderness" 11 | ], 12 | "tags": [ 13 | "hunt", 14 | "nature" 15 | ] 16 | }, 17 | "trees": { 18 | "name": "trees", 19 | "prefix": [ 20 | "Timberborn" 21 | ], 22 | "suffix": [ 23 | "of Trees", 24 | "of Forests", 25 | "of Timber" 26 | ], 27 | "tags": [ 28 | "elf", 29 | "nature" 30 | ] 31 | }, 32 | "foliage": { 33 | "name": "foliage", 34 | "prefix": [ 35 | "Overgrown" 36 | ], 37 | "suffix": [ 38 | "of Foliage" 39 | ], 40 | "tags": [ 41 | "elf", 42 | "nature" 43 | ] 44 | }, 45 | "flowers": { 46 | "name": "flowers", 47 | "title": [ 48 | "Flower" 49 | ], 50 | "prefix": [ 51 | "Blooming" 52 | ], 53 | "suffix": [ 54 | "of Flowers", 55 | "of Petals" 56 | ], 57 | "tags": [ 58 | "elf", 59 | "nature" 60 | ] 61 | }, 62 | "moss": { 63 | "name": "moss", 64 | "title": [ 65 | "Moss" 66 | ], 67 | "prefix": [ 68 | "Mossy", 69 | "Mossbearing" 70 | ], 71 | "suffix": [ 72 | "of Moss", 73 | "Covered in Moss", 74 | "Overgrown with Moss" 75 | ], 76 | "tags": [ 77 | "elf", 78 | "nature" 79 | ] 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /data/items/attributes/emotion.json: -------------------------------------------------------------------------------- 1 | { 2 | "emotion": [ 3 | { 4 | "singular": "care", 5 | "adjective": "careful", 6 | "adverb": "carefully", 7 | }, 8 | { 9 | "singular": "joy", 10 | "adjective": "joyful", 11 | "adverb": "joyfully", 12 | "suffix": "of Joy", 13 | }, 14 | { 15 | "singular": "precision", 16 | "adjective": "precise", 17 | "adverb": "precisely", 18 | "suffix": "of Precision", 19 | }, 20 | { 21 | "singular": "dedication", 22 | "adjective": "dedicated", 23 | "adverb": "decisively", 24 | "suffix": "of Dedication", 25 | }, 26 | { 27 | "singular": "determination", 28 | "adjective": "determined", 29 | "adverb": "mindfully", 30 | "suffix": "of Determination", 31 | }, 32 | { 33 | "singular": "hate", 34 | "adjective": "hateful", 35 | "adverb": "hatefully", 36 | "suffix": "of Hate", 37 | }, 38 | { 39 | "singular": "haste", 40 | "adjective": "improvised", 41 | "adverb": "hastily", 42 | "suffix": "of Haste", 43 | }, 44 | { 45 | "singular": "sorrow", 46 | "adjective": "sorrowful", 47 | "adverb": "sorrowfully", 48 | "prefix": "Sorrowful", 49 | }, 50 | { 51 | "singular": "strife", 52 | "adjective": "fierce", 53 | "adverb": "fiercely", 54 | "prefix": "Aggressive", 55 | }, 56 | ], 57 | } 58 | -------------------------------------------------------------------------------- /data/enemies/slimes/nanite_slime.json: -------------------------------------------------------------------------------- 1 | { 2 | "nanite_slime":{ 3 | "base_name":["slime","anomaly"], 4 | "lesser_prefix":["lesser","weak","small"], 5 | "greater_prefix":["greater","energized","large"], 6 | "base_stats":{ 7 | "strength":6, 8 | "constitution":6, 9 | "dexterity":6, 10 | "intelligence":10, 11 | "wisdom":10, 12 | "cunning":8, 13 | }, 14 | "attributes":{ 15 | "attack":15, 16 | "magic":15, 17 | "willpower":8, 18 | "armour":4, 19 | "evasion":5, 20 | "accuracy":10, 21 | "penetration":5, 22 | "speed":0, 23 | "critical":0, 24 | }, 25 | "abilities":["feral_lightning_magic"], 26 | "variants":{ 27 | "lightning":{ 28 | "name_prefix":["supercharged","overcharged","sparkling"], 29 | "abilities":["feral_impact_lightning_magic"], 30 | "resistance":{ 31 | "lightning":0.75, 32 | }, 33 | }, 34 | "nanite":{ 35 | "name_prefix":["nanite","nanobot"], 36 | "abilities":["healing","dirty_fighting"], 37 | "resistance":{ 38 | "piercing":0.25, 39 | "cutting":0.25, 40 | "impact":0.25, 41 | }, 42 | }, 43 | }, 44 | "exp":15, 45 | "materials":[ 46 | "condensate","resin","tissue","scrap", 47 | ], 48 | "soul_prefix":["digital","virtual","cyber"], 49 | "soul_rarity":-2, 50 | "race": "robot", 51 | }, 52 | } 53 | -------------------------------------------------------------------------------- /data/items/attributes/enemy.json: -------------------------------------------------------------------------------- 1 | { 2 | "enemy": [ 3 | { 4 | "singular": "beast", 5 | "plural":"beasts", 6 | "adjective": "wild", 7 | "prefix": "Beast", 8 | }, 9 | { 10 | "singular": "demon", 11 | "plural": "demons", 12 | "adjective": "evil", 13 | "prefix": "Demon", 14 | }, 15 | { 16 | "singular": "angel", 17 | "plural": "angels", 18 | "adjective": "radiant", 19 | "prefix": "Radiant", 20 | }, 21 | { 22 | "singular": "elemental", 23 | "plural": "elementals", 24 | "adjective": "elemental", 25 | "suffix": "of Elements" 26 | }, 27 | { 28 | "plural": "undead", 29 | "adjective": "undead", 30 | "prefix": "Undead", 31 | }, 32 | { 33 | "singular": "orc", 34 | "plural": "orcs", 35 | "adjective": "brutal", 36 | "prefix": "Orc", 37 | }, 38 | { 39 | "singular": "cyborg", 40 | "plural": "cyborgs", 41 | "adjective": "cybertronic", 42 | "prefix": "Cyborg", 43 | }, 44 | { 45 | "singular": "robot", 46 | "plural": "robots", 47 | "adjective": "computronic", 48 | "prefix": "Robot", 49 | }, 50 | { 51 | "singular": "archon", 52 | "plural": "archons", 53 | "adjective": "mighty", 54 | "suffix": "of Archons", 55 | }, 56 | { 57 | "plural": "plants", 58 | "adjective": "phototropic", 59 | "prefix": "floral", 60 | }, 61 | ], 62 | } 63 | --------------------------------------------------------------------------------