じ☆ve冰风 发表于 2026-7-31 20:01:56

Gambler skills - scripted custom skill formulae

Inspired by fomar's old topic about getting the most out of the custom damage formula box in VX Ace I decided to make a couple of full-fledged gambling skills. These would be perfect for a Setzer-like character. If there are any other gambling-based skills anyone wants, let me know and I'll try to make 'em. 

Spoilerclass Game_Battler < Game_BattlerBasedef custom_formula_dice(a,    c=1+rand(6)    d=1+rand(6)    if c==1 and d==1      $game_message.add(sprintf("%s rolls snake eyes!", a.name))    elsif c==d      $game_message.add(sprintf("%s rolls double %d!", a.name, c))    else      $game_message.add(sprintf("%s rolls %d and %d!", a.name, c, d))    end    BattleManager.wait_for_message    if c==1 and d==1      10000    elsif c==d      c*400    else      (c+d)*100    endenddef custom_formula_gamble(a,    c=1+rand(6)    d=1+rand(6)    if c==1 and d==1      $game_message.add(sprintf("%s rolls snake eyes!", a.name))    elsif c==d      $game_message.add(sprintf("%s rolls double %d!", a.name, c))    else      $game_message.add(sprintf("%s rolls %d and %d!", a.name, c, d))    end    $game_message.add(sprintf("%s hands the dice to the enemy.", a.name))    BattleManager.wait_for_message    e=1+rand(6)    f=1+rand(6)    if c==1 and d==1      $game_message.add(sprintf("%s rolls snake eyes!", b.name))    elsif c==d      $game_message.add(sprintf("%s rolls double %d!", b.name, e))    else      $game_message.add(sprintf("%s rolls %d and %d!", b.name, e, f))    end    BattleManager.wait_for_message    $game_message.add(sprintf("%s's roll: %d", a.name, c+d))    $game_message.add(sprintf("%s's roll: %d", b.name, e+f))    BattleManager.wait_for_message    if (c+d) > (e+f)      if c==1 and d==1      100000      elsif c==d      c*4000      else      (c+d)*1000      end    else      $game_message.add(sprintf("%s's gamble backfired; %d damage is redirected!", a.name, (c+d)*1000))      a.perform_damage_effect      a.result.hp_damage = (c+d)*1000      a.execute_damage(a)      BattleManager.wait_for_message      0    endendend



In the formula box for the respective skills, just put a.custom_formula_dice(a, B ) or a.custom_formula_gamble(a, B ) 

They work thusly: Roll the Dice (the first skill) has the character roll 2 dice. Normally they deal 100 damage * the roll, but if they get double 1 (snake eyes) it deals 10,000 damage instead, and if they get doubles it does 400 * roll. 

Risky Gamble also rolls 2 dice, but also lets the enemy roll. If your roll is higher it does 1000 damage * roll, 100,000 on snake eyes and 4000 * roll on doubles, but if your roll is lower it backfires and the user takes 1000 damage * roll instead.


本贴来自国际rpgmaker官方论坛作者:Trihan处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/gambler-skills-scripted-custom-skill-formulae.38910/
页: [1]
查看完整版本: Gambler skills - scripted custom skill formulae