SRB2 Message Board  

Go Back   SRB2 Message Board > Sonic Robo Blast 2 > Releases > Miscellaneous

Reply
 
Thread Tools
WDS_Pack (Rocket, Glider, Item Balloons and more) Details »»
WDS_Pack (Rocket, Glider, Item Balloons and more)
Version: 1.4, by WellDoneSnake (Formerly "TSDude") WellDoneSnake is offline
Developer Last Online: Jun 2019

Category: Version: SRB2 Rating:
Released: 04-16-2019 Last Update: Never Installs: 1
SOCs Scripts Re-Useable Content Sprites/Graphics

Heyo, here's a miscellaneous pack that comes with various items and scripts, some of which come from a mod I have been (occasionally) working on.

Now on to the main topic, we got a lotta gifs:


ROCKETS
Spoiler:
MapThingNum: 455


1) Similar to Old Brak Eggman's rideable missiles and other air glider wads/modifications that the srb2 community has made.

2) To use a rocket, simply jump on to the rocketspawner object.
Press the jump button again to disembark.

3) Bumping into a wall, ceiling, letting your character come into contact with an enemy or hazard will knock you off the rocket.



4) You can travel underwater and even through goop!

5) Want go faster? Simply press the spin key to boost!


GLIDER
Spoiler:
MapThingNum: 457


1) Glide across long distances with an actual hang glider, it slowly descends while you use it.

2) Similar to the rocket, bumping into things will stop you from using it.
If the glider goes underwater it will stop working.


ITEM BALLOONS
Spoiler:
MapThingNum: 456


A.K.A HELI-BALLOONS (I do not know why I keep calling them that)

1) Similar to the ones you have seen in Sonic Heroes. Popping them awards you with various items such as: rings, shields, sneakers, invincibility and lives.

2) I have made it so that the angle of these balloons determines what type of award they will give:
- Angle 0 = 5 to 25 Rings [Random]
- Angle_90 = Shields [Random]
- Angle_180 = Sneakers
- Angle_270 = Invincibility
- Angle_315 = Lives


STARPOST REWARD SYSTEM
Spoiler:
Click image for larger version

Name:	WDS_StarpostAward1.gif
Views:	10
Size:	2.03 MB
ID:	19543

1) Touching a starpost will award you with rings, shields and more, quite similar to the Sonic Adventure games.



2) Rewards vary depending on the number of rings you have, a higher amount of rings can give you access to better items.

3) If you already have a shield, you are more likely to be awarded with rings instead. This was done so that shield power-ups do not override each other.
Having a shield does not affect your chances of getting lives, sneakers and invincibility.


STRAFING SEGMENT
Spoiler:


I made a script allows you to force the direction that the player faces and stick to strafing only. The aim of this was make something similar to the sidestepping segments in modern sonic games.

A neat way of using this would be if you wanted to make a Sonic 2 themed special stage and have the player be forced to face a certain angle when moving forward and going through turns.

Spoiler: Setup
Making this work is very similar to setting up a normal linedef executor control sector. The sector tagged to the control sector with "Call Lua Function" and "STRAFESEG" in its texture, will have the scripts effects activated once you step inside.

The angle of the "STRAFESEG" linedef, influences the angle of the player.

To cancel the effects make another control sector with "Call Lua Function"
and put "STRAFEOFF" in its texture.

Both control sectors should use Linedef type 301 ("Each Time") to enable their effects.


SPECIAL SPRINGS
Spoiler:
MapThingNum: 3001 - Blue Spring Strength
MapThingNum: 3002 - Yellow Spring Strength
MapThingNum: 3003 - Red Spring Strength




1) Springs that enable you to use your abilities after being launched by them.

2) The springs will send you to similar vertical heights as blue, yellow and red springs would.


Update 1.4
Spoiler:
Rocket:
- A lot of redundant scripts were removed, thus improving the object's overall performance in-game.
- Z-momentum is now accurately calculated, this means no more seeing the player lag behind the rocket when it moves vertically.
- Horizontal momentum is also calculated properly, meaning that the rocket's A2A8 and A4A6 sprite rotations can now be seen properly when turning.
- The rocket will no longer be active if you hit a spring.

