Skip to content

Releases: Taureon/aps-plus-plus

v1.0.0-beta.12.1

01 May 09:58
Compare
Choose a tag to compare

Additions:

  • Added the makeRadialAuto facilitator to speed up the creation of tanks like the Auto-3.
    • The description of options is listed as a comment in the function code.

Changes:

  • makeOver and makeBattle have been improved.
    • They now have a 3rd argument, options, which should be an object that can have the following properties:
      • angle: A default angle to the guns, defaults to 125.
      • count: Amount of guns, defaults to 2,
      • independent: If the projectile is independent, defaults to false.
      • extraStats:, Extra gunvalues to add, defaults to [].
      • 2 extra properties for makeOver:
      • cycle: What the guns' WAIT_TO_CYCLE property should be, defaults to true.
      • maxDrones: Maximum drone count, defaults to 3.
  • Changed the colour of shadow polygons from pureBlack to darkGrey.

Fixes:

  • Added blue color support to the leaderboard and minimap in FFA mode.
  • Your name now properly changes on reconnect.
  • IMAGE property should now work.

Removals:

  • makeHybrid, makeOversplit and makeCross have been merged into makeOver.
    • makeHybrid still exists for now to avoid breaking existing code.
  • makeSwarming, makeBiSwarming and makeTriSwarming have been merged into makeBattle.
  • Removed the makeSplit, makeConq and makeCap functions.

v1.0.0-beta.12

27 Apr 20:47
8402552
Compare
Choose a tag to compare
v1.0.0-beta.12 Pre-release
Pre-release

Hey APS++ users!
It has been almost 3 months since the last changelog.
We have big reworks planned, but they are FAR from finished.
Have some minor reworks and smaller additions and fixes though!
(17 additions, 18 changes/fixes, 2 removals)

Additions:

  • Added PROPS entity attribute.

    • Like TURRETS but decorative only.
    • The server does not calculate PROPS every frame, which improves performance for turret-heavy bosses.
  • Added the Color class.

    • Replaces the very unreliable Gun.color, Entity.color and TileEntity.color properties.
    • You can set specific properties or also just use the Color.interpret() method.
    • The class contains the following properties: base, hueShift, saturationShift, brightnessShift, allowBrightnessInvert, compiled
    • All of which except compiled can be set.
    • This will also fix some color bugs aswell as add new ones to patch later.
  • You can now use Config as an alias to c.

    • c and Config are aliases of each other, but using Config is advised for clarity.
  • You can now listen to the configuration changing via Config.on('change', event => { whatever(event); }).

    • event contains the following properties: setting (the setting, in SCREAMING_SNAKE_CASE), oldValue (what the value is), newValue (what the value will be set to), preventDefault (prevents the change from taking place)
  • Added BOT_NAME_PREFIX configuration variable.

    • Allows you to change the prefix that bot names have.
  • Added BOT_START_XP configuration variable.

    • Allows you to change the xp that bots start with.
  • Added WAVES and CLASSIC_SIEGE configuration variables.

    • CLASSIC_SIEGE determines if the first 34 waves should be hardcoded instead of randomly generated.
    • WAVES determines the amount of waves to beat in order to win.
  • Changed the facilitators a bunch.

    • Added color and shape to the menu facilitator.
    • Added frontRecoilFactor and backRecoilFactor to the makeBird facilitator.
    • makeMulti now works.
    • Added weaponArray which works pretty much like a makeMulti but directly for guns, which also properly supports turrets.
  • io_minion controller now accepts leash, orbit and repel as arguments.

    • They determine distance ranges that were hardcoded before.
  • Added Devboss by Toothless: "NightFury".

    • A black and magenta triangle boss with 2 sniper turrets on all sides and a glow.
  • A whole bunch of Arras.io Entities.

    • Repeater, Duplicator, Iterator, Undertow, Riptide, Flail, Double Flail, Triple Flail, New Sidewinder, Coil, Python, Ranch, Oroboros, Cocci.
    • Many of those may not be fully implemented and are placeholders.
  • Added map_apspp_tiletest to test out tiles.

  • Added more dominator tiles to the tiles/dominators package.

    • It now exports: contested, dominatorBlue, dominatorGreen, dominatorContested, sanctuaryBlue, sanctuaryGreen, sanctuaryContested
  • Added recursive folder support for loading addons.

    • You can now have folders in your addons folder and it will load the addons inside them, helpful for organisation.
  • Added loadedAddons global variable, which contains the addon file names that have been loaded so far, minus the .js.

    • Intended for addons to make it easy to check if an addon exists.
  • Added an info packet type that the server can send to display custom disconnect messages.

    • Does not disconnect the player.
  • Added an option for the lifetime of popup messages.

    • socket.talk('m', duration_in_milliseconds, 'Message here!');
    • There is also the configuration variable for MESSAGE_DISPLAY_TIME, which is used by default where the server sends a popup.

