Commit Graph

1034 Commits

Author SHA1 Message Date
Sam
efbc5f9b75 UI notifying player that their skillset has been invalidated. 2022-01-03 19:55:06 -05:00
Sam
27dd7b4391 Refactored skills code. 2022-01-03 19:55:01 -05:00
Imbris
b255f0ee0f put Client::tick_network function behind feature, remove unnecessary cloning of deleted entity vecs in entity sync, move prepare_send hack that avoids locking during message serialization from send_fallible to send, add job.cpu_status par mode adjustment around parallel section 2021-12-26 12:04:08 -05:00
Imbris
6547a6bf5e Parallelize entity sync loop over regions. 2021-12-25 19:24:12 -05:00
Imbris
bf48bd5346 update toolchain to nightly-2021-12-19 2021-12-23 13:04:24 +01:00
Joshua Barretto
e3203080ed Added Calendar for temporal events based on the real-world calendar 2021-12-20 18:03:52 +00:00
Ben Wallis
9a4e6b81d3 Merge branch 'Character-editting' into 'master'
Character editing

See merge request veloren/veloren!3059
2021-12-20 15:24:43 +00:00
Dr. Dystopia
3a52599e49 Clean up 2021-12-15 21:55:53 +01:00
Dr. Dystopia
408fe1e6b6 Begin creating character editing 2021-12-13 01:13:33 +01:00
holychowders
b40d94dd53 Re-allow and improve fleeing. 2021-12-07 20:18:03 -06:00
Jonathan Berglin
596307c9b7 Remove unused clippy suppressions 2021-12-05 17:59:02 +00:00
Marcel
3fa2dab3aa Merge branch 'xMAC94x/update-toolchain' into 'master'
xMAC94x/update toolchain

See merge request veloren/veloren!3027
2021-11-26 16:52:51 +00:00
James Melkonian
ab99126a7b Floor merchant cost percentages and display as whole numbers 2021-11-25 01:32:20 +00:00
Marcel Märtens
ef40ebe0c8 update toolchain to nightly-2021-11-24 2021-11-24 10:09:22 +01:00
Ben Wallis
022c1417b6 EXP on kill is now shared between damage contributors. A "damage contributor" is either an individual entity, or a group - depending if the attacker is in a group. This means that not only does the "killing blow" no longer get 100% of EXP, but multiple groups and individuals all receive their fair share of EXP on death (assuming they are still within range of the entity when it dies).
Damage from a given individual or group only counts towards a kill for 10 minutes since that individual or group's last damage to the entity - after this period their damage contribution is removed. This avoids the list of damage contributors growing excessively large for an entity that does a lot of combat but never dies.

EXP sharing within groups is unchanged - the difference is simply that the input to this calculation may be less than 100% of the base EXP reward for the kill if other individuals or groups contributed damage.
2021-11-13 20:46:45 +00:00
Sam
040d70c750 Final fixes. 2021-11-11 23:11:17 -05:00
Sam
a288f9ee43 Addressed further review. 2021-11-11 22:37:37 -05:00
Sam
dfcb8c8519 Addressed review feedback. 2021-11-11 18:10:22 -05:00
Sam
b678f7f46e Added some client methods for changing abilities to hook into. 2021-11-11 01:55:32 -05:00
Sam
4309e1ff9b Did voxygen stuff for ability pool. 2021-11-09 21:20:41 -05:00
Marcel
bcba2aae7e Merge branch 'juliancoffee/fix_testserver' into 'master'
Make test-server compile again

See merge request veloren/veloren!2974
2021-10-30 09:27:27 +00:00
Sam
aad2384622 Addressed review, changelog. 2021-10-29 17:57:00 -04:00
Sam
2b447852fd Added min fall off to explosions. 2021-10-29 17:37:02 -04:00
juliancoffee
1dc53dad3a Make test-server compile again 2021-10-29 23:49:37 +03:00
Kemper
034041fd4f Aim fireballs at feet
AI aims fireballs at the target’s feet, for a slight improvement
in splash damage.
2021-10-27 19:50:50 +00:00
ubruntu
e6bfce99bb Use stealth stat on armors 2021-10-24 05:31:49 +00:00
Bryant Deters
b2bd43f4d3 Sneak with weapons drawn 2021-10-18 14:53:55 -05:00
socksonme
8099b516a9 Renamed emit_alarm to emit_scream 2021-10-16 19:11:57 +03:00
socksonme
2b36a957ac small code quality change 2021-10-15 23:23:45 +03:00
socksonme
c631341da9 Refactored SoundKind and UtteranceKind 2021-10-15 22:49:25 +03:00
antoniomuso
761ae8f69d Make merchants send the player a trade request when interacted with 2021-10-09 21:14:01 +02:00
Imbris
8987389e8a Submit chunk requests to the generator within the terrain system right before receiving new chunks, so that duplicate work is not done for chunks that just finished but were not yet added to the terrain. 2021-10-08 16:17:31 -04:00
Joshua Barretto
6d33e0d183 Prevented double-spawning of chunks 2021-10-08 12:20:46 +01:00
Joshua Barretto
8dc8aeace5 Added minimum server-side chunk loading 2021-10-07 14:23:55 +01:00
Imbris
c9d2501336 Revert "Merge branch 'ubruntu/par-entity-sync' into 'master'"
This reverts merge request !2891
2021-10-05 14:42:39 +00:00
Bryant Deters
8b557f0e2e using par_join.for_each as if I know what I'm doing 2021-10-01 18:05:52 -05:00
juliancoffee
7291d32209 Make ItemDrop component with Item again 2021-09-27 20:36:18 +03:00
Sam
27823ce8fa Rtsim now uses entity configs. 2021-09-27 15:09:22 +03:00
Sam
09dd9b4813 Changed ItemDrop to use LootSpec 2021-09-27 15:09:22 +03:00
Marcel
cea927efb6 Merge branch 'xMAC94x/update-toolchain' into 'master'
update toolchain to `nightly-2021-09-24`

See merge request veloren/veloren!2862
2021-09-26 19:25:02 +00:00
Sam
942376f88c Made poise a float at interface of module. 2021-09-25 14:07:47 -04:00
Marcel Märtens
e36eef99c8 apply some clippy fixes that comes with the new toolchain version 2021-09-24 23:18:18 +02:00
Sam
0e5e2b46f2 Changed energy to internally use an integer with a high resolution, and externally to use a float. 2021-09-23 14:11:09 -04:00
Snowram
5838a84568 Consolidates projectile offsets into utils 2021-09-22 03:05:57 +02:00
Snowram
9c2ce83430 Set projectile offsets in states instead of globally 2021-09-22 01:07:09 +02:00
Samuel Keiffer
576f2a6e9f Merge branch 'wolfshaman/fixing_1328_set_waypoint_when_on_ground_and_not_going_down' into 'master'
fixing_1328_set_waypoint_when_on_ground_and_not_going_down

