GxRay Posted December 12, 2013 Posted December 12, 2013 (edited) Hello everyone. I have been extremely dissatisfied with the way the experience system in fallout works, so I wrote this pseudo-code to fix that. It dynamically calculates experience based on several variables, and is very well balanced (see the total exp for each example in the spoiler below). However, I am new to modding and don't how to convert this into an actual GECK script.Could someone please assist me? Edit:The majority of this has now been written, but I cannot find a function to return the DPS of an enemy such as a Deathclaw. Help much appreciated! BaseExp = EnemyLevel*2DTBonus = EnemyDamageThresholdHPBonus = EnemyHealth/50ThreatRatioBonus = 30 - ThreatRatio*10ExpMult = 1 + (EnemyLevel/15) - (PlayerLevel*.05) ThreatRatio Function{//Level 1, no armor, 100 HP, 20 DPS vs. Legendary Deathclaw// My Health = ( Current Health ) / ( 1.0 - ( Armor Rating / 100.0 ) ) My Combat Strength = My Health (100) * My DPS (20) x2 for for Human Intelligence = 400Enemy Combat Strength = Enemy Health (1176) * Enemy DPS ( 250) = 294,000 //Threat ratio = ( My Combat Strength ) / ( Enemy Combat Strength ) Threat Ratio = (400)/(294000), ~0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //Level 30, 30 DT, 350 HP, 400 DPS vs. Legendary Deathclaw// My Health = ( Current Health ) / ( 1.0 - ( Armor Rating / 100.0 ) ) My Combat Strength = My Health (500) * My DPS (400) x2 for Human Intelligence = 400,000Enemy Combat Strength = Enemy Health (1176) * Enemy DPS (250) = 294,000 //Threat ratio = ( My Combat Strength ) / ( Enemy Combat Strength ) Threat Ratio = (400000)/(294000) = 1.36 } -------------------------------------------------------------------Level 1 from example killing Legendary Deathclaw: BaseExp = EnemyLevel*2 ~60~DTBonus = EnemyDamageThreshold ~15~HPBonus = EnemyHealth/50 ~20~ThreatRatioBonus = 30 - ThreatRatio*10 ~30~ExpMult = 1 + (EnemyLevel/15) - (PlayerLevel*.05) ~2.95~ TotalExp = (BaseExp + DTBonus + HPBonus + ThreatRatioBonus)*ExpMultTotalExp = (60+15+20+30)*2.95TotalExp = (125)*2.95TotalExp = 368.75 -------------------------------------------------------------------Level 30 from example killing Legendary Deathclaw: BaseExp = EnemyLevel*2 ~60~DTBonus = EnemyDamageThreshold ~15~HPBonus = EnemyHealth/50 ~20~ThreatRatioBonus = 30 - ThreatRatio*10 ~16.4~ExpMult = 1 + (EnemyLevel/15) - (PlayerLevel*.02) ~2.4~ TotalExp = (BaseExp + DTBonus + HPBonus + ThreatRatioBonus)*ExpMultTotalExp = (60+15+20+16.4)*1.5TotalExp = (111)*1.5TotalExp = 166.5-------------------------------------------------------------------Level 1 from example killing Goodsprings Gecko: BaseExp = EnemyLevel*2 ~6~DTBonus = EnemyDamageThreshold ~0~HPBonus = EnemyHealth/50 ~.6~ThreatRatioBonus = 30 - ThreatRatio*10 ~17~ExpMult = 1 + (EnemyLevel/15) - (PlayerLevel*.05) ~1.15~ TotalExp = (BaseExp + DTBonus + HPBonus + ThreatRatioBonus)*ExpMultTotalExp = (6+0+.6+17)*2.95TotalExp = (23.6)*1.15TotalExp = 27.14-------------------------------------------------------------------Level 30 from example killing Goodsprings Gecko: BaseExp = EnemyLevel*2 ~6~DTBonus = EnemyDamageThreshold ~0~HPBonus = EnemyHealth/50 ~.6~ThreatRatioBonus = 30 - ThreatRatio*10 ~NEGATIVE~ExpMult = 1 + (EnemyLevel/15) - (PlayerLevel*.05) ~NEGATIVE, LOWEST IS .1~ TotalExp = (BaseExp + DTBonus + HPBonus + ThreatRatioBonus)*ExpMultTotalExp = (6+0+.6)*.1TotalExp = (6.6)*.1TotalExp = .66-------------------------------------------------------------------Level 1 from example killing Level 15 Giant Radscorp: BaseExp = EnemyLevel*2 ~30~DTBonus = EnemyDamageThreshold ~18~HPBonus = EnemyHealth/50 ~3~ThreatRatioBonus = 30 - ThreatRatio*10 ~29.2~ExpMult = 1 + (EnemyLevel/15) - (PlayerLevel*.05) ~1.95~ TotalExp = (BaseExp + DTBonus + HPBonus + ThreatRatioBonus)*ExpMultTotalExp = (30+18+3+29.2)*1.95TotalExp = (80.2)*1.95TotalExp = 156.39-------------------------------------------------------------------Level 30 from example killing Level 15 Giant Radscorp: BaseExp = EnemyLevel*2 ~30~DTBonus = EnemyDamageThreshold ~18~HPBonus = EnemyHealth/50 ~3~ThreatRatioBonus = 30 - ThreatRatio*10 ~NEGATIVE~ExpMult = 1 + (EnemyLevel/15) - (PlayerLevel*.05) ~.5~ TotalExp = (BaseExp + DTBonus + HPBonus + ThreatRatioBonus)*ExpMultTotalExp = (30+18+3)*.5TotalExp = (51)*.5TotalExp = 25.5 Thank you! Edited December 12, 2013 by GxRay
GxRay Posted December 13, 2013 Author Posted December 13, 2013 Update:Swenson and I have been working on this script for quite some time now, with little progress.A semi-functional script written by Swenson can be found here:http://pastebin.com/7UAYCG8z The original Dynamic XP Mod script can be found here:http://pastebin.com/CYfWr9M2 And my cleaned version of the Dynamic XP Mod script can be found here:http://pastebin.com/9aFMrSAt(I still have no idea what some of his variables stand for, so I didn't edit those) I would appreciate anyone's help, and would love to get Swensons' script up and running! Thank you all!
Recommended Posts