Skip to content
This repository was archived by the owner on Apr 29, 2020. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
2c0978f
Removed ability to cast maneuvers without an Automaton
UnknownX7 Mar 28, 2017
a3cc867
Merge remote-tracking branch 'upstream/master' into pup
UnknownX7 Mar 28, 2017
b4fed0e
Fixed potential out of range error if the Automaton was despawned and…
UnknownX7 Mar 31, 2017
7051cb9
Automaton stats update when the head is changed now
UnknownX7 Mar 31, 2017
712f478
Added Automaton WS animation IDs
UnknownX7 Mar 31, 2017
eae7b43
Added the Automaton's special skills to the SQL file
UnknownX7 Mar 31, 2017
dca796d
Corrected wrong global variable in the Inhibitor attachment
UnknownX7 Mar 31, 2017
4ce063e
Automaton's level uses the PUP's level now
UnknownX7 Mar 31, 2017
67c1e60
Using PUP now gives players an A+ rating to Automaton melee, ranged a…
UnknownX7 Mar 31, 2017
7536a2f
Added some Automaton mods
UnknownX7 Mar 31, 2017
ab926d3
Merge remote-tracking branch 'upstream/master' into pup
UnknownX7 Mar 31, 2017
e52278d
Fixed Automaton stat display
UnknownX7 Mar 31, 2017
1e8cea8
Fixed attachment loading issue for slots 9-12
UnknownX7 Mar 31, 2017
87f2e08
Correctly initializes Automaton skills on login, also converted tabs …
UnknownX7 Mar 31, 2017
ea3c5ed
Set all of the Automatons magic skills to its main magic skill and ad…
UnknownX7 Apr 1, 2017
82d7e76
Allowed Automatons to cast any spell they are given
UnknownX7 Apr 1, 2017
8e5827c
Added Automaton AI framework
UnknownX7 Apr 1, 2017
dad3f7b
Used proper ranged cooldown
UnknownX7 Apr 1, 2017
7632c77
Added skill ups to the Automaton
UnknownX7 Apr 2, 2017
e150dcc
Correctly caps the Automaton's skill if it skills up to it
UnknownX7 Apr 2, 2017
18ca724
Changed CAutomatonController::CastSpell(uint16, CBattleEntity*) to CA…
UnknownX7 Apr 2, 2017
0e784e5
Updated lua and utilities to allow the Automaton to WS properly
UnknownX7 Apr 2, 2017
58554d4
Updated weaponskills.lua to accomodate for WS bonus accuracy
UnknownX7 Apr 2, 2017
3e1a167
Changed Automaton's ranged attack to use OnAutomatonAbility
UnknownX7 Apr 2, 2017
326784b
Added shield bash file
UnknownX7 Apr 2, 2017
3c4ecbb
Added weapon type and weapon damage overrides to weapon skill calcula…
UnknownX7 Apr 2, 2017
878df42
Reduced Automaton TP gain to normal
UnknownX7 Apr 2, 2017
3e858d5
Added Valoredge frame WS
UnknownX7 Apr 2, 2017
5a802a9
Added weapon damage override and accuracy bonus params to ranged and …
UnknownX7 Apr 2, 2017
7572e68
Too many zeroes
UnknownX7 Apr 2, 2017
1b094d8
Corrected Bone Crusher and String Clipper TP scaling
UnknownX7 Apr 2, 2017
acc47b7
Cleaned Bone Crusher code
UnknownX7 Apr 2, 2017
ea0a4b7
Added Sharpshot frame WS
UnknownX7 Apr 2, 2017
dd74028
Added Stormwaker and Harlequin frame WS
UnknownX7 Apr 2, 2017
f394076
Changed OnAutomatonAbility to onAutomatonAbility
UnknownX7 Apr 2, 2017
91fb716
Fixed errors with the Automaton's ranged skills and increased stun du…
UnknownX7 Apr 2, 2017
3dabff3
Buffed Armor Piercer's damage to be closer to retail's
UnknownX7 Apr 3, 2017
993e1bd
Fixed Automatons stealing claim with WS
UnknownX7 Apr 3, 2017
bdd78a4
Added Automaton mods and Tactical Processor
UnknownX7 Apr 3, 2017
33ddbc4
Disabled Heatsink for now
UnknownX7 Apr 3, 2017
fea7400
Fixed incorrect maneuver status effect flags
UnknownX7 Apr 4, 2017
dadb5a2
Added @addallattachments
UnknownX7 Apr 4, 2017
a400b1d
Fixed errors with the Automaton using regen and bio/dia
UnknownX7 Apr 4, 2017
568204f
Changed Automaton damage for Ranged Attack and Shield Bash
UnknownX7 Apr 4, 2017
8cecd4d
Removed haste from Automatons that aren't supposed to have it
UnknownX7 Apr 4, 2017
08b850b
Fixed errors with already implemented attachments
UnknownX7 Apr 4, 2017
4e5cb65
Disabled heatsink attachment temporarily
UnknownX7 Apr 4, 2017
b89ef1a
Added Vivi-valve II
UnknownX7 Apr 4, 2017
788dcbf
Added Coiler II
UnknownX7 Apr 4, 2017
ed9bba6
Added Mana Jammer III
UnknownX7 Apr 4, 2017
c9a51df
Added Auto-repair Kit III
UnknownX7 Apr 4, 2017
7b41fa6
Added Mana Tank III
UnknownX7 Apr 4, 2017
7a50062
Added Tranquilizer II
UnknownX7 Apr 4, 2017
c7c0e4e
Added Stealth Screen II
UnknownX7 Apr 4, 2017
2a57387
Added Strobe and Strobe II
UnknownX7 Apr 4, 2017
aeeef02
Added Mana Booster
UnknownX7 Apr 4, 2017
0d0130c
Added Hammermill
UnknownX7 Apr 4, 2017
221d693
Added Damage Gauge
UnknownX7 Apr 4, 2017
77d322f
Added Volt Gun
UnknownX7 Apr 4, 2017
6a5095f
Added MOD::ENSPELL_CHANCE to make enspell randomly take effect if needed
UnknownX7 Apr 4, 2017
66bf8fd
Changed Volt Gun damage formula
UnknownX7 Apr 4, 2017
60ccf26
Added Dynamo
UnknownX7 Apr 4, 2017
3c69c67
Added healing cooldown and magic cooldown reduction mods for the Auto…
UnknownX7 Apr 4, 2017
1d4c447
Added Mana Channeler
UnknownX7 Apr 4, 2017
6be367e
Added Smoke Screen
UnknownX7 Apr 4, 2017
bb4cca4
Added Percolator
UnknownX7 Apr 4, 2017
cc61c57
Attempt #2 at fixing deletion errors with the Automaton
UnknownX7 Apr 4, 2017
414c250
Attempt #3 at fixing deletion errors with the Automaton
UnknownX7 Apr 4, 2017
7bf545d
Added a check when an Automaton dies, in case its master is a nullptr
UnknownX7 Apr 5, 2017
6d5933f
Load the Automaton's attachments after its stats, in case the attachm…
UnknownX7 Apr 5, 2017
512f02a
Fixed errors with Volt Gun and lowered its damage
UnknownX7 Apr 5, 2017
477677c
Fixed Automaton Oils being unequippable with an Animator
UnknownX7 Apr 5, 2017
8b5457c
Added spell recast timers to the Automaton
UnknownX7 Apr 5, 2017
dc8cae2
Changed Automaton behavior on deployment to finish moving to the mob …
UnknownX7 Apr 5, 2017
a016aa4
Finished Heatsink
UnknownX7 Apr 5, 2017
07bb5e7
Added Lullaby to the effects that an Automaton will detect and change…
UnknownX7 Apr 5, 2017
fa146e2
Added Deus Ex Automata and Maintenance
UnknownX7 Apr 5, 2017
2b59e31
Added melee, ranged and magic merits for the Automaton
UnknownX7 Apr 5, 2017
dfc6d32
Finished Damage Gauge
UnknownX7 Apr 5, 2017
cfc9aab
Removed doom and sleep from Maintenance
UnknownX7 Apr 5, 2017
718ee7c
Fixed wrong maneuvers activating attachments
UnknownX7 Apr 6, 2017
79834f2
The Automaton can now cast self targeted spells on its master if its …
UnknownX7 Apr 6, 2017
4186d39
Changed PUP merits to its new ones
UnknownX7 Apr 6, 2017
06f1e17
Removed weaponskill function changes and made a new one specifically …
UnknownX7 Apr 6, 2017
a29a0cf
Added meritModID for Maintenance
UnknownX7 Apr 6, 2017
9c1cdb5
Added "...readies..." messages to all Automaton WS
UnknownX7 Apr 6, 2017
1c81588
Added recovered hp message to Repair
UnknownX7 Apr 7, 2017
a9c3b04
Added new PUP merits to the SQL
UnknownX7 Apr 7, 2017
d02adc7
Updated Repair to remove effects correctly if the enhancement is found
UnknownX7 Apr 7, 2017
3880a0b
Fixed merit values for Role Reversal and Ventriloquy
UnknownX7 Apr 7, 2017
17932eb
Correctly cap Automaton skills if they are higher than the cap
UnknownX7 Apr 7, 2017
bfd47f5
Corrected Role Reversal's recast time
UnknownX7 Apr 7, 2017
d6b41af
Added a safety net to Deus Ex Automata to prevent it from spawning a …
UnknownX7 Apr 7, 2017
1553555
Added Role Reversal
UnknownX7 Apr 7, 2017
0841e2d
Added Repair Effect merit to Repair
UnknownX7 Apr 7, 2017
df5335c
Added Ventriloquy
UnknownX7 Apr 8, 2017
a448023
Added lua bindings to support Ventriloquy
UnknownX7 Apr 8, 2017
c960ff8
Now correctly applies the Automaton's max HP and MP upon spawning
UnknownX7 Apr 8, 2017
cfca9d4
Added Optimization and Fine Tuning merits
UnknownX7 Apr 8, 2017
c05ca58
The Automaton can now cast while moving
UnknownX7 Apr 8, 2017
5b0042f
Added Overdrive and Overload
UnknownX7 Apr 9, 2017
1789970
Fixed errors with finding the Automaton's attack and ranged attack
UnknownX7 Apr 9, 2017
6c163c0
Fixed errors with the Automaton's ranged weapon skills
UnknownX7 Apr 9, 2017
669a787
Attempt to fix miss message for Automatons not being set sometimes
UnknownX7 Apr 9, 2017
226210d
Picked a temporary Ranged Attack animation for the Automaton until th…
UnknownX7 Apr 9, 2017
7786789
Buffed Manabooster to retail
UnknownX7 Apr 9, 2017
43aa475
Changed Dread Spikes to require a dark maneuver and allowed it to be …
UnknownX7 Apr 9, 2017
eca7b49
Added enmity to Automaton's Shield Bash
UnknownX7 Apr 9, 2017
602c381
Added Provoke to Strobe and Strobe II
UnknownX7 Apr 9, 2017
d6ee360
Added Dispel to the Stormwaker Automaton
UnknownX7 Apr 9, 2017
3ef7842
Added Automaton abilities to sql
UnknownX7 Apr 9, 2017
36bc65d
Added Ice Maker
UnknownX7 Apr 9, 2017
4b318d1
Fixed Ice Maker
UnknownX7 Apr 9, 2017
f5c4f31
Changed the way m_CurrentManeuvers is initialized to support VS15
UnknownX7 Apr 10, 2017
7e45b3e
Made sure that there is no possible way to summon an Automaton withou…
UnknownX7 Apr 10, 2017
3fc47ac
Changed Automaton WS lua function names to prevent conflicts with pla…
UnknownX7 Apr 10, 2017
c47c93b
Temporary fix for Automaton not casting from the start
UnknownX7 Apr 10, 2017
1592bec
Fixed Heatsink along with Burden Decay mod not being applied
UnknownX7 Apr 11, 2017
84f722a
Turns out ignoring too much defense leads to some weird results
UnknownX7 Apr 12, 2017
a4556ba
Reduced memory usage of the Automaton
UnknownX7 Apr 13, 2017
786b7dc
Added a check to make sure the player has the attachment they want to…
UnknownX7 Apr 13, 2017
7579d53
Replaced Harlequin case with default
UnknownX7 Apr 14, 2017
26d3b42
Added MP to be stored when zoning with a pet
UnknownX7 Apr 14, 2017
fed2a46
Fixed Automaton attempting to path constantly when out of MP
UnknownX7 Apr 14, 2017
996d31d
Changed storage of pet mods to prevent applying incorrect mods to inc…
UnknownX7 Apr 14, 2017
84ec1ab
Pets now spawn with HP & MP at full when mods are affecting them
UnknownX7 Apr 14, 2017
742afcb
Added Puppetmaster gear mods
UnknownX7 Apr 14, 2017
dac138f
Decreased Automaton spell interrupt rate
UnknownX7 Apr 14, 2017
17147b6
Strobe attachment now takes model size into account
UnknownX7 Apr 15, 2017
a3662ca
Typo
UnknownX7 Apr 15, 2017
309a715
Changed a Harlequin Frame case to a default
UnknownX7 Apr 15, 2017
053d5f4
Changed another Harlequin case to default, as well as added a warning…
UnknownX7 Apr 15, 2017
2e9d4a3
Debug message
UnknownX7 Apr 15, 2017
a876b3f
Initialized Automaton values that were previously uninitialized
UnknownX7 Apr 17, 2017
f271625
Corrected attachment elemental capacities
UnknownX7 Apr 17, 2017
1656492
Added additional functionality to the Automaton AI to support some at…
UnknownX7 Apr 17, 2017
53c278c
Added Attuner attachment
UnknownX7 Apr 17, 2017
b30bb52
Corrected Attuner's values
UnknownX7 Apr 17, 2017
7eb92a0
Added Target Marker
UnknownX7 Apr 17, 2017
bc61913
Added fTP bonus modifier to Automaton WS for use in Flame Holder
UnknownX7 Apr 17, 2017
05880f5
Allowed a target to be returned by an attachment to perform its skill on
UnknownX7 Apr 17, 2017
f5765af
Fixed valid targets for self targeted attachments
UnknownX7 Apr 18, 2017
c24fc66
Added CAutomatonEntity::Spawn() to stop local variables from being re…
UnknownX7 Apr 20, 2017
4b10ab6
Added Shock Absorber and Shock Absorber II
UnknownX7 Apr 20, 2017
236a8c8
Ice maker no longer works on non-elemental magic
UnknownX7 Apr 20, 2017
00a2716
Added Scanner
UnknownX7 Apr 20, 2017
2c12f31
Added Flame Holder
UnknownX7 Apr 20, 2017
e4949c9
Removed pointless function in Flame Holder
UnknownX7 Apr 21, 2017
ccdfeae
Added Shock Absorber III just to get it out of the way
UnknownX7 Apr 21, 2017
d7fd277
Changed attachment capacities to match client
UnknownX7 Apr 21, 2017
87d2de4
Corrected payment requirement for WHM and BLM Automaton heads
UnknownX7 Apr 21, 2017
1ccc7bb
Fixed mods/merits capping Automaton skills before they were actually …
UnknownX7 Apr 21, 2017
69138f5
Fixed a rare scenario where the Automaton could waste a magic cooldow…
UnknownX7 Apr 21, 2017
7fc1826
Added Reactive Shield
UnknownX7 Apr 21, 2017
9d834fc
Blocked Automaton equipment packets if the player already has a pet
UnknownX7 Apr 21, 2017
2224397
Format fix
UnknownX7 Apr 21, 2017
3de365c
Fixed Barrier Module II's database entry
UnknownX7 Apr 21, 2017
030f399
Added Heat Seeker and Pattern Reader
UnknownX7 Apr 21, 2017
6251904
Added Replicator
UnknownX7 Apr 22, 2017
a138c34
The Automaton can now block stuff with the right attachment equipped
UnknownX7 Apr 22, 2017
79fee39
Stopped while loop crash
UnknownX7 Apr 22, 2017
e1bbfe5
Converted a while loop to a for loop
UnknownX7 Apr 23, 2017
17a592e
Automaton doesn't gain enmity from healing
UnknownX7 Apr 23, 2017
59598a4
Added Inhibitor
UnknownX7 Apr 23, 2017
ce94f50
Fixed overlapping mods
UnknownX7 Apr 23, 2017
53a7acc
Added Condenser
UnknownX7 Apr 23, 2017
7517107
Added Flashbulb
UnknownX7 Apr 24, 2017
46477a0
Fixed resist message for Flashbulb
UnknownX7 Apr 24, 2017
eac2f32
Added Economizer
UnknownX7 Apr 24, 2017
a9c1f99
Deleted Dark Maneuvers on Economizer's use
UnknownX7 Apr 24, 2017
8f4ec6c
Fixed Economizer MP check
UnknownX7 Apr 24, 2017
c4c7ea6
Fixed Economizer again
UnknownX7 Apr 24, 2017
05c8898
Discarded changes to weaponskills.lua
UnknownX7 Apr 27, 2017
5a48ea2
Removed useless things
UnknownX7 Apr 28, 2017
93ee578
Added Mana Converter
UnknownX7 Apr 28, 2017
2f51f2f
Merge branch 'upstream/master' into pup
UnknownX7 Aug 13, 2017
b880fe3
Changed pet ability lua files to lower case
UnknownX7 Aug 13, 2017
4f26f89
Fixed miss message from Automaton hitting Stoneskin
UnknownX7 Aug 13, 2017
1dd2df8
Added Eraser
UnknownX7 Aug 13, 2017
3032479
Added placeholder animation for attachments that are missing ones
UnknownX7 Aug 13, 2017
af32256
Added Heat Capacitor
UnknownX7 Aug 13, 2017
c55b637
Added placeholder animation to more attachments
UnknownX7 Aug 13, 2017
13fbb13
OCD commit
UnknownX7 Aug 13, 2017
7980bfc
Changed Automaton skill messages to use variables
UnknownX7 Aug 13, 2017
0f0257a
Added a distance check to Flashbulb
UnknownX7 Aug 13, 2017
26d9129
Added Disruptor
UnknownX7 Aug 13, 2017
00536f3
Merge branch 'upstream/master' into pup
UnknownX7 Sep 8, 2017
2605830
Removed custom animation from Automaton's Ranged Attack
UnknownX7 Sep 8, 2017
b3b89a0
Removed Automaton animation adjustments and fixed tabbing in CMobSkil…
UnknownX7 Sep 8, 2017
f7ea568
Fixed some c++ issues
teschnei Sep 9, 2017
d14d8b3
Fixed tactical processor reducing processing delay by microseconds in…
teschnei Sep 9, 2017
cf02c17
Removed OnAutomatonAbility
teschnei Sep 9, 2017
6f2276d
Made shadows affect Automaton WS
UnknownX7 Sep 9, 2017
2306207
Merge remote-tracking branch 'upstream/pup' into pup
UnknownX7 Sep 9, 2017
1ce8edb
Merge pull request #4051 from UnknownX7/pup
teschnei Sep 9, 2017
50d2859
Changed all AI calls to return bools
teschnei Sep 9, 2017
10bf36f
Merge branch 'pup' of https://github.com/DarkstarProject/darkstar int…
teschnei Sep 9, 2017
021304f
Removed OnAttachmentCheck and its associated logic
teschnei Sep 9, 2017
4d354ed
Removed some unneeded member variables in CAutomatonController
teschnei Sep 9, 2017
23441e3
Added a recast container for battle entities
teschnei Sep 9, 2017
ac69943
added skillchain props to mob skills
takhlaq Sep 9, 2017
d6226fa
forgot to 0 secondary/tertiaryskillchain from previous commit
takhlaq Sep 9, 2017
ba148e8
Fixed linux compile
teschnei Sep 9, 2017
d0c7e91
Merge branch 'pup' of https://github.com/DarkstarProject/darkstar int…
teschnei Sep 9, 2017
3367160
changed battleutils::GetSkillChainEffect to take list of SKILLCHAIN_E…
takhlaq Sep 9, 2017
9409e08
Moved mobskill skillchain properties to database
teschnei Sep 9, 2017
5e51806
Moved spell list and AI maps to the database
UnknownX7 Sep 10, 2017
d9ceca4
Merge pull request #4052 from UnknownX7/pup
teschnei Sep 10, 2017
fdc6461
Removed unnecessary code in automatonentity
teschnei Sep 10, 2017
a51fa94
Changed autoSpellList's memory management
teschnei Sep 10, 2017
2e8896b
Removed the ability to use certain pet abilities on the wrong type of…
UnknownX7 Sep 10, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions scripts/commands/addallattachments.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---------------------------------------------------------------------------------------------------
-- func: addallattachments
-- desc: Unlocks all attachments
---------------------------------------------------------------------------------------------------

