done - Pidroh/HaxeRPGUtilities Wiki

TODO

- feed skill runtime array which will resolve resources & actions, keeping it inside the class
- skill runtime array
- skill runtime class
- have skill data class have only the IDs for the resources & actions
- have an attribute in action / resource base data that links to a skill with an int
  - separate need from require in sahi minds 
  - slow down everything? More duration on tasks, higher maxes and costs
- 0.17 full
- 0.17 demo
- 0.17 browser
- 0.17 issue continue
https://github.com/Pidroh/HaxeRPGUtilities/issues/30
- test chapter 2
- if full version, isabel max level 40
- fix some stories showing up wrong timing in full version
- chapter 2 unlock condition
- add enemies to enemies areas in chapter 2
- add level offset to empower chapter two enemies
- make chapter 2 only exist in full version
  - feels as if there is either another cursor group OR some stray element being added to the story, it's opsition is weird (can also be accessed from left and right, so maybe not a different cursor group...??)
- MIGHT DISAPPEAR ONCE STORY STOP AUTO PLAY??? very weird bug of memory tab having an upper button near the tabs that you can press UP to get to
- bunch of story cutscenes play out as soon as you begin isabel (urgent)
- add ids to existing story 
- customize story generation code to generate all files
- separate story into multiple files
- sell worse equipment hover might give further details that would stop some "bug reports" and misconceptions by saying it doesn't sell items equipped to different sets
- main14 text distance between letters is too large, looks weird
- test current soul crush configuration
- create custom debug command to change level
- hold PO and press J to open debug prompt (reusable class only used if #dev)
- continue developing DebugCommandGeneric
- investigate how to get input from javascript browser
- change cutscene trigger soul crush and soul crush visibility requirement
- increase difficulty of unlock soul crush
- fix test
- fix showing of message (lower in the screen, dark background)
- veteran stat increase damage multiplier
- put veteran into player stats
- throw event if clearing soul crush
- add new veteran to wdata
- when soul crush wiping, find out why it doesn't change region
- commit: notification system & clear soul crush support of older versions
- fix tests
 - has a buffer if multiple messages end up getting shown
 - shows on screen for 10 seconds
- support for full screen notification style messages
- fix mouse in scaled mode
- write first
- Make your UI readable from several feet away. Our rule of thumb: when your game is running at 1920x1080, your fonts should be a minimum of 24px in size.
- break line between pedro gabriel and fonteles furtado
- hide resources when equipping
- hide stats when upgrading 
- bring stats up  in equip
- fix left hover
- add scroll and extend height to action buttons
- extend filter buttons layout to max width
- extend set button layout to max width
- move drop log left and down (possibly will have to move everybody to the left...? Or make it only 3 items...? With lower max width...?)
- take currencies further down (make them be tied to bottom of the screen?)
- tab buttons adjust width
- bring turn order further up, battle buttons, set buttons also go up
- see if achievements are working
- create new steam build and test it a bit
- fix problem with unity and biggest font not showing
- fix layout of "lowerbuttons" to be a bit higher and not overlap
- commit bin git without pushing (leave it at 0.15 for now)
- continue https://github.com/Pidroh/HaxeRPGUtilities/issues/29
- take a look at what is happening in unity
- add achievements inside of steam with updated ids
- re-read achievements documentation lightly
- take a look at what is happening in achievements Steam side
- write final cutscene of ch2
- continue summary of chapter 2

- create data for time casting action
- increase space for enemy stats (red flan defense going to next line in actor view)
- make sure arcania log doesn't get in the way of the UIs below
- do not hovers on arcania if not on arcania tab village tab
- draw a rectangle for progress on currently running action (or just show percent?)
- fix blocked action go back to resting even if both are blocked
- fix never stop sitting down
- implement showing running action everywhere
- enforce need when doing check enable
- render need on UI
- read need
- highlight advance button (some players are getting stuck, maybe even make it a main action)
- decide on graphic for highlighted button
- make sure icon is correct image depending on character
- add icon
- when starting story auto rest if has enemy
- move story buttons a bit up and little battle a bit down
- make little widget be in every tab
- feed charge mp information if charging
- mp bar charging difference
- mp bar image
- feed battle status in mini widget
- create vectors for text and color in battle status
- feed MP in mini widget
- show MP in little battle UI
- feed HP to mini widget
- create layout for mini UI
- show HP in little battle UI
- Mock up little battle ui
- region buttons and area buttons look confusing and part of the same thing (right side tabs...?! :O :O)
- create mockup for right side tabs
- fix fake "buttons" issue, like the logo having a square thingy
- remove monster stat info when hovering over region buttons
- showing hover of equipping information when hovering over it
- keyboard support for village
Feedback: investigate making game maximized from the start
Write support for non-xml FNT reading
upload full version
Fully integrated Haxe Unity build system for demo and full version
- change application name to Generic RPG Idle
- see if you can automate Unity build from command line
- add - full to build just for testing AND remove it after
- write 'demo' some where if demo
- write check in code to not have wishlist button if # if demoversion
--- VERSION 0.15 BROWSER
--- VERSION 0.15
- allow arcania access in bin build
- do rest action
- have hold press fields in UI elements
- create method to check if action wants to be holdPress
- check if fix mind of sahi problem
- write test for mindofsahi I requirement (player level)
- make sure cost is only reduced once
- add duration to some of the actions like esotericdreams
- feature request: support for actions which have COST, RUN, and MODs. This means that it's an upgrade that takes time to make, has a COST to start and a cost to RUN. 
- feed level from battlemanager
- content: define more subsystems to increase max esoterism
- change tab name for village
- change content that talks about going back home
- embed flower perpetual
- dwell on flowers max 1
- fix current problems with Saci mind I and II
- creativity to unlock flower ornament resource making
- flower ornament resource
- Higher Esoterism
- Spirit Bless
- Bless of Flesh
- mind to sahi II
- see if you can get weapon improve system back to players to try it
- reapply mods when loading
- restore saving of arcania
- unlock village tab from the beginning
GOAL 7: new story sequences & small readability polish
- increase font sizes of arcania log and resources
- fix weird bug of very specific texts having wrong heights
- have stamina and mental start at 0
- fix bug of text cutting wrong to the right when breaking line at a big word
- enforce story triggers
- enforce initial story
- read story json
- create the story triggers
- create story jsons
- GOAL 6A: add save/load
 - possibly add costs of flower to opening yourself up to Saci
 - creativity, esoterism, mental to give flowers a bonus to max esoterism 
- fix: creativity does nothing
- investigate if correctly reading run field (using a test in json AND THEN comparing test json to real json)
- enforce run field
- add description for the resources
- draw mod when doing basic hover
- actual hover in resource
- Cannot buy nurturing moon
- imagine and commune should be continuous actions
- resources don't have description
- Agressive Moon & Nurturing moon giving by SECOND, not just raw give
- flower vase has infinite amount
- integrate log and make it work
- create method to move layout object to beginning of array
- method to feed log view
- create N log widgets in log view
- create log view class
- have unlock things create event object
- show costs of Sit down
- show gains from Sit down
- add max values to resources
GOAL 6: fix UI by making it work nice with the village tab, while disabling weapon talent for now
- make arcania stuff be village tab exclusive
- create a compiler directive to disable weapon talent system
GOAL 4C: enforce minimum power up functions through the village (blessings of Sahi)
- in Village update access Arcania system to get the stats needed and integrate to battle manager outside stat bonuses
- use both of those to feed the outsidebattlestats of the Battlemanager
- use the keys of the arcania stat to create an array of RuntimeUnits and an array of Battle Manager stat names
- create a map of Arcania Stat TO player battle manager stat
- make outside stat bonuses be added in stat recalculation
- add outside stat bonuses to battle manager
GOAL 4B: try out system and think if it is worth adding into the game
GOAL 4A: power up functions without actual power ups
- 5 resources for stat bonuses which require themselves to be shown
- player level as a resource that starts as 99999 for now
- enforce requirement with child
- add test for & and OR 
- implement condition that has &
- make life, attack, defense upgrades
- generate json related Mind to Sahi
- Esoterism resource json and Esoterism generation action json, which require offering flowers to Sahi
- hide resources if not visible
- Create new arcania content plan that includes blessings of Sahi and removes bonding with the old man
GOAL 3: running actions have selected button, make bottle actually make bottle. Bottle increase max flowers. 
- make max 1 action disappear after use
- bottle increase max flowers (mod system)
- design mod system so that one thing can increase max of another
- create test for resource increasing another resource max mod
- make sure pressing K to max all resources will also apply respective mods
- create a method to handle all value changes
- mod interpretation from json
- make bottle make bottle
- make K cheat also max out arcania resources
- run  selected
GOAL 2: two actions that get unlock (make contemplation area, give flowers to old man), hover showing cost of action
- add hovers to action that shows cost, among others
- limit layout width to avoid overflow
- if requirements met, update seen
- if seen is 0, hide action
- make sure actions increase value upon use
- enforce require without expression

- make sure require without expression is being processed correctly
- add json for give flowers old man
- add json for contemplation area
GOAL 1: get a working arcanum like system for the first 3 actions with UI
- start game with full stamina
- running action auto-stop 
- if action effect can't make a difference, stop action
- enforce max of resource
- interpret max values from json
- if click on running action, stop it
- stop action if not enough to pay (disable action)
- inforce cost
- make the other two actions also work
- also make action running if action is perpetual
- read effects when reading action
- update action progress and resources accordingly
- if action has duration, save the action in the runtime as the running action
- update resource views on update method to put in current values
- fix running issues
- add resource views
- create two new layouts, one for action and another for resources, export them
- call loadData in arcania control
- make action be executed on button press
- create typedef for full persistence object
- create basic persistence class
- feed button name
- create a button for every action
- create json method to load array of basics
- create arcania model method to load jsons
- create json for resources
- arcania control gri class creation with class for hardcoded jsons too
- examine how resources are going in Arcanum so you can design that system before hand... (Currency system use or not...? also has to decide)
- max support in action
- requirement interpretation test
- requirement interpretation for X>5
- write down test reading of json and check if data loads correctly
- create JsonText.hx class
- create test folder in Arcania
- fix practice point max feeding
- hide bars if at max level point level
- hide bars if at max level talent level
- talent studying for all weapons
- talent should start at level 0, with practice unlocking at level 1
# VILLAGE SYSTEM 2A
- show rank of acquired bonus
- store rank of acquired bonus
- show talent set thing point level
- fix bar max XP to show real value on point XP max
- level up talent set thing
- get set talent XP when rerolling form
- add debug command to get max resources & show distribution on hover of change form making it clear it is related to the rank
- launch new grounds 
--- VERSION 0.14 STEAM DEMO
- make currency visualizer in gri equip only show lagrima and lagrima stone
--- VERSION 0.14 BROWSER
- release issue
- still selling broad sword for tree trunk wtf man write a test for that and fix it
- write test for selling broad sword auto when have tree trunk
- get random rank prize when rolling and use that to generate the mod
- implement method to get the mod from the prize ranking
- create method that will give the distribution of rarities
- getAPrize method implementation (may have to send a random)
- class for distributions of rarities
- define how you want to distribute rarities throughout ranks

# VILLAGE SYSTEM 1 REVISED
- make it take way longer to get to level 3 talent (what kind of balance to use... maybe expand to level 5 since level 2 unlocks practice mode)
- change talent XP to have the numbers described below
- write a test code for the scaling resource to see if it behaves like that (reproduce numbers below)
- create overwrite system for scalable resources
- make north of both cursor groups be tab cursor group
- activate cursor group when changing mode
- make talent cursor group initial group for tab
- feed cursor group practice
- feed cursor group talent
- if you don't have sets unlocked when you unlock the practice system, only show first set
- bar hovers on the bars
- hover explanation on what study does and the cost 
- only show practice tab once you have 50 of time
- increase PP max to 500
- commit : xp and point going over max bug
- XP also going above max?
- fix point going over max bug
- show talent XP
- leveled up talents give more practice points when studying
# VILLAGE SYSTEM 1
- talent level show
- talent name show
- make current system presentable
- make talent data be loaded
- make talent data be saved
- make practice only available at level 2 of talent
- make talent level up when enough XP
- initialize runtime data of talent and calculate max XP of talent
- initialize runtime data of talent and calculate max XP of talent
- make studying the talent increase talent XP
- fix story bug offset
- unlock auto-repeat condition
- make it so that either auto-repeat or auto-advance  can be active at a time
- create auto-repeat toggle button
- auto-repeat logic in battlemanager with bool
- create graphic for auto-repeat
- move battle setbuttons layout further down
- add talent name to talent widget and set name to single set widget
- add xp left text to level up xp bar
- add time left text to time bar
- stop showing time bar if on practice mode
- tweak size of the new village bar archetypes
- change archetype of all bars in grivillage to different archetypes
- show practice menu title
- fix equipment layout for sets with width
- show set names
- no import save button in title in JS build like that
- max time and max point
- add max value support to currency model
  - enforce max value when adding currency
  - add max value to currency meta info
  - have a map of currency meta infos
  - create a class for currency meta info
- goal: rerollable mods without ranks in a proto-ish tab (this might need the time system to work)
- fix form reroll to not accumulate bonuses
- stop showing time in title screen
- only show time in battle and in practice
- investigate why the fuck you can click on the button disable (multiple buttons...?)
- show time in village too (do not use tab tags to manage it)
- feed point bar in practice view
- add point bar in practice view
- fix adding points instead of spending
- show current points in talent view
- create point bar and offset to the widget  in talent widget
- offset study button to the widget 
- layout overflow in width in talent single set mode
- enforce return button in practice mode
- add return button to practice mode
- clicking on tab should reset back to talent mode
- create point bar and offset to the widget in single set
- offset effect text
- offset practice button
- instantiate the widget as an empty object
- instantiate single set widget as empty obj
- implement disable button if nott enough points
- implement decreasing points when reroll
- initialize all talent currencies when starting talent model (might not be enough...)
- disable study button if not enough time
- make study method reward points
- make study method consume time
- add study button 
- update bar amount using time
- implement time system
- update time currency if during battle
- create add currency method with float options that saves it into a buffer
- add currencymodel to battlemanager
- make sure bonus is being applied ONLY to that set
- have a final condition for each set that you can easily add
- enforce set condition
- create set condition enum
- find out why save is breaking :(
- reapply conditional bonuses after rerolling talent
- reapply conditional bonuses after loading data
- feed form text
- gri config have a save id for village dimension that can be different from normal save id
- handle persistence master initialization management in gri village control
- move gri talent stuff to gri village
- create gri village control
- finish implementation of getBonusText in griviewutilities
- move equip view hover text generation (attack+1 speed+20%) to a reusable method
- instantiate ui element that will show the form text
- actually reroll form when pressing button
- implement reroll method in talentmodel
- feed set pos and talent pos to practice button data
- store change form button in talentsinglesetwidget
0.13r Steam demo
- add gamejolt folder to pre-release stuff
- release on gamejolt
- add jolt build to hxml
0.13 version browser
- fix problem with prototype system
- functional save import unity
- investigate Unity save issues
- change naming of item to stop +++++ madness
- increase size of label upgrade sell since limit break kinda goes into number
- move hover further right
- there is a problem when doing preview on equipment tab, it shows weapons for example while showing armor filter
- fix problems with selling equipment and broken saves
- have new button appear because of tag change for change form
- have start practice button disappear because of tag change
- have that button show mode and switch tags
- have one talent show one button to start practice
- create method shell to instatiate a talent set practice widget
- create talentview.hx
- write down design of time system
- make sure sell worse doesn't sell stuff equipped in other slots
- sell worse equipment reset offset
- select current filter
- have all option for filters
- hovers on filters
- only show filter options you have
- start without any filters on
- initialize filters when setting up the view
- reset offset when changing filter
- align layout with equip buttons X, remove spacing, aling Y with equipped buttons, move equip buttons further down
- fix bug
- do the TODO in gricontrolequip
- send the equipment type current to filter control
- add the filter control thing to gri control equip
- create method to feed the abbreviations to the view
- research if you can use the lists (maybe used in region?) or whatever to feed the elements
- add layout near set button 
- have each item type have an array of item abbreviations
- fix: cost / upgrade labels going over mask
- make completed story ALSO trigger an region unlock :D :D perfect!
- enforce region unlock
- create new event for region unlock 
- TestCommit: make region - area change when you get a story first happen event for that cutscene
- on initializer of gri control, have the transformer of cutscene to area change
- create logic to go over story control events
- call event transformer update on story control
- story control also have an event holder
- make sure you can identify the first time you enter a cutscene through something that is NOT the memory UI
- call update method for event transformer
- create event transformer system
- logic to compare and then shoot event
- enforce change region event through data event holder passed to battle manager
- create change region - area request event creatable by battle manager
- commit: migrate event system from UIElements to a more broad system
- make current data event array from uimanager take data from the holder
- add data event holder to uielement manager
- implement message telling you to play as you in the last area (in place of enemy view?)
- feed message from safe room
- instantiate the UIelement for the message in top of enemy view
- data format and message for safe room
- implement 'no bar, max level label' in XP bar if necesssary
- create a thing so that only bindev gets the new tab
- create release file for gamejolt
- new tab called training\nprototype
# 0.12
- update logo to be readable in small resolutions x-x
- create windows build and send
- release 0.12r unity
- release 0.12r browser
- https://github.com/Pidroh/HaxeRPGUtilities/issues/25
- button press effect
- keyboard short cuts trigger artificial press style
- system for artificial press style
- enforce pressed style
- pressed style for button
- character selection screen after pressing start on title (no dimension selection when first time player)
- make new character selection mode only trigger if it's your first time? (how to check?)
- add a character sprite to each dimension
- add a character sprite to gri config
- add description and title to each dimension
- add button to dimension widget
- add description to dimension widget
- add title to dimension widget
- add icon to add dimension widget
- create add dimension widget method in view
- process input for character select start button
- create new mode in gri title view for character selection
- do something with same mechanism as acceptance persistence for the character selection
- create the 2 texts (explanation text, explanation title) for gri configuration
- create layout 
- create mockup
- if on upgrade mode and change equipment tabs, the upgrade cost gets hidden on top
- 'sell worse' take into account equipment upgrade level 
- can hover on invisible memory button
- fix: story cutscene buttons going out bounds when hovering
- fix: story cutscene buttons scroll bug no mask
- loading screen for save...? Unity version takes a long time to load
- disable cursor moving (automatic moving?) if using mouse
- add text in the end of amazonia saying you can play You's story
- two achievement tabs (remove proto one)
- privacy button overlap
  - maybe need to recalculate layouts after making them invisible?
- investigate why privacy stuff won't be on top
- cursor covering keyboard button
- create layout for the feature
- create unit test for this
- create unit test for speed increase on broad sword 
- feed battlemanager conditional bonuses for the talents player has
- system in battle manager to have conditional bonuses at recalculation
- create currency model system to actually spend currency
- make reroll method reroll bonuses without rank
- attribute bonus have rank
- feed some basic mods for attack magic attack defense speed magic defense
     - 1, 1, 1.5, 3, 7.5
    - probably a bit weaker scaling since they are cumulative
   - How to scale grand bonuses? (same way?)
     - 1, 3, 6, 10, 15, 20
   - how to scale the mods?
- make train method give you XP
- add talent model persistence to village persistence
- create talent model persistence for all the talent persistence
- make all talent persistence classes into typedef
- make train method spend currency in the thingie
- create currency spend data format
- create code to test for conditions
- create new battlemanager condition system (in RPG Data?) "Set has item type in item slot" condition
- create data classes for weapon skills particularities
- create data classes for skills
--- VERSION 0.11 unity
test game on unity
--- VERSION 0.11 browser
- fix challenge area have lore from lagrima
- fix bug of amazonia area over the max thingy
- amaozonia areas lore
- some challenge areas lore
- lagrima continent lore
- procedurally generated areas have lore
- remove old array based system
- make area name be read from new system
- feed area name into new region view data
- create new data format for region view data & area view data
- What is being cursored when playing with the keyboard isn't that clear (maybe put a bigger frame on top of the button...?) Like a blue rect thingy
- MC miniature on turn order is wrong in amazonia
  - access the attribute data thingy from the stat view (stat view?)
- fix counter attack hyouji
- road of amazonia come first (only in the list)
- fix situation of achievements not saving
- MP max fix for rod
- Treetrunk has +-15 for speed...
- scroll back up when changing tabs
- fix to counter from 0 to 2 preview
- create initial item types separated from normal items
- create system for item types to have level ranges
- make certain mods not drop until certain levels
- create system for mods to have level range when dropping
- show healing with numbers
- create event for healing 
- consider adding "-13\nblood" as a text to show
- create blood event for when you lose damage due to blood (OR make it be a part of the normal attack?)
- Attack at cost of speed mods
- Speed at cost of attack mods
- explanation for coutner attack attribute
- fix counter attack going over bounding box
- counter attack name show instead of number
- explanation for mystic attribute
- investigate bug of UNLOCK CHAPTER 1 => go straight to marino's hosue without going to isabel's house
- fix: if SETs are invisible, you can still activate the keyboard group
- Remix unlock order of region
- Mystic Elf be super strong against magic
- flan attack be magical attack
- magical attribute that changes NORMAL attack to be magic damage
- normal attack code separate from execute attack code
- elemental rods buff max MP
- fix the currency bugs reported
- redo region progression system to have non-linear unlock of regions
- update region button stuff to work with visibility instead
- check that against seen variable to decide if show region unlock message or not
- check every region if is visible every frame
- add scroll to region buttons
- elemental rods
- support for attribute that buffs elemental damage
- Calm Mod => defense up attack down
- Dense Mod => defense up speed down
- if there are no enemies, clear counter attack 
- coutner attack boss
- counter attack weapon 
- create new animation for the counter attack text
- submit steam demo
- fix up steam demo
- fix up home md to have something regarding 0.11
- post on feedback friday
- rexport unity because fixed shit
--- VERSION 0.10 BROWSER
- release issue for 0.10
- hide damage-last-turn
- text to make it clear it's a counter attack
- check if bufferconter is null to optimize adding counter buffer
- speed up turn counter IF counter attack 
- save damage received as an actor stat
- create counter attack datas
- do counters that take into account defense & damage 
- if turn ticking & has counter attack, do a counter attack instead of a normal turn
- if attacked with counter, feed the counter attack buffer
- arrays for both datas (counter data & buffer data)
- create counter attack buffer data
- create counter attack data
- anti pierce boss
- add support for anti pierce
- level cap on amazonia
- fix story scenes that have a ';'
- add troll to gate of marcelo
- equipment not getting dropped at chapter 1
- feed enemy sheets into griconfigurer
- enemy sheets created
- make sure levels are normal levels and not challenge area levels
 - street: stray cat, giant rat
 - forest: nutkin, elf toad
- think up enemies to have in the areas
- isabel battle image swapping through gri configuration
- figure out how griview is swapping battle actor icon
- isabel battle image in playscene 
- create isabel battle image
- make the check for peaceful area work even after reloading at peaceful area
- fix problem with story lines getting cut off
- add images for the four characters
- need image for Victor, for Pedro, for Marino, for Iracema
- character name as Isabel in amazonia
- save request when changing dimension
- fix test & change the unlock check to also include dimension id
- put dimension id into griconfiguration
- render both groups
- fix test & change AchievementModelData to have an array of group holders 
- create new class AchievementGroupHolder which also has dimension id information
- add story to the content
- story trigger when entering hills
- enforce auto visible and not auto visible
- initialize cutscene extra data saying that all cutscenes to be triggered by griconfigurer are not autovisible
- support for story triggering through config.eventToStoryTriggers
- gameeventtrigger API
- enforce ID on saving story
- add ID as id:blabla in tag
- add both text in hxml
- make sure second yarn json has correct name
- create code in story VS project to export both story modes
- separate the story modes between the two dimensions
- stop showing empty area button on region tab
- fix hover on graciosa hills broken
- correct reading from area data for enemy sheets / names & enemy number
- correct enemy name in amazonia road chapter I
- correct reading enemy number from the sheet
- unlock chapter 1 after clearing '5 days'
- do not hide lagrima continent when going to Amazonia road
- fix: Marino~s house not allow advance
- also save in correct dimension
- change code to know if on safe area & fix test
- enforce max area from region data
- change save file between different dimensions
- feed region name from new region data system, even for first region
- feed area name from new region data system
- add the dimension and see what happens
- placeholder enemies for  chapter I region
- create areas for chapter I region
- right now, save problems don't crash the game, so you can send that error to the server
- test if error is actually being sent / saved
- put the save when sending review / error / feedback
- if send error request, send the error on unity
- error report API on server
- save to local file too when saving 
- test save game on mac x_x
- sets not available from the beginning
- adamanstoise name getting cut off
--- VERSION 0.10 UNITY
- examine soul crush problem
- button reminders visibile even if button is disabled
- remove hover on mouse triggering equip tab change, but keep on keyboard
- make every set start with that specific skill set
# 0.09 patch on browser
- Unlock an area wtf as soon as you start the game
--- VERSION 0.09R BROWSER ONCE YOU GET HOME
- fix region not unlock
- fixed title screen button appear
- put region data in battlemanager configuration while also putting region name in GRICconfiguration
- enforce configuration change through title screen
- put buttons for configurations in title screen
- Continue button have int data to know which continue button it is
- breakdown the gri view methods of adding buttons so that buttons are added later
- send GRIControl the configurations when setting up in setupTitle
- make tests work again
- commit: data structures for region data (gricontrol/battlemanager)
- fix compilation problems
- implement resolutions
- resolution ideas (try NGU)
- Exit button
- unity joypad implemented
- test X and circle joypad unity
- set buttons on equipment
- call highlight method in griequipcontrol
- call highlight method in gricontrol
- create highlight method in set view
- keyboard navigation out of equip set buttons
- tweak distance of buttons in equip main action and in set buttons
- redo equipment mockup with new positioning for set buttons and main action buttons
- cursor group for set buttons in battle
- new layout for set buttons in battle 
- mockup of set buttons
- put equiipment names when showing sets but not when normal equip
- hover on set button
- investigate how the actor battle view does hovering to copy that
- set button input processing in GRIControlEquip? Or GRIControl? Let's make it GRI Control
- class for set button view
- simple attack animation
- using keyboard while something is cursored on mouse results in annoying behavior
- Dropped equipment too bright
- XP numbers overlapping some times (change positioning algorithm)
- increase XP cap
- title tab button disappearing fix
- setting up the other computer
- setting up the other branch for homebase
- get gri wiki from git
- hover MP & HP
- fix event log to not overlap
- make damage numbers not appear outside of battle tab
- integrate spine with gri view
- created basic spine classes
- create animation for real on spine
- export place holder animations to use in spine
- put back entering in cursor group, but instead do not change the graphic only...?
- do not go into default tab cursor group if using the mouse
- changed hovered graphics
- clicking on invisible region button
- region slot hover update the list
- equipment slot hover update the list
- disable equip slot button if no slot of that equipment
- loot list label
- street enemies number adjustment
- Locked skill hover message going over the box
- fix text overboarding buttons
- increase font size again
- fix 9layer mask problem
- divide ui rendering into layers
- keyboard prompts
- manually render the keyboard prompts to simplify code
- add 9 patch to game
- export 9patch 
- feedback form on unity with feedback option not just review
- if never reviewed, open review by default
- int to keep track of times reviewed
- stop input and updating if canvas feedback form is active
- test to see feedback on firestore
- activate server new code
- unity code to send to the other URL
- cancel multiple times
- feedback form class assign buttons
- fix F to feedback button
- if unity, show feedback button
- create new method in server on google cloud with new URL
- take a look at firebase structure
- tab system for the two uis
- create feedback UI
--- VERSION 0.07R RELEASE
- dialog for region unlock
- keyboard support for popups
- enter in cursor group when showing dialog
- setupDialog in GRIView add to keyboard group
- keyboard group for dialog in griview
- clear area attack skill refresh
- have some time when changing areas between last enemy death
- soul crush HP recovery
- after initial cutscene, title & battle tab only
- bug: story trigger during hover active resulting still in hover being active
- tab memory visibility condition 
- if trigger story automatically, return to battle afterwards
- tab region visibility condition
- loot drop messages visible in story mode, along side hover info (pretty broken when moving misc ui setup to title setup)
- hide feedback button if story is active
- hide feedback button in HTML5
- actor hover broken
- check if retention being called
- fix retention start date bug
- saturday tasks
- show feedback menu when want to show feedback menu in Unity
- complete add a keyboard shortcut to the button
- bind button to element
- bind key to button
- add feedback button to layout
- create layout for feedback button 
- investigate feedback system
- post data using Unity when pressing Ok button
- create a method to send post json data through unity
- release issue
- fix auto generated save on testing
- generated save not loading
- allow nap at full health
- fix bug on soul crush
- method to get the review json from GRIControl
- record recommended or not in review UI
- unity script for managing review UI
- look up guides on how to write on cloud firestore from node
- look up guides on Cloud Firestore
- create data on post using post data
- user id generation
- try to do post on local server
- other way to simulate posts? Since Haxe isn't being helpful
https://cloud.google.com/appengine/docs/standard/nodejs/create-app - see if you can actually deploy, may need to recreate project?
- cloud shell or local machine?
  - may have to use CrossTarget
- haxe sending stuff by POST
- reset button confirmation
- get information on reset confirmed from view
- fix 'hold keyboard  skip area bug'
- fix mouse problems in Unity (no dragging?)
- no mouse wheel in unity
- release issue 
- auto-select memory tab button after story end
- do not allow confirm event if element invisible
- keyboard press is ignoring conditions
- currently selected region being the keyboard button is bad
- having multiple ui elements hovered at the same time is bad usability
- lower save rate
- add reload support for C#

- buff the reaper
- put in game credits
- make main URL be phaser version
- move legacy version to legacy URL
- clone git deploy repository in a safe place
- skills from letter to number
- setup steam beta
- re-export unity
- unity open url
- fix initial resolution problem
- story images incorrect
- keyboard on unity
- update images of unity project
- check if pre-rellease is putting resources in unity proj
- areas being unlocked when doing soul crush bug
- bad text contrast
- north support to title screen
- item cursor group to tab north
 - add cursor to story
 - north handling on region cursor group and area cursor group
 - cancel support on region cursor group
- set the down group of the reigion whenever you change tab
- fix the situation with the keyboard and mouse fighting for hover
- use it to stop the auto cursoring when interacting with the slot button
- use it to stop the auto scrolling to cursored
- create a latest input device system 
- bug: wasd moving two instead of one
- bug: able to cursor into deleted hidden equipment
- automatic scrolling when using keyboard navigation on scrollable
- add cursor group to equip
- separated ui elements into the 3 groups
- add cursor group to title
- redraw equipment screen with button tooltips
- cancel tab of upper tab be tab cursor group
- cancel tab of main tab be tab cursor group
- change cursor groups when pressing ESC
- disabled hovered style
- selected hovered style
- implement cursor graphics ingame
- export and add cursor images to playscene
- cursor graphics on inkscape
- do not allow the cursor on uielements which are invisible
- make it so that tab cursor group has some memory feature
- make upper element thing redirect to tab cursor group
- create cursor group for tabs
- pressing a direction that has nothing will trigger a check for a noElement thing, possibly changing cursor group
- pressing a direction will change currently cursored element
- make cursored thing be hovered
- copy from JS keyboard arrays to Keyboard arrays, instead of directly using the data, because then you can control the timing the arrays get read/emptied
- make buttons empty arrays every frame
- check if keyboard stuff is getting removed every frame (probably are)
- When pressing CONFIRM, activate pressed thing for uielement
- when entering battle tab, enter in the keyboard group (have a map that defines the initial keyboard group of each tab)
- assign first element in cursor group
- create cursor group when adding battle buttons
- UIInputManager class in UI folder
- add necessary data related to cursor (cursorable?)
- rename from keyboardgroup to CursorGroup
- create class that translates keyboard input to button input
- finish default UI binding class which initializes a default UI binding group
- JS mapper to keyboard final keys
- keyboard final keys with correct numbers
- create Keyboard final keys 
- create default binding file
- create button binding file
- create keyboard group class
- investigate tartarus 60 problem
- write post for posting steam page
- commit 0.4r in unstable_phaser folder
- 0.4r issue
- fuse two images on python as a test
- tweak discord image problems
- recreate commons mechanism
- Resolution investigation
- tooltip to autorepeat
- add different hover data support for enabled and disabled 
- if XP is capped, change XP to text to 'max'
- if XP is capped, don't award XP
- method to check if XP is on cap or above cap
- make auto-progress button only unlock at level 20
- auto action that only unlocks at level 20 
- add new button to game and make it change the auto-progress setting in battle manager
- add image on playscene
- fix tests
- create image and export it
- fix hover thing not disappearing when the object disappears (tag visibility should also check)
- remove equipment variance
- equipment level visualization
- Steam achievement integration
- test if achievement unlocks on fixed build
- upload new build to steam
- code to report achievement
- gett app id thing
- create achievement in Steam 
- Steam beta local save
- local save working in Unity (no save importing for now)
- reexport csharpcode
- test another json library
- port cutscene generation to new json
- port storypersistence to new json
- port general data to new json - commit this
- if wdata is smaller or equal to 3003, use legacy json load in wdata
- commit everything before implementing new json library D: for reals
- write some tests on new json library to see if it is safe
- Fix unity get local resource issue & story integration issue
- put them into Unity
- automate copying to unity
- move unity project and add unity ignore
- regenerate csharp sources
- investigate soul crush level 50 problem
- fix enemy buff running out bug
- fix enemy stats showing up when they shouldn~t
- enemy name on region menu
- way to get region name
- reorganize button priority in title screen
- button text default color
- text color in style
- button icons image white even when disabled 
### VERSION RE0.03
- release new version on unstable phaser
- release script
- keep going through version requirements
- speed seems to be bugged somehow
- hover on achievement
- First achievements based on globals system
- check achievements not unlocking code
- fix achievement layout
- correctly tag achievement images
- manually added images to playscene
- create actual achievements
- mechanism to feed area progress into globals
- call relevant achievement contorl methods in gricontrol
- character tab commit
- cancel commit if building test fails
- fix testing
- character tab
- achievement control to gricontrol
- load achievement data
- save achievement data
- move general game persistence data to battle manager
- create achievement model update
- call achievement model update in battle manager
- achievement model in battle manager
- move global data to battle manager
- create CharacterTabView.hx
- create CharacterTabControl.hx
- change alpha of achievement based on persistence state
- commit the changes, using a message like "fixed tests, achievement view code"
- fix build test and run tests
- create method to feed the views
- create method to allocate the views
- create logic class
- create achievementview.hx
- create mockup of achievement screen
- create achievement class
- create Achievement.hx
- write code to check condition
- create condition.hx 
 - might be better to write another system which can be rendered to the player
- create condition system for achievements while also checking the yarn system
- decide content of the 6 achievements
- investigate how to do achievement graphics
- cap out area XP at 50.000 + area * 100
- cap out level XP at 200.000, increasing at 200.000 + level * 1000
- cap out area XP at some point
- fix 1000 speed bug
- make every battle start with player turn if player has higher speed. If not, count is zero for both.
- rethink disabled color in buttons
- version name visible
- reorganize home.md
  - no reason to replace the older version repository
  - maybe just add testing to gri_canvas project, along side making it a manager.py project
- make GRI phaser official GRI
- report day 1, day 2, day 3, day 7, day 30, day 60, day 90 rolling retention
- if day is ever negative or goes back in time, report that
- if hasn't reported, but is within the day range, report normal retention
- calculate day range between now and start date
- keep track of latest day retention reported
- send game start event through analytics
- throw event on battle control during game start
- save starting version of game
- save start date
- see how to keep track of current time
- add playtime class in wdata
- create playtime data class
- start integrating all events
- bring analytics js and integrate with html
- Story feels too easy to ignore, just go to another tab, no idea on what is going on
- what is up with the 999 in enemy stats
- clicking on wolf fields bugs up the game (bug - stop playing the game)
- make accept button accept the terms persistently and change mode
- make link button open privacy URL
- persistence check to see if user has answered privacy policy, changing mode accordingly
- hide all normal title buttons if analytics mode
- create analytics accept mode in title control
- fix region skip bug
- port over story
- story saving
- input processing on memory tab
- fix weird scaling on story icons
- add character icons to story
- expand viewport (how, maybe stop the layout thing from automatic width)
- scroll up when restarting story
- auto scroll when advancing messages
- reset messages when you restart the cutscene
- when adding with offset also make it share the mask
- add scroll to story
- debug scroll in story
- if no cutscene, go to back to memory tab
- test button logic and make sure it works
- button logic functionality
- add story buttons
- on start story, change tab if necessary
- when creating story messages, should use story message tags
- initialize message text in messageview
- invert scroll direction gri
- call update of story control in gricontrol
- initialize story control in GRIControl
- feed story buttons from story control    
- fix story control errors
- add story control file to gricontrol for errors
- create layout for story buttons
- continue griviewmemorytab with feedStoryButtons style methods
- create memory tab
- add buttons to story mockup
- fix story view compilation errors and continue implementation
- add story view file to GRIControl just to get compilation errors
- copy over latestmessageupdate method to story view
- storyview have two lists (message left, message right)
- create message view class
- create story view file
- create story layout
- scrollwhell button
- you need to make tooltips NOT go off the screen. every 3rd piece of equipment is unreadable.
- hide hovers of things which are not visible
- wrong currencies getting updated
- fix upgrading skill sets (make it impossible)
- feed save on title screen
- export save is broken
- revise story UI
- enemy battle stats in region menu
- feed actor information as appropriate
- create actor view in region menu, on region_enemy_stat layout
- create layout for battle stats in region menu
- show stats on hover in battle, hero and enemy
- background to actor view
- also make layout visible for enemies
- feed hero view stats
- make layout visible only when hovering hero view
- create actor stat view on layout id
- create layout id and export it
- do a test build for a beta demo on Steam 
- follow guide to export Unity game to Steam
- do a sanity build for Unity
- keep doing the Unity build, make the game functional
- use local phaser js
- dialog when defeat strong enemy and get permanent stat bonus
- death thing as a buff, with less alpha in player character
- ZzZ sleep thing as a buff, with less alpha in player character
- I'm at home 0/0, wtf does 0/0 means
- I can see a repeat icon with no button and it looks weird
- touch support for phaser
- remove other thing in equip tab
- release on URL
- when changing regions, reset the scroll in areas
- fix soul crush by importing old code
- show level and XP bar
- create new create bar method
- release on new URL
- play a bit before releasing
- stat hide if too many, actor full view
- hide battle icon when actor is null or has HP zero
- put something to signalize current acting actor in turn order once you get home
- just offset a rect to the first turn image
- draw actor images
- change actor image to correct sprite
- position actor image and add it
- how to solve current situation involving?
- add conditions from old version of the game to showing the turn order
- move enemy actor battle view up
- draw turn order
- add actor images them on playscene
- get actor images 
- show logo on title
- add color transfer on button icons
- optionally transfer color when doing offsets
- export Steam and Discord logos in inskcape and see if you can get good lowres images
- skill sets always equipped support
- move save import to title screen
- when you enter equip screen, have it reset back to equipping
- fix piercing in heavy swords bastard
- stop increasing lagrima & lagrima stones
- if game has started, hide continue button
- Initial skill support
- hide speed count
- hide all stats which are zero
- continue button and change the way the game flows to have to press 'Continue'
- break down Gricontrol to have title loading separated from other loadings
- show currencies in equip
- feed icons to currency view
- add optional icon to stat view
- make sure currency view is visible, then tweak layout
- feed currency view through method
- currency view in equip view
- create code to instantiate stat views as necessary
- create CurrencyView.hx file
- currency UI mockup
- Reset button
- Steam button functionality
- add text and image to steam button
- create empty steam button view
- Discord button functionality
- setupUI method in titleview that creates discord button view
- create titlecontrol.hx & titleview.hx
- steam and discord pngs loaded
- layout for title buttons
- titletab button & tag
- save export functional and presentable
- save import functional and presentable
- create a way to hide and show import element, only on battle
- reposition import to be inside canvas somehow (free position?)
- make import functional even if ugly
- create HTML element save stuff on FileAccess.hx
- make sure SOUL CRUSH doesn't trigger when you close unrelated dialog
- upgrade with dialogs for telling when you get currency for completing
- scroll on battle areas
- hover on buffs
- hover on stats equip screen
- mp charge different color
- attempt to greatly increase max number of equipment view in page (no more page, really)
- show buffs
- buff debuff colors on image and text
- debuff image
- change position of buff text depending on the buff position
- feed buff image while centering it at the text center
- create a map of buff id to buff image
- instantiate as necessary
- array of buff view in actor view
- equipment also have selected state
- add blue button frame as selected style 9 thing
- add blue button frame image
- select equipped based on selected equip type
- export blue button frame
- tab button have selected state
- support for UI element selected
- sell worse button
- upgrade button functional and understandable
- sell button functional and understandable
- do update of sellable and upgradable in update instead of when changing modes
- disable buttons which cannot be upgraded in upgrade mode
- disable buttons which cannot be sold in sell mode
- in sell mode, clicking sells instead of equipping
- show price in upgrade mode
- show money in sell mode
- increase scroll leeway
- put special equipment stuff in scroll
- create sell/upgrade label in each button
- create layout for below buttons in equip
- remove test text stuff from drop slot
- fix position of stat text of actor
- fix tag problems when doing actor stat of equip
- fix tag problems when doing equip overlay stats
- change tab button to new design
- change area and go to battle tab when clicking area button
- do a proxy length to stop areas overload from showing
- show area buttons when pressing region button
- region button tab
- feed region buttons
- take a look at original region feed code and create new data format for region feeding
- create generic class for feeding UI, with multiple lists containing headers and options for visibility
- create 3 new layouts
- revise region tab
- show area progress
- advance, retreat, area will all be offsets of the layout background
- show area label
- make advance and retreat be smaller buttons
- create support for small button
- unify part of button creation between text and image
- create advance button inside griview and offset it to new layout
- two modes for layout: background fit children, backgroudn fit element
- method: add image button 
- add images in code
- create 2 necessary layouts (advance, retreat, area) & (rewind, soul)
- export 3 button images
- revamp area progress to have other buttons too
- revamp initial screen mockup to include level information?
- skills in equipment show
- investigate skills gotten not showing in equip
- hide equip hover when not in use
- reposition generic hover
- hide skill hover when not in use
- feed skill info to generic hover
- uimanager inform hover manager of hovered element
- uimanager have reference to hover manager
- hover manager have code to resize text height and resize layout
- hover data for uielement in hover file
- create hover file
- generic hover widget with header and description
- archetype to static final 
- equipment stat visualization
- for the hover maybe you need to create a movable layout
- feed basic attributes to equipment hover
- feed layout equipment name to header
- array of texts for equipment hover
- reposition equip stat hover layout as necessary
- create layer system
- add background to equip stat hover layout
   - basically layout integ has reference to BG element, if it is BG it will make it fit the entire layout. There is also optional margins
- create system for having a background element to an layout
- add Header to stat hover
- create a layout for equip stat hover
- player stat visualization
- change color of after stat based on increase or decrease
- show after stat ONLY if it is different
- write code to calculate stat after equipping
- expand ActorViewLogic feed to have an optional after stats field
- have a method for battle control to equip, feed aux, revert equip and return aux
- have a method for battle control to feed copy stats to an aux
- get current equip pos hovered
- feed stat current value
- feed stat header
- fix weird layout
- create example with dummy data of a stat
- create offset system
- feed equipment name in event log
- array of elements for event log
- create layout for event log
 - play Bravely Default for a while
- write out options for logging loot
- equipment tab show condition
- mp charge show
- upload new ui build and share on discord
- release issue
- revamped soul crush with removal of currency, removed max level system
- soul crush description
- feeding enemy names
- feeding mp values
- mp bar being blue
- remove red stuff
- stop clicks beyond the mask (how? calculate intersection at every frame? or just check if the mask is also getting clicked...?)
- add min width - min height check to rect drawing if not there
- text getting bugged up beyond the mask
- do the TO DO in drawScaledSubimage 
- rect getting rendered beyond the mask
- scroll on equipment view
- think about how to do scroll and layout at the same time
  - is the scroll offset being ignored?
  - is the scroll getting recalculated every frame?
  - is input being processed?
- see why scroll is not taking input
- when you recalculate the layout of something which has a scroll, reset scroll and recalculate the scroll size
- have an option on scroll to not update the scroll
- hide equipment views not used
- update currently equipped name
- clicking on equipment equips it
- change equipments displayed according to which equipment you choose in the left
- add current equipment buttons
- create method from equip control to feed equip type names, also creates the equipment buttons
- create layout for current equipments
- divide information in tabs
- create layout for tabs
- change button size for equipment view
- call equip view update method and see what hapepns
- feed equipment information method
- fixed layout overflow code
- create equipment view class
- create mechanism for setting tags inside tab
- create ui layout for equipment buttons
- change dialog header text to be special
- support for different font names in ui element
- fix font centering
- prepare new bitmap fonts
- hide enemy view if no enemy
- HP bar like mockup
- feed actor view from control
- add actor and enemy battle view in view, using layoutless positions for now
- create method to draw sprite name
- create battle actor view structure 
- create bar view structure
- fix text height when adding
- fix positioning of buttons
- create draw hog in ui
- create logic for showing and hiding the dialog when cliking soul crush
- implement layout
- write down layout tasks necessary to make this happen
- add title to the dialog layout
- add text to the dialog layout
- create method to make text height fit content
- implement screen pivot
- data for screen pivot
- multi line text support
- create line information which has startIndex, endIndex and width
- tag input blocking system
- tag visibility system
- add tag system to elements
- sleep / wake up changing - text for prestige
- verify if buttons should be disappearing or not
- hide images in every frame
- implementing disabled buttons
- phaser rect drawing issue
- use white texture to draw rects in phaser
- create white texture
- make sure image tinting is working
- setup mouse
- fix rendering issues
- add phaser support to the renderer class
- add method to render image
- create image manager
- fix scaling issue
- organize project in new JS folder
- decide if will move over to JS canvas or not with the previous experiments results
- CONCERN 2: moving game to pure JS canvas?
- try to render text and rectangles on JS canvas
- create javascript only system to manage images
- move over jsut the rendering classes from kha graphic, xtext, and the font files
- draw the button 9 thingy on JS canvas
- CONCERN 1: can you compile core game to C# and read it?
- open CS sources in Unity
- create CS sources
- implement saving
- implement loading
- battle buttons visibility and enability
- battle buttons
- implement look of disabled buttons in game
- draw disabled style when necessary
- disabled style in uielement
- draw border with color
- add border color to uielement
- add border to uielement
- create design of disabled buttons in inkscape
- make not enabled buttons unclickable
- make invisible buttons not be drawn
- control visibility - enability of all buttons
- prestige button
- figure out how to make the game adapt resolution
- take out black out of text
button labels
render text in center of the UI
add text to UI element
render text centered
sleep button
rest button 
level up button
create system to bind events with buttons
- debug new button not hovering
- clean up main and take out rendering in gricontrol
- enforce adding in buttons through genlayout
read json in gri
haxexui export json
move UI code to gricontrol
draw hero and enemy HP in kha
draw text support in renderer with mask
debug text rendering
figure out how to make main code accessible from kha
migrate to visual studio code
- scroll the 10 buttons successfully
- implement scroll on multiple objects
- implement mask
- rewrite rendering code to further separate from kha
- implement mask for rects
- have an array of UI elements in UI scroll and reposition then with scroll
- calculate scroll offset
- send mouse delta with scroll to UIScrollLogic
- calculate mouse delta
- create 10 buttons
write method to draw 9patch
get a clickable button working
- render sprite and text rendering in kha
- got game working on electron
- reverted haxe ui version
- remove keyboard support if not JS
- make local storage code cross target
- move local storage code to CrossTarget class
- announce on Discord in the morning
- region progress bug if close game after soul crush
- soul crush isn't resetting the buttons in lagrima continent
- fix skill get extra kill on dead enemy
- fix region tab unlock unclick bug 
## 0. - Setup Steam page
- put link to Steam page in game
- make kha render one image
- fix enemy image not disappearing on death bug
## 0.22 - max number of equipments per equipment type
- update story so the message about soul crush goes in
- test full equipment messages and no bugs
- show dialogs for both event A and B
- After you get an equipment, do a check, if at limit, add anyways but fire event B
- when you get an equipment, do a check. If at limit, do not add and fire Event A
- final var for max n of equipments per type (100 weapons, 100 armors, etc)
- explanation that soul crush is in character tab
- if above level 1, always allow character tab because you need to soul crush
## 0.21 - fix equipment with pages 
- equipment load time problem: divide by pages?  limit amount? 
- fix equipment screen to have pages
- hide pages if page is only 1
- make pages be above 0
- make page numbers reset when below 
- change main so that it only updates viewPos when attempt to draw (not necessarily a success)
- in main, make the view id only update values if try to do feed base succeeds
- fix feed base method
- in view, change feed base method to take into account page and return false if not inside page
- finish up method to feed page view holder
- make the page view holder into a field
- create page view changer widget
- int in view for current page
- int for max number of equip views per page (25 or 50 or 75?)
- add index to equipment view and make it report using that
## 0.20 - fix up
- boss images
## 0.20 - fix up
- boss images
- fix up position of the privacy
- call that initial view step during the privacy showing
- break down view creation title thing into a step which only loads the tab and logo, without the menu
- nerf soul crush
- make sure weird level button not working bug fixed
- fix set -> skill -> overlay bug
- put level up button back into main screen
- nerf blood
- hide enemy image on death
- Cid described as red haired man
- do a quick clean up on the cutscenes (adding the shortest possible paragraph situating the scene)
- Setup steam library images
- take 5 screenshots of the game on a good screen
- find a way to take good screenshots on mac (changing mac itself to 1980x1080?)
- change github repository to a different private repository
- background color in story 'containers'
- fix padding & others title
- change style of tab buttons (make them bigger and more similar to inkscape mockup if possible)
- fix padding regions
- fix padding character tab
- make the 3 value views on character tab have larger widths
## 0.19D battle screen reorganization
- redo battle screen like the paint mockup (mainly a bunch of centering)
- attempt battle buttons as horizontal menu above set buttons
- show max level in character tab
- fix character tab layout problems
- move reset game to game tab
- move le vel up, soul crush to character tab
- add button menu to charatab left menu
- add base stats to left menu
- add level and XP to left menu 
- add left container to character tab similar to title
## 0.19C game tab

- make the save stuff menu have vertical align bottom
- change menu style so that the container is not the button holder, and has height 100%
- remove upper menu from the game, leaving only version name
- add game logo
- import save support before game starts
- hide away export save data if no save data
- make region tab be after title tab
- clicking on continue or new game change tab to battle tab
- change name of start game button to continue game if has save data
- hide start game button after start
- make start game button into a field
- make start game button add additional stuff
- write flow of new game
- fix css of link 
- import save menu
- export save data button
- road map button
- open URL in another tab
- discord button in game tab in first read
- create new logo
## 0.19B battle screen animations?
- make cutscene titleless in window
- lower alpha transparency of turn order images or darken them so they are less distracting
- make border of turn order have fixed size
- equipment set overlay in battle appearing out of screen
- would appreciate a new line between Gained access and "Accessed by using the region tab" (also fix to tab instead of tabs)
- investigate if tabs aren't getting refreshed every frame and that is causing tab bug
- make attack differentiate between enemy and hero
- test
- API calls in main for animations
- add position code in update component code
- create class with empty api calls to be called by main
- write down API calls that will be seen by main
- remove useless container from area - progress
## 0.19A turn order visualization
- make hbox that contains turn order into a container
- clear turn order if enemy life is zero
- center vertically turn images
- create array of images for the turn images
- method to calculate turn order
- continue implementation of RefreshCalculatedTurnOrder
- data array of turn orders
- data for last acting actor in bm
- actor to view feed image depending on hero or enemy
- add image to actor view typedef
- add icon to normal actor view
- export both icons to the game
- take a small look at dungeon square enix
- investigate fadein thing in battle buttons
## 0.18E - story auto play & animation
- investigate appear animation for first buttons
- try to add long fade in to when button first gets unlocked
- investigate how to set fade in animation time in haxe ui through styles or something
- story should just play itself
## 0.18D - graphic change on hovered elements
investigate gradient as hover background
investigate gradient in javascript
add hover class to valueview bar
investigate a bit on how haxe ui generates gradient
- investigate graphical change on player normal view
- create css with HTML on javascript apge thing
- Popup when you unlock an region 
0.18B small improvements
- hover on actor view complete stats
- simple hover text with 'equipment set 1'
- add which equips you have to the set
- header on region permanent upgrades
- enable - disable character tab and region tab based on actions
- enable - disable equipment set parent depending on actions
- visible manag for set parent both
- visible management for character tab and region tab on actions
- create battle action for character tab, region tab and equipment sets battle - menu
## 0.18 - Hover system overhaul
Hover on stats
Hover on skills
- hover on battle button
- add defaultHoverSupport to the battle buttons
- create addDefaultHoverSupport method to the view to add listeners
- create a subsystem with automatic hovering, using a map between component and text
- hover action for buffs
- hover component with text only
- separate buffs into their own label in a box
- create method "FinishFeedBuffInfo(actorView, buffPos)"
- feed buff text from main
- finish up instantiate in feedbuffview
- feed buffs in main
- buff parent in actor view
- create method "FeedBuffview(actorView, buffPos, text)"
- data for buff explanation in same place where you have a buff id to text thing
## 0.17 Player menu

- clicking on battle area button make it go to battle tab
- investigate lagrima stone bug
- spacing between each view in character
- headers to explain each view in character
- feedAreaBonus (index, name, level)
- area bonus parent as a field
- create typedef for area bonus
- update stats columns in main
- create column with equip stats in view
- create column with base stats in view
- create tab with player
- create method to recalculate stats without equipment
## 0.16
Change graphics
Bosses HP bonus
- delete old code with TODO in createAreaEnemy
- delete old UI elements for area and region
- only show region tab if max tab region larger than 1
- change order of equipment and battle area
create scroll view with the region buttons
- create areaButtonHover in main and feed enemy stats there
- handle null enemy case in enemy preview
- create method to get enemy data of enemy in region - area IF it is showing a different id - region
fix bug of enemy not being correct
correct method in area button region tab
area into scroll with hbox
area into scroll 
use area names to feed buttons in region tab
feed area name from areaNames 
create refreshAreaNames(region, maxArea, areaNames) method
create tab for region
- EMERGENCY: create test for region change weird bug testing
## 0.15A - Fix prestige problems & release
- post in FF
- release 
- push to github
- create itch io upload system
- create itch.sh
- generate builds and check if commons is being copied
 Manually test old save (will automate later I guess)
 investigate weird bug of region progress containing null problem
- stop decaying of items which don't have base items
- disable selling of equipment equipped in other sets
 play test game to find problems and fix them
- nerf the base enemies because they are a pain in the ass
- check for all sets when doing soul crush
- change soul crush to instead of gimping equip, change equipment to base item level 1, generation level 1, and reset upgrade levels
- create method regenerate equip to a certain level which only changes attributes included in the abse item
- MP punishment when changing equipment removal
- Variety feels nice, a bit hard to notice next battle is a boss (maybe 'next area (boss)' wouuld be best, with red text on 'boss')
- First boss is too strong
- research icons for tabs
- build UI mock up with organized information for battle
- isolated revamped tabs based on the other variation of LOL tabs which are frameless
- equipment mockup with pixel art icons
- first version of battle mockup
- greatly debuff weak enemies to be as weak as goblin to increase game speed
## 0.14H enemy names II
- hero UI is broken
- 'Fight the Boss' button if next area is a boss area
- enemy names in different regions
- add an A, B, C, depending on the battle area
- if only has one element in the array, always make it that element
- adapt lagrima enemy thingy to be an array of arrays
## 0.14G enemy names
- Boss enemy name
- enemy names with element
- basic enemy names
## 0.14F mix procedural with by hand levels if necessary after a play through
- decide how to do the mix of procedural and hand made (manually create the first level of procedural unit?)
- reset progress and play through game
## 0.14E2 change value view to fit more stuff (either by increasing width or by adding support to multiline)
- change elemental damage calculation for new values
- make area label have higher bar size and readjust elemental damages
- Change actor view to have variable size, while also changing view sizes
- Change value view to have variable size, controlling both full size and bar size
## 0.14E elemental weakness
- enforce element damage to create elemental weakness
- change element damage to be centered around 0 (so fire-dmg 150 would be +150%, while fire-dmg -30 would be -30% of damage )
## 0.14D area generation with elements too
- add equipment to enemy if has the equipment in area
- make the unit select from things including the 4 enemy sheet null dungeons
- if area has no enemy sheet for generation, randomly pick an enemy sheet to return DURING the repetition generation step => use the predictable seed (will have to adapt the code to have an option to overwrite the enemy sheet)
- adapt generation algorithm to have null sheet?
- add a map int to equipment in the enemy generator
## 0.14C attack spells and home area offset
- make the first area be home and offset the area access by 1
- create the three basic attack spells
- wrote about how to implement elemental attacks
## 0.14B area generation with enemy type only
- fix forest repetition not happening in order
- generate area name based on base elements and repetition counts (based on the PUR basically)
- enforce nEnemies in Lagrima Continent
- create mechanism to repeat areas if beyond the maximum amount
- fix tests
- call methods to generate the procedural units with repetition, with 4 types of areas (goblin, dog, turtle, Liece)
- created methods and data structure to generate procedural unit with repetition
- take a quick look at the legacy code you were developing for this task way back
## 0.14A skill actions to keyboard functional
- fix keyboard input skill
- write about area generation
## 0.13 - equipment sets
- fix position of overlay so that it doesn't go below the screen
- recalculate equipment slots for all sets when deleting items
- show stats of equipment set in overlay
- react to equipmentAction_SetPreview callback in main
- equipmentAction_SetPreview callback called from view
- setup equipment set selector in battle too
- call the method from main
- method: feed amount of equipment sets and current set equipped, to all components
- method: feed amount of equipment sets and current set equipped, to a particular component
- method to change equipment set
- adapt data structure to have equipment sets
## 0.12G
- itch release
- NEW red label darker if dark
## 0.12F
- create mechanism for updating the actor in real time
- remove random text from the actor overlay
- add night mode
- fix background of menu upper part but maybe mendoukusai
- fix overlay bg color
- fix skill button 
- soul stone get message showing as xnull
- position overlay in a way that tries to be to the right and above overlayed object with a view method
- border in overlay
- white backgroudn in overlay
- hide overlay after it leaves hero actor view
- add hover callback to enemy actor view to swap which actor view to show
- while hero actor view is on hover, feed hero information to overlayActorFullView
- add hover callback to hero actor view
- figure how to get a callback or boolean to know if overlay is showing
- create overlay object in view that is an vbox for now
- figure out how to do overlays
- filter out some of the stats
- print out all stats
- feed attack life defense etc in new equipHeroStats
- remove legacy attack, life, defense, etc views
- add new data structure to view as equipHeroStats
- create chara view structure with array of value view
## 0.12E lagrima stone message 
inform player they have obtained soul stone when reaching item limit (warning you can disable?)
show warning message upon reaching limit
event when reach limit of item
- fix sell receiving less money
## 0.12D - Limit break functional
- change upgrade to break limit when necessary
- logic to enforce button disable if not enough limit break resources
- if should be limit break instead of upgrade, change label
## 0.12C - test blood, noble, upgrading
- enforce level max for real
- hide XP bar and label if at max level
- disable level up if at max level
- test noble
- create save data with all skills
- debug blood
## 0.12B - Defeat boss message window
- test boss defeat window
- reallocate the permanent upgrade stats to a boss defeat window
- find code that calls warning (add button?) and reuse for defeat boss event
## 0.12 - currency / upgrade system (no ascension)
- Discard all be sell all
- show upgrade level in equipment somewhere (+++, XXX, YYY, ZZZ? After item name)
- if max level, do not show upgrade button at all
- show money in equip screen, above life, but with a space between resources and life
- manage currency view from main (adding lagrima and lagrima stone)
- add currency view when adding attack view and etc
- create array of currency view
- figure out how to show cost and gain on button
- disable upgrade button if cannot upgrade
- upgrade button functional
- reward money when selling
- need limit stone x n x 3 to limit break (can limit break with currency method)
- Reaching limit rewards with limit stone x n, maybe make n be level divided by 5
- Upgrade cost currency
- getcost method
- can upgrade method with currency check
- Data structure for player currencies
- Upgrade method
- can upgrade method for equip only
- add level - limit level on Reinit if is null
- Add level and limit level on DropItem method
- delete level position when item is deleted
- get position of latest level position
- add to level positions
- create array for level positions
- Level and Limit level on item as outside system
- Bloodlust skill 
- Noblesse skill buff
- Noblesse stat: increases damage by N% but zeroes as soon as you take more than 1 of damage
- Bloodlust buff: doubles damage bonus of bloodthirst 
- Every time you attack, increase full attack power by 5x percent of bloodthirst
- Every time you attack, decrease life by max life percent of bloodthirst
- Blood mod which increases bloodthirst by 1 to 5
## 0.10E QOL and bug fixes
- itch io release
- create system to mark itch-io as separate version in analytics
- fix tests
- release
- make text empty in story button after cutscene
- refix random (have separate random objects, one immaculate and another called fixedRandom)
- "Entry Sheet" on the window looks awful lol when am I gonna fix that
- null thing on story dialog
- reset turns when enemy respawn
- rebalance EXP and test game (less exponentiality to the formula...)
- using debuff on normal enemy in lagrima makes all enemies debuffed
- debuff symbol not downward arrow
- avoid debuff boss not functional avoid debuff
- attack break is breaking self
- fix battle log with battle skill shown after effect
- make other slashes also turn recharge
- test slash
- make slash into a turn recharge skill
- attacking normally reduces turn recharge of skill
- skills with turn recharge cannot be used
- using skill increases turn recharge of skill if has it
- turn recharge int on skill
- move slash back to non-active skill
- create mechanism for storing attack
- make region / area / progress in battle view be horizontal instead of vertical
- the button of the region will stay selected
- if sleeping put icon of sleep
- if dead put icon of death
- nerf further equip on prestige
- boss type enemies do not drop equipment
- Equipment tab not getting the exclamation mark because of your change to how items are added (you cannot rely on length anymore buddy)
- if equip has skill, put space between skill and equip, while putting skill first
- discard remove null while fixing slots
- tests failing I think for discard all
- Change restart to restat area
- create some sanity tests for deleting equipments and slots changing (item pointed by a slot should never change when deleting items)
- fix tests
- unify Width and height of buttons
- put NEW in new equipment gotten
- logic to show and show the 'new'
- add NEW to right up portion of equip view
    - instead of seen/unseen, you want unseen/fresh/seen, so instead of seen:Bool, maybe have a seen:Int
- find a way to keep track of three states 
- how to trigger condition for seen from 0 to 1...?
- keyboard short cuts for battle skills
- soul crush on high area with enemy alive or close to dead bugs...
- put cost of MP in skill button
- fix buff text to be easier to see (bold or higher)
- make name and buff text separate things
- fix pierce problems
- write pierce test
- make skill reset counter of next advance and see if game is improved, revert if necessary
- Force spawn the next enemy before using skill that targets next enemy

- Allow use of skill if enemy is dead if there is a next enemy
- show next area as locked
- make sure there is enough area names for areas
- make sure there is enough level requirements for areas
- add skill level to skill set view
## 0.10D buffing boss, dispel spell
- add skill that can remove boss buffs
- add boss that can buff self
- add buff to enemy specie thing
## 0.10C piercer, debuff spells, buff remover, debuff immunity
- Add boss that is immune to debuffs from self
- add event for buff removal and enforce it
- enforce buff removal
- Add boss that can remove buffs from player
- add buff removal attribute
- Add debuff attack and debuff defense spell
- Add piercer spell
-Add levels to skill slots, with max level of 3, and level 3 only dropping after enemy level 30
- new crystal cannon boss (low HP, high attack, high speed)
## 0.09D2 polish and release
- create TODO task to make analytics dev build after release
- test game for a bit
- perform legacy save files test
- disable equip screen if single equip
- levelling up increase max MP
- increase duration of buffs
- remove multiple buffing stacking
- disable MP bar if no skills usable
- do not allow attack skill if no target to attack
- leveling up heals MP bypassing charging
- changing equipment zeros your MP and removes all buffs
- instead of unlock on level etc, in skill sets, put in ???
## 0.09D Add equipable jobs with randomly generated skill slots
- hide skill names that are not unlocked
- take a look at slash damage calculation
- remove enchant fire
- have default buff icon if no icon
- add icons for new buffs
- remove discard worse in skill set tab
- do not delete items with skill sets
- fix tests
- try to fix discard all by eye
- make it so that type 2 items cannot be unequiped
- change skill usable based on skillset
- add default skill set at main
- draw skill acquired by equipment
- create skill set equip name based on skill set
- make equip drop be a function you can call so you can test drop sets
- handle equip delete to also delete from skill set
- do a separate probability for dropping skill set equipment, while still doing prefix and suffix generation check for rare
- create data for skill sets
- add them to game as late level slot unlocks for now
- Add shield spell to database
- Add haste spell to database
- find out why 'unlocks at bla' message not showing for items
- make slash and heal the initial spells
- Add heal with 15 MP cost, flat heal of 15 with 10% of max life
- Add slash with 10 MP cost and a flat damage bonus of 5, but attack influence of 50%
## 0.09A - functional spells, MP
- Def player bug
- investigate regen not available
- event show on view use skill
- event show on view mp run out
- tone down normal color of MP bar
- event for running out of MP
- events for skill use
- make locked skills have a message with unlock level
- make skills slots only unlockable after you get to a certain level
- stop rest and MP
- change name of MP bar to CHARGE when run out
- draw MP charge instead of bar when charging
- show skill name in button
- bug: enchant-fire should not be so good because it should use magic attack, check that out
- draw buff icons
- create a way to change buff id to icon
- debug MP not reducing
- show mp bar
- mp system like kingdom hearts
- enforce volatile
- have list of volatile attributes for recalculation survival
- put HP, speed count, MP, MPchargecount in volatile
- have list of volatile attributes
- MP charge restore while resting - napping
- MP restore while napping
- MP restore while resting
- level up restore MP
- zero-ing MP causes mp recharge
- reduce mp when using skill
- disable skill button if mp is recharging
- mp recharge stat
- mp and max mp stats
## 0.08E - fire enchant functional
- fix bugs in equipment, old stat buffs getting shown in UI reuse (hide if not being used)
- add fire enchant buttons
- add magic attack to hero
- if is magic attack, use magic attack and magic defense to calculate damage
- if has enchant fire, turn on magic attack bool
- magic attack stat in hero
## 0.08D
- fix equipment null logic
- bugfix: max level goes one level higher than it should
- bugfix: Soul Crush requires one level higher than it claims to require
- put the non-combat log on top
- healing not go over max hp
- buff run out logic
- button for regen spell
- add skill buttons to view bound to the actions
- create actions for 7 battle actions in model
- enforce regen buff
- enforce regen attribute
- regen spell add buff logic (dynamically generate buff, no reason to have some kind of id)
- feed battle manager with spell base data
- forcefully add regen spell to hero
- Data for regen spell
- generic Action data
## 0.08C
create TODO task to make analytics dev build after release
- test saves
- add knife and make it highest DPS
- debuff all attack buffing equipment, but add pierce in exchange
- item different color if has mod
- fix multipliers to be mod 5
- make multipliers apply after adds when calculating
- Mod system
- fix tests
## 0.08B
if multiplier is worse than 100 and the other does not have the multiplier check
test for null in multipliers on discard worse
- do not discard equipped items
- Discard worse equipment take into account multipliers
- draw attributes percent in View
- Great Sword (Speed -%, higher power)
- Attribute percent support in equipment
- generate attribute percent on drop
0.08A
- fix Soul Crush (I think it's bugs when you soul crush without equipment)
- change equip drop event to have item name
- show equip name in the view
- update tests to have item base system
- enemies drop armor of one of the types
- three different armor types
- generate drop item from itembase
- manually create item drop database
- define data structure for item generation
- finish up AddItem method
## 0.07C
- add the links for develotab
- when you reach level 10 or so, unlock a development tab that has instructions on how to suggest new features and help development
- piercing equipment not working
- add pierce equipment
- add pierce support (change how it works to be from 0 to 100)
- change region selection to be tab bar instead of drop down
- separated battle log from important log
- color the equipped stuff with a different color
- cm: have the alert tab thing separated by equipment type by looking at 'seen'
- support for Alert (!) things in tab bars
- fix tests
- update seen based on whether the equipment is visible or not to the player
- change the way to do seen - unseen by adding a 'seen' bool to equipment
- cm: separate tabs for different equipment types
- bind tab bar view to the equipment to show choice
- add tab bar view for equipment types
- have an INT for which equipment type to display in main and enforce when showing equipment
- equipment tab know if have new items
- make left padding across tabs consistent
- Make equip tab full window or larger
## 0.07B
- revert version in analytics back to dev
- release
- support for prestige button to not be with reset
- warning on prestige with benefits and non-benefits
- test: unlock stat bonus, prestige, check if stat is still bonused, unlock stat bonus again, check if stat is still bonused, get one higher bonus, check if stat is still bonused)
- test: closed region verification, unlock region verification, prestige, close veritifaction, unlock region verification (all in one test)
- change the way region bonuses are granted to use records from ALL runs, including current
- record the max record each time you prestige
- make Main send region back to view so it doesn't show wrong region on drop down on prestige
- change check on max region record in update to check ALL regions and update stats accordingly
- if Soul Crush is unabled, change soul crush to "Level ?? to unlock"
- fix story window size stuff on Cid scene
- reset region on prestige
- investigate no bonuses coming up on permanent stat thing
- remove max level of wdata and dynamically calculate it
- recalculate stats
- recalculate XP
- reset area and max area
- reset all region progress
- fix cid cutscene name bug
- make sure prestige button shows up
- when loading old saves, make sure max level is being updated if old save
- when loading old saves, make sure max level is being updated if old save
- make prestige action also have story cleared requirement
- do processing on scripts and add them to processed message runtime data
- make prestige action have level requirement > (level max - 10)
- bind prestige man to his image
- add prestige intro story
- get image for prestige master dude
- add action for prestige
- change the way you calculate region bonuses to use max area record
- update max area record of region
- enforce max level but only stop awarding of XP, do not actually reset the level
- add region max area record to wdata
- add XP multiplier on award XP method based on prestige times
- add prestige times to wdata
- Add max level to wdata
- rewrite a bit the Home.md
- change analytics to dev version after release
- test and release
- new issue for 0.07A release
- fix max area bonus stat calculation
- c: prize events and stronger bosses, better sleep
- buff up wolf speed on level up
- buff up toberry attack further
- buff up tonberry speed on level up
- buff up sleep
- buff up bosses to have arithmetic progression style levels
- event for attribute prize
- enforce attribute prize if has it, in recalculate stats
- feed attribute prize
- typedef for attribute prizes for clearing boss areas, also bool for no XP
- level up button disappearing not so good
- retreat is not a good term (because it causes confusion, 'go to area')
- fix errors on test
- event for region unlock
- fix weird bug of enemy having wrong HP on respawn
- if region above 1, increase area clear XP bonus
- fix reset make it stable
- fix cutscene name bad
- recalculate enemy killed necessary when changing regions
- reset also reset story
- enemies killed number divided by region too
- fix bugs when summoning using sheet
- initialize region progress data
- make legacy data into a mirror of the data
- write code to load old world versions by making use of legacy old area max area
- update world version
- put legacy comments on old area and max area 
- change data to have multiple area and max area
- have region action for callback when changing region
- create drop down for region
- if area does not have generation sheet, do default generation
- implement special level stat
- implement special add stat
- implement multiplier
- if above region 0, generate 10 to 10 levels of that enemy
- area region data
## 0.06D
call method to hide all when main text was reset before
decide how to choose between different images, scroll to end
- investigate how to do images in haxe ui

## 0.06C
- persist story progress
- closing the window becomes 'watch later' effect
- create polish tasks for story (resume watching, watched label, etc)
- prepare data to allow for skip scene and watch later if necessary
- change story tab to memories
- resume watching (only available for non-skipped)
- show previous messages when doing resume
- fix bugs with resume watching...
- disable resume cutscene button if not marked
- new cutscene label if only cleared once and marked for watch again
- resume cutscene button in story widget
- new cutscene label in story widget
- "Watch later" button
- "Skip scene" button
- prioritize early cutscene on story trigger button
- Memory tab has explanation text saying it is for rewatching cutscenes
- Memory tab only unlocks after you complete one cutscene
- fix problems with adding tabs eternally by having a bool to keep track of visibility instead of using parent check shit
- Equip tab only unlocks after you get your first equipment
- hide battle stat ui for hero if never cutscene
- hide container stat ui for hero if never cutscene
- hide container that has area and progress if never cutscene
- expose container all 3 containers
- hide nap and advance button if never completed first cutscene
- enforce visibility enability for equipment tab and memory tab
- create view method to hide tab buttons
- have a visibility enability thing for equipment tab and memory tab
- Keep visible button as a way to decide when to show on battle area (also take into account inmemory)
- have a bool for in memories to replace the function of the current visible button, if in memories it no longer triggers cutscene button but can be accessed from the battle area. Or maybe don't have in memory and just use times cleared > 0
- add little text to make it clear it will be a cutscene once you trigger the button
- change button label when cutscene unlocks
- code to read the action label
- if no story to trigger, disable button
- enforce times cleared
- make cutscene start button start the cutscene that has not been cleared yet and is visible
- add cutscene button to view (disabled unless has cutscene) 
- add buttonlabel to cutscene in yarn
- write down changes you want to make to the beginning of the game structurally
- change story tab name if unlock new story
- keep track of how many cutscenes you have seen available (need to know when the tab was entered)
- fix the wrong cutscene start bug
- test if story unlock works
- write code to feed global to the executer
- enforce visible fields when showing story starter UI
- initialize story persistence with all cutscenes if no story persistence
- read and process CONDITION command in YarnUtil
- write cutscene with condition in yarn
- View method to know if tab visible
- have a visible bool and a verifiedVisible bool (gets set to true when the cutscene has been seen and is visible, tab active)
- model data to have condition haxe script
0.06A
- prepare this for release
- add button to discard worse equipment
- create test function for discard worse equipment
- function to remove worse weapons
- show cutscene title
- remove garbage from story selection screen
- fix wrong order of speaker
- change story dialog layout so that the end button is always in the end

- hide dialog if story is done (cutscene null) (may have to keep track somehow in view)
- button to start a story from tab stories
- add a label to the story tab with scrolling
- make story messages into a popup window
add advance button to this popup window thing
- continue StoryControlLogic and integrate with StoryModel
- cutscene player through static method and typedef for keeping progress
- create new story tab
- json to json transpiler functional
- save the transformed json into a folder on haxe rpg
- create example cutscene
- cannot discard equiped item
Fix bugs
Show back level and XP
Cactuar (average but has piercing attack)
Turtle (Slow, defense, a bit strong)
Tonberry (slow, no defense, but strong)
Wolf (fast and weak)
Goblin
Create method to feed enemy generation sheets
Create typedef for enemy generation sheet
## 0.05C
Equipment increase defense, magic defense and speed
## 0.05B
Redesign system to use defense and magic defense
## 0.05A
show new stats in hero only battle view for now
write code to decide who acts next
add speed, speed counter, defense, magic to actor
## 0.04D
Playable page
## 0.04C
Polish
## 0.04B
Enemies drop armors and they can also increase attack power sometimes
## 0.04A
Has armor. Can equip and un-equip. Life grows higher.
Removed main and added GA javascript code
armor drawn as armor in event
armor drawn as armor in UI
changed index.html
#0.03 patch
fix game analytics to progression event and added new progression events
Enemies can drop armor and slots are fixed
## 0.03E
- make equipment order not change with non-reducing array
- equipment view border that changes color
- make development possible in mac too
- Get current version save for testing compatibility
- enemy drop sword bold
- create version release instructions
- make it so if you die you cannot sleep
- import save function
- export save button
- Replay area button
- mechanism to change sleep action to Nap / Wake Up
- make sleep be not have automatic wake up (special bool for now)
- Have action itself be somewhere else in the main, with a reference to the action too
- Make wdata action not hold the action itself (stop serialization)
- Sleep button
- Fix problem of screen UI changing around all the time
- Change main component from vbox to box
- Decide on a solution to screen from changing sizes on enemy death (actor view fixed height but hidable? Sounds nice hahaha)
- bug of reset and equipment views still there (just refresh browser)
- show all attributes of equipment correctly
- change equipment from vbox to something else with scroll bar
- button to throw away equipment
- enforce slots
- event for dropping sword being shown
## 0.03D2
- Analytics and consent
- Check if tests are buildable with new JS changes to code
- add consent and make game not start without consent
- Save information related to confirmation

- privacy policy has two links and confirmation button
- create privacy policy stuff view    > instead of modal, use a new view
- if area unlock, report that as a design event
- add event for area unlock
- Make GA usable with Javascript
- go to integration guide for GA and see if you can get away with Syntax.code
## 0.03D
Persistence of equipment
weird bug of equipment crash
## 0.03C3
System to run tests through some tests in all backed up save data
## 0.03C2
Save back up system in desktop through node (backup save whenever test, one for each version)
do a cd before running test program
## 0.03C
Some swords can increase max life
## 0.03B
Enemies drop swords somewhat randomly
Drops sword with attack range between 1 and (monster attack / 2) + 2
When defeating opponent, check probability
Define base probability of equip drop
- make retreat come after advance
## 0.03A DONE
Has sword. Can equip and un-equip. Attack stat grows higher
- Can unequip the sword too
- Sword equipped increase attack power
- Equip button for the sword
- Sword view for the sword in equipment tab
- call equipment view methods in main.hx
- method for creation of equipment view
- add label to value view for changing the label of the value view
- equipment tab and battle tab
- Start game with sword in inventory
- Finished 0.2E
- upload build
- link to discord in the game
- link to brave ball 
- <a href="url">link text</a>
  - use HTML text in label 
- link to road map
- title
- Game title and link
- Finished 0.02D2
- Fix life go over limit bug
- Fix area bonus XP
- going to no enemy area should make you rest 
- fix log problem bug
- clean log when reset
- Stop forever grind
- make enemy count reset if you change area from a complete area
- Make enemy stop spawning if reached enough enemies
- fix reset area progress bug
- really enforce timeForFirstAreaProgress
- bm enforce balancing area XP bonus percent of first level up cost
- model area bonus XP as a scalingresource thing
- bm enforce balancing time for first area progress
- bm enforce balancing time for first level up
- bm enforce balancing time to kill first enemy
- event for receiving XP with special color
- create feature for extra XP when completing area
- think about how you want to do area and enemy name generation
- have recovery time when you die and then no enemy
- fix testing and test recovery
- levelling up fully recovers HP and stops recovering
- when gets to full health, stop recovering
- no longer recover HP on death
- if recovering, can change areas but enemies do not spawn
- if recovering, slowly recover HP
- if recovering, do not spawn enemies
- move reset to the upper right part of the screen
- Add hero level up event in both view and model
- separation between area, player info, and battle info
- hide level up and XP while cannot level up
- confirmation on reset
- remove legacy stuff
- start game on area zero which has no enemies and can automatically advance
- hide actor view if enemy is null
- method to toggle visibility of actor view
- action API in model to have persistent action visibility and action enability
- Method to disable and hide buttons by ID
- ID system for buttons
- level up button port
- area change button port
- event log enforce
- event log view
- look up colored labels
- Add enemy death event
- Add hero death event
- Add take damage event
- do not have anyone act on turn hero revives
- do not have anyone act on turn enemy shows up, get XP on kill
- show attack value on actor
- XP bar functional
- enforce area advance view
- enforce area label
- Area Label with max area
- Area advance view with bar "Enemies: "
- feed Level
- HP Bar for both hero and enemy functional
- Add label information for hero and enemy
- Constructor for View class that instatiates both hero and enemy view
- add a type for character view elements
- Create view class file
- Button to level up instead of just leveling up
PROTOTYPE 0.02D DONE
test in game
revamp data system with typedef separated data
    write tests on persistence
    implement persistence for battle area, max area and enemies defeated
    check if data is being loaded correctly
    deserialize data in battle manager
    load data in main main
    call method on update and save to local storage in main update
    continue manager json get method by having all 3 datas
    wrote tasks for implementing persistence
    Investigate persistence in haxe
    investigate out of focus problems on website
    test out commit system 
______________________________________________________________________
### unordered
first wiki commit try
Create todo file and change notes to this file
create file for wiki repositories in homebase
if there is a wiki repository, also commit and push the wiki
delete old tasks.txt
add cds to runner thing
windows build and run scripts on homebase
UI label working
Delta time functional with 1s between actions
PROTOTYPE 0.02A DONE
create structure for level with XP and maxXP
actor get XP and levelling up after defeating enemy
add initialValue to scaling resource, show player stats at the battle manager strings, at first, battle event at second
PROTOTYPE 0.02B DONE
let me know if there are compiler errors
create python commit system
Have int for area in battle manager
create first test function that will change area to hard area, then update 10 times and test if character died
Procedurally generate enemy based on area
show latest task in python
advance areas through a button
fix error
create build file
modify manager.py to also request build file
modify manager.py to also request test file
resetup hrpg project
build command testing
before comitting, if there is a test file, run the test file and check for errors, if there is an error, do not commit
add max life to enemy & make enemy revive to max life
method to draw character, which draws some of the information (HP, max HP, Attack)
make screen update automatically as soon as you change area
PROTOTYPE 0.02C DONE
make sure you can backtrack and change back track button name
Keeps track of how many enemies you killed in each area
ssh stop password
create test for attribute adding (hero level up is kinda weird)
create optional attribute in manager.py to show output of test
debug battlemanager freezing bug
Unlock areas after killing X enemies
disable advance button if can no longer advance, Disable backtrack button if can no longer backtrack
Show which area you are in
PROTOTYPE 0.02C2 DONE