[Code Talk] Forgetting About Witness to Unity

I have neglected to touch on Witness to Unity for a while due to losing motivation when I got stuck in a difficult stage of production. This happens often. This is the most common reason why I will stop working on one project and decide to work on something else. The other times are usually inspiration distracting me from my train of thought.

Sprites are hard, I am not that kind of artist.

However I have been getting other things done and out of the way, like the 20xx character designs. While the story isn't finished (or started), I have reached a nice and tidy stage with it. Witness to Unity is not in such a state on the other hand. I have a long list of things I need to do, or fix, or whatever else, because I keep leaving threads hanging and wondering where I am.

[2013-11-20 10:56:07 p.m.] Taylor: "<state present> fix was required to prevent unnecessary healing."
[2013-11-20 10:56:09 p.m.] Taylor: . _.
[2013-11-20 10:56:19 p.m.] Taylor: ' ^' i don't remember what this means
[2013-11-20 10:56:45 p.m.] Taylor: i write comments and notes to not forget things and clearly that didn't help
[2013-11-20 10:59:33 p.m.] Taylor: ... oh, it was to make sure enemy AI only used a skill that healed status if that status was actually present

Another example is a bug I've been trying to solve for a while with no understanding of it. It seems that RMVXA's default scripts mirror animations based on weapon hand, or by relationship between user and target horizontally. That, or it's another script doing that that I've neglected to check on.

Either way, it created oddities like healing spells that should magically spiral anti-clockwise, going clockwise for certain targets. I needed this function, what with having a side-view battle system, so I needed a way to have animations not mirror under certain circumstances. They should mirror by default, I could assume that a large number of animations would need this.

if animation.target_dir?
targets.each {|target| target.anim_direction = @subject.direction }
elsif !animation.dont_mirror? & !item.for_dead_friend?
targets.each {|target| target.anim_direction = target.direction }
end

This block of code checks if the animation should mirror based on the target's facing direction— wait.

Fuck.

Please hold.

...

if animation.target_dir? || (!animation.dont_mirror? && !item.for_friend? && !item.for_dead_friend?)
targets.each {|target| target.anim_direction = target.direction }
elsif animation.dont_mirror? || item.for_friend? || item.for_dead_friend?
targets.each {|target| target.anim_direction = 0 }      
end

This block of code checks if the animation should mirror based on the target's facing direction. By default, it is based on the user's (@subject's) direction. For whatever reason, this would not behave with all screen or ally targetting spells. This is what I do instead of getting sleep, people. I "fix" code issues I forgot about.

PostedThursday, 21 November 02013 Tagsgames, witness to unity.