See merge request veloren/veloren!2832
2021-09-21 22:16:08 +00:00
Snowram
7a73e4240b Bird large beam offset hack 2021-09-21 15:31:43 +02:00
juliancoffee
f810af4eec Rename EntityInfo level field to health_scaling 2021-09-17 20:12:42 +03:00
juliancoffee
c069a3523d Fix beam offsets
- Introduce notion of min and max radius for Body instead of old
  `radius()` function (which is renamed to `max_radius()`).
2021-09-17 13:28:34 +03:00
Sam
99981338bb Fixed exp fix mistake and fixed lava, campfire, and bomb damage. 2021-09-15 08:32:44 -04:00
wolfshaman
d321d1aad4 fixing_1328_set_waypoint_when_on_ground_and_not_going_down 2021-09-13 16:51:02 -04:00
Sam
42012fddcb Overhauled health component, making it a float to outer interfaces. 2021-09-09 00:10:17 -04:00
Joshua Barretto
78fce06b47 Allowed players to assist NPCs in fights without problems by tweaking aggro rules 2021-09-08 13:17:53 +01:00
Khalid Ali
cbc6cdfad1 Use unreachable instead of panic 2021-09-05 18:13:20 -05:00
Khalid Ali
a0b78ffd16 Add RepeaterRanged and fix scaling ChargedRange 2021-09-05 18:03:54 -05:00
Khalid Ali
871a1ccbfc Set direction using character state 2021-09-05 17:07:09 -05:00
juliancoffee
43d40c4efc Workaround of bug with global Player component
* Set default value of battle_mode and last_battlemode_change explicitly
if isn't found in battlemode_buffer
2021-09-04 02:29:02 +03:00
juliancoffee
1baa9e9879 Add in-memory persistence for battlemode changes 2021-09-04 01:41:48 +03:00
juliancoffee
fbe745fe1e Cooldowns
- Add last_battlemode_change to Player component
- check on last_battlemode_change in handle_battlemode
- set last_battlemode_change after setting battlemode
- still are not persisted in any way
2021-09-04 01:41:48 +03:00
juliancoffee
f01309dfc2 Add PerPlayer server flag for BattleMode 2021-09-03 17:28:34 +03:00
Joshua Barretto
f9580a576c Fix warning agents not switching aggro on attack 2021-08-24 23:17:52 +01:00
Ben Wallis
9e35f5ec33 Explosions no longer change block colours within the radius of a safe zone. Doubled the radius of the safe zone in the /home town. 2021-08-20 09:00:55 +01:00
juliancoffee
09e8ee2b3f Remove giants 2021-08-16 18:15:01 +03:00
juliancoffee
5941d6731c Refactor supplement evaluation to use NpcData 2021-08-16 17:27:59 +03:00
Joshua Barretto
87851293c2 Improved aggro system to reduce hyper-focused enemies 2021-08-14 11:09:33 +01:00
Joshua Barretto
c2498d81c7 Added feature flag for terrain persistence 2021-08-12 10:48:00 +01:00
Joshua Barretto
738e59965f Added experimental terrain persistence 2021-08-12 10:26:20 +01:00
juliancoffee
f16f8182cd Add FIXME about Staff flamethrower 2021-08-08 00:41:39 +03:00
juliancoffee
a7922336ea Expose beam_offsets to AI 2021-08-08 00:33:43 +03:00
juliancoffee
edd37ad491 Agent code TODO-s 2021-08-05 21:07:45 +03:00
Joshua Barretto
31a49d26a9 Added action timer system for agent code 2021-08-04 14:04:56 +01:00
juliancoffee
44916383c6 continue -> filter_map to handle new players 2021-08-03 16:43:56 +03:00
juliancoffee
d9e2d501cd Prettify server/sys/msg/register.rs 2021-08-03 16:43:56 +03:00
juliancoffee
497a94cd7a Post review refactoring
* inline `target_dodging` into struct declaration as they are named
anyway
* move `avoid_harm` check out of `Attack::apply_attack` so we don't need
to pass whole Player component.
* another cosmetic things
2021-08-03 16:43:55 +03:00
juliancoffee
9300353c98 Use emitter.emit() in server/sys/msg/register 2021-08-03 16:43:55 +03:00
juliancoffee
7d4a8cbfa4 Add battle_mode server setting and player flag 2021-08-03 16:42:58 +03:00
Knightress Paladin
b338abd761 Fix up comments relating to AI logic 2021-08-02 22:38:16 -07:00
Knightress Paladin
8dd2202e1a Restyle logic in Staff AI 2021-08-02 16:22:40 -07:00
Knightress Paladin
a6acdbbfa7 Used adjusted_by_skills to correctly calculate ability values 2021-08-02 16:22:40 -07:00
Knightress Paladin
e87bfae5cd Allowed staff AI to queue shockwave if occupied by animation 2021-08-02 16:22:40 -07:00
Knightress Paladin
38432cc880 Restructured logic for staff AI 2021-08-02 16:22:40 -07:00
Joshua Barretto
45f94b0bce Better Agent API 2021-08-02 13:08:39 +01:00
Ludvig Böklin
400734cc0a Fix gliderwield downhill run jitter 2021-08-01 11:20:46 +00:00
Joshua Barretto
422e1c30f4 Added menacing, made agent code less hacky 2021-07-31 20:33:28 +01:00
Monty Marz
14eb0f9aa2 Remove sceptre, add swords 2021-07-29 22:38:35 +00:00
Marcel
680492cea6 Merge branch 'juliancoffee/entity_refactor' into 'master'
Improve terms of EntityConfig and LoadoutBuilder

See merge request veloren/veloren!2688
2021-07-28 23:19:04 +00:00
Ben Wallis
01ca6911a9 * Pets are now saved on logout and spawned with the player on login
* Pets now teleport to their owner when they are too far away from them
* Limited the animals that can be tamed to `QuadrupedLow` and `QuadrupedSmall` to prevent players taming overly powerful creatures before the pet feature is further developed
* Added `Pet` component used to store pet information about an entity - currently only used to store the pet's database ID
* Added `pet` database table which stores a pet's `body_id` and `name`, alongside the `character_id` that it belongs to
* Replaced `HomeChunk` component with more flexible `Anchor` component which supports anchoring entities to other entities as well as chunks.
2021-07-28 22:36:41 +00:00
juliancoffee
14ac9a8b4e Improve terms of EntityConfig and LoadoutBuilder
* rename LoadoutBuilder::new to LoadoutBuilder::empty
* remove LoadoutBuilder::default as Default makes no sense here
* move comments from template.ron to EntityConfig struct
* add FIXME comments to split EntityConfig into EntityBase and
EntityExtension
2021-07-28 19:19:10 +03:00
Joshua Barretto
37077b5703 Merge branch 'Resolve-unused-clippy-supressions' into 'master'
Resolve unused clippy supressions

See merge request veloren/veloren!2673
2021-07-24 20:44:06 +00:00
Dr. Dystopia
70d0840e96 Resolve unused '#[allow(clippy::unnecessary_wraps)]' error supressions 2021-07-24 20:14:26 +02:00
Joshua Barretto
6fa3ac610b Merge branch 'aweinstock/fix-waypoint-2' into 'master'
Further improve handling of underground waypoints:

