GxRay Posted December 12, 2013 Share 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 Link to comment Share on other sites More sharing options...
Swenson Posted December 12, 2013 Share Posted December 12, 2013 I'll try and help you. Link to comment Share on other sites More sharing options...
GxRay Posted December 13, 2013 Author Share 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! Link to comment Share on other sites More sharing options...
Recommended Posts