v0.2.0a Public Release!


🔔Hey, Adventurers!

v0.2.0a is now in Public Access! As always, I look forward to hearing your thoughts and hope you enjoy the newest release! It fell short of my intended targets for content, but it's still a good-sized update. Lots of gameplay/technical changes and improvements, three new H-scenes, a bunch of fixes, and a much-awaited infinite dungeon!

___________________________

v0.2.0a

Minor changes:

- Reduced Doppelganger's HP scaling

- Infinite Dungeon Demons' armor capped at 80%.

- Jibril's replay battle now correctly displays the recommended level as 8

Fixes:

- Fixed Kazuma's bustup skin being stuck in naked mode after a scene with Chris

- Bustups now get refreshed properly on day start

- Fixed Rin's Barrier crashing the game upon absorbing DOT damage. It now ignores DOTs as intended.

- Fixed an issue resulting in a crash when trying to exit the Infinite Dungeon

- Fixed the issue with Chris's dialogue triggering during an alley fight even if Chris wasn't present

- Adjusted Darkness' Cleanse Buffs logic

- Fixed the issue resulting in Maze effect always active in Infinite Dungeon

- Jibril can no longer be fought in the Colosseum until she is defeated at the library

- Fixed doppelgangers bossfight repeating itself

- Fixed a bug that could indicate empty rooms as containing dialogue

- Fixed a bug that could result in an infinite Fear being applied to units

- Fixed a bug that resulted in a crash in the Cheat Menu with new Items

- Fixed Acid triggering damage multiple times during AOE attacks

- Fixed Cleanse removing Stunned debuff

- Fixed a few abilities not benefitting from boosts

- Fixed a bug that extended Meditate's duration with a boost

- Fixed a bug that could lead to an uncaught exception when no ability is selected in the battle menu

- Fixed a bug with the Frozen effect that could crash the game

- Fixed a bug allowing auto-attacks to bypass Stealth or Disarm effects

- Fixed a bug that could result in a crash during a dungeon floor generation

- Fixed a bug with Jibril throwing an error if defeated previously and challenged again

- Minor spelling fixes


v0.2.0

Story:

- +15k words, totaling 145k

- +248 images, totaling 5360

- +30 animations, totaling 124

- +1 Megumin dynamic repeating H-scene

- +1 Chris Event

- +1 Chris H-scene

- +1 Lolisa H-scene

- +1 Raphiel Event

- +1 Luna Dialogue

- Aqua Headpats scene

Technical:

- Girls Tracker will now display hints for unlocking locked characters on hover

- You can now change custom names with love interests via a menu in your room

- You can now embark on adventures even when it's raining during the day

- Added new shaders for certain transitions

- Added full support for embedded json-ized data translations to improve localization coverage

- Localization packages can now be selected from the menu, allowing multiple localizations to reside within one build (will experiment with that later when I actually do have a localization package)

- Completely redid the dynamic outfit/angle selection screen for H-scenes (like the one with Bae). Expect massive performance improvements, prettier transitions, lighting control, etc

- Chomusuke can now drop Outfits for H-scenes (currently only for Megumin) as a reward for Rare and Epic fishes

Adventuring:

- New floors for the Dungeon (it is also now finishable, unlocking the Infinite Dungeon/Labyrinth)

- New enemy types

- Added Weather effects. Now certain regions can have different weather effects, which in turn will affect certain aspects of adventuring

- New Weather effects: Raining and Foggy; additional environment effects for the Labyrinth and the Dungeon: Maze

- General performance optimizations

- Regions will now have their appropriate environment ambiance

- The game will now remember the last action for each of the party members (even out of combat and between adventures)

- Status effects icons during adventuring will now render in columns if there are more than 6

- Certain enemies will now appear in different color styles

- Abilities will now properly reset their cooldowns upon end of combat

- Added a hint for showing/hiding skill tooltip during battle

- Adjusted the positioning of the timer element, and the Updated Quest notification will no longer overlap with it

- Over 25 new banters and dialogues for combat and adventuring

Balancing:

- Level cap raised to 50

- Rin's Magic Missile received a new upgrade: Energy Morphing. It allows switching the damage type of the skill to Lightning, Ice, or Acid.

- Chris' natural dodge: 6 -> 9

- Damage over time effects can no longer be resisted

