Skip to content

Commit 7f38e94

Browse files
committed
Preparations for 0.24.0.
1 parent fbf29ae commit 7f38e94

File tree

14 files changed

+224
-219
lines changed

14 files changed

+224
-219
lines changed
-54.8 KB
Loading
-26.6 KB
Loading
-38.3 KB
Loading
-41.9 KB
Loading
-30.8 KB
Loading

Manual/content/changelog.html

Lines changed: 10 additions & 205 deletions
Large diffs are not rendered by default.

Manual/content/changelog_older.html

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,197 @@
1616

1717
<p>Older entries of the <a href="changelog.html">changelog</a>.</p>
1818

19+
<h2 id="0.21.1">0.21.1</h2>
20+
21+
<p><i>November 5th, 2021</i></p>
22+
23+
<ul>
24+
<li>Fixed Rock Pikmin not causing damage by charging. Custom Pikmin that attack via lunging need their <code>attacking</code> animation changed.</li>
25+
<li>Fixed a crash if Pikmin were thrown at an object and it disappeared during their <code>mob_landing</code> state. (Thanks Sharker, Kman)</li>
26+
<li>Fixed the manual's header not working under Chrome. (Thanks Kman)</li>
27+
</ul>
28+
29+
<h2 id="0.21.0">0.21.0</h2>
30+
31+
<p><i>October 22nd, 2021 &ndash; the "Pikmin 3" update</i></p>
32+
33+
<p><b>Gameplay changes</b></p>
34+
35+
<ul>
36+
<li>
37+
Added Rock Pikmin.
38+
<ul>
39+
<li>When thrown at an enemy, they cause damage when they collide, and then bounce back.</li>
40+
<li>They also lunge forward on their own when they get close to an enemy they are chasing on foot. This impact works just like a throw, bounce back included.</li>
41+
<li>Also, updated the pellets, Pellet Posies, Candypop Buds, and Onions to support Rock Pikmin.</li>
42+
<li>Plus, added cystal walls, crystal nodules, large crystals, small crystals, and Skutterchucks.</li>
43+
</ul>
44+
</li>
45+
<li>
46+
Added Winged Pikmin.
47+
<ul>
48+
<li>If their target is above or below them, they can move up and down in the air to get to it.</li>
49+
<li>When following a leader, they try to stay a bit above the leader, and when idling, they also try to idle some distance above-ground.</li>
50+
<li>Because they are flying in the air when following a leader, they can travel over bodies of water. That said, leaders that are underwater can't grab or throw them.</li>
51+
<li>Also, updated the pellets, Pellet Posies, Candypop Buds, and Onions to support Winged Pikmin.</li>
52+
<li>Plus, added bamboo gates, Flukeweeds, and Puffy Blowhogs.</li>
53+
</ul>
54+
</li>
55+
<li>Added Bulbmin, both adults and young. They are invulnerable to all elemental hazards, but the young lack an Onion or ship to go to.</li>
56+
<li>Added Alph, Brittany, and Charlie, as well as the S.S. Drake. The Hocotatian leaders also got a glow-up. The President's color was changed to yellow, otherwise half of the leaders would be blue.</li>
57+
<li>Purple Pikmin now cause a bit of collision damage when they land on an enemy after being thrown.</li>
58+
<li>Enemies petrified with the ultra-bitter spray now shake before breaking free, their petrification visually bursts when it's over, and their animations now properly freeze.</li>
59+
<li>Munge Dweevils can now pick up treasure.</li>
60+
<li>Pikmin will now only take paths that they can survive. e.g. a carcass with 1 Red Pikmin and 9 Blue Pikmin carrying it will take a path that doesn't go through water, but a carcass carried by 10 Blue Pikmin might take that water path.</li>
61+
<li>Objects now move with acceleration. This should make them a bit smoother when moving.</li>
62+
<li>
63+
Revamped the cursor.
64+
<ul>
65+
<li>The leader cursor's color now matches the standby Pikmin's color. If there is none, it uses a faded cyan color.</li>
66+
<li>The number of Pikmin of the standby type now also appears next to the cursor.</li>
67+
<li>There is now a line connecting the leader to the cursor. When the leader has a group member, the line changes to represent a preview of how that member would be thrown. This helps to show which ledges can and can't be reached.</li>
68+
<li>Added an option to set the cursor's speed, used when controlling it without a mouse. (Thanks MonkeyUhOh)</li>
69+
</ul>
70+
</li>
71+
<li>If a Pikmin is lying down, a leader can now whistle it to make it get up faster, and return to the leader once it does.</li>
72+
<li>Added an option to allow the leader to auto-throw. If you prefer not to mash the throw button, consider turning this on.</li>
73+
<li>If a new leader shows up from a defeated enemy, their HUD information will now display properly. (Thanks pikminjosh)</li>
74+
<li>All menus now have a tooltip for the currently selected item.</li>
75+
<li>The in-game message box now looks like other boxes, instead of a stretched flat image.</li>
76+
<li>Fullscreen mode now uses a simple borderless window. True fullscreen mode can still be enabled in the <a href="options.html">options</a> file, but comes with risks.</li>
77+
</ul>
78+
79+
<p><b>Content making changes</b></p>
80+
81+
<ul>
82+
<li>
83+
Rock Pikmin-related features:
84+
<ul>
85+
<li>Added a property for <a href="mob_pikmin.html">Pikmin types</a>, <code>attack_method</code>, that controls how the Pikmin attacks. If set to <code>impact</code>, that Pikmin attacks like a Rock Pikmin, as explained above.</li>
86+
<li>Their on-foot lunges use the attack animation, so it should ideally be in a pose where they lunge forward, and have a hitbox.</li>
87+
</ul>
88+
</li>
89+
<li>
90+
Winged Pikmin-related features:
91+
<ul>
92+
<li>Added a property for <a href="mob_pikmin.html">Pikmin types</a>, <code>can_fly</code>, that makes a Pikmin fly like a Winged Pikmin, as explained above.</li>
93+
<li>These Pikmin can only move vertically if the state they are in allows it (e.g. they can't fly if they're being knocked back).</li>
94+
<li>Technically, if a leader is on a floor with a hazard (liquid or otherwise), they will be unable to grab Pikmin that are outside it and are vulnerable to the hazard. If they grab and bring those Pikmin to said floor, the Pikmin will suffer the effects.</li>
95+
</ul>
96+
</li>
97+
<li>Pikmin now have a new state that is entered when they land on a mob, <code>mob_landing</code>. In it, they change to an animation of the same name. It is only after this animation ends that they latch on or bounce back. As such, this animation is a good opportunity to get the Pikmin to cause damage upon collision.</li>
98+
<li>
99+
Revamped paths.
100+
<ul>
101+
<li>If a path stop is on top of a sector with hazards, objects will now be unable to traverse it if they are vulnerable to the hazards. In the case of a carried object, this applies to the carrier Pikmin. If there is another path, they will take it, otherwise they will stay stuck in front of that path stop. If the hazard is only on the floor, and the object or carrier Pikmin can fly, then they will still take that path.</li>
102+
<li>Path links now have a type. "Normal" works like normal, "custom only" can only be used by objects that need that path for scripting, "light load only" can only be taken by objects carrying a weight of 1 or nothing, and "airborne only" can only be taken by flying objects.</li>
103+
</ul>
104+
</li>
105+
<li>
106+
Revamped the <a href="status.html">status</a> system.
107+
<ul>
108+
<li>Added the <code>animation_change</code> property, which lets the object's animation be changed when the status is applied.</li>
109+
<li>Added the <code>freezes_animation</code> property. If true, the object will stay stuck in its current sprite until the status effect is removed.</li>
110+
<li>Added the <code>reapply_rule</code> property, which controls what happens to the auto-remove time of a status effect in case it is re-applied.</li>
111+
<li>Added the <code>remove_on_hazard_leave</code> property. This is now used for statuses like drowning, where the status effect is removed once the object leaves the hazard that was applying the status effect.</li>
112+
<li>Added the <code>replacement_on_timeout</code> property, which lets a status effect be swapped for another when its time runs out.</li>
113+
<li>Added the <code>state_change_type</code> and <code>state_change_name</code> properties, so status effects can change the object's state when applied.</li>
114+
<li>Added the <code>shaking_effect</code> property, which makes the object shake left and right while under the effects of the status effect.</li>
115+
<li>Object types, in their hazard vulnerability data and spike damage vulnerability data, can now be told to receive a status effect when interacting with one.</li>
116+
<li>Plus other changes noted below in the compatibility warnings.</li>
117+
</ul>
118+
</li>
119+
<li>
120+
New <a href="script.html">mob script</a> actions:
121+
<ul>
122+
<li><code>load_focused_mob_memory</code> and <code>save_focused_mob_memory</code> let the currently focused object be saved into a memory, and be recalled later. This allows the object to keep track of more than one object at a time, although it still only focuses on one at a time.</li>
123+
<li><code>link_with_focused_mob</code> lets the object be linked to whatever object it has in focus.</li>
124+
<li><code>hold_focused_mob</code> lets the object hold whatever object it has in focus, much like how a leader holds a Pikmin.</li>
125+
<li><code>throw_focused_mob</code> lets the focused object be thrown in an arc towards a destination.</li>
126+
<li><code>store_focus_inside</code> lets the object store another one inside, to be released later.</li>
127+
<li><code>release_stored_mobs</code> lets the object release any other object that is stored inside.</li>
128+
<li><code>get_angle</code> lets the script obtain the angle between two sets of coordinates.</li>
129+
<li><code>get_coordinates_from_angle</code> lets the script obtain the X and Y coordinates calculated from a given angle and distance.</li>
130+
<li><code>get_distance</code> lets the script obtain the distance between two sets of coordinates.</li>
131+
<li><code>get_floor_z</code> lets the script obtain the Z coordinate of the floor at the specified coordinates.</li>
132+
<li><code>set_can_block_paths</code> lets the object block or stop blocking the paths of others.</li>
133+
<li><code>set_flying</code> lets the object move in mid air at will, unaffected by gravity.</li>
134+
<li><code>set_radius</code> lets the object's radius be changed.</li>
135+
<li><code>set_shadow_visibility</code> lets the object's shadow be hidden.</li>
136+
<li><code>follow_path_to_absolute</code> lets the object follow path stops to get to the specified coordinates.</li>
137+
<li><code>follow_path_randomly</code> lets the object follow path stops to get to a random stop in the area.</li>
138+
</ul>
139+
</li>
140+
<li>
141+
Other <a href="script.html">mob script</a> changes:
142+
<ul>
143+
<li>The <code>move_to_absolute</code> and <code>move_to_relative</code> actions can now use an optional Z coordinate argument.</li>
144+
<li>The <code>turn_to_absolute</code> and <code>turn_to_relative</code> actions can now either use an angle argument, or coordinate arguments.</li>
145+
<li>Added <code>group_task_power</code> and <code>angle</code> to the <code>get_info</code> action, so a group task object can obtain the current "Pikmin power" applied to it, and so an object can obtain its current angle, respectively.</li>
146+
<li>The <code>on_hitbox_touch_a_n</code> event used to trigger regardless of the first hitbox's type. This has now been fixed, and <code>on_hitbox_touch_n_n</code> was created for when the both hitboxes are of the normal type.</li>
147+
</ul>
148+
</li>
149+
<li>
150+
<a href="mob_group_task.html">Group task object type</a> improvements:
151+
<ul>
152+
<li>Added the <code>flying_pikmin_only</code> property.</li>
153+
<li>Added the <code>spots_z</code> property to allow control of the vertical position of the contribution spots.</li>
154+
<li>Added the <code>carrying</code> value to the <code>worker_pikmin_pose</code> property (though it doesn't change anything yet).</li>
155+
</ul>
156+
</li>
157+
<li>
158+
New <a href="mob_type.html">object type</a> properties:
159+
<ul>
160+
<li><code>acceleration</code> controls the object type's acceleration.</li>
161+
<li><code>has_group</code> lets the object have a group of other objects (usually Pikmin) following it.</li>
162+
</ul>
163+
</li>
164+
<li>
165+
New <a href="misc_config.html">game configuration</a> properties:
166+
<ul>
167+
<li><code>no_pikmin_color</code> controls the color the cursor shows when no Pikmin are available.</li>
168+
<li><code>throw_max_dist</code> and <code>whistle_max_dist</code> control the maximum distances at which the leader can throw or whistle.</li>
169+
</ul>
170+
</li>
171+
<li>
172+
Minor editor tweaks.
173+
<ul>
174+
<li>In the animation editor's sprite or animation picker, the buttons now shows thumbnails of the sprite or the animation's first frame.</li>
175+
<li>Double-clicking in the area editor while in object editing mode now creates a new object where you clicked.</li>
176+
<li>In the area editor, you can now specify a different horizontal and vertical scale, when resizing everything.</li>
177+
<li>Path links in the area editor are now colored based on their type, and whether they are one-way.</li>
178+
<li>Revamped the area editor's problem finder and path preview.</li>
179+
<li>You can now delete an area inside the area editor.</li>
180+
</ul>
181+
</li>
182+
<li>Added the <code>group_pikmin_only</code> and <code>affects_user</code> properties to <a href="spray.html">spray types</a>. One controls whether a spray affects only the Pikmin in the group or leaders as well, and the other controls whether the leader that used the spray gets sprayed too.</li>
183+
</ul>
184+
185+
<p><b>Custom content compatibility warnings</b></p>
186+
187+
<ul>
188+
<li>
189+
Animation changes. These are needed in order for <a href="mob_pikmin.html">Pikmin</a> to get up when whistled, and for Purple Pikmin and Rock Pikmin to cause collision damage:
190+
<ul>
191+
<li><code>lying</code> is now just the Pikmin lying down forever.</li>
192+
<li><code>knocked_back</code> is a new animation for the Pikmin getting knocked back forever.</li>
193+
<li><code>getting_up</code> is a new animation for the Pikmin getting up from lying down.</li>
194+
<li><code>mob_landing</code> is a new animation for the thrown Pikmin landing on a mob and getting ready, and/or causing damage.</li>
195+
</ul>
196+
</li>
197+
<li>
198+
<a href="status.html">Status effect</a> changes:
199+
<ul>
200+
<li>Turned the <code>disabled_state_inedible</code> status effect type property to <code>turns_inedible</code> instead. This way, any status can make a Pikmin inedible while under its effects.</li>
201+
<li>The <code>causes_*</code> status effect type properties were removed in favor of the <code>state_change_type</code> property. Anything related to the Pikmin's "disabled" state has now also been renamed to the more apt term "helpless".</li>
202+
<li>The <code>on_hitbox_touch_a_n</code> event was corrected, so if you relied on the incorrect behavior, use <code>on_hitbox_touch_n_n</code> instead.</li>
203+
<li>The <code>animation</code> and <code>animation_mob_scale</code> properties have been renamed to <code>overlay_animation</code> and <code>overlay_anim_mob_scale</code>, respectively.</li>
204+
</ul>
205+
</li>
206+
<li><a href="mob_converter.html">Converters</a> now need hitboxes for the Pikmin to touch when thrown.</li>
207+
<li>The <code>blocks_carrier_pikmin</code> <a href="mob_type.html">object type</a> property has been renamed to <code>can_block_paths</code>.</li>
208+
</ul>
209+
19210
<h2 id="0.20.0">0.20.0</h2>
20211

21212
<p><i>April 24th, 2021 &ndash; the "missing menus" update</i></p>

Manual/content/history.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,16 @@ <h2 id="roadmap">Roadmap</h2>
3232

3333
<ul>
3434
<li>
35-
<b>Version 0.24</b>
35+
<b>Version 0.25</b>
3636
<ul>
37-
<li>New areas</li>
37+
<li>Improvements to sound effects</li>
38+
<li>Music support</li>
39+
<li>Ice Pikmin and Glow Pikmin</li>
3840
</ul>
3941
</li>
4042
<li>
4143
<b>Later</b>
4244
<ul>
43-
<li>Improvements to sound effects</li>
4445
<li>Music</li>
4546
<li>Radar</li>
4647
<li>Multiplayer</li>

Source/documents/Misc. info.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,16 @@ Bag of notes (useful stuff)
116116
Pathing
117117
The only possible way to calculate the stops is by doing it first, before paths. If the engine could decide any stop at will, then were would the threshold be? What would stop it from deciding the last stop is like on the opposite side of the map from the target spot?
118118
Mobs that care about paths can only be in one of two stats: moving, or stuck
119-
When an obstacle is freed, it can only matter to the mob in one of the following ways:
119+
When an obstacle is freed, it can only relate to a mob in one of the following ways:
120120
It is irrelevant to the mob's goal
121121
If blocked, it unblocks its current path
122122
If blocked, it unblocks a new path
123123
If unblocked, it unblocks a faster path than the current one
124+
The ideal pathing system would:
125+
Allow Pikmin to not pick stops on the other side of a wall, or on a tall ledge
126+
This could be achieved with stops with radii
127+
Allow Winged Pikmin to go up and down two stops that other Pikmin should only go down from
128+
This could be achieved by, on load, having all links whose stops have a height difference of over 50 check if there's a ramp between them or not, and tag the link in memory accordingly
124129
Area editor
125130
Open problems
126131
If the user turns a sector inside out, there's not much the engine can do...

0 commit comments

Comments
 (0)