Page 1 of 1

Here's a port of my branch.

Posted: Sun Dec 23, 2012 2:42 pm
by Racsr
Much thanks to the DSP team for all their hard work. Thanks to all other contributors as well. ^^ Some of this stuff comes from other patches found on this forum that were never put on the SVN. Thanks to those contributors. Below is a complete(?) changelog from the current Public SVN 2121 to my branch. Since this is a complete port of my branch that has been following DSP since inception (I used to work on pXI...) and undergone several adjustments along the way (including retail-ization to make this patch) as DSP caught up I cannot guarantee this patch will work at all and provide no warranty, expressed or implied.

I understand this is way to much to end up on the SVN any time soon and some things may not even belong (there are incomplete quests drafted here...) but my hope is only to provide inspiration and ideas, bring some issues and features to light and let the community of server admins play around with this one. So, happy adventuring!

If a dev would like any of this stuff to be broken down into a focused patch, refined and tested for submission to SVN just let me know and I'll work on it as time permits...

[CommandHandler]
- Modified the way @cs functions. This command now accepts a hexadecimal CS followed by eight possible integer parameters.
- Added command @setflag. Sets the nameflag of the PC. These values stack with any current nameflags.
- Added command @setdebugflag. Sets the nameflag of the PC. These values DO NOT stack and will clear the nameflag.
- Added command @addquest. Format '@addquest logid questid'.
- Added command @delquest. Format '@delquest logid questid'.
- Added command @completequest. Format '@completequest logid questid'.
- Added command @addmission. Format '@addmission logid questid'.
- Added command @delmission. Format '@delmission logid questid'.
- Added command @completemission. Format '@completemission logid questid'.
- Added command @loadnpc. Format '@loadnpc npcid'. Loads the NPC from the database to it's pre-defined pos.

[Abilities]
- Adjusted Charm to correctly apply a bonus for the Iridal Staff and Chatoyant Staff per the wiki.
- Corrected the status effect time of Perfect Dodge from 45 seconds to 30 seconds per the wiki.
- Added Azure Lore.
- Added Blade Bash.
- Added Chain Affinity.
- Added Chocobo Jig.
- Added Cover.
- Added Dark Seal.
- Added Devotion.
- Added Eagle Eye Shot.
- Added Flame Breath.
- Added Haste Samba.
- Added Martyr.
- Added Mijin Gakure.
- Added pets/Searing Light.
- Added Scavenge.
- Added Sentinel.
- Added Shield Bash.
- Added Shikikoyo.
- Added Soul Voice.
- Added Sublimation.
- Added Weapon Bash.
- Added Monster Ability: Splash Breath.

[Effects]
- Made healing HP,MP and TP adjustable in settings.lua.
- Added the Regen and Refresh options to Sanction.
- Added a poll to update health when weakness wares off. This will update the HP bar in-game. This will not happen otherwise unless other action is taken that causes HP or MP to change.
- Added the effect of Weight. Weight will effect movement speed and reduce evasion.
- Added several additional checks for Stun and Sleep effects so that they act more like retail.
- Added checks for Paralyze, Stun and Sleep to the activation of Mob Abilities.

[Fields of Valor]
- Rewards are now adjustable in the settings.lua

[Keyitems]
- Corrected the misspelling of MAP_OF_ARRAPAGO_REEF keyitem.

[Magic/Spellcasting]
- Adjusted AffinityBonus to correctly apply a bonus for the Iridal Staff (10%) and Chatoyant Staff (15%).
- Made the Base Magic Accuracy (Default 0) adjustable in settings.lua
- Added a multiplier to the final spell damage, adjustable in settings.lua
- Corrected the capping formula for Bio I/II/II and Dia I/II/III.
- Added power to the definition of Blaze/Ice/Shock Spikes effects.
- Added enmity to Dispel.
- Added enmity to Erase.
- Corrected the calculation and capping of Drain I/II.
- Added Absorb-TP.
- Added Aisha: Ichi.
- Added Baramnesia.
- Added Barblind.
- Added Barparalyze.
- Added Barpetrify.
- Added Barpoison.
- Added Barsilence.
- Added Barsleep.
- Added Barvira.
- Added Barvirus.
- Added Dokumori: Ichi/Ni/San.
- Added Dread Spikes.
- Added Gravity I/II.
- Added Hojo: San.
- Added Jubaku Ichi/Ni/San.
- Added Kakka: Ichi.
- Added Kurayami: San.
- Added Migawari: Ichi.
- Added Myoshui: Ichi.
- Added Poison II.
- Added Poisonga I/II.
- Added Refresh II.
- Added Repose.
- Added Yurin: Ichi.