cmdprops =
{
permission = 1,
parameters = "s"
};

local ValidAttachments = {
8193, 8194, 8195, 8196, 8197, 8198, 8224, 8225, 8226, 8227,
8449, 8450, 8451, 8452, 8453, 8454, 8455, 8456, 8457, 8458,
8481, 8482, 8483, 8484, 8485, 8486, 8487, 8488, 8489, 8490,
8513, 8514, 8515, 8516, 8517, 8518, 8519, 8520, 8521, 8522,
8523, 8545, 8546, 8547, 8548, 8549, 8550, 8551, 8552, 8553,
8554, 8577, 8578, 8579, 8580, 8581, 8582, 8583, 8584, 8585,
8586, 8609, 8610, 8611, 8612, 8613, 8614, 8615, 8616, 8617,
8618, 8641, 8642, 8643, 8644, 8645, 8646, 8648, 8649, 8650,
8673, 8674, 8675, 8676, 8677, 8678, 8680, 8681
};

local function AddAllAttachments(player)
for i = 1, #ValidAttachments do
player:unlockAttachment(ValidAttachments[i]);
end
end;

function onTrigger(player, target)
if (target == nil) then
AddAllAttachments(player);
else
local targ = GetPlayerByName(target);
if (targ == nil) then
player:PrintToPlayer(string.format( "Player named '%s' not found!", target ));
else
AddAllAttachments(targ);
end
end
end
75 changes: 75 additions & 0 deletions scripts/commands/petgodmode.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---------------------------------------------------------------------------------------------------
-- func: petgodmode
-- desc: Toggles god mode on the player's pet, granting them several special abilities.
---------------------------------------------------------------------------------------------------