Fixes and Changes:

  • You can now aim while autospinning.

    • This improves drone gameplay, as you are no longer forced to direct them at a fixed point in front of you.
  • Turrets can now have arbitrary facingTypes.

  • Colors are now more accurate to what Arras.io has.

    • This now finally settles the Hexagon Color Debate.
  • Various HUD improvements.

    • Better Upgrade Animation and Buttons.
    • Mockup size bugs have been mostly fixed.
    • Stopped hiding the upgrade tree on death.
  • Various Definition refactors.

    • They act mostly the same, except that there are various nerfs, buffs, turret changes and such.
    • projectiles.js and turrets.js are now definition groups that exist.
  • Auras hit crashers now.

  • The ON property has been reworked.

    • Instead of making its own unoptimised implementation of events, it simply makes use of the fact that Entity extends EventEmitter.
    • You can also now add the boolean property once to an entry. What that property does is left as an exercise to the reader.
    • kill is now an event that can be listened for, which fires when an entity gets a kill.
    • control is now an event that can be listened for, which fires when an entity gets possessed by a player.
  • Turret aims faster at low angles.

    • It should now no longer miss as much if you just move perpendicularly.
  • Turrets and Bots should no longer try to shoot through walls as much.

    • io_nearestDifferentMaster has been given wall detection checks from a rather unethical old project of the head maintainer.
  • The addition and replacement of controllers has been improved.

  • ran.chooseN no longer modifies the input array.

    • Makes use of ran.shuffle, which has been added.
    • You can now choose more elements than there are in the input array.
  • The code in sockets.js that tries its best to get the IP of the client now supports the cf-connecting-for header.

    • Which means it now properly works when Cloudflare is used.
  • Tag gamemode now works better.

  • map_siege_legacy has had its nest updated.

  • Big food now no longer take up the entire map in Growth mode.

    • They now have LEVEL_CAP: 45.
  • labyFood addon now has better documentation instead of just // good luck debugging this.

  • Bots are now red in FFA.

  • Dozens of grammar mistakes.

    • README.md and index.html have been modified a bunch, and I don't wanna write it all down.

Removals:

  • Removed the testing tanks: "God Basic", "Maximum Overdrive" and "Testing Animated Colors".

    • We don't really need them anymore
  • You can no longer just export definitions from addons.

    • You now have to use Class instead of exports.

v1.0.0-beta.11.2

08 Feb 18:23
Compare
Choose a tag to compare
v1.0.0-beta.11.2 Pre-release
Pre-release

Additions

  • Added the LayeredBoss class to facilitators.js, which makes building bosses like celestials easier.
  • Added the ability to access Class in groups and addons as a global variable.
    • Converted all instances of exports.[blank] to Class.[blank].
  • Added ensureIsClass as a global function.
  • Added an error popup to the client so users look at the devtools console for once when an error occurs.
  • Added custom theme input to the main menu.
  • Added Frostbvte's Devboss: Extrasolar

