Commit graph

46 commits

Author SHA1 Message Date
Reloecc
0c51385614
Add servspecopt NpcMinimumMovementDelay (#642)
Co-authored-by: jan.cernin <jan.cernin@3it.cz>
2024-04-24 17:02:13 +02:00
Kevin Eady
09bb6d97f3
Add servspecopt BoatSailsCollide (#640)
* Implementation

* Add tests

* Update docs

* Rename test function

* Tweak boat cleanup if test fails

* Address review comments
- check objtype passable in boat unregself
2024-04-18 14:59:23 +02:00
turleypol
d848deae18
POLLOG* macros use the new formatting (#598)
* POLLOG* macros use the new formatting
removed all old logging functions

* removed old fmt lib from everything except StreamWriter
removed unneeded functions

* fixed review comments
2024-01-16 17:55:42 +01:00
turleypol
ec91d7cc3c
Codecleanup from #581 (#583)
* is_visible_to_me checks now also in_visual_range
added obj::distance_to
fixed warnings

* no magic numbers for snprintf
2023-12-26 17:47:40 +01:00
turleypol
d873551c25
removed pol_distance/inrange* functions (#556)
* removed pol_distance/inrange* functions
replaced lastxyz with Pos4d

* replaced WorldIterator::InVisualRange with InMaxVisualRange returning
all objects in maximum update range. Adapted each caller, they now have
to check in_visual_range
Multis should now be send to clients with its footprint in mind.
added testscript for boat moving in/out of range

* removed non pos InRange/InBox functions
gamestate.update_range doesnt need to be a Vector, renamed

* corrected send_action_to_inrange

* replaced clip methods with general numeric type clamp function

* added Range2d constructor with radius

* splitted update_range. chr has now a los_size (how far can it see) and
an object has a visible_size (0 for objects 1/2 footprint for multis)

* use in_range instead of pol_distance

* corrected order of checks

* fixed warnings

* fixed visual size of multis
testclient added wornitems pkt support
added tests for los

* corechanges
2023-12-25 22:02:52 +01:00
murderinc
6e9b28e0e0
Add ServSpecOpt UndoGetItemEnableRangeCheck and UndoGetItemDropHere to control get item undo behaviour (#547)
* Add Character member .parrychance_mod, additive modificator of the parry_chance from the defender when it has shield equipped. Add parrychance_mod to parry formula.

* Add repsys.cfg General section PartyHarmFullCountsAsCriminal 1/0 default 1. If 0 OnHarm does not set mobile to criminal when they are in the same party.

* fix settings/party namespace

* fix pointer

* add ServSpecOpt UndoGetItemEnableRangeCheck and UndoGetItemDropHere undo getItem behaviour options

* fix code style len

* add missing comas

* special case for no drop item

* if no drop item and was not able to return to original container try to put to backpack

* fix remove item in range (was still displaying item in container, but was not really present there)

* add first simple test

* remove all tests

* remove all tests

* do not export test function

* ReloadConfiguration add reload servspecopt; Testsuite add fileaccess and servspecopt files; Add test fro undo get item

* check what produce SanitizerBuild fail

* run all test to fail on ThreadSanitizer Build

* Add repsys.cfg General section PartyHarmFullCountsAsCriminal 1/0 default 1. If 0 OnHarm does not set mobile to criminal when they are in the same party.

* add ServSpecOpt UndoGetItemEnableRangeCheck and UndoGetItemDropHere undo getItem behaviour options

* add missing comas

* fix remove item in range (was still displaying item in container, but was not really present there)

* remove all tests

* check what produce SanitizerBuild fail

* run all test to fail on ThreadSanitizer Build

* test new reload conf fix

* double check that build successful

* fix test comments; fix change log

* add DefaultAccessibleRange = 2 for tests

* delete unnecessary servspecopt file

* change check to toplevel_pos; add test for toplevel_pos

* try to update backpacks for client; increase distance to on drop backpack

* add heavy robe for tests; use robe instead flooding client with arrows

* fix test messages

---------

Co-authored-by: Oleksii Rebreniuk <oleksii.rebreniuk@shopit.se>
2023-11-01 19:22:29 +01:00
Fernando Rozenblit
f3a362a151
Fix boat packet overflow and add setting to control the refresh of decay timer for items on a boat's deck (#354)
* Fix overflow of new HSA packets when a boat has too many items on the deck. These packets will now be truncated.
* Added setting in ssopt to control the refresh of the decay timer for items on deck after a boat movement
2021-03-08 16:05:22 +01:00
Kevin Eady
f7ed10fa01 add ssopt EnableWorldMapPackets 2020-03-04 19:37:37 +01:00
GIB
7c627437af
Noninvasive dynaprops (#89)
Added new mobile and item props from the AOS update. Please read docs to understand how they are applied and how they stack from items to mobiles.
2019-06-17 18:58:58 +08:00
turleypol
9cfb4ec5a5 moved pkt headers into network folder 2018-12-30 21:35:54 +01:00
esdete
dc2d29b433 NULL to nullptr 2018-07-31 14:30:29 +02:00
Gabriele Tozzi
b72f725e02 Whitespace fixes 2018-04-03 04:13:03 +02:00
turleypol
3afc41241b
CMake on windows (#48)
CMake can now also be used for windows
2018-02-24 22:34:55 +01:00
Fernando Rozenblit
daf4e35150 Fixed Accessible(). It didn't take a range into account before. Check core-changes.txt for more information! 2018-02-11 14:59:20 +01:00
turleypol
dbb25bdb62
Include and buildsystem cleanup (#45)
Include cleanup
Reworked buildsystem (Linux only)
Removed dynamic libs, Linux now again uses static linking (like windows)
2018-01-29 21:55:48 +01:00
turley
189cad3479 Formating everything
Authors are not forced to use the clang-format setting, but should
atleast be inspired by the style.
The only thing which is now not allowed are tabs for ident/alignment!
2016-02-19 19:26:35 +01:00
turley
ed7b16b233 normalized lineendings 2016-02-11 22:54:43 +01:00
Gabriele Tozzi
d1ac902926 Documentation: reformatted headers for DoxyGen 2016-01-28 14:52:40 +01:00
Gabriele Tozzi
1e9091abc5 Added: New servspecopt.cfg option DefaultCharacterHeight (1-32)
This replaces PLAYER_CHARACTER_HEIGHT previously defined in uoconst.h
2015-09-06 08:06:16 +02:00
turley
79dff37246 Splitted gamestate external. 2015-01-02 14:46:44 +01:00
turley
88ec380941 Moved globals into separate directory. 2014-12-30 15:20:59 +01:00
turley
2737393f2a Tried to put all global vars into centralized structures.
Currently plib/systemstate, pol/uvars, pol/ucfg, pol/multi/multidef

Next step should be to split them based on usage, since its currently a bit of include hell...
2014-12-30 14:14:41 +01:00
frozenblit
943b820eba More and more cleanups
Added some missing include guards, corrected wrong include guard names.
Removed more stl_inc.h includes.
2014-11-02 19:40:40 +01:00
turley
31ee263a45 activated new logging facility 2014-01-18 13:29:38 +00:00
turley
99d7dc3037 namespaces...finally :)
Hard part is finished every file is touched. Namespaces are currently rough named by directory name.
Maybe we could split it more
2013-12-21 09:10:46 +00:00
dsourc
4cb331084f Added: ssopt.MobilesBlockNpcMovement ( default true ) to determine if mobiles block the movement of npcs ( Based on andenixas patch http://forums.polserver.com/viewtopic.php?f=41&t=5070 ) 2013-08-28 12:56:44 +00:00
KevinEady
72bf851e18 09-25-2012 Kevin:
Fixed:      Guild and alliance messages no longer send as regular speech messages. They are sent to all guild or alliance members online.
  Added:      servspecopt.cfg CoreGuildMessages=0/1 default 1 to determine if core should handle guild and alliance messages.
2012-09-26 00:38:47 +00:00
turley
acf875f9df Changed: UnicodespeechEvent additional Member "tokens" if speech has (speech.mul) Tokens, gives array of spoken TokenIDs
Added: servspecopt.cfg SeperateSpeechTokens=1/0 default 0 when set RegisterForSpeechEvents() and EnableEvents/DisableEvents behave different
Added: uo:RegisterForSpeechEvents Flags LISTENPT_HEAR_TOKENS,LISTENPT_ONLY_HEAR_TOKENS
Added: SYSEVENT_TOKEN_SPEECH:=0x4000 and SYSEVENT_TOKEN_GHOST_SPEECH:=0x8000 for uo:EnableEvents/DisableEvents
Note: if SeperateSpeechTokens is set you can control which events you get,
          for NPCs you only get speech with tokens if you set SYSEVENT_TOKEN_SPEECH/SYSEVENT_TOKEN_GHOST_SPEECH
          and non Token speech with SYSEVENT_SPEECH,SYSEVENT_GHOST_SPEECH
          for RegisterForSpeechEvents() you get speech with and without Tokens when setting LISTENPT_HEAR_TOKENS and only speech with Tokens
          setting LISTENPT_ONLY_HEAR_TOKENS
Note: Token and nonToken Eventtype is still the same (SYSEVENT_SPEECH)
2012-01-14 12:32:53 +00:00
muaddib_pol
5f9ecf1d76 + ToDo updated for format.
- Removed a useless comment of mine from ssopt.cpp
+ Bored, added ignoring of sou files to ide folder. Like we'll ever use this anyway lol. :)
2011-12-09 20:11:22 +00:00
turley
c9cabbf9a2 Added: DestroyMulti(house) returns error "House currently being customized."
Added: house.cancelediting(chr, drop_changes) will stop editing mode.
drop_changes 1/0 if true drops all non committed changes
Errors: "House is not custom","House is currently not been edited","Character is not editing this house"
Added: Syshook CloseCustomHouse(mobile, house)
called after client quits editing, or when house.cancelediting() is called
return value is ignored
Added: servspecopt.cfg
"SpeedHack_MountRunDelay"  default 80 ms
"SpeedHack_MountWalkDelay" default 180 ms
"SpeedHack_FootRunDelay"   default 180 ms
"SpeedHack_FootWalkDelay"  default 380 ms
Change them on your own risk
2011-09-03 08:15:59 +00:00
AustinHeilman
9247175771 Added: servspecopt.cfg flag "HonorUnequipScriptOnDeath". If true, the core will honor the return value of an unequipscript when trying to move it to the corpse. 2011-08-29 23:06:26 +00:00
AustinHeilman
c438ba4dac Added ServSpecOpt.cfg flag 'ScriptedMerchantHandlers' Default is 0 (works as it always did) - 1 will require scripting merchant AI to do it. 2011-08-15 21:48:53 +00:00
frozenblit
1ecb821945 fixed strncpy in ssopt_parse_totalstat(), as the function by default doesn't null-terminate if src string is larger than dst. (maybe use stracpy from clib?) 2010-07-10 03:04:24 +00:00
turley
e10cd27cea sync: shini - long to int (prerequisit for 64-bit) 2010-03-29 14:52:03 +00:00
turley
270b30d2bb Speedhack Prevention System 2010-01-22 11:31:47 +00:00
turley
0677cc3e2c Fixed: (Arkham) ip byteorder for gameserverlist if hostname is given
Changed: (Tomi) gargoyle char create equips 0x1F03 robe
Added: (Tomi) ssopt.NewbieStartingEquipment 1/0 (default 1) to determine if equipped items 
            created during the character creation should be newbied or not.
Changed: misc/oncreate.src added third param profession 
            some clients doesnt send skillvalues if profession is given now core doesnt stop char creation, 
            based on third param you can set the skillvalues in oncreate
Added: more errorchecks to char create, it now checks if hair/beard/face can be equipped (fixes crash with latest OSI
            tiledata where facial horn has the same layer as "normal" horn)
2010-01-14 10:40:47 +00:00
turley
bb4fb33a70 Added: 0xF3 packet is send instead of 0x1A for clients >= 7 or UO:SA clients - Tomi
Added: polcfg Max_Tile_ID 0x3FFF / 0x7FFF (default 0x3FFF)
            since client 7.0.0.0 item graphic can be definied up to 0x7FFF - Tomi
Added: "SA" for expansion type. This includes sending 0x187DF with packet 0xB9. - Tomi
Added: support of new map TerMur - Tomi
Note: uoconvert param: 
            realm=termur mapid=5 width=1280 height=4096
Added: Gargoyle support (race = uo:RACE_GARGOYLE)
Note: graphics are: 
            UOBJ_GARGOYLE_MALE         0x029A
            UOBJ_GARGOYLE_FEMALE       0x029B
            UOBJ_GARGOYLE_MALE_GHOST   0x02B6
            UOBJ_GARGOYLE_FEMALE_GHOST 0x02B7
Added: support of UO:KR/SA char create packet 0x8D
Added: new gargoyle hair & beard 0x4258-0x425F & 0x42AD-0x42B0
Added: UO:KR/SA face support
Added: ssopt.SupportFaces 0/1/2 (default 0)
            set it to 1 to support basic faces
            set it to 2 to support roleplay faces (sets 0x2000 flag in 0xB9 packet)
Note: Faces are normal items (like hair/beard) with layer 15, objtype 0x3B44-0x3B57
            roleplay faces 0x3B4E-0x3B57
2009-12-02 15:28:42 +00:00
turley
8aabb217c4 ServSpecOpt CoreHandledTags (default 0xffff)
bitfield to determine which tags are displayed on singleclick, current used bits are:
0x1  [title_guild]
0x2  [frozen]
0x4  [paralyzed]
0x8  [squelched]
0x10 [deafened]
2009-11-19 12:04:14 +00:00
turley
6c4e00b05d Changed: chr.setlightlevel() now supports endless duration (-1) return is the new gameclock value - Tomi
Added: [paralyzed] & [deafened] @ singleclick packet - Tomi
     Added: ServSpecOpt CoreSendsSeason 1/0 (default 1)
            Determines if the core should send season packet on char creation/logon/reconnect and realm 
            change based on the season entry in realm.cfg.
            ServSpecOpt CoreHandledTags 1/0 (default 1)
            if true then core handles the tags in the name for singleclick packet when char is 
            frozen, paralyzed, squelched or deafened. - Tomi
   Removed: "You cannot insert that item into the container." sysmsg after container CanInsert script 
            returns 0 - Tomi
   Changed: uo::UpdateMobile(who, flags:=0)
            if flags is 0 old behaviour it sends update Mobile packet 0x77, 
            if set to 1 it sends recreate packet 0x78 - Tomi
2009-11-19 11:03:15 +00:00
turley
7c54d3175f gcc fixes, minor cleanup 2009-11-06 16:07:47 +00:00
turley
5fe200fb8b Added: ServSpecOpt SpeechRange default 12
ServSpecOpt WhisperRange default 2
            ServSpecOpt YellRange default 25
2009-10-12 17:21:16 +00:00
muaddib_pol
631ed68c4a + All projects now using literal paths for includes.
+ Disabled Compiler warning 4244 in VS for str.cpp and strutil.cpp due to fact they are false warnings there.
2009-09-12 23:51:20 +00:00
turley
b094582322 added ServSpecOpt CarryingCapacityMod (double default 1.0) as * modifier for mobile max_weight
changed armorzone sets to unsigned short
2009-09-09 14:00:30 +00:00
muaddib_pol
49072c3c41 + To-Do file updates
+ Beginning of Mobile and Module source file organization
+ Makefile.Gcc updates
2009-09-06 14:11:24 +00:00
muaddib_pol
6bef682295 + Up to date Packets Zip.
+ Moved combat related ssopt entries to combat.cfg
2009-09-04 03:18:29 +00:00
muaddib_pol
d032ee448f + POL is now, open source. 2009-09-03 19:44:42 +00:00