Commit graph

565 commits

Author SHA1 Message Date
Image
4663fa36c9 Spell stacking restrictions integrated using linked_timer_id and a new field, type_group_spell_id
Fix #267 - spell stacking restrictions in place

min_class_skill_req is now pulled from the database
sint32 type_group_spell_id added to spells, can use this to distinguish spells of different classes not competing (eg. wards of templar/inquisitor dont stack)
GetSpellData and SetSpellData support min_class_skill_req and type_group_spell_id
2021-02-24 12:15:10 -05:00
Image
ba0fbaee7e AddSpawnToGroup(spawn, group_id) added, AddLanguage sends update to client
Fix #292 - AddSpawnToGroup(Spawn, group_id)
Fix #296 - AddLanguage(Spawn, lang_id) now updates client with lang id update
2021-02-24 12:10:11 -05:00
Image
f06c312ddc crash fix on water region hitting a node number beyond range 2021-02-21 16:15:42 -05:00
Image
e46bc141a8 Fix "faction" SpawnSet in a LUA script 2021-02-21 16:15:30 -05:00
Image
dffca17379 Status is supported for housing now, purchase, upkeep, escrow
Fix #138
2021-02-21 16:15:16 -05:00
Image
321cd929b9 LUA GiveQuestItem supports more than one item
Fix #295 - http://cutpon.com:3000/devn00b/EQ2EMu/issues/295

GiveQuestItem(Quest, Player, Description, ItemID1, ItemID2)
2021-02-21 16:14:29 -05:00
Image
7ea4b3d51f spell concentration fix + no_interrupt in info struct
Fix #259 - spell concentration now adds/subtracts correctly, synched with client.

Fix #153 - Info struct has new UInt no_interrupt
2021-02-20 16:39:57 -05:00
Image
611456cb06 SpawnSet given more color options
Fix #265 fields added:

hair_color1, hair_color2, hair_type_color, hair_face_color, hair_type_highlight_color, face_hairlight_color, hair_highlight, model_color, eye_color
soga_skin_color, soga_hair_color1, soga_hair_color2, soga_hair_type_color, soga_hair_face_color, soga_hair_type_highlight_color, soga_face_hairlight_color, soga_hair_highlight, soga_model_color, soga_eye_color

SpawnSet(Spawn, "fieldname", "R G B")

SpawnSet also set to always be temporary unless 5th argument is set to false.
2021-02-20 16:38:28 -05:00
Image
1bff083459 fix status points and missing parry/block/avoidance fields in player::serialize add SetSpawnGroupID lua function
Fix #256 - status points function and SetInfoStructUInt can set them

Fix #273 - fields in player profile not updating

Fix #290 - add SetSpawnGroupID(Spawn, group_id) lua function
2021-02-20 16:35:25 -05:00
Image
5f657e24d6 stationary mobs should not call the runback/pausemovement 2021-02-17 06:49:43 -05:00
Image
0e86dac628 Sirius Updates #2
Fix #289 - pets don't follow
Fix #288 - FaceTarget(Originator, Target, disable_action_state) - disable_action_state defaults to true
Fix #287 - pause on hail
	RULE_INIT(R_Spawn, HailMovementPause, "5000"); // time in milliseconds the spawn is paused on hail
	RULE_INIT(R_Spawn, HailDistance, "5"); // max distance to hail a spawn/npc
Fix #286 - PauseMovement(Spawn, time_in_ms) added
Fix #261 - spawn_npcs added water_type and flying_type, temp rules added also

alter table spawn_npcs add column water_type tinyint(1) unsigned not null default 0;
alter table spawn_npcs add column flying_type tinyint(1) unsigned not null default 0;
    RULE_INIT(R_Spawn, UseHardCodeWaterModelType, "1"); // uses alternate method of setting water type by model type (hardcoded) versus relying on just DB
    RULE_INIT(R_Spawn, UseHardCodeFlyingModelType, "1"); // uses alternate method of setting flying type by model type (hardcoded) versus relying on just DB
2021-02-16 23:01:50 -05:00
Image
230e76a915 crash fix / error log when collection reward item missing in DB 2021-02-14 16:12:11 -05:00
Image
31da67dc73 bad ptr depending on certain logging 2021-02-07 22:42:38 -05:00
Image
65e7222de5 Spirit Shards, Group and Solo EXP Debt (PVE/PVP), new lua functions, rules included
xp_debt in InfoStruct changed to float use SetInfoStructFloat and GetInfoStructFloat for it

SpawnScript file is now listed in /spawn details on the last page

