Plus it's a reskin of the super acorn, so...
[UPDATE 13.1] Alesan99's Entities (Clear Pipes, Tracks, & more!)
- TheSkullCreeper!
- Posts: 186
- Joined: 12 Feb 2018, 11:09
I'm wondering if Mini Pipes are being added in V13.
'Cuz the Mini Mushroom is pretty useless.
'Cuz the Mini Mushroom is pretty useless.
Pipe sizes can be changed in v13TheSkullCreeper! wrote: ↑15 May 2020, 21:18I'm wondering if Mini Pipes are being added in V13.
'Cuz the Mini Mushroom is pretty useless.
not like mario maker, but yes.
you can use that kind of enemy stacking in the current version (12.1C) but please stop asking alesan for mario maker styled stacking.
i know that alesan already did a bunch of other mario maker things, but i really don't think mario maker styled enemy stacking is a good idea.
just use the enemy stacking that's already in the game.
- Villager103
- Posts: 506
- Joined: 31 Jan 2013, 14:50
- Contact:
Seeing as World Maps probably aren't getting added, can we get some kind of global trigger/global values, that remain the same across levels? Not only could they be used to make pseudo-worldmaps, they could also have a variety of other applications.
I've added animation variablesVillager103 wrote: ↑17 May 2020, 15:04Seeing as World Maps probably aren't getting added, can we get some kind of global trigger/global values, that remain the same across levels? Not only could they be used to make pseudo-worldmaps, they could also have a variety of other applications.
Would you add a right click option for the hammer/boomerang/fire/ice/sledge bros to chase after the player like in SMB2J?alesan99 wrote: ↑17 May 2020, 17:58I've added animation variablesVillager103 wrote: ↑17 May 2020, 15:04Seeing as World Maps probably aren't getting added, can we get some kind of global trigger/global values, that remain the same across levels? Not only could they be used to make pseudo-worldmaps, they could also have a variety of other applications.
GIF.gif
Alesan CLEARLY said that he is not making anything that can't be done with custom enemies. If your having problems with custom enemies then I don't think you'll be able to make Cape Mario in Hello engine as they are easier to make than programming.
I'm not doing work for you jermboy.
If an enemy can be made with custom enemies there's no reason for me to add it myself.
You don't have to suggest stuff, just enjoy the game
If an enemy can be made with custom enemies there's no reason for me to add it myself.
You don't have to suggest stuff, just enjoy the game
- QÜ!/\/TÖ/\/
- Posts: 63
- Joined: 24 Sep 2019, 01:51
- Contact:
hey everyone, thought i would share a fun mod!
this mod replaces the rocketturret with a flying mini helicopter! this will be featured in my mod along with tons of other new things but you can try this yourself for now!
how to install the mod incase you dont know:
this mod replaces the rocketturret with a flying mini helicopter! this will be featured in my mod along with tons of other new things but you can try this yourself for now!
how to install the mod incase you dont know:
Code: Select all
rocketturret = class:new()
function rocketturret:init(x, y, r)
--PHYSICS STUFF
self.x = x-1
self.y = y-15/16
self.width = 0.8
self.height = 10/16
self.static = false
self.active = true
self.gravity = 0
self.category = 5
self.dir = "left"
self.speedy = 0
self.speedx = hammerspeed
self.animationtimer = 0
self.mask = {true}
self.movedirection = "right"
self.autodelete = true
--IMAGE STUFF
self.drawable = true
self.graphic = rocketturretimage
self.quad = rocketturretquad[1]
self.offsetX = 8
self.offsetY = 1
self.quadcenterX = 8
self.quadcenterY = 8
self.state = "normal"
self.quadi = 1
self.timer = 0
self.animationdirection = "right"
self.r = r
self.on = true
self.outtable = {}
self.targetangle = false
self.targeted = false
self.angle = false
self.firing = false
end
local function unwrap(a)
while a < 0 do
a = a + (math.pi*2)
end
while a > (math.pi*2) do
a = a - (math.pi*2)
end
return a
end
local function angles(a1, a2)
local a1 = unwrap(a1)-math.pi
local a2 = unwrap(a2)-math.pi
local diff = a1-a2
if math.abs(diff) < math.pi then
return a1 > a2, diff
else
return diff < 0, diff
end
end
function rocketturret:update(dt)
if self.on and (not self.targeted) and (not self.firing) then
local closestplayer = 1 --find closest player
for i = 2, players do
local v = objects["player"][i]
if math.abs(self.x - v.x) < math.abs(self.x - objects["player"][closestplayer].x) then
closestplayer = i
end
end
local v = objects["player"][closestplayer]
if v.x+v.width/2 > self.x+self.width/2 then
self.animationdirection = "left"
self.dir = "right"
else
self.animationdirection = "right"
self.dir = "left"
end
local x1, y1, x2, y2 = (self.x+self.width/2), (self.y+self.height/2-3/16), (v.x+v.width/2), (v.y+v.height/2)
x2, y2 = x1+15, y1+(v.y-self.y)
if v.x+v.width/2 < self.x+self.width/2 then
x2 = x1-15
end
self.targetangle = math.atan2(x1-x2, y1-y2)
if self.y > objects["player"][closestplayer].y - 5 and self.y > objects["player"][closestplayer].y - 2 then
self.speedy = -hammerspeed
elseif self.y < objects["player"][closestplayer].y - 5 and self.y < objects["player"][closestplayer].y - 2 then
self.speedy = hammerspeed
end
if self.x == objects["player"][closestplayer].x + 2 or self.x > objects["player"][closestplayer].x - 2 then
self.movedirection = nil
end
if self.x > objects["player"][closestplayer].x + 2 then
self.movedirection = "right"
--self.speedx = -hammerspeed
elseif self.x < objects["player"][closestplayer].x - 2 then
self.movedirection = "left"
--self.speedx = hammerspeed
end
if self.movedirection == "left" then
if self.speedx > hammerspeed then
self.speedx = self.speedx - friction*dt
if self.speedx < hammerspeed then
self.speedx = hammerspeed
end
elseif self.speedx < hammerspeed then
self.speedx = self.speedx + friction*dt
if self.speedx > hammerspeed then
self.speedx = hammerspeed
end
end
else
if self.speedx < -hammerspeed then
self.speedx = self.speedx + friction*dt
if self.speedx > -hammerspeed then
self.speedx = -hammerspeed
end
elseif self.speedx > -hammerspeed then
self.speedx = self.speedx - friction*dt
if self.speedx < -hammerspeed then
self.speedx = -hammerspeed
end
end
end
end
--buggy
if self.angle then
local pos, diff = angles(self.targetangle, self.angle)
if pos then
self.angle = self.angle + math.abs(diff)*3*dt
else
self.angle = self.angle - math.abs(diff)*3*dt
end
elseif self.targetangle then
self.angle = self.targetangle
end
if self.state == "ready" then
elseif self.state == "launch" then
else
end
self.animationtimer = self.animationtimer + dt
while self.animationtimer > goombaanimationspeed/4 do
self.animationtimer = self.animationtimer - goombaanimationspeed/4
self.quadi = self.quadi + 1
if self.quadi == 5 then
self.quadi = 1
end
end
self.quad = rocketturretquad[self.quadi]
if self.on and self.x > xscroll-1 and self.x < xscroll+width then
if self.state == "normal" then
self.timer = self.timer + dt
if self.timer > 3 then
self.state = "ready"
self.timer = 0
local closestplayer = 1 --find closest player
for i = 2, players do
local v = objects["player"][i]
if math.abs(self.x - v.x) < math.abs(self.x - objects["player"][closestplayer].x) then
closestplayer = i
end
end
self.targeted = objects["player"][closestplayer].y + -self.y
end
elseif self.state == "ready" then
self.timer = self.timer + dt
if self.timer > 0.8 then
playsound(boomsound)
self:launchrocket()
self.state = "launch"
self.timer = 0
self.targeted = false
end
elseif self.state == "launch" then
self.timer = self.timer + dt
if self.timer > 0.2 and (not self.firing) then
self.state = "normal"
self.timer = 0
end
end
end
end
function rocketturret:draw()
if self.angle and self.on and self.x > xscroll-1 and self.x < xscroll+width then
local a = unwrap(self.angle)
if a > math.pi*1.5 then --weird bugs galore
a = a-math.pi*2
end
local cox, coy, side, tend, x, y = traceline(self.x+self.width/2, self.y+self.height/2-3/16, a)
if x then
--check if current block is a portal
local opp = "left"
if a > math.pi*1.25 then
elseif a > math.pi*.75 then
opp = "up"
elseif a > math.pi*0.25 then
opp = "right"
elseif a > -math.pi*.25 then
opp = "down"
end
local portalx, portaly, portalfacing, infacing = getPortal(cox, coy, opp)
-- if portalx or portaly then
-- love.graphics.setColor(101, 0, 0, 150)
-- else
if self.state == "ready" then
love.graphics.setColor(236, 196, 33, 150)
elseif self.state == "launch" then
love.graphics.setColor(218, 81, 39, 150)
else
love.graphics.setColor(255, 142, 0, 100)
end
-- end
love.graphics.setLineWidth(2)
love.graphics.setLineStyle("rough")
if self.animationdirection == "left" then
love.graphics.line(((self.x+self.width/2)-xscroll+8/16)*16*scale, ((self.y+self.height/2-3/16)-yscroll-2/16)*16*scale, (x-xscroll+8/16)*16*scale, (y-yscroll-2/16)*16*scale)
elseif self.animationdirection == "right" then
love.graphics.line(((self.x+self.width/2)-xscroll-6/16)*16*scale, ((self.y+self.height/2-3/16)-yscroll-2/16)*16*scale, (x-xscroll-6/16)*16*scale, (y-yscroll-2/16)*16*scale)
end
if portalx then
--let's just brute force this
local diffx, diffy = x-(cox-1), y-(coy-1)
local angle = a
if portalfacing == "left" then
portalx = portalx - 1
portaly = portaly - 1
if infacing == "left" then
angle = math.pi*2-a
elseif infacing == "right" then
portalx = portalx - 1
end
elseif portalfacing == "right" then
portalx = portalx - 1
portaly = portaly - 1
if infacing == "left" then
portalx = portalx + 1
elseif infacing == "right" then
angle = math.pi*2-a
end
elseif portalfacing == "down" then
if infacing == "left" then
diffx = -diffy
diffy = 0
angle = math.pi*1.5+a
elseif infacing == "right" then
portalx = portalx - 1
diffx = diffy
diffy = 0
angle = math.pi*.5+a
end
elseif portalfacing == "up" then
portaly = portaly - 1
portalx = portalx - 1
if infacing == "left" then
diffx = diffy
diffy = 0
angle = math.pi*.5+a
elseif infacing == "right" then
portalx = portalx + 1
diffx = -diffy
diffy = 0
angle = math.pi*1.5+a
end
end
if angle > math.pi*1.5 then --weird bugs galore
angle = angle-math.pi*2
end
if infacing ~= "up" or infacing ~= "down" then
local cox, coy, side, tend, x, y = traceline(portalx+diffx, portaly+diffy, angle)
love.graphics.setColor(255, 142, 0, 100)
love.graphics.line(((portalx+diffx)-xscroll)*16*scale, ((portaly+diffy)-yscroll-8/16)*16*scale, (x-xscroll)*16*scale, (y-yscroll-8/16)*16*scale)
end
end
end
end
end
function rocketturret:launchrocket()
local obj
if self.dir == "right" then
obj = turretrocket:new(self.x+12/16, self.y+1/16, self.targeted, self.dir)
else
obj = turretrocket:new(self.x, self.y+1/16, self.targeted, self.dir)
end
obj.parent = self
self.firing = true
table.insert(objects["turretrocket"], obj)
end
function rocketturret:input(t)
if t == "on" then
self.on = true
elseif t == "off" then
self.on = false
elseif t == "toggle" then
self.on = not self.on
end
end
function rocketturret:link()
if #self.r > 2 then
for j, w in pairs(outputs) do
for i, v in pairs(objects[w]) do
if tonumber(self.r[4]) == v.cox and tonumber(self.r[5]) == v.coy then
v:addoutput(self)
self.on = false
end
end
end
end
end
function rocketturret:leftcollide(a, b)
end
function rocketturret:rightcollide(a, b)
end
function rocketturret:passivecollide(a, b)
end
function rocketturret:globalcollide(a, b)
end
function rocketturret:floorcollide(a, b)
end
function rocketturret:ceilcollide(a, b)
end
function rocketturret:rocketready()
self.firing = false
end
-------ROCKET TURRET BULLET THING------
turretrocket = class:new()
function turretrocket:init(x, y, gg, dir)
--PHYSICS STUFF
self.x = x
self.y = y
self.speedy = gg
if dir == "right" then
self.speedx = 15
else
self.speedx = -15
end
self.width = 5/16
self.height = 5/16
self.static = false
self.active = true
self.category = 4
self.gravity = 0
self.rotation = 0
self.dir = dir
self.mask = {true,
false, false, false, true, true,
true, true, true, true, true,
true, true, true, true, true,
true, true, true, true, true,
true, true, true, false, true,
true, true, true, true, true,
false}
self.autodelete = true
--IMAGE STUFF
self.drawable = true
self.graphic = turretrocketimage
self.quad = turretrocketquad[1]
self.offsetX = 3
self.offsetY = 3
self.quadcenterX = 4
self.quadcenterY = 4
if self.dir == "right" then
self.animationdirection = "left"
else
self.animationdirection = "right"
end
end
function turretrocket:update(dt)
if self.rotation ~= 0 then
if math.abs(math.abs(self.rotation)-math.pi/2) < 0.1 then
self.rotation = -math.pi/2
else
self.rotation = 0
end
end
if self.delete then
return true
end
if self.speedx > 0 then
self.animationdirection = "left"
else
self.animationdirection = "right"
end
end
function turretrocket:hit(a, b)
if a == "tile" then
local x, y = b.cox, b.coy
hitblock(x, y, {size=2})
self.delete = true
else
if mariohammerkill[a] then
b:shotted("right")
if a ~= "bowser" then
addpoints(firepoints[a], self.x, self.y)
end
end
self.delete = true
playsound(blockhitsound)
end
self:callback()
makepoof(self.x+self.width/2, self.y+self.height/2, "poof")
end
function turretrocket:leftcollide(a, b)
self:hit(a, b)
return false
end
function turretrocket:rightcollide(a, b)
self:hit(a, b)
return false
end
function turretrocket:globalcollide(a, b)
self:hit(a, b)
return false
end
function turretrocket:floorcollide(a, b)
self:hit(a, b)
return false
end
function turretrocket:ceilcollide(a, b)
self:hit(a, b)
return false
end
function turretrocket:passivecollide(a, b)
self:hit(a, b)
return false
end
function turretrocket:autodeleted()
self:callback()
end
function turretrocket:callback()
if self.parent then
self.parent:rocketready()
end
end
- Alexis0159
- Posts: 24
- Joined: 02 Jan 2020, 23:41
It may be a silly suggestion, but I would like Mario to collide with a block and keep walking if possible in future versions.
- Alexis0159
- Posts: 24
- Joined: 02 Jan 2020, 23:41
Honestly it is one of the best features for Mari0alesan99 wrote: ↑17 May 2020, 17:58I've added animation variablesVillager103 wrote: ↑17 May 2020, 15:04Seeing as World Maps probably aren't getting added, can we get some kind of global trigger/global values, that remain the same across levels? Not only could they be used to make pseudo-worldmaps, they could also have a variety of other applications.
GIF.gif
- TheSkullCreeper!
- Posts: 186
- Joined: 12 Feb 2018, 11:09
More Suggestions
1. Dry Bowser (instead of fire being his weakness, make it ICE)
2. Change the Checkpoint Flag sprites from having a C to a Mushroom (to reference the game that first introduced the Checkpoint Flag: NSMBDS (even though it functioned like it did in SMB1))
3. dropitemondeath: Spawns a built-in item (Custom Enemy Property)
4. Penguin Suit
Also, with custom enemies, do the properties have to be placed in specific locations, or can they be placed anywhere?
Is there a way to make an enemy that transforms when leaving the ground and then the enemy it was transformed into transforms back into its original form? (I want to make a Raccoon Goomba)
2. Change the Checkpoint Flag sprites from having a C to a Mushroom (to reference the game that first introduced the Checkpoint Flag: NSMBDS (even though it functioned like it did in SMB1))
3. dropitemondeath: Spawns a built-in item (Custom Enemy Property)
Also, with custom enemies, do the properties have to be placed in specific locations, or can they be placed anywhere?
Is there a way to make an enemy that transforms when leaving the ground and then the enemy it was transformed into transforms back into its original form? (I want to make a Raccoon Goomba)
1. custom enemiesTheSkullCreeper! wrote: ↑21 May 2020, 21:26More Suggestions 1. Dry Bowser (instead of fire being his weakness, make it ICE)
2. Change the Checkpoint Flag sprites from having a C to a Mushroom (to reference the game that first introduced the Checkpoint Flag: NSMBDS (even though it functioned like it did in SMB1))
3. dropitemondeath: Spawns a built-in item (Custom Enemy Property)4. Penguin Suit
Also, with custom enemies, do the properties have to be placed in specific locations, or can they be placed anywhere?
Is there a way to make an enemy that transforms when leaving the ground and then the enemy it was transformed into transforms back into its original form? (I want to make a Raccoon Goomba)
2. custom graphic
3. many can be done already or recreated
4. NO
no enemy properties can be placed in any order and probbably
i think you guys will be really happy with what alesan added to v13
ALESAN YOU NEED TO ADD QUICKSAND, TRACKS, CLEAR PIPES, MEOWSER, SMB2 MUSHROOM, SUPER ACORN, P BALLOON, BOOMERANG FLOWER, PIRANHA CREEPERS, WORLD MAPS, MEOWSER, AND EVERYTHING ELSE FROM SUPER MARIO MAKER 2!! WE NEED THEM NOW!!
there. i requested everything WE NEEDED. and he said yes.
now y'all can stop
now y'all can stop
- Villager103
- Posts: 506
- Joined: 31 Jan 2013, 14:50
- Contact:
Can we get some way to change the max amount of coins you can collect, or disable the 1up collecting upon getting 100 coins? Coins in mappacks with infinite lives are pretty much worthless, and the small coin limit prevents using coins for much else.
- TheSkullCreeper!
- Posts: 186
- Joined: 12 Feb 2018, 11:09
What's the maximum height for a tileset that is 22 tiles long (374 pixels)?
the only limits are the ones that your device has.
if that doesn't make sense, there's no limit until the application you use to make tilesets starts acting really funky. just make sure that the tileset's height is divisible by 17. (and it's not a decimal number)
if that doesn't make sense, there's no limit until the application you use to make tilesets starts acting really funky. just make sure that the tileset's height is divisible by 17. (and it's not a decimal number)
- TheSkullCreeper!
- Posts: 186
- Joined: 12 Feb 2018, 11:09
Would this work as a tileset?
Edited graphics to follow the palettes properly.
Alesan, could you post the beta's new tile property file and new character template so we all can prepare our tilesets and custom characters for the new update?
Edited graphics to follow the palettes properly.
Alesan, could you post the beta's new tile property file and new character template so we all can prepare our tilesets and custom characters for the new update?
- TheSkullCreeper!
- Posts: 186
- Joined: 12 Feb 2018, 11:09
More customization for custom backgrounds. Like having a top section, a bottom section, and a normal section (so backgrounds don't look weird when making them too tall for some backgrounds like Overworld, where the hills would appear in the air and be cut off).
V13 features are over now, Alesan said he's only doing bugfixes until the update is releasedTheSkullCreeper! wrote: ↑30 May 2020, 02:04More customization for custom backgrounds. Like having a top section, a bottom section, and a normal section (so backgrounds don't look weird when making them too tall for some backgrounds like Overworld, where the hills would appear in the air and be cut off).
how do i change this graphic
https://i.ibb.co/XXhJMbh/asd2.png
https://i.ibb.co/XXhJMbh/asd2.png
v13 is releasing this month (at the earliest) so be prepared, gamers.
- UnoffThrower2
- Posts: 72
- Joined: 03 Jun 2020, 04:14
Hey Villager, I know this is off-topic but I have 2 questions for you.Villager103 wrote: ↑25 May 2020, 01:51Can we get some way to change the max amount of coins you can collect, or disable the 1up collecting upon getting 100 coins? Coins in mappacks with infinite lives are pretty much worthless, and the small coin limit prevents using coins for much else.
First, what happened to the project shown on this image
Second, did you make the corner pipe tiles shown on the said image? if so, can I use it on my SMBX episode?
- Villager103
- Posts: 506
- Joined: 31 Jan 2013, 14:50
- Contact:
1. I lost interest in that project and eventually scrapped it. I don't know where the mappack files are anymore.UnoffThrower2 wrote: ↑06 Jun 2020, 01:49Hey Villager, I know this is off-topic but I have 2 questions for you.Villager103 wrote: ↑25 May 2020, 01:51Can we get some way to change the max amount of coins you can collect, or disable the 1up collecting upon getting 100 coins? Coins in mappacks with infinite lives are pretty much worthless, and the small coin limit prevents using coins for much else.
First, what happened to the project shown on this image
Second, did you make the corner pipe tiles shown on the said image? if so, can I use it on my SMBX episode?
2. I did make the corner pipe tiles. Yes, you can use them if you want. No need to credit.
- UnoffThrower2
- Posts: 72
- Joined: 03 Jun 2020, 04:14
Ok, thanks.Villager103 wrote: ↑06 Jun 2020, 08:441. I lost interest in that project and eventually scrapped it. I don't know where the mappack files are anymore.UnoffThrower2 wrote: ↑06 Jun 2020, 01:49Hey Villager, I know this is off-topic but I have 2 questions for you.Villager103 wrote: ↑25 May 2020, 01:51Can we get some way to change the max amount of coins you can collect, or disable the 1up collecting upon getting 100 coins? Coins in mappacks with infinite lives are pretty much worthless, and the small coin limit prevents using coins for much else.
First, what happened to the project shown on this image
Second, did you make the corner pipe tiles shown on the said image? if so, can I use it on my SMBX episode?
2. I did make the corner pipe tiles. Yes, you can use them if you want. No need to credit.
- TheSkullCreeper!
- Posts: 186
- Joined: 12 Feb 2018, 11:09
What's the maximum amount of Minus Levels that can be in a mappack?
nostalgia 100
working on a new mappack based on one of my old favourite games.
oh i am also remaking my first mappack for fun
working on a new mappack based on one of my old favourite games.
oh i am also remaking my first mappack for fun
- LoggyBr0sGaming
- Posts: 54
- Joined: 15 Aug 2019, 16:57
- Contact:
- QÜ!/\/TÖ/\/
- Posts: 63
- Joined: 24 Sep 2019, 01:51
- Contact:
deflect projectiles with your lightsaber!!!!!!!
-
- Posts: 4
- Joined: 19 Apr 2020, 11:38
Hey ! For the incoming new update, you can make the famous rings from the Mario Series :
Functions :
Makes a selected number of coins appears, we can place those coins
Multiple Colors (For each item)
We can select the time before coin despawning
Functions :
Makes a selected number of coins appears, we can place those coins
Multiple Colors (For each item)
We can select the time before coin despawning