Exoskeletons (From advanced warfare)

Discussion in 'Archived: Plugin Requests' started by Ward1246, Nov 23, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    Ward1246

    If you have ever played advanced warfare, the latest call of duty as of right now, There are these things called Exoskeletons that let you do many things. I would like to see one added. I would suggest using this with /exoskeleton. This would enable a player to use exoskeletons. I have thought that this could be just a command, or could also give the user iron/chain chestplate (Configurable [1]).

    Anyways once this happened, if the player were to double tap space bar (Configurable [2]) you would be launched into the air. In the game, there are many powers for this. I would only ask for 1, but adding others is ok as well and there is a limit to one power, so maybe make this configurable (Configurable? [3]) The power i would ask for is hover. When you double tapped space, or however jump boosting is enabled, afterwards you can hold that button and float for about 5 seconds (Configurable [4]). In the game, another power is to shoot a grenade out of your hand. I will not be asking for this however this can still be made if you wish.

    In the game, you can slam down on things and this also causes damage {Configurable [5]), i thought this could be done by shifting when shifting in the air, and this makes a techno noise, like "brrnnn", while also shooting the player down faster than falling speed. The Exoskeleton can also slide, moving the player fast to the left, right, or backwards, a similar effect can be done when in air, by double tapping forward and going very fast (Configurable [6]) Sliding moves the player very fast forward. I would suggest this by using shift and double tapping forward. Another thing could be particles.

    When the player boost jumps with the Exoskeleton, a flame and smoke emit from the Exoskeleton. This also happens when sliding, in air dashing i believe and slamming. All powers have a limited time, what is called battery in the game. I would like to see this added to make some features not to OP (Configurable [7]) and this battery lasts about 5 seconds. In the video you can see how different powers have different battery life. For example the Exo overclock the battery life is about 10 seconds while others like Exo hover is only 5 seconds. Related to this fact Exo hover goes down more quickly, but i am not saying all these features need to be added, i am just pointing them out.

    Permissions could be Exoskeleton.use allows use of /exoskeleton command.

    This could go under category: Fun

    I would suggest the name to be: Exoskeletons

    I would like this by: ASAP. Take your time, this is a lot to make but with ideas and feedback it can be possible.

    I am not sure if this is needed but i would like this for Craftbukkit 1.7.9 please.

    ---------------------
    Configurable file.
    My idea for a config file would be like this

    [configurable [1]]
    Chestplate type:
    - (Type of chestplate here, or none)

    [configurable [2]]
    Activate jump/hover
    - (Button here)

    [configurable [3]]
    Powers
    -(Power name, go to powers for info)

    [configurable [4]]
    Hover time
    -(Amount of time, in seconds maybe)

    [configurable [5]]
    Slam damage
    -(How much damage slamming does, in 1/2 hearts maybe)

    [configurable [6]]
    Controls
    (You normally double tap forward to go forward faster, double tap left to 'dodge' left, double tap right to 'dodge' right, and double tap backwards to 'dodge' backwards, so in this case forward could be w by default, s for backwards, a for left, d for right. When you slide it could be shift and double tap w.)

    [configurable [7]]
    Battery life
    -(This would be the time for all powers, in seconds maybe. The default should be 5 seconds and if this was really wanted it could be really high numbers, or "unlimited" for unlimited time.)

    -----------
    Powers

    There are many powers, like speed boost, this could just give you speed, Exo shield, maybe glass in front of the player whichever way he faces, Hover, this could be many things, i am not sure how this could work, Invisibility, give invisibility effect, Exo stim, this could be like absorption, health boost.

    Here is an example for the Exoskeleton abilities:


    Here is an example of the Exoskeleton doing other features like jumping, ect:

    Thank you for reading and let me know if there are any impossible features, typos ect.
     
  2. Offline

    Onlineids

    You should probably better sort the first chunk of text because how it stands now it looks like a wall of text.
     
  3. Offline

    Ward1246

    Ok i think it is good now. I sorted things and made them into paragraphs. They are by a topic like a separator, and if they still need to be separated let me know.
     
    XgXXSnipz likes this.
  4. Offline

    XgXXSnipz

    Ward1246 SEEMS like a awesome plugin, now let me read the description again :D
     
  5. Offline

    Ward1246

    bump... I have been working on this code and i got some things to work, some not working. I need a in code timer. Cool downs do not work. Here is the code troubling me:
    if (player.isSneaking())
    player.setVelocity(new Vector(player.getVelocity().getX(), -2,
    player.getVelocity().getZ()));

    I need to add a timer so that the velocity is stopped. EX
    Show Spoiler

    if (player.isSneaking())
    player.setVelocity(new Vector(player.getVelocity().getX(), -2,
    player.getVelocity().getZ()));
    {timer that counts 5 seconds and then triggers something, in this case the next line down}
    player.setSneaking(false);
    So after 5 seconds the velocity will take effect then the player will no longer be sneaking. I made it so when the player is sneaking, the sliding effect takes place. If this is possible please explain how and give an example code, that will help me best. Also i have been having problems damaging entites, and all my searches did not help me.
     
  6. Offline

    drpk

  7. Offline

    Ward1246

    Would that be for the timer i need? I think that could work as long as it follows what i need. I see something about bukkit runnable but i am not sure how that would work, i never heard of it before. If you are able i would like an example, but thank you either way!
     
  8. Offline

    drpk

  9. Offline

    Ward1246

    drpk Do you have a working code? I cannot find any.
     
  10. Offline

    drpk

    Ward1246 can you post the code you tried?
     
  11. Offline

    Ward1246

    First i need to ask for assistance with damaging entities. Like in this plugin Stomper you can damage entities enemies by falling on them. I need exactly that. Plugin found here http://dev.bukkit.org/bukkit-plugins/stomper/ New update: I no longer need cooldowns, there was a better way around this, but many thanks to drpk for 1. Helping me and 2. looking at this plugin. I have now gotten 3 things working: Slam (also part slide) when in air shifting slams the player down. Slide when shifting and jumping and moving in any direction you will 'slide' in that direction. Jump boost you are shot up in the air. Slam is not finished, as how i currently am unable to figure out how to damage entities near you. My current code is
    Show Spoiler


    import org.bukkit.Material;
    import org.bukkit.block.BlockFace;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.util.Vector;

    public class Exoskeleton extends JavaPlugin implements Listener {


    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("exoskeleton")) {
    onDisable();
    return true;
    } else {
    sender.sendMessage("You must be a player!");



    }
    return false;
    }

    public void onEnable() {
    getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onPlayerMove(PlayerMoveEvent event) {
    final Player player = event.getPlayer();
    if (player.isFlying())
    player.setVelocity(new Vector(player.getVelocity().getX(), 1,
    player.getVelocity().getZ()));
    player.setFlying(false);
    player.setAllowFlight(false);
    if (player.getAllowFlight() == (false)){
    event.isCancelled();

    if(!(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.AIR)) {
    player.setAllowFlight(true);

    }



    if (player.isSneaking())
    player.setVelocity(player.getLocation().getDirection()
    .multiply(1));
    if (player.isSneaking())
    player.setVelocity(new Vector(player.getVelocity().getX(), -2,
    player.getVelocity().getZ()));
    if (player.isSneaking()) {

    player.setSneaking(false);
    }
    }

    }

    }

    Note: The jump boost has a disable thing as it seems, so when you are in air, the jump boost will not take effect. You will have to double tap space very fast to bypass this. I am working on a fix for this now.
     
  12. Offline

    drpk

    Ward1246 you can damage entities by checking if they are an instanceof Damageable, and then calling Entity#Damage. I suggest you make your own thread on Plugin Development for further help.
     
  13. Offline

    timtower Moderator Moderator

    For further development questions please create a thread about it in the development section.
     
  14. Offline

    Ward1246

    Upon doing this, i realized there are many impossible features, at least ones that cannot be done. The dodging cannot be done because there is no way to test for when the player moves to his left, or right, meaning not by moving his x or z position but when you use a key to move left i cannot test for that. I got the boost to work but not in mid air, there is no way to test for if the player is jumping when he is in air, so that disables hover until/unless i find a loophole, air dash, the sliding does not work because there is no way to make the event be delayed for a second. The powers i have not yet tried.
     
  15. Offline

    drpk

    Ward1246 PlayerToggleFlightEvent can be used to test double jumps AFAIK.
     
  16. Offline

    Ward1246

    drpk i missed some of your posts and i apologize. I got everything working now, but for the codes i tried i did not post them because they were random ones on different posts and other places and i'm not sure if they even were for 1.7.2.
     
    Last edited: Jan 27, 2015
  17. Offline

    Ward1246

    I am ending development on this, if you like use what i tried for yourself. I'm sure someone can do everything i wanted.
     
    Last edited: Jan 27, 2015
Thread Status:
Not open for further replies.

Share This Page