7000+ new lines of code!
Added
- New Powerup spawn and pickup effects with custom particles!
- Projectile based powerups will no longer target and shoot at vehicles behind statics!
- New active powerup to the countermeasure group that makes your car invinsible to other players. You can still see it yourself, but no one else
- New long range sniper powerup group with 3 different snipers.
This new powerup is the first that allows you to choose a target and fire at it through the use of hotkeys
- Tire Sniper with 5 Rounds. On hit it will deflate a tire of your target
- Engine Sniper with 5 Rounds. Will heavily damage the engine of your target on first hit, on second it will lock it up
- Tank with 3 Rounds. Will completly ransake your target
All snipers allow you to target vehicles up to 1.5km away, have different projectile speeds, aim times, imprecisions and recoil
- Added position prediction to projectile based powerups that have an autoaim!
- Added BANANAS!
- New Defenses powerup group with 3 levels (tire spikes, barrier and mines)
- Added support for the Industrial map and for River Highway!
- New Missile powerup!
Changed
- The "You picked up Charge" tooltip now rather displays "You picked up Charge (The thing that makes your powerups stronger)" because players couldnt figure out what charges do in this mod
- Overhauled the look of charges!
- Overhauled the look of negatives!
- Many (but not all) powerup models have been updated to more fitting versions!
- Redone the EMP! Hit vehicles will now completly shut down and also brake to a stop.
- The machine gun does a little less damage now
Fixed
- Camera freezing in place in multiplayer for everyone when a vehicle activated a powerup and then deleted or modified itself
- Force field 1 should no longer throw a Fatal error when it was broken by a Cannon!
Technical Changelog
Added
- All by the powerups lib fired events are now safeguarded with pcall() to prevent fatals in powerups from causing a complete lua state runaway. Should a fatal occur the powerup is automatically disabled
- Also implemented pcall() in TimedTriggers for all trigger executions. On fatal the trigger is self removed and the player told with a ui tooltip.
- PowerUps.displayClientState() now shows alot more information
- TimedTriggers now have a cascade detection. Should anything that uses the timed triggers create trigger after trigger the library will irrecoverably shut itself down and print the last 100 triggers (including their creation calltrace) to the log. Shuting down means that the lib will no longer accept new triggers and no longer run its tick.
- Added Extender.cleanseTargetsBehindStatics(origin_pos, targets)
- Added Hotkey passthrough to active powerups. Powerups can now listen to hotkeys and act accordingly
M[Hotkey.Fire] = function(data, origin_id, state)
if state ~= HKeyState.Down then return end -- only act if key pressed downend
- Hotkey events can also return TargetInfo, TargetHits and more - onHKey.TargetInfo()
- Added Util.tableContains(vtable)
- Added Extender.targetChange(possible_targets, current_target) that can help with manual target selection for the Hotkey.TargetChange event
- When a active powerup listens to any hotkey then the user is automatically informed about this on activate via the game own messages app
- Added :smartSFX2(target_id, volume, max_time, min_distance, max_distance) to the Sounds library
- Added .createCone() .drawCone() .drawConeLikeTarget() .getVehiclesInsideCone() to MathUtil.
- Added .getPredictedPosition(origin_vehicle, target_vehicle, proj_speed) and .getPredictedPositionRaw(org_pos, tar_pos, tar_vel, proj_speed) to MathUtil
- Added self global creation check. The mod now displays when it creates a global which essentially allows a modder to notice when they accidentially defined a global. (This needs more improvement)
- Added new Placeables class
Placeable(pos_vec, scale_vec)This new class is WIP and will have to be completly rewritten as its supposed to make interactive and dynamic objects possible that can also have a physics actor and owner (for eg turrets) and should be able to cross work with the powerups trait system (eg location bound force fields)
: setData({any_data})
: selfDestruct(time_in_ms, function(self, data))
: onEnter(function(self, vehicle, data))
: onExit(function(self, vehicle, data))
: whileInside(function(self, vehicle, data))
: attach(function(self, data))
: delC(function(self, data))
...
- Added ObjectWrapperCleaner that now automatically tracks objects that have been created through the ObjectWrapper and automatically deletes them on mod re- or unload
- Added Extender.loadAssets(asset_json_1, asset_json_n) that allows you to load custom assets into the game without patching game files. In the case of particles ensure the particle data is loaded before the emitter!
- All Assets in /art/shapes/pwu are autoloaded
- Added TimedTriggers.lastDt() that returns the last delta time from its self measurement. This is useful for routines that are defined as timed triggers and that need a delta time to work.
- Added .isMovingTowards(origin_pos, target_pos, target_velocity) to MathUtil
- Added Ui to the default imports that will only show the given message to the player if they spectate the given target id
Ui.target(target_id)
.Toast
.info('message', 'title', show_for_this_time)
.warn(...)
.error(...)
.success(...)
Ui.target(target_id)
.Msg
.send('message', 'unique_name', show_for_this_time)
- Added "WIP" text to powerups that are work in progress. Hovers above the powerup if the player is close to it
- Added .getVehiclesInsideRadius2D(pos_vec, radius, ...) to Extender
- Added .anyPosToClose(org_pos, tar_posses, min) to MathUtil
Changed
- Stabilized so far unused events from the Powerups library. All powerup group and active powerup events should now work as defined in the describtor
- On mod (re)load all powerups are now spawned with the is_rendered flag turned to false to prevent powerups from rendering and spawning effects that are far away M.onCreate(trigger, is_rendered). This is also true for rotated and respawned powerups.
- Increased the kept reuse triggers in the TimedTriggers from 10.000 to 100.000
- :smart(), :smartSFX() and :smartSFX2() in the Sounds library now also take the core_camera distance into account when choosing as what to play the sound (local, vehicle- or locational bound)
- All projectile based powerups have been changed to a new vehicle or static hit detection logic that ensures that a vehicle in front of a static is always hit but never behind it
- The sounds lib will now no longer play sounds in the Music channel but in the Other channel
- All Assets have been moved from the powerups to the /art/ directory
- When a active powerup defines do_not_unload as true then the vehicle is now immediatlly loaded again on activate of the powerup if it wasnt due to render distance
- The render pipeline for the location render now has its own tracking table to only loop over actually rendered locations (Mayor performance increase)
- PowerUps.setRenderDistanceRoutineTime() has been disabled. The render distance routine is now dynamic to the players camera movement in order to show distant powerups quicker when the player is flying over the map.
- Projectile based powerups that spawn tiny projectiles (eg machine gun, sniper, roundshot) no longer spawn actual projectiles but fake projectils that are essentially just debug drawer spheres. The visual change is if at all only barely noticeable but this is much better on the cpu
Fixed
- Fixed an issue in the TimedTriggers where triggers would no longer be removed once it enters its large list optimization mode (bug from a oversight in a fix of 0.4)
- Fixed onDeactivate() in the active powerup being called with the powerup group data instead of its active powerup data when the powerup was destroyed because of a vehicle delete
- Fixed 2 racing conditions in multiplayer that could lead to powerups quitting to early
- Fixed the Server side not loading if the "mp_settings" folder wasnt present
- Fixed a bug in the render distance check that would lead to active powerups that have do_not_unload set to true still being unloaded, once the owner vehicle picked up another powerup while that active powerup was active and out of render distance.
- Fixed charges stacking over MAX_CHARGE limit in multiplayer
Dismiss Notice
In the upcoming weeks mod approvals could be slower than normal.
Thank you for your patience.
In the upcoming weeks mod approvals could be slower than normal.
Thank you for your patience.

Alpha Powerups. The Police/Military Ordnance Update! 0.5.3
Simply put.. Powerups!