They should all still work. I do plan to update them soon anyway, though.
They should all still work. I do plan to update them soon anyway, though.
Thing is, though, some of them have the old ghost_explode variable, which has been replaced with ghost_deathanimation.
It hasn't been removed, it's just deprecated.
Edit: Sorry. Left a bug in one of the FindSpawnPoint functions. Fixed now.
Last edited by Saffith; 12-10-2012 at 02:16 AM.
Another small update, requiring 2.50. I added another way to set up AutoGhost enemies. Set misc. attribute 12 to -1 and put the script name in the enemy's name after @, for instance:
Goriya (LttP, green) @Goriya_LttP
Also, I added constants to control flashing and knockback, so now you can fling enemies clear across the screen if you like.
Oh wow, I see you've been busy. I haven't played with ghost.zh in a while (ever since the Spark.h and HomingFireballShooter.h scripts), but I want to get back into it and see what I can make happen... I still have an enemy that moves in an epicycloid that got left on the cutting room floor, so I need to work out its kinks to get it ready for prime time.
Speaking of which, I never did update the scripts I've got linked... But I was thinking I should just post them here instead, anyway. I'll probably do that this weekend.
Anyway, another small update because I messed up flickering. :p
Last edited by Saffith; 12-21-2012 at 10:53 PM.
Another update. This will invalidate existing saved games. (Generally the case, but I thought I'd start mentioning it.)
There's a particularly high chance of new bugs this time, so be ready for that.
- It's finally possible to read and change ghosted enemies' properties from other scripts using the functions GetEnemyProperty() and SetEnemyProperty().
- SetEWeaponMovement() now takes another argument. Some similar weapon movement types have been merged with the differing functionality now controlled by the second argument.
- The movement functions have been rewritten to be more accurate and faster.
- The FireEWeapon functions can now take -1 for the sprite and sound arguments to use defaults for the weapon type.
- 2x2 shadows are now used for enemies 3x3 and larger. (Only applies if GH_FAKE_Z or GHF_FAKE_Z is used)
- Added GHF_STATIC_SHADOW for enemies whose shadows should never animate. (Only applies if GH_FAKE_Z or GHF_FAKE_Z is used)
Last edited by Saffith; 03-01-2013 at 02:45 PM.
Hey, I'm actually updating it. How about that.
The biggest change this time is the __GH_ALWAYS_USE_NAME setting. If it's enabled, AutoGhost() will always read an enemy's name to get the script and combo number. Misc. attributes 11 and 12 will be free for other scripts to use.
The script and combo number both go after @ in the name. Order and spacing aren't important, and other characters are allowed afterward. Either of these will work:
Goriya (LttP, Green) [@Goriya_LttP, @25804]
Goriya (LttP, Green) @25804@Goriya_LttP
You have to provide the script name, but if you don't specify a combo, it'll default to GH_INVISIBLE_COMBO. This will work fine:
Armos @Armos_LttP
The downside to this is that enemy scripts can no longer assume misc. attribute 11 specifies the base combo. I don't think that was a common thing to do, anyway.
Other notable changes:
The files in the ghost_zh directory have been moved to a numbered subdirectory. This will allow multiple versions to coexist.
Ghost_TileWidth and Ghost_TileHeight should now be considered read-only. Ghost_SetSize() should be used to set them.
You can now control what constitutes a pit by editing the __IsPit() function in the main file.
There's also a __HaveAmulet() function, used to determine if enemies are visible when the "All Enemies Are Invisible" screen flag is used.
Weapons can now have fake Z movement, both individually and globally.
Added a new death animation, as well as constants to use as arguments to Ghost_DeathAnimation() and Ghost_Waitframe().
There haven't been any changes to global data, so this version should be compatible with existing saves using 2.7.x. Still, be careful.
You just made my day. Thanks Saffith.
edit: I use this meme way too much. XD
@Saffith
I am laughing so hard right now. Burt the Bashful anyone?
* GHD_SHRINK
* The enemy grows slightly and then shrinks away to nothing. This does not
* work with enemies that use additional combos.
Last edited by Tamamo; 10-06-2015 at 01:53 PM.
Nice one. Are you adding a backward-compatibility setting, as a constant for this?
Something like that would be good. Just set the constant in the main header file, and use it as needed. That will prevent conflicts with games that are built on the old system.Code:const int GHOST_USE_ENEMY_NAMES_FOR_SCRIPTS = 1; if ( GHOST_USE_ENEMY_NAMES_FOR_SCRIPTS ) gohst_use_at_sign_routines(); else ghost_use_misc11_misc12();
http://www.zoriarpg.com/zc/LoE_Userbar.png http://zoriarpg.com/zc/EiyuuUserbar.png
http://www.zoriarpg.com/zc/CIS_Original.pnghttp://www.zoriarpg.com/zc/CIS_II_Userbar.png
Latest ZC 2.53 (Win32) | (Technical Specification | Changelog)
Latest ZC 2.55(Win32) | 2.55 Modules | (Techical Specification | Changelog)
ZC Source Code | ZClaunch Source Code
Featured Scripts & Headers: RPG.zh ( v. a0.97.1 ) ( RPG.zh Thread ) | Zelda 3 Thief's Town Treasure Chest Minigame (ffc) | Bobomb (enemy)
ZScript & ZC-Related Pastebin | ZC Dev & Builds | ARCHIVED ZC Dev & Builds | YouTube Channel | Quests and ZScript Repository
All of the code that I create and publish here is free for use, modification and distribution under the GPL v2.0, or v3.0 where applicable.
There are currently 1 users browsing this thread. (0 members and 1 guests)