LUA functions added:
bool GetRuleFlagBool(category, name)
float GetRuleFlagFloat(category, name)
int32 GetShardID(Spawn)
int32 GetShardCharID(Spawn)
int64 GetShardCreatedTimestamp(Spawn)
bool DeleteDBShardID(shardid) -- using GetShardID
int32 GetCharacterID(Spawn)
bool SetAccessToEntityCommandByCharID(Spawn, CharID, command_string, val) -- same as SetAccessToEntityCommand, but using a CharID instead of player

Rules added:

RULE_INIT(R_Combat, DeathExperienceDebt, "50.00"); // divide by 100, 50/100 = .5% debt per pve death
RULE_INIT(R_Combat, PVPDeathExperienceDebt, "25.00"); // divide by 100, 25/100 = .25% debt per pvp death
RULE_INIT(R_Combat, GroupExperienceDebt, "0"); // set to 1 means we will share debt between the group
RULE_INIT(R_Combat, ExperienceToDebt, "50.00"); // percentage of xp earned to debt vs obtained xp 50/100 = 50% to debt
RULE_INIT(R_Combat, ExperienceDebtRecoveryPercent, "5.00"); // recovery percentage per period of time, 5/100 = 5% recovered (so if .5% debt, .5*.05 = .025, .5-.025=.475% debt left)
RULE_INIT(R_Combat, ExperienceDebtRecoveryPeriod, "600"); // every 10 minutes (x*60 seconds) recover ExperienceDebtRecoveryPercent
RULE_INIT(R_Combat, EnableSpiritShards, "1");
RULE_INIT(R_Combat, SpiritShardSpawnScript, "SpawnScripts/Generic/SpiritShard.lua");
RULE_INIT(R_Combat, ShardDebtRecoveryPercent, "25.00"); // recovered percentage of debt upon obtainig shard, 25/100 means 25%.  If there is .5 DeathExperienceDebt, .5*25% = .125,  .5 - .125 = .375
2021-02-07 22:19:03 -05:00
Image
761693a42a Added Monk to 360 degree avoidance per Kingdom of Sky PDF 2021-02-05 08:39:30 -05:00
Image
c83409daec Quest SetCompleteFlag now updates player the quest is tied to
Fix #276
2021-02-05 08:39:14 -05:00
Image
09f3ae4557 disabling the legends of norrath and tell on widget sign was causing rotation issue on some objects, fixed 2021-02-05 08:38:21 -05:00
Image
cd5aa30acb Fix deadlock in hateby 2021-02-04 09:12:55 -05:00
Image
c08cf0aa66 Fix crashes in /add_aa 2021-02-04 09:12:48 -05:00
Image
7cdc9b0c77 fix GetSpell on custom spell script to load the lua spell script 2021-02-04 09:12:36 -05:00
Image
08f53e621f display xp_debt in player profile 2021-02-04 09:12:23 -05:00
Image
56c2c69a40 Fix logging when there is no old process running to hang on 2021-02-04 09:12:14 -05:00
Image
6d697c0e5c remove entity commands tell and play legends of norrath from widgets and signs
Fix #184
2021-02-04 09:12:01 -05:00
Image
6f92367102 Multiple combat / functionality updates
Fix #277 - hp / power regen rewrite
Also added power_regen_override and hp_regen_override, when set to 1, you can LUA manually set hp_regen and power_regen to enforce it in code

RULE R_Spawn, ClassicRegen added.  Set to 1 means we do not have both regens when out of combat (eg. out of combat = out of combat regen + in combat regen).  In classic you only received in combat or out of combat regen individually.

Fix #278 - HatedBy now properly handled, we know when a player/spawn is being hated by other targets

Fix #275 - Parry/Riposte, Block and Dodge implemented.  Missing Block formula which will become its own issue.

Entity GetInfoStruct/SetInfoStruct, cur_avoidance, parry, parry_base, deflection, block are now floats.  Added sint16 power_regen adn hp_regen, lastly power_regen_override and hp_regen_override are int8's.

Fix #274 - Implemented stats Crushing, Defense, Deflection, Disruption, Fishing, Focus, Foresting, Gathering, Mining, Parry, Piercing, Safe Fall, Slashing and Trapping

/waypoint command now allows flushing waypoint if you do not have active target

/spawn details [x] supports behind, infront and flank

/craftitem added per EmemJr update

INSERT INTO commands SET TYPE=1,command='craftitem',subcommand='',HANDLER=526,required_status=100;

Crash fix for /add_aa hitting bad spell id

LUA Functions:

RemoveSpawnSpellBonus(spawn) - used in LUASpell script
GetSpell(spell_id, tier, custom_lua_script) - third argument added to setup custom script file

AddIconValue(spawn, value)
RemoveIconValue(spawn, value)

Fix #169 - evac now works correctly, no ghost spawn of self and you can go into combat and see damage taken/given.