cmdprops =
{
permission = 1,
parameters = ""
};

function onTrigger(player)
local pet = player:getPet()
if (pet and pet:getLocalVar("GodMode") == 0) then
-- Toggle GodMode on..
pet:setLocalVar("GodMode", 1);

-- Add bonus effects to the pet..
pet:addStatusEffect(EFFECT_MAX_HP_BOOST,1000,0,0);
pet:addStatusEffect(EFFECT_MAX_MP_BOOST,1000,0,0);
pet:addStatusEffect(EFFECT_SENTINEL,100,0,0);
pet:addStatusEffect(EFFECT_MIGHTY_STRIKES,1,0,0);
pet:addStatusEffect(EFFECT_HUNDRED_FISTS,1,0,0);
pet:addStatusEffect(EFFECT_CHAINSPELL,1,0,0);
pet:addStatusEffect(EFFECT_PERFECT_DODGE,1,0,0);
pet:addStatusEffect(EFFECT_INVINCIBLE,1,0,0);
pet:addStatusEffect(EFFECT_MANAFONT,1,0,0);
pet:addStatusEffect(EFFECT_REGAIN,150,1,0);
pet:addStatusEffect(EFFECT_REFRESH,99,0,0);
pet:addStatusEffect(EFFECT_REGEN,99,0,0);