See merge request veloren/veloren!2665
2021-07-24 17:59:58 +00:00
Avi Weinstock
5dd56b724c Rename find_space_opt to try_find_space. 2021-07-24 13:09:10 -04:00
Samuel Keiffer
85b9f70469 Merge branch 'knightresspaladin/fix-circle-charge' into 'master'
Fixed CircleCharge and buffed Rugged Hide droppers

See merge request veloren/veloren!2613
2021-07-23 14:56:36 +00:00
Avi Weinstock
ca10d89068 Further improve handling of underground waypoints:
- Set the waypoint to the valid position after chunk load, so that respawns work.
- Search for the nearest valid surface before falling back to the top of the chunk, so that waypoints inside caves/buildings work.
2021-07-22 23:03:52 -04:00
Marcel
e9f6ae6b37 Merge branch 'xMAC94x/job_metrics' into 'master'
implement slowjob metrics to measuere time in queue and execution time

See merge request veloren/veloren!2654
2021-07-22 19:17:30 +00:00
Marcel Märtens
7d93d907f6 implement slowjob metrics to measuere time in queue and execution time 2021-07-22 19:31:21 +02:00
juliancoffee
a03992a236 Wake birds up
* give large rtsim birds their default main tool which allows them to
use AI tactics
* force entities to fly on critical failing velocities to avoid suicide
2021-07-22 18:00:22 +03:00
Knightress Paladin
a97546dbff Removed aimbot from ChargeMelee and cleaned up variable typing 2021-07-18 23:12:55 -07:00
Knightress Paladin
081c6e5362 Fixed CircleCharge and buffed Rugged Hide droppers 2021-07-18 23:12:55 -07:00
Samuel Keiffer
37147e2a83 Merge branch 'juliancoffee/overworld_assetization' into 'master'
Wildlife assetization

See merge request veloren/veloren!2591
2021-07-18 13:43:32 +00:00
Imbris
9c72333741 Revert "Merge branch..."
This reverts merge request !2608
2021-07-17 22:04:59 +00:00
juliancoffee
6654c9e372 Fix bug with ignoring second_tool in EntityInfo 2021-07-17 15:37:30 +03:00
Imbris
eb999b2821 Merge branch 'aweinstock/fix-waypoint' into 'master'
Spawn players aboveground when using `/site` or when their waypoint is underground.

See merge request veloren/veloren!2612
2021-07-16 23:18:33 +00:00
Avi Weinstock
a4d6f0f3c1 Address MR 2612 review comments. 2021-07-16 17:46:48 -04:00
Samuel Keiffer
f38cde9d40 Merge branch 'knightresspaladin/healing-aura' into 'master'
Knightresspaladin/healing aura

See merge request veloren/veloren!2587
2021-07-16 21:32:03 +00:00
Avi Weinstock
c417e8c5b9 Defer repositioning until after chunks are generated normally, to reduce latency and avoid duplicate work. 2021-07-16 15:42:50 -04:00
Marcel
0492b8dc87 Merge branch 'savalige/ai_spacing' into 'master'
Issue #1153 - Improve combat AI spacing between Agents of the same Alignment

Closes #1153

See merge request veloren/veloren!2451
2021-07-16 16:40:27 +00:00
Avi Weinstock
9e9cbd290b cargo fmt 2021-07-15 15:52:10 -04:00
Knightress Paladin
0ded44d635 Cleaned up chunk-relative block setting math 2021-07-15 12:36:00 -07:00
Knightress Paladin
9864344cfe Implemented setting blocks with the wiring system 2021-07-15 12:36:00 -07:00
Savalige
171113ea74 Added a spacing_radius method to body to make it possible to sett different spacing for different entities 2021-07-15 13:33:51 -04:00
Savalige
1e3cc3442f Made the spacing also take the radius of the entity into account per @zesterer suggestion and added a baias variable to change how much priority should be given to separation vs target(1.0 being only focus on separating and 0.0 being only focus on target) 2021-07-15 13:33:51 -04:00
Savalige
2a5d4fa826 fixing issue #1153 - Improve combat AI spacing between Agents of the same Alignment 2021-07-15 13:33:51 -04:00
Jonathan Berglin
c1c331d59e Resolve all '#[allow(clippy::approx_constant)]' error supressions 2021-07-15 16:56:55 +00:00
juliancoffee
aae3a159b8 Make all Ships constanly flying, not only rtsim 2021-07-14 23:23:35 +03:00
juliancoffee
d42c7be141 Teach AI how to interact in this evil world 2021-07-14 19:26:12 +03:00
juliancoffee
b6460f6c61 Teach AI how to forgive 2021-07-14 19:26:11 +03:00
juliancoffee
325acc9daf Teach AI how to heal again 2021-07-14 19:26:11 +03:00
juliancoffee
06e0303e8a Cleaning 2021-07-14 19:26:11 +03:00
juliancoffee
00a34da48b Teach AI how to leap again
+ adjust hammer and axe AI timings
2021-07-14 19:25:55 +03:00
juliancoffee
56ab92fd05 Teach AI how to glide again 2021-07-14 15:24:15 +03:00
juliancoffee
59e9fc6530 Agent code refactoring
0) extracting code branches to closures
1) make RTSim remember target, even if they can't speak about it
2) make only RTSim Ships constantly flying (and not every flying RTSim)

You can tame RTSim Phoenix, yay
2021-07-14 14:55:50 +03:00
holychowders
f316f1da60 Make Guards Defend Villagers 2021-07-14 07:40:43 +00:00
Marcel Märtens
db8aedd363 fmt after applying clippy fixes after toolchain update 2021-07-12 12:09:27 +02:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Sam
be8b12845a Added buff strength stat to weapons. 2021-07-11 12:50:38 -05:00
Knightress Paladin
42c3872528 Added healing aura duration skill to voxygen UI 2021-07-10 20:02:36 -07:00
Knightress Paladin
b96bb6fc5d Added combo scaling to healing aura and allowed cultists to use it 2021-07-10 20:02:36 -07:00
Knightress Paladin
d0bb7004ab Added check to prevent sceptre AI from canceling its own ward 2021-07-07 20:01:00 -07:00
Knightress Paladin
65d67ef781 Clean up sceptre ai code before merge 2021-07-07 20:00:35 -07:00
Knightress Paladin
63c5d9f7df Fixed formatting 2021-07-07 20:00:35 -07:00
Knightress Paladin
ba35aaaf90 Add check to see if cultist already has ward buff 2021-07-07 20:00:35 -07:00
Knightress Paladin
35242c71e1 Added sceptre tactic and sceptre cultists 2021-07-07 20:00:01 -07:00
juliancoffee
d4c61ae2f3 (voxygen) Better support for multibuff items
+ change `effect` field in ItemKind::Consumable to `effects`, as it's
set of effects and not single effect.
2021-07-05 10:56:29 +03:00
juliancoffee
303f03dd3a Adjust Yeti difficulty
Frost breath:
    - ori_rate reduced from 0.6 to 0.1
    - time of breath increased from 1 second to 2 seconds
    - buildup increased from 0.4 to 0.8
    - make it more gentle, with less damage per tick, but faster tick rate
    (50 * 1 to 10 * 5)
    - make Frozen debuff strength smoler, 1.5 to 0.5 and make it chance to
    apply debuff.
    - make him use it when closer range (10 and not 15)
