mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
Add some more shapes
This commit is contained in:
parent
bfae8b91d8
commit
a5704ff8c5
4 changed files with 59 additions and 3 deletions
|
|
@ -1,12 +1,13 @@
|
||||||
package shapes;
|
package shapes;
|
||||||
|
|
||||||
|
import mis.MissionElement.MissionElementItem;
|
||||||
import src.TimeState;
|
import src.TimeState;
|
||||||
import src.DtsObject;
|
import src.DtsObject;
|
||||||
|
|
||||||
class Gem extends DtsObject {
|
class Gem extends DtsObject {
|
||||||
public var pickedUp:Bool;
|
public var pickedUp:Bool;
|
||||||
|
|
||||||
public function new() {
|
public function new(element:MissionElementItem) {
|
||||||
super();
|
super();
|
||||||
dtsPath = "data/shapes/items/gem.dts";
|
dtsPath = "data/shapes/items/gem.dts";
|
||||||
ambientRotate = true;
|
ambientRotate = true;
|
||||||
|
|
@ -15,7 +16,9 @@ class Gem extends DtsObject {
|
||||||
showSequences = false; // Gems actually have an animation for the little shiny thing, but the actual game ignores that. I get it, it was annoying as hell.
|
showSequences = false; // Gems actually have an animation for the little shiny thing, but the actual game ignores that. I get it, it was annoying as hell.
|
||||||
|
|
||||||
var GEM_COLORS = ["blue", "red", "yellow", "purple", "green", "turquoise", "orange", "black"];
|
var GEM_COLORS = ["blue", "red", "yellow", "purple", "green", "turquoise", "orange", "black"];
|
||||||
var color = GEM_COLORS[Math.floor(Math.random() * GEM_COLORS.length)];
|
var color = element.datablock.substring("GemItem".length);
|
||||||
|
if (color.length == 0)
|
||||||
|
GEM_COLORS[Math.floor(Math.random() * GEM_COLORS.length)];
|
||||||
this.identifier = "Gem" + color;
|
this.identifier = "Gem" + color;
|
||||||
this.matNameOverride.set('base.gem', color + ".gem");
|
this.matNameOverride.set('base.gem', color + ".gem");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
20
src/shapes/SignCaution.hx
Normal file
20
src/shapes/SignCaution.hx
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
package shapes;
|
||||||
|
|
||||||
|
import mis.MissionElement.MissionElementStaticShape;
|
||||||
|
import src.DtsObject;
|
||||||
|
|
||||||
|
class SignCaution extends DtsObject {
|
||||||
|
public function new(element:MissionElementStaticShape) {
|
||||||
|
super();
|
||||||
|
this.dtsPath = "data/shapes/signs/cautionsign.dts";
|
||||||
|
this.isCollideable = true;
|
||||||
|
|
||||||
|
var type = element.datablock.substring("SignCaution".length);
|
||||||
|
switch (type) {
|
||||||
|
case "Caution":
|
||||||
|
this.matNameOverride.set("base.cautionsign", "caution.cautionsign");
|
||||||
|
case "Danger":
|
||||||
|
this.matNameOverride.set("base.cautionsign", "danger.cautionsign");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
26
src/shapes/SignPlain.hx
Normal file
26
src/shapes/SignPlain.hx
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
package shapes;
|
||||||
|
|
||||||
|
import mis.MissionElement.MissionElementStaticShape;
|
||||||
|
import src.DtsObject;
|
||||||
|
|
||||||
|
class SignPlain extends DtsObject {
|
||||||
|
public function new(element:MissionElementStaticShape) {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.dtsPath = "data/shapes/signs/plainsign.dts";
|
||||||
|
this.isCollideable = true;
|
||||||
|
|
||||||
|
// Determine the direction to show
|
||||||
|
var direction = element.datablock.substring("SignPlain".length);
|
||||||
|
switch (direction) {
|
||||||
|
case "Right":
|
||||||
|
this.matNameOverride.set("base.plainsign", "right.plainsign");
|
||||||
|
case "Left":
|
||||||
|
this.matNameOverride.set("base.plainsign", "left.plainsign");
|
||||||
|
case "Up":
|
||||||
|
this.matNameOverride.set("base.plainsign", "uo.plainsign");
|
||||||
|
case "Down":
|
||||||
|
this.matNameOverride.set("base.plainsign", "down.plainsign");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,16 +1,23 @@
|
||||||
package shapes;
|
package shapes;
|
||||||
|
|
||||||
|
import mis.MissionElement.MissionElementItem;
|
||||||
import src.TimeState;
|
import src.TimeState;
|
||||||
|
import mis.MisParser;
|
||||||
|
|
||||||
class TimeTravel extends PowerUp {
|
class TimeTravel extends PowerUp {
|
||||||
var timeBonus:Float = 5;
|
var timeBonus:Float = 5;
|
||||||
|
|
||||||
public function new() {
|
public function new(element:MissionElementItem) {
|
||||||
super();
|
super();
|
||||||
this.dtsPath = "data/shapes/items/timetravel.dts";
|
this.dtsPath = "data/shapes/items/timetravel.dts";
|
||||||
this.isCollideable = false;
|
this.isCollideable = false;
|
||||||
this.isTSStatic = false;
|
this.isTSStatic = false;
|
||||||
this.identifier = "TimeTravel";
|
this.identifier = "TimeTravel";
|
||||||
|
|
||||||
|
if (element.timebonus != null) {
|
||||||
|
this.timeBonus = MisParser.parseNumber(element.timebonus) / 1000;
|
||||||
|
}
|
||||||
|
|
||||||
this.pickUpName = '${this.timeBonus} second Time Travel bonus';
|
this.pickUpName = '${this.timeBonus} second Time Travel bonus';
|
||||||
this.cooldownDuration = 1e8;
|
this.cooldownDuration = 1e8;
|
||||||
this.useInstancing = true;
|
this.useInstancing = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue