Name | Type | is_array | initial_value |
dontcopythis | location | No | |
QJ_AoE | boolean | No | |
QJ_AoERadius | real | No | |
QJ_AoESFX | string | No | |
QJ_attackTypeID | integer | No | |
QJ_Caster | unit | No | |
QJ_Collision | boolean | No | |
QJ_Damage | real | No | |
QJ_damageTypeID | integer | No | |
QJ_Homing | boolean | No | |
QJ_Model | unitcode | No | |
QJ_Pierce | boolean | No | |
QJ_Size | real | No | |
QJ_Speed | real | No | |
QJ_TargetPoint | location | No | |
QJ_TargetUnit | unit | No | |
QJS_Angle | real | No | |
QJS_arrowGroup | group | No | |
QJS_arrowPos | location | No | |
QJS_arrowTable | hashtable | No | |
QJS_atkTypePreset | attacktype | Yes | |
QJS_AttackType | attacktype | No | |
QJS_DamagedGroup | group | No | |
QJS_DamageType | damagetype | No | |
QJS_Distance | real | No | |
QJS_dmgTypePreset | damagetype | Yes | |
QJS_movePos | location | No | |
QJS_tempPos | location | No | |
QJS_tempPos_Target | location | No | |
QJS_victimGroup | group | No | |
QJS_victimPos | location | No |
/*********************************************************************************************************************************************************************************************************
**************************************************
JeffQ's Basic Missle System v1.01a
Date of Creation: 19 January 2010, Tuesday
**************************************************
=====================
About Naming
=====================
I decided to put QJ because in Chinese, our Surname is infront which is Q (Short Form), and my english name Jeff.
QJ stands for JeffQ aka JeffreyQ, SmileyJeff which is me the creator.
QJS stands for JeffQ System.
**************************************************
==========
Supports
==========
- MUI
- AoE
- AoE Effect
- Hit Unwalkable Terrain Detection
- Homing
- Single Target or Point
- Damage
- Pierce
=================
Not Supported Yet
=================
- This system currently don't support a missle from a spell that shoots different direction. Eg: A hero shoots 3 arrow at 3 direction at a single cast
- No Parabola Supported, Meaning all missile are straight.
=================
How to use?
=================
Copy All Variables to your map, Except "dontcopythis"
1. QJ_VarName, Only this variable can be change and use in your spells.
2. QJS_VarName. Dont Even touch this. Just copy it. Those are for the missile system variables.
Target Unit Setup:
1. QJ_Caster, stores your caster.
2. QJ_attackTypeID, stores attackType ID. For ID reference scroll down.
3. QJ_damageTypeID, stores damageType ID. For ID reference scroll down.
4. QJ_Damage, stores your damage.
5. QJ_Speed, stores your missile speed.
6. QJ_Model, stores your missile model. NOTE: This is a unit type. Which means you have to create your own Dummy Missle. On how to create a missile dummy please scroll down.
7. QJ_Size, stores your model size. 1 = 100%, 2 = 200% etcetc.
8. QJ_TargetUnit, stores target unit of ability being cast.
9. QJ_Homing, boolean, if set to true, it will chase the enemy.
10. QJ_Collision, boolean, if set to true, rocks and cliffs or out of bound maps will destroy the missile.
11. QJ_AoE, boolean, if set to true, Enables AoE Damage base on QJ_Damage.
***Important Point!!! IF QJ_AoE is TRUE, you will need to set QJ_AoERadius and QJ_AOESFX
QJ_AoERadius, AoE Damage Radius, 100 is melee range (Same as warcraft 3 radius)
QJ_AoESFX, String, This is a string. Include your AoE special effect you want inside, if you don't want just leave it empty.
***For Target Unit examples please look at Example 1,2,5 on how to use this system.
Target Point Setup:
1. Everything is same as Target Unit Setup Except a few i will list below.
- QJ_TargetUnit must be set to No Unit.
- QJ_TargetPoint must be set to Target Point of Ability Being Cast.
- Nomatter what you do, Target Point Missile won't have homing as the targeted point won't move.
***For Target Point examples please look at Example 3,4.
***You can try playing around with values in example 1,2,3,4,5 to see how it works.
************************************************************************************************************************************
=========================
Attack Type ID:
=========================
Attack Type ID:
Spell - 0
Normal - 1
Pierce - 2
Siege - 3
Magic - 4
Chaos - 5
Hero - 6
**Anything less than 0 or more than 6 will be set to 0 (Spell)
**You can refer to QJS AttackDamageType Trigger for more info, but don't touch it.
************************************************************************************************************************************
=========================
Damage Type ID:
=========================
Damage Type:
Unknown - 0
Normal - 1
Enhanced - 2
Fire - 3
Cold - 4
Lightning - 5
Poison - 6
Disease - 7
Divine - 8
Magic - 9
Sonic - 10
Acid - 11
Force - 12
Death - 13
Mind - 14
Plant - 15
Defensive - 16
Demolition - 17
Slow Poison - 18
Spirit Link - 19
Shadow Strike - 20
Universal - 21
**Anything less than 0 or more than 21 will be set to 0 (Unknown)
**You can refer to QJS AttackDamageType Trigger for more info, but don't touch it.
************************************************************************************************************************************
=========================
Missile Dummy Creation
=========================
**I use this way to create my missile because Object Editor is leet, and gives alot of customization.
1. You can go to Object Editor > Custom Units > Night Elf > Units > Dummy 2/3/4/5. 1 is at Default Night Elf.
2. I base my missile model on wips.
3. Give it Locust ability.
4. Art - Model File. Change this to anything you think it looks like a missile or whatever you like.
5. Movement - Height = 50, you can change this, i just think this is the most suitable height
6. Movement - Height Minimum = 50, you can change this, i just think this is the most suitable height
7. Movement - Type = FLY. Must be FLY or the height won't work. Don't use hover as it has default collision.
8. Pathing - Collision Size = 0
9. Stats - Food Cost = 0
10. Remove all abilities, upgrades, structures built and change the name to your missile name. Eg: Arrow
*********************************************************************************************************************************************************************************************************/