Skip to content

Commit

Permalink
Create repository.
Browse files Browse the repository at this point in the history
  • Loading branch information
just-ero committed Mar 6, 2022
0 parents commit 011a5ca
Show file tree
Hide file tree
Showing 73 changed files with 4,669 additions and 0 deletions.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/commission.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Need a new auto splitter or some new features?
about: Commission some work here!
title: "[Feature request, Commission] for [Game Name]"
labels: ''
assignees: ''

---

For rates and other information, please refer to my commission info [here](././asl#commission-information).
- [ ] I have read and understood these terms.

---

## *Feature Request*
*Context*:
* Game name (as it appears on this repo):

*Please describe where the need for this feature arises from*:
Ex.: I'm frustrated with..., I want to add a split at..., I would like to track some information to..., Our community has decided...

*Please elaborate on the exact feature(s) and their expected behavior*:
Good: I want the timer to reset when player health drops to 0..., I want the timer to split when `GameSceneManager.curSceneID` changes from 0 to 1...
Bad: I want the timer to stop when the run is over..., I want the timer to split when finishing a level...

---

## *Auto Splitter Commission*
*Context*:
* Game name:
* Download/store link (+ price if applicable):

*Features*:
- [ ] Start: Describe an event or events upon which the timer should start.
- [ ] Split: Describe an event or events upon which the timer should split.
- [ ] Reset: Describe an event or events upon which the timer should reset.
- [ ] Load removal / game time synchronization: Explain how your game's in-game time works. If not applicable, please explain when and how loading times should be removed.

Please remove all unused or unimportant lines from this template.
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/fixes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: An auto splitter needs fixes!
about: Help me help you by providing me with some helpful information.
title: "[GAME NAME] auto splitter does not [start, split, reset, remove loads, sync to game time]"
labels: ''
assignees: ''

---

Please refer to the [common issues](././asl#there-is-an-issue-with-an-auto-splitter-I'm-using-) before creating an issue.

---

## *Describe your Issue*
- [ ] The game has recently received an update
- [ ] The features mentioned in the title do not work

If there is any especially weird behavior with the timer, please describe what is happening:


---

## *Causes and Fixes*
(*for experienced users only*)

Do you know the exact cause of the problem? Broken pointers, signatures can't be resolved, level names changed? Please elaborate.
Do you already have a fix? Please pull request this repository with your proposed changes. You will be properly credited.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/Phasmophobia
143 changes: 143 additions & 0 deletions A Proof of Concept/AProofOfConcept.asl
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
state("A Proof of Concept 1.1")
{
int LevelID : 0x6C2DB8;
// int Time : 0x6C2DE0;
}

state("Concept - v2.6")
{
int LevelID : 0x6FFF60;
}

startup
{
string[,] _settings =
{
{ "libSplits", "0 -> 1", "Enter Vault/Museum from Library" },
{ "libSplits", "0 -> 2", "Enter Main Frame from Library" },
{ "libSplits", "0 -> 6", "Enter Power Plant from Library" },
{ "libSplits", "0 -> 8", "Enter Gravitational Management from Library (2.0+)" },
{ "libSplits", "0 -> 11", "Enter SA * RC from Library (2.0+)" },
{ "libSplits", "0 -> 7", "Enter Woods from Library" },
{ "libSplits", "0 -> 4", "Enter Great Door from Library" },

{ "libBackSplits", "1 -> 0", "Leave Museum/Vault to Library" },
{ "libBackSplits", "2 -> 0", "Leave Main Frame to Library" },
{ "libBackSplits", "5 -> 0", "Leave Back Door level to Library" },
{ "libBackSplits", "6 -> 0", "Leave Power Plant to Library" },
{ "libBackSplits", "9 -> 0", "Leave Centrifuge to Library (2.0+)" },
{ "libBackSplits", "12 -> 0", "Leave Event Horizon to Library (2.0+)" },
{ "libBackSplits", "14 -> 0", "Leave Continuum to Library (2.0+)" },
{ "libBackSplits", "7 -> 0", "Leave Woods to Library" },

{ "inLevelSplits", "4 -> 3", "Enter Archive from Big Orb Room" },
{ "inLevelSplits", "mainFrame", "Splits in Main Frame:" },
{ "mainFrame", "2 -> 3", "Enter second half of Main Frame" },
{ "mainFrame", "3 -> 4", "Enter Back Door Corridor from Main Frame" },
{ "mainFrame", "4 -> 5", "Enter Back Door level from Corridor" },
{ "inLevelSplits", "centrifuge", "Splits in Centrifuge (2.0+):" },
{ "centrifuge", "8 -> 9", "Enter Centrifuge from Gravitational Management" },
{ "centrifuge", "9 -> 10", "Enter Warp Machine from Centrifuge" },
{ "inLevelSplits", "eventHorizon", "Splits in Event Horizon (2.0+):" },
{ "eventHorizon", "11 -> 12", "Enter Event Horizon from SA * RC" },
{ "eventHorizon", "11 -> 13", "Enter Professor's lab from SA * RC" },
{ "eventHorizon", "13 -> 14", "Enter Continuum from lab" }
};

settings.Add("libSplits", false, "Split when going into a level:");
settings.Add("libBackSplits", false, "Split when finishing a level:");
settings.Add("inLevelSplits", false, "Split within a level:");

for (int i = 0; i < _settings.GetLength(0); ++i)
{
string parent = _settings[i, 0];
string id = _settings[i, 1];
string desc = _settings[i, 2];

settings.Add(id, false, desc, _settings);
}

vars.PrevOffset = timer.Run.Offset;
}

onStart
{
timer.Run.Offset = vars.PrevOffset;
}

init
{
switch (game.ProcessName)
{
case "A Proof of Concept 1.1":
vars.LevelIDByIndex = new List<int> { 12, 5, 6, 7, 9, 10, 11, 14 };
break;
case "Concept - v2.6":
vars.LevelIDByIndex = new List<int>
{
21, // Library
12, // Museum
13, // Main Frame
15, // Main Frame 2 / Archive
17, // Back Door 0.5 / Great Door
18, // Back Door
19, // Power Plant
23, // Woods
14, // Gravitational Management
31, // Centrifuge
4, // Warp Machine
3, // SA * RC
20, // Event Horizon
5, // Professor's lab
10 // Continuum
};
break;
}
}

start
{
if (old.LevelID == current.LevelID)
return;

switch (game.ProcessName)
{
case "A Proof of Concept 1.1" :
var start = old.LevelID == 1 && current.LevelID == 4;
break;
case "Concept - v2.6" :
var start = old.LevelID == 2 && current.LevelID == 11;
break;
}

if (start)
{
vars.PrevOffset = timer.Run.Offset;
timer.Run.Offset = TimeSpan.FromSeconds(20f / 3f);
return true;
}
}

split
{
if (old.LevelID == current.LevelID)
return;

int oldIndex = vars.LevelIDByIndex.IndexOf(old.LevelID);
int currIndex = vars.LevelIDByIndex.IndexOf(current.LevelID);
return settings[oldIndex + " -> " + currIndex];
}

reset
{
if (old.LevelID == current.LevelID)
return;

switch (game.ProcessName)
{
case "A Proof of Concept 1.1" :
return old.LevelID != 0 && old.LevelID != 4 && current.LevelID == 0;
case "Concept - v2.6" :
return current.LevelID == 2;
}
}
12 changes: 12 additions & 0 deletions A Proof of Concept/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Auto Splitter for ***A Proof of Concept***
## Features
Starts the timer when transitioning from the menu to the intro.
Splits are available in the settings. Does not split when reaching the end.
Resets the timer when returning to the main menu.

Supports v1.1 (for 7 Cards runs) and v2.0+ (for 10 Cards runs).

## Resources
*Leaderboards: [speedrun.com/apoc](https://speedrun.com/apoc)*
*Discord: [discord.gg/myGEa5u](https://discord.gg/myGEa5u)*
*Game: [bill-g.itch.io/a-proof-of-concept](https://bill-g.itch.io/a-proof-of-concept) (Free)*
Loading

0 comments on commit 011a5ca

Please sign in to comment.