RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
Charm/Manipulation State (v2.1)

0 Members and 2 Guests are viewing this topic.

*
Rep:
Level 82
Charm/Manipulation State
Version: 2.1
Author: Logan Forrests
Date: April 26, 2011

Version History


  • Version 2.1 : 04.26.2011
    - Fixed an issue in which the wrong MP pool was drained when using charmed skills.
    - Fixed an issue in which the wrong battler stats were being used to calculate the damage inflicted by a charmed targets' skills.
    - Removed dependency on Update Action Turn per Action script to prevent charmed targets acting in the same turn they are successfully charmed.
    - Modified the way skills are shown in the skill window
    - Now displays the MP remaining of the charmed target w/ gauge
  • Version 2.0 : 04.24.2011
    - Completed work on script rewrite.
    - Removed some functionality from v1.x - see the section labelled: "Planned Future Updates".
Spoiler for Previous Version History:
  • Version 1.0c : 03.29.2011
    - Fixed an issue whereby targets were not being correctly created when executing single target skills.
    - Fixed an issue in which charmed targets could not be attacked.
  • Version 1.0b : 03.27.2011
    - Fixed a couple of bugs whereby ending the battle did not reset charm data variables, and attempting to hit a charmed ally would result in the lead actor always being attacked.
  • Version 1.0 : 03.27.2011
    - Original Release

Planned Future Versions
Because Version 2.0 of this script has removed some of the features present in Version 1.0c, future updates will see these features being reinstalled.

Next update:
Addition of an Attack option to force target to make a standard attack.

Removed from v1.0c:

  • Enemies can no longer Charm player's characters - skills should not be set to do so as it will produce undesired effects.
  • Much of the text output customization has been removed.

Description


Spoiler for Description:
Extracts (from the Description and How It Really Works sections from the script):

This script allows player's characters to inflict the Charm status on its enemies.

This essentially works in the same way that the Manipulate Command Materia in Final Fantasy 7 works, much more so than Version 1.0c of this script.

The abilities that the controlling actor normally have are no longer available during the control of an enemy, but are returned once control ends.

In addition to being able to use skills from the enemy's action list, the actor gains 2 other abilities: Skip Turn and Release.

More detailed information can be found within the script as it is quite lengthy.

It is recommended, that the Update Action Order script is also used with this one to ensure this script works as intended. Without it, the effect of Charm will not take effect immediately, meaning that the target will take its intended turn before succumbing to the effect.

The thread can be found here: http://rmrk.net/index.php/topic,42361.0.html

The script can be downloaded at the end of this post also.

Features

Spoiler for Features:
Removed features have a strike through effect over the text.

  • Actors who charm enemies are able to manipulate the skills the affected Enemy performs.
  • Actors can only Charm one enemy at a time. Enemies can Charm multiple enemies.
  • Enemies that are under the effect of Charm are unable to take turns for
    themselves.
  • The use of skills that target all enemies will not effect any enemy under the
    current control of another ally.
  • Conditions to be met by enemies before actions can be used are ignored when used by an actor.
  • Skills that require an MP cost will reduce the MP pool of the enemy under Charm, not the actor's MP pool.
  • Actors who have successfully Charmed an enemy have 3 commands available to them:
      Enemy Skills : Select a skill to use that belongs to the Charmed enemy
      Skip Turn    : Skips the current turn
      Release      : Releases the Charmed enemy from the actor's control
  • All skills belonging to a Charmed enemy can be used unless explicitly restricted via a tag in the Skills database.
  • Skip Turn can be set to work in the same manner as Guard or Do Nothing.
  • Release returns control back the enemy.
  • Most customizable settings relate to the vocabulary used to display certain
    conditions and effects.
  • Added in v2.0: You can define what tag is used in the database within the script.
  • Enemies who charm actors cause affected actors to attack allies other than
    themselves.
  • Actors can attack party members who are under the influence of Charm.
  • Actors under the influence of Charm cannot be targetted by skills that target
    a party member (such as Cure skills and buffing skills).
  • Other enemies in the enemy party will not attack Charmed members of the opposite party - similar to how a player would not necessarily attack Charmed enemies.

Screenshots

The previous screenshots are from v1.0 of this script. New screenshots will be provided at a later date.

Instructions

Spoiler for Instruction:
A Charm state can be achieved by adding the following tag to the Note section of the State you want to be Charm:
        \charm

To prevent a skill from being used by the player (for those over powered boss-like skills that might break the balance of the game if a player used it) simply add the following tag to the Note field of the desired skill:
        \not_charm_usable

The tag definitions can be changed within the script to suit your own needs.