Changes

  • Merged class.js into combined.js.
  • Updated gunvals.js. [NOT BACKWARDS COMPATIBLE]
  • Updated Hexagons to be stronger and to be Purple instead of Teal to avoid it looking identical to Legendary Hexagons.
  • Updated Diamond Marauder and Shiny Omega Thaumaturge to be cooler.
  • Updated X-Hunter's design.
  • Updated the Sentinels.
  • Updated Big Cheese to reload slower.
  • Updated all swarm drones to not be as strong as basic bullets.
  • Updated maze walls and maze generation.
  • Updated the developer menu yet again.
  • Updated tiered food to have less pushability the higher the tier.
  • Updated the Dread V2 Photosphere to match Arras.io.

Fixes

  • Fixed TDM with 4 teams or more overwriting other team bases.
  • Fixed the screen wandering to the bottom right when an error occurs.
  • Fixed transparent tanks being pixelated.
  • Fixed guns not accepting RGB COLORs.
  • Fixed guns spawning bullets slightly further than where their gun barrel ends.
  • Fixed entities being slightly larger than their hitboxes.
  • Fixed being able to send messages while loading into the game.
  • Fixed color changes occasionally error-ing the client.
  • Fixed entity colors not working on the leaderboard.
  • Fixed Entity.say() doing literally nothing.
  • Fixed Reverse Tank persisting between deaths.
  • Dozens of minuscule code changes that don't need individual mentions.

v1.0.0-beta.11.1

30 Dec 23:45
Compare
Choose a tag to compare
v1.0.0-beta.11.1 Pre-release
Pre-release

Fixes

  • Entities of type satellite now go through walls.
  • Portal tiles now also teleport satellite projectiles too when the master goes through.
  • io_disableOnOverride has been updated to make use of the Entity.pacify property, which sets Entity.damage to 0 when true in Entity.refreshBodyAttributes().
  • Updated Overdrive to match Arras.io.

v1.0.0-beta.11

24 Dec 13:13
Compare
Choose a tag to compare
v1.0.0-beta.11 Pre-release
Pre-release

There's still a few bugs left to squash - but we're pretty much ready for the next release!

Additions

  • Added Desmos and the rest of its branch. (Including Volute!)
    • Their wavy bullets are currently a bit janky, but it’s better than nothing.
  • Added Whirlwind to the testing menu.
    • Featuring working satellites!
  • Added Rocketeer.
  • Added Shaman, the Hexagon Mystical.
    • Because why not?
  • Added Atlas and Rhea, two leaked celestials.
  • Added a new default addon that makes the game spawn Labyrinth polygons. (disabled by default)
  • Added Sanctuaries.
  • Added a few new default functions:
    • makeBird adds a bird thruster to the back of a tank. (like the Falcon/Eagle/Phoenix/Vulture)
    • makeMutli lets you effortlessly make flank tanks.
  • Added the remaining Arras.io themes that weren't included in the template yet.
  • Upgrades options can now have custom labels, custom background colors, and tooltips.
    • You'll notice this in the dev menu, as the bosses now have their own background colors.
  • Added dev bosses for DogeIsCut and Trioplane.

Fixes

  • Adjusted Bulwark’s trap launchers to match Arras.io.
  • Labyrinth polygons are now properly sized.
  • You can now change Basic's name to something else.
  • Reverse Tank no longer inverts drone controls.

Changes

  • Room rework.
  • Improved Siege.
    • Now has Sanctuaries instead of Dominators.
    • Improved notifications.
    • Healer is now on Tier 2 instead of 1.
  • Sidewinder now upgrades from Volute instead of Launcher.
    • Because that’s what damo’s planning, apparently.
    • Rocketeer will take its place in Launcher’s upgrades.
  • Reworked the dev menu. Again.
    • The contents in the Tools menu have been moved to the root directory.
    • Moved the Fun/Testing tanks to their own menu in the root directory.
    • Reorganised the Tanks menu.
    • Added a new section to the Tanks menu for tanks that aren't available at the current moment. This currently contains the Healer.
  • Begun work on changing numeric colour ids to alphanumeric ids. (e.g. 16 => "grey")
    • Most instances in definitions/groups have been updated.
  • The legacy/scrapped tanks have been moved to a separate addon. (not included by default)
  • OSA now requires Node.js version 18.
  • Removed the leftover definitions.js file.

v1.0.0-beta.10

