1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  4. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  5. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  6. The results are out! Check them out.
    Dismiss Notice
  7. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  8. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  9. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

[JASS] {idea} [vJass] (System) CustomAttack

Discussion in 'Triggers & Scripts' started by Anachron, Apr 19, 2010.

  1. Anachron

    Anachron

    Joined:
    Sep 9, 2007
    Messages:
    6,167
    Resources:
    66
    Icons:
    49
    Packs:
    2
    Tools:
    1
    Maps:
    3
    Spells:
    9
    Tutorials:
    1
    JASS:
    1
    Resources:
    66
    Yes,
    I've started another system.

    This is about a custom damageengine that does not only provide custom damagetables but also it will work like a charm with CustomMissile so you can connect it to not only fit your needs but also to fully replace the crappy warcraft 3 damage/attack engine so you can freeze attacks, change the attackrange/attackdamage/ whatever you think of ingame without loosing efficence.

    But that's just the top.
    Register callbacks to damageevents of a specific damagetype, get the damage source, whether its aura, spell, attack or system, make shields that do not only prevent units from taking damage but also freezes missiles around,...

    There is much more I just wanted to throw this into the community.
    Maybe you have an idea what really should be implemented?

    Stay tuned for the next engine "revolution". :)
     
  2. Pharaoh_

    Pharaoh_

    Joined:
    Nov 6, 2008
    Messages:
    8,127
    Resources:
    11
    Icons:
    3
    Skins:
    1
    Spells:
    6
    Tutorials:
    1
    Resources:
    11
    Now THIS is what I'm looking forward to experience :D
    Go go go!
     
  3. Viikuna

    Viikuna

    Joined:
    Aug 6, 2008
    Messages:
    430
    Resources:
    0
    Resources:
    0
    You should first make some UnitProperties like OOP unit object struct thingy, with bonus system vJass scripts and GSL scripts for getting initial property values from object editor.

    Because you are gonna need shitloads of data for custom attacks, and you also need to save loads of data to somewhere. Unit struct is simply the coolest way to do this.
     
  4. Anachron

    Anachron

    Joined:
    Sep 9, 2007
    Messages:
    6,167
    Resources:
    66
    Icons:
    49
    Packs:
    2
    Tools:
    1
    Maps:
    3
    Spells:
    9
    Tutorials:
    1
    JASS:
    1
    Resources:
    66
    Hmm, the shitloads of data isn't that much at all, I only save stuff into (hash)tables and get the linked objects.

    Thanks for your comment, I highly appreciate it.

    To bad the unit data parser has not been finished yet.
     
  5. Viikuna

    Viikuna

    Joined:
    Aug 6, 2008
    Messages:
    430
    Resources:
    0
    Resources:
    0

    Well, you at least gotta now units magic resistance and armor and armor type as well as attackers damage type, and some damage&armor types table to be able to calculate damage before resistances for ranged projectiles. You also need to know the exact attackspeed and damage point for dynamic evasion.

    Object data parser is not needed, since you can easily get those initial values from object editor for your unit struct with gsl, which can also write them to the struct for you.


    Also one unit struct is more simple, fast and intuitive than some hashtable databases. Simple unit.armor syntax is pretty much as cool as it gets.
     
  6. Anachron

    Anachron

    Joined:
    Sep 9, 2007
    Messages:
    6,167
    Resources:
    66
    Icons:
    49
    Packs:
    2
    Tools:
    1
    Maps:
    3
    Spells:
    9
    Tutorials:
    1
    JASS:
    1
    Resources:
    66
    No matter how cool things are, I am not wasting one struct per unittype. This is rather slow then useful.

    I have never worked with GSL, do you have a link or such?
    Thanks for the suggestions.
     
  7. Viikuna

    Viikuna

    Joined:
    Aug 6, 2008
    Messages:
    430
    Resources:
    0
    Resources:
    0
    One struct instance per unit. One struct type for all.

    Sorry if I was being unclear.


    GSL is part of this GMSI thingy, which can be found for example from wc3c.net

    edit. Also, Im curious. How are you going to modify attack range in game?
     
  8. Anachron

    Anachron

    Joined:
    Sep 9, 2007
    Messages:
    6,167
    Resources:
    66
    Icons:
    49
    Packs:
    2
    Tools:
    1
    Maps:
    3
    Spells:
    9
    Tutorials:
    1
    JASS:
    1
    Resources:
    66
    I'm triggering the attack (everything) and if the unit is to far away it'll run to the target.
    The aquireation thing is not hard, I'll just make it 0 and trigger it.
     
  9. Viikuna

    Viikuna

    Joined:
    Aug 6, 2008
    Messages:
    430
    Resources:
    0
    Resources:
    0
    So unit will have an attack, that cant target anything for showing attack panel in UI, and all the attack AI thingies and attack animations are triggered together with damage?

    If you can get it work it will be pretty sweet I think.
     
  10. Anachron

    Anachron

    Joined:
    Sep 9, 2007
    Messages:
    6,167
    Resources:
    66
    Icons:
    49
    Packs:
    2
    Tools:
    1
    Maps:
    3
    Spells:
    9
    Tutorials:
    1
    JASS:
    1
    Resources:
    66
    Well, something like that.
    In fact I was like:

    Creating an ability that can target every vulnerable enemy (incredible high range) but the aquireation range will be set to 0 and I'll trigger the enemy is in range aggro.

    Then I'll force the unit to cast the spell on target and the attack will be triggered.
    This means the animationspeed will be changed, the animation will be played, and if nothing interrupts the attack it will take place and the damage event will be triggered.

    However, those are only my theories.
    What do you think?
     
  11. Anachron

    Anachron

    Joined:
    Sep 9, 2007
    Messages:
    6,167
    Resources:
    66
    Icons:
    49
    Packs:
    2
    Tools:
    1
    Maps:
    3
    Spells:
    9
    Tutorials:
    1
    JASS:
    1
    Resources:
    66
    Come on guys, more feedback please.
     
  12. hell gate

    hell gate

    Joined:
    Nov 23, 2008
    Messages:
    477
    Resources:
    10
    Models:
    1
    Spells:
    9
    Resources:
    10
    i have a idea (i think the best way) for the close combat.
    CloseCombat.jpg
    easy to make and effective :)
     
  13. lelyanra

    lelyanra

    Joined:
    Sep 4, 2007
    Messages:
    380
    Resources:
    25
    Icons:
    25
    Resources:
    25
    thats pretty much my idea for my map using your custom missile XD
    you might even enable attack if you use a preventOrder and replace attack orders with cast missile orders. (don't forget to hide the "attack" button and replace for the ability button... or you can simply make a ability based on channel and make it without button o_O)
    your custom missile system already replaces attack very well in my head. units can miss by attacking "air" and all damage is triggered. also, using your height check from custom missile you can prevent units from attacking from impossible angles, (a classic example is the archer attackin a unit in the top of a cliff and missiles that change tragetories and follow units just because the terrain have different hights.... which is VERY unrealistic).
    also, with this you can make units in groung melee attack flying units if the melee unit is in higher ground making the attack extremelly realistic. basically with this you merge the biplane wcIII attack system(ground/flyng) from ground/flying to a 3D attack system, based on x, y, and z.

    also, AI implemented might detect unit proximity and enable/disable melee and ranged attack when appropiate (like warhammer 40.000) Your TrollHero can finish that Blood Elf that was with 3 hp and was succesfully fleeing by throwing his axe that would normally be used to attack melee (of course that would make him completelly unarmed...).

    you might even make different body part vulnerabilities according to the angle in which the target receives damage o_O if the target is a turtle, and the attack comes from behind or above it might ignore 35 of the damage and also receive 5 armor for the rest that passes throuhg that.

    Damage from cutting attacks might leave units bleeding without the use of custom abilities and dummy units, a knockback system based on how much damage is caused and how much hit points the unit have (smaller units have less hitpoints). If a unit is excessivelly strong and attack with it's muscles or a blunting weapon, small creatures tend to be knockbacked (even if their armor blocks most of the damage).

    injuried units might cause less damage and move slower.

    the armor system might be ponctual instead of using that weird algorithm (i HATE WCIII armor system), every armor blocks 1 damage, min damage = 1.

    arows might be stuck in the unit leaving in crippled (thats easy to do, and i DON'T mean attachments) until the unit is healed (time in which the arrow comes off)

    Normal units might have inventories and their stats are affected by the items it is carring. i don't mean armor and attack damage. I mean attack range, damage prevention from the angle the shield is, armor for body, armor for the head (an arrow in the head might be letal, better use a helmet).

    you can make slow attack animations for a crippled unit with perfect syncrony with the attack rate.

    Trolls will finally have a melee sound for their attacks.

    normal units with critical hits that make units bleed. Weird angle attacks inflict less damage and are slower. A guy with a spear migh hit a jumping unit when a guy with a sword can't. weapons might brake if used against hard armor people.

    Flying units that land or get close to ground to melee attack ground units (and also become vunerable to ground attacks). And that WITHOUT a single ability, just order it to attack, the trigger will deal with the height change =)

    (ok i'm a bit of dreamer, but i hope this helps with the ideas.)
     
    Last edited: Apr 24, 2010
  14. Viikuna

    Viikuna

    Joined:
    Aug 6, 2008
    Messages:
    430
    Resources:
    0
    Resources:
    0
    Sounds awesome. ( Although armor should be able to block all damage, but maybe with some armor breaking stuff, dont know )


    Anyways, Im starting to like this more and more. If its easily customizzible, you can do almost anything with it. Those attack and aqquire target AI thingies are most important. I wanna see some code.

    Time to post smiley: :thumbs_up:
     
  15. hell gate

    hell gate

    Joined:
    Nov 23, 2008
    Messages:
    477
    Resources:
    10
    Models:
    1
    Spells:
    9
    Resources:
    10
    nice ideas but why don't use wc3 attack detection?
    like my missile sys (sucks!! ^^)

    EDIT: agree ^^ :thumbs_up:
     
  16. lelyanra

    lelyanra

    Joined:
    Sep 4, 2007
    Messages:
    380
    Resources:
    25
    Icons:
    25
    Resources:
    25
    Since improving your missile system have effects in making this system i don't mind seing this get started as long as the missile system gets improvements XD

    I don't think you need to post, just tell us what you think you are going to make in the system =)
     
  17. Anachron

    Anachron

    Joined:
    Sep 9, 2007
    Messages:
    6,167
    Resources:
    66
    Icons:
    49
    Packs:
    2
    Tools:
    1
    Maps:
    3
    Spells:
    9
    Tutorials:
    1
    JASS:
    1
    Resources:
    66
    I don't use wc3 attack detection because it sucks. Its not customizeable.
    Well I collect ideas right now. Thanks for all your input.
     
  18. 88WaRCraFT3

    88WaRCraFT3

    Joined:
    Jun 9, 2009
    Messages:
    1,139
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Will this have Close combat attack? if yes i have an idea.
     
  19. Anachron

    Anachron

    Joined:
    Sep 9, 2007
    Messages:
    6,167
    Resources:
    66
    Icons:
    49
    Packs:
    2
    Tools:
    1
    Maps:
    3
    Spells:
    9
    Tutorials:
    1
    JASS:
    1
    Resources:
    66
    Yes, of course.
     
  20. 88WaRCraFT3

    88WaRCraFT3

    Joined:
    Jun 9, 2009
    Messages:
    1,139
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Ok, then, you can make charge attack(function) that allows you to make attack slower, but it will deal more damage!(for melee) And if you can make ability Attack, when you press it, to your system automaticaly runs. And im thinking to Charge be an ability too.