-- Add bonus mods to the pet..
pet:addMod(MOD_RACC,2500);
pet:addMod(MOD_RATT,2500);
pet:addMod(MOD_ACC,2500);
pet:addMod(MOD_ATT,2500);
pet:addMod(MOD_MATT,2500);
pet:addMod(MOD_MACC,2500);
pet:addMod(MOD_RDEF,2500);
pet:addMod(MOD_DEF,2500);
pet:addMod(MOD_MDEF,2500);

-- Heal the pet from the new buffs..
pet:addHP( 50000 );
pet:setMP( 50000 );
else
-- Toggle GodMode off..
pet:setLocalVar("GodMode", 0);

-- Remove bonus effects..
pet:delStatusEffect(EFFECT_MAX_HP_BOOST);
pet:delStatusEffect(EFFECT_MAX_MP_BOOST);
pet:delStatusEffect(EFFECT_SENTINEL);
pet:delStatusEffect(EFFECT_MIGHTY_STRIKES);
pet:delStatusEffect(EFFECT_HUNDRED_FISTS);
pet:delStatusEffect(EFFECT_CHAINSPELL);
pet:delStatusEffect(EFFECT_PERFECT_DODGE);
pet:delStatusEffect(EFFECT_INVINCIBLE);
pet:delStatusEffect(EFFECT_MANAFONT);
pet:delStatusEffect(EFFECT_REGAIN);
pet:delStatusEffect(EFFECT_REFRESH);
pet:delStatusEffect(EFFECT_REGEN);

