Chuckya: Difference between revisions

76 bytes added ,  10 December 2022
A few corrections, will do more later
(Added exact values to the Chuckya movement behavior and rephrasing)
(A few corrections, will do more later)
Line 1: Line 1:
{{object_infobox
{{object_infobox_2
|title= Chuckya
|title= Chuckya
|image= STROOP- Chuckya.png|100×100px|A chuckya
|image= STROOP- Chuckya.png|100×100px|A chuckya
|hitbox_radius=150
|group= General Actor
|hitbox_height=100
|group2= Common 0
|damage= none
|tangibility=1000
|speed= to add
|draw=
|tangibility_radius= 1000
|gravity=4
|interaction_type= grabbable
|friction=10
|surfaces=
|buoyancy=2
|found_in= [[Tiny-Huge Island]], [[Wet-Dry World]], [[Bowser in the Sky]], [[Tall, Tall Mountain]], [[Rainbow Ride]]
|interaction=Grabbable
|expand=
|damage=
|health=
|radius=150
|height=100
|hurtbox_radius=
|hurtbox_height=
|offset=
|coins=5
}}
}}
{{stub}}
{{stub}}
'''Chuckyas''' are purple enemies. They try to pick up Mario, and after doing so, spin around and then throw him. They do not directly damage Mario, but can cause fall damage if they throw him off a ledge.
'''Chuckyas''' are purple enemies. They try to pick up Mario, and after doing so, spin around and then throw him. They do not directly damage Mario, but can throw him into the death barrier or cause fall damage if they throw him off a ledge. Mario can defeat them by picking them up and throwing them onto the ground.


== Escaping Chuckya ==
== Escaping Chuckya ==
There is a counter that the game keeps track of that lets you escape from Chuckya if it reaches 11. The counter starts at zero, and increases by one every time the player presses the A button or moves the joystick from the inside to the outside of its radius.<ref>[https://youtu.be/_R8c70zuJSw "Escaping from Chuckya's Grasp" by UncommentatedPannen]</ref> This is possible to do 1.5 times per frame with [[pause buffering]].
When Chuckya grabs Mario a counter is initialized that lets Mario escape from Chuckya if it reaches 11. The counter starts at zero, and increases by one every time the player presses the A button or moves the joystick from the inside to the outside of its radius.<ref>[https://youtu.be/_R8c70zuJSw "Escaping from Chuckya's Grasp" by UncommentatedPannen]</ref> This is possible to do 1.5 times per frame with [[pause buffering]].


== Behavior ==
== Behavior ==
=== Moving ===
=== Moving ===
Through all movement, Chuckya accelerates at a rate of 4 units/f up to a maximum of 30 units/f and slows down at the same rate
Through all movement, Chuckya accelerates at a rate of 4 units/f<sup>2</sup> up to a maximum of 30 units/f and slows down at the same rate. Chuckya's movement is composed of three different steps, which loop over and over again:
Chuckya's movement is composed of three different steps, which loop over and over again :
# Chuckya turns towards Mario in increment of maximum 1024 angular units until he is less than 4096 horizontal angular units in front of him or for 41 frames, whichever happens first
# Chuckya turns towards Mario in increment of maximum 1024 angular units until he is less than 4096 horizontal angular units in front of him or for 41 frames, whichever happens first
#* Even if Mario is already within 4096 angular units, Chuckya will turn for at least one frame toward Mario and will stop early if it reaches exactly 0 angular units
#* Even if Mario is already within 4096 angular units, Chuckya will turn for at least one frame toward Mario and will stop early if it reaches exactly 0 angular units
Line 33: Line 39:


=== Throwing ===
=== Throwing ===
When Chuckya grabs Mario, a random number between 10 and 40 is generated to serve as a timer. Every frames, Chuckya will rotate by 2048 horizontal angular units counterclockwise and remove one from this number. Mario will be thrown when one of these conditions is met :  
When Chuckya grabs Mario, a random number between 10 and 40 is generated to serve as a timer. Every frame, Chuckya will rotate by 2048 horizontal angular units counterclockwise and the timer is decreased by 1. If Mario does not escape, he will be thrown when the timer is less than 0 and one of the following conditions is met:  
* Mario escapes by doing an escape action 11 times
* There is a floor no more than 50 units below a point 150 units in front of Chuckya
* The timer is negative and there is a floor up to 50 unit below a point 150 units in front of Chuckya
* The timer reaches -17
* The timer reaches -17


Line 41: Line 46:
== References ==
== References ==
<references />
<references />
* [https://github.com/n64decomp/sm64/blob/master/src/game/behaviors/chuckya.inc.c Chuckya behavior file]
[https://github.com/n64decomp/sm64/blob/master/src/game/behaviors/chuckya.inc.c Chuckya behavior file]


{{objects}}
{{objects}}
[[Category:Enemies]]
[[Category:Enemies]]
[[Category:Objects]]
[[Category:Objects]]