Register for your free account! | Forgot your password?

Go Back   elitepvpers › Popular Games › Silkroad Online › SRO Coding Corner
You last visited: Today at 04:41

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Silkroad Damage Formula

Discussion on Silkroad Damage Formula within the SRO Coding Corner forum part of the Silkroad Online category.

Reply
 
Old   #1
 
mgunbatti's Avatar
 
elite*gold: 0
Join Date: Aug 2018
Posts: 13
Received Thanks: 2
Silkroad Damage Formula

Hey, does anyone know exactly how the 3 dice damage system works in original Silkroad?

For example, if weapon damage is 3829–4538 and skill damage is 1210–1478, does the game roll them separately or use the same roll for both?

Also, how is crit applied and when does the game round the damage?

Trying to understand the original Joymax calculation, not a custom private server one.Thanks!
mgunbatti is offline  
Thanks
1 User
Old   #2
 
JellyBitz's Avatar
 
elite*gold: 0
Join Date: Sep 2018
Posts: 443
Received Thanks: 1,065
I tried long ago to make the maths on how damage is calculated to know what's the best output, the break point on damage between bow hybrid builds, but I wasn't able to do it.

Here is my maths, I was able to calculate exactly hp/mp/phy and mag balance. But the most important, the damage didn't matched at all in game, I give up.

calcs.py
PHP Code:
### Define your server settings
StatsPointsPerLevel = 3
BaseSTR 
= 20
BaseINT 
= 20
### Define your character
## (Bow lv.135 | 3:0 | FullBlue | Devil 15% | Fire/Cold)
Level = 100
BalancePointsSTR 
= 1 # Ex. 9:10 => 9 STR : 10 INT
BalancePointsINT = 1
SetTotalSTR 
= 0#12*3 # 11 items * 8 STR
SetTotalINT = 0#12*3 # 11 items * 8 INT
ExtraSTR = 5
ExtraINT 
= 0
ExtraHP 
= 0#30*3
ExtraMP = 0#30*3
ExtraHPPercent = 0 # 15% Devil
ExtraMPPercent = 0 #
ExtraPhyDamagePercent = 5 # 5% avatar
ExtraMagDamagePercent = 5
### Define your weapon (Bow | Legendary D15 +15)
PhyAtkPwrMin = 6750
PhyAtkPwrMax 
= 7798
PhyReinforceMin 
= 496.7
PhyReinforceMax 
= 608.7
MagAtkPwrMin 
= 10814
MagAtkPwrMax 
= 12491
MagReinforceMin 
= 794.8
MagReinforceMax 
= 974.0

### WARNING !!!
### Math alert, read by your own risk ...
BalancePointsTotal = BalancePointsSTR+BalancePointsINT
StatsPointsTotal 
= (Level-1)*StatsPointsPerLevel
BalanceTotalSTR 
= StatsPointsTotal*(BalancePointsSTR*1.0/BalancePointsTotal)
BalanceTotalINT = StatsPointsTotal*(BalancePointsINT*1.0/BalancePointsTotal)
STR = BaseSTR + (Level-1) + BalanceTotalSTR + SetTotalSTR + ExtraSTR
INT 
= BaseINT + (Level-1) + BalanceTotalINT + SetTotalINT + ExtraINT
HP 
= round(pow(1.02,(Level-1)) * STR * 10) + ExtraHP
MP 
= round(pow(1.02,(Level-1)) * INT * 10) + ExtraMP
HP 
= HP + (ExtraHPPercent * HP / 100)
MP = MP + (ExtraMPPercent * MP / 100)

M = 28 +Level*4
PhysicalBalance 
= 100-100*2/3*(M - STR)/M  #round(100-(100*2/3*(StatsPointsTotal-STR)/StatsPointsTotal))
MagicalBalance = 100*INT/M
if PhysicalBalance > 120:
    
PhysicalBalance = 120
if MagicalBalance > 120:
    
MagicalBalance = 120