28 Oct 19:55
Compare
Choose a tag to compare
v1.0.0-beta.10 Pre-release
Pre-release
  • Added a new System for Split Upgrades (like in Scenexe):

    • Tanks and upgrades can be defined as an array of strings.
    • Every definition contributes its guns, body stats, turrets, upgrades, and other things.
    • Each definition can be upgraded separately. (e.g. Assassin-Twin -> Assassin-Bulwark)
    • Upgrades can be batched with BATCH_UPGRADES, listing every combination and forcing all branches to be upgraded at the same time.
    • Upgrade branches can have labels with BRANCH_LABEL.
    • Client-side upgrade limit raised from 32 to 100.
  • Added a way better upgrade tree.

    • Move in all 4 directions with arrow keys.
    • Hold SHIFT to move faster.
    • Support for theoretically infinite tiers.
    • Visually upgraded.
    • Has tank labels.
  • Updated the Chatbox.

    • Added the option to press ESC to close the chat input.
    • Added the ability to close the chat input with ENTER if you didn't write any text.
  • Added GPL-3.0 as the license.

  • Added upgrade paths for healer tank.

  • Added UPGRADE_LABEL entity attribute, which overrides the LABEL for the upgrade picker.

  • Added load time statistics for definitions loading, addon loading and mockup generation.

  • Added a color cache for modifyColor.

  • Added more statnames.

  • Reworked the dev menu.

  • Moved generic client-side color-related functions to gameDraw.js.

  • Made a better fix for adding healer tank to basic's upgrade list if the gamemode is siege.

  • Made Sphere shine.

  • Improved client-side turret rendering.

  • Improved FOV to be similar to how arras.io's FOV changes as you grow.

  • Fixed complex food (Relics and Laby shapes) shapeshifting when spinning.

  • Fixed healer-tanks' stat names.

  • Fixed an error related to controllers resetting.

  • Fixed an error related to combineStats' backwards compatibility.

  • Fixed more mistakes that don't really matter.

  • Fixed a Manhunt related crash.

  • Fixed a crash related to modifyColor.

  • Minor default-configuration changes.

v1.0.0-beta.9.1

01 Oct 17:48
Compare
Choose a tag to compare
v1.0.0-beta.9.1 Pre-release
Pre-release

Fixed healer being always available.
Thanks, @Trioplane

v1.0.0-beta.9

01 Oct 17:34
Compare
Choose a tag to compare
v1.0.0-beta.9 Pre-release
Pre-release
  • Added SANITIZE_CHAT_MESSAGE_COLORS config variable, which sanitises player messages before they get added to the dictionary of chat messages.

  • Added recoilReceived multiplier to StatusEffect.

  • Added permanent to io_zoom, which auto-zooms.

  • Added a 256-character message length limit to basicChatModeration.js.

  • Entity.define() now emits a "define" event.

    • Does not fire for PARENT definitions.
    • Can be stopped by setting the second argument of the entity.define() call to false.
  • Added REROOT_UPGRADE_TREE entity attribute, which sets the root of the tree to itself and rerenders the tree.

  • Added BOT_SKILL_UPGRADE_CHANCES config variable, which determines how likely player-bots are to pick each skill upgrade.

  • Added Dreadnought V2 (with a Hexagon Tier) as a default addon that comes with the template.

    • Because of how long it takes to load the huge amount of entities, it is disabled by default.
  • Reworked STAT_NAMES entity attribute.

    • It's now an object with the following optional attributes: BODY_DAMAGE, MAX_HEALTH, BULLET_SPEED, BULLET_HEALTH, BULLET_PEN, BULLET_DAMAGE, RELOAD, MOVE_SPEED, SHIELD_REGEN and SHIELD_CAP.
    • The values are strings, and they determine the name of the stat in the skill upgrade menu at the bottom left.
  • Fixed the killed entities counters in the death screen being just completely wrong altogether.

  • Fixed (un)dead entities being kept alive against their will when being touched by walls or rocks.

  • Fixed some entities appearing with a gray bar in the leaderboard.

  • Fixed a crash bug related to resetting IOs but keeping io_listenToPlayer.

  • Fixed a crash bug related to trying to visit nonexistant webpages.

  • Improved TURRET_FACING_CLIENT.

    • Now it just matches the master's angle.
  • Resized entity borders to match Arras.

  • Removed lib/definitions.js because it causes confusion to new people trying to pick up APS++.