-- Remove bonus mods..
pet:delMod(MOD_RACC,2500);
pet:delMod(MOD_RATT,2500);
pet:delMod(MOD_ACC,2500);
pet:delMod(MOD_ATT,2500);
pet:delMod(MOD_MATT,2500);
pet:delMod(MOD_MACC,2500);
pet:delMod(MOD_RDEF,2500);
pet:delMod(MOD_DEF,2500);
pet:delMod(MOD_MDEF,2500);
end
end
9 changes: 8 additions & 1 deletion scripts/globals/abilities/dark_maneuver.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ require("scripts/globals/magic");

function onAbilityCheck(player,target,ability)
if (player:getWeaponSubSkillType(SLOT_RANGED) == 10 and
not player:hasStatusEffect(EFFECT_OVERLOAD)) then
not player:hasStatusEffect(EFFECT_OVERLOAD) and
player:getPet()) then
return 0,0;
else
return 71,0;
Expand All @@ -35,6 +36,12 @@ function onUseAbility(player,target,ability)

local overload = target:addBurden(ELE_DARK-1, burden);

if (overload ~= 0 and
(player:getMod(MOD_PREVENT_OVERLOAD) > 0 or player:getPet():getMod(MOD_PREVENT_OVERLOAD) > 0) and
player:delStatusEffectSilent(EFFECT_WATER_MANEUVER)) then
overload = 0;
end