Ice spikes:
    - increase recovery_duration from 0.3 to 1.0
    - make him slower while doing ice spikes, make ice spikes move
    slower
    - make him use it when closer range (15 and not 20)
Snowball:
    - increase recover_duration from 0.4 to 0.9
Strike:
    - increase buildup_duration fron 0.6 to 0.8
    - increase recover_duration from 0.5 to 1.0
    - increase knockback from 40.0 to 70.0
2021-07-04 03:44:17 +03:00
Ben Wallis
a50ed6b50a Fixed build warnings for server-cli related to non-default plugin feature 2021-06-26 21:56:03 +01:00
Snowram
d7f25627ab Ajustments to new npcs 2021-06-24 19:31:21 +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
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
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
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
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
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
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
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
Avi Weinstock
624f8796bd Fix mindflayer tactic to make it shoot purple fireballs again. 2021-05-22 20:35:21 -04: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
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
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
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
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
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
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
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
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
Daniel Mizerski
7faa0d3cd9 Add fundamentals for wiring system. 2021-05-02 22:38:44 +02:00
Ben Wallis
d7582efad0 Moved character creation to use character_updater instead of character_loader. Changed character_loader to use a read-only database connection. 2021-05-02 16:08:39 +01:00
Sam
d500a00414 Made naming of fields more explicit. 2021-05-01 09:25:56 -04:00
Sam
3cb0ee98c8 Removed all unique and simple tool kinds. 2021-05-01 09:25:51 -04:00
Sam
a35b8b4aad Removed ability set as field on items. 2021-05-01 09:25:49 -04:00
Joshua Barretto
b29e2b0017 Fixed admin physics check exemption 2021-04-30 14:06:07 +01:00
Ben Wallis
e2d6326615 Made admins exempt from the server-side position and velocity checks 2021-04-29 17:46:40 +01:00
Ben Wallis
c16bf51ab2 Merge branch 'xvar/reduce-timeofday-sync-frequency' into 'master'
Reduced frequency of TimeOfDay message being sent to clients

See merge request veloren/veloren!2218
2021-04-29 13:50:08 +00:00
Ben Wallis
3c20e8ed4e Reduced sync of TimeOfDay to once per 100 ticks 2021-04-29 12:34:27 +01:00
James Melkonian
2fafcded93 Set bird default to not flying and give non-strafing NPCs a larger attack angle 2021-04-28 02:31:51 +00:00
James Melkonian
24095187c7 Partially fixes wolf AI 2021-04-27 17:57:31 +00:00
Ludvig Böklin
34660462e9 Glider physics 2021-04-27 14:41:48 +00:00
Sam
1a7779beb3 Added angle check for new npcs. 2021-04-25 22:19:30 -04:00
Sam
9084e93f8b Added an angle check to all agent attacks. 2021-04-25 22:02:31 -04:00
Marcel
991ccf0033 Merge branch 'aweinstock/deflate-downgrade-20210425' into 'master'
Downgrade deflate from level 5 to level 1 in the terrain system to match LZ4's...

See merge request veloren/veloren!2199
2021-04-25 23:35:43 +00:00
holychowders
5488f9f525 Prevent safezoned villagers from spamming messages upon seeing an enemy 2021-04-25 21:24:06 +00:00
Avi Weinstock
57aee57d82 Downgrade deflate from level 5 to level 1 in the terrain system to match LZ4's worst-case encoding time. 2021-04-25 16:18:57 -04:00
Snowram
8f54a0bf31 More phoenix AI work
More phoenix AI work
2021-04-25 04:07:12 +02:00
James Melkonian
0cf7e7114f Phoenix AI pass 2021-04-25 04:07:11 +02:00
Snowram
8cf8e51962 Phoenix npc + AI (WIP) 2021-04-25 04:07:11 +02:00
Avi Weinstock
95d32b40bb Remove redundant terrain message per MR 2166 comment. 2021-04-20 23:48:15 -04:00
Avi Weinstock
308ad4d81e Cleanup errors introduced in rebase. 2021-04-20 23:34:17 -04:00
Avi Weinstock
15e32e5655 Move terrain compression code to common_net and disable redundant LZ4 compression on the terrain stream. 2021-04-20 23:24:24 -04:00
Avi Weinstock
6d9de520f3 Compress terrain chunks with deflate. Includes a benchmark showing that this makes them around 70% smaller, and is the same speed as LZ4. 2021-04-20 23:23:53 -04:00
Imbris
e17477979f Remove extra chunk cloning and parallelize serialization in the server terrain sys 2021-04-20 15:25:05 -04:00
Imbris
9e0fbd392d Remove some of the spans in the agent system 2021-04-20 15:25:05 -04:00
Imbris
110165de3a Add more profiling spans to the agent system and add timing notes 2021-04-20 15:25:04 -04:00
Imbris
e750c9d570 Switch agent target search to use a spatial grid, add convience method for querying the aabr of a circle 2021-04-20 15:25:04 -04:00
Imbris
26222a0a2d Rename common-sys to common-systems and rearrange common-state slightly 2021-04-20 15:25:04 -04:00
Ludvig Böklin
762c68cfbb Basic fluid dynamics and physical properties for entities 2021-04-20 17:38:19 +02:00
Marcel Märtens
485a477503 include origin into system name 2021-04-20 01:30:27 +02:00
Marcel Märtens
5862920f32 seperate sys/state 2021-04-20 01:30:17 +02:00
James Melkonian
ef38d9778f Fix bow AI 2021-04-19 12:17:31 -07:00
Joshua Barretto
cd0a65da81 Added minimum chunk unload distance to make chunk reload cheesing harder 2021-04-19 11:29:20 +01:00
Sam
c8d4c4ff84 Gated safe zone behind a server setting, removed unneeded function. 2021-04-17 17:54:11 -04:00
Sam
416fe5c2af Safezone is now permanently in existence at spawn. 2021-04-17 17:33:54 -04:00
Avi Weinstock
513c7ff068 Make physics anticheat less aggressive. 2021-04-16 18:07:54 -04:00
Imbris
85ee4c8cd1 Merge branch 'aweinstock/server-authoritative-physics' into 'master'
Aweinstock/server authoritative physics

