WIP Defense of the Heart

kirinelf

New Member
Reaction score
10
//.:~Defense of the Heart~:.\\
Created by kirinelf

Current Status: BETA4
Current Priority: Fixing the spawning bug.

Important: Currently the automated spawn doesn't work. To cause the next spawn to appear, type -spawn into the chat message. I'm working on fixing this, so stay tuned. Kurai's Dracon Requiem also never works on first cast. Use -kill to kill him while he's casting, it'll work perfectly upon reviving.

The map is fully playable. I will be attaching two versions of the map here, one meant for testing (The testing triggers work) and another meant for bug-testing/online play testing, without the testing triggers. All feedback is greatly appreciated, especially after the massive increase in power given to the Creeps.

Press Esc for a full Hero restore. Typing -inv will level you to 40 and make you invulnerable, typing -uninv will remove the invulnerability. Typing -kill will kill your Hero. These functions will be removed for the non-beta release. Enjoy them while you can!

Latest Update: 14th September 2009 12:40AM GMT+10

Well, this is my first time making a map. I don't like PvP, so this is a co-operation map. Despite the name resembling a certain well known AoS, it's not an AoS. This is a Castle Defense map, where the aim is to protect the Heart of Hearts (Fancy name for base) in the top right corner of the map.

The concept is simple: Creeps will spawn in four spawn areas, and they'll stream towards the base and try to attack it. You stand with your friends to defend the base until the base is destroyed or until all 40 waves have been slain, whichever comes first. It's supposed to be a very hard map that's near impossible on solo and would require at least 3 people, and supports up to 8 player play when I get my heroes fixed up.

Little to no planning was done, I'm ashamed to say; I just thought it'd be fun to make a map, settled on my favourite genre (Castle Defense), looked up tutorials and got stuck in. This is the result of about two weeks of work.

Features
  • 8 Heroes implemented, and maybe another 3 to add to the plans if all goes well.
  • Dead Heroes revive after 15 seconds.
  • Heroes have a max level of 40.
  • Each Hero has four skills of which one is an Ultimate with 3 levels. The rest have 5 levels.
  • Each Hero has a Bonus ability. This ability permanently adds 3 points to all three of your attributes, and has 20 levels. Have fun!
  • Hero Arena selection type (Wisps).
  • Only one of each Hero can be on the field at a time.
  • Repick system via -repick command.
  • Spawning too slow for you? Want to try taking on more at a time? There's the -spawn command for you! Only for Player 1 (Red) though.
  • Leaderboard sorted by Kill Count.
  • Tome shop that sells Tomes for Strength, Agility, Intelligence, Health and Experience.
  • Consumable, Armor, Weapon and Black Market shops for those who like to spend their cash.
  • Huge creep waves. 40 waves of 40 creeps per spawn point, which means a total of 160 creeps per wave and a massive 6,400 creeps in all. Waves have a 10 second delay between them.
  • Surviving a wave gives you a gold bonus.
  • Custom loading screen.
  • Creeps can be weakened or strengthened by Player 1 (Red). Use the -weaken and/or -strengthen commands.
  • Creeps now have a 5% chance of dropping power ups for your Hero.
  • The Consumables Shop now sells the Creep Attractant, which instantly spawns the next wave. Kinda like a -spawn command, but anyone can use it.
  • Waves 5, 9, 15, 19, 25 and 29 are Mini-Boss waves. Also, waves 31 to 35 is a MiniBoss Marathon.
  • Waves 10, 20, and 30 are Boss waves. Also, waves 36 to 40 is a Boss Marathon.

Changelog
5th September 2009
  • Most balancing issues for Kirin, Kurai and Dytriad fixed.
  • Guard Tower's health multiplied by 10, 5HP/second regen given to Heart of Hearts and Guard Towers.
  • Implemented wave information (Name of creep in each wave). Looking for a JASS Scripter to import JASS and GUI spells/skills.

6th Septembder 2009
  • Increased Ruin's Icicle Fall's AoE, changed Phoenix to remove Egg and add Invulnerability.
  • Life and Mana Regeneration Aura range of the Heart of Hearts has been reduced from 1000 to 500.
  • Creeps have been increased to 40 creeps per wave.
  • Ruin's health and strength has been reduced. (Empty) markets have been placed, items will be coming shortly.
  • Wave finish notifier added.
  • Number of Indignation targets, damage done and mana cost increased.
  • Ruin's Retribution and Kurai's Tide Crash Down has been strengthened.
  • Ia, Rasyel and Reque added, however, their abilities are unedited as of the moment.
  • Wave delay time reduced, and a few other things worked with.