if (overload ~= 0) then
target:removeAllManeuvers();
target:addStatusEffect(EFFECT_OVERLOAD, 0, 0, overload);
Expand Down
39 changes: 39 additions & 0 deletions scripts/globals/abilities/deus_ex_automata.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
-----------------------------------
-- Ability: Deus Ex Automata
-- Calls forth your automaton in an unsound state.
-- Obtained: Puppetmaster Level 5
-- Recast Time: 1:00
-- Duration: Instant
-----------------------------------

require("scripts/globals/settings")
require("scripts/globals/status")
require("scripts/globals/pets")

-----------------------------------
-- onAbilityCheck
-----------------------------------

function onAbilityCheck(player,target,ability)
if player:getPet() ~= nil then
return MSGBASIC_ALREADY_HAS_A_PET, 0
elseif not player:canUsePet() then
return MSGBASIC_CANT_BE_USED_IN_AREA, 0
else
return 0, 0
end
end

-----------------------------------
-- onUseAbility
-----------------------------------

function onUseAbility(player,target,ability)
player:spawnPet(PET_AUTOMATON)
local pet = player:getPet()
if pet then
local percent = math.floor((player:getMainLvl()/3))/100
pet:setHP(math.max(pet:getHP() * percent, 1))
pet:setMP(pet:getMP() * percent)
end
end
9 changes: 8 additions & 1 deletion scripts/globals/abilities/earth_maneuver.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ require("scripts/globals/magic");