See merge request veloren/veloren!2126
2021-04-15 22:24:00 +00:00
Avi Weinstock
2fb7575d60 Address MR 2126 comments. 2021-04-15 15:17:39 -04:00
Ben Wallis
95d7a3d761 Fixed cargo test-server. Removed -Z package-features from .cargo/config as it is no longer required 2021-04-15 19:07:46 +01:00
Avi Weinstock
bf6ac56eb0 Add teleport/speedhack mitigation. 2021-04-15 08:50:17 -04:00
Avi Weinstock
50d0314a75 Add a toggle to negotiate the use of server-authoritative physics. 2021-04-15 08:50:17 -04:00
Avi Weinstock
d6f4537d39 Minimal implementation of server-authoritative physics. 2021-04-15 08:26:15 -04:00
Ben Wallis
378561598e Character deletes are now processed by CharacterUpdater and clear any pending logout updates for the deleted character 2021-04-14 22:30:53 +01:00
holychowders
568a8d9666 Resolve Issue #978 - Extract SkillSet Into Its Own Component 2021-04-14 15:35:34 +00:00
Ben Wallis
1de94a9979 * Replaced diesel with rusqlite and refinery
* Added "migration of migrations" to transfer the data from the __diesel_schema_migrations table to the refinery_schema_history table
* Removed all down migrations as refinery does not support down migrations
* Changed all diesel up migrations to refinery naming format
* Added --sql-log-mode parameter to veloren-server-cli to allow SQL tracing and profiling
* Added /disconnect_all_players admin command
* Added disconnectall CLI command
* Fixes for several potential persistence-related race conditions
2021-04-13 22:05:47 +00:00
Avi Weinstock
ddf6a26577 Give NPCs the ability to use potions. 2021-04-11 23:47:29 +00:00
Joshua Yanovski
af94753ad9 Remove panics and unwraps, part 1.
Also fixes various other miscellaneous bugs.
2021-04-10 10:03:21 +02:00
Marcel Märtens
1a9425526b remove spamming of the logs 2021-04-08 23:55:13 +02:00
Imbris
0eecc61ddf Merge branch 'vfoulon80/behavior-component' into 'master'
New Component: Behavior

See merge request veloren/veloren!2033
2021-04-08 19:16:28 +00:00
Vincent Foulon
d80db38bc9 Remove TRADE capability, use trade_site attribute instead 2021-04-08 19:06:57 +02:00
Vincent Foulon
bc1797a240 Address comments 2021-04-08 18:33:00 +02:00
Louis Pearson
3c7898fe8e Expect instead of unwrap 2021-04-08 04:19:02 -06:00
Louis Pearson
58274db3e3 Make rtsim entities ensure sanity of track 2021-04-08 04:19:02 -06:00
Vincent Foulon
dbee13f9be Finally Behavior isn't good enough as a component, Remove it from ECS and include it onto Agent directly 2021-04-07 22:02:57 +02:00
Vincent Foulon
45fb9f3211 Address comments
- make Behavior's capabilities and state private
 - Typo in a comment
 - add basic tests

Apply 1 suggestion(s) to 1 file(s)

Remove comments in agent.rs
2021-04-07 22:02:42 +02:00
Vincent Foulon
993ae8fff7 address mutability comment 2021-04-07 17:39:12 +02:00
Vincent Foulon
a0157ac5f5 use bitflags instead of HashSet 2021-04-07 17:37:21 +02:00
Vincent Foulon
211ab02897 Use Behavior::CanTrade instead of Agent::trade_for_site + addressed comments 2021-04-07 17:26:42 +02:00
Vincent Foulon
a483817fc2 Change check for trading NPC 2021-04-07 17:26:19 +02:00
Vincent Foulon
18694b30ad Use Behavior into Agent 2021-04-07 17:26:12 +02:00
Vincent Foulon
41314e9098 Create Behavior component 2021-04-07 17:21:53 +02:00
Vincent Foulon
5e23c164e6 Add missing translations + Add "enemy_killed" text for villagers 2021-04-07 13:26:15 +02:00
DaforLynx
6734198104 Adds on-hit combat sfx 2021-04-04 03:04:02 +00:00
Vincent Foulon
dcde8df365 address review comments 2021-04-01 19:13:08 +02:00
Vincent Foulon
c2a8feada5 Add dialogue when the Merchant is busy and randomize some trading dialogues 2021-03-31 19:06:41 +02:00
Avi Weinstock
0122dca3c3 Allow fast stacking into and out of a trade with {ctrl,shift} click.
Shift click goes 1 at a time, Ctrl click automatically balances the trade w.r.t. that quantity.
2021-03-30 18:39:10 -04:00
Marcel
895de16dd6 Merge branch 'james/fix-merchant-wander' into 'master'
Fix merchant wandering

See merge request veloren/veloren!2035
2021-03-30 10:52:42 +00:00
Marcel
5ccbfba8fe Merge branch 'xMAC94x/terrainoptimisation' into 'master'
if more than 1 player is in the area of a newly created chunk, skip additional copies

See merge request veloren/veloren!2030
2021-03-30 08:27:13 +00:00
James Melkonian
8e522596a5 Fixed merchant wandering 2021-03-29 17:27:56 -07:00
Samuel Keiffer
12ec46c572 Merge branch 'sam/mindflayer-balancing' into 'master'
Mindflayer balance tweaks.

See merge request veloren/veloren!2031
2021-03-29 21:05:49 +00:00
Vincent Foulon
a35fa19409 Implement a basic dialogue system 2021-03-29 14:47:42 +00:00
Sam
71ba9b6a54 Mindflayer balance tweaks. 2021-03-29 10:44:46 -04:00
Marcel Märtens
fdd1eac6ed if more than 1 player is in the area of a newly created chunk, skip additional copies 2021-03-29 12:21:07 +02:00
Marcel Märtens
6e77028605 make msg::terrain parallel via rayon, we parallelize over the number of clients, so this is a change servers with more than 1 player profit from. 2021-03-28 21:08:40 +02:00
Sam
b0b114a7f8 Balance tweaks 2021-03-27 21:05:15 -04:00
Sam
6c611d632a Mindflayer now only summons minions at set thresholds of health. 2021-03-27 21:05:11 -04:00
Sam
f9835e78da Pets no longer drop loot on death. Code to determine targeting of pets is less hacky and now takes into account alignment of their owner. 2021-03-27 21:05:07 -04:00
Sam
8e4aeff705 Improved mindflayer AI. Tweake some abilities. 2021-03-27 21:05:07 -04:00
Sam
720482d994 Gave mindflayer AI.
Fixed particles and made them sync across network.
2021-03-27 21:05:06 -04:00
Sam
30da614e89 Added dimensional door ability for mindflayer 2021-03-27 21:05:05 -04:00
Marcel Märtens
c77446a014 fix some tracy only and no default features 2021-03-27 18:24:10 +01:00
Marcel Märtens
88b191dbbb track state tick in a historgram too 2021-03-27 18:24:10 +01:00
Louis Pearson
165065725e Add build_area_list command
* Reworks CanBuild to use HashSet
* Removes player argument from build permission, use sudo instead
2021-03-27 07:54:02 -06:00
Louis Pearson
21f794f84c Use Depot instead of Store for BuildArea 2021-03-27 07:54:02 -06:00
Louis Pearson
f08c4e6585 Add commands to manage build areas 2021-03-27 07:54:02 -06:00
Louis Pearson
77d48657c6 Store build areas outside of CanBuild component 2021-03-27 07:54:02 -06:00
Louis Pearson
120a0cd9a7 Limit build mode to bounding box 2021-03-27 07:54:02 -06:00
Louis Pearson
eade0540b2 Add permit_build command
This commit separates permission to build from building mode, allowing
build to become a NoAdmin command (since players will first need
permission from an Admin to enter build mode)
2021-03-27 07:54:02 -06:00
Marcel
da5c73c84b Merge branch 'refactor-login' into 'master'
refactor handling of duplicate login #1015