- Reduced the rarity of Ring of Bloodlust from Rare to Uncommon (since it's not that good)

- Boons are no longer dispellable

- Execute no longer pierces Death Protection

Minor changes:

- +1 Book

- New Guild Quests and adventurers

- Girls Tracker will now display the current relationship status with a character

- Added missing event screenshots for Gabriel

- Added an animated transition for when a save is loaded

- The "Quests Complete!" screen will now scroll through completed quests if there are too many to show at once

- The church menu will now correctly highlight available events in Heaven

- Adjusted the character tracker to only include major events

- Repeating H-events from the invite menu will now have a trigger marker when available for the first time

Fixes:

- Fixed the issue that could cause a portrait to flash during narrator's dialogue

- Fixed a bug that could cause an uncaught exception in Wiz's "Drain Touch" event

- Fixed a slight continuity issue in Forest Farm event

- Fixed an issue that prevented some unique damage type interactions from happening (extra Lightning damage to Wet enemies for instance)

- Fixed an issue that could result in Fear being applied to a unit infinitely without ever expiring

- Fixed an issue that prevented boosts from increasing the accuracy of basic attacks

- Fixed a bunch of interactions with the new Status Effects that could result in a crash following duplication of effects

- Fixed an issue which resulted in Drain Touch not targeting the correct units on Android

- Fixed an issue that could result in a crash when in combat against a boss with World Wisdom boon equipped

- Fixed an issue that could result in an inventory hint popup stuck on the screen after closing the inventory

- Fixed an issue that prevented the use of lockpicks in Steph's quest

- Fixed a bug that prevented characters from getting a Willpower bonus from Wizard Staff

- Fixed a bug that prevented vulnerabilities from being highlighted when targeted

- Minor spelling fixes

Files

Android Build (v0.2.0a) (.apk) 1.3 GB
32 days ago
Windows / Linux Build (v0.2.0a) 2 GB
Version 0.2.0a 32 days ago
Android Build (v0.2.0a) (.zip) 1.3 GB
Version 0.2.0a 32 days ago
Mac Build (v0.2.0a) 2 GB
Version 0.2.0a 32 days ago

Get Adventurer Trainer

Comments

Log in with itch.io to leave a comment.

Holy lvl 50 as lvl cap imma grind this

Greetings.  This is a fun game, and I'm surprised how much is in a version labeled .2, but I also ran into some ignorable errors fighting foxes in the forest in the rain.  I don't know which parts of this are relevant, so it will just be a long post. :/

Cheers.


Event fired! battle_use_ability {'current_unit_id': 'rin', 'ability': 'FIREBOLT_ABILITY', 'is_hit': True, 'targets': ['fox'], 'weakness_exploited': True, 'stunned': True, 'is_crit': False, 'is_hostile': True, 'unit': <store.Hero object at 0x7f6facdba130>, 'target_objs': [<store.Monster object at 0x7f6fad1389d0>], 'ability_obj': <store.Ability object at 0x7f6facf14c40>}

Full traceback:

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  [Previous line repeated 1 more time]

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2472, in script

    $ msg_num = adventure.battle.on_unit_turn_end()

  File "/run/media/computer/drive/Games/Itch/adventurer_trainer.0.2.0a-0.2.0a-pc/renpy/ast.py", line 1138, in execute

    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)

  File "/run/media/computer/drive/Games/Itch/adventurer_trainer.0.2.0a-0.2.0a-pc/renpy/python.py", line 1130, in py_exec_bytecode

    exec(bytecode, globals, locals)

  File "game/scripts/adventuring/battle.rpy", line 2472, in <module>

    $ msg_num = adventure.battle.on_unit_turn_end()

  File "game/scripts/adventuring/battle.rpy", line 176, in on_unit_turn_end

    modifier.on_unit_turn_end(self.current_unit)

  File "game/scripts/adventuring/weather.rpy", line 66, in on_unit_turn_end

    message = AbilityEffectApplyStatusEffect({"effect_class_name": "StatusEffectWet"}).apply(monster, monster, 0, False, 0)

  File "game/scripts/adventuring/ability.rpy", line 2098, in apply

    effect_args = {"duration": self.duration + boost, "unit": target}

TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