Starpost Reward System:
- Replaced a few soc actions with lua functions

Strafe Segment:
- This script was remade from scratch, the angle that the player is forced to face will now be determined by the linedef's angle (referring to the linedef that calls the function for that sector.
- The player will face any angle that you desire them to face.


List of old updates:
Spoiler:
Update 1.3
Spoiler:
Rocket:
- Hitbox improved
- Rocket/Player momentum has been adjusted
- Got rid of redundant scripts and switched out all of the soc actions for lua functions
- Character ability states should be cancelled when you start riding the rocket.

Heli-Balloon/Item Balloon:
- Got rid of a few soc actions and swapped them out for lua functions.

Strafe Angling Segment:
- Not really an update but I realised that the previous script lags the game a lot. So I have changed it so that the thing's angle determines the player's angle again.


Update 1.2
Spoiler:
Everything besides the rocket should work in net-games (the strafe segment works depending on how you use it).

Also credit to Lach for helping me figure out the jumping issue with the rocket.

Rocket Update
- The controls and script for the rocket object have been refined, you no longer have to hold onto the jump button to stay on the rocket. You can simply press jump once more to get off.
- The camera no longer lags behind to the sides when making sharp turns.
- You will now have an increased vertical momentum when boosting while moving up or down.

Starpost Reward System Update
- The starpost reward system has been improved, the rarity of randomly obtaining certain items has changed.
- You are now able to get the sneakers and invincibility power-ups.
- You can also obtain lives.

Strafing Segment Update
- The strafing segment script has a couple changes.
- A total of 16 angles is now supported, thus making turns less sharp.
- You can now influence the angle you face mid-game by changing the light level of the MT_SAT control sector.
- The test map has been improved to demonstrate how 5 angles are used.


Update 1.1
Spoiler:
- Test map is now more spacious.
- Player can use the rocket by jumping onto it and holding onto the jump button. Letting go of the jump button will make you let go of the rocket.


NOTE: Rocket & Glider currently do not support multiplayer, even having a bot around can make things super screwy.

There is a test map that has all of the items and scripts used in it, you can explore it in order to further understand these features.

Hopefully this misc pack can prove useful to you all, enjoy!

Credits:
- Spriter's Resources for the sounds
- FuriousFox and his BonusStage.wad on MB, I used a section of his script as a template
- Jimita and Rapidgame7 for helping me with the HUD and timer scripts for the starpost reward system
- Lach for helping me figure out how to make the player disembark by jumping.
- Kalaron and his SRB2CB mod, I used his hang glider sprites from that project.

Download Now

File Type: zip WDS_Pack(+testmap).zip (161.4 KB, 32 views)

Screenshots

Click image for larger version

Name:	WDS_Glider.gif
Views:	49
Size:	5.42 MB
ID:	19540   Click image for larger version

Name:	WDS_OldStrafe.gif
Views:	51
Size:	6.49 MB
ID:	19541   Click image for larger version

Name:	WDS_RocketUnderwater.png
Views:	32
Size:	58.1 KB
ID:	19542  

Show Your Support

  • The author of this addon has given explicit permission for its content to be re-used and/or reproduced.

Comments
Old 04-16-2019   #2
D00D64
Worst Ranked 'Kart Player
Moderator
 
D00D64's Avatar
Default

Welcome to releases! However, I will say the rocket feels a bit finicky, as it seems every time I jump on it, its a coinflip as to if it'll actually work, or... just poof away and leave my arms hanging. Still, the other items here seem to function properly, so I'll let it in for now and you can see what you can do later, I guess.
__________________
The least skilled player on the Kart Krew dev team, but I try my best. Maybe someday...

My awful Twitter account

My also awful YouTube channel
D00D64 is online now   Reply With Quote
Old 04-16-2019   #3
WellDoneSnake
Formerly "TSDude"
 
WellDoneSnake's Avatar
Default

Thanks, and I understand what you mean about the rocket. The script is supposed to check if you've pressed the jump button while using the rocket. Unfortunately it also checks as soon as you've just touched the rocket. Hence why it disappears, there is a way around it but I haven't worked it out yet.

