// ghost.zh // Version 2.8.1 // See ghost.txt for documentation. // Standard settings ----------------------------------------------------------- // Small (1x1) shadow settings const int GH_SHADOW_TILE = 27400; const int GH_SHADOW_CSET = 7; const int GH_SHADOW_FRAMES = 4; const int GH_SHADOW_ANIM_SPEED = 8; const int GH_SHADOW_TRANSLUCENT = 1; // 0 = No, 1 = Yes const int GH_SHADOW_FLICKER = 0; // 0 = No, 1 = Yes // Large (2x2) shadow settings // If GH_LARGE_SHADOW_TILE is 0, large shadows will be disabled const int GH_LARGE_SHADOW_TILE = 27392; // Top-left corner const int GH_LARGE_SHADOW_CSET = 7; const int GH_LARGE_SHADOW_FRAMES = 4; const int GH_LARGE_SHADOW_ANIM_SPEED = 8; const int GH_LARGE_SHADOW_MIN_WIDTH = 3; // Enemies must be at least this wide const int GH_LARGE_SHADOW_MIN_HEIGHT = 3; // and this high to use large shadows // AutoGhost settings const int AUTOGHOST_MIN_FFC = 1; // Min: 1, Max: 32 const int AUTOGHOST_MAX_FFC = 32; // Min: 1, Max: 32 const int AUTOGHOST_MIN_ENEMY_ID = 20; // Min: 20, Max: 511 const int AUTOGHOST_MAX_ENEMY_ID = 511; // Min: 20, Max: 511 // Other settings const int GH_DRAW_OVER_THRESHOLD = 32; const float GH_GRAVITY = 0.16; const float GH_TERMINAL_VELOCITY = 3.2; const int GH_SPAWN_SPRITE = 22; // Min: 0, Max: 255, Default: 22 const int GH_FAKE_Z = 0; // 0 = No, 1 = Yes const int __GH_FAKE_EWEAPON_Z = 0; // 0 = No, 1 = Yes const int GH_ENEMIES_FLICKER = 0; // 0 = No, 1 = Yes const int GH_PREFER_GHOST_ZH_SHADOWS = 0; // 0 = No, 1 = Yes // Top-left corner of a 4x4 block of blank tiles const int GH_BLANK_TILE = 65456; // Min: 0, Max: 65456 // Invisible combo with no properties set const int GH_INVISIBLE_COMBO = 1; // Min: 1, Max: 65279 // Always read script name and combo from the enemy's name, // freeing up attributes 11 and 12 const int __GH_ALWAYS_USE_NAME = 0; // End standard settings ------------------------------------------------------- // Advanced settings ----------------------------------------------------------- // AutoGhost will read a script name from the enemy's name if attribute 12 // is set to this. Must be a negative number. const int AUTOGHOST_READ_NAME = -1; // When reading a script from the enemy name, this character marks the // beginning of the script name. // Default: 64 ( @ ) const int AUTOGHOST_DELIMITER = 64; // Misc. attribute 11 can be set to this instead of GH_INVISIBLE_COMBO. // Must be a negative number. const int __GH_INVISIBLE_ALT = -1; // This will use the invisible combo, but also set npc->Extend to 3 or 4, // hiding the initial spawn puff. Must be a negative number. const int __GH_INVISIBLE_EXTEND = -2; // If enabled, the FFC will be invisible, and Screen->DrawCombo will be used // to display enemies. const int __GH_USE_DRAWCOMBO = 1; // Enemies flash or flicker for this many frames when hit. This does not // affect enemies that use the invisible combo. // Default: 32 const int __GH_FLASH_TIME = 32; // Enemies will be knocked back for this many frames when hit. // Default: 16 // Max: 4095 const int __GH_KNOCKBACK_TIME = 16; // The speed at which enemies are knocked back, in pixels per frame. // Default: 4 const int __GH_KNOCKBACK_STEP = 4; // The imprecision setting used when a movement function is called internally // (except for walking functions). const int __GH_DEFAULT_IMPRECISION = 2; // npc->Misc[] index // Set this so it doesn't conflict with other scripts. Legal values are 0-15. const int __GHI_NPC_DATA = 15; // eweapon->Misc[] indices // These must be unique numbers between 0 and 15. const int __EWI_FLAGS = 15; // Every index but this one can be used by non-ghost.zh EWeapons const int __EWI_ID = 3; const int __EWI_XPOS = 4; const int __EWI_YPOS = 5; const int __EWI_WORK = 6; const int __EWI_WORK_2 = 7; // Only used by a few movement types const int __EWI_MOVEMENT = 8; const int __EWI_MOVEMENT_ARG = 9; const int __EWI_MOVEMENT_ARG_2 = 10; const int __EWI_LIFESPAN = 11; const int __EWI_LIFESPAN_ARG = 12; const int __EWI_ON_DEATH = 13; const int __EWI_ON_DEATH_ARG = 14; // These are only used by dummy EWeapons; // they can use the same values as __EWI_XPOS and __EWI_YPOS const int __EWI_DUMMY_SOUND = 2; const int __EWI_DUMMY_STEP = 4; const int __EWI_DUMMY_SPRITE = 5; // Returns true if the given combo should be considered a pit. bool __IsPit(int combo) { return IsPit(combo); // std.zh implementation by default } // Returns true if enemies are visible on screens with the // "All Enemies Are Invisible" flag enabled bool __HaveAmulet() { return Link->Item[I_AMULET1] || Link->Item[I_AMULET2]; } // End advanced settings ------------------------------------------------------- import "ghost_zh/2.8/common.zh" import "ghost_zh/2.8/deprecated.zh" import "ghost_zh/2.8/drawing.zh" import "ghost_zh/2.8/eweapon.zh" import "ghost_zh/2.8/eweaponDeath.zh" import "ghost_zh/2.8/eweaponMovement.zh" import "ghost_zh/2.8/flags.zh" import "ghost_zh/2.8/global.zh" import "ghost_zh/2.8/init.zh" import "ghost_zh/2.8/modification.zh" import "ghost_zh/2.8/movement.zh" import "ghost_zh/2.8/other.zh" import "ghost_zh/2.8/update.zh" import "ghost_zh/2.8/scripts.z"