Closes #1015

See merge request veloren/veloren!1992
2021-03-27 13:49:09 +00:00
aljazerzen
0e71af92f1 cleanup login provider 2021-03-27 13:29:17 +01:00
aljazerzen
0c8448517e move already-logged-in check to register 2021-03-26 11:41:03 +01:00
aljazerzen
0ea102dc9c refactor handling of duplicate login 2021-03-25 12:33:56 +01:00
Avi Weinstock
8d90548331 Get SitePricing information to clients, and use it to display coin-denominated prices in voxygen on tooltips during a trade. Also boost merchant spawn rate slightly. 2021-03-25 02:11:58 -04:00
Marcel
28952f6d7b Merge branch 'aweinstock/agent-retargetting' into 'master'
In `agent::Sys`, perform target selection periodically to avoid agents going...

See merge request veloren/veloren!1985
2021-03-24 22:22:04 +00:00
Avi Weinstock
c4a6875133 Fix airships getting stuck in trees and campfires spawning too close to new-style dungeon stairs. 2021-03-24 15:42:37 -04:00
Avi Weinstock
ebc8e945d4 In agent::Sys, perform target selection periodically to avoid agents going after their target too singlemindedly. 2021-03-23 23:00:05 -04:00
Avi Weinstock
deb9358c3a Add ServerEvent::CreateShip, and use it instead of CreateNpc for RtSim airships. 2021-03-23 10:44:37 +01:00
Avi Weinstock
49f39fb752 Make more systems work with an optional health component, to allow disabling health on rtsim airships (so that players can't hammer them out of the sky). 2021-03-23 10:44:32 +01:00
Marcel
f895b95bbe Merge branch 'aweinstock/fix-agenttrade-acceptspam' into 'master'
Make merchants not virtually spamclick accept.

See merge request veloren/veloren!1976
2021-03-23 09:39:40 +00:00
Avi Weinstock
833ab7f1a8 Make merchants not virtually spamclick accept. 2021-03-22 22:53:53 -04:00
heydabop
0e3f7625a9 Fix #962 - kick old client and add new client on duplicate login 2021-03-22 19:15:24 -05:00
Joshua Barretto
b45df7fe10 Switched to BasicMelee 2021-03-21 17:45:01 +00:00
Joshua Barretto
347e1022a0 Initial implementation of pickaxe 2021-03-21 16:09:16 +00:00
Marcel
eabddd7263 Merge branch 'christof/trading_fix2' into 'master'
fix merchant getting stuck in non-existant trade when declining after accepting

See merge request veloren/veloren!1941
2021-03-19 09:29:45 +00:00
Christof Petig
fb40cd93a9 fix merchant getting stuck in non-existant trade when declining after accepting 2021-03-19 00:43:23 +01:00
Avi Weinstock
a770ef0f4a Fix agent flight by enabling flight mode at the start of each tick of the agent system. 2021-03-18 18:54:23 -04:00
Joshua Barretto
e8b053a09f Reduced rubber-banding and interpolation jerk without significantly impacting upon network usage 2021-03-17 21:31:07 +00:00
Marcel
afa11d03e5 Merge branch 'james/fix-npc-chat-spam' into 'master'
Correct npc chat spam

See merge request veloren/veloren!1921
2021-03-16 23:22:48 +00:00
James Melkonian
ba196c4345 merchants no longer run away while trading
(this time without refactoring)
2021-03-16 23:22:48 +00:00
Sam
18173caefe NPCs no longer target players inside safezones (and consider them to be defeated)
Warding aura no longer sometimes bypasses safezone invulnerability
2021-03-16 15:17:08 -04:00
Joshua Barretto
ac20e57647 Prevent component inserts being immediately invalidated 2021-03-16 14:24:23 +00:00
Joshua Barretto
2d23a89509 Fixed missed component insert bug 2021-03-16 12:19:42 +00:00
Joshua Barretto
6f10a56589 Optimised entity sync code, increased animation throttling distance 2021-03-16 02:49:33 +00:00
Joshua Barretto
bf66886e7c Increased network throttling for reduced network bandwidth 2021-03-16 02:40:56 +00:00
James Melkonian
6ea43cfd75 Various RtSim and Agent Interaction Fixes 2021-03-16 01:30:35 +00:00
Marcel
ad49318a63 Merge branch 'sam/explosion-fix' into 'master'
Explosions now take into account hitbox of entity.

See merge request veloren/veloren!1905
2021-03-15 22:26:28 +00:00
Sam
461ad6e339 Rebalanced explosion strengths 2021-03-15 00:36:07 -04:00
Avi Weinstock
9304ecab3d Address Imbris's MR 1888 comments, and add changelog entry.
- Use Ori::{new,to_quat} and make the field private.
- Update/capitalize/add various comments.
- Implicitly drop scope guards where applicable.
- Take !Copy colliders by reference instead of cloning.
- s/cylinder_voxel_collision/box_voxel_collision/
- Unindent some physics code with a continue.
2021-03-14 23:21:46 -04:00
Avi Weinstock
bbb11882e2 Add lerping of physics to extrapolated position, and enable sending updates for stopped entities. 2021-03-14 23:20:48 -04:00
Avi Weinstock
aa56166c80 Fix fmt and clippy, and rename {psdr,psdw} to {read,write} in physics. 2021-03-14 23:17:26 -04:00
Avi Weinstock
5ff72a4a2e /airship angle command and RtSim airships. 2021-03-14 23:14:26 -04:00
Joshua Barretto
f4b3d8145b Smooth airship movement 2021-03-14 23:14:21 -04:00
James Melkonian
6ff054099f Allow spawned airships to move 2021-03-14 23:09:52 -04:00
Avi Weinstock
8b9e84972a Draft of airships (spawn command, visuals, some physics refactoring, no collision yet). 2021-03-14 23:09:49 -04:00
Marcel
5570b57282 Merge branch 'sam/yeet-inputs' into 'master'
Reworked Controller Inputs to use Control Actions

See merge request veloren/veloren!1900
2021-03-15 01:32:02 +00:00
Sam
ecff675cc4 Wielding now works again
Rolling now resumes combo states correctly again
Cleanup
2021-03-14 17:26:55 -04:00
Sam
ac6e192db4 Completely purged old method of inputs 2021-03-14 17:26:55 -04:00
Sam
b5d501199d Secondary input now fully functional 2021-03-14 17:26:53 -04:00
Sam
21e6f4797c Primary ability fully functional. 2021-03-14 17:26:53 -04:00
Sam
19c81f1528 Support for canceling an input. Boost state hooked up to system. 2021-03-14 17:26:52 -04:00
Sam
c6d8daaae3 Primary input now activated from control actions.
Moved a lot of key_state to a HashSet so that it is handled automatically.
2021-03-14 17:26:51 -04:00
Snowram
60dd47cdea Theropod charge attack 2021-03-14 18:10:40 +01:00
Christof Petig
15b11d9154 Implement /price_list (work in progress), stub for /buy and /sell
remove outdated economic simulation code

remove old values, document

add natural resources to economy

Remove NaturalResources from Place (now in Economy)

find closest site to each chunk

implement natural resources (the distance scale is wrong)

cargo fmt

working distance calculation

this collection of natural resources seem to make sense, too much Wheat though

use natural resources and controlled area to replenish goods

increase the amount of chunks controlled by one guard to 50

add new professions and goods to the list

implement multiple products per worker

remove the old code and rename the new code to the previous name

correctly determine which goods guards will give you access to

correctly estimate the amount of natural resources controlled

adapt to new server API

instrument tooltips

Now I just need to figure out how to store a (reference to) a closure

closures for tooltip content generation

pass site/cave id to the client

Add economic information to the client structure
(not yet exchanged with the server)

Send SiteId to the client, prepare messages for economy request
Make client::sites a HashMap

Specialize the Crafter into Brewer,Bladesmith and Blacksmith

working server request for economic info from within tooltip

fully operational economic tooltips
I need to fix the id clash between caves and towns though

fix overlapping ids between caves and sites

display stock amount

correctly handle invalid (cave) ids in the request

some initial balancing, turn off most info logging

less intrusive way of implementing the dynamic tool tips in map

further tooltip cleanup

further cleanup, dynamic tooltip not fully working as intended

correctly working tooltip visibility logic

cleanup, display labor value

separate economy info request in a separate translation unit

display values as well

nicer display format for economy

add last_exports and coin to the new economy

do not allocate natural resources to Dungeons (making town so much larger)

balancing attempt

print town size statistics

cargo fmt (dead code)

resource tweaks, csv debugging

output a more interesting town (and then all sites)

fix the labor value logic (now we have meaningful prices)

load professions from ron (WIP)

use assets manager in economy

loading professions works

use professions from ron file

fix Labor debug logic

count chunks per type separately
(preparing for better resource control)

better structured resource data

traders, more professions (WIP)

fix exception when starting the simulation

fix replenish function
TODO:
- use area_ratio for resource usage (chunks should be added to stock, ratio on usage?)
- fix trading

documentation clean up

fix merge artifact

Revise trader mechanic

start Coin with a reasonable default

remove the outdated economy code

preserve documentation from removed old structure

output neighboring sites (preparation)

pass list of neighbors to economy

add trade structures

trading stub

Description of purpose by zesterer on Discord

remember prices (needed for planning)

avoid growing the order vector unboundedly

into_iter doesn't clear the Vec, so clear it manually

use drain to process Vecs, avoid clone

fix the test server

implement a test stub (I need to get it faster than 30 seconds to be more useful)

enable info output in test

debug missing and extra goods

use the same logging extension as water, activate feature

update dependencies

determine good prices, good exchange goods

a working set of revisions

a cozy world which economy tests in 2s

first order planning version

fun with package version

buy according to value/priority, not missing amount

introduce min price constant, fix order priority

in depth debugging

with a correct sign the trading plans start to make sense

move the trade planning to a separate function

rename new function

reorganize code into subroutines (much cleaner)

each trading step now has its own function

cut down the number of debugging output

introduce RoadSecurity and Transportation

transport capacity bookkeeping

only plan to pay with valuable goods, you can no longer stockpile unused options
(which interestingly shows a huge impact, to be investigated)

Coin is now listed as a payment (although not used)

proper transportation estimation (although 0)

remove more left overs uncovered by viewing the code in a merge request

use the old default values, handle non-pileable stocks directly before increasing it
(as economy is based on last year's products)

don't order the missing good multiple times
also it uses coin to buy things!

fix warnings and use the transportation from stock again

cargo fmt

prepare evaluation of trade

don't count transportation multiple times

fix merge artifact

operational trade planning
trade itself is still misleading

make clippy happy

clean up

correct labor ratio of merchants (no need to multiply with amount produced)

incomplete merchant labor_value computation

correct last commit

make economy of scale more explicit

make clippy happy (and code cleaner)

more merchant tweaks (more pop=better)

beginning of real trading code

revert the update of dependencies

remove stale comments/unused code

trading implementation complete (but untested)

something is still strange ...

fix sign in trading

another sign fix

some bugfixes and plenty of debugging code

another bug fixed, more to go

fix another invariant (rounding will lead to very small negative value)

introduce Terrain and Territory

fix merge mistakes
2021-03-14 03:18:32 +00:00
Imbris
8d0b776f18 Move server-cli commands to separate file, tracy profiling par_join improvements, misc improvements
- remove overwritten logging setting in server-cli
- add server-cli command to load a random area for testing without a client
- make admin add/remove commands modify ingame players instead of needing to reconnect
- add spans to par_join jobs
- added test command that loads up an area of the world
- add tracy-world-server alias
- set debug directives to info for logging
2021-03-13 02:28:59 -05:00
Marcel Märtens
1cb6101326 lock on streams to allow parallel send 2021-03-12 09:25:12 +01:00
Marcel
5d32690fbf Merge branch 'xMAC94x/server_parallize' into 'master'
handle msg as part of the servers state for best parallelisation. also include agent there

See merge request veloren/veloren!1878
2021-03-11 21:52:18 +00:00
Marcel Märtens
a3e6cf3815 handle msg as part of the servers state for best parallelisation. also include agent there 2021-03-11 19:09:21 +01:00
Marcel Märtens
381bb5eef0 fix tracy 2021-03-11 17:05:17 +01:00
Marcel Märtens
a98e72c391 Auth requests are now done async, the register system is fetching it, via a PendingLogin component
The auth server no longer allows the protocol to be specified. we enforce `https` for the auth server, so DO NOT provide a auth url with `https://` but without.
correct is now `auth.veloren.net`
incorrect is: `https://auth.veloren.net`
2021-03-11 17:05:02 +01:00
Marcel Märtens
f8b7d96066 git push -fTransport ChunkRequests and Chunkupdates in a own stream. ChunkUpdates are very big and having them in a own stream, helps slow clients to keep up with entity syncs and
lagging a bit behind on terrain. Which is fine. Block Places and Block Pickup are not handled in this stream, as they go through the standart route of event handling.
2021-03-11 14:50:46 +01:00
ccgauche
67b24294d6 Change Ecs access system to allow write accesses to be used + reintroduced get_player_name 2021-03-10 19:36:53 +01:00
ccgauche
10e5620642 Moved back register to a system 2021-03-09 21:16:23 +01:00
Marcel Märtens
77dea4980c get rid of a lazy_static and update agent multithreaded metrics 2021-03-09 11:52:57 +01:00
Marcel Märtens
4ebfbdde0f Move Specs code to own common_ecs create, put tracy and macros into common_base 2021-03-09 00:54:01 +01:00
Marcel Märtens
f353f14703 change Name from VSystem to System 2021-03-08 13:15:00 +01:00
Marcel Märtens
6b88545481 restructure server metrics
- get rid of old SysTimers for each system in favour of VSystem tracking
 - move metrics generation from lib.rs to own system
 - code cleanup
 - remove time tracking in common::sys
2021-03-08 11:51:13 +01:00
Marcel Märtens
c515fece28 Implement a VSystem trait that can be implemented by Systems.
It will autodo some things, like track start and time and export those in system metrics
Add a origin and implement it for all Systems in Veloren
2021-03-08 11:51:04 +01:00
Avi Weinstock
c4f7c9b951 Make the probabilities data to assert that the expected value is less than 1. 2021-03-06 15:11:19 -05:00
Avi Weinstock
22fcc6417c Make fireworks recursively shoot more fireworks (95% average replication). 2021-03-06 14:05:51 -05:00
Avi Weinstock
ae37b71ab6 Increase MAX_CHASE_DIST from 20 to 250, so enemies don't ignore you if you're fireballing them from a hallway. 2021-03-06 10:50:04 -05:00
James Melkonian
f9fc015680 Address comments 2021-03-02 19:55:28 -08:00
James Melkonian
8bdadc47b5 Initial behavior tree refactoring 2021-03-02 15:49:58 -08:00
ccgauche
db9991ce6d Adressed all comments 2021-03-01 22:24:02 +01:00
ccgauche
dbd4d70b79 Lots of improvement in pointer management (switched from i32 to u64) + New event implemented 2021-03-01 19:00:44 +01:00
Sam
404c7f0905 Combo melee now checks combo 2021-02-27 18:24:28 -05:00
jshipsey
8d316aac8c feedback adjustments 2021-02-27 01:42:47 -05:00
jshipsey
16a44cd532 minotaur moves, added claygolem 2021-02-27 01:42:47 -05:00
jshipsey
417f4638ed balance pass 2 2021-02-27 01:42:47 -05:00
Snowram
1b9815dc34 Adds 3 new npcs, tusk ram new design 2021-02-27 01:42:46 -05:00
Sam
53b0ba286a Ice particles for Wendigo 2021-02-27 01:42:46 -05:00
Snowram
14c252d8b2 Merge branch 'snowram/turret' into 'master'
Object animation, beam fixes, turret implementation

See merge request veloren/veloren!1805
2021-02-23 20:16:56 +00:00
Overblob
370259fe54 CI - Fix clippy errors
Fix trailing whitspace
2021-02-22 00:57:25 +00:00
Snowram
4078eeb877 Various fixes to object animation, cleanup 2021-02-21 19:56:46 +01:00
Sam
d5ccc33abc Factored out duplicate code into closures, consolidated ability handling logic to a single function. 2021-02-19 18:45:48 -05:00
Joshua Barretto
4d19308612 Merge branch 'lboklin/quat-ori' into 'master'
Redefine Ori as a quaternion

See merge request veloren/veloren!1755
2021-02-16 22:39:11 +00:00
Avi Weinstock
c984035976 MR 1775 review fixes.
- Separate `invite` machinery from `group_manip` into it's own thing (includes renaming `group_invite` to `invite` where applicable).
- Move some invite/trade machinery to `ControlEvent`.
- Make `TradePhase` a proper enum instead of a bunch of bools.
- Make `TradeId` a proper newtype.
- Remove trades from `Trades` on accept (previously was only on decline).
- Typo fixes/misc cleanup.
- Add bullet point for trading to the changelog.
2021-02-14 11:13:56 -05:00
Avi Weinstock
aeb2398fc6 Trade implementation progress.
- Server messages now bring up the trade window.
- When a trade is declined, it closes the window on both clients.
2021-02-12 18:43:09 -05:00
Avi Weinstock
e9b811b62b Plumb trade requests through the group invite UI, such that they can be accepted/declined without impacting the counterparty's movement. 2021-02-12 18:43:09 -05:00
James Melkonian
1d8496ea21 Move agent system to server 2021-02-06 06:15:25 +00:00
Sam
5c16b0b532 Explosions now use attacks. 2021-02-02 13:07:06 -05:00
jiminycrick
152156d065 Fix rebase and scrub poise from UI 2021-01-28 17:22:39 -08:00
jiminycrick
0f244bf84b Made stunned state invulnerable to poise damage
Fixing silly error for comp creation
2021-01-28 17:22:35 -08:00
jiminycrick
dd69b5f2bc Poise stats 2021-01-28 17:22:35 -08:00
jiminycrick
af076aa87f Add knockback to poise 2021-01-28 17:22:35 -08:00
jiminycrick
e3965ae0ab Very basic functioning stun 2021-01-28 17:22:35 -08:00
jiminycrick
c83296a4ec Initial broken implementation of poise
Character movement no longer broken.
2021-01-28 17:22:33 -08:00
Sam
4014b28d19 Removed body from stats component as there is already a body component. 2021-01-22 16:50:22 -05:00
Monty Marz
ac60bf5794 Better visuals for skill button labels, don't show "0 EXP" in the SCT
Made functions that were called every frame significantly cheaper.

Final UI fixes.
2021-01-19 08:08:29 -05:00
Sam
eaa41c7dea Skills are now factored into combat rating. New formula for exp scaling per SP.
Adjust lvl up msg fade

Add female humanoid names WIP

Changed text formatting when skill is max level. Added message to show you have 0 skill points available.

Addressed a lot of comments.

various changes to UI

- fix skillbar offset
- remove CR indicators for group members
- add CR indicators to group member frames
- use unified CR indicator icon

Exp reward tweaks.

Fixed flamethrower range skill description.
2021-01-19 08:08:26 -05:00
jiminycrick
3d44ac2c35 Humanoid skill config and AI skill check
updated axe skill with correct icons
2021-01-19 08:08:05 -05:00
Sam
6ce422748c Added SkillSetConfig to specify skill sets for npcs. 2021-01-19 08:07:55 -05:00
Sam
cb3e44a811 Health can now be scaled for npcs again. 2021-01-19 08:07:40 -05:00
Sam
c0c45a1996 Purged stats, including level and experience 2021-01-19 08:07:23 -05:00
Ben Wallis
aef2637288 Refactored loadout to have public functions for each slot instead of requiring callers to use the _INDEX consts 2021-01-08 19:12:09 +00:00
Joshua Barretto
a4b9230f03 fixed Cargo.lock conflict
Fixed `crossbeam-queue` being referenced  twice in the lockfile
2021-01-07 20:25:12 +00:00
Benoît du Garreau
0cf164f33a Use assets_manager to load assets 2020-12-17 12:06:07 +01:00