diff --git a/DXRCore/DeusEx/Classes/DXRBase.uc b/DXRCore/DeusEx/Classes/DXRBase.uc index 9c844cbc9..9fe147ff2 100644 --- a/DXRCore/DeusEx/Classes/DXRBase.uc +++ b/DXRCore/DeusEx/Classes/DXRBase.uc @@ -227,8 +227,6 @@ simulated function bool RandoLevelValues(Actor a, float min, float max, float we wet = FClamp(wet, 0, 1); - oldseed = SetGlobalSeed(" RandoLevelValues " $ a.class.name ); - aug = #var(prefix)Augmentation(a); sk = #var(prefix)Skill(a); @@ -260,6 +258,8 @@ simulated function bool RandoLevelValues(Actor a, float min, float max, float we removals = 1; len += removals; + oldseed = SetGlobalSeed(" RandoLevelValues " $ a.class.name ); + // choose random points within the 0-1 range, with an extra point so we can remove the median for(i=0; i < len; i++) { v = rngexp(0, 100, 1.4) / 100.0;// should this be using a 1.4 curve? diff --git a/DXRCore/DeusEx/Classes/DXRVersion.uc b/DXRCore/DeusEx/Classes/DXRVersion.uc index 9a90e14f2..4ab34d9ee 100644 --- a/DXRCore/DeusEx/Classes/DXRVersion.uc +++ b/DXRCore/DeusEx/Classes/DXRVersion.uc @@ -5,12 +5,12 @@ simulated static function CurrentVersion(optional out int major, optional out in major=2; minor=6; patch=2; - build=7;//build can't be higher than 99 + build=8;//build can't be higher than 99 } simulated static function bool VersionIsStable() { - return false; + return true; } simulated static function string VersionString(optional bool full) @@ -18,7 +18,7 @@ simulated static function string VersionString(optional bool full) local int major,minor,patch,build; local string status; - status = "Beta"; + status = ""; if(status!="") { status = " " $ status; diff --git a/DXRModules/DeusEx/Classes/DXRAugmentations.uc b/DXRModules/DeusEx/Classes/DXRAugmentations.uc index 83917af32..a4366f2f0 100644 --- a/DXRModules/DeusEx/Classes/DXRAugmentations.uc +++ b/DXRModules/DeusEx/Classes/DXRAugmentations.uc @@ -341,6 +341,7 @@ simulated function RandoAug(Augmentation a) // so it can be used for speedrun strategies with specific spots to check from // aug muscle picking up heavy items is confusing when the strength is randomized, just randomize the energy cost // synth heart, can't randomize its strength, just randomize energy cost + SetGlobalSeed("RandoAug " $ a.class.name); a.energyRate = int(rngrange(a.default.energyRate, 0.5, 1.5)); aug_value_wet_dry = 0; add_desc = add_desc $ "Energy Rate: "$int(a.energyRate)$" Units/Minute"; diff --git a/DXRModules/DeusEx/Classes/DXRLoadouts.uc b/DXRModules/DeusEx/Classes/DXRLoadouts.uc index c08da1720..b64fef063 100644 --- a/DXRModules/DeusEx/Classes/DXRLoadouts.uc +++ b/DXRModules/DeusEx/Classes/DXRLoadouts.uc @@ -26,7 +26,7 @@ struct _loadouts var int item_spawns_chances[10];// the % spawned in each map, max of 300% }; -var _loadouts _item_sets[20]; +var _loadouts __item_sets[20]; struct RandomItemStruct { var string type; var int chance; }; struct _RandomItemStruct { var class type; var int chance; }; @@ -147,11 +147,13 @@ function CheckConfig() item_sets[11].name = "Explosives Only"; item_sets[11].player_message = "Explosives Only!"; item_sets[11].bans = "Engine.Weapon,Ammo762mm"; - item_sets[11].allows = "WeaponGEPGun,WeaponLAW,WeaponLAM,WeaponEMPGrenade,WeaponGasGrenade,WeaponNanoVirusGrenade,WeaponAssaultGun,#var(package).WeaponRubberBaton"; + item_sets[11].allows = + "WeaponGEPGun,WeaponLAW,WeaponLAM,WeaponEMPGrenade,WeaponGasGrenade," $ + "WeaponNanoVirusGrenade,WeaponAssaultGun,#var(package).WeaponRubberBaton"; item_sets[11].starting_equipments = "WeaponGEPGun,#var(package).WeaponRubberBaton"; item_sets[11].item_spawns = - "WeaponLAW,133,WeaponLAM,200,WeaponEMPGrenade,133,WeaponGasGrenade,133," $ - "WeaponNanoVirusGrenade,133,#var(package).WeaponRubberBaton,20,AmmoRocket,200,AmmoRocketWP,200"; + "WeaponLAW,75,WeaponLAM,100,WeaponEMPGrenade,75,WeaponGasGrenade,75," $ + "WeaponNanoVirusGrenade,75,#var(package).WeaponRubberBaton,20,AmmoRocket,100,AmmoRocketWP,100,Ammo20mm,100"; i=0; @@ -249,10 +251,10 @@ function AddBan(int s, string type) if( type == "" ) return; - for(i=0; i < ArrayCount(_item_sets[s].ban_types); i++) { - if( _item_sets[s].ban_types[i] == None ) { + for(i=0; i < ArrayCount(__item_sets[s].ban_types); i++) { + if( __item_sets[s].ban_types[i] == None ) { a = GetClassFromString(type, class'Inventory'); - _item_sets[s].ban_types[i] = class(a); + __item_sets[s].ban_types[i] = class(a); return; } } @@ -265,10 +267,10 @@ function AddAllow(int s, string type) if( type == "" ) return; - for(i=0; i < ArrayCount(_item_sets[s].allow_types); i++) { - if( _item_sets[s].allow_types[i] == None ) { + for(i=0; i < ArrayCount(__item_sets[s].allow_types); i++) { + if( __item_sets[s].allow_types[i] == None ) { a = GetClassFromString(type, class'Inventory'); - _item_sets[s].allow_types[i] = class(a); + __item_sets[s].allow_types[i] = class(a); return; } } @@ -281,10 +283,10 @@ function AddStart(int s, string type) if( type == "" ) return; - for(i=0; i < ArrayCount(_item_sets[s].starting_equipment); i++) { - if( _item_sets[s].starting_equipment[i] == None ) { + for(i=0; i < ArrayCount(__item_sets[s].starting_equipment); i++) { + if( __item_sets[s].starting_equipment[i] == None ) { a = GetClassFromString(type, class'Inventory'); - _item_sets[s].starting_equipment[i] = class(a); + __item_sets[s].starting_equipment[i] = class(a); return; } } @@ -297,10 +299,10 @@ function AddAug(int s, string type) if( type == "" ) return; - for(i=0; i < ArrayCount(_item_sets[s].starting_augs); i++) { - if( _item_sets[s].starting_augs[i] == None ) { + for(i=0; i < ArrayCount(__item_sets[s].starting_augs); i++) { + if( __item_sets[s].starting_augs[i] == None ) { a = GetClassFromString(type, class'Augmentation'); - _item_sets[s].starting_augs[i] = class(a); + __item_sets[s].starting_augs[i] = class(a); return; } } @@ -313,11 +315,11 @@ function AddItemSpawn(int s, string type, int chances) if( type == "" ) return; - for(i=0; i < ArrayCount(_item_sets[s].item_spawns); i++) { - if( _item_sets[s].item_spawns[i] == None ) { + for(i=0; i < ArrayCount(__item_sets[s].item_spawns); i++) { + if( __item_sets[s].item_spawns[i] == None ) { a = GetClassFromString(type, class'Actor'); - _item_sets[s].item_spawns[i] = a; - _item_sets[s].item_spawns_chances[i] = chances; + __item_sets[s].item_spawns[i] = a; + __item_sets[s].item_spawns_chances[i] = chances; return; } } @@ -346,7 +348,7 @@ function AnyEntry() // TODO: fix being given items from conversations for other mods /*foreach AllObjects(class'ConEventTransferObject', c) { l(c.objectName @ c.giveObject @ c.toName); - if( c.toName == "JCDenton" && is_banned(_item_sets[loadout], c.giveObject) ) { + if( c.toName == "JCDenton" && is_banned(__item_sets[loadout], c.giveObject) ) { l(c.objectName @ c.giveObject @ c.toName $ ", clearing"); c.toName = ""; c.toActor = None; @@ -377,12 +379,12 @@ function bool _is_banned(_loadouts b, class item) function bool is_banned(class item) { - return _is_banned( _item_sets[loadout], item); + return _is_banned( __item_sets[loadout], item); } function class get_starting_item() { - return _item_sets[loadout].starting_equipment[0]; + return __item_sets[loadout].starting_equipment[0]; } function bool ban(DeusExPlayer player, Inventory item) @@ -391,7 +393,7 @@ function bool ban(DeusExPlayer player, Inventory item) if(IsMeleeWeapon(item) && Carcass(item.Owner) != None && player.FindInventoryType(item.class) != None) { return true; - } else if ( _is_banned( _item_sets[loadout], item.class) ) { + } else if ( _is_banned( __item_sets[loadout], item.class) ) { if( item_sets[loadout].player_message != "" ) { //item.ItemName = item.ItemName $ ", " $ item_sets[loadout].player_message; player.ClientMessage(item_sets[loadout].player_message, 'Pickup', true); @@ -486,8 +488,8 @@ function bool StartedWithAug(class a) { local class aclass; local int i; - for(i=0; i < ArrayCount(_item_sets[loadout].starting_augs); i++) { - aclass = _item_sets[loadout].starting_augs[i]; + for(i=0; i < ArrayCount(__item_sets[loadout].starting_augs); i++) { + aclass = __item_sets[loadout].starting_augs[i]; if( aclass == None ) continue; if( aclass == a ) return true; @@ -512,8 +514,8 @@ function AddStartingEquipment(DeusExPlayer p, bool bFrob) local DeusExWeapon w; local int i, k; - for(i=0; i < ArrayCount(_item_sets[loadout].starting_equipment); i++) { - iclass = _item_sets[loadout].starting_equipment[i]; + for(i=0; i < ArrayCount(__item_sets[loadout].starting_equipment); i++) { + iclass = __item_sets[loadout].starting_equipment[i]; if( iclass == None ) continue; if( class(iclass) == None && class'DXRActorsBase'.static.HasItem(p, iclass) ) @@ -523,8 +525,8 @@ function AddStartingEquipment(DeusExPlayer p, bool bFrob) if( bFrob && item != None ) item.Frob( p, None ); } - for(i=0; i < ArrayCount(_item_sets[loadout].starting_augs); i++) { - aclass = _item_sets[loadout].starting_augs[i]; + for(i=0; i < ArrayCount(__item_sets[loadout].starting_augs); i++) { + aclass = __item_sets[loadout].starting_augs[i]; if( aclass == None ) continue; class'DXRAugmentations'.static.AddAug( p, aclass, dxr.flags.settings.speedlevel ); } @@ -664,10 +666,10 @@ function SpawnItems() reducer = DXRReduceItems(dxr.FindModule(class'DXRReduceItems')); - for(i=0;i