Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Mohenjo Daro

Members
  • Posts

    259
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Mohenjo Daro

  1. > Having most of your formulas rely on random numbers is terrible for combat and is what made EO's and those before its combat terrible.

    You know, if it isn't a balanced RandomNum then sure, it is just dumb (I don't care for the (1-100) but oh-well). Here's what i made in QB64 and I think it would work well and from what I see it does work well.

    >! CLS
    >! GOSUB A100.Inputs
    >! Reloop:
    >! GOSUB Clear.DATA
    >! GOSUB B100.Calculations
    >! GOSUB C100.Amounts
    >! GOTO Reloop
    >! A100.Inputs:
    >! INPUT "Please Enter Critical Strength => ", CritStrength
    >! INPUT "Please Enter Strength ==========> ", Strength
    >! INPUT "Please Enter Luck ==============> ", Luck
    >! Luck.Percent = ((Luck / 100) + 1)
    >! Control$ = "No"
    >! RETURN
    >! Clear.DATA:
    >! RandomCritical = 0
    >! RanNumber = 0
    >! RETURN
    >! B100.Calculations:
    >! GOSUB B200.Random
    >! IF RandomCritical = 0 THEN
    >! GOSUB B210.Critical.Damage
    >! ELSE
    >! GOSUB B220.Normal.Damage
    >! END IF
    >! IF Attack <= Strength THEN Attack = Strength
    >! IF Attack > (Strength * 3) THEN Attack = (Strength * 3)
    >! IF Attack < (Strength / 3) THEN Attack = (Strength / 3)
    >! IF Attack < 1 THEN Attack = 1
    >! RETURN
    >! B200.Random:
    >! DO UNTIL RandomCritical >= 1 AND RandomCritical <= 100
    >! RandomCritical = INT(RND * 10) * Luck.Percent ' This Works!!! Top of 18 Low of 1
    >! LOOP
    >! RETURN
    >! B210.Critical.Damage:
    >! RanNumber = INT(RND * 10)
    >! DO UNTIL RanNumber >= 1
    >! RanNumber = INT(RND * 10)
    >! LOOP
    >! RanDamage = RanNumber
    >! Attack = Strength + (CritStrength * ((RandomCritical / 100) + 1))
    >! RETURN
    >! B220.Normal.Damage:
    >! Attack = Strength + ((RND / RND) * Luck.Percent)
    >! RETURN
    >! C100.Amounts:
    >! IF Control$ = "No" GOTO First.Time ELSE
    >! Attack = INT(Attack * 100) / 100
    >! PRINT "Attack Equals"; Attack
    >! ' IF Top < Attack THEN Top = Attack
    >! ' IF Attack = Top THEN Amount = Amount + 1
    >! ' PRINT Top
    >! ' PRINT Amount
    >! SLEEP
    >! RETURN
    >! First.Time:
    >! CLS
    >! Control$ = "Yes"
    >! PRINT "Press Enter When Ready for a New Amount…"
    >! SLEEP
    >! CLS
    >! GOTO C100.Amounts

    Please don't use this unless you credit me, Thanks.
×
×
  • Create New...