Skip to content

Commit

Permalink
Fix Recycle proc rate for RNG Relic head
Browse files Browse the repository at this point in the history
  • Loading branch information
IzaKastra committed Jan 17, 2024
1 parent abbd1ec commit 62a0d2d
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 10 deletions.
3 changes: 1 addition & 2 deletions actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -1020,14 +1020,13 @@ def cast_spell(player, enemy, spell_name, spell_type, input_metric):
# Recycle procs will increase TP gained by +50 for 5/5 Recycle merits on Ranger
# This applies to all double/triple/quad shot bonuses too. Recycle simply has to proc.
if "Arcadian Beret" in player.gearset["head"]["Name"]:
recycle = player.stats.get("Recycle",0)/100
recycle = player.stats.get("Recycle",0)
recycle = 90 if recycle > 90 else recycle
tp_return += 50*recycle/100 # Chance to proc on first hit.
tp_return += 1*50*recycle/100*double_shot # Chance to proc on the Double Shot
tp_return += 2*50*recycle/100*triple_shot # Chance to proc on two Triple Shots
tp_return += 3*50*recycle/100*quad_shot # Chance to proc on three Quad shots (should be zero for Ranger anyway)


# Apply damage multipliers which affect all hits.
damage = phys * (1 + true_shot) * (1 + hover_shot) * empyrean_am_damage_bonus * relic_hidden_damage_bonus * mythic_am_damage_bonus

Expand Down
Binary file modified gui_wsdist.exe
Binary file not shown.
16 changes: 8 additions & 8 deletions gui_wsdist.py
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ def __init__(self): # Run on creation of a new "App" instance to define the defa
# ('winnative', 'clam', 'alt', 'default', 'classic', 'vista', 'xpnative')

# Build the basic app.
self.title("Kastra FFXI Damage Simulator (Beta: 2023 December 12a)")
self.title("Kastra FFXI Damage Simulator (Beta: 2024 January 16a)")
self.horizontal = False
if not self.horizontal:
self.geometry("700x885")
Expand Down Expand Up @@ -4574,13 +4574,13 @@ def collect_buffs(self,):
brd_haste = brd_on*(brd_vmarch_haste + brd_amarch_haste + brd_hm_haste)

