PQ maps and fixes

This commit is contained in:
RandomityGuy 2024-07-08 13:04:32 +05:30
parent 19cc14679e
commit b4b3906610
54 changed files with 13335 additions and 6 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View file

@ -183,6 +183,31 @@ class DifBuilder {
friction: 6,
restitution: 0.3
},
"pq_friction_bouncy" => {
friction: 0.2,
restitution: 0.0,
force: 15.0
},
"pq_friction_grass" => {
friction: 2,
restitution: 0.5
},
"pq_friction_ice" => {
friction: 0.07331,
restitution: 0.75
},
"pq_friction_mud" => {
friction: 0.3,
restitution: 0.5
},
"pq_friction_sand" => {
friction: 4,
restitution: 0.15
},
"pq_friction_space" => {
friction: 0.01,
restitution: 0.35
}
];
static function createPhongMaterial(onFinish:hxsl.Shader->Void, baseTexture:String, normalTexture:String, shininess:Float, specularColor:Vector,

View file

@ -2134,7 +2134,7 @@ class Marble extends GameObject {
this.setRotationQuat(quat);
var adt = timeState.clone();
adt.dt = physicsAccumulator;
adt.dt = Util.adjustedMod(physicsAccumulator, 0.032);
for (pi in pathedInteriors) {
pi.update(adt);
}

View file

@ -70,8 +70,8 @@ class MPPlayMissionGui extends GuiImage {
currentSelectionStatic = 0;
}
// currentSelection = PlayMissionGui.currentSelectionStatic;
currentCategory = PlayMissionGui.currentCategoryStatic;
currentSelection = currentSelectionStatic;
currentCategory = currentCategoryStatic;
MarbleGame.instance.toRecord = false;
@ -529,7 +529,7 @@ class MPPlayMissionGui extends GuiImage {
currentCategoryStatic = currentCategory;
NetCommands.setLobbyLevelIndex(category, currentList.length - 1);
NetCommands.setLobbyLevelIndex(category, 0);
// if (doRender)
// this.render(cast(this.parent, Canvas).scene2d);
}

View file

@ -247,14 +247,21 @@ class MisParser {
var openingIndex = key.indexOf('[');
var arrayName = key.substring(0, openingIndex);
var array:Array<String>;
var indexToken = key.substring(openingIndex + 1, key.indexOf("]"));
if (obj.exists(arrayName))
array = obj.get(arrayName);
else {
array = [];
obj.set(arrayName, array);
} // Create a new array or use the existing one
var index = Std.parseInt(key.substring(openingIndex + 1, -1));
array[index] = this.resolveExpression(parts[1]);
if (~/[0-9]+/.match(indexToken)) {
var index = Std.parseInt(indexToken);
array[index] = this.resolveExpression(parts[1]);
} else {
// Not a numeric indexer
indexToken = StringTools.trim(StringTools.replace(indexToken, "\"", ""));
obj.set(arrayName + indexToken, [this.resolveExpression(parts[1])]);
}
} else {
obj.set(key, [this.resolveExpression(parts[1])]);
}

View file

@ -64,6 +64,10 @@ class MissionElementScriptObject extends MissionElementBase {
var spawnblock:String;
var overviewwidth:String;
var overviewheight:String;
var spawnchancered:String;
var spawnchanceyellow:String;
var spawnchanceblue:String;
var spawnchanceplatinum:String;
public function new() {
_type = MissionElementType.ScriptObject;

View file

@ -288,6 +288,25 @@ class HuntMode extends NullMode {
for (elem in search) {
var gemElem:GemSpawnPoint = cast elem;
var gemPos = gemElem.gem.getAbsPos().getPosition();
if (level.mission.missionInfo.game == "PlatinumQuest") {
// Spawn chances!
var chance = switch (gemElem.gem.gemColor) {
case "red":
level.mission.missionInfo.spawnchancered != null ? Std.parseFloat(level.mission.missionInfo.spawnchancered) : 0.9;
case "yellow":
level.mission.missionInfo.spawnchanceyellow != null ? Std.parseFloat(level.mission.missionInfo.spawnchanceyellow) : 0.65;
case "blue":
level.mission.missionInfo.spawnchanceblue != null ? Std.parseFloat(level.mission.missionInfo.spawnchanceblue) : 0.35;
case "platinum":
level.mission.missionInfo.spawnchanceplatinum != null ? Std.parseFloat(level.mission.missionInfo.spawnchanceplatinum) : 0.18;
default:
1.0;
};
if (Math.random() > chance)
continue; // Don't spawn!
}
results.push({
gem: gemElem.netIndex,
weight: this.gemGroupRadius - gemPos.distance(pos) + rng.randRange(0, getGemWeight(gemElem.gem) + 3)
@ -423,6 +442,8 @@ class HuntMode extends NullMode {
return 1;
if (gem.gemColor == "blue")
return 4;
if (gem.gemColor == "platinum")
return 9;
return 0;
}
@ -536,6 +557,8 @@ class HuntMode extends NullMode {
incr = 2;
case "blue.gem":
incr = 5;
case "platinum.gem":
incr = 10;
}
if (@:privateAccess !marble.isNetUpdate) {
@ -550,6 +573,9 @@ class HuntMode extends NullMode {
case "blue.gem":
points += 5;
@:privateAccess level.playGui.addMiddleMessage('+5', 0x6666FF);
case "platinum.gem":
points += 10;
@:privateAccess level.playGui.addMiddleMessage('+10', 0xdddddd);
}
@:privateAccess level.playGui.formatGemHuntCounter(points);
}