ZoriaRPG

All npc->Defense[] Defence Types

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