PhyAtkMin 
= (PhyAtkPwrMin+(STR*PhyReinforceMin/100))*(1+ExtraPhyDamagePercent/100)
PhyAtkMax = (PhyAtkPwrMax+(STR*PhyReinforceMax/100))*(1+ExtraPhyDamagePercent/100)
MagAtkMin = (MagAtkPwrMin+(INT*MagReinforceMin/100))*(1+ExtraMagDamagePercent/100)
MagAtkMax = (MagAtkPwrMax+(INT*MagReinforceMax/100))*(1+ExtraMagDamagePercent/100)
### Your Results are on screen! ->
print("SRO Hybrid Solutions v0.0.1")
print()
print(
"HP: "+str(HP))
print(
"MP: "+str(MP))
print()
print(
"STR: "+str(STR))
print(
"INT: "+str(INT))
print(
"Stat points distribuited: "+str(StatsPointsTotal))
print()
print(
"Physical balance: "+str(int(PhysicalBalance))+"(%) "+str(PhysicalBalance))
print(
"Magical balance: "+str(int(MagicalBalance))+"(%) "+str(MagicalBalance))
print()
print(
"Phy. Atk. Pwr: "+str(int(PhyAtkMin))+" to "+str(int(PhyAtkMax)))
print(
"Mag. Atk. Pwr: "+str(int(MagAtkMin))+" to "+str(int(MagAtkMax)))
print(
"Total Atk. Pwr: "+str(int(PhyAtkMin + MagAtkMin))+" to "+str(int(PhyAtkMax + MagAtkMax)))
print(
"Total Atk. Pwr. (Critical): "+str(int(PhyAtkMin*(1+PhysicalBalance/100) + MagAtkMin))+" to "+str(int(PhyAtkMax*(1+PhysicalBalance/100) + MagAtkMax))) 
Let me know if you can

Edit: Oh, and to answer your question, yeah, skill should be flat added to the damage of the weapon based on the percentage it says at the end between parenthesis for each hit.
1 hit (+%100) = x1
3 hit (+%80) = x0.8 + x0.8 + x0.8 so each hit is calculated separately with different dice/roll.
JellyBitz is offline  
Old   #3
 
elite*gold: 0
Join Date: Jun 2014
Posts: 89
Received Thanks: 69
i recently did it to my UE project, and it was a nightmare, but if i manage to, i bet you can also, just put effort
alangomez2 is offline  
Reply


Similar Threads Similar Threads
[Request] Attack Player Damage Formula
04/03/2021 - CO2 Private Server - 3 Replies
Hello Guys, If anyone have some good formula on how to get the perfect / balance damage without calculating the battle potency. I'm thinking of plain damage no Battle Power add on. I'm thinking of the calculation of late conquer something like a version of (4427). What could be a nice formula for this action: 1. Melee / Physical Damage. 2. Ranged Damage. 3. Magic Damage.
The Silkroad Damage Formula
02/16/2020 - Silkroad Online - 18 Replies
Copied from: http://sro.mmosite.com/content/2009-09-11/20090911 002742992.shtml Posted on 11 September, 2009. Looks like a very accurate formula that seems to work every single time. Whoever figured this out really is going to help out emulator developers. Check the link to see the screenshots!
Plus / Damage Formula
04/19/2019 - Silkroad Online - 9 Replies
hi all. i'm working on an alchemy simulator and want to be precise about these values without typing all of them separately. does anybody know the alchemy formula that determines the min/max phy. and mag. damage of a weapon one plus above? lv.90 bow for example: +0 phy. atk. 1047~1283 +1 phy. atk. 1083~1319 +2 phy. atk. 1120~1356 +0 mag. atk. 1674~2052 +1 mag. atk. 1732~2110
Plus / Damage Formula
04/15/2019 - SRO Private Server - 0 Replies
wasn't meant to open here, please delete
Damage Damage Damage
02/28/2012 - Mabinogi Hacks, Bots, Cheats & Exploits - 3 Replies
Because of poor English grammar may be a bit strange May I ask what damage accumulated or MOD



All times are GMT +2. The time now is 04:41.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.