Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support all tfm.exec methods #20

Open
48 of 51 tasks
Seniru opened this issue Jan 21, 2020 · 4 comments
Open
48 of 51 tasks

Support all tfm.exec methods #20

Seniru opened this issue Jan 21, 2020 · 4 comments

Comments

@Seniru
Copy link
Owner

Seniru commented Jan 21, 2020

The library should support the following methods
Reference documentation

  • addImage

  • removeImage

  • addConjuration

  • addJoint

  • addPhysicObject

  • addShamanObject

  • changePlayerSize

  • chatMessage

  • disableAfkDeath

  • disableAutoTimeLeft

  • disableAllShamanSkills

  • disableAutoNewGame

  • disableAutoScore

  • disableAutoShaman

  • disableDebugCommand

  • disableMinimalistMode

  • disableMortCommand

  • disablePhysicalConsumables

  • disablePrespawnPreview

  • disableWatchCommand

  • displayParticle

  • explosion

  • freezePlayer

  • giveCheese

  • giveConsumables

  • giveMeep

  • giveTransformations

  • killPlayer

  • linkMice

  • lowerSyncDelay

  • moveObject

  • movePlayer

  • newGame

  • playEmote

  • playerVictory

  • removeCheese

  • removeJoint

  • removeObject

  • removePhysicObject

  • respawnPlayer

  • setAutoMapFlipMode

  • setGameTime

  • setNameColor

  • setPlayerScore

  • setRoomMaxPlayers

  • setRoomPassword

  • setShaman

  • setShamanMode

  • setVampirePlayer

  • snow

  • Also add test cases for each of the above methods

@Seniru
Copy link
Owner Author

Seniru commented Jan 21, 2020

Exactly half more to go!

Seniru added a commit that referenced this issue Jan 21, 2020
Seniru added a commit that referenced this issue Jan 22, 2020
The new 4 methods are

- tfm.exec.explosion
- tfm.exec.giveCheese
- tfm.exec.respawnPlayer
- tfm.exec.setShaman

Also added a new field 'explosion' under tfm.get.data table to store
explosion data

Related #20
@Seniru Seniru pinned this issue Jan 22, 2020
Seniru added a commit that referenced this issue Jan 25, 2020
- Implemented tfm.exec.setShamanMode method
- Added a new field defaultShamanMode under Player class
- Added test cases for setShamanMode method

related #20
Seniru added a commit that referenced this issue Jan 25, 2020
- Added tfm.exec.setAutoMapFlipMode method
- Created a new field enabldMapFlipMode under tfm.get.room table
- Created test cases for the new method

related #20
Seniru added a commit that referenced this issue Feb 10, 2020
- Implemented tfm.exec.addJoint method using the Joint method developed
in the previous commit
- Added test cases for the new method

Related #20
Seniru added a commit that referenced this issue Feb 11, 2020
Added tfm.exec.removeJoint(id) method including relevant test cases

related: #20
Seniru added a commit that referenced this issue Feb 11, 2020
-Added tfm.exec.giveConsumables(playerName, consumableId, amount) method
- Created a new field 'inventory' under Player objects which resmebles
the player's inventory
- Created test cases

related: #20
Seniru added a commit that referenced this issue Feb 12, 2020
- Added tfm.exec.freezePlayer(playerName, freeze) method
- Added 'isFrozen' field under Player objects
- Created test cases

related: #20
Seniru added a commit that referenced this issue Feb 12, 2020
- Implemented tfm.exec.playEmote(playerName, emoteId, emoteArg) method
- Included test cases

related: #20
Seniru added a commit that referenced this issue Feb 12, 2020
- Implemented tfm.exec.lowerSyncDelay(playerName) method
- Added new field 'syncDelay' under player objects
- Included test cases

related: #20
Seniru added a commit that referenced this issue Feb 12, 2020
- Implemented tfm.exec.linkMice(player1, player2, linked) method
- Added new field 'linkedTo' under player object
- Created relavant test cases

related: #20
@Seniru
Copy link
Owner Author

Seniru commented Feb 12, 2020

10 more methods to go 🎉

Seniru added a commit that referenced this issue Feb 12, 2020
- Implemented tfm.exec.removeObject(objectId) method
- Added test cases

related: #20
Seniru added a commit that referenced this issue Feb 12, 2020
- Implemented tfm.exec.removePhysicObject(id) method
- Added test cases

related: #20
Seniru added a commit that referenced this issue Feb 14, 2020
- Added tfm.exec.disableAutoTimeLeft() method
- Added test cases

related: #20
Seniru added a commit that referenced this issue Feb 18, 2020
- Supported tfm.exec.addParticle(particleType, xPosition, yPosition,
xSpeed, ySpeed, xAcceleration, yAcceleration, targetPlayer) method
- Created a new Particle class which could create particles easily
- Added a new field particles under tfm.get.data. The particles table is
implemented in the following structure

```lua
particles = {
  all = {}, -- holding global particles
  head = nil -- holds the last spawned global particle
  [playerName] = { -- holds particles related to a particular player
   all = {},
   head = nil

  }

- Added test cases for both Particle.lua and for the new mthod under
tfm.exec namespace

related: #20
Seniru added a commit that referenced this issue Feb 24, 2020
- Add tfm.exec.movePlayer
The new position of the player after moving was calculated assuming
there is no friction/gravity and no previous speed gain
(which is entirely dependant on the map)

- Add test cases

related: #20
Seniru added a commit that referenced this issue Feb 24, 2020
Add tfm.exec.moveObject
- The movements are done assuming the gravity/friction is 0 and no speed
gain occured previously
- Also normalized the angle degree when moving

- Add test cases

related: #20
@Seniru
Copy link
Owner Author

Seniru commented Feb 24, 2020

4 more to go

Seniru added a commit that referenced this issue Feb 25, 2020
- Support tfm.exec.setGameTime(time, init) method
- Added test cases

related: #20
Seniru added a commit that referenced this issue Feb 28, 2020
- Add tfm.exec.newGame(mapcode, flipped) method
- Add new field xmlMapInfo under tfm.get.room (consists of fields
permCode, mapCode, author, xml)
- Add tests

related: #20
@Seniru
Copy link
Owner Author

Seniru commented Feb 28, 2020

2 more 💃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant