Skip to content

Instantly share code, notes, and snippets.

View matortheeternal's full-sized avatar

Colin matortheeternal

  • Santa Barbara, California
View GitHub Profile
@matortheeternal
matortheeternal / GW2 Getting Started - PvE Guide.md
Last active July 22, 2018 18:58
A guide covering everything you need to know about getting started with PvE in GW2.

GW2 Getting Started - PvE Guide

New to Guild Wars 2 and looking for some basic information on PvE progression? Returning player looking for general PvE advice? This guide will offer a summary of information and advice to help you with your PvE adventure.

General Advice

  • GW2 players refer to elite specializations as an extension of character class, and I will do the same throughout this guide. Elite specs were added by the expansions and are additional skill trees which you unlock by doing content after reaching level 80. See the list of elite specs for more information.
  • Always sell gear on the Trading Post. You need at least 72 hours ingame before the Trading Post will become available to you for buying/selling most items (some cheap materials can be purchased prior to the 72 hour minimum being reached).
  • You can freely access Lions Arch at any time by opening clicking "Enter PvP lobby" in the PvP menu, then travelling to the Lions Arch Porta
@matortheeternal
matortheeternal / aggregateScores.js
Last active June 2, 2018 01:03
Code snippet for use on https://gionkunz.github.io/chartist-js/examples.html, aggregates score data into a usable chart with a step size the user can set.
const step = 5;
const scores = [35,36,36,40,40,40,45,47,50,50,50,55,58,60,60,60,60,60,60,60,60,60,60,63,63,64,64,64,65,66,66,66,67,67,67,67,67,67,68,68,68,68,68,69,69,69,70,70,70,70,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,75,75,75,75,75,75,75,75,75,75,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,80,80,80,80,80,80,81,81,81,82,82,83,83,83,83,83,83,83,84,84,85,85,86,87,88,90,90,91,92,92,92,93,96,96,98,98,98,98,99,99,100,100,100];
let aggregateScores = function(scores, step) {
let halfStep = step / 2.0;
let ag = [];
for (let i = 0; i <= 100; i += step) {
let stepScores = scores.filter(score => {
return score > i - halfStep && score <= i + halfStep
@matortheeternal
matortheeternal / index.js
Last active May 19, 2018 18:43
UPF Enchantment Restriction Remover
/* global ngapp, xelib */
registerPatcher({
info: info,
gameModes: [xelib.gmTES5, xelib.gmSSE],
settings: {
label: 'Ench Restrict Remover',
hide: true
},
execute: {
initialize: function(patch, helpers, settigns, locals) {
@matortheeternal
matortheeternal / Add Effects.pas
Last active April 24, 2018 16:42
Example xEdit script for adding Effects to a ALCH - Ingestible records.
unit UserScript;
function AddEffect(rec: IInterface; baseEffect: String; magnitude: Float; area, duration: Integer): IInterface;
var
effects: IInterface;
begin
effects := ElementByPath(rec, 'Effects');
if not Assigned(effects) then begin
effects := Add(rec, 'Effects', false);
Result := ElementByIndex(effects, 0);
unit userscript;
procedure TestForZeroCounts(sig, countPath, elementsPath: String);
var
i, j: Integer;
f, g, r: IInterface;
count: String;
begin
for i := 0 to FileCount - 2 do begin
f := FileByLoadOrder(i);
function FindCondition(rec: IInterface; functionName: String): IInterface;
var
i: Integer;
conditions: IInterface;
begin
conditions := ElementByPath(rec, 'Conditions');
for i := 0 to Pred(ElementCount(conditions)) do begin
Result := ElementByIndex(conditions, i);
if GetElementEditValues(Result, 'CTDA\Function') = functionName then
exit;
@matortheeternal
matortheeternal / Benchmark FullName.pas
Created October 18, 2017 18:41
xEdit script which tests the speed of getting the FullName of records.
unit userscript;
const
totalIterations = 30;
function Initialize: Integer;
var
lst: TList;
i, j: Integer;
begin
@matortheeternal
matortheeternal / Benchmark FullName.js
Last active August 4, 2021 22:54
zEdit script which tests the speed of getting the FullName of records.
const start = new Date();
const totalIterations = 30,
records = xelib.GetRecords(0, 'WEAP,ARMO,MISC'),
numCalls = totalIterations * records.length,
afterLoad = new Date();
console.log(`Calling xelib.FullName ${numCalls} times...`);
for (let i = 0; i < totalIterations; i++) {
for (let rec of records) {
@matortheeternal
matortheeternal / Benchmark Math.pas
Created October 18, 2017 18:18
xEdit script which tests the speed of jvInterpreter Pascal through the generation of a 3d fractal object in memory. (a volumetric mandelbox)
unit userscript;
const
SIZE = 30;
MIN_ITERATIONS = 4;
MAX_ITERATIONS = 16;
SCALE = 2;
FALLOUT_SQUARED = 36.0;
ZOOM = 4;
ZOOM_SUB = 2;
@matortheeternal
matortheeternal / Benchmark Math.js
Last active November 20, 2017 20:33
zEdit script which tests the speed of JavaScript through the generation of a 3d fractal object in memory. (a volumetric mandelbox)
let start = new Date();
const SIZE = 30,
MIN_ITERATIONS = 4,
MAX_ITERATIONS = 16,
SCALE = 2,
FALLOUT_SQUARED = 36.0,
ZOOM = 4,
ZOOM_SUB = 2;