One method that I did get to work, was making it so that the you can use the rocket as long as you're holding down the jump button.

I might just edit that in until I can find a better solution, at least you can get some consistency that way.

Edit: I've updated it
__________________
Hmmm~ So tasty!

Last edited by WellDoneSnake; 04-16-2019 at 09:34 AM.
WellDoneSnake is offline   Reply With Quote
Old 04-17-2019   #4
Lach
nanananananananananananan a
 
Lach's Avatar
Default

I'm assuming your issue is related to BT_JUMP being active as long as jump is held. You can get around this in a few ways:
Spoiler:
1) Use a JumpSpecial hook where code is only run when (player.pflags & PF_JUMPDOWN == 0). The rest of the code in that hook's function will only run when jump is first pressed.

2) Set a custom player variable to true when BT_JUMP is held, and set it to false when BT_JUMP is released. Move this code near the bottom of your function. At any point before it, code run when (player.cmd.buttons & BT_JUMP ~= 0) and your custom variable is false will only run when jump is first pressed.

3) Set a custom player variable to 0. Whenever BT_JUMP is held, add 1 to the value. When BT_JUMP is released, set it back to 0. Move this code near the top of your function. At any point after it, code run when the custom variable is equal to 1 will only run when jump is first pressed.
Lach is offline   Reply With Quote
Old 04-17-2019   #5
WellDoneSnake
Formerly "TSDude"
 
WellDoneSnake's Avatar
Default

Quote:
Originally Posted by Lach View Post
I'm assuming your issue is related to BT_JUMP being active as long as jump is held. You can get around this in a few ways:
Spoiler:
1) Use a JumpSpecial hook where code is only run when (player.pflags & PF_JUMPDOWN == 0). The rest of the code in that hook's function will only run when jump is first pressed.

2) Set a custom player variable to true when BT_JUMP is held, and set it to false when BT_JUMP is released. Move this code near the bottom of your function. At any point before it, code run when (player.cmd.buttons & BT_JUMP ~= 0) and your custom variable is false will only run when jump is first pressed.

3) Set a custom player variable to 0. Whenever BT_JUMP is held, add 1 to the value. When BT_JUMP is released, set it back to 0. Move this code near the top of your function. At any point after it, code run when the custom variable is equal to 1 will only run when jump is first pressed.
In response to your post:
Spoiler:
You were completely right with that assumption, prior to submission I did follow methods similar to steps 2) and 3) however I had no luck. I realised after looking at your post that I was putting the code I made in the local function for the MobjThinker hook, so every tic it would keep acknowledging that the jump button was pressed.

I slightly followed your first step and that seems to have solved the issue. Many thanks!


[The Wad Has Been Updated]
Changes were made to the rocket, starpost reward system and strafing segment.
Improvements are explained in the original post.


Hopefully in the future I can figure out how to make the rocket usable in net-games (so far I worked out a buggy method...).

Edit: I've updated a couple of the explanations in the first post
__________________
Hmmm~ So tasty!

Last edited by WellDoneSnake; 04-18-2019 at 08:35 AM.
WellDoneSnake is offline   Reply With Quote
Old 2 Weeks Ago   #6
WellDoneSnake
Formerly "TSDude"
 
WellDoneSnake's Avatar
Default

Another Update
Check the original post!

The rocket gameplay or mechanics should be less buggy now.
__________________
Hmmm~ So tasty!
WellDoneSnake is offline   Reply With Quote
Old 2 Weeks Ago   #7
WellDoneSnake
Formerly "TSDude"
 
WellDoneSnake's Avatar
Default

Once Again The Misc Pack Has Been UPDATED!~

Changes are stated above in the original post, these include:

- A waaay less buggy rocket than before, I had finally properly understood what I should be doing when checking the rocket/player's angle and momentum.

- Introducing le hang glider!

- The strafing segment script was completely changed, its linedef function is now a lot easier to use than before, since the linedef now determines the angle that the player is forced to face.
__________________
Hmmm~ So tasty!
WellDoneSnake is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:38 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.