Installation:  Simply place the script in the Materials section of the Script Editor, somewhere above Main. See Known Compatibility Issues section for more info

These instructions are included in the script


Script


Script is attached.

Credit


  • Logan Forrests

Thanks

  • Dogurasu for the additional request and making me aware of something I should have thought about but didn't.
  • Square for making the ability to Manipulate (Final Fantasy VII) of which some ideas are based on, and for the ability known as Charm (Final Fantasy XI) of which some other ideas are based on.
  • Enterbrain for the platform on which I write these scripts.
  • For not being shouted at for coming to bed after midnight.

Support


It could well have a few issues that I've not come across. Please let me know if you find any. It performs all the things I intended for it to do, but that doesn't mean it does everything right every time. Please try to provide as much info as possible such as error types and line numbers.

Known Compatibility Issues

No known compatibility issues.

Spoiler for Extra:
The script has been written and tested with no other scripts in place. As such, if you encounted any issues with regards to other scripts, first try to resolve the problem by moving this script around. If you are still unable to resolve the problem, feel free to contact me on rmrk.net under the name LoganForrests (no spaces involved) with the name of the script(s) you find no longer work when this script is included and the nature of the problem(s) so that I can begin to work on the problem(s) being caused.

Demo


I may make a demo that explains how it works, if I can figure the best way to make one. At present, though, there isn't one. There's not many options to change that affect the script in drastic ways so I doubt one is absolutely needed.

Author's Notes


Spoiler for Author's Notes:
These scripts are being written as a means of developing as a scripter. As such, even if they already exist in some other form, I'll continue to write them in order to improve. By sharing them, I hope to develop further as they are used and feedback is given.

Started as part of a series of scripts that intend to add a lot more options to what kind of skills and states can be achieved. This was one of the states that required a lot more work and so was started first.


Spoiler for Known Issues:
There are a couple of things to bear in mind when developing skills that inflict the status effect. These are:

  • Never allow an actor to be able to use a skill that can charm more than 1 enemy.
Thus, never set the scope of a Charm skill to anything other than "One Enemy". Enemies, however, can target all actors with a single spell with no issues.

  • Never allow an actor to be able to use an ability from a Charmed enemy that in turn causes the Charmed status effect.
For example, if Lamia can use Belly Dance a move that causes Charm, you must not allow Belly Dance to be usable by the actor whilst he is able to 'control' the actions of the Lamia.

Breaching the above known issues will have undesirable and unintended effects at the present time.

  • When all party members are inflicted by the Charm state, enemies will appear to not take any turns.

They are designed to be clever with regards to attacking actors that are Charmed by another enemy. They will not making any attacks that would affect a Charmed actor. They will, however, continue to use skills that affect the enemy's party such as curative and enhancing skills.

These intend to be fixed in patch updates.

Restrictions


Charm/Manipulation State by Logan Forrests is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Australia License.

EDIT: Made the post smaller by spoilering everything.
« Last Edit: April 26, 2011, 05:36:45 AM by LoganForrests »
(Why do I always feel like it's the end of the world and I'm the last man standing?)

**
Rep: +0/-0Level 84
Awesome, I think I'll try this out today!

*
Rep:
Level 82
Let me know how that goes for you if you will. Thank you kindly. Particularly, see how well it performs the features I listed. There may be a few other things it does that I've not written, but if any of those bug out or don't appear to work, I'll need to fix them.

Also any suggestions for improvement/making it do better things will be much appreciated.

Oh and how easy it is to use/make sense of? That's something else I'd like to improve if I can.
(Why do I always feel like it's the end of the world and I'm the last man standing?)