While running game code:

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  [Previous line repeated 1 more time]

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2472, in script

    $ msg_num = adventure.battle.on_unit_turn_end()

  File "game/scripts/adventuring/battle.rpy", line 2472, in <module>

    $ msg_num = adventure.battle.on_unit_turn_end()

  File "game/scripts/adventuring/battle.rpy", line 176, in on_unit_turn_end

    modifier.on_unit_turn_end(self.current_unit)

  File "game/scripts/adventuring/weather.rpy", line 66, in on_unit_turn_end

    message = AbilityEffectApplyStatusEffect({"effect_class_name": "StatusEffectWet"}).apply(monster, monster, 0, False, 0)

  File "game/scripts/adventuring/ability.rpy", line 2098, in apply

    effect_args = {"duration": self.duration + boost, "unit": target}

TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

Event fired! battle_next_unit {'id': 'fox'}

DEBUG: Using ability FOX_ABILITY, targets: [<store.Hero object at 0x7f6f978615b0>], party: <store.Party object at 0x7f6fac6e92e0>

Effect AbilityEffectDamage conditions satisfied

Effect AbilityEffectBuff conditions satisfied

Event fired! battle_use_ability {'current_unit_id': 'fox', 'ability': 'FOX_ABILITY', 'targets': ['aqua'], 'is_hostile': True, 'unit': <store.Monster object at 0x7f6f97dc81c0>, 'target_objs': [<store.Hero object at 0x7f6f978615b0>], 'ability_obj': <store.Ability object at 0x7f6f97dc87f0>}

Event fired! battle_bot_attack {'current_unit_id': 'fox', 'target_id': 'aqua', 'ability': 'FOX_ABILITY', 'is_hit': True, 'target_health': 91, 'is_hostile': True, 'unit': <store.Monster object at 0x7f6f97dc81c0>, 'target_objs': [<store.Hero object at 0x7f6f978615b0>], 'ability_obj': <store.Ability object at 0x7f6f97dc87f0>}

Full traceback:

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  [Previous line repeated 1 more time]

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2472, in script

    $ msg_num = adventure.battle.on_unit_turn_end()

  File "/run/media/computer/drive/Games/Itch/adventurer_trainer.0.2.0a-0.2.0a-pc/renpy/ast.py", line 1138, in execute

    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)

  File "/run/media/computer/drive/Games/Itch/adventurer_trainer.0.2.0a-0.2.0a-pc/renpy/python.py", line 1130, in py_exec_bytecode

    exec(bytecode, globals, locals)

  File "game/scripts/adventuring/battle.rpy", line 2472, in <module>

    $ msg_num = adventure.battle.on_unit_turn_end()

  File "game/scripts/adventuring/battle.rpy", line 176, in on_unit_turn_end

    modifier.on_unit_turn_end(self.current_unit)

  File "game/scripts/adventuring/weather.rpy", line 66, in on_unit_turn_end

    message = AbilityEffectApplyStatusEffect({"effect_class_name": "StatusEffectWet"}).apply(monster, monster, 0, False, 0)

  File "game/scripts/adventuring/ability.rpy", line 2098, in apply

    effect_args = {"duration": self.duration + boost, "unit": target}

TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

While running game code:

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  [Previous line repeated 1 more time]

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2374, in script call

    call screen adventure_screen(adventure)

  File "game/scripts/adventuring/battle.rpy", line 2371, in script call

    $ adventure.battle.next_unit_turn_start()

  File "game/scripts/adventuring/battle.rpy", line 2472, in script

    $ msg_num = adventure.battle.on_unit_turn_end()

  File "game/scripts/adventuring/battle.rpy", line 2472, in <module>

    $ msg_num = adventure.battle.on_unit_turn_end()

  File "game/scripts/adventuring/battle.rpy", line 176, in on_unit_turn_end

    modifier.on_unit_turn_end(self.current_unit)

  File "game/scripts/adventuring/weather.rpy", line 66, in on_unit_turn_end

    message = AbilityEffectApplyStatusEffect({"effect_class_name": "StatusEffectWet"}).apply(monster, monster, 0, False, 0)

  File "game/scripts/adventuring/ability.rpy", line 2098, in apply

    effect_args = {"duration": self.duration + boost, "unit": target}

TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

Will get that fixed, thank you!

(+3)

Chris scenes are absolute cinema 

(+1)

wonderful update

(+8)

HOLY SHIT I WAS SCARED THIS WAS DEAD, PRAISE ERIS

(+2)

Can finally headpat Aqua!!!

(+2)

Great news!

(+2)

Letssas gooiiii

(+2)

Yessir