7th September 2009
  • Bonus ability added, but not implemented.
  • Removed many abilities from all Heroes to make way for custom spells. These include Kirin's Firaga, Wielder's Speed and Precision, Kurai's Tide Crash Down, Power Strike and Dracon Requiem, all of Ruin's skills, Dytriad's Searing Touch and Coated Blade, and all of the skills of the other three Heroes.

8th September 2009
  • Summoned's Illusion Strike has been implemented as Ia's God of Flash. His Custom Blink has also been implemented as Ia's Line of Death. Neither are bug free, as far as I know.
  • All Heroes now have the Bonus ability for permanent attribute increases.
  • Daxtreme's Ultima spell has been implemented as Ruin's Ultima. Bug free as far as I know. Balancing to come.
  • ~GaLs~'s Limit Break skill has been implemented as Kirin's Omnislash. Bug free as far as I know. Balancing to come.
  • Added a whole heapload of screenshots.
  • Added taunting system (25% chance of character saying something when using certain skills).
  • Difficulty manager for Player 1 (Red). Typing -strengthen will make the Creeps stronger while typing -weaken will make the Creeps weaker. There're 3 stages in all: Weak > Normal > Strong.

9th September 2009
  • Lunarexis has been added to the Heroes selection. Abilities will be taken from Asgard_Ragna's Holy Spells spellpack. All abilities have been implemented.
  • All of Dytriad's skills save Life Drain have been removed.

10th September 2009
  • Lunarexis has been completely imported. Balancing to come.
  • emjlr3's Blaze and Daxtreme's Heat Cyclone have been implemented as Ruin's Seeker's Fire and Whirling Dervish respectively. Duyen's Ultimate Fury has been implemented as Kurai's Dracon Requiem. AceHart's Blink Move has been implemented as Kirin's Flash.

13th September 2009
  • Creep drop system added. Every creep killed now has a 5% chance of dropping an instant use power up. This power up can range from healing to mana to lumber, and can even increase your attributes.
  • Creeps have been given a total overhaul. Don't even DREAM of completing this on single player unless you cheat: These creeps can and WILL kill you.
  • Testing triggers -inv, -uninv and -kill have been added, the last specially for testing Resurrection.
  • Larcenist's Experience and Bounty system has been implemented; however, it has not been activated.
  • Wave delay time has been reduced to ten seconds.
  • Maximum Hero level has been reduced to 40.

14th September 2009
  • Creep Attractant item added to the Consumables Shop. This item is basically a -spawn command, but for everyone instead of just Red.
  • Temporary Skills have been re-added to the first four Heroes.

Screenshots
Loading Screen
LoadingScreen.png

Hero Selection
HeroSelection.png

Hero Selected
HeroSelected.png

Random Wave (Hero died)
Screen1.png

Hero Fighting
Screen2.png

Kirin – Omnislash
Omnislash.png

Kurai – Anger of the Skies
AngeroftheSkies.png

Kurai – Anger of the Skies (Taunt)
AngeroftheSkiesTaunt.png

Ruin – Ultima
Ultima.png

Ia – Line of Death
LineofDeath.png

Credits
Credits.png

Heroes
Kirin (Golden Meteor) [Agility]
Starting Stats
  • Health Base: 320 (0.35 Regen)
  • Strength: 22
  • Agility: 27
  • Intelligence: 21
  • Mana: 175 (0.01 Regen)

Gain per Level
  • Strength: 1.80
  • Agility: 2.40
  • Intelligence: 1.45

