Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Defence Types (Results/Outcomes) in the Engine for npc->Defense[index]
- This list may, in the future, equally apply to Link->Defense[]
- This list is split into five segments:
- 1. Implemented (old): These are in 2.50.0->2.53.0
- 2. Implemented (new): These exist only in 2.54, and some only exist in specific builds (and later).
- 3. Planned: These are likely to be added to 2.54, or 2.55.
- 4. Planned, Custom: A set of types that are used solely by scripts.
- 5. Insanity: In-dev discussion occasionally runs into InSomNia madness. These probably won't exist, but: Who knows, eh?
- */
- //! Section 1: Implemented in 2.50.0->2.53.0
- NPC Defense types. Use with npc->Defense[].
- const int NPCDT_NONE = 0;
- const int NPCDT_HALFDAMAGE = 1;
- const int NPCDT_QUARTERDAMAGE = 2;
- const int NPCDT_STUN = 3;
- const int NPCDT_STUNORBLOCK = 4;
- const int NPCDT_STUNORIGNORE = 5;
- const int NPCDT_BLOCK1 = 6;
- const int NPCDT_BLOCK2 = 7;
- const int NPCDT_BLOCK4 = 8;
- const int NPCDT_BLOCK6 = 9;
- const int NPCDT_BLOCK8 = 10;
- const int NPCDT_BLOCK = 11;
- const int NPCDT_IGNORE1 = 12;
- const int NPCDT_IGNORE = 13;
- const int NPCDT_ONEHITKILL = 14; // One-hit knock-out
- //! 2.50.xx defences ended here
- //! Section 2: Implemented in 2.54+
- const int NPCDT_BLOCK10 = 15; //If damage is less than 10
- const int NPCDT_DOUBLE = 16; //Double damage
- const int NPCDT_TRIPLE = 17; //Triple Damage
- const int NPCDT_QUADRUPLE = 18; //4x damage
- const int NPCDT_HEAL = 19; //recover the weapon damage in HP
- const int NPCDT_TRIGGERSECRETS = 20; //Triggers all screen secrets.
- const int NPCDT_FREEZE = 21; //Freeze solid--not finished.
- //! 2.54 Defences that are visible in ZQuest and work, or
- //! partially-work, end here.
- //Two internal-only vars here, used as line separators:
- const int NPCDT_UNUSED0 = 22; //Used as an editor message. This may be used for something else, later.
- const
- const int NPCDT_UNUSED1 = 23; //Used to show a horizontal line in the editor list. This may be used for something else, later
- //! Section 3: Planned for 2.54->2.55, starting at case value '24'.
- const int NPCDT_LEVELDAMAGE = 24; //Damage * item level
- const int NPCDT_LEVELREDUCTION = 25; //Damage / item level
- const int NPCDT_SPLIT = 26; //causes the enemy to split if it has a split attribute
- const int NPCDT_REPLACE = 27; //replaced by next in list?
- const int NPCDT_LEVELBLOCK2 = 28; //If item level is < 2: This needs a weapon variable that is set by
- const int NPCDT_LEVELBLOCK3 = 29; //If item level is < 3: the item that generates it (itemdata::level stored to
- const int NPCDT_LEVELBLOCK4 = 30; //If item level is < 4: weapon::level, or something similar; then a check to
- const int NPCDT_LEVELBLOCK5 = 31; //If item level is < 5: read weapon::level in hit detection.
- const int NPCDT_SHOCK = 32; //buzz blob
- const int NPCDT_EXPLODESM = 33; //ew bombblast
- const int NPCDT_EXPLODELG = 34; //super bomb blast
- //Need 'harmless' versions, but they may as well be new 'Death Type' variable values. -Z
- const int NPCDT_STONE = 35; //deadrock
- const int NPCDT_BREAKSHIELD = 36; //break the enemy shield
- const int NPCDT_RESTORESHIELD = 37; //if the enemy had a shield, reset it
- const int NPCDT_DROPSPECIAL = 38; //drops a special item--but where to define it?
- const int NPCDT_INCREASECOUNTER = 39; //but where to define the counter
- const int NPCDT_REDUCECOUNTER = 40; //same problem
- const int NPCDT_EXPLODENODAMAGE = 41; //boss death explosion
- const int NPCDT_KILLNOSPLIT = 42; //If sufficient damage to kill it, a splitting enemy just dies.
- const int NPCDT_TRIBBLE = 43; //Tribbles on hit.
- const int NPCDT_FIREBALLSMALL = 44; //Makes a 1x1 fireball
- const int NPCDT_FIREBALLLARGE = 45; //Makes a 3x3 fireball
- const int NPCDT_SUMMON = 46; //Summons a number of enemies as defined by the summon properties of the npc.
- const int NPCDT_WINGAME = 47; of Gamelon.
- const int NPCDT_JUMP = 48; //Z3 stalfos
- const int NPCDT_EATLINK = 49; //-G //Is this practical? We need special npc movement for it. -Zl npc movement for it. -Z
- const int NPCDT_NEVERSPLIT; //Enemies that split on hit or death will not split.
- //! Section 4: Custom Types With No Engine-Effects
- /*
- These lack an assigned value at present.
- I would want them to start at an value that ends in
- a '0' or a '1', such as '50' or '51' and run through
- twenty contiguous indices, ending (for example) in
- indices '69' or '70'.
- */
- const int NPCDT_CUSTOM01;
- // ... --->
- const int NPCDT_CUSTOM20; //There would be 20 values for user/script-defined defence outcomes.
- //! Section 4: Developer Insanity
- const int NPCDT_SAVE; //Would call Game->Save()
- const int NPCDT_RETRY; //Would act as F6->Retry
- const int NPCDT_CONTINUE; //Would act as F6->Continue
- const int NPCDT_ENDGAME; //Would act as Game->Quit().
- const int NPCT_CRASHZC; //Clearly too little sleep.
Add Comment
Please, Sign In to add comment