[Missions]
- Added several mission names to mission.lua and cleaned up spacing.
- Added several mission events to Rhy Epocan (Heavens Tower).
- Added several mission events to Shaz Norem (Heavens Tower).
- Added several mission events to Ufu Koromoa (Heavens Tower).
- Added several mission events to Vahn Paineesha (Heavens Tower).
- Added a check to Norg confirming the players Rank is above 6 prior to starting Zilart.
- Added Chains of Promathia Mission 1-1 The Rites of Life. (Note: a core issue prevents saving of this mission status, even though it's scripted correctly and completely)
- Added Chains of Promathia Mission 1-2 Below the Arks. (Note: a core issue prevents saving of this mission status, even though it's scripted correctly and completely)
- Added Wings of the Goddess Mission 1 Cavernous Maws.
- Added Wings of the Goddess Mission 2 Back to the Beginning.

[Quests]
- Added The Root of the Problem (BLM AF3).
- Added I Can Hear A Rainbow to quests.lua.
- Added New Worlds Await (Lv80 Limit Break)
- Started Expanding Horizons. (Not Complete, script outline in place)
- Started Beyond the Stars. (Not Complete, script outline in place)
- Started Dormant Powers Dislodged. (Not Complete, script outline in place)
- Started Beyond Infinity. (Not Complete, script outline in place)
- Added Arts and Crafts.
- Added Fear of the Dark II.
- Added Delivering the Goods.
- Added The Weekly Adventurer.
- Added The Fighting Fourth.
- Added Recycling Rods.
- Added Lure of the Wildcat. (Bastok)
- Corrected 'An Explorer's Footsteps'. All Stone Monuments needed various corrections to function.
- Updated the Song Runes in 'The Old Monument' to use global variables of keyitems rather then local definitions.

[General NPCs]
- Corrected the default dialog of Abquhbah.
- Corrected a typo in Asrahd preventing the purchse of IS Items.
- Added Bhoy Yhupplo (Ilrusi Atoll Assault NPC).
- Added Famad (Lebros Cavern Assault NPC).
- Added Isdebaaq (Mamool Ja Training Grounds Assault NPC).
- Added Lageegee (Periqia assault NPC).
- Added Sorrowful Sage (Nyzul Assault NPC).
- Added Yahsra (Leujaoam assault NPC).
- Added Zasshal (Salvage NPC).
- Added Rytaal (Issues Imperial ID Tags).
- Added Ghanraam Nyzul (Weapon/Salvage Armor Storer).
- TEMP: Added a teleport to Kuhn Tsahnpri at the Dock of Whitegate to teleport to Nashmau.
- TEMP: Added a teleport to NPC at the Dock of Nashmau to teleport to Whitegate.
- Added several weather report NPCs. (Although this function does not work as DSP calls weather randomly)
- Added ToAU Imperial Officer's to Al Zahbi and Nashmau.
- Corrected Sharin-Garin to correctly report the players IS balance.
- Corrected several ToAU NPCs to poll for the Astral Candescence status prior to offering services.
- Added the Crystalline Field to Al'Taieu.
- Added a global settings for gil rewards from NPCs to settings.lua. This applies any time gil is rewarded.
- Noted in the Trial Markings scripts that a Prismatic Hourglass should be required for entry into Dynamis.
- Fixed a improper call to Treasure lua in all chests and coffers. The file is treasure. Capitalization greatly effects functionality on *nix.
- Corrected a call to a non-existant method in Kamih Mapokhalam that prevented function.
- Completed the fancy animation that occurs when the Three Magi Gate is activated.
- Corrected a typo in Pahya Lolohoiv that completely prevented function.
- Added all Dimensional Portals and Shattered Teleports with appropriate functionality.
- Fixed the function of the Cermet door that leads to Upper Delkfutt's Tower.
- Added a default dialog to Bki Tbujhja.
- Corrected a missing veriable in Faursel that prevented completion of 'The Road to Aht Urhgan' via items.
- Added all of Jeuno's Guidestone's.
- Corrected a typo in several RuLude NPCs that completly prevented function on *nix. (Capitilization)
- Fixed the Chocobo Renter Watisa in Wajaom Woodlands to actually rent out chocobos.
- Added Syth Support / Adv. Synth Support to the Cooking Guild in Windurst.
- Added Cooking Guild Master Piketo-Puketo in Windurst. (Should be 100%).
- Updated Tih Pikeh who changes dialogue based on mission status.
- Added several missing 'decoration' and CS NPC's into the database.
- Fixed several NPC ID's for some WoTG zones.
- TEMP: Fixed an issue where zoning into Xarcabard while on I Can Hear A Rainbow causes a CS to play no matter what. This zone may still not be 100% for this quest.
- Added Kaduru-Haiduru, Whitegate teleport taru script.
- Added Auroral Updraft to Al'Taieu.
- Added Dimensional Portal to Al'Taieu.
- Added the ??? spawns for Jailers in Al'Taieu.
- Added Swirling Vortex to Al'Taieu.
- Added the Treasure Chest to Castle Zvahl Baileys.


[Positioning]
- Added a new teleport function toMaw.
- Corrected the 0,0,0 zonein position of Abyssea-Empyreal Paradox.
- Corrected the 0,0,0 zonein position of Abyssea-Konschtat.
- Corrected the 0,0,0 zonein position of Al'Taieu.
- Corrected the 0,0,0 zonein position of Alzadaal Undersea Ruins.
- Corrected the 0,0,0 zonein position of Bearclaw Pinnacle.
- Corrected the 0,0,0 zonein position of Dynamis Buburimu.
- Corrected the 0,0,0 zonein position of Dynamis Qufim.
- Corrected the 0,0,0 zonein position of Empyreal Paradox.
- Corrected the 0,0,0 zonein position of Hall of Transference. (varies by mea,dem,holla.. 100% working)
- Corrected the 0,0,0 zonein position of Manaclipper.
- Corrected the 0,0,0 zonein position of Mineshaft #2716.
- Corrected the 0,0,0 zonein position of Monarch Linn.
- Corrected the 0,0,0 zonein position of Phanauet Channel.
- Corrected the 0,0,0 zonein position of Promiuna Aqueducts.
- Corrected the 0,0,0 zonein position of Provenance.
- Corrected the 0,0,0 zonein position of Riverne-Site #A01.
- Corrected the 0,0,0 zonein position of Riverne-Site #B01.
- Corrected the 0,0,0 zonein position of The Ashu Talif.
- Corrected the 0,0,0 zonein position of The Last Stand.
- Corrected the 0,0,0 zonein position of The Shrouded Maw.
- Added teleport regions to Hall of Transference. (varies by mea,dem,holla.. 100% working)
- Added teleport regions to Promyvion-Mea.
- Added teleport regions to Promyvion-Holla.
- Added the correct position to the mob Cancer (Kuftal).

[Weapon Skills]
- Added a check for both main and ranged weapon skills preformed with a WSNM weapon equipped. Value is stored in WSNMHits player var for quest use. The quest must wipe this upon the completion of each quest and all quests can share the same variable as only one WSNM quest can be active at a time.
- Added Tachi: Goten.
- Blocked players from learning quested WS prior to completing the required quest. (Still need some quests added)

[Item Mechanics]
- Added a check for EXP Bands at Conquest NPCs. You can only obtain one of the three.
- Added the disappearing latent effect of trials weapons.
- Added modifiers for the following items:
-- yhel_jacket
-- yhel_jacket+1
-- searing_sash
-- hecate's_crown
-- lemegeton_medallion
-- lemegeton_medallion+1
-- vivid_strap
-- vivid_strap+1
-- Apollo's Ring
-- Aquilo's Ring
-- Auster's Ring
-- Jupiter's Ring
-- Neptune's Ring
-- Pluto's Ring
-- Terra's Ring
-- Vulcan's Ring
- Added the Additional Effect: Fire Damage to Algol.
- Added several checks for the equipping and un-equipping of the main and sub slots. Fixes issues with H2H, Dual Wield and Shields.

[Misc.]
- Moved method 'SendUncnown0x39Packet' to 'SendUnknown0x39Packet'.
- Filled out the exp table so that strange things don't happen with jobs over level 75.
- Added a vertical height check to mob aggro to prevent top down and bottom up aggro in places like UDT.
- Made engaged mobs fall farther back prior to losing enmity on PCs.
- Adjusted the accuracy calculation of two-handed weapons.
- Added GetClientIP to the map server.
- Adjusted getRank LUA method to be able to pull ranks from any of the three nations for a player.
- Fixed a crash issue where if a player zones in to a CS while on a chocobo the client will lock.
- Added LUA Function getMerits for quests that interact with merits. (genkai)
- Fixed an issue where some CS need to update but lose lock on the NPC that started the event. If no file can be found to update or end events the server will fallback on the Zone.lua.
- Added packet 0x0AA, Buy from Guild Shop.
- Adjusted /check on Mobs to act more like retail, displaying high/low evasion/defense.
- Changed remove all equipment to check valid equipment on job change.
- Added check for skill rank to crafting.
- Made Elementals always spawned in Sky.

Re: Here's a port of my branch.

Posted: Sun Dec 23, 2012 6:03 pm
by link
As it goes I was looking at the COP code in the core. Theres an error preventing mission status from showing. Will probably look at it again tomorrow. All this stuff is awsome^^

Re: Here's a port of my branch.

Posted: Sun Dec 23, 2012 6:24 pm
by Ayame
whoa this is a big patch looks awesome though ^^ hope it gets added.

Re: Here's a port of my branch.

Posted: Mon Dec 24, 2012 12:54 am
by PrBlahBlahtson
>CoP
You have my attention
Index: scripts/globals/mobskills/Spalsh_Breath.lua
Splash*

>Maws
May not be trunked. I tried storing it as a char_var, too :) Bluekirby0 made a neat bitmask function for LUA if you'd like to migrate to that, but at the time, he was pushing for a bitmask stored in one of the character tables. Not sure if that stance remains.
+ if(csid == 0x0016) then
+ player:startEvent(0x0024);
+ elseif(csid == 0x0024) then
+ player:startEvent(0x0025);
+ elseif(csid == 0x0025) then
+ player:startEvent(0x0026);
+ elseif(csid == 0x0026) then
+ player:startEvent(0x0027);
+ elseif(csid == 0x0027) then
+ player:setVar("CopStatus",1);
+ player:completeMission(COP,ANCIENT_FLAMES_BECKON);
+ player:addMission(COP,THE_RITES_OF_LIFE);
+ end
XD If that doesn't look familiar. I got annoyed and tried the same thing. I was hoping you'd puzzled that problem out, but it seems it remains unsolved. Giving the cutscenes a parameter (such as another CSID) may fix the "stuck at a black screen" problem.

>CoP level caps comments
This seems like a good place for settings.lua to gain an addition, but that's just my opinion. I'm nothing but a noisy user.

>Fixing merit CS on Nomad Moogle in Ru'Lude
Thank you. Off to fix mine now.

>if((mLvl >= 20 or mLvl >= ADVANCED_JOB_LEVEL) and ChocobosWounds ~= QUEST_COMPLETED) then
...heeey, I recognize that code :D

Not sure how the devs will feel about the lack of local variables in LUA.
+ `lanip` int(10) unsigned zerofill NOT NULL DEFAULT '0000000000',
+ `wanip` int(10) unsigned zerofill NOT NULL DEFAULT '0000000000',
I approve, trunked or not.

Re: Here's a port of my branch.

Posted: Mon Dec 24, 2012 12:56 am
by whasf
Well shit, now i have something to do for the holidays. Link let's talk about this on monday :)

Re: Here's a port of my branch.

Posted: Mon Dec 24, 2012 1:59 am
by Racsr
whasf wrote:Well shit, now i have something to do for the holidays. Link let's talk about this on monday :)
haha, well, happy holidays! :)
>Maws
May not be trunked.
Ahh, yes. These scripts have actually been with me for a very long time. I agree a bitmask would be better and will go though and update them. I'll do this after the holiday week if someone doesn't beat me to it!

