Sam
4cdf081a40
Removed potential for accessing OOB index and panicking in animations for combo melee.
...
Made only entities with a character state component emit a death outcome on death.
2021-06-29 06:20:26 -05:00
Sam
1978b590aa
Destringified consumables
2021-06-29 05:59:02 -05:00
Snowram
3ec5306ed0
Adds an outcome to death with SFX and VFX
2021-06-29 00:14:05 +02:00
Ben Wallis
9865b354f9
Merge branch 'xvar/fix-plugin-build-warnings' into 'master'
...
Fixed build warnings for server-cli related to non-default plugin feature
See merge request veloren/veloren!2506
2021-06-26 21:35:54 +00:00
Ben Wallis
a50ed6b50a
Fixed build warnings for server-cli related to non-default plugin feature
2021-06-26 21:56:03 +01:00
Avi Weinstock
af22f56f9e
Rename remove_warlock_warlord
migration so it actually triggers.
2021-06-26 16:28:49 -04:00
Daan Vanoverloop
0076b8379c
Fixing #1169 - use strum macros for BlockKind conversion
2021-06-26 17:52:32 +02:00
Snowram
ef6d6563ea
Ajust new npcs from feedback
2021-06-25 03:26:32 +02:00
Snowram
d7f25627ab
Ajustments to new npcs
2021-06-24 19:31:21 +02:00
Snowram
8760b69345
Husk brute animations
2021-06-24 19:31:19 +02:00
Snowram
58b95d12d4
Adds alpaca and llama npcs
2021-06-24 19:30:15 +02:00
Snowram
fef0f407d3
Removes warlord and warlock armours
2021-06-24 19:30:11 +02:00
Sam
68c6a0a495
Balance tweaks for harvester.
2021-06-23 22:38:16 -05:00
Sam
c162827f97
Harvester AI
2021-06-23 22:38:16 -05:00
Sam
763461ebef
Ensnaring vines now ensnare you.
2021-06-23 22:38:16 -05:00
Sam
ed503236d6
Slightly functional sprite summon.
2021-06-23 22:38:16 -05:00
Marcel
b0574b4ddc
Merge branch 'imbris/tracy' into 'master'
...
Refactor Client message handling, improve use of tracy, increase coverage of profiling spans in voxygen
See merge request veloren/veloren!2479
2021-06-20 23:17:08 +00:00
Christof Petig
79d7e79776
Accelerate econsim using arrays instead of hashmaps
2021-06-20 16:00:37 +00:00
Imbris
659b42e813
Remove tracy features that are no longer needed now that macros have been fixed
2021-06-19 04:27:50 -04:00
juliancoffee
573607c32a
Nerf golem laser dmg and ori_rate, make it fire
...
+ Make laser state duration lower
2021-06-19 10:47:45 +03:00
juliancoffee
36fa8bf4f7
Use Golem Shockwave only after loosing 30% health
...
+ Make shockwave buildup longer
2021-06-18 22:32:43 +03:00
Joshua Barretto
294b6e394a
Renamed command event
2021-06-18 11:31:06 +01:00
Joshua Barretto
96cbf60c3f
Made commands a distinct ClientMsg to avoid possible sanitisation problems for clients
2021-06-17 19:55:21 +01:00
DaforLynx
9a5b95bc16
Added npc hurt sfx
2021-06-17 05:49:09 +00:00
jshipsey
0941f03608
buffs to stretch progression
2021-06-16 20:50:46 -04:00
Joshua Barretto
b8749dc219
Added more cow noises, prepare for merge
2021-06-16 17:23:54 +01:00
Joshua Barretto
9510869870
Significantly more efficient sound effect processing, more NPC sounds
2021-06-16 17:23:22 +01:00
Joshua Barretto
e3c44ba7fe
More voice kinds, more opportunities for sounds
2021-06-16 17:23:22 +01:00
Joshua Barretto
0ef29a6989
VoiceKind for better sound effect specs
2021-06-16 17:23:22 +01:00
Joshua Barretto
559311e1b0
Chasing sounds
2021-06-16 17:23:22 +01:00
Snowram
8351aab25d
Addresses comments about roc AI
2021-06-15 09:50:23 +02:00
Snowram
f2c7836161
Makes summon range inclusive
2021-06-15 09:49:13 +02:00
Avi Weinstock
cb0566299a
Make tornado (and empty models in general) work on WGPU.
2021-06-15 09:49:13 +02:00
Snowram
3ba0500b90
Tornado summoning attack
2021-06-15 09:49:13 +02:00
Snowram
97ce50e5d4
Add troll variants and roc npcs
2021-06-15 09:49:13 +02:00
Marcel
4cafdb3bfd
Merge branch 'aweinstock/mining-skill-tree' into 'master'
...
Mining skill tree.
See merge request veloren/veloren!2406
2021-06-14 14:19:06 +00:00
Marcel
b0702d792a
Merge branch 'juliancoffee/asset_entity' into 'master'
...
EntityInfo assetization.
See merge request veloren/veloren!2382
2021-06-14 12:56:28 +00:00
Monty Marz
45f79059d0
mining exp sct color and icon; add mining to skill_preset
2021-06-13 14:34:42 -04:00
Avi Weinstock
9d4a65e8ac
Adjust mining xp numbers and add SkillGroupKind information to Outcome::ExpChange.
2021-06-13 14:34:42 -04:00
Monty Marz
01a04a80fa
icons and naming
2021-06-13 14:34:42 -04:00
Avi Weinstock
0e394029de
Mining skill tree.
2021-06-13 14:34:42 -04:00
Marcel Märtens
4167621f5d
Change the version number to 0.10
2021-06-12 10:14:07 +02:00
Forest Anderson
f578c56db7
Merge branch 'juliancoffee/small_fixes' into 'master'
...
Ranged, Tidal Warrior, spears, assets
See merge request veloren/veloren!2416
2021-06-11 17:46:56 +00:00
juliancoffee
6c11aa80e0
adjust staff firebomb
2021-06-11 15:41:38 +03:00
juliancoffee
5084548b53
Add warnings about non-existent items in /kit
2021-06-11 01:33:47 +03:00
Marcel Märtens
005f528e25
fix tracy-server compilation via cargo tracy-server
2021-06-09 17:17:37 +02:00
juliancoffee
0c9f05b8d1
Load skillsets from assets
...
Done:
support loading from assets in skillset_builder.rs
entity_config field with skillset asset field
move every SkillSet config to assets
tests for skillset assets
tests for assets in entity configs
2021-06-09 15:37:04 +03:00
juliancoffee
c3a120c551
Post refactoring
2021-06-09 15:37:04 +03:00
juliancoffee
5f3eaddb70
Split LodoutBuilder::build_loadout
...
LoadoutBuilder::build_loadout is a function which has four parameters
and 3 of them are Option<>, and although fourth (body) isn't Option<>,
it's optional too because it is used only in some combinations of
another arguments.
Because these combinations produces quirky code flow, it will be better
to split it to different methods.
So we did following changes to remove it and rewrite code that was using it
to use better methods.
* Introduce LoadoutPreset as new LoadoutConfig, currently it's only used
in Summon ability, because SummonInfo uses Copy and we can't specify
String for specifying asset path for loadout.
Everything else is rewritten to use asset path to create loadouts.
* More builder methods for LoadoutBuilder.
Namely:
- from_default which is used in server/src/cmd.rs in "/spawn" command.
- with_default_equipment, with_default_maintool to use default
loadout for specific body
- with_preset to use LoadoutPreset
* Add new make_loadout field with `fn (loadout_builder, trading_info) -> loadout_builder`
to EntityInfo which allows to lazily construct loadout without
modifying LoadoutBuilder code
* Fix Merchants not having trade site
We had heuristic that if something has Merchant LoadoutConfig - it's
merchant, which can be false, especially if we create Merchant loadout
lazily
As side note, we do same check for Guards and it fails too.
Too fix it, we introduce new agent::Mark, which explicitly specifies
kind of agent for entity
* `LoadoutBuilder::build_loadout` was written in a such way that depending
on main_tool you will have different loadout. Turns out it was this
way only for Adlets though and this behaviour is reproduced by specifying
different loadouts directly in world code.
2021-06-09 15:37:04 +03:00
juliancoffee
aad65c6159
Move traveler loadout declaration to asset
...
* New loadout/world/traveler.ron file to specify traveler loadout
* LoadoutBuilder::with_asset_expect now can use passed rng to choose
items
2021-06-09 15:37:03 +03:00
Marcel
7e8bebdfa1
Merge branch 'xMAC94x/hashbrown' into 'master'
...
switch to hashbrown 0.11 and specs 0.16.2
See merge request veloren/veloren!2390
2021-06-07 14:31:58 +00:00
jshipsey
acf9111141
mig fix
2021-06-07 08:32:59 -04:00
Marcel Märtens
7185dcee68
switch to hashbrown 0.11 and specs 0.16.2
2021-06-07 13:01:01 +02:00
Marcel
f2eedf81f4
Merge branch 'imbris/648-cleanup' into 'master'
...
Make handling of shortcut keywords for commands clearer and revise a TODO...
Closes #648
See merge request veloren/veloren!2387
2021-06-07 10:27:54 +00:00
jshipsey
4deeb42155
cave adjustments
2021-06-07 11:02:34 +02:00
jshipsey
9034d0f25d
comment addressing, cave tweaks
2021-06-07 11:01:46 +02:00
jshipsey
5fdb2ac01d
migration
2021-06-07 11:01:04 +02:00
jshipsey
8acd3832e3
more loot tables, overworld ores, more items
2021-06-07 11:00:00 +02:00
jshipsey
1c17d8fe5e
cave changes
2021-06-07 10:59:44 +02:00
Sam
6790b71d53
Energy recovery stat functional.
2021-06-07 10:58:32 +02:00
jshipsey
18e9b5b890
recipes, re-organization, cleanup
2021-06-07 10:58:05 +02:00
jshipsey
1b575a5a04
crafting item partial re-organization, armor recipes, some specific animal drops
2021-06-07 10:56:35 +02:00
jshipsey
ffc9a0ae22
more drops, armors
2021-06-07 10:56:16 +02:00
jshipsey
ca907f1b87
added some meat
2021-06-07 10:55:34 +02:00
Imbris
0b92c72096
Make handling of shortcut keywords for commands clearer and revise a TODO related to how chat messages are stored and renamed with alias changes
2021-06-06 23:45:51 -04:00
Marcel
521e1eacf3
Merge branch 'aweinstock/add-models-20210603' into 'master'
...
Add Basilisk and Cyclops models by Gemu, and AirBalloon model by SarraKitty.
See merge request veloren/veloren!2371
2021-06-06 16:56:21 +00:00
Sam
acf7ad27f1
Balance tweaks.
2021-06-05 17:15:04 -05:00
Sam
74b7039219
Yeti AI
2021-06-05 13:25:47 -05:00
Sam
81f7e690fd
Snowball attack.
2021-06-04 18:17:15 -05:00
Sam
5bf99eac11
Added totem ability, totem ai, totem ability set, particles for totem abilities, and totem voxel model.
2021-06-03 21:39:15 -05:00
Sam
ac2f097d80
Tidal warrior AI.
2021-06-03 21:39:14 -05:00
Avi Weinstock
05c699878f
Add Basilisk and Cyclops models by Gemu, and AirBalloon model by SarraKitty.
2021-06-03 19:24:34 -04:00
Samuel Keiffer
d235e98efe
Merge branch 'aweinstock/agent-pid' into 'master'
...
Implement PID controllers and use them to stabilize Agent airship flight.
See merge request veloren/veloren!2356
2021-06-02 23:15:08 +00:00
Marcel
f988584337
Merge branch 'revert-c6e200a3' into 'master'
...
Add a configuration Option to opt-in Quic backend
See merge request veloren/veloren!2318
2021-06-02 14:27:13 +00:00
Imbris
23eca4c3f6
Re-disable incremental just for common-systems, small fix in plugin
...
crate, more new clippy fixes
2021-05-31 20:44:57 -04:00
Imbris
48ebb10d50
Update toolchain
2021-05-31 20:44:57 -04:00
Avi Weinstock
e09ae8ad83
Address MR 2356 comments.
2021-05-30 13:36:25 -04:00
Avi Weinstock
8b20175b6e
Implement PID controllers and use them to stabilize Agent airship flight.
2021-05-30 13:36:25 -04:00
Sam
01f82314dc
Fixed a few oddities with the AI
2021-05-26 21:34:21 -05:00
Sam
b826d5cb2b
Fixed exp splitting in inactive equip slots.
2021-05-26 21:13:16 -05:00
Sam
42c8c08145
Fixed bow AI
2021-05-26 20:53:29 -05:00
Justin Shipsey
d7c7f6bf5d
Merge branch 'sam/rework-bow' into 'master'
...
Bow Rework
See merge request veloren/veloren!2310
2021-05-26 04:44:09 +00:00
Jonathan Berglin
f5ed77184b
Extract 'get_inviter_and_kind' method from 'handle_invite_decline' and...
2021-05-25 20:34:46 +00:00
Avi Weinstock
624f8796bd
Fix mindflayer tactic to make it shoot purple fireballs again.
2021-05-22 20:35:21 -04:00
hqurve
854930bc1a
Item pickups are shown in separate window and "inventory-full" messages are shown above the item attempted to be picked up
2021-05-22 20:47:08 +00:00
Ludvig Böklin
46d1bb5f18
Adjusted masses; less excessive knockbacks; prevent loot shooting off
2021-05-22 17:56:13 +00:00
Sam
f993f28eff
Various tweaks.
2021-05-22 12:41:47 -05:00
juliancoffee
ca6266e780
Fix skill presets, add tests
2021-05-22 12:33:22 -05:00
Sam
1014ac45bf
Made new skills for reworked bow.
...
Created migration to reset bow skills.
2021-05-22 12:33:21 -05:00
Samuel Keiffer
a0599ac046
Merge branch 'sam/extra-equip-slots' into 'master'
...
Added Extra Loadout Slots
See merge request veloren/veloren!2295
2021-05-21 20:28:53 +00:00
Marcel Märtens
cf3188b412
remove Protocol from Quic, cleanup code, fix some log spam
2021-05-21 10:41:19 +02:00
Marcel
99304ffddd
Revert "Merge branch 'sharp/revert-quinn' into 'master'"
...
This reverts merge request !2315
2021-05-21 10:41:16 +02:00
James Melkonian
27885e00b2
Allow NPCs to path towards far away enemies
2021-05-21 03:14:45 +00:00
James Melkonian
b076fb7baa
Small cockatrice AI fixes
2021-05-17 22:46:50 +00:00
Joshua Yanovski
3679cb75bc
Revert "Merge branch 'xMAC94x/quic_enablement' into 'master'"
...
This reverts commit 04d8ddf25e
, reversing
changes made to 9dcf7a9d26
.
2021-05-17 08:32:12 -07:00
Marcel
04d8ddf25e
Merge branch 'xMAC94x/quic_enablement' into 'master'
...
Add a configuration Option to opt-in Quic backend
See merge request veloren/veloren!2268
2021-05-17 12:02:55 +00:00
Sam
9173dca03f
Added equip slots for other weapons.
2021-05-15 15:16:37 -05:00
holychowders
d5f3ba77d4
Make NPCs Aware of Sound - See Issue #913
2021-05-15 19:36:27 +00:00
Marcel
7d5ca0e7bf
Revert "Merge branch 'snowram/hacky-mount' into 'master'"
...
This reverts merge request !2219
2021-05-14 13:43:20 +00:00
Snowram
e4f3064b8a
Collar can make QuadMeds mountable, state + offsets
2021-05-14 00:11:15 +02:00
James Melkonian
4d4bc132f4
Campfires can set things on fire and water puts it out
2021-05-13 05:34:51 +00:00
Joshua Yanovski
3869cdf1d2
Don't remesh chunk vertex data on sprite update.
...
This results in an extremely visually noticeable improvement in latency
when adding or removing sprite data and makes the game feel more
responsive.
This happens, for instance, when picking up a sprite like an apple or
flower from the environment. We check to make sure that for items
with lighting (like Velorite) or changes that otherwise affect meshing
(like changing from fluid to nonfluid) this doesn't trigger.
2021-05-11 12:58:15 -07:00
James Melkonian
f76b61ac17
Make merchants /tell instead of /say
2021-05-11 17:26:22 +00:00
Sam
7f6c6c5603
Fixed offsets for laser and rocket attacks of clay golem.
2021-05-10 18:54:04 -05:00
Sam
0d53e790fd
Made golem laser spawn based off of orientation rather than look_dir. Additional balance tweaks.
2021-05-10 18:54:00 -05:00
Sam
fca56be4c0
Balance tweaks
2021-05-10 18:53:52 -05:00
Sam
58e5b1fdf5
AI tweaks.
2021-05-10 18:53:49 -05:00
Snowram
47a2bf7de8
Adds haniwa sentry object
2021-05-10 18:53:48 -05:00
Sam
c67c56d194
Dungeon placement. Tweaks to melee.
2021-05-10 18:53:47 -05:00
Sam
9f8aeb91c0
Added armor, more ai tweaks.
2021-05-10 18:53:46 -05:00
Sam
1c8db241e2
Golem AI
2021-05-10 18:53:43 -05:00
Marcel Märtens
b443e4dd31
Add Quin support, as this is not yet very much tested it needs to be activated in the settings of SERVER and CLIENT.
...
Server:
provide a certificate file and key file via the settings. When provided it will then listen on TCP and QUIC, if not provided it will be TCP only.
The certificate must be known by the client, so you might get problems with self-signed certificates.
```ron
quic_files: Some((
cert: "/home/user/veloren_cert.pem",
key: "/home/user/veloren_key.key",
)),
```
Client:
activate the voxygen settin `use_quic: true` to try to connect to the quic backend of a server.
2021-05-10 12:59:13 +02:00
Joshua Yanovski
0cf0f59fa7
Merge branch 'sharp/modtools' into 'master'
...
Added non-admin moderators and timed bans.
See merge request veloren/veloren!2276
2021-05-10 04:54:06 +00:00
Joshua Yanovski
e7587c4d9d
Added non-admin moderators and timed bans.
...
The security model has been updated to reflect this change (for example,
moderators cannot revert a ban by an administrator). Ban history is
also now recorded in the ban file, and much more information about the
ban is stored (whitelists and administrators also have extra
information).
To support the new information without losing important information,
this commit also introduces a new migration path for editable settings
(both from legacy to the new format, and between versions). Examples
of how to do this correctly, and migrate to new versions of a settings
file, are in the settings/ subdirectory.
As part of this effort, editable settings have been revamped to
guarantee atomic saves (due to the increased amount of information in
each file), some latent bugs in networking were fixed, and server-cli
has been updated to go through StructOpt for both calls through TUI
and argv, greatly simplifying parsing logic.
2021-05-09 21:19:16 -07:00
Avi Weinstock
abcb6f34a3
Remove the dependency of the new mindflayer AI on action_state.timer
.
2021-05-09 21:16:57 -04:00
Avi Weinstock
1ae105125d
Change agent's condition
field back to a bool (from bitflags) and add a separate int_counter
field.
2021-05-09 18:09:53 -04:00
Avi Weinstock
1dfcdce1c0
Add a purple fireball to mindflayer and have it shoot it a few times before teleporting, and fix mindflayer AI's husk summons.
2021-05-09 18:09:31 -04:00
Illia Denysenko
1c22a2b3fd
/skill_preset command
2021-05-08 15:47:09 +00:00
Samuel Keiffer
a2999ce96f
Merge branch 'aweinstock/damage-types' into 'master'
...
Add `DamageKind`, and make piercing damage partially ignore damage resistence.
See merge request veloren/veloren!2262
2021-05-06 22:22:49 +00:00
Avi Weinstock
e4cda4309e
Add DamageKind
, and make piercing damage partially ignore damage resistence.
...
- Tweak bow/staff M1 stats.
2021-05-06 17:39:06 -04:00
James Melkonian
346eb48a27
Move weapon tactics to functions and take target body into attack radius consideration
2021-05-06 21:17:05 +00:00
Daniel Mizerski
3197bcd12a
(Wiring) Logic - make wiring turing complete
2021-05-06 19:53:12 +02:00
Marcel
91f76d3b00
Merge branch 'xMAC94x/fixDisconnectMetrics' into 'master'
...
instead of manually trying to sync disconnect metrics we now pass a Reason to...
See merge request veloren/veloren!2259
2021-05-06 11:32:37 +00:00
Marcel Märtens
8196fd8b35
instead of manually trying to sync disconnect metrics we now pass a Reason to the handle_disconnect.
...
There we make sure that the disconnect only happens once and decrease the respective Metrics.
Also added more reasons
2021-05-06 11:43:10 +02:00
Marcel
efed14ccf9
Merge branch 'duelsik/wiring-on-death' into 'master'
...
(Wiring) OnDeath
See merge request veloren/veloren!2256
2021-05-06 09:00:50 +00:00
Illia Denysenko
2c14f59a35
Don't drop Debug item with /dropall
2021-05-05 20:35:57 +00:00
Daniel Mizerski
b34704ea3f
(Wiring) OnDeath
2021-05-05 19:08:18 +02:00
Daniel Mizerski
a2a0329440
(Wiring) Switch to using maybes
2021-05-05 16:59:17 +02:00
Marcel Märtens
6e3a74b476
rayon::join creates a global threadpool, which is only used in /world
...
instead just use the same threadpool for everything
helps with debugging problems with GDB
using threadpool.install() to also be used when `into_par_iter()` is called
2021-05-04 21:06:07 +02:00
Samuel Keiffer
fb940ad27a
Merge branch 'sam/minotaur' into 'master'
...
Overhauled Minotaur
See merge request veloren/veloren!2193
2021-05-04 16:26:08 +00:00
Imbris
217502d516
Merge branch 'duelsik/wiring-sticky-trigger' into 'master'
...
(Wiring) Change Sticky to be handled by physics (but with disabled force on it)
See merge request veloren/veloren!2241
2021-05-04 16:15:19 +00:00
Daniel Mizerski
f1681f465f
(Wiring) Change Sticky to be handled by physics (but with disabled force on it)
2021-05-04 17:33:42 +02:00
Sam
062c290e49
Made buff commands exhaustive
2021-05-04 09:54:28 -04:00
Sam
2652660a58
Addressed comments and more testing feedback.
2021-05-04 08:45:14 -04:00
Sam
240a8e577d
Minor balancing tweaks.
2021-05-04 08:45:13 -04:00
Sam
5c241850f1
Added sfx. Addressed comments.
2021-05-04 08:45:12 -04:00
Sam
2290a22a15
Gave minotaur AI.
2021-05-04 08:45:09 -04:00
Sam
811f1fadb2
Replaced action_timer with action_state so there are additional fields.
2021-05-04 08:45:09 -04:00
Marcel
3c16966721
Merge branch 'xMAC94x/quic' into 'master'
...
Cleanup network, remove some unwraps, add experimental (disabled) Quic support
See merge request veloren/veloren!2221
2021-05-04 00:16:05 +00:00
juliancoffee
88ac70c8c7
fmt
2021-05-03 22:17:59 +03:00
juliancoffee
4ba6d438ff
Implement 'all' command
2021-05-03 22:07:12 +03:00
juliancoffee
b81981f805
Draft implementation
2021-05-03 22:07:09 +03:00
Marcel
f5c7f99846
Merge branch 'xvar/persistence-fixes' into 'master'
...
Fixed a rare server crash when creating a character
See merge request veloren/veloren!2237
2021-05-03 18:09:59 +00:00
Samuel Keiffer
610c529c42
Merge branch 'sam/ability-sets' into 'master'
...
Allow Specification of Custom Ability Sets per Weapon
See merge request veloren/veloren!2231
2021-05-03 17:50:11 +00:00
Avi Weinstock
be39054767
Make terrain compression a checkbox instead of a bandwidth (throughput?) heuristic.
2021-05-03 00:09:44 -04:00
Avi Weinstock
b15913560b
Optimize CompressedData
with Vec::with_capacity
, and move obsolete formats from common_net
into the compression benchmark.
2021-05-03 00:09:24 -04:00
Avi Weinstock
c199d12f2d
Address MR 2207 review comments.
...
- Add metrics for which branch of the compression heuristic was taken.
- Reduce the threshold for the heuristic.
- Deduplicate code for dealing with lazy messages.
- Make jpeg dependency only scoped to the compression benchmark.
- Remove commented code.
2021-05-03 00:09:24 -04:00
Avi Weinstock
30cae40b82
Add a bandwidth-based heuristic for chunk compression.
2021-05-03 00:09:24 -04:00
Avi Weinstock
cdc2eccda8
Improve quadpng
by adding WidePacking
, which makes a wider image, which is faster due to PNG compressing by row. Heuristically switch between quadpng and deflate based on chunk height to reduce variance.
2021-05-03 00:09:24 -04:00
Avi Weinstock
f81539cb00
Get PngPngPngJpeg terrain working in the actual game.
2021-05-03 00:09:24 -04:00