I am working on combat. I am creating many new classes and working on having them function together in an inheritance hierarchy which makes sense in describing the entities in combat.
More work on combat and scripting.
It runs now, got setRotation tested.
Now to code collision...
Got collision detection and projectile and enemy movement/spawning working
Fixed a bunch of issues which made inserting into the collisiontree problematic. The issue at hand was that the thread for the entity was still alive, so it basically, by trying to continue moving the entity, caused it to be reinserted into the collisiontree even though the instance was no longer active (i.e. dead). The issue was solved by deleting all relevant threads.
Got a script to fire bullets to work, but there are some problems...
- It seems to be off center, so it's not spawning bullets where I thought they'd spawn, which is around the enemy
- Somehow the collision QuadTree seems to think there are only 2 to 3 entities on the map. That doesn't make sense when there are like 200 bullets flying around.
- I'm not even sure if collision detection is even working or not.
- The rotation for the images is off by something.
- I jumped into making the entire bullet script without testing each little thing bit by bit, so that might be a good way to debug stuff.
Found the code responsible for the lack of function of the collision. Now, just seeing if it's working efficiently.
Collision generally works, but sometimes there is an error which causes something between two partitions to be removed from the collision QuadTree. I might throw in a fix to prevent that just in case it happens, but besides that, the collision largely works now!
Got the player added to the picture. Now you can move the player around. Also, the GUI works now. I like how the GUI is so generally isolated from the rest of the program that all I needed to do was ensure that the updating still happened by changing a bit in the update() code.
Working on getting some of Wenyu's graphics integrated into the game. An issue has come up with certain methods - I'm going to commit before trying to fix things.
Realized that ScriptableClasses shouldn't be responsible for holding temporary information - the threads which call them should! So I changed the move-functions so that they require a passing of the related Thread in order to work
The basic deer enemy has been partially scripted.
Ready to script even more enemies
I managed to successfully script the swallow enemy. Now, there's something I need to do - I need to write the scripting command that allows the thread to get its own threadName.
Finished scripting the deer so that it has its charging attack. For some reason, occasionally the program crashes because of some Thread-related issue, although I don't really know what the cause it. It doesn't happen very often though, so further investigation is needed to figure out the cause.
New tilesets and new forest map
Add missing tileset
Fix ForestVillage events
- Also added new boss music
Merge branch 'master' of https://github.com/codingvoyage/voyagequest