aboutsummaryrefslogtreecommitdiff
path: root/src/content_sao.cpp
AgeCommit message (Collapse)Author
2018-12-05Fix player rotations (#7941)CoderForTheBetter
2018-11-28Add Lua methods 'set_rotation()' and 'get_rotation()' (#7395)CoderForTheBetter
* Adds Lua methods 'set_rotation()' and 'get_rotation'. Also changed some method names to be more clear. Instead of an f32 being sent over network for yaw, now a v3f is sent for rotation on xyz axes. Perserved Lua method set_yaw/setyaw so that old mods still work, other wise to set yaw they would need to switch to set_rotation(0, yaw, 0).
2018-08-05Prevent objects from colliding with own child attachments (#7610)SmallJoker
Also, use a better distance calculation for 'collide with objects'. Fixes the issue of a vehicle occasionally colliding with its own driver, causing one of the velocity components to be set to zero.
2018-08-02Smoothed yaw rotation for objects (#6825)SmallJoker
2018-07-08Revert 6587 - Optimize entity-entity collision (#7539)lhofhansl
2018-05-14Fix segfault in player migration and crash in log_deprecatedSmallJoker
Makes log_deprecated work when triggered from no function
2018-04-30Allow damage for attached objects, add attach/detach callbacks (#6786)SmallJoker
* Allow right-clicking on attached LuaEntities
2018-04-15FOV: Raise lower limit to avoid zoom-loading of distant world (#7234)Paramat
In the client, raise lower limit from 30 to 45 degrees, to avoid server seeing this as a zoom and loading world beyond the server-set limit. Add minimum in settingtypes.txt and enforce lower limit when set using minetest.conf. In the server, distrust the client-sent FOV if below the heuristic zoom threshold and use the player object property 'zoom_fov' to check it, to protect against hacked clients.
2018-04-06Fix SAOM (#7200)Vitaliy
* Bugfix
2018-04-03Fix various clang-tidy reported performance-type-promotion-in-math-fnLoïc Blot
2018-04-03Optimize entity-entity collision (#6587)Vitaliy
* Add IrrLicht type aliases * Add hash for IrrLicht vector * Add object map
2018-03-29Optional alpha channel support for entitiesstujones11
2018-03-29Fix a warning introduced by c5b4e541749c50805519ce040d98a0a8e5e0ec03Loic Blot
2018-03-28Add reasons to on_dieplayer and on_hpchangeAndrew Ward
2018-02-26SAO limits: Allow SAOs to exist outside the set 'mapgen limit'paramat
2018-02-02Refine movement anticheat again (#7004)sfan5
* Account for walking speed in vertical dir * Avoid undefined behaviour due to division-by-zero
2018-01-28Apply physics overrides correctly during anticheat calculations (#6970)sfan5
2017-12-04Zoom: Set zoom FOV per-player using a player object propertyparamat
Remove player object property 'can zoom'. Add player object property 'zoom fov'. Remove clientside setting for 'zoom fov'. Object property default is 15 degrees in creative mode, zoom disabled in survival mode. Needed due to zoom now loading and/or generating distant world according to zoom FOV. Update object properties serialisation version to 3.
2017-12-01CAO/SAO: Nicer velocity-controlled, interpolated rotation property:SmallJoker
'automatic_face_movement_max_rotation_per_sec'. Rotate towards the smaller angle.
2017-11-14PlayerSAO damage: Update to cope with variable player heightsparamat
Nearby codestyle cleanup.
2017-11-06Player eye height: Make this a settable player object propertyparamat
2017-09-30Make Player::peer_id server-side only and add getters and setters (#6478)Loïc Blot
* Make Player::peer_id server-side only and add getters and setters Player::peer_id has no sense client side, move it to server, make it private and add setter and getter Also add some PEER_ID_INEXISTENT instead of harcoded 0
2017-09-27Add session_t typedef + remove unused functions (#6470)Loïc Blot
* Add session_t typedef + remove unused functions u16 peer_id is used everywhere, to be more consistent and permit some evolutions on this type in the future (i'm working on a PoC), uniformize u16 peer_id to SessionId peer_id
2017-09-15ServerEnv: Clean up object lifecycle handling (#6414)sfan5
* ServerEnv: Clean up object lifecycle handling
2017-09-15Customizeable max breath for players (#6411)SmallJoker
* Customizeable maximal breath for players
2017-09-01Fix animation frame_speed and blend loosing precision due to incorrec… (#6357)sapier
* Fix animation frame_speed and blend loosing precision due to incorrect data type Add lua function set_animation_frame_speed to update the frame speed without resetting the animation to start
2017-08-30Zoom: Move enabling zoom to a new player object propertyparamat
Default enabled for no change in default behaviour. Remove 'zoom' privilege.
2017-08-24Make entity selection and collision boxes independently settable (#6218)stujones11
* Make entity selection and collision boxes independently settable
2017-08-23Respect object property hp_max field for players (#6287)SmallJoker
* Respect object property hp_max field for players This allows modders to configure the maximal HP per player * Statbars: Downscale bar to full 20 HP when exceeding this value Add default max HP for players and breath constants to builtin Document the constants * Rename PLAYER_MAX_HP -> PLAYER_MAX_HP_DEFAULT
2017-08-23Do not add base position to player selection box (#6241)stujones11
2017-08-20Modernize code: very last fixes (#6290)Loïc Blot
Last modernization fixes
2017-08-17Modernize src/c* src/d* and src/e* files (#6263)Loïc Blot
* Modernize src/c* src/d* and src/e* files * default operator * redundant init * delete default constructors on CraftDefinition childs (never used) * fix some missing init values * const ref fix reported by clang-tidy * ranged-based for loops * simple conditions & returns * empty stl function instead of size * emplace_back stl function instead of push_back + construct temp obj * auto for some iterators * code style fixes * c++ stl headers instead of C stl headers (stdio.h -> cstdio)
2017-08-09Step height: Add as a player object propertyparamat
Add settable player step height using the existing object property. Breaks compatibility with old clients, add to protocol version 35.
2017-07-27Add LuaEntity on_death callback (#6177)Loïc Blot
Add LuaEntity on_death callback This fixes #5474
2017-07-21Player collisionbox: Make settableTeTpaAka
Breaks compatibility with old clients.
2017-07-07Expose getPointedThing to LuaDániel Juhász
This commit introduces Raycast, a Lua user object, which can be used to perform a raycast on the map. The ray is continuable, so one can also get hidden nodes (for example to see trough glass).
2017-06-16C++11 patchset 9: move hardcoded init parameters to class definitions (part ↵Loïc Blot
1) (#5984) * C++11 patchset 9: move hardcoded init parameters to class definitions C++11 introduced the possibility to define the default values directly in class definitions, do it on current code Also remove some unused attributes * CollisionInfo::bouncy * collisionMoveResult::collides_xy * collisionMoveResult::standing_on_unloaded * Clouds::speed * More constructor cleanups + some variables removal * remove only write guiFormSpecMenu::m_old_tooltip * move header included inside defintions in genericobject.h * remove some unused since years exception classes * remove unused & empty debug_stacks_init * remove unused & empty content_nodemeta_serialize_legacy * remove forgotten useless bool (bouncy) in collision.cpp code
2017-06-04C++11 patchset 2: remove util/cpp11.h and util/cpp11_container.h (#5821)Loïc Blot
2017-06-03Properly remove SAO when worldedges are overtaken (#5889)Loïc Blot
* LuaEntitySAO: Remove beyond outermost mapchunk edges Based on a commit by, and with help from, nerzhul. Add 2 functions to class Mapgen: A function to calculate actual mapgen edges, called from the Mapgen constructor. A function called indirectly from content_sao.cpp per entity step to check SAO position is within mapgen edges. * Calculate borders from params not mapgen, which is not available everytime
2017-05-09Revert custom player collision box and step height commitsparamat
These caused inability to pass through 2 node high spaces or step up onto slabs or steps when a new client connected to an older server.
2017-05-07Player properties: Set correct default collisionboxparamat
Recent commit b6f4a9c7e1a4f0bac66fd6f6ff844425ac775975 removed a hardcoded player collisionbox which resulted on falling back to an incorrect default. This stopped players walking through 2-node high spaces and made the player slightly wider. Improve docs for custom player collisionbox feature and reformat nearby lines.
2017-05-06Make the player collisionbox settableTeTpaAka
2017-05-06Use stepheight from CAO instead of hardcoded valueSapier
2017-04-25Rename Scripting API files for consistencyShadowNinja
2017-04-23Player data to Database (#5475)Loïc Blot
* Player data to Database Add player data into databases (SQLite3 & PG only) PostgreSQL & SQLite: better POO Design for databases Add --migrate-players argument to server + deprecation warning * Remove players directory if empty
2017-04-22Sneak glitch: Set default to falseparamat
The 'sneak glitch' physics override now controls whether a player can use the new move code replications of the old sneak side-effects: sneak ladders and 2 node sneak jump. This completes our intention to replicate the old sneak side-effects in new code and provide them as an option that is disabled by default.
2017-04-17Sneak: Add option for old move codeparamat
Temporary option for the old move code for specific old sneak behaviour. Enabled by setting the added 'new move' physics override to false. By default 'new move' is true.
2017-04-15Partial damage cheat fix: node damages server side (#4981)Loïc Blot
* Damage cheat fix: server side * Lava/Node damages overtime server side * lava hurt interval is only for old protocol
2017-04-06Fix problems when overriding the hand:Ekdohibs
- If the hand can dig a node the item wielded can't, allow to dig it anyway. - Fix the API callbacks from setting the hand instead of the wielded item.
2017-04-06Fix multiple death messages (#5305)presstabstart
Fix multiple death messages (#3565) and damage server logs after death.