Community_Mod:MegaManCrossover (In the Making)

Mods, guides how to use and install mods go right in here.
User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 16 May 2013, 01:31

So, awhile back, I had an idea to make a community Mod for Mari0.
Turtle kind of brushed it off, and said no more modding, so that was that.
Today (May 15, 2013), Turtle PMed me and asked if I was still up for the idea.
I was.
So he wanted to do something kind of like create SE features, but in reality, nobody makes modded maps, so what would be the point?

Here is what I came up with:
We use the Mari0 physics and game system, and pretty much everything it is now, and just change it into a totally new game, but keeping the portals, since that is already in it, and would make it stand out from an emulator.
I suggested something like Kirby, MegaMan, or VVVVVV (Sonic wasn't even a consideration because of the complicated game mechanics, but if modders like that, we may consider it)


Turtle liked the MegaMan idea (hence the title).
So our plan is to make a MegaMan + Portal, and this is a community mod.

We will distribute parts of the mod that each person must make, and we will work it together.
We will also need graphics.
And probably maps


If you like this idea, or think we shouldn't pick megaman, put in your input.


Participants as of DATE
Modders
People


Spriters


Mappers
Don't need any of these yet.


PREVIEWS:
Image


TODO:
_Weapon System - Ucenna
_Making adding enemies and bosses easier -
_Use the screen slide in Megaman, instead of Mari0 -
_Several Entities -
_MegaMan's Basics (Speed, hieght, jumping, sprites) -
_MegaMan's slide -
_Level Select -

TELL ME WHAT .LUA'S YOU WILL NEED TO MODIFY!!!!
Last edited by BobTheLawyer on 24 Jun 2013, 13:52, edited 6 times in total.

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 01:41

I'd prefer contra or kirby, I've never liked megaman. (not that I've ever played it...)

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 16 May 2013, 01:42

ucenna wrote:I'd prefer contra or kirby, I've never liked megaman. (not that I've ever played it...)
Heh, the only megaman I've played is the StreetFighter crossover.
I like the idea of taking the bosses powers.
Never played contra though...
Could you elaborate on its gameplay?

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 01:50

Your missing out! It's a 2d shooter-platformer that allows you to shoot up down, left, right crouching, and diagonals, it uses platforms for all of it's "tiles" which you can jump down from. It has vertical and horizontal scrolling but not at the same time, (until later renditions) it also has an occasional "semi-3d" level which I don't think you would be able to do.

User avatar
idiot9.0
Posts: 1707
Joined: 09 Mar 2012, 10:28
Contact:

Post » 16 May 2013, 01:54

I think I already stated my opinion about a Megaman-Portal crossover game, saying it wasn't a good idea because the gun would become a "situational" weapon since Megaman acquires boss weapons as well.

However, if you do end up doing this, expect me to be constantly posting here, because I want to be absolutely sure you get Megaman's physics and everything down to the last detail. Megaman is my favorite game series, so I will be on your asses about this.

Other than that, how are you planning this? Are you remaking one of the classic games, or making a completely separate fangame-like-deal? Are you gonna use 8-bit graphics or make everything completely custom? I want in on all the details.

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 16 May 2013, 02:03

I'd say 8 bit
I liked the idea of getting boss weapons.
It adds the portal gun as a new weapon.
We could have new weapons and everything.

User avatar
renhoek
Posts: 4545
Joined: 11 Feb 2012, 10:04

Post » 16 May 2013, 02:07

I like the concept of getting multiple weapons from other games, but good luck topping the portal gun.

User avatar
Turtle95
Posts: 1246
Joined: 21 Mar 2012, 21:48
Contact:

Post » 16 May 2013, 02:09

idiot9.0 wrote:I think I already stated my opinion about a Megaman-Portal crossover game, saying it wasn't a good idea because the gun would become a "situational" weapon since Megaman acquires boss weapons as well.

However, if you do end up doing this, expect me to be constantly posting here, because I want to be absolutely sure you get Megaman's physics and everything down to the last detail. Megaman is my favorite game series, so I will be on your asses about this.

Other than that, how are you planning this? Are you remaking one of the classic games, or making a completely separate fangame-like-deal? Are you gonna use 8-bit graphics or make everything completely custom? I want in on all the details.
Then you should give us some good-ass detail on his physics on velocities (x and y) and all that. All I know is he jumps ~1 block high or so and runs quite a bit slow. And also he has an arm cannon thingy.

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 16 May 2013, 02:11

renhoek wrote:I like the concept of getting multiple weapons from other games, but good luck topping the portal gun.
This is a Mari0 mod.
The portal gun is already in the code
Turtle95 wrote:And also he has an arm cannon thingy.
Glad to know the person who wanted it to be MegaMan knows quite a lot about how MegaMan works.

User avatar
Turtle95
Posts: 1246
Joined: 21 Mar 2012, 21:48
Contact:

Post » 16 May 2013, 02:12

BobTheLawyer wrote:
renhoek wrote:I like the concept of getting multiple weapons from other games, but good luck topping the portal gun.
This is a Mari0 mod.
The portal gun is already in the code
Turtle95 wrote:And also he has an arm cannon thingy.
Glad to know the person who wanted it to be MegaMan knows quite a lot about how MegaMan works.
Well, I haven't ever played MM, but still. It's worth the learning experience isn't it? (I have seen my friend play MM though)

User avatar
idiot9.0
Posts: 1707
Joined: 09 Mar 2012, 10:28
Contact:

Post » 16 May 2013, 02:14

Turtle95 wrote:Then you should give us some good-ass detail on his physics on velocities (x and y) and all that. All I know is he jumps ~1 block high or so and runs quite a bit slow. And also he has an arm cannon thingy.
If that's honestly all you know I'd suggest you go and play some of the NES Megaman games before you even think of starting it up.

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 02:15

How about metroid?
I'd be willing to help mod but I think my code is a bit sloppy, and I haven't played megaman.

User avatar
Turtle95
Posts: 1246
Joined: 21 Mar 2012, 21:48
Contact:

Post » 16 May 2013, 02:15

idiot9.0 wrote:
Turtle95 wrote:Then you should give us some good-ass detail on his physics on velocities (x and y) and all that. All I know is he jumps ~1 block high or so and runs quite a bit slow. And also he has an arm cannon thingy.
If that's honestly all you know I'd suggest you go and play some of the NES Megaman games before you even think of starting it up.
Then for all you know, I might not be doing the player class :P (someone who KNOWS MM should do that) I'd do something that I'd be able to do in this.

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 16 May 2013, 02:16

Idiot, I invite you to help come up with a list of features to help make this work.
EDIT: Also, if you can recommend an 8-bit MM game to base this off, that would be nice, so we can get emulators.

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 02:18

How about zelda 2?

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 16 May 2013, 02:19

I was thinking a side scroller, so it can use Mari0's physics.

EDIT: Oh wait, that game.
Everyone hates Link II

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 02:20

Um... zelda 2 is a side scroller (kinda)
Alternatively metroid (but you probably already saw that)
Last edited by ucenna on 16 May 2013, 22:14, edited 1 time in total.

User avatar
HansAgain
Posts: 1111
Joined: 03 Feb 2012, 18:51
Contact:

Post » 16 May 2013, 02:31

why are you thinking about making another Portal crossover when there are other awesome games? (Example: Q.U.B.E)

User avatar
mari0br0s
Posts: 46
Joined: 19 Jul 2012, 18:47

Post » 16 May 2013, 02:38

i think it should be kirby or vvvvvv

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 16 May 2013, 02:40

Because this is a Mari0 Mod (or will be)
Might as well use the code

@Mari0br0s, it seems like kirby is awfully popular for this (as if it wasn't easy enough without a portal gun)
If enough people want to do it, maybe...

I'm testing out Megaman X on an emulator first.

User avatar
idiot9.0
Posts: 1707
Joined: 09 Mar 2012, 10:28
Contact:

Post » 16 May 2013, 02:48

BobTheLawyer wrote:Idiot, I invite you to help come up with a list of features to help make this work.
EDIT: Also, if you can recommend an 8-bit MM game to base this off, that would be nice, so we can get emulators.
You don't need to download emulators at all, if you don't want to. You can play all 6 NES Megaman games online at virtualnes.com. Just throwing it out there.
As for what game you want to base it off of, it's a matter of preference and what features you want to add.
-Megaman 1 and 2 are the core basic: Run, Jump, n' Shoot. They both function a little differently, but overall have the same gameplay mechanic.
-Megaman 3 introduced both sliding and Rush, Megaman's robotic dog.
-Megaman 4 introduced the charge shot, where Megaman can charge his buster to shoot bigger, more powerful blasts. Games 5 and 6 follow suit with this function. Megaman 7 and 8 do as well but aren't 8-bit games.
(There are fangames that have remade games 7 and 8 into 8-bit but they're not by capcom so I don't count them.)
-Megaman 9 and 10 both went back to the style that Megaman 2 had: Run, Jump, n' Shoot. Megaman can't slide or use a charge shot in either game.

Each game brings about their own weapons and powers, so I'd suggest playing them yourself and seeing what one you like best.
Most fangames use Megaman 4-6 physics because the slide and charge shot are just common for Megaman.

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 16 May 2013, 03:02

I say, the more features the merrier.
4,5,and 6 sound good.
If someone wants to change sprite size, we can go with something else.

Someone needs to decide.
Idiot, which is your favorite?

User avatar
idiot9.0
Posts: 1707
Joined: 09 Mar 2012, 10:28
Contact:

Post » 16 May 2013, 03:05

Out of those 3 games, Megaman 6 is my favorite. But that brings about the challenge of both the Power adaptor and Jet adaptor.

User avatar
TripleXero
Posts: 892
Joined: 08 Aug 2012, 00:23
Contact:

Post » 16 May 2013, 03:14

This looks interesting and I'm excited to see where it will go

Just something to came to mind, maybe something like SMB Crossover if what game can't be decided

User avatar
Shank
Posts: 225
Joined: 24 Feb 2013, 04:17
Contact:

Post » 16 May 2013, 03:16

Megaman X must have been my most loved childhood game (I got 10 year old hand-me-downs). I would love C0ntra (Contra+Portal) being made.

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 04:29

I vote for C0ntra too.
Does megaman allow diagonal shooting? If it does I probably can port my motherducker shooting thing here. I'd probably add a weapon table to since we'll probably use one for megaman/contra/metroid.

User avatar
idiot9.0
Posts: 1707
Joined: 09 Mar 2012, 10:28
Contact:

Post » 16 May 2013, 04:37

Megaman games have only allowed diagonal aiming if you were playing as Bass if he was available (He's only in MM10 and the SNES game "Megaman & Bass"), or if the weapon Mega was using allowed it. The Megabuster alone never allows for diagonal aiming.

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 04:42

Got it! I'm going to assume the megabuster is the stock weapon...

User avatar
idiot9.0
Posts: 1707
Joined: 09 Mar 2012, 10:28
Contact:

Post » 16 May 2013, 04:46

Yep, you'd be correct. Megaman starts with the Megabuster, and it can only shoot forward. Megaman acquires weapons from the Robot Masters (bosses) he defeats. These weapons he gets have different functions, and some of them aim diagonal. Example would be Metal Blade, the weapon you get from Metalman in game 2. It can fire in 8 directions.

I'd keep your code on hand for those kind of weapons.

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 04:54

Okay! He can shoot backward with the megabuster right? And did megaman use 1 button to cycle weapons or 2?

User avatar
idiot9.0
Posts: 1707
Joined: 09 Mar 2012, 10:28
Contact:

Post » 16 May 2013, 05:17

He's only able to shoot forward, so whatever way he's facing. And with weapon cycling, if you're basing it on the NES games, he didn't. It was all done via a pause menu. Other iterations such as Megaman X had two weapon cycle buttons, commonly using the L and R buttons for it.

Honestly if you don't know just play a Megaman game. I linked virtualnes.com above to play the NES ones, and emulators aren't hard to find for other games. Playing the game and understanding how it works is much more efficient than me just telling you how he functions. It's also a fun series anyway.

Camewel
Posts: 2996
Joined: 02 Feb 2012, 21:32

Post » 16 May 2013, 08:52

I really don't think this is going to be as easy as you think it is.
Good luck either way.

User avatar
Jackostar10000
Posts: 417
Joined: 17 Jun 2012, 12:06

Post » 16 May 2013, 09:00

think there will be new robot masters? i would like to sprite!
IDEA: for robot master
CARTOON-MAN
MAGIC-MAN
GAMER-MAN
if any of these are already robot masters let me know, dont play much mega man

User avatar
idiot9.0
Posts: 1707
Joined: 09 Mar 2012, 10:28
Contact:

Post » 16 May 2013, 09:10

I'm seeing a trend here:
-People want to make a new portal-crossover game/mod
-People choose the games they never played before/haven't played much
-People think they'll do a good job.

I'm not trying to be pessimistic here, but seriously. How do you expect to make a good remake of a game that none of you have had any experience playing?
This doesn't apply to only the megaman concept, it goes for almost all the games suggested for this idea.

User avatar
Jackostar10000
Posts: 417
Joined: 17 Jun 2012, 12:06

Post » 16 May 2013, 11:06

ive been playing the original mega man on my wii u, i know what im doing

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 16 May 2013, 12:36

idiot9.0 wrote:I'm seeing a trend here:
-People want to make a new portal-crossover game/mod
-People choose the games they never played before/haven't played much
-People think they'll do a good job.

I'm not trying to be pessimistic here, but seriously. How do you expect to make a good remake of a game that none of you have had any experience playing?
This doesn't apply to only the megaman concept, it goes for almost all the games suggested for this idea.
I'm going to start asking people to play the megaman game this will be based on, once we decide which MegaMan game to play.

User avatar
ChrisGin
Posts: 204
Joined: 24 Mar 2013, 06:52

Post » 16 May 2013, 13:22

What if the gun worked like it does in usual mega man? Like your main gun is the portal gun...but if u press certain numbers on the number pad itll swap to either where he has his regular shooter, shootin lemons,.or guns gained from boss battles...i think there are mods that are similar to that already out, where you can swap between portal and gelcannon.

User avatar
Jackostar10000
Posts: 417
Joined: 17 Jun 2012, 12:06

Post » 16 May 2013, 14:01

so new robots?

User avatar
Mr.Q.Marx?
Posts: 849
Joined: 15 May 2012, 18:35

Post » 16 May 2013, 15:49

Honestly, the way I see it:
-Start with Megabuster
-Defeat Glados
-Get Portal Gun

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 16:10

idiot9.0 wrote:Honestly if you don't know just play a Megaman game. I linked virtualnes.com above to play the NES ones, and emulators aren't hard to find for other games. Playing the game and understanding how it works is much more efficient than me just telling you how he functions. It's also a fun series anyway.
Sorry!
I modded in an alternative fireball/weapon selector ma-thingy.
It (for now) uses the tab button. I'll let someone else make a pause menu selector thing, I stink at adding menus.

It cycles through:
fireball
bomb
contra's gun
megabuster

Just a note they all use the fireball graphic. The contra gun shoots higher than the megabuster as to avoid discrepancies.

Here's the love:http://www.mediafire.com/download.php?6n12cevp7wn0o3r

And here's a write up on what I changed for those who want to know:
I added a:

Code: Select all

require = "INSERT_WEAPON_NAME_HERE"
to the main.lua write after the fireball require for all of the other weapons.

I added a:

Code: Select all

objects["INSERT_WEAPON_NAME_HERE"] = {}
to the game.lua after the fireball object for all the other weapons as well.

I added this to the if statement that starts around line 2714 in the game.lua.:

Code: Select all

elseif "tab" == key then
			objects["player"][i]:chooseweapon()
I added this to the end of mario:init() in the mario.lua:

Code: Select all

self:setquad()
	weapons = {}
	weapons[self.playernumber] = {fireball, "fireball", bomb, "bomb", contragun, "contragun", megabuster, "megabuster"}
	curweapon = {}
	curweapon[self.playernumber] = 1
I added this above the mario:fire() function in the mario.lua:

Code: Select all

function mario:chooseweapon()
			if curweapon[self.playernumber] + 2 <= #weapons[self.playernumber] then
			    curweapon[self.playernumber] = curweapon[self.playernumber] + 2
			elseif curweapon[self.playernumber] + 2 > #weapons[self.playernumber] then
			    curweapon[self.playernumber] = 1
			end
end
I replaced the mario:fire() function in the mario.lua with this:

Code: Select all

function mario:fire()
	if not noupdate and self.controlsenabled and self.size == 3 then
	  if self.fireballcount < maxfireballs then
		    local dir = "right"
		    if upkey(self.playernumber) and downkey(self.playernumber) == false then
		      if rightkey(self.playernumber) and leftkey(self.playernumber) == false then
			dir = "up-right"
		      elseif rightkey(self.playernumber) == false and leftkey(self.playernumber) then
			dir = "up-left"
		      else
			dir = "up"
		      end
		    elseif upkey(self.playernumber) == false and downkey(self.playernumber) then
		      if self.falling == false and self.jumping == false then
			if rightkey(self.playernumber) and leftkey(self.playernumber) == false then
			  dir = "down-right"
			elseif rightkey(self.playernumber) == false and leftkey(self.playernumber) then
			  dir = "down-left"
			else
			  if self.pointingangle > 0 then
				dir = "crouch-down-left"
			  elseif self.pointingangle <= 0 then
				dir = "crouch-down-right"
			  end
			end
		      elseif self.falling or self.jumping then
			if rightkey(self.playernumber) and leftkey(self.playernumber) == false then
			  dir = "down-right"
			elseif rightkey(self.playernumber) == false and leftkey(self.playernumber) then
			  dir = "down-left"
			else
			  dir = "down"
			end
		      end
		    else
			if self.pointingangle > 0 then
				dir = "left"
			elseif self.pointingangle <= 0 then
				dir = "right"
			end
		    end    
			table.insert(objects[""..weapons[self.playernumber][curweapon[self.playernumber]+1]..""], weapons[self.playernumber][curweapon[self.playernumber]]:new(self.x, self.y, dir, self))
			self.fireballcount = self.fireballcount + 1
			self.fireanimationtimer = 0
			self:setquad()
			playsound(fireballsound)
	  end
	end
end
Then I this from fireball.lua's fireball:init():

Code: Select all

if dir == "right" then
		self.speedx = fireballspeed
		self.x = x+6/16
	else
		self.speedx = -fireballspeed
		self.x = x
	end
with this:

Code: Select all

	if dir == "right" then
		self.speedx = fireballspeed
		self.x = x+6/16
	elseif dir == "left" then
		self.speedx = -fireballspeed
		self.x = x
	elseif dir == "up" then
		self.speedx = fireballspeed
		self.x = x
	elseif dir == "up-right" then
		self.speedx = fireballspeed
		self.x = x+6/16
	elseif dir == "up-left" then
		self.speedx = -fireballspeed
		self.x = x
	elseif dir == "down-right" then
		self.speedx = fireballspeed
		self.x = x+6/16
	elseif dir == "down-left" then
		self.speedx = -fireballspeed
		self.x = x
	elseif dir == "crouch-down-right" then
		self.speedx = fireballspeed
		self.x = x+6/16
		self.y = y+6/16
	elseif dir == "crouch-down-left" then
		self.speedx = -fireballspeed
		self.x = x
		self.y = y+6/16
	elseif dir == "down" then
		self.speedx = fireballspeed
		self.x = x
	end
Then I created a bomb.lua file whose content is:

Code: Select all

bomb = class:new()

function bomb:init(x, y, dir, v)
	--PHYSICS STUFF
	self.y = y+4/16
	self.speedy = -math.sqrt(2*yacceleration*3.5)
	if dir == "right" then
		self.speedx = fireballspeed
		self.x = x+6/16
	elseif dir == "left" then
		self.speedx = -fireballspeed
		self.x = x
	elseif dir == "up" then
		self.speedx = fireballspeed
		self.x = x
	elseif dir == "up-right" then
		self.speedx = fireballspeed
		self.x = x+6/16
	elseif dir == "up-left" then
		self.speedx = -fireballspeed
		self.x = x
	elseif dir == "down-right" then
		self.speedx = fireballspeed
		self.x = x+6/16
	elseif dir == "down-left" then
		self.speedx = -fireballspeed
		self.x = x
	elseif dir == "crouch-down-right" then
		self.speedx = fireballspeed
		self.x = x+6/16
		self.y = y+6/16
	elseif dir == "crouch-down-left" then
		self.speedx = -fireballspeed
		self.x = x
		self.y = y+6/16
	elseif dir == "down" then
		self.speedx = fireballspeed
		self.x = x
	end
	self.drawable = true
	self.width = 8/16
	self.height = 8/16
	self.active = true
	self.static = false
	self.category = 13
	
	self.mask = {	true,
					false, true, false, false, true,
					false, true, false, true, false,
					false, true, false, true, false,
					true, true, false, false, false,
					false, true, false, false, true,
					false, false, false, false, true}
					
	self.destroy = false
	self.destroysoon = false
	--self.gravity = 40
	
	--IMAGE STUFF
	self.graphic = fireballimg
	self.quad = fireballquad[1]
	self.offsetX = 4
	self.offsetY = 4
	self.quadcenterX = 4
	self.quadcenterY = 4
	
	self.fireballthrower = v
	
	self.rotation = 0 --for portals
	self.timer = 0
	self.quadi = 1
	self.explosiontimer = 0
end

function bomb:update(dt)
	self.explosiontimer = self.explosiontimer + dt
	if self.explosiontimer >= 2 then
	  self:explode()
	end
		--rotate back to 0 (portals)
	self.rotation = 0
	--animate
	self.timer = self.timer + dt
	if self.destroysoon == false then
		while self.timer > staranimationdelay do
			self.quadi = self.quadi + 1
			if self.quadi == 5 then
				self.quadi = 1
			end
			self.quad = fireballquad[self.quadi]
			self.timer = self.timer - staranimationdelay
		end
	else
		while self.timer > staranimationdelay do
			self.quadi = self.quadi + 1
			if self.quadi == 8 then
				self.destroy = true
				self.quadi = 7
			end
			
			self.quad = fireballquad[self.quadi]
			self.timer = self.timer - staranimationdelay
		end
	end
		
	if self.x < xscroll-1 or self.x > xscroll+width+1 or self.y > 15 and self.active then
		self.fireballthrower:fireballcallback()
		self.destroy = true
	end
		
	if self.destroy then
		return true
	else
		return false
	end
end

function bomb:leftcollide(a, b)
	if a ~= "tile" and a ~= "portalwall" then
		self:hitstuff(a, b)
	end	
	self.speedx = 0
	return false
end

function bomb:rightcollide(a, b)
	if a ~= "tile" and a ~= "portalwall" then
		self:hitstuff(a, b)
	end	
	self.speedx = 0
	return false
end

function bomb:floorcollide(a, b)
	if a ~= "tile" and a ~= "portalwall" then
		self:hitstuff(a, b)
	end
	self.speedx = self.speedx/2
	self.speedy = -self.speedy/2
	return false
end

function bomb:ceilcollide(a, b)
  if a ~= "tile" and a ~= "portalwall" then
		self:hitstuff(a, b)
	end
	self.speedy = -self.speedy/2
end

function bomb:passivecollide(a, b)
	self:ceilcollide(a, b)
	return false
end

function bomb:hitstuff(a, b)
	if a == "tile" or a == "bulletbill" or a == "portalwall" or a == "spring" then
		self:explode()
		playsound(blockhitsound)

	elseif a == "goomba" or a == "koopa" or a == "hammerbro" or a == "plant" or a == "cheep" or a == "bowser" or a == "squid" or a == "cheep" or a == "flyingfish" or a == "lakito" then
		if a ~= "koopa" or b.t ~= "beetle" then
			b:shotted("right")
			if a ~= "bowser" then
				addpoints(firepoints[a], self.x, self.y)
			end
		end
		self:explode()
	end
end


function bomb:explode()
	self.offsetX = -18
	self.offsetY = 22
	self.width = 1000/16
	self.height = 1000/16
	self.graphic = fireballimg
	self.quad = fireballquad[7]
	
	for i,v in pairs(objects["goomba"]) do
		if v.x >= self.x - 3 and v.x <= self.x + 3 and v.y <= self.y + 3 and v.y >= self.y - 3  then
			v:shotted()
		end
	end
	
	for i,v in pairs(objects["squid"]) do
		if v.x >= self.x - 3 and v.x <= self.x + 3 and v.y <= self.y + 3 and v.y >= self.y - 3  then
			v:shotted()
		end
	end
	
	for i,v in pairs(objects["flyingfish"]) do
		if v.x >= self.x - 3 and v.x <= self.x + 3 and v.y <= self.y + 3 and v.y >= self.y - 3  then
			v:shotted()
		end
	end
	
	for i,v in pairs(objects["cheep"]) do
		if v.x >= self.x - 3 and v.x <= self.x + 3 and v.y <= self.y + 3 and v.y >= self.y - 3  then
			v:shotted()
		end
	end
	
	for i,v in pairs(objects["bomb"]) do
		if v.x >= self.x - 3 and v.x <= self.x + 3 and v.y <= self.y + 3 and v.y >= self.y - 3 and v.hit == false  then
			v:shotted()
		end
	end
	
	for i,v in pairs(objects["hammerbro"]) do
		if v.x >= self.x - 3 and v.x <= self.x + 3 and v.y <= self.y + 3 and v.y >= self.y - 3  then
			v:shotted()
		end
	end
	
	
	love.audio.stop(shotsound)
	if self.active then
		self.fireballthrower:fireballcallback()
		
		self.destroysoon = true
		self.quadi = 5
		self.quad = fireballquad[self.quadi]
		self.active = false
	end
end
and a contragun.lua with:

Code: Select all

contragun = class:new()

function contragun:init(x, y, dir, v)
	--PHYSICS STUFF
	self.x = x
	self.y = y-1/16
	self.speedy = 0
	self.speedx = 0
	if dir == "right" then
		self.speedx = fireballspeed
		self.x = x+6/16
	elseif dir == "left" then
		self.speedx = -fireballspeed
		self.x = x
	elseif dir == "up" then
		self.speedy = -fireballspeed
		self.x = x
	elseif dir == "up-right" then
		self.speedx = fireballspeed
		self.speedy = -fireballspeed
		self.x = x+6/16
	elseif dir == "up-left" then
		self.speedx = -fireballspeed
		self.speedy = -fireballspeed
		self.x = x
	elseif dir == "down-right" then
		self.speedx = fireballspeed
		self.speedy = fireballspeed
		self.x = x+6/16
	elseif dir == "down-left" then
		self.speedx = -fireballspeed
		self.speedy = fireballspeed
		self.x = x
	elseif dir == "crouch-down-right" then
		self.speedx = fireballspeed
		self.x = x+6/16
		self.y = y+6/16
	elseif dir == "crouch-down-left" then
		self.speedx = -fireballspeed
		self.x = x
		self.y = y+6/16
	elseif dir == "down" then
		self.speedy = fireballspeed
		self.x = x
	end
	self.width = 16/16
	self.height = 16/16
	self.active = true
	self.static = false
	self.category = 13
	self.gravity = 0
	
	self.mask = {	true,
					true, true, false, false, true,
					true, true, true, true, true,
					true, true, true, true, false,
					true, true, true, false, false,
					true, true, false, true, true,
					false, true, false, false, true}
					
	self.destroy = false
	self.destroysoon = false
	--self.gravity = 40
	
	--IMAGE STUFF
	self.drawable = true
	self.graphic = fireballimg
	self.quad = fireballquad[1]
	self.offsetX = 8
	self.offsetY = 8
	self.quadcenterX = 6
	self.quadcenterY = 2
	
	self.fireballthrower = v
	
	self.rotation = 0 --for portals
	self.timer = 0
	self.quadi = 1
end

function contragun:update(dt)
	--rotate back to 0 (portals)
	self.rotation = 0
	--animate
	self.timer = self.timer + dt
	if self.destroysoon == false then
		while self.timer > staranimationdelay do
			self.quadi = self.quadi + 1
			if self.quadi == 5 then
				self.quadi = 1
			end
			self.quad = fireballquad[self.quadi]
			self.timer = self.timer - staranimationdelay
		end
	else
		while self.timer > staranimationdelay do
			self.quadi = self.quadi + 1
			if self.quadi == 8 then
				self.destroy = true
				self.quadi = 7
			end
			
			self.quad = fireballquad[self.quadi]
			self.timer = self.timer - staranimationdelay
		end
	end
	
	if self.x < xscroll-1 or self.x > xscroll+width+1 or self.y > 15 or self.y < 0 and self.active then
		self.fireballthrower:fireballcallback()
		self.destroy = true
	end
	
	if self.destroy then
		return true
	else
		return false
	end
end

function contragun:leftcollide(a, b)
	self.x = self.x-.5
	self:hitstuff(a, b)
	return false
end

function contragun:rightcollide(a, b)
	self:hitstuff(a, b)
	return false
end

function contragun:floorcollide(a, b)
	if a ~= "tile" and a ~= "portalwall" then
		self:hitstuff(a, b)
	end
end

function contragun:ceilcollide(a, b)
	self:hitstuff(a, b)
end

function contragun:passivecollide(a, b)
	self:ceilcollide(a, b)
	return false
end

function contragun:hitstuff(a, b)
	if a == "tile" or a == "bulletbill" or a == "portalwall" or a == "spring" then
		playsound(blockhitsound)

	elseif a == "goomba" or a == "koopa" or a == "hammerbro" or a == "plant" or a == "cheep" or a == "bowser" or a == "squid" or a == "cheep" or a == "flyingfish" or a == "lakito" then
		if a ~= "koopa" or b.t ~= "beetle" then
			b:shotted("down")
			if a ~= "bowser" then
				addpoints(firepoints[a], self.x, self.y)
			end
		end
	end
end

function contragun:explode()
	if self.active then
		self.fireballthrower:fireballcallback()
		
		self.destroysoon = true
		self.quadi = 9
		self.quad = fireballquad[self.quadi]
		self.active = false
	end
end
and a megabuster.lua with this:

Code: Select all

megabuster = class:new()

function megabuster:init(x, y, dir, v)
	--PHYSICS STUFF
	self.x = x
	self.y = y+4/16
	self.speedy = 0
	self.speedx = fireballspeed
	self.width = 16/16
	self.height = 16/16
	self.active = true
	self.static = false
	self.category = 13
	self.gravity = 0
	
	self.mask = {	true,
					true, true, false, false, true,
					true, true, true, true, true,
					true, true, true, true, false,
					true, true, true, false, false,
					true, true, false, true, true,
					false, true, false, false, true}
					
	self.destroy = false
	self.destroysoon = false
	--self.gravity = 40
	
	--IMAGE STUFF
	self.drawable = true
	self.graphic = fireballimg
	self.quad = fireballquad[1]
	self.offsetX = 8
	self.offsetY = 8
	self.quadcenterX = 6
	self.quadcenterY = 2
	
	self.fireballthrower = v
	
	self.rotation = 0 --for portals
	self.timer = 0
	self.quadi = 1
end

function megabuster:update(dt)
	--rotate back to 0 (portals)
	self.rotation = 0
	--animate
	self.timer = self.timer + dt
	if self.destroysoon == false then
		while self.timer > staranimationdelay do
			self.quadi = self.quadi + 1
			if self.quadi == 5 then
				self.quadi = 1
			end
			self.quad = fireballquad[self.quadi]
			self.timer = self.timer - staranimationdelay
		end
	else
		while self.timer > staranimationdelay do
			self.quadi = self.quadi + 1
			if self.quadi == 8 then
				self.destroy = true
				self.quadi = 7
			end
			
			self.quad = fireballquad[self.quadi]
			self.timer = self.timer - staranimationdelay
		end
	end
	
	if self.x < xscroll-1 or self.x > xscroll+width+1 or self.y > 15 or self.y < 0 and self.active then
		self.fireballthrower:fireballcallback()
		self.destroy = true
	end
	
	if self.destroy then
		return true
	else
		return false
	end
end

function megabuster:leftcollide(a, b)
	self.x = self.x-.5
	self:hitstuff(a, b)
	return false
end

function megabuster:rightcollide(a, b)
	self:hitstuff(a, b)
	return false
end

function megabuster:floorcollide(a, b)
	if a ~= "tile" and a ~= "portalwall" then
		self:hitstuff(a, b)
	end
end

function megabuster:ceilcollide(a, b)
	self:hitstuff(a, b)
end

function megabuster:passivecollide(a, b)
	self:ceilcollide(a, b)
	return false
end

function megabuster:hitstuff(a, b)
	if a == "tile" or a == "bulletbill" or a == "portalwall" or a == "spring" then
		playsound(blockhitsound)

	elseif a == "goomba" or a == "koopa" or a == "hammerbro" or a == "plant" or a == "cheep" or a == "bowser" or a == "squid" or a == "cheep" or a == "flyingfish" or a == "lakito" then
		if a ~= "koopa" or b.t ~= "beetle" then
			b:shotted("down")
			if a ~= "bowser" then
				addpoints(firepoints[a], self.x, self.y)
			end
		end
	end
end

function megabuster:explode()
	if self.active then
		self.fireballthrower:fireballcallback()
		
		self.destroysoon = true
		self.quadi = 7
		self.quad = fireballquad[self.quadi]
		self.active = false
	end
end

User avatar
Mr.Q.Marx?
Posts: 849
Joined: 15 May 2012, 18:35

Post » 16 May 2013, 16:46

ucenna wrote: It cycles through:
fireball
bomb
contra's gun
megabuster
You know bomb?
From the robot master "Bomberman".

EDIT: Stupid me, apparently they were in Megaman 1.

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 16 May 2013, 16:55

It's just there 'cause I used it to test the cyclingness of my mod, I just took it from ANSYS.

Edit: and because There hasn't been an official decision as to which game is being done.

Edit: Edit: Updated my ma-thingy. I added a tomahawk thingy that I saw in a megaman 6 gameplay video, I watched. Also added a arguments(or perimeters) to the WEAPON_NAME:new() thing in the mario:fire() function inside the mario.lua, for the "altdir." "Altdir" being alternate direction and representing what vanilla mari0 would have given as a direction. Mainly useful for the fireballs weapon. http://www.mediafire.com/?cvm32k4adla4744

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 17 May 2013, 01:45

ucenna wrote:It's just there 'cause I used it to test the cyclingness of my mod, I just took it from ANSYS.

Edit: and because There hasn't been an official decision as to which game is being done.

Edit: Edit: Updated my ma-thingy. I added a tomahawk thingy that I saw in a megaman 6 gameplay video, I watched. Also added a arguments(or perimeters) to the WEAPON_NAME:new() thing in the mario:fire() function inside the mario.lua, for the "altdir." "Altdir" being alternate direction and representing what vanilla mari0 would have given as a direction. Mainly useful for the fireballs weapon. http://www.mediafire.com/?cvm32k4adla4744
Please do not work on this right now.
I want to figure out what we are doing before we start working on a pre-existing mod.

I'll look at your code this weekend to decide whether we will start with that, or if it will be easier to start from the basic Mari0

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 17 May 2013, 04:22

Good thing you told me! I almost decided to redo my weapons table so that each weapon had it's own nested table for additional customization (like consumed fireballs, unlockedness, and damage)

User avatar
BobTheLawyer
Posts: 2232
Joined: 01 May 2012, 21:00

Post » 17 May 2013, 12:25

Added a TODO,
Tell me if there is anything I should add (no enemies yet)

MODDERS,
Tell me what you want to do.
Don't start yet though.
If you can get an idea, tell me what .lua's you'd have to modify.

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 17 May 2013, 13:48

Suppose that means your doin' megaman then?

Camewel
Posts: 2996
Joined: 02 Feb 2012, 21:32

Post » 17 May 2013, 14:15

BobTheLawyer wrote:Participants as of 7:30 EST, 5/15/2013
Modders
Turtle
BobTheLawyer

TODO:
_Weapon System - Ucenna
I like how people keep making ucenna do stuff and then not crediting him.

ucenna
Posts: 615
Joined: 11 Jan 2013, 20:06

Post » 17 May 2013, 14:28

Camewel wrote:
BobTheLawyer wrote:Participants as of 7:30 EST, 5/15/2013
Modders
Turtle
BobTheLawyer

TODO:
_Weapon System - Ucenna
I like how people keep making ucenna do stuff and then not crediting him.
That's partly because I usually ask not to be credited.

Bob can uncredit me if he wants.

User avatar
Mr.Q.Marx?
Posts: 849
Joined: 15 May 2012, 18:35

Post » 17 May 2013, 15:05

How do you want to do the level select? because if you do the 8 worlds and a bonus Wiley Stage that might be pretty simplistic. We already have a world select system after playing them in vanilla Mari0. You'd just have it from the start and draw some pretty portraits.
EDIT: quick template in Mari0 dimentions
Image
EDIT: Title graphic
Image
EDIT: Modded the Menu
Image

User avatar
Turtle95
Posts: 1246
Joined: 21 Mar 2012, 21:48
Contact:

Post » 17 May 2013, 20:44

Mr.Q.Marx? wrote:How do you want to do the level select? because if you do the 8 worlds and a bonus Wiley Stage that might be pretty simplistic. We already have a world select system after playing them in vanilla Mari0. You'd just have it from the start and draw some pretty portraits.
EDIT: quick template in Mari0 dimentions
Image
EDIT: Title graphic
Image
EDIT: Modded the Menu
Image
Very nice! I like this.

Post Reply