function onAbilityCheck(player,target,ability)
if (player:getWeaponSubSkillType(SLOT_RANGED) == 10 and
not player:hasStatusEffect(EFFECT_OVERLOAD)) then
not player:hasStatusEffect(EFFECT_OVERLOAD) and
player:getPet()) then
return 0,0;
else
return 71,0;
Expand All @@ -35,6 +36,12 @@ function onUseAbility(player,target,ability)

local overload = target:addBurden(ELE_EARTH-1, burden);

if (overload ~= 0 and
(player:getMod(MOD_PREVENT_OVERLOAD) > 0 or player:getPet():getMod(MOD_PREVENT_OVERLOAD) > 0) and
player:delStatusEffectSilent(EFFECT_WATER_MANEUVER)) then
overload = 0;
end

if (overload ~= 0) then
target:removeAllManeuvers();
target:addStatusEffect(EFFECT_OVERLOAD, 0, 0, overload);
Expand Down
9 changes: 6 additions & 3 deletions scripts/globals/abilities/familiar.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@ require("scripts/globals/status");
-----------------------------------

function onAbilityCheck(player,target,ability)
if (player:getPet() == nil) then
local pet = player:getPet();
if not pet then
return MSGBASIC_REQUIRES_A_PET,0;
elseif not player:isJugPet() and pet:getObjType() ~= TYPE_MOB then
return MSGBASIC_NO_EFFECT_ON_PET,0;
else
return 0,0;
end

return 0,0;
end;

-----------------------------------
Expand Down
9 changes: 8 additions & 1 deletion scripts/globals/abilities/fire_maneuver.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ require("scripts/globals/magic");

function onAbilityCheck(player,target,ability)
if (player:getWeaponSubSkillType(SLOT_RANGED) == 10 and
not player:hasStatusEffect(EFFECT_OVERLOAD)) then
not player:hasStatusEffect(EFFECT_OVERLOAD) and
player:getPet()) then
return 0,0;
else
return 71,0;
Expand All @@ -35,6 +36,12 @@ function onUseAbility(player,target,ability)

local overload = target:addBurden(ELE_FIRE-1, burden);

if (overload ~= 0 and
(player:getMod(MOD_PREVENT_OVERLOAD) > 0 or player:getPet():getMod(MOD_PREVENT_OVERLOAD) > 0) and
player:delStatusEffectSilent(EFFECT_WATER_MANEUVER)) then
overload = 0;
end

if (overload ~= 0) then
target:removeAllManeuvers();
target:addStatusEffect(EFFECT_OVERLOAD, 0, 0, overload);
Expand Down
9 changes: 8 additions & 1 deletion scripts/globals/abilities/ice_maneuver.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ require("scripts/globals/magic");

function onAbilityCheck(player,target,ability)
if (player:getWeaponSubSkillType(SLOT_RANGED) == 10 and
not player:hasStatusEffect(EFFECT_OVERLOAD)) then
not player:hasStatusEffect(EFFECT_OVERLOAD) and
player:getPet()) then
return 0,0;
else
return 71,0;
Expand All @@ -35,6 +36,12 @@ function onUseAbility(player,target,ability)