XD If that doesn't look familiar. I got annoyed and tried the same thing. I was hoping you'd puzzled that problem out, but it seems it remains unsolved. Giving the cutscenes a parameter (such as another CSID) may fix the "stuck at a black screen" problem.
Yeah, this is an annoying one... However, with the updated event code I wrote for core (also in this patch) the way it's scripted there will function and complete the entire event successfully.
>Fixing merit CS on Nomad Moogle in Ru'Lude
Thank you. Off to fix mine now.
:D Yes! I was very happy when I figured out the Limit Breaks. Some of the CS NPCs you'll be missing are in this patch. This patch also adds the getMerit method specifically for that entire quest line. I hope you or someone else can find the time to complete the whole series. The groundwork is there!!

I finally had a chance to test this patch and it did require a little tweaking to get the server to compile once it's applied. Missing the header definition of LoadNPC() and lan_maskip in the config struct (which I added just to make this a little more public, obviously I just hardcoded it for my self.) Also the mission.lua has a few stray end statements. So, as a whole it remains just to pick at like you guys clearly are (exciting! :)) Unfortunately I don't have time to create and upload a fixed version today but I will try to make it happen.

Glad there is a few helpful things here! Let me know if you need any help!

Re: Here's a port of my branch.

Posted: Mon Dec 24, 2012 2:19 am
by PrBlahBlahtson
Came back to add that I really like the idea of a GM command that force-loads NPCs from the table. The quest/mission status commands could also be useful, rather than hacking the nearest NPC to do what you need to.

Re: Here's a port of my branch.

Posted: Mon Dec 24, 2012 11:37 am
by link
whasf wrote:Well shit, now i have something to do for the holidays. Link let's talk about this on monday :)
Ok cool^^

Racsr:
Awsome stuff. I added the mob checking code & vertical agro range to svn.

I like your bit shifting ect with checking the quested WS's, amazing.

Looks like theres alot of content from pxi.

Apart from that, alot of stuff in there to go through.

I would like to open CoP soon.