# Etudes cap at Songs+9
brd_str = ((brd["Sinewy Etude"]["STR"][0] + min(9,nsong)*brd["Sinewy Etude"]["STR"][1])*(1.0+0.5*marcato if song1=="Sinewy Etude" else 1.0) if "Sinewy Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Herculean Etude"]["STR"][0] + min(9,nsong)*brd["Herculean Etude"]["STR"][1])*(1.0+0.5*marcato if song1=="Herculean Etude" else 1.0) if "Herculean Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_dex = ((brd["Dextrous Etude"]["DEX"][0] + min(9,nsong)*brd["Dextrous Etude"]["DEX"][1])*(1.0+0.5*marcato if song1=="Dextrous Etude" else 1.0) if "Dextrous Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Uncanny Etude"]["DEX"][0] + min(9,nsong)*brd["Uncanny Etude"]["DEX"][1])*(1.0+0.5*marcato if song1=="Uncanny Etude" else 1.0) if "Uncanny Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_vit = ((brd["Vivavious Etude"]["VIT"][0] + min(9,nsong)*brd["Vivavious Etude"]["VIT"][1])*(1.0+0.5*marcato if song1=="Vivavious Etude" else 1.0) if "Vivavious Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Vital Etude"]["VIT"][0] + min(9,nsong)*brd["Vital Etude"]["VIT"][1])*(1.0+0.5*marcato if song1=="Vital Etude" else 1.0) if "Vital Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_agi = ((brd["Quick Etude"]["AGI"][0] + min(9,nsong)*brd["Quick Etude"]["AGI"][1])*(1.0+0.5*marcato if song1=="Quick Etude" else 1.0) if "Quick Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Swift Etude"]["AGI"][0] + min(9,nsong)*brd["Swift Etude"]["AGI"][1])*(1.0+0.5*marcato if song1=="Swift Etude" else 1.0) if "Swift Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_int = ((brd["Learned Etude"]["INT"][0] + min(9,nsong)*brd["Learned Etude"]["INT"][1])*(1.0+0.5*marcato if song1=="Learned Etude" else 1.0) if "Learned Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Sage Etude"]["INT"][0] + min(9,nsong)*brd["Sage Etude"]["INT"][1])*(1.0+0.5*marcato if song1=="Sage Etude" else 1.0) if "Sage Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_mnd = ((brd["Spirited Etude"]["MND"][0] + min(9,nsong)*brd["Spirited Etude"]["MND"][1])*(1.0+0.5*marcato if song1=="Spirited Etude" else 1.0) if "Spirited Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Logical Etude"]["MND"][0] + min(9,nsong)*brd["Logical Etude"]["MND"][1])*(1.0+0.5*marcato if song1=="Logical Etude" else 1.0) if "Logical Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_chr = ((brd["Enchanting Etude"]["CHR"][0] + min(9,nsong)*brd["Enchanting Etude"]["CHR"][1])*(1.0+0.5*marcato if song1=="Enchanting Etude" else 1.0) if "Enchanting Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Bewitching Etude"]["CHR"][0] + min(9,nsong)*brd["Bewitching Etude"]["CHR"][1])*(1.0+0.5*marcato if song1=="Bewitching Etude" else 1.0) if "Bewitching Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_str = brd_on*((brd["Sinewy Etude"]["STR"][0] + min(9,nsong)*brd["Sinewy Etude"]["STR"][1])*(1.0+0.5*marcato if song1=="Sinewy Etude" else 1.0) if "Sinewy Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Herculean Etude"]["STR"][0] + min(9,nsong)*brd["Herculean Etude"]["STR"][1])*(1.0+0.5*marcato if song1=="Herculean Etude" else 1.0) if "Herculean Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_dex = brd_on*((brd["Dextrous Etude"]["DEX"][0] + min(9,nsong)*brd["Dextrous Etude"]["DEX"][1])*(1.0+0.5*marcato if song1=="Dextrous Etude" else 1.0) if "Dextrous Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Uncanny Etude"]["DEX"][0] + min(9,nsong)*brd["Uncanny Etude"]["DEX"][1])*(1.0+0.5*marcato if song1=="Uncanny Etude" else 1.0) if "Uncanny Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_vit = brd_on*((brd["Vivavious Etude"]["VIT"][0] + min(9,nsong)*brd["Vivavious Etude"]["VIT"][1])*(1.0+0.5*marcato if song1=="Vivavious Etude" else 1.0) if "Vivavious Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Vital Etude"]["VIT"][0] + min(9,nsong)*brd["Vital Etude"]["VIT"][1])*(1.0+0.5*marcato if song1=="Vital Etude" else 1.0) if "Vital Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_agi = brd_on*((brd["Quick Etude"]["AGI"][0] + min(9,nsong)*brd["Quick Etude"]["AGI"][1])*(1.0+0.5*marcato if song1=="Quick Etude" else 1.0) if "Quick Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Swift Etude"]["AGI"][0] + min(9,nsong)*brd["Swift Etude"]["AGI"][1])*(1.0+0.5*marcato if song1=="Swift Etude" else 1.0) if "Swift Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_int = brd_on*((brd["Learned Etude"]["INT"][0] + min(9,nsong)*brd["Learned Etude"]["INT"][1])*(1.0+0.5*marcato if song1=="Learned Etude" else 1.0) if "Learned Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Sage Etude"]["INT"][0] + min(9,nsong)*brd["Sage Etude"]["INT"][1])*(1.0+0.5*marcato if song1=="Sage Etude" else 1.0) if "Sage Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_mnd = brd_on*((brd["Spirited Etude"]["MND"][0] + min(9,nsong)*brd["Spirited Etude"]["MND"][1])*(1.0+0.5*marcato if song1=="Spirited Etude" else 1.0) if "Spirited Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Logical Etude"]["MND"][0] + min(9,nsong)*brd["Logical Etude"]["MND"][1])*(1.0+0.5*marcato if song1=="Logical Etude" else 1.0) if "Logical Etude" in active_songs else 0)*(1.0+1.0*soulvoice)
brd_chr = brd_on*((brd["Enchanting Etude"]["CHR"][0] + min(9,nsong)*brd["Enchanting Etude"]["CHR"][1])*(1.0+0.5*marcato if song1=="Enchanting Etude" else 1.0) if "Enchanting Etude" in active_songs else 0)*(1.0+1.0*soulvoice) + ((brd["Bewitching Etude"]["CHR"][0] + min(9,nsong)*brd["Bewitching Etude"]["CHR"][1])*(1.0+0.5*marcato if song1=="Bewitching Etude" else 1.0) if "Bewitching Etude" in active_songs else 0)*(1.0+1.0*soulvoice)

# Define COR buffs: Total bonus stat obtained from a set potency roll with "Rolls +nroll" bonus from gear.

Expand Down

0 comments on commit 62a0d2d

Please sign in to comment.