Skip to content

Commit

Permalink
First working version
Browse files Browse the repository at this point in the history
  • Loading branch information
tstavrianos committed Jul 12, 2017
1 parent dd3453e commit 3914d57
Show file tree
Hide file tree
Showing 436 changed files with 105,700 additions and 1 deletion.
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,36 @@

# Created by https://www.gitignore.io/api/java,netbeans

### Java ###
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

### NetBeans ###
nbproject/private/
build/
nbbuild/
dist/
nbdist/
.nb-gradle/

# End of https://www.gitignore.io/api/java,netbeans
11 changes: 11 additions & 0 deletions Files/BlockList.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
==ARMO BLOCKS== //FormIDs
069CE3Skyrim.esm // SkinNakedBeast
000D64Skyrim.esm // SkinNaked

==MOD BLOCKS==
Extended Colors - Selection.esp //Overloads the patcher, but isn't needed by AV in the first place.
Extended Colors.esm
Extended Slider Colors.esp
VanillaRaces.esp
ZazilmelDrow.esp
Headbomb //Really old Pre-CK mod that doesn't conform to "CK Standards" and fails to import. Not needed anyway.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
automatic-variants
A SkyProc patcher that generates variants for Skyrim

Automatic Variants is a project aimed to providing as many easy ways of providing variance in Skyrim. This will include things such as: - Drag and drop texture/model variants - Stat variances - AI variances - etc
44 changes: 44 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>

<project name="SkyProcStarter" default="default" basedir=".">
<description>Builds, tests, and runs the project SkyProcStarter.</description>
<import file="nbproject/build-impl.xml"/>

<target name="SkyProc-dist" depends="jar">

<!-- Change the value of this property to be the name of your JAR,
minus the .jar extension. It should not have spaces.
<property name="store.jar.name" value="MyJarName"/>
-->
<property name="store.jar.name" value="Automatic Variants"/>


<!-- don't edit below this line -->

<property name="store.dir" value="store"/>
<property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>

<echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>

<delete dir="${store.dir}"/>
<mkdir dir="${store.dir}"/>

<jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
<zipgroupfileset dir="dist" includes="*.jar"/>
<zipgroupfileset dir="dist/lib" includes="*.jar"/>

<manifest>
<attribute name="Main-Class" value="${main.class}"/>
</manifest>
</jar>

<zip destfile="${store.jar}">
<zipfileset src="${store.dir}/temp_final.jar"
excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
</zip>

<delete file="${store.dir}/temp_final.jar"/>

</target>

</project>
Binary file added data/Scripts/AVQuestScript.pex
Binary file not shown.
Binary file added data/Scripts/AVRaceAttachment.pex
Binary file not shown.
96 changes: 96 additions & 0 deletions data/Scripts/Source/AVQuestScript.psc
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
Scriptname AVQuestScript extends Quest

float[] Property LogTable Auto

GlobalVariable Property TexturesOn Auto
GlobalVariable Property StatsOn Auto
GlobalVariable Property HeightScale Auto
GlobalVariable Property HealthScale Auto
GlobalVariable Property MagickaScale Auto
GlobalVariable Property StaminaScale Auto
GlobalVariable Property SpeedScale Auto
GlobalVariable Property TieStats Auto
GlobalVariable Property ForceRepick Auto
GlobalVariable Property DebugOn Auto
GlobalVariable Property DebugRegional Auto
Form[] Property ExclusiveCellList Auto

Event OnInit()
Debug.Trace("AV Quest Init Starting");
EndEvent

Function test ()
int counter = 0
float min = 1000
float max = -1000
float avg = 0;
float avgStr = 0;
while (counter < 5000)
if (counter % 10 == 1)
Debug.Trace("Counter " + counter + " Avg " + avg / counter + " avgStr " + avgStr / counter)
EndIf

float strength = getNormalDistValue() + 4
Debug.Trace("Strength " + strength)
float val = rollSkewed(strength)
Debug.Trace("Skewed " + val)

if (min > val)
min = val
EndIf

if (max < val)
max = val
EndIf

avgStr += strength
avg += val
counter += 1
EndWhile

Debug.Trace("Min is " + min + " max is " + max + " avg is " + (avg / 5000) + " avgStr is " + (avgStr / 5000))
EndFunction

float Function getNormalDistValue()
;; Box-Muller Transform
;; Go wiki it
int v1 = Utility.RandomInt(0, 999)
int v2 = Utility.RandomInt(0, 999)
return Math.sqrt(-2 * LogTable[v1]) * Math.cos(Math.RadiansToDegrees(6.283185 * v2 / 1000.0))
EndFunction

float Function rollSkewed(float strength)
float rand = getNormalDistValue()
;Debug.Trace("[AV|Rand] Original Roll: " + rand)
if (rand >= 0)
rand = strength + (8 - strength) * (rand / 4) ;; start at the skew line and go right rand percent
Else
rand += 4 ;; bump rand up so it's positive
rand = strength * (rand / 4) ;; go rand percent of left of the skew line
EndIf
rand -= 4 ;; Bring it back down to -4 to 4
;Debug.Trace("[AV|Rand] Skewed at " + strength + ": " + rand)
return rand
EndFunction

; int Function getRaceIndex(Race in)
; int counter = 0
; while (counter < RaceList.getSize())
; if (RaceList.getAt(counter) == in)
; return counter
; EndIf
; counter += 1
; EndWhile
; return counter
; EndFunction

int Function IndexOf(Form[] arr, Form target)
int counter = 0
while (counter < arr.length)
if (arr[counter] == target)
return counter
EndIf
counter += 1
EndWhile
return -1
EndFunction
Loading

0 comments on commit 3914d57

Please sign in to comment.