Skills
  • Impact (Based on War Stomp)
  • Flash Based on AceHart's Blink Move) [Has only one level, passive]
  • Omnislash (Based on ~GaLs~'s Limit Break) [Ultimate]

Kurai (Fallen Angel) [Strength]
Starting Stats
  • Health Base: 330 (0.40 Regen)
  • Strength: 25
  • Agility: 23
  • Intelligence: 23
  • Mana: 200 (0.01 Regen)

Gain per Level
  • Strength: 2.4
  • Agility: 1.50
  • Intelligence: 1.40

Skills
  • Anger of the Skies (Based on Starfall)
  • Rebirth (Based on Resurrection)

Ruin (Red Flame) [Intelligence]
Starting Stats
  • Health Base: 280 (0.25 Regen)
  • Strength: 18
  • Agility: 22
  • Intelligence: 26
  • Mana: 300 (0.01 Regen)

Gain per Level
  • Strength: 0.80
  • Agility: 1.00
  • Intelligence: 3.20

Skills
  • Ultima (Based on Daxtreme's Ultima) [Ultimate]

Dytriad (Twilight Dancer) [Agility]
Starting Stats
  • Health Base: 310 (0.35 Regen)
  • Strength: 23
  • Agility: 24
  • Intelligence: 23
  • Mana: 185 (0.01 Regen)

Gain per Level
  • Strength: 2.10
  • Agility: 2.00
  • Intelligence: 2.40

Skills
  • Life Drain (Based on Voodoo Spirits

Lunarexis (Moon Spirit) [Intelligence]
Starting Stats
  • Health Base: 280 (0.50 Regen)
  • Strength: 16
  • Agility: 19
  • Intelligence: 31
  • Mana: 300 (0.02 Regen)

Gain per Level
  • Strength: 1.80
  • Agility: 1.50
  • Intelligence: 4.00

Skills
  • Moonbeam (Based on Asgard_Ragna's Holy Nova)
  • Aelteraeris (Based on Asgard_Ragna's Telekinesis)
  • Lunar Nova (Based on Asgard_Ragna's Holy Domination)
  • Grief of the Moon (Based on Asgard_Ragna's Holy Judgement) [Ultimate]

Ia (Eraser) [Agility]
Starting Stats
  • Health Base: 300 (0.30 Regen)
  • Strength: 19
  • Agility: 23
  • Intelligence: 16
  • Mana: 200 (0.01 Regen)

Gain per Level
  • Strength: 1.95
  • Agility: 2.20
  • Intelligence: 1.80

Skills
  • Line of Death (Based on Summoned's Custom Blink)
  • God of Flash (Based on Summoned's Illusion Strike)

Rasyel (Exorcist of the Wire) [Strength]
Starting Stats
  • Health Base: 310 (0.4 Regen)
  • Strength: 24
  • Agility: 19
  • Intelligence: 17
  • Mana: 150 (0.01 Regen)

Gain per Level
  • Strength: 2.30
  • Agility: 1.70
  • Intelligence: 1.50

Skills
  • Removed.

Reque (Shifting Assassin) [Intelligence]
Starting Stats
  • Health Base: 300 (0.30 Regen)
  • Strength: 13
  • Agility: 20
  • Intelligence: 25
  • Mana: 250 (0.01 Regen)

Gain per Level
  • Strength: 1.00
  • Agility: 1.50
  • Intelligence: 2.80

Skills
  • Removed.

Wave List
  1. Kobold
  2. Murloc Tiderunner
  3. Stayr Trickster
  4. Bandit
  5. Dark Troll (Mini-Boss Wave)
  6. Brigand
  7. Centuar Archer
  8. Murloc Huntsmen
  9. Quillboar Hunter (Mini-Boss Wave)
  10. Razormane Brute (Boss Wave)
  11. Murloc Nightcrawler
  12. Furbolg
  13. Wildkin
  14. Kobold Taskmaster
  15. Satyr Soulstealer (Mini-Boss Wave)
  16. Razormane Medicine Man
  17. Centaur Sorceror
  18. Dark Troll Warlord
  19. Thunder Lizard (Mini-Boss Wave)
  20. Enraged Wildkin (Boss Wave)
  21. Overlord
  22. Fel Ravager
  23. Bandit Lord
  24. Razormane Chieftain
  25. Furbolg Ursa Warrior (Mini-Boss Wave)
  26. Centaur Khan
  27. Berserk Wildkin
  28. Ice Revenant
  29. Infernal (Mini-Boss Wave)
  30. Berserk Elemental (Boss Wave)
  31. Satyr Hellcaller (Mini-Boss Wave)
  32. Granite Golem (Mini-Boss Wave)
  33. Storm Wyrm (Mini-Boss Wave)
  34. Ancient Wendigo (Mini-Boss Wave)
  35. Elder Voidwalker (Mini-Boss Wave)
  36. Faceless One Deathbringer (Boss Wave)
  37. Green Dragon (Boss Wave)
  38. Infernal Juggernaut (Boss Wave)
  39. Queen of Suffering (Boss Wave)
  40. Nether Dragon (Boss Wave)

To Come
  • Possibly three more Heroes.
  • Unique abilities for all Heroes.
  • Equipment and items.

Stuff
  • No custom icons or graphics aside from the loading screen. Everything except certain spells is made using the default images. Not really an issue, but something I don't like.
  • I'm not very good at JASS, so if someone who's familiar JASS thinks this map could benefit with a JASS facelift, then feel free to pitch in.

Known Issues
  • Second wave and up not spawning when timer hits 0.
  • Kurai's Dracon Requiem won't cast the first time. You need to die and let him resurrect/revive before you can use it without problems. Currently seeking a fix.
  • Ruin's Seeker's Fire doesn't do anything. Currently seeking a fix.

Currently in search of:
  • Bug Testers.
  • Beta Players. In particular, I'd like observant eyes that will notice minor mistakes in tooltips and such, like spelling mistakes or the left out color of a shortcut key. I'm a little obsessive that way.
  • Graphical workers. Not necessary, but a nice touch.
  • JASS scripter. I have a few spells I would like imported to the map, but I lack the knowledge/patience/confidence/time to do it. I would be grateful if someone could be arsed doing it on my behalf.
  • Comments and criticism.
  • Suggestions.
  • Hero balancing ideas.
  • Someone to look through my triggers for leaks. Bonus points if you can fix 'em for me, since I don't understand variables that well.

Credits
  • Andrewgosu for his VERY well done Tower Defense guide here. The theories behind the spawn waves of Tower Defense and Castle Defense are virtually identical, and his guide also helped me with the leaderboard and gold bonus. This map would not have been created half as well without his guide.
  • Joccaren for his Hero Revival technique here.
  • jnZ for the Repick system here.
  • SD_Ryoko for this image. I can't tell you enough how much easier that image has made setting skill buttons out. Also, SD_Ryoko's idea for difficulty scaling.
  • Summoned for a whole bunch of help involving skills, GUI scripting and general purpose stuff. Many thanks.
  • emjlr3 for his Blaze spell.
  • Asgard_Ragna for his Holy Spells spellpack.
  • Daxtreme for his Ultima and Heat Cyclone spells.
  • duyen for his Ultimate Fury spell.
  • ~GaLs~ for his Limit Break skill.
  • tmow for the idea on how to scale the difficulty upwards.
  • And to everyone I forgot, this map was made with knowledge I gleaned from across the World Wide Web with bits and pieces here and there. Chances are I might've used a snippet of a code that belongs to you. If that's the case, kindly inform me and I'll put you on this list.

Older Versions
Download BETA4 (Test Ver.)
Download BETA4 (Play Version)
 

Attachments

  • Defense of the Heart BETA4 (Test Ver.).w3x
    398.7 KB · Views: 364
  • Defense of the Heart BETA4.w3x
    398.3 KB · Views: 326

Silver

New Member
Reaction score
21
Testing in solo play, I already failed in the first wave. What I picked up while playing, though, was:
-It looks like it's a little too difficult at the begin. I sort of guessed how the fight would turn out say I was with more people, and although it's possible, for a first wave it might be a little much.
-In addition to the players', the enemies' healths are also regenerated by the Heart of Hearts. I'm pretty sure this shouldn't be that way.
-After putting a skill point in a skill, you can't learn anything else at following levels until level 4. I guess that's fine, but it's a real eye-soar.

Personal thoughts:
The name Kurai sounds too asianish. Something like Kair or Karu sound a lot better imo. The hero class names, however, sound very nice to me.

Final note:
I'd like to help you with the map if you want. I could help as a Graphical worker mainly, but making new heroes if you're out of ideas is also something I wouldn't mind doing. Just tell me if you need me.

Good luck with your map.
 

kirinelf

New Member
Reaction score
10
I haven't playtested it much before I uploaded it here. After making/editing this topic, I did some 'extensive' (one network and a few single player) testing and mucking around with things, and have made it a little more streamlined and ironed out most hero skill bugs. But yes, it IS very hard for single player.

The skills were made to have required levels and level skips to unlock new levels. But I think I see what you mean. My mistake.

Actually, the Hero names and classes are from my Kingdom Hearts fanfic. xD Kurai is the main protagonist it focuses on, and you're right, it's Asian-ish. Japanese to be exact. Kirin is actually also Japanese.

Thanks for playtesting it. I'll be uploading a new version in five or so minutes. Dytriad and Kurai have been, for the most part, balanced out, and I need to get started on Kirin and Ruin. However, more info on all of them would be much appreciated.

Yes, the enemy's health shouldn't be regenerated. I wonder how that happened. *Goes back to the editor*

I wouldn't mind a graphical worker to help out on my map. I hope you don't find it rude if I ask how good you are?

[[EDIT]]: Updated.
 

Silver

New Member
Reaction score
21
I just searched through my posts and mail for 20 minutes and couldn't find the picture I used before to show my terraining style. The discontinued map project that it was in has a size of 3mb, so I can't upload it. Another project I had of which the terrain I really don't like, but it does show my style, has a size of 2mb, just too big to attach here.

So instead of having a picture: I don't want to sound idle, but I think I'm pretty good.
 

kirinelf

New Member
Reaction score
10
Well, I'm rather satisfied with the terrain I have at the moment. It's not the best, but it does it's job. If terraining is your only specialty (No offense meant, just drawing on what your post tells me), I'm afraid I currently don't need your help.

I don't doubt your skills though. I'm new to this whole mapping business, and it's not an easy job.
 

Summoned

New Member
Reaction score
51
I could help with spells, but I'll have to ask: are you using the NewGen editor? Most spells use vJass and need it.

As for that line damage spell, it's a piece of cake. Except I'll be gone for a few hours. ;)

When I was playtesting Kurai, his Anger of the Skies was rather powerful, but Tidal Crash Down did pitiful damage. I'd like to know why, since I've set it up to do about 600 damage on Level 1, and it can't even kill 240HP creeps in one hit.
This is likely because you set the Max Damage data too low. Set it to 999999 and it'll deal 600 damage to all aoe targets regardless of how many of them there are.
 

kirinelf

New Member
Reaction score
10
Thanks for your help, Summoned. Kurai now kicks ass as he should. That also solved the problem with Ruin's Retribution, so many thanks. Might have helped if I knew that Max Damage meant the damage the spell as a whole causes in the AoE, rather than the damage the spell causes to one enemy. ^^"

That might be a problem. I'm not using the NewGen editor. I'm a complete newbie to this, just thought it'd be fun to make a map featuring my OCs in my favorite genre, and went ahead with it.

Anyways, there's no hurry. I'll see what I can dig up on NewGen. Is it possible to switch from the normal WE to the NewGen WE without any data loss?
 

Summoned

New Member
Reaction score
51
I haven't had any problems getting NewGen to work, but it's probably a good idea to make a backup of the map first.

Once you download it, make sure the Common.j and Blizzard.j files in the jassnewgenpack5d\jasshelper folder have been updated.

These are the two I have (can't upload .j files, so I zipped them):
 

kirinelf

New Member
Reaction score
10
There's one more bug I'd like to iron out before I upload the latest version, then switch to NewGen. The weird thing is that it worked before. Since this is a CD, there're waves. Problem is waves don't work now. I don't know why. The first wave comes out as per normal, but after I kill all of them, the wave countdown notifier doesn't come up, and the creeps don't come again. I'm still working on it, but it baffles me since I didn't do any major trigger changes. Another weird thing was that the Hero Selector wouldn't spawn, but after mucking around in the Trigger Editor for a while, it worked again. About the only thing I did was shut down the editor, then open it again. That's when everything went to heck. xD
 

kirinelf

New Member
Reaction score
10
Well, I know that leaks occur whenever a location is selected (i.e. Create Unit in Centre of Region), so I've got variables for them. Not sure about anything else, although I remember seeing a topic somewhere that specifies exactly what leaks and what doesn't.

I've just finished playing around in a few things, so I'll playtest it myself, then upload the latest version. I'd be grateful if you'd see if you can find any bugs.

Edit: By the way, how would one adjust the amount of XP a creep gives?
 

Summoned

New Member
Reaction score
51
A suggestion on the design of the waves. It's basically just 160 units at a time swarming the base looking to get nailed by massive AOEs... might get boring after a bit. Want to try throwing in a boss every 10 levels or something to spice things up?

I would like to know how to make it so that a spell does ([Level of spell]x[Attribute of Hero e.g. Str]) damage, and also how to make a skill that will relocate the Hero while attacking anything in a line to that place (Basically a line or wave attack skill that moves the Hero to the target point). If there is an existing skill in the WC3 database, I must've missed it.
The only way to make spells do damage based on your stats is to trigger all damage caused by the spell. See attached map (this one's done in simple GUI, took about 5 minutes).

By the way, how would one adjust the amount of XP a creep gives?
Creep XP is given on a per level basis. You can find the "factors" in Gameplay Constants.

Hero XP Gained, Normal - Constant factor, Level factor and Previous Value factor. There's also a "Table" thing right under those three that shows how much experience a level 1 creep gives, all creeps past level 1 are calculated by the three "factors".

Constant factor - What this stands for is basically how much experience a creep gives per level. i.e. A Constant factor of 25 means a level 2 creep gives 25 more experience than a level 1 creep, a level 3 gives 25 more experience than a level 2, etc.

Level factor - This is a bit different from the Constant factor. A Level factor of 25 means that a level 2 creep will give you (25 x 2) = 50 more experience than a level 1. A level 3 will give (25 x 3) = 75 more experience than a level 2 creep.

Previous Value factor - This is set to 1 as default. It's kind of an exponential increase. You'll multiply the previous value by this number. A PV factor of 2.0 means you double the experience gained for each additional level, so if you start with 25, it'll be 50 for level 2, 100 for level 3, 200 for level 4, etc. Usually a bad idea to mess with this since it can grow extremely fast.

These three factors can obviously be combined.
 

kirinelf

New Member
Reaction score
10
I assume if I wanted to plug my own values for the amount of XP each creep level gives and what each Hero needs to level up, I would use the fields selected here:



Where each line is the XP gained/required per level?

Of course, I'll have to edit the Creep Reduction Table to be a single line with '100' in it, right?
 

Summoned

New Member
Reaction score
51
Make sure to see the edits above. :) Finally took the time to get the spell made.

I think it's a good idea to use a formula rather than painstakingly plugging in all the values, but in theory it should work. Never tried it, though.
 

kirinelf

New Member
Reaction score
10
A suggestion on the design of the waves. It's basically just 160 units at a time swarming the base looking to get nailed by massive AOEs... might get boring after a bit. Want to try throwing in a boss every 10 levels or something to spice things up?

And that's exactly what I plan to do. Right now, I'm just ironing out bugs and adding new features/heroes/abilities/spells but the final product should have two types of bosses, either one VERY strong creep from each spawn point or five relatively strong creeps (mini-bosses) from each.

I'm also hoping I could add an inbuilt difficulty scaling that SD_Ryoko posted here. My planned version involves a trigger that checks if there's above say... half (80) units left alive. If there is it scales the health, armor and damage down, if not it does nothing. Problem with that is that I have no idea how to modify unit stats. Yet, at any rate. xD Other ideas will be helpful though.

Another thing I'm planning to add is a -spawn command that only Red can use. Once entered, it'll stop the creep timer, destroy the timer window, then immediately spawn the next wave, whether or not there're any units from the previous wave left alive. Only thing is I can't find the command for 'Stopping' the timer. 'Pausing' is the only one there. ^^"

The only way to make spells do damage based on your stats is to trigger all damage caused by the spell. See attached map (this one's done in simple GUI, took about 5 minutes).

But that would have to be done for every spell, is that right?

Simple you say, but I took one look at the triggers and nearly fainted. I think I can see exactly what does what, but dang, that's tedious. >_< Ah well, I wasn't expecting anything less.

Would it be easier or harder, or pretty much exactly the same if done in JASS?

Creep XP is given on a per level basis. You can find the "factors" in Gameplay Constants.

Hero XP Gained, Normal - Constant factor, Level factor and Previous Value factor. There's also a "Table" thing right under those three that shows how much experience a level 1 creep gives, all creeps past level 1 are calculated by the three "factors".

Constant factor - What this stands for is basically how much experience a creep gives per level. i.e. A Constant factor of 25 means a level 2 creep gives 25 more experience than a level 1 creep, a level 3 gives 25 more experience than a level 2, etc.

Level factor - This is a bit different from the Constant factor. A Level factor of 25 means that a level 2 creep will give you (25 x 2) = 50 more experience than a level 1. A level 3 will give (25 x 3) = 75 more experience than a level 2 creep.

Previous Value factor - This is set to 1 as default. It's kind of an exponential increase. You'll multiply the previous value by this number. A PV factor of 2.0 means you double the experience gained for each additional level, so if you start with 25, it'll be 50 for level 2, 100 for level 3, 200 for level 4, etc. Usually a bad idea to mess with this since it can grow extremely fast.

I think it's a good idea to use a formula rather than painstakingly plugging in all the values, but in theory it should work. Never tried it, though.

Well, if anything, there'll be exactly 40 levels of creeps. All I'd need to do is play around in Excel with formulas until I get a good slope for Hero leveling, then adjust Creep XP accordingly. It might be painstaking, but at least that way I'll know it works, and in my opinion it's far simpler than making a wave/line attack skill. xD The only thing I'm worried about is the loading time of the map: Would it be longer because of it?

And I've still gotten nowhere with the creep spawning. I have NO idea what's going on, they just refuse to spawn beyond the first wave. It was working perfectly before, heck, I playtested it online.

Edit: I now have NewGen installed and updated with your two .j files. I also took the liberty of installing EGUI. I should be ready for pretty much anything now. xD
 

Summoned

New Member
Reaction score
51
There seems to be an issue of overcrowding. When there are way too many units on the map at the same time, the creeps can "stutter" as they try to move. Might be worth it to lower the spawn count a bit and buff their health if necessary.

I'm also hoping I could add an inbuilt difficulty scaling that SD_Ryoko posted here. My planned version involves a trigger that checks if there's above say... half (80) units left alive. If there is it scales the health, armor and damage down, if not it does nothing. Problem with that is that I have no idea how to modify unit stats. Yet, at any rate. xD Other ideas will be helpful though.
What you'll have to use for this one are two custom abilities, one with +damage and another with +armor, and add them to all enemy units once there are less than 80 monsters around.

Another thing I'm planning to add is a -spawn command that only Red can use. Once entered, it'll stop the creep timer, destroy the timer window, then immediately spawn the next wave, whether or not there're any units from the previous wave left alive. Only thing is I can't find the command for 'Stopping' the timer. 'Pausing' is the only one there. ^^"
Edit: Okay, guess I misunderstood what you wanted. xD This'll work:
Trigger:
  • Spawn Creeps
    • Events
      • Time - CreepTimer expires
      • Player - Player 1 (Red) types a chat message containing -spawn as An exact match
    • Conditions
    • Actions
      • -------- Destroy the timer window, to make room for the next one, when the time comes. --------
      • Countdown Timer - Pause CreepTimer
      • Countdown Timer - Destroy CreepTimerWindow
      • -------- Nothing Else Changes -------


But that would have to be done for every spell, is that right?

Simple you say, but I took one look at the triggers and nearly fainted. I think I can see exactly what does what, but dang, that's tedious. >_< Ah well, I wasn't expecting anything less.

Would it be easier or harder, or pretty much exactly the same if done in JASS?
I have a couple (9) characters on another map who use nothing but triggered spells. What takes the longest isn't the actual spells themselves, but rather the idea of how to make them work.

It's about the same with JASS, just a bit faster when you've learned enough commands. Typing out:
JASS:
set udg_CB_DAMAGE = GetHeroStr(GetTriggerUnit(), true) x GetUnitAbilityLevel(GetTriggerUnit(), &#039;A000&#039;)
is usually faster than clicking through:
Trigger:
  • Set CB_DAMAGE = (Real(((Level of CustomBlink for (Triggering unit)) x (Strength of (Triggering unit) (Include bonuses)))))


Looks like the spawn trigger doesn't like "Player 12's Food Cost becomes 0" as an event. Changed it to this:
Trigger:
  • Spawn Initialization
    • Events
      • Time - Elapsed game time is 5.00 seconds
      • Unit - A unit owned by Player 12 (Brown) Dies
    • Conditions
      • (Number of living CreepArray[LevelCount] units owned by Player 12 (Brown)) Equal to 0
    • Actions
      • ----------------Other Stuff-----------------
 

kirinelf

New Member
Reaction score
10
There seems to be an issue of overcrowding. When there are way too many units on the map at the same time, the creeps can "stutter" as they try to move. Might be worth it to lower the spawn count a bit and buff their health if necessary.

Oh that. I doubt it's overcrowding; even slower computers should be able to handle having a hundred or so units on the map at the same time. What's happening there, from what I read somewhere (Not sure where), is the creep collisions or something similar. Basically, creeps will try to follow one after another in single file, unlike your units who when grouped together advance in (relative) formation. But although I think that's how it works, I'm not sure how to change it.

What you'll have to use for this one are two custom abilities, one with +damage and another with +armor, and add them to all enemy units once there are less than 80 monsters around.

Sounds simple enough, in theory. Wonder if I'll be able to get it working in practice. xD My biggest problem so far is that unlike Tower Defense, where the goal is to prevent them from getting to a point, Castle Defense involves killing 'em all. This could take any amount of time. So I'll have to think of a balanced way to set it up. Maybe it'll involve an invisible timer that starts when the wave timer expires, or something similar.

Edit: Okay, guess I misunderstood what you wanted. xD

I wasn't detailed enough. xD What I'd like is a chat command similar to '-repick', only instead of repicking it immediately spawns the next wave, destroying and reseting the Creep Wave timer in the process.

[w3c]Spawn Creeps
Events
Time - CreepTimer expires
Player - Player 1 (Red) types a chat message containing -spawn as An exact match
Conditions
Actions
-------- Destroy the timer window, to make room for the next one, when the time comes. --------
Countdown Timer - Pause CreepTimer
Countdown Timer - Destroy CreepTimerWindow
-------- Nothing Else Changes -------[/w3c]

That works for when the countdown is there, which suits my purposes. To be honest though, what I wanted was a command that will initiate the next wave instantly. Never mind that the countdown hasn't started. In essence, taking on two or more waves at a time. Like a 'Next Wave' button in a typical Tower Defense. Still, this isn't too bad, and will do. ^^ Thanks!

I have a couple (9) characters on another map who use nothing but triggered spells. What takes the longest isn't the actual spells themselves, but rather the idea of how to make them work.

Yeah, that makes sense. It's easy to say, "I want the spell to do this." It's a little harder to actually MAKE the spell do that. xD

It's about the same with JASS, just a bit faster when you've learned enough commands. Typing out:
JASS:
set udg_CB_DAMAGE = GetHeroStr(GetTriggerUnit(), true) x GetUnitAbilityLevel(GetTriggerUnit(), &#039;A000&#039;)
is usually faster than clicking through:
Trigger:
  • Set CB_DAMAGE = (Real(((Level of CustomBlink for (Triggering unit)) x (Strength of (Triggering unit) (Include bonuses)))))

I'll bet. I tried converting your CB script into JASS (By converting it to Custom Text, then going through and changing all the BJ functions to native), but although the end results kinda worked, I didn't do any damage at all. I blink and have the effects and all, but no damage. Not sure what went wrong. xD

Anyways, I deleted the failed conversion and used your GUI version, then played around with the textures until I replaced the explosions your version did with blood (The skill itself involves tracing a line that the Hero can see on the targets' bodies, which cuts them in two). Looks pretty nifty. xD

I'm also currently importing another spell (Illusion Split by Mage_Goo), so I hope his works like yours did.

Looks like the spawn trigger doesn't like "Player 12's Food Cost becomes 0" as an event. Changed it to this:
Trigger:
  • Spawn Initialization
    • Events
      • Time - Elapsed game time is 5.00 seconds
      • Unit - A unit owned by Player 12 (Brown) Dies
    • Conditions
      • (Number of living CreepArray[LevelCount] units owned by Player 12 (Brown)) Equal to 0
    • Actions
      • ----------------Other Stuff-----------------

Hmm. I'll try it out along with the new imported spell. Hope it works.

Edit: Yup, it works perfectly. ^^ Now I just need to fix up the new spell (It doesn't work due to a few variable settings I need to change).
 

Summoned

New Member
Reaction score
51
I wasn't detailed enough. xD What I'd like is a chat command similar to '-repick', only instead of repicking it immediately spawns the next wave, destroying and reseting the Creep Wave timer in the process.

That works for when the countdown is there, which suits my purposes. To be honest though, what I wanted was a command that will initiate the next wave instantly. Never mind that the countdown hasn't started. In essence, taking on two or more waves at a time. Like a 'Next Wave' button in a typical Tower Defense. Still, this isn't too bad, and will do. ^^ Thanks!
You'll need to completely redo the spawning triggers, then.

The thing is, when you start to spawn the next wave while the current wave is still spawning, it'll start replacing the current wave with new units because LevelCount is changed.
 

kirinelf

New Member
Reaction score
10
Aha. In that case, I'll just make do without. This is rather good as it is. But I'm having a little bit of trouble getting the new spell to work. ^^" Mage_Goo's Illusion Split v1.05b. I've got all the stuff imported (Via tedious copy pasting), got the codes in and changed all the minute mistakes. Variables are set, dummies are ready, everything.

Preloading (initialization) stuffs it up (WC3 crashes when the map starts after the 'Preload Complete' text shows up), so I disabled it and moved the location variable to another place. Testing it again, it appears in the skill list and everything, but when it activates (Has a 2.5% chance, but I finally got it to work), I turn invisible, a bunch of words pop up on the left and nothing happens. Also, I don't get turned back visible.

This might be better off posted in the thread I got the spell from, but I was wondering if you'd be able to help me before I do that. ^^" I've linked you to the file and attached my map to this post.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top