v1.0.0-beta.8.1

23 Sep 16:02
8fc32e6
Compare
Choose a tag to compare
v1.0.0-beta.8.1 Pre-release
Pre-release

Fixes

  • Fixed a bug that made IOs from bosses transfer over if you were a boss and you changed to Developer.

v1.0.0-beta.8

23 Sep 15:39
Compare
Choose a tag to compare
v1.0.0-beta.8 Pre-release
Pre-release

Additions

  • Added color support for drawText().

    • You can add color tags to text that gets rendered.
    • A color tag consists of a section sign (§) at each end, with a "color value" in the middle.
    • You can have a color tag with nothing in it (§§) and it will render the section sign normally.
    • A color tag does not get rendered and makes text after it have a specific color.
    • A valid color value can either be a "color code", exactly like the ones you see in definitions COLOR: 3.
    • It can also be a CSS Color Value.
    • And if you want it to reset to the "default color", then you can set it to reset.
    • Example which makes "World" the animated trans color: Hello §37§World§reset§!
    • Example which makes "Gradient" in the gradient colors from red to yellow: §#ff0000§G§#ff2000§r§#ff4000§a§#ff6000§d§#ff8000§i§#ff9f00§e§#ffbf00§n§#ffdf00§t
    • NOTE: As a side effect of this feature, rendered text may be moved by SOME PIXELS in slightly different spots, but it should hardly be noticable.
    • Gradient support could be added as soon as it is figured out how to represent them in text.
  • Added a simple status effect system.

    • Added StatusEffect as a globally accessible class.
    • Arguments: duration (number, required), effects (object, optional), tick (function, optional)
    • duration: effect duration where 30 equals 1 second.
    • multipliers: key-number object with the following (optional) attributes: acceleration, topSpeed, health, shield, regen, damage, penetration, range, fov, density, stealth, pushability, size.
    • tick: function with the entity the effect is on as the argument.
    • StatusEffects should be set with Entity.addStatusEffect(StatusEffect).
    • If an entity gets a new status effect, the newStatusEffect event is emitted with the StatusEffect in the callback as the argument.
    • If a status effect expires, the expiredStatusEffect event is emitted with the StatusEffect in the callback as the argument.
    • multipliers multiplies the body attributes by their number. (example: { fov: 2 } doubles your fov)
    • tick runs once a game tick if the entity is activated.
    • Multiple StatusEffects can stack seamlessly.
    • For an example of an addon that uses StatusEffects, check out the Effect Roller Addon.
  • Added ON_FIRE gun attribute, which runs the given function when the gun fires.

    • Function argument: An object with these attributes: body, gun, masterStore, gunStore
    • body is the entity that the gun belongs to. (If the gun is on a turret, it picks the turret's master instead)
    • gun is the gun itself.
    • masterStore is a storage object that persists between ON_FIRE function calls.
    • gunStore is a storage object like masterStore, but it belongs to the gun instead of the master.
    • For an example implementation, check out "Switcheroo" in the Fun menu.
  • Added LEVEL_CAP entity attribute, which overwrites c.LEVEL_CAP specifically for that entity.

  • Added REPL_WINDOW to config.js.

    • false by default, if set to true, allows you to type js code in your terminal window and execute it.

Fixes

  • Guns now have an unique id, like Entitys.

  • Fixed an object reference bug related to Gun.settings.

  • Fixed io_wanderAroundMap's lookAtGoal setting to actually look at the goal instead of staring at the bottom right.

  • Fixed switching to Developer class resetting your score/level.

    • RESET_UPGRADES now only resets your stat upgrades, returning your points.
    • RESET_UPGRADES happens when you press the dev key.
    • RESET_UPGRADES is not on "Developer" anymore.
  • Fixed the issue with io_nearestDifferentMaster and dominators.