Magic

Magic

190k Downloads

Few Combatlog Suggestions

FlamingLumberjack opened this issue ยท 9 comments

commented

I suggest you give slowness or stop a player entirely for a few seconds before they can lift off with a broom or use the Recall spell so combatants can catch up to you and stop you from teleporting away or flying off. Currently, it takes time for the Recall spell to work but if you keep running away your combatant still can't catch up to you even if there is a timer on the teleport and currently, broomsticks take off almost instantly leaving combatants no time to catch up to you at all. In my opinion, I think broomsticks should have slowness and Recalls should stop you from moving entirely.

Also quick note I don't know how to use labels or maybe I just can't.
https://media.discordapp.net/attachments/718480624805085286/873062631928373248/unknown.png

commented

Also forgot to mention that I think you should buff the exp you get from using magic spells since it gives way too little right now.

commented

You can adjust the SP cooldown, this is the easiest way to speed up progression- there are instructions here: https://github.com/elBukkit/MagicPlugin/wiki/SpellPoints

Recall cancels when you get damaged, it shouldn't be too hard to hit someone trying to flee?
The slowness suggestion is interesting though, I'll give that some thought. I have also considered cancelling Recall when you move, but feel like I'd personally find that too annoying.

I probably won't change broomsticks myself, I usually don't allow them in PvP areas at all - but I understand that's not practical if your whole server is pvp. You can edit the spell with /mconfig editor spell broom, it wouldn't be hard to add a Delay action and/or PotionEffect (for slowness)- let me know if you'd like help with that!

commented

Oh then was the original value of liftoff_duration: since I changed it?

commented

Oh wait and for Aurelium Skills maybe only give exp when attacking a mob.

commented

Looks right, you shouldn't have to mess with liftoff_duration, that's just how long velocity is applied to you to get you off the ground. Let me know if it doesn't work.

Thanks for the Aurelium feedback! I would not be wanting to make a change to the defaults to let people spam-cast to earn though, so I guess I'll leave the scale where it's at. I think you can add cast_on_no_target: true to get that behavior if you want it, though.

/mconfig configure spell default cast_on_no_target true will set that as the default for all spells.

/mconfig configure spell override earns 1 to make every spell only earn 1 SP, then change the AS scale to 1 .. should get you what you want, I think.

commented

I'm assuming that delaying broom lift off is liftoff_duration: and I meant buff exp gain from spells for Aurelium Skills by the way. Anyways thank you for your help once again. ๐Ÿ˜„

commented

Oh! Ok- you can do /meditor config aurelium_skills to edit that config. xp_earn_from_sp is the section you're looking for.

I honestly had no idea how to balance that, it currently gives 50% of SP earn. If you have some general guidance on what that should be (twice that? more?) I'd love to change the defaults, and would appreciate it!

As for the broom, adding a delay will be a little more complicated. You have to mess with the logic of the spell a bit. If you find the actions section, and "cast" under that, you need to add some actions to the beginning of the list. Something like this:

      # ...
      cast:
        - class: PotionEffect
          add_effects:
            slow: 4
          duration: 2 seconds
        - class: Delay
          delay: 2 seconds
        # what was here before follows, the rest of the spell logic
        - class: ChangeContext

That will slow them and wait for 4 seconds before they lift off .. the hardest part is making sure everything lines up correctly, the spell editor can help somewhat with that.

Hopefully not too daunting, let me know how it goes!

commented

For the Aurelium Skills I would prefer if it gave 1 sorcery exp every time you casted a spell but you would have to make it a lot more if it only gave exp every time you got SP. For the broom is this correct?

    cast:
        - class: PotionEffect
          add_effects:
            slow: 4
          duration: 2 seconds
        - class: Delay
          delay: 2 seconds
        # what was here before follows, the rest of the spell logic
        - class: ChangeContext
          target_offset: 0,1,0
          ignore_result: true
          actions:
            - class: Volume
              radius: 1
              actions:
                - class: CheckBlock
                  allowed: passthrough
                  fail:
                    - class: Message
                      ignore_result: true
                      message_type: action_bar
                      message_key: nospace
                    - class: CastResult
                      result: no_target
                      end_result: true
                    - class: Stop

Also should I change liftoff_duration:?

commented

All of the default spells are here on github: https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/main/resources/examples/survival/spells/broom.yml

So instead of changing cast_on_no_target, change earns_cooldown to 0 if you want to earn SP on every successful cast.