**
Rep: +0/-0Level 84
I didn't have any game crashes but the script didn't seem to work at all. The monsters were under the state "mind control", but they kept preforming as normal. :(

*
Rep:
Level 82
Are you using any other scripts? Try moving it about if you do, it could be those interfering.

Also, if you are using other scripts, can you tell me which ones so that I can see about fixing potential compatibility issues. With so many scripts out there, it's not to easy to try to anticipate them.
(Why do I always feel like it's the end of the world and I'm the last man standing?)

**
Rep: +0/-0Level 84
Yes, but I have a lot of scripts...

And putting the script all the way at the bottom causes the status effect to affect the caster, not the target (which is weird.) I do have Yanfly's custom skill effects and KGC's custom skill scripts.

*
Rep:
Level 82
You'll have to attach those two scripts so that I can check through them and see if they are causing any problems, or provide me with means of getting hold of them.
(Why do I always feel like it's the end of the world and I'm the last man standing?)

**
Rep: +0/-0Level 84

*
Rep:
Level 82
Thanks. I have the KGC one as Passive Skills thus why I didn't recognise it at first. I'll update this post if I can find anything from those two.

EDIT:

After putting my script both above and below those two, I only found one issue: enemies you had charmed wouldn't perform the action you told them to. I'll work on fixing that.

EDIT2: I tried removing each script to work out which one was affecting, and I found out that mine doesn't do what it should. Strange, because I took those screenshots after I finished the post and it worked then. I must have changed something else and not realised. Good news is, I know exactly what the problem is so fixing it should be easy.

EDIT3: I've updated the OP to include v1.0c that fixes that issue. I tried it also with those two other scripts and I was able to make attacks correctly still. So it was my script that caused the issue - it was a logical error that was causing it. At least we know those two scripts work just fine with it though.

Let me know if there's any other issues you find.
« Last Edit: March 29, 2011, 01:35:14 AM by LoganForrests »
(Why do I always feel like it's the end of the world and I'm the last man standing?)

*
Rep: +0/-0Level 71
RMRK Junior
This script appears to be incompatible with Battle Engine Melody. I haven't tried the other status scripts you've written yet, but I tried this one both on the BEM demo and on a project I'm working on (which utilizes BEM) and both turned out to not work properly, either with game-crashing errors or some sort of bug in play.

It gives an error if you put the script below BEM and go into battle, at line 582, "undefined method 'actor?' for nil:NilClass". If you put it above BEM, it seems to work at first, but then when you command actors to attack without using a skill, nothing happens -- they go forward as if to attack, but then don't. (In the game project I'm working on, using a skill with actor 4 crashes the game entirely, though that's not the case with the Melody demo, since skills still work fine there. The error is at line 327, "undefined method 'is_no_longer_in_control' for nil:NilClass", though I have no idea what's causing it there.) Enemies seem to be working just fine, though.

I think the problem lies somewhere in BEM scripts IV and V, since I tried putting the Charm script above those two in particular after doing a little searching on my own, and it seemed to yield the same results as if it was above all of them.

*
Rep:
Level 82
I expected a giant incompatibility issue with YEM scripts. Any scripts that change the battle system in any way will probably have issues with this too. Especially ones that overwrite methods and change the way the battle process happens like the Melody scripts.

I have the set of BEM scripts, so I'll definitely give it a shot to make something that'll allow it to work with it. I can't promise a finish date, as I may rewrite the script itself (it was on the cards anyway) using BEM to achieve better compatibility, especially if you want such a state to be usable in your project.

The other script (Added State Effects) may also need a smaller sized tweak to make it work - there's not as much aliasing and overwriting involved in that one - but if you want to play around with it too and send me any errors/bugs that'd be appreciated (although I know BEM already incorporates some of the states I've included so far).

« Last Edit: April 08, 2011, 01:20:07 AM by LoganForrests »
(Why do I always feel like it's the end of the world and I'm the last man standing?)

***
Rep:
Level 74
I'm baaack!
This script is EXTREMELY AWESOME!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!         




I will DEFINATLEY use this script in my game Terramon... the only problem is I might forget to include it when I go home...

*
Rep:
Level 73
VIII or DIE!
erm.. this might sound a little stupid but how do i get the attachment? i tried clicking on the paperclip but it does nothing.. this script looks mega want to try it

thanks
The only limit is your imagination.

My artwork:
http://jameswhite89.deviantart.com/

My Music:
http://uk.myspace.com/jamescoversall

*****
my name is Timothy what's yours
Rep:
Level 79
Hello
2014 Best IRC Quote2014 Zero to Hero2014 Most Missed Member2012 Zero To HeroSecret Santa 2012 ParticipantContestant - GIAW 9For frequently finding and reporting spam and spam bots2011 Zero to Hero
At the very bottom of the first post, or this convenient link I just happen to have.
It might not work, just get it from the very bottom of first post.
it's like a metaphor or something i don't know

*
Rep:
Level 73
VIII or DIE!
The only limit is your imagination.

My artwork:
http://jameswhite89.deviantart.com/

My Music:
http://uk.myspace.com/jamescoversall

*
Rep:
Level 82
Just to note, I am in the process of making a rewrite of the way this script actually works, which is why I haven't taken the care to remove the extra bug or two I recently found that is in the latest available version (1.0c). Also in the works is a version that will work alongside the Battle Engine Melody scripts, but that's taking a little more time.

The process of setting up the script, along with the skills and states will remain the same, so feel free to start things off with this version. Just have to put up with the bugs that pop up. Particularly the one that's preventing you from attacking Charmed enemies with allies and telling you said ally is charmed themselves when they aren't. Only other thing; don't make any enemies have a Charm skill - this won't be initially in v2.0 so it won't have any effects until I put it in.
« Last Edit: April 17, 2011, 11:06:51 AM by LoganForrests »
(Why do I always feel like it's the end of the world and I'm the last man standing?)

*
Rep:
Level 73
VIII or DIE!
Awsome script m8! Worked like a... dare i say it charm XD
The only limit is your imagination.

My artwork:
http://jameswhite89.deviantart.com/

My Music:
http://uk.myspace.com/jamescoversall

*
Rep:
Level 73
VIII or DIE!
A quick thing i just tried that worked well is changing this line:
VOCAB_UNABLE_TO_ACT = " is " + VOCAB_CHARMED + " and is unable to act."
to this line:
VOCAB_UNABLE_TO_ACT = " Cant attack a Charmed enemy!"
thus elimintating any confusion on the players part...
you rock 4 this script :)
The only limit is your imagination.