Also simplified the player spawn / index map (had duplicates unneeded)

Fixed region_map_v1 throwing errors on special variable for signed vs unsigned
2021-02-01 21:46:26 -05:00
Image
b344a3f894 updated version to Sirius 2021-02-01 21:33:50 -05:00
Image
517ae12865 /bot follow id and /bot stopfollow id added
Allows to stop the bot from following you or continue following when in group.  Also fixed the default runspeed on NPC's to be set to MaxSpeed.  Should resolve any unexpected stationary npc's/bots.
2021-01-24 17:31:05 -05:00
Image
87db7f34d2 Update Bot.h 2021-01-24 17:30:08 -05:00
Image
45d38d4845 Fix disband group with depopped bot crash
Fix #272
2021-01-24 17:29:42 -05:00
Image
34d9cc7951 Fixed SpawnSet
Fix #271
2021-01-24 17:29:10 -05:00
Image
7c65970db0 Discord link updated due to invite limit on previous link 2021-01-24 17:28:36 -05:00
Image
7775ea3e66 Fix HO starter wheel pre-stage bug not honoring the abilities fields 2021-01-21 09:49:25 -05:00
Image
fb9ec032f8 Fixed deadlock caused by GetSpellSlot in against mutex MSpellsBook 2021-01-21 07:50:25 -05:00
Image
816575beca HO crash fix + temp spell e rror spam (to be changed to info later) 2021-01-20 18:12:47 -05:00
Image
742336a4c1 MakeRandomInt(min,max) and MakeRandomFloat(min,max) for LUA
Fix #266 - MakeRandomInt and MakeRandomFloat support
2021-01-19 17:32:30 -05:00
Image
6c293a46a9 Update Spawn.cpp
Fix issue #249 water swimming sinks player to ground floor
2021-01-19 17:31:51 -05:00
Image
ac1ecda564 Some equip slot checks to make sure LUA isn't abused for wrong slot numbers 2021-01-17 08:46:05 -05:00
Image
60f1130466 Some EquipmentItem locking fixes 2021-01-17 08:38:51 -05:00
Image
529a260d3e Some equipment lock fixes (not all resolved yet) plus LUA equip functions, regular mail without items works
Partial address issue #246 - normal mail can be sent/received without corrupting the packet.  'Double' 0x80 item packets need serialize support, LE was working on it for crafting, holding off fully addressing 246 with that addition.

Fix #253

bool return = SetEquippedItemByID(Entity, slot, item_id)
bool return = SetEquippedItem(Entity, slot, item)
return = false if it fails to set the item, means the slot is in use already, have to unequip first

UnequipSlot(Entity, slot, no_delete_item) -- does delete the item upon unequipping by default, otherwise set no_delete_item = true
SetEquipment(Entity, slot, type, r, g, b, h_r, h_g, h_b) -- (r = red, g = green, b = blue, h_ = highlights)
2021-01-17 08:31:12 -05:00
Image
ce7cc092d3 Wait a minute for hangup in zone instead of 30s 2021-01-17 08:28:34 -05:00
Image
13f56a07db Quest updates such as the quest flag/leaf over a kill target now displays properly
Fix #264
2021-01-17 08:27:19 -05:00
Image
38929e5c17 ModelViewer / MapEditor updated with the latest EQ2Region code / Map code utilized 2021-01-12 08:07:56 -05:00
Image
1b95c72543 Fixed doors that have a LUA script, butn o usedoor defined, they will open correctly if no usedoor function exists 2021-01-12 07:57:11 -05:00
Image
6304430e3a Quest class constructor mgmt, don't need to always create the quest 2021-01-12 07:56:54 -05:00
Image
567117054d LUA support for triggering a door and overriding via spawnscripts vs code 'always accept open door'
Fix #248
2020-12-31 17:58:36 -05:00
Image
10b1a4e8d0 allow body drops with body_drop item db entry
Fix #244

alter table items add column body_drop tinyint(3) not null default '0';
2020-12-31 17:57:53 -05:00
Image
29f797d71c Signs can spawn in with /spawn create sign
Fix #247
2020-12-31 17:56:26 -05:00
Image
7736005995 Fix some missing water detection
Fix #252

If we go outside the bounds of the region then its likely a water based area, a region debug log exists to review this behavior more.
2020-12-31 17:53:45 -05:00
Image
54db6a162e fix water in certain areas w/ no debug 2020-12-30 15:47:01 -05:00
Image
aa9f76727a Revert "Fix water in certain areas"
This reverts commit b05e4d0fb0.
2020-12-30 15:46:42 -05:00
Image
b05e4d0fb0 Fix water in certain areas 2020-12-30 15:46:07 -05:00