Closed xwerswoodx closed 5 months ago
Fixed: Missing fCheckOnly checks block the taming skill. (Issue: https://github.com/Sphereserver/Source-X/issues/1219) --> Taming works, followerslots are always 1 (combination of both sphere.ini flags activated), not sure if its intended or not. I assume that If I activate both flags, it should read the followerslots from chars.
Fixed: The wrong input of Kill trigger, to make it compatible with older sphere versions. (Issue: https://github.com/Sphereserver/Source-X/issues/1210) --> WORKS
Fixed: ARGN1 (reap amount) doesn't updated depends on the amount left on bit. (Issue: https://github.com/Sphereserver/Source-X/issues/1224) --> WORKS
- Fixed: Missing fCheckOnly checks block the taming skill. (Issue: Taming and OF_PetSlots bug? #1219) --> Taming works, followerslots are always 1 (combination of both sphere.ini flags activated), not sure if its intended or not. I assume that If I activate both flags, it should read the followerslots from chars.
It because FOLLOWERSLOTS is an old system, to get the total follower amount in new system, you need to use CURFOLLOWER command directly, .xshow CURFOLLOWER gives the follower count in the list, FOLLOWERSLOTS is only works if new system is disabled. You can use CURFOLLOWER command instead of FOLLOWERSLOTS as CURFOLLOWER returns the FOLLOWERSLOTS if new system is disabled.
Damn this PR will be fat AF 🤣 👌
Damn this PR will be fat AF 🤣 👌
Look like a branch and not a PR
Honestly important thing is making sphere ready for X1 as soon as possible, I tried my best to fix issues I could manage to fix, but there are still couple of issues need to be fixed before release
That's excellent work! Could you please wait a little before adding more code to this PR? It will be a mammoth to review (and debug, if ever needed) :P
That's excellent work! Could you please wait a little before adding more code to this PR? It will be a mammoth to review (and debug, if ever needed) :P
Sure, just updating the things for review.
Just tried the latest version of PR and most of my system are not working. There is something different with tags returning 00 instead of 0 and same with local.x returning 01 if it should be 1. 😲 Is this intended?
Just tried the latest version of PR and most of my system are not working. There is something different with tags returning 00 instead of 0 and same with local.x returning 01 if it should be 1. 😲 Is this intended?
Yes, they should return in hex like older versions, it was a mistake that we changed it to decimal, it wasn't intentionally, so you can use dTAG to get them decimal like older versions. We discussed it on here;
https://github.com/Sphereserver/Source-X/pull/1222#discussion_r1576632688
Yes, they should return in hex like older versions, it was a mistake that we changed it to decimal, it wasn't intentionally, so you can use dTAG to get them decimal like older versions. We discussed it on here;
I liked the new X behavior... No really agree to revert back...
I liked the new X behavior... No really agree to revert back...
It's understandable, we can discuss about it, honestly using different system between versions, causes many script-side issues, so I agree it cause many issues when we change it in middle of development, but honestly I can't decide this by myself.
Since day one i'm on X I tought it was a new feature and changed all my script. Impact is big on dialog and when you see visual value or when you compare two data. I talked about thia 4 years ago and it was say it was like this. I appreciate all work you do when bug is fixed but this change make frustrating huge difference when coding shard.
Im curious how it was on 56b and 56c since I dont remember we ever needed to use anything else than just simple check for tag.xxx returning decimals. Tbh taking some functionalities from the old spheres is always iffy, since we all know they were all over the place.
If in the X its working for years some way, mistake or not I think everyone using X is now used to it and cant imagine anyone appreciating this change. For servers in process, not launched, OK extra annoying work to change everything and check that it works again. But for someone already running live shard and wanting to keep with the updates, this can break a lot of stuff.
Whatever the decision will be, i guess we adapt to it and still appreciate rest of your work. 👍
Additionally I guess we can always revert this change for ourselves and recompile everytime there is new update.
Also i'd like to discuss issue #1171 since it's addressed in this pr
Im curious how it was on 56b and 56c since I dont remember we ever needed to use anything else than just simple check for tag.xxx returning decimals. Tbh taking some functionalities from the old spheres is always iffy, since we all know they were all over the place.
If in the X its working for years some way, mistake or not I think everyone using X is now used to it and cant imagine anyone appreciating this change. For servers in process, not launched, OK extra annoying work to change everything and check that it works again. But for someone already running live shard and wanting to keep with the updates, this can break a lot of stuff.
Whatever the decision will be, i guess we adapt to it and still appreciate rest of your work. 👍
Additionally I guess we can always revert this change for ourselves and recompile everytime there is new update.
Really does that change break so much stuff? I'm quite sure that on 56d and before everything returned hex values. That was the reason for implementing in the past dtag, dlocal etc. I don't remember when i changed that part of code, but i can say that change wasn't from the start of the fork. I see the benefits of both returning hex and decimal, i'd say to keep the historical behavior but i'd like to understand how this revert would actually impact shards. Obviously some changes are needed to be done on scripts, but really that much?
Once we sort out this and the new targ spellflag, i think this pr is ready for being merged
Once we sort out this and the new targ spellflag, i think this pr is ready for being merged
I revert back the spellflag update as SPELLFLAG_FX_TARG flag enough for event, I tested it and seems like effects works with spellflag_fx flags instead of spellflag_targ flags.
For decimal/hexadecimal return, we were discussing it in discord channel.
Really does that change break so much stuff? I'm quite sure that on 56d and before everything returned hex values. That was the reason for implementing in the past dtag, dlocal etc. I don't remember when i changed that part of code, but i can say that change wasn't from the start of the fork. I see the benefits of both returning hex and decimal, i'd say to keep the historical behavior but i'd like to understand how this revert would actually impact shards. Obviously some changes are needed to be done on scripts, but really that much?
From the first quick look, it broken all the dialogs using any kind of tags or locals. Which in general is telling me, that I will need to go through every single tag and local condition, test ingame if its work, and if not add one letter to make it work. For me personaly that means go through everything ive been working on for year and half and marked as done and tested, test and check again. I personaly dont see any benefits from using 16 as default, but im just lil pup to understand the purpose.
As I said, thats just me, if the change is needed or should have been done long time ago, we shall adapt.
Really does that change break so much stuff? I'm quite sure that on 56d and before everything returned hex values. That was the reason for implementing in the past dtag, dlocal etc. I don't remember when i changed that part of code, but i can say that change wasn't from the start of the fork. I see the benefits of both returning hex and decimal, i'd say to keep the historical behavior but i'd like to understand how this revert would actually impact shards. Obviously some changes are needed to be done on scripts, but really that much?
From the first quick look, it broken all the dialogs using any kind of tags or locals. Which in general is telling me, that I will need to go through every single tag and local condition, test ingame if its work, and if not add one letter to make it work. For me personaly that means go through everything ive been working on for year and half and marked as done and tested, test and check again. I personaly dont see any benefits from using 16 as default, but im just lil pup to understand the purpose.
As I said, thats just me, if the change is needed or should have been done long time ago, we shall adapt.
We decided to add h keyword (hTAG, hLOCAL, etc.) and an ini switch for default return, you can add DecimalVariables=1 in sphere.ini to make sure TAGs and LOCALs return as decimal instead of hexadecimal.
Fixed: The issue that causes more1/2 not saved correctly for spellbook. (Issue: #1221)
Fixed: Players automatically become criminal to everyone when attack someone. (Issue: #1213)
Fixed: CallGuard not working correctly on the players that only criminal for target. (Issue: #1213, #1040)
Fixed: The wrong input of Kill trigger, to make it compatible with older sphere versions. (Issue: #1210)
Added: New Layer LAYER_STORAGE (80) to let scripters create their own storage system. (Issue: #1209) Only t_container and t_container_locked can be equipped to this layer.
Changed: Decay time removed from spawned items, as Sphere gives tons of invalid link errors when items decayed. (Issue: https://github.com/Sphereserver/Source-X/issues/1218)
Added: New spellflag SPELLFLAG_ASYNC to randomize field timers like old sphere versions. (Issue: https://github.com/Sphereserver/Source-X/issues/1169)
Added: New spellflag SPELLFLAG_TARG_ONLYSELF to make spell only be used on character himself. (Issue: https://github.com/Sphereserver/Source-X/issues/1171)
Changed: SERV.LOG command changed to support console colors. (Issue: https://github.com/Sphereserver/Source-X/issues/1158)
Added: Sphere.ini setting CanPetsDrinkPotion (True in default) to make pets drink potion when their owner drop it on it. (Issue: #1147) CanPetsDrinkPotion = 0 can be added to sphere.ini to disable that.
Fixed: Missing fCheckOnly checks block the taming skill. (Issue: #1219)
Added: New trigger @Drink added for characters. (Issue: #1162)
Added: New trigger @AfkMode added for characters. (Issue: #1161)
Added: New trigger @Reveal added for characters. (Issue: #1157)
Added: New triggers @ArrowQuest_Add and @ArrowQuest_Close added for characters. (Issue: #1116)
Added: New function triggers f_onaccount_block and f_onaccount_unblock. (Issue: #1156)
Added: New function trigger f_onserver_broadcast. (Issue: #1145)
Added: Two new LOCAL variables ItemPoisonReductionChance and ItemPoisonReductionAmount to @Hit trigger. (Issue: #1102
Added: You can now use TDATA2 for setting default cooldown (delay) for drinks. (Default: 15secs for potions, 1500 secs for ales) (Issue: https://github.com/Sphereserver/Source-X/issues/1162#issuecomment-1920279760)
Changed: Reactive armor range increased from 1 to 2 in default.
Fixed: Possible fix for accesses and bans not loading for multis. (Issue: #1223)
Fixed: Possible fix for wrong damage calculation of slayer bonus damage. (Issue: #1179)
Added: REGION_FLAG_HOUSE (0x0100) for houses. (Issue: #1154)
Added: ARGO object for @MurderMark trigger to get killed character.
Fixed: ARGN1 (reap amount) doesn't updated depends on the amount left on bit. (Issue: #1224)
Added: ARGO to get bit uid under @ResourceGather and @RegionResourceGather triggers.
Fixed: Possible fix for the OnRegionTrigger getting called on invalid region while multi creating/removing. (Issue: https://discord.com/channels/354358315373035542/355031741569826816/1223978839336554627)
Changed: dword CAN flags changed with uint64 to increase limits.
Fixed: Possible fix for chat debugs. (Issue: #1212) (Issue: https://discord.com/channels/354358315373035542/483721253773901824/1224030729906815077)
Added: "MOREX" key to set amount of fruit given when the crop ripped.
Changed: Now @Create trigger called when crop grow to let people to change MORE values in stages if needed.
Added: @ResourceTest trigger added for crops. (This trigger works separately for every stage)
Added: @ResourceGather trigger added for crops. (This trigger works separately for every stage)
Fixed: Possible fix for invalid ResourceID warnings. (Issue: #1071)
Fixed: Missing REGION reference for multis. (Issue: #1228)
Added: SPELLFLAG_NO_ELEMENTALENGINE (0400000000) as spellflag to ignore default elemental engine behaviours for specific spells. (Issue: #1230)
Fixed: An issue that causes T_MULTI_CUSTOM keep multi count saved. (Issue: #1232)
Fixed: Bonded pets cannot see their master while DeadCannotSeeLiving equals to 2. (Issue: #1225)
Fixed: The issue that causes Guilds without align shown enemy to the players with a guild with align. (Issue: #1208)
Fixed: GMs cannot dress up players. (Issue: #901)
Fixed: Wrong check block GMs to unequip item from players. (#901)
Fixed: An issue that causes a visual bug to remove all tiles while removing a tile in higher floors. (Issue: #345)
Merged: Jhobean's EMOTEF_EAT pr merged. (Issue: #1207)
Changed: EMOTEF_EAT name changed to EMOTEF_HIDE_EAT_PLAYER and limited to only player emotes.
Added: EMOTEF_HIDE_EAT_NPC to hide emotes while eating only for npcs.
Added: Trigger @Hit and @GetHit are added as an item trigger.
Added: MAPVIEWRADAR, MAPVIEWSIZE and MAPVIEWSIZEMAX to sphere.ini that overrides default visual range values. (Issue: #1144)
Added: 'H' shortcut for variables to get the value as hexadecimal.
Merged: raydienull's LAYER_STABLE build merged, but LAYER_AUCTION keep same as LAYER_STABLE added as a new layer. (PR: #1201)
Fixed: raydienull's LAYER_STABLE follower triggers doesn't called while taking pet out of stable.
Fixed: raydienull's LAYER_STABLE doesn't work with the new follower system.
Removed: Unnecessary LINK == PLAYER checks as figurines will be stocked on the owned player.
Fixed: Setting GMs dispid to c_man_gm in-game, prevents GMs to use in-game commands.
Changed: Default NPC hear range reverted back to the 14 from 4, as it was 14 in older versions, as there was no reason for changing it. (Issue: #1215)
Rework: Champion system fully reworked.
Fixed: Candles keep stuck while killing npcs. (Issue: #564)
Fixed: LEVELMAX doesn't affect the max level of champion system, and keep spawn npcs for default max level.
Changed: Spawn system changed and now it automatically calculate the percentage of spawns per level in descending order.
Changed: Candle calculation is now depend on max level, instead of static 4 level.
Added: SRC added in @Start trigger. SRC is a reference of player that starts champion spawner.
Added: @Complete (Issue: #477), @DelRedCandle, @DelWhiteCandle, @Level and @Stop triggers to champion system.
Fixed: Script multis move 1 block north when their type set as t_multi_addon. (Issue: #1238)
Fixed: ADDCOMPONENT command was added as ADDCOMP for houses. (Issue: #1239)
Changed: Re-activated 56b style hardcoded fishing system, as I don't know why it's deactivated as softcoded system too bad and broken.
Added: EF_DAMAGETOOLS flag implemented to the sphere. (Only affects the skills with SKF_GATHER flag.)
Added LOCAL.ITEMDAMAGECHANCE to the @Success trigger for skills to decide damage chance for tools. (Default: 25)
Added LOCAL.ITEMDAMAGEAMOUNT to the @Success trigger for skills to decide damage amount. (Default: 1)