local overload = target:addBurden(ELE_ICE-1, burden);

if (overload ~= 0 and
(player:getMod(MOD_PREVENT_OVERLOAD) > 0 or player:getPet():getMod(MOD_PREVENT_OVERLOAD) > 0) and
player:delStatusEffectSilent(EFFECT_WATER_MANEUVER)) then
overload = 0;
end

if (overload ~= 0) then
target:removeAllManeuvers();
target:addStatusEffect(EFFECT_OVERLOAD, 0, 0, overload);
Expand Down
9 changes: 8 additions & 1 deletion scripts/globals/abilities/light_maneuver.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ require("scripts/globals/magic");

function onAbilityCheck(player,target,ability)
if (player:getWeaponSubSkillType(SLOT_RANGED) == 10 and
not player:hasStatusEffect(EFFECT_OVERLOAD)) then
not player:hasStatusEffect(EFFECT_OVERLOAD) and
player:getPet()) then
return 0,0;
else
return 71,0;
Expand All @@ -35,6 +36,12 @@ function onUseAbility(player,target,ability)

local overload = target:addBurden(ELE_LIGHT-1, burden);

if (overload ~= 0 and
(player:getMod(MOD_PREVENT_OVERLOAD) > 0 or player:getPet():getMod(MOD_PREVENT_OVERLOAD) > 0) and
player:delStatusEffectSilent(EFFECT_WATER_MANEUVER)) then
overload = 0;
end

if (overload ~= 0) then
target:removeAllManeuvers();
target:addStatusEffect(EFFECT_OVERLOAD, 0, 0, overload);
Expand Down
78 changes: 78 additions & 0 deletions scripts/globals/abilities/maintenance.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
-----------------------------------
-- Ability: Maintenance
-- Cures your automaton of status ailments. Special items required
-- Obtained: Puppetmaster Level 30
-- Recast Time: 1:30
-- Duration: Instant
-----------------------------------

require("scripts/globals/settings")
require("scripts/globals/status")
require("scripts/globals/pets")

local idStrengths = {
[18731] = 1, -- Automaton Oil
[18732] = 2, -- Automaton Oil + 1
[18733] = 3, -- Automaton Oil + 2
[19185] = 4 -- Automaton Oil + 3
}

-----------------------------------
-- onAbilityCheck
-----------------------------------

function onAbilityCheck(player,target,ability)
if not player:getPet() then
return MSGBASIC_REQUIRES_A_PET, 0
elseif not player:getPetID() or not (player:getPetID() >= 69 and player:getPetID() <= 72) then
return MSGBASIC_NO_EFFECT_ON_PET, 0
else
local id = player:getEquipID(SLOT_AMMO)
if idStrengths[id] then
return 0, 0
else
return MSGBASIC_UNABLE_TO_USE_JA, 0
end
end
end

-----------------------------------
-- onUseAbility
-----------------------------------

function onUseAbility(player,target,ability)
local id = player:getEquipID(SLOT_AMMO)
local pet = player:getPet()

local function removeStatus()
--if pet:delStatusEffect(EFFECT_DOOM) then return true end
if pet:delStatusEffect(EFFECT_PETRIFICATION) then return true end
--if pet:delStatusEffect(EFFECT_LULLABY) then return true end
--if pet:delStatusEffect(EFFECT_SLEEP_II) then return true end
--if pet:delStatusEffect(EFFECT_SLEEP) then return true end
if pet:delStatusEffect(EFFECT_SILENCE) then return true end
if pet:delStatusEffect(EFFECT_BANE) then return true end
if pet:delStatusEffect(EFFECT_CURSE_II) then return true end
if pet:delStatusEffect(EFFECT_CURSE) then return true end
if pet:delStatusEffect(EFFECT_PARALYSIS) then return true end
if pet:delStatusEffect(EFFECT_PLAGUE) then return true end
if pet:delStatusEffect(EFFECT_POISON) then return true end
if pet:delStatusEffect(EFFECT_DISEASE) then return true end
if pet:delStatusEffect(EFFECT_BLINDNESS) then return true end
if pet:eraseStatusEffect() ~= 255 then return true end
return false
end

local toremove = idStrengths[id] or 1
local removed = 0

repeat
if not removeStatus() then break end
toremove = toremove - 1
removed = removed + 1
until (toremove <= 0)

player:removeAmmo()

return removed
end
Loading