Users browsing this thread: 1 Guest(s)
Let's Hack FF6 Stream - Week 2

#11
Posts: 826
Threads: 11
Thanks Received: 22
Thanks Given: 13
Joined: Nov 2011
Reputation: 16
Status
Double
(03-28-2016, 11:17 PM)B-Run Wrote: I'm liking these suggestions... I think we should keep it to existing abilities... then adjust the power or other small edits in the code manually, because i don't want to mess with any enemies that use the abilities.

Wasn't sure either way, which is why I did both. Tongue

As for Launcher, I think it would have to do straight damage instead of percentage based damage to work.  Otherwise it's useless (or OP, if enemies can't be immune) against bosses and a bunch of enemies.

Also, what's the thought process behind Hyperdrive for Cyan? I can't think of a connection in particular.


Confused Moogles FTW
Quote  

#12
Posts: 3,971
Threads: 279
Thanks Received: 237
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
For the algorithm you're saying something like this? Basically this would increae of 1/16 each status or equipment check. Then if the DA is happening, do a calculation based on stats. If the calculation is below a certain number, first DA has 75% of chance of happening, otherwise it drops to 25%. This mean even at higher stats you could trigger the first DA but less often. This is a pseudo-code suggestion so don't treat it as perfect.

Code:
check if low health
if low health:
GetRandom
CMP #$80
BCC DAhappening
BRA exit
if not low health:
--Status block (can be repeated for each possible status if on different status bytes)--
LDA #$10
PHA
load status byte X
CMP special status
BRA nostatus
PLA
ADC #$10
PHA
nostatus:
--weapon check block--
LDX $00
LDA weaponSlot
loopWeaponStart:
CMP weponTable,X
BEQ exitWeaponLoop
INX (next weapon in table)
CPX #$16 (table has 16 possible weapons)
BEQ ShieldBlock
BRA loopWeaponStart
exitWeaponLoop:
PLA
ADC #$10
PHA
ShieldBlock:
--Repeat weapon block for shield and/or relic, etc...--
-- next, check if DA will happend--
StatsBlock:
PLA
STA $1440 (store the % of chance, this could also be done before instead of PLAs and PHAs)
GetRandomNumber
CMP $1440
BCC DAhappening
BRA exit
DAhappening:
do the stats calculation!
GetRandomNumber
CMP limitOfFirstDA
BCC firstDAmorePossible (if number calculated below limitOfFirstDA)
GetRandomNumber
CMP #$40
BCC firstDA (if < 25%)
BRA secondDA
firstDAmorePossible :
GetRandomNumber
CMP #$C0
BCC firstDA (if < 75%)
secondDA:
LDA spell2
firstDA:
LDA Spell1
  Find
Quote  
[-] The following 1 user says Thank You to madsiur for this post:
  • B-Run (03-31-2016)

#13
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
Yeah we can edit any of the bytes really... launcher is basically just for the animation...

And I picked Hyperdrive because its from another "notable" swordsman, Sigfried... Also, it looks, at least to me, like a ground splitting sword attack... also i cant think of anything better. like there's not much that fits Cyan very well... I'm just stabbing in the dark, more or less...

Mad: i will look over that calc tomorrow and get back to you. too tired tonight.
  Find
Quote  

#14
Posts: 127
Threads: 8
Thanks Received: 21
Thanks Given: 12
Joined: Jan 2012
Reputation: 13
Status
None
I see you already have some ideas on the algorithm. I'll put just put this here for the sake of conversation:

Code:
The conversion rate between damage points and Limit Bar Units is as follows:

Units gained = [[300 * HP Lost / Max HP] * 256 * Status Factor / LNum]
from: http://gaming.stackexchange.com/question...r-increase
  Find
Quote  

#15
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
(03-29-2016, 12:05 AM)Madsiur Wrote: For the algorithm you're saying something like this? Basically this would increae of 1/16 each status or equipment check. Then if the DA is happening, do a calculation based on stats. If the calculation is below a certain number, first DA has 75% of chance of happening, otherwise it drops to 25%. This mean even at higher stats you could trigger the first DA but less often. This is a pseudo-code suggestion so don't treat it as perfect.

Code:
check if low health
if low health:
GetRandom
CMP #$80
BCC DAhappening
BRA exit
if not low health:
--Status block (can be repeated for each possible status if on different status bytes)--
LDA #$10
PHA
load status byte X
CMP special status
BRA nostatus
PLA
ADC #$10
PHA
nostatus:
--weapon check block--
LDX $00
LDA weaponSlot
loopWeaponStart:
CMP weponTable,X
BEQ exitWeaponLoop
INX (next weapon in table)
CPX #$16 (table has 16 possible weapons)
BEQ ShieldBlock
BRA loopWeaponStart
exitWeaponLoop:
PLA
ADC #$10
PHA
ShieldBlock:
--Repeat weapon block for shield and/or relic, etc...--
-- next, check if DA will happend--
StatsBlock:
PLA
STA $1440 (store the % of chance, this could also be done before instead of PLAs and PHAs)
GetRandomNumber
CMP $1440
BCC DAhappening
BRA exit
DAhappening:
do the stats calculation!
GetRandomNumber
CMP limitOfFirstDA
BCC firstDAmorePossible (if number calculated below limitOfFirstDA)
GetRandomNumber
CMP #$40
BCC firstDA (if < 25%)
BRA secondDA
firstDAmorePossible :
GetRandomNumber
CMP #$C0
BCC firstDA (if < 75%)
secondDA:
LDA spell2
firstDA:
LDA Spell1

If I'm understanding this correctly, it looks like you go through a number of checks (i like the idea of adding a gear check... if we wanted to give some weapons a bonus to desperation)... then running the calc at the end, then checking which attack to do? That's all pretty decent but a little more complicated... I was thinking of having diminishing returns on the checks (sort of), by doing a check for each bonus individually... so each check has its own 1/16 chance of triggering. does that make sense? that way we can add a larger number of variables without "stacking the deck" so to speak. so instead of having the default chance and a bonus being 2/16 chance, it would be two indiviaual 1/16 chances checked, its a marginal difference with few variables but more pronounced the more we add. Incidentally, its going to look very similar, just with individual proc chances rather than additive. Also i think it will be a lot shorter to code... I think i've got an idea for what I want to do, but I will script it on-stream... cause you guys are good at pointing out my mistakes.

Quick... somebody come up with a list of the top-tier weapons and top-tier armor for each character... might use the 2nd or 3rd best for each to make more gear options viable (i really like the idea of gearing for Desperation looking different than gearing for pure damage). Also, any other suggestions on specific things to check for desperation attacks? I'm looking for a total of 7-8 checks (so i can fill up a byte's worth of bits).

Stream is tonight folks! Really looking forward to it... I also just realized my timer was off 12 hours... its tonight at 9:30 PM EST.

Happy Hacking!
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite