mirror of
https://gitlab.com/MaddoScientisto/cirnofarm.git
synced 2026-06-01 10:05:34 +00:00
Bullet particles
This commit is contained in:
parent
cc921f9ade
commit
cd9ec6cc01
4 changed files with 113 additions and 80 deletions
|
|
@ -6,61 +6,62 @@ version 2
|
||||||
:: sfx/
|
:: sfx/
|
||||||
:: gfx/0.gfx
|
:: gfx/0.gfx
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNCAxNTowNjoxMiIscmV2aXNpb249NjcxXV1sejQAbgYAAOA6AADzFHtbMF09e2JtcD1weHUA
|
NC0yNCAyMDo1Mjo0MiIscmV2aXNpb249NzE5XV1sejQAiwYAAN86AADzFHtbMF09e2JtcD1weHUA
|
||||||
QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D
|
QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D
|
||||||
ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN
|
ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN
|
||||||
pgQAww0VAA2WHQUQvQXwE1gAHzFYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U
|
pgQAww0VAA2WHQUQvQXwE1gAHzNYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U
|
||||||
PhoNDxkOBEANLgoACg0ODARADR4aAAoJDBQAQA5KCQoSAEEOKgAKJQASXiIA714NDA4EUBQ_DRSA
|
PhoNDxkOBEANLgoACg0ODARADR4aAAoJDBQAQA5KCQoSAEEOKgAKJQASXiIA714NDA4EUBQ_DRSA
|
||||||
RPAVkwAd8AjwFZxADH8QHDAMfgwODCCcHgwgDH8cDAcAH30GAAavDgwwDH0cQJzwFG8AHvcEBj8Z
|
RPAVkwAd8AjwFZxADH8QHDAMfgwODCCcHgwgDH8cDAcAH30GAAajDgwwDH0cQJzwFG8AHzFvABb3
|
||||||
UGkuWU4ZDhleWR55UB4ZsAMAIcAOAwBfKcAZ8BdbAA8PRQIFDzIAR-wBzxMvEQ8TXxEPEz8RDxMM
|
BAY-GVBpLllOGQ4ZXlkeeVAeGbADACHADgMAXynAGfAXWwAPD0UCBQ8yAEf8Ac8TLxEPE18RDxM-
|
||||||
Hw0AKAxPDgAjLC8OALQcDxF-EwwvET8THyAAABsAH08NAA7xADwOLxEuDC2OHQ4MLQ5tDgcAJwxd
|
EQ8TDB8NACgMTw4AIywvDgC0HA8RfxMMLxE-Ex8gAAAbAB9PDQAO8QA8Di8RLgwtjh0ODC0ObQ4H
|
||||||
CAB-PA4sPQ4d3sgAHdn0DA8fNB50HjQeJB4kBgDxAEQOJB7UHoQeJA6UHoQONAQABh4AEIQEAD8O
|
ACcMXQgAfzwOLD0OHd7IAB3Z9AwPHzQedB40HiQeJAYA8QBEDiQe1B6EHiQOlB6EDjQEAAYeABCE
|
||||||
9AmcAR3-Qf8WADYOhg4WBRYOBSYFNg42BQ5mBQYORg4WBVYOBv4AVg5GDjYFNg4mBQYOhg4GBSYO
|
BAA-DvQJZgId-0H-FgA2DoYOFgUWDgUmBTYONgUOZgUGDkYOFgVWDgb_AFYORg42BTYOJgUGDoYO
|
||||||
BgVmDkYOJv4Ahg6WBTYOFgW2DnYFJgUWDjYFlg5WgAAe8gAVAwwPEAwOHA4MDgxvFQ4KAFEdDB0M
|
BgUmDgYFZg5GDib_AIYOlgU2DhYFtg52BSYFFg42BZYOVoAAHvIAFQMMDxAMDhwODA4MbxUOCgBR
|
||||||
LQsAsR0ODB0MDi0OHA4tCgBSDC0cLQwKADQOXQ4KAD8MPQwMAAIFIgAFNgAFSgACXwAzLQxNcwAj
|
HQwdDC0LALEdDgwdDA4tDhwOLQoAUgwtHC0MCgA0Dl0OCgA-DD0MDAACBSIABTYABUoAAl8AMy0M
|
||||||
bQwJAD8M-QPFAB3QHxXUHpQPHyQeBA1kHQYAPxQdJAgABDB0HjQEAFANhB6UDRIAJnQNIAAXNAYA
|
TXMAI20MCQA-DP0DxQAd0B8V1B6UDx8kHgQNZB0GAD8UHSQIAAQwdB40BABQDYQelA0SACZ0DSAA
|
||||||
fwQNFA2EHtRrA4EPMgAf8RRAXxRwHg8VPx8uQB4PFQ4-Hw8VDg0OIB4NDg0-Hw4NDg0OEAYAYTwN
|
FzQGAH4EDRQNhB7UigAPawMVDzIAefEUQF8UcB4PFT8fLkAeDxUOPx8PFQ4NDiAeDQ4NPx8ODQ4N
|
||||||
Dg0eAAsAMQ0OHAcAET4GACEcDgcAER4GACcOFBoAJRQOGgDgLA0OLF5MDg1MDQ4ADjwWAFI8DhAO
|
DhAGAGE8DQ4NHgALADENDhwHABE_BgAhHA4HABEeBgAnDhQaACUUDhoA4CwNDixeTA4NTA0OAA48
|
||||||
LFoAQQ4gDgwKAGENDhwOQC4KAE8ecF5AywAkAD8AUS5ADg8fSQBjDg0uIA4sCwAxHA4QyQBgDg08
|
FgBSPA4QDixaAEEOIA4MCgBhDQ4cDkAuCgBPHnBeQMsAJAA-AFEuQA4PH0kAYw4NLiAOLAsAMRwO
|
||||||
AA5MCABRTC5MLkyiACAUTLYANxwUHM4ALBwe5wA1DgAeGQAIGgESINQAbg0eQC48LrwAD_sBQdAT
|
EMkAYA4NPAAOTAgAUUwuTC5MogAgFEy2ADccFBzOACwcHucANQ4AHhkACBoBEiDUAG4NHkAuPC68
|
||||||
nVANfxANUA0OXxgOBwBCDD8eDAkAPwscCwoAEhI7CAAQXAYARX4NUJ2dBx8zuAAfDzIAqyoGBQIA
|
AA-rAUHQE51QDX8QDVANDl8YDgcAQgw-HgwJAD8LHAsKABISOwgAEFwGAE5_DVCdnQcPuAAXDzIA
|
||||||
egcWB5YHBgUCAFm2B0YFBgIASfYABQYCAFlmB5YFBgIAWYYHVgUGAgA9VgeGWwBZxgcWBQYCAD9G
|
q5AGBwYHHxYGBx4JALEGBw4WHhYeZgcGHgMAAQIAdRYelh4WBwYCAHIeBgemHhYODgADKABSVh4W
|
||||||
B6bFAB32APUB3xgV3hXfFRXeFd4V3QYAf-UC3RXd9QFQAB1P9gANBgIAyi-2AWMBH0cPFg0OAgA4
|
HlYcAAZJABKmHAAfBkgAAAIoADxmHhZJAF8WDiYehsQAHfYA9QHfGBXeFd8VFd4V3hXdBgB-9QLd
|
||||||
FQ0OAgAm9QHdCFcvEX8TP78IFz_kCA8MAAl1LxEvEz8RjzgAP28RDwwAFC-fE1wDHw8yAP--RV--
|
Fd31AVAAHU-2AA0GAgDKL-YBYwEfRw8WDQ4CADgVDQ4CACb1AdwIVy8RfxM-vggXP6MIDwwACXUv
|
||||||
FBLQHgIABg87CR1P-xQQ8DUAIS-QHgIABw5PAA82ARUPMgDdIh8UMgEPzwE4PxLALgIAAi-_EUwA
|
ES8TPxGPOAA-bxEPDAAUL98TWwMfDzIA--9FX-8UEtAeAgAGD2UGHU--FBDwNQAhL9AeAgAHDk8A
|
||||||
HR7QngAP6AH-Qy-_EEkBHk-Q-xQQzwE5Lv4SgwAPNgEVDzIA3WEwPA8cLGA0D5EHDA4cMBwODEeC
|
DzYBFQ8yAN0iHxQyAQ-PATg-EsAuAgACL-4RTAAdHtCeAA-oAf9DL-4QSQEeT9D-FBDPATku-hKD
|
||||||
EpAODGcMDjAeFw4CADIMQA4JAPAhIB4gVwAOMB4gNzAeQCwIHBAeQAcsCBwHQB4AB1wHAB4AHhB8
|
AA82ARUPMgDdYTA8DxwsYDMPkQcMDhwwHA4MR4ESkA4MZwwOMB4XDgIAMgxADgkA8CEgHiBXAA4w
|
||||||
EB4gBwwHDAdMcBcACACfDHAXEBeQGBAY7Qwe8gQwLD8ccBxuYAwOEQ4RBw5gDAcOAwBgYAwHHAcc
|
HiA3MB5ALAgcEB5ABywIHAdAHgAHXAcAHgAeEHwQHiAHDAcMB0xwFwAIAJ8McBcQF5AYEBjsDB7y
|
||||||
CAD-MQ8XRw0OUBwnDScegAwHDqAHDAcIBw4HcAcMDggOCB4HUAccbgcwFyxeFyAXfAAXQAcAFwAH
|
BDAsPxxwHG5gDA4RDhEHDmAMBw4DAGBgDAccBxwIAP8xDxdHDQ5QHCcNJx6ADAcOoAcMBwgHDgdw
|
||||||
EAeQBwAHsBwAHFCUAR8PMgD-GP8ngA8b0B6ATxgOPUA9Am0wvTAdAm0CHSBdAl0gzTAdAk0CLTBN
|
BwwOCA4IHgdQBxxuBzAXLF4XIBd8ABdABwAXAAcQB5AHAAewHAAcUJQBHw8yAP8Y-yeADxvQHoBP
|
||||||
CF0wPQJtQF0CLWB9cG2QTbAtkwH-Sw8yABz-AAQEBAAfHAAOFx4XDgAeADwAGv8GCAgEgAcwByAH
|
GA49QD0CbTC9MB0CbQIdIF0CXSDNMB0CTQItME0IXTA9Am1AXQItYH1wbZBNsC2TAf9LDzIAHP8A
|
||||||
EAfwBAcQByAHMAeAQgAdkAgAOAAIAAgwCAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA--------
|
BAQEAB8cAA4XHhcOAB4APAAa-wYICASABzAHIAcQB-AEBxAHIAcwB4BCAB2QCAA4AAgACDAIBgCB
|
||||||
------------------------------------w1A9MTF9fQ==
|
EAgAGFAYUBgKAAQWAD84AAg3AR8PMgD--------------------------------------------D
|
||||||
|
UD0xMX19
|
||||||
:: gfx/.info.pod
|
:: gfx/.info.pod
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNCAxNTowNjoxMiIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
NC0yNCAyMDo1Mjo0MyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
||||||
MG5pbA==
|
MG5pbA==
|
||||||
:: map/0.map
|
:: map/0.map
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNCAxNTowNjoxMiIscmV2aXNpb249NjgxXV1sejQAagIAALFBAADwCHt7Ym1wPXVzZXJkYXRh
|
NC0yNCAyMDo1Mjo0MiIscmV2aXNpb249NzM2XV1sejQAawIAALFBAADwCHt7Ym1wPXVzZXJkYXRh
|
||||||
KCJpMTYiLDMyAwAvIjABAP--jD80ODABAF4vNDABAAs-MTMw9AL--1wOBAMOIAAPAQBGEzMEAAgB
|
KCJpMTYiLDMyAwAvIjABAP--jD80ODABAF4vNDABAAs-MTMw9AL--1wOBAMOIAAPAQBGEzMEAAgB
|
||||||
AC8zMAEATi80OBgADw4kAA8BADkOaAAPAQD----------8vxGSIpLGhpZGRlbj1mYWxzZSxuYW1l
|
AC8zMAEATi80OBgADw4kAA8BADkOaAAPAQD----------8vxGSIpLGhpZGRlbj1mYWxzZSxuYW1l
|
||||||
PSJvYmplY3RzIixwYW5feD0tOTAKAPIBeT0tMTEwLHRpbGVfaD0xNgoAEHcKAI96b29tPTF9LGsQ
|
PSJvYmplY3RzIixwYW5feD0tODYKAPIBeT0tMTEwLHRpbGVfaD0xNgoAEHcKAI96b29tPTF9LGsQ
|
||||||
-58uMTAMAA8BAP-vL2EwgADtDwEA--------------9LD2sQA6Zmb3JlZ3JvdW5kbhAfNG4Qvi8z
|
-58uMTAMAA8BAP-vL2EwgADtDwEA--------------9LD2sQA6Vmb3JlZ3JvdW5kbhAvOTRuEL4v
|
||||||
OQQAAw8BAFFjMzIwMDA5BAAaYgwAD8wbUAqAABowDAAfMwABbRY4jAEPBAABD4AANg8BAAUeY5QA
|
MzkEAAMPAQBRYzMyMDAwOQQAGmIMAA-MG1AKgAAaMAwAHzMAAW0WOIwBDwQAAQ_AADYPAQAFHmOU
|
||||||
CAgAHzOAAFkXMAwAD4AAPRc1BAAIAQAMEAAaMwQALzMwgAA0HjTaIQ88AA8PgABoHzOAADwfNQQA
|
AAgIAB8zgABZFzAMAA_AAD0XNQQACAEADBAAGjMEAC8zMIAANB402iEPPAAPD4AAaB8zgAA8HzUE
|
||||||
DAQBABo1BAAPgAA2DwEAIg_AADwfM4AAbB8wgAChDwEA-80fMxwAGC8yMAEAMw9IAAEvMjABAGgP
|
AAwEAQAaNQQAD4AANg8BACIPgAA8HzOAAGwfMIAAoQ8BAP-NHzMcABgvMjABADMPSAABLzIwAQBo
|
||||||
kADQD_gBCR8wXAAuDwEArx8y3AARDxQCrB8yvAECDwEA8w9MAQ0vMzBuEP_zR3NvbGlpEB84aRAx
|
D5AA0A-oAQkfMFwALg8BAK8fMtwAEQ8UAqwfMrwBAg8BAPMPTAENLzMwbhD-s0dzb2xpaRAfOGkQ
|
||||||
DwEA-4QuOTAMAA-PIdEfYQQAAw8BAFUvMWEEAAMvMDCQAVMnMWIEABY5BAAvMDgEAAoPAQA3HzgE
|
MQ8BAP_ELjkwDAAPzyHRH2EEAAMPAQBVLzFhBAADLzAwkAFTJzFiBAAWOQQALzA4BAAKDwEANx84
|
||||||
ACIPAQA3HzgEACIPgAE3HzgEACMPAQA1LzE4BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4
|
BAAiDwEANx84BAAiD4ABNx84BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4BAAjDwEANS8x
|
||||||
BAAjD9cg-----------FTGJhY2vXIA9uEBFQbT0xfX0=
|
OAQAIw-XIP----------xUxiYWNr1yAPbhARUG09MX19
|
||||||
:: map/.info.pod
|
:: map/.info.pod
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNCAxNTowNjoxMiIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
NC0yNCAyMDo1Mjo0MyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
||||||
MG5pbA==
|
MG5pbA==
|
||||||
:: sfx/0.sfx
|
:: sfx/0.sfx
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNCAxNTowNjoxMiIscmV2aXNpb249NTgwXV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
|
NC0yNCAyMDo1Mjo0MiIscmV2aXNpb249NjEzXV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
|
||||||
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
|
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
|
||||||
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
|
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
|
||||||
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g
|
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g
|
||||||
|
|
@ -69,14 +70,14 @@ L-AAMAD--4If-wEAzPEd6A9AAA1ADxcACxoIBggQAgMQBQAGAAgASRcAJggJUP--CfEX-gn8F-4J
|
||||||
8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw==
|
8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw==
|
||||||
:: sfx/.info.pod
|
:: sfx/.info.pod
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNCAxNTowNjoxMiIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
NC0yNCAyMDo1Mjo0MyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
|
||||||
MG5pbA==
|
MG5pbA==
|
||||||
:: main.lua
|
:: main.lua
|
||||||
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-24 15:06:12",revision=800]]
|
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-24 20:52:42",revision=840]]
|
||||||
include("/cirnofarm/src/game.lua")
|
include("/cirnofarm/src/game.lua")
|
||||||
:: .info.pod
|
:: .info.pod
|
||||||
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w
|
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w
|
||||||
NC0yNCAxNTowNjoxMiIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
|
NC0yNCAyMDo1Mjo0MyIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
|
||||||
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSMxIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0
|
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSMxIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0
|
||||||
aW9uPSJnZngvMC5nZngiLHdvcmtzcGFjZV9pbmRleD0yfSx7bG9jYXRpb249Im1hcC8wLm1hcCIs
|
aW9uPSJnZngvMC5nZngiLHdvcmtzcGFjZV9pbmRleD0yfSx7bG9jYXRpb249Im1hcC8wLm1hcCIs
|
||||||
d29ya3NwYWNlX2luZGV4PTN9LHtsb2NhdGlvbj0ic2Z4LzAuc2Z4Iix3b3Jrc3BhY2VfaW5kZXg9
|
d29ya3NwYWNlX2luZGV4PTN9LHtsb2NhdGlvbj0ic2Z4LzAuc2Z4Iix3b3Jrc3BhY2VfaW5kZXg9
|
||||||
|
|
|
||||||
|
|
@ -67,5 +67,5 @@ end
|
||||||
|
|
||||||
function _draw()
|
function _draw()
|
||||||
cirno.draw()
|
cirno.draw()
|
||||||
mouse_debug.draw(3, tile_width, tile_height)
|
mouse_debug.draw(4, tile_width, tile_height)
|
||||||
end
|
end
|
||||||
17
src/map.lua
17
src/map.lua
|
|
@ -9,20 +9,27 @@ function get_layer_tile(x,y,layer)
|
||||||
return get(fetch("map/".. current_map .. ".map")[layer].bmp,x,y)
|
return get(fetch("map/".. current_map .. ".map")[layer].bmp,x,y)
|
||||||
end
|
end
|
||||||
|
|
||||||
function is_tile(tile_type,x,y)
|
function get_tile_flags(x,y)
|
||||||
--local tile = mget(x/tile_width,y/tile_height)
|
--local tile = mget(x/tile_width,y/tile_height)
|
||||||
local tile = get_layer_tile(x/tile_width,y/tile_height,3)
|
local tile = get_layer_tile(x/tile_width,y/tile_height,3)
|
||||||
local has_flag = fget(tile,tile_type)
|
local has_flag = fget(tile)
|
||||||
--last_coll = fget(tile)
|
--last_coll = fget(tile)
|
||||||
return has_flag
|
return has_flag
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.is_tile_solid(x,y)
|
function M.is_tile_solid(x,y)
|
||||||
return is_tile(1,x,y) == 1
|
local tile_flags = get_tile_flags(x,y)
|
||||||
|
|
||||||
|
return (tile_flags & 1) ~= 0 or (tile_flags & 2) ~=0
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.can_move(x,y)
|
function M.is_tile_shoot_solid(x,y)
|
||||||
return is_tile(0,x,y)
|
local tile_flags = get_tile_flags(x,y)
|
||||||
|
return (tile_flags & 2) ~= 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- function M.can_move(x,y)
|
||||||
|
-- return is_tile(0,x,y)
|
||||||
|
-- end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
--[[pod_format="raw",created="2024-04-24 07:17:14",modified="2024-04-24 08:16:10",revision=9]]
|
--[[pod_format="raw",created="2024-04-24 07:17:14",modified="2024-04-24 20:33:05",revision=11]]
|
||||||
|
local map_manager = require(make_path("map"))
|
||||||
|
|
||||||
M = {}
|
M = {}
|
||||||
|
|
||||||
local weapons = {}
|
local weapons = {}
|
||||||
local bullets = {}
|
local bullets = {}
|
||||||
|
local particles = {}
|
||||||
|
|
||||||
weapon = {
|
weapon = {
|
||||||
name = "Ice Blaster",
|
name = "Ice Blaster",
|
||||||
|
|
@ -13,6 +16,31 @@ weapon = {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
particle = {
|
||||||
|
x=0,
|
||||||
|
y=0,
|
||||||
|
life=4,
|
||||||
|
spriteIndex=81
|
||||||
|
}
|
||||||
|
particle.__index = particle
|
||||||
|
function particle:new(x,y)
|
||||||
|
local o = setmetatable({}, particle)
|
||||||
|
o.x=x
|
||||||
|
o.y=y
|
||||||
|
return o
|
||||||
|
end
|
||||||
|
|
||||||
|
function particle:update()
|
||||||
|
self.life-=1
|
||||||
|
if self.life<0 then
|
||||||
|
del(particles,self)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function particle:draw()
|
||||||
|
spr(self.spriteIndex,self.x,self.y)
|
||||||
|
end
|
||||||
|
|
||||||
bullet = {
|
bullet = {
|
||||||
x=0,
|
x=0,
|
||||||
y=0,
|
y=0,
|
||||||
|
|
@ -22,26 +50,6 @@ bullet = {
|
||||||
destroy_sprite_index=66,
|
destroy_sprite_index=66,
|
||||||
life=100,
|
life=100,
|
||||||
damage=1,
|
damage=1,
|
||||||
-- draw=function(self)
|
|
||||||
-- --pset(self.x,self.y,8)
|
|
||||||
-- spr(self.spriteIndex,self.x,self.y)
|
|
||||||
-- end,
|
|
||||||
-- update=function(self)
|
|
||||||
-- self.x+=self.dx
|
|
||||||
-- self.y+=self.dy
|
|
||||||
|
|
||||||
-- self.life-=1
|
|
||||||
-- if self.life<0 then
|
|
||||||
-- del(bullets,self)
|
|
||||||
-- -- TODO: Create particle
|
|
||||||
-- end
|
|
||||||
|
|
||||||
-- self.check_collision(self)
|
|
||||||
-- end,
|
|
||||||
-- check_collision=function(self)
|
|
||||||
-- -- If Collide with wall destroy self and create particle
|
|
||||||
|
|
||||||
-- end
|
|
||||||
}
|
}
|
||||||
bullet.__index = bullet
|
bullet.__index = bullet
|
||||||
function bullet:new(x, y, dx, dy)
|
function bullet:new(x, y, dx, dy)
|
||||||
|
|
@ -50,15 +58,25 @@ function bullet:new(x, y, dx, dy)
|
||||||
o.y = y
|
o.y = y
|
||||||
o.dx = dx
|
o.dx = dx
|
||||||
o.dy = dy
|
o.dy = dy
|
||||||
--o.life = 100
|
|
||||||
--o.spriteIndex = 80
|
|
||||||
--o.destroy_sprite_index = 66
|
|
||||||
--o.damage = 1
|
|
||||||
return o
|
return o
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function bullet:destroy()
|
||||||
|
|
||||||
|
-- Create particle
|
||||||
|
local p = particle:new(self.x, self.y)
|
||||||
|
|
||||||
|
add(particles, p)
|
||||||
|
|
||||||
|
del(bullets,self)
|
||||||
|
end
|
||||||
|
|
||||||
function bullet:check_collision()
|
function bullet:check_collision()
|
||||||
--
|
|
||||||
|
if (map_manager.is_tile_shoot_solid(self.x,self.y)) then
|
||||||
|
self:destroy()
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function bullet:update()
|
function bullet:update()
|
||||||
|
|
@ -67,11 +85,10 @@ function bullet:update()
|
||||||
|
|
||||||
self.life-=1
|
self.life-=1
|
||||||
if self.life<0 then
|
if self.life<0 then
|
||||||
del(bullets,self)
|
self:destroy()
|
||||||
-- TODO: Create particle
|
end
|
||||||
end
|
|
||||||
|
|
||||||
self.check_collision()
|
self:check_collision()
|
||||||
end
|
end
|
||||||
|
|
||||||
function bullet:draw()
|
function bullet:draw()
|
||||||
|
|
@ -131,16 +148,24 @@ function M.draw()
|
||||||
for b in all(bullets) do
|
for b in all(bullets) do
|
||||||
b:draw()
|
b:draw()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
for p in all(particles) do
|
||||||
|
p:draw()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.update()
|
function M.update()
|
||||||
for b in all(bullets) do
|
for b in all(bullets) do
|
||||||
b:update()
|
b:update()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
for p in all(particles) do
|
||||||
|
p:update()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.debug_draw()
|
function M.debug_draw()
|
||||||
print(string.format("Bullets: %d", count(bullets)), 0,32,1)
|
print(string.format("Bullets: %d Particles: %d", count(bullets), count(particles)), 0,32,1)
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
Loading…
Add table
Add a link
Reference in a new issue