My artwork:
http://jameswhite89.deviantart.com/

My Music:
http://uk.myspace.com/jamescoversall

*
Rep:
Level 82
The purpose of that (initially) is to display a message telling the player that that particular enemy is unable to act due to it being charmed/manipulated. If a player wants to attack an enemy that is charmed, that should be there choice so they were designed to be able to make that call. Thus why it's a problem, albeit a small one.

A lot of the vocab is being removed for v2 as, for the most part, the message aren't really needed. They may get thrown in afterwards, but the initial focus is to just get a bug free, much less convoluted version up. I'm about half way there already.

I appreciate the comments though. Good morale makes me want to script some more but it's bed time cos I have to be up at 4:30am for work  :'(  Know what I'd rather do.
(Why do I always feel like it's the end of the world and I'm the last man standing?)

*
Rep:
Level 73
VIII or DIE!
I look forward to it, while the script is great as it is attacking a controled enemy sounds like a good addition plus the enemy being able to make use of the state also. I will eagerly await its completion.. I have seen a great many requests for a script such as this so a big thumbs up for doing it  :)
The only limit is your imagination.

My artwork:
http://jameswhite89.deviantart.com/

My Music:
http://uk.myspace.com/jamescoversall

*
Rep:
Level 82
Version 2.0 is up and ready for download. Some features from v1.0c have been removed, details in the OP. Also included, and recommended, is the Update Action Order script I wrote. Details on that script can be found in the thread for it (link provided in OP).

Hopefully it all works as it should for now, until I implement the removed stuff and add some extra toppings.
(Why do I always feel like it's the end of the world and I'm the last man standing?)

***
Rep:
Level 74
I'm baaack!
I re-stumbled upon this script and I figure now that version 2.0 is up I might as well download it now. Good job!

*
Rep: +0/-0Level 70
RMRK Junior
I've started using the script, and while I have no scripting ability of my own, I do have a couple of suggestions.

1) I would like to see the character have the ability to attack with the monster, rather than just use skills. I'm guessing, however, that this is not done because the skills being used are based on the manipulator's stats, so it would be the same as a normal physical attack from the manipulator. Which leads me to...

2) ...while the state is active, if the character can use the skills of the monster, why not use the statistics of that monster? Again, I know this is probably asking a lot more than I really understand, but it's just a set of ideas.

3) Is there any way to make the manipulate menu look like it's selectable? I know it is, but all of the options appear grayed out. Just a cosmetic problem.

4) When the charm effect wears off, the enemy still has the ability to use its turn, even if it has already taken its turn. Is there a way to fix this?

Just throwing some ideas out there. I intend to use the script as it is, unless improvements are made; in that case, I'll use the updated script. Thanks for listening.

*
Rep:
Level 82
I will certainly take those suggestions into consideration, as it will definitely make it seem much more solid.

I intend to add in an option to make a standard attack. I'd probably expand the menu to do this with. I just wanted a version up that does things simply and at least somewhat effectively.

As it stands, the effect of the skills (such as damage etc) is based on the stats of the manipulator not the manipulatee, which would lead to some balance issues I would imagine. I hadn't actually thought of this happening, so thanks for bringing that one up. It shouldn't be hard to change that around.

I haven't run into an issue with the options being greyed out. The only time it should do this is when the enemy under manipulate has insufficient MP to use it. I may have had an oversight, so I'll look into it.

I've also not had an issue with the enemy taking it's turn even after being forced to attack. I know it does attack after being charmed if the Update Actor Turn script isn't being used. I intend to fix this dependancy though.
« Last Edit: April 26, 2011, 03:28:52 AM by LoganForrests »
(Why do I always feel like it's the end of the world and I'm the last man standing?)

***
Rep:
Level 74
I'm baaack!
Can you make an option so you can use the manipulor or manipulatees stats? A true or false script option? Maybe even a state option?