580 Commits

Author SHA1 Message Date
Akkadius
d64205124f Implemented #repopclose [distance in units] - Used for development purposes, defaults to 500 units
- Real case use: Large zones with 700 NPC's and you are making fast quick tweaks to nearby NPC's you can refresh just the NPC's around you instead of all in the zone
- This can be quite the time saver
- This command will depop all NPC's and only respawn the NPC's that are 500 units around you or unless you specify otherwise
2015-11-07 13:20:24 -06:00
Akkadius
53c8d63981 Implement Perl Export Variable settings map (Huge performance boost) (Preliminary) 2015-11-01 15:59:24 -06:00
Uleat
a1089fccd6 Implemented 'Inventory Snapshot' feature 2015-09-25 23:07:05 -04:00
Kinglykrab
53292a99a2 Fixed #npcedit rangedtype. 2015-08-28 15:15:19 -04:00
Kinglykrab
eb5e0ee72c New commands.
- #untraindisc [spellid] - Untrains specified discipline.
- #untraindiscs - Untrains all disciplines.
2015-07-16 21:25:24 -04:00
KimLS
b7cd0b223f Added two other commands to let you do shared reloading on your own without the hotfix command. Also changed how world determines a zone's address 2015-07-16 01:51:10 -07:00
KimLS
9f1f36cca6 Merge from master 2015-07-15 23:15:25 -07:00
Michael Cook (mackal)
1e75b4ba77 Implement Triple Attack as a skill
See change log for more details
Optional SQL will max toons triple attack skills
2015-07-06 16:11:00 -04:00
Kinglykrab
e2ac647e03 Bot saylinks and command aliases. 2015-07-05 23:30:38 -04:00
Kinglykrab
59e40b3fbe Files changed: command.cpp, questmgr.cpp
- Added command aliases: #findzone -> #fz, #reloadquest -> #rq
- Added instance ID to $client->GoToSafeCoords() in quest::safemove();
2015-07-03 14:57:48 -04:00
KimLS
214873c139 Merge conflicts abound and now are fixed 2015-07-02 20:12:51 -07:00
ngdeao
850a908874 Fixed #modifynpcstat runspeed <value>, to work with new speed calculations.
Updated #showstats and #npcstats for new speed calcs to display speeds again in familiar float format.
Improved client movement while AI Controlled, such as feared and charmed.  Movement will be much smoother from clients perspective.
2015-06-29 22:57:37 -06:00
KimLS
3dd89b0daa Polishing shared memory hotfix code 2015-06-23 22:04:48 -07:00
KimLS
67143f1b8a Initial work on shared memory hotfixes 2015-06-23 17:39:06 -07:00
KimLS
77f050b653 setaapts command will now let you have up to 5k AA points, from 200. Removed the need to specify a prev_id in alternate_abilities table it can deduce that by itself. 2015-06-21 01:25:34 -07:00
KimLS
d5098a56e0 Timers and some more loading stuff 2015-06-20 19:44:00 -07:00
KimLS
d3280c9676 Removing old code, need to reimplement warcry and rampage still at least 2015-06-16 12:33:14 -07:00
KimLS
34f0106437 Added reset aa command for rof2 (50 status req), fixed #resetaa command 2015-06-15 13:57:18 -07:00
KimLS
65ac9683a3 Removed fluff code, added drakkin heritage and status can use modifiers to aa abilities 2015-06-12 13:39:20 -07:00
KimLS
1589169200 AAs should load from character data now, though will be fucked up if you already had stacked aas. 2015-06-10 22:46:57 -07:00
KimLS
33c1c7c3e4 More packet figuring out... 2015-06-09 16:17:09 -07:00
KimLS
dbbe6b5a91 Experimenting with packets 2015-06-09 12:39:39 -07:00
Akkadius
ee136881c8 Implemented disjointed zone based time, this can be triggered via quest methods
Added parameter to LUA and Perl method settime(hour, minute, [update_world = true])
	- If update_world is false, the zone will then unsubscribe itself from regular worldserver time synchronizations
Added DB ver 9082 with update to add npc_types texture columns if table does not currently have them
2015-05-25 23:48:11 -05:00
SecretsOTheP
788959a5e2 Haynar's movement fixes.
Changes Speed from float to int. EQ client deals with int step locs better than it does floats according to Haynar's testing.

This also contains mob runspeed changes. I recommend you set runspeeds to start in the DB 1.25 for NPCs below 1.25 which will match player runspeeds almost equally. Existing DBs will need to be updated.

General Cleanup of MobAI functions. Mobs now change their heading on AIMovement timers if their targets' heading has changed since that time. This prevents players from being able to land backstabs inbetween mob swings.

Charmed/feared players now send the appropriate packet, there was a missing CastToClient() in spells that was missing.

Mob runspeed can no longer be snared to 0%, instead, 1% of their base runspeed is the maximum. Roots apply as roots instead of a modifier under this code.

There is going to be bugs with this code. It's better we push through it than revert it. Sanctuary has been running this for a good week and we've worked through the issues.

Misc updates:
Exported some variables to perl, including:

EVENT_ITE_CLICK_CAST:
EVENT_ITEM_CLICK:
spell_id - returns the spell_id of the click effect.
return value - cancels the cast.

EVENT_DROP_ITEM:
quantity - returns the # of items dropped in the packet. If the item has charges, charges are returned here instead.
itemname - name of the item being dropped
itemid - id of the item being droppped
spell_id - spell_id associated with the item's click effect.
slotid - the inventory slot id of the item being dropped.
return value - cancels the item from being dropped.

Added Perl function: CalcEXP. Calculates the experience you would gain for an NPC that cons a specific con value to you.

Fixed a bug where you would receive the group experience bonus and group experience messages for simply being in a group, regardless of the player being in the same zone as you.
2015-05-25 12:35:53 -04:00
SecretsOTheP
4a4a0c5e8b * -Exported additional entity IDs for dropped items to perl upon EVENT_CLICK_OBJECT (clicker_id) and EVENT_PLAYER_PICKUP ($picked_up_entity_id)
-Identified Size / SolidType fields in newer clients and properly exported it to EQEmu for use in UF, RoF, RoF2 via perl accessors. (Should work in LUA, no testing was done though for LUA)
-Added a sanity check for size to objects. Any size over 5000.f seems to crash the newer clients' graphical engines and PEQ has some containers filled in with bogus values.
-Added the ability to return a value on perl function EVENT_PLAYER_PICKUP which sends a fake dropped item ID to the client to generate the appropriate client response so the item can stay on the ground and not be 'picked up'. Should also work in LUA, didn't test LUA.
-Renamed unknown008 and unknown010 to size and solidtype respectively for objects.
2015-05-06 18:50:08 -04:00
Paul Coene
19fc02c284 Merge remote-tracking branch 'upstream/master'
Conflicts:
	changelog.txt
	world/worlddb.cpp
2015-02-23 08:13:09 -05:00
Uleat
e4be4d6895 Pre-purposed clean-up 2015-02-17 13:58:26 -05:00
Paul Coene
eaf5cea908 Fixed a comment 2015-02-14 10:29:43 -05:00
Akkadius
1966324112 Changed NPCTypes Data to bulk load when the zone loads or Repops, this bulk loading is stored in the npc_types cache 2015-02-12 19:57:24 -06:00
Uleat
c9cd733d9a Updated command #iteminfo 2015-02-06 12:09:26 -05:00
Uleat
2bf2485b4c Enforced const_interator returns on const_iterator return types in Inventory and ItemInst 2015-02-06 07:57:15 -05:00
Akkadius
02e56331ec Have is_category_enabled update appropriately when settings are set via #logs 2015-02-01 19:57:02 -06:00
Michael Cook (mackal)
b592d2e786 clang format some stuff in zone/command.cpp 2015-01-30 18:32:28 -05:00
Akkadius
a698eff106 Natedog: Fix #gassign to work more appropriately and simplify the function 2015-01-25 23:27:44 -06:00
Akkadius
5266d7b25c Add extra checking at the root of Log.Out to check if the category is subscribed to any of the output methods before trying to parse message strings and then pass them to the sub output functions and THEN perform log_setting checks and debug_level checks.
I performed a unit test of 1,000,000 log writes, there is hardly any difference.

#::: Before Checks
[01-25-2015 :: 03:15:35] [999999] Test #2... Took 17.940001 seconds

#::: With Checks
[01-25-2015 :: 04:10:55] [999999] Test #2... Took 18.018000 seconds
2015-01-25 04:24:05 -06:00
Akkadius
5e107a9936 Help Travis figure out what time of day it is 2015-01-25 02:23:05 -06:00
Akkadius
13af3e35e2 Removed COMMANDS_LOGGING ifdef 2015-01-24 22:48:06 -06:00
Akkadius
36e01cb9f1 Adjust some commands that default to 0, change Log commands to Commands category instead of Error 2015-01-24 22:46:40 -06:00
Uleat
cc1d7d54c2 Implemented mob equipment light sources 2015-01-24 22:00:06 -05:00
KimLS
34bec5913b Merge plus changed getposition to return a reference 2015-01-24 11:48:06 -08:00
Akkadius
d0595e3794 Remove log junk from command_spawn 2015-01-24 04:38:22 -06:00
Akkadius
04623b2c0c Remove preprocessor and convert log message 2015-01-24 04:31:09 -06:00
Akkadius
e18a49a974 Cleanup in command_guild 2015-01-24 04:28:41 -06:00
Akkadius
50ccb52465 Adjust logging in command_time 2015-01-24 04:27:32 -06:00
Akkadius
d7a2387f3d Sort command_init alphabetically and cleanup 2015-01-24 04:22:33 -06:00
Akkadius
734a2c42b2 Remove some processor and cleanup logging around Commands 2015-01-24 04:17:58 -06:00
Akkadius
e1747c43b9 Remove occurrences of LogSQL 2015-01-24 03:49:20 -06:00
Akkadius
8ba8a1e6fa Remove occurrences of LogSQL 2015-01-24 03:49:14 -06:00
Akkadius
4e9cfa7c30 Remove occurrences of LogSQL 2015-01-24 03:49:13 -06:00
Akkadius
2d24b1f37e Remove occurrences of LogSQL 2015-01-24 03:49:12 -06:00