• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Defense / Survival] Getting Opinions - Idea for New Zombie Map at Warcraft

Level 11
Joined
Aug 24, 2022
Messages
434
Hello everyone here at Hive! I come once more, with an idea for my next project, since my Outerworld Arena Project is aproaching it's final version.

Outerworld Arena Project

----------

Inspired principally by ''Resident Evil Survivors'' and other zombie maps, I'm planning to create a survival zombie map with some differences between what we see nowadays. Let's go for the idea:

  • Like any other survival map, items will be generated randomly through the map;
  • The theme used will be "normal people trying to survive", so things like automatic turrets, air strikes, nuclear bomb (maybe an easter egg? haha), war tanks... They'll not exist here;
  • Characters will be divided by "Professions", that will determine basic stats and abilities available; Mana system will come with "energy" skin, but will work as it already is;
  • Players will spawn randomly over the map, and they'll share vision;
  • The map will be covered by fog, as any other map;
  • Players must survive a set of waves in order to beat the game;
  • Mostly, enemies will be slow zombies, but there'll be some "mutants";
  • If a player dies, it'll generate a corpse that can be revived by using an item called "Reanimation Kit" or similiar; Corpses cannot be carried; Also, a special zombie will spawn from this death event, meaning that the survivor has been turned undead;
  • The game will use the same weapon system as Resident Evil Snow/Survival: You click on the item, and the unit will get the stats of the equipped weapon. If it is a firearm, then you'll need ammo to make it work, or a error will appear;
  • There'll be melee weapons as well, such as axes, hammers, knives... Things that we normally find in everyday life;
  • All items will have a durability system: Everytime they get used, it'll reduce by 1 it's durability. This feature will come to make players need to stock supplies to not get out of adequate equipment;
  • Maybe, let players "stack" same items to "repair" them, instead of dropping a lot of almost broken weapons/armors;
  • Firearms do not have reloading time, since durability will use the "stack" system;
  • Ammunition availability is at mid line: Not so available, not so rare;
  • Ammunition cannot be stacked forever; They'll have a maximum limit (for example, you'll never make a 999 stack of 5.56 ammo)
  • Items will be classified by "Mark" (Mark I, II and III), so, different weapons level, skins, stats, that sort of thing;
  • As game procedes, more powerful items start to spawn;
  • Maximum play time: 1 hour gameplay;
  • All character's will have a "spellbook" based ability, that'll contain basic actions for everyone, like "Sprint", "Critical Strike", that sort of thing;
  • Players cannot be permanently infected by the "virus";
  • Some conditions (De-Buffs) will include fracture, bleeding, fatigued, poisoned;
  • Some "out of line" items, like Railgun. They'll be classified as "Experiment";

----------

Especifically for Professions, I already have some in mind:

  • Carpenter: Building hero, can build barricades, craft improvised wooden weapons (since weapons can break all the time);
  • Pyromaniac: DPS hero, that fed his desire secretly and in the apocalypse, can show to everyone xD; Can use "Firewall", create a bonfire. Fire based hero;
  • Medicine Student: Support hero, weaker version of the all known "Medic";
  • Chemical: Support hero, can induce various effects by "experimenting" things;
  • Hunter: DPS hero, has profficiency with ranged weapons (Not firearms), but cannot use melee weapons very well;
  • Quarrelsome: Tank hero, has profficiency with melee weapons;
  • Police Officer: DPS hero, has profficiency with firearms;

----------

The idea here is to not create complex gameplay. It'll be a game that you enter, you kill everything that moves, and try to survive. Nothing else.

I'm here to get opinions, check if there are similar map ideas already launched, so I can compare and test... That sort of thing. This is the first step of this project, the creative step, so everything is welcomed. While I gather information for this project, I create a GDD for this project, and I keep developing Outerworld Arena.

I'd like to thank you, who read until here!
 
Level 18
Joined
Dec 20, 2012
Messages
269
I'm interested in doing something similar zombie survival map in the future but mine is probably to be deeply inspired from the Last Stand flash game series. Essentially, survive the endless zombie hordes, recruit fellow survivors and reach the evacuation point within a certain time. Also add configurations menu for the host like no time limit for reaching the evacuation point, etc.

Will specific items in your map going to show up on your survivors? If for example, a survivor picked up a riot shield, then its appear on the survivor left/right hand? I plan mine to do so, to be immersive. The Villager 255 Animations and Villager Woman 40 Animations will be great for this.

I will probably not add durability to items in my map but it's would be nice to add ammo system for the guns. Though I will restrict survivors to only equip 1 melee weapon, ranged weapon, 1 helmet. The survivor can wear multiple layers of armor. Unless the survivor have a dual gun slinger ability or something to enable them to use 2 guns.

I will probably implement Professions/Jobs/Backgrounds too. Though perhaps the survivors can learn almost everything from books like in Project Zomboid.

A hunger and thrist mechanic is a maybe.

You didn't mentioned anything about vehicles but mine will have neutral vehicles that can be repaired with appropriate resources and maybe along with Professions/Jobs/Backgrounds requirement. Fuel will be needed for the vehicles that can be gained from gas cans, or siphoned from vehicles and gas stations. The vehicles will not move and be neutral passive if no survivor inside the vehicle.

My map terrain will be definitely be in outskirts, towns, and cities. The outskirts will be the safest but lacking in resources, the town is the middle, the city will be the most dangerous but the resources are plentiful and with rare items not found anywhere else. I also feel that few maps ever utilized modern day doodads and buildings in general so I will focus on that.

New items will be airdrop by the government to aid the survivors. Survivors can be informed when and where the airdrops will happen if they have radio/etc.

Tell me if you need models. I browse the xgm and chaosrealm sites so I know some zombie and modern day models that will be useful for the map, I can drop some links in the thread.
 
Level 11
Joined
Aug 24, 2022
Messages
434
I'm interested in doing something similar zombie survival map in the future but mine is probably to be deeply inspired from the Last Stand flash game series. Essentially, survive the endless zombie hordes, recruit fellow survivors and reach the evacuation point within a certain time. Also add configurations menu for the host like no time limit for reaching the evacuation point, etc.
I've played the entire series of Last Stand haha! Only the Dead Zone I couldn't due to PC performance =/.

Will specific items in your map going to show up on your survivors? If for example, a survivor picked up a riot shield, then its appear on the survivor left/right hand? I plan mine to do so, to be immersive. The Villager 255 Animations and Villager Woman 40 Animations will be great for this.
It's the first idea for direction art. As all players will be a "blank villager", items will have their proper attachments. As you said, some models here have a lot of animations, and I'm making tests here. They can fit with an axe animation, spear animation... things that fit in this project.

I will probably not add durability to items in my map but it's would be nice to add ammo system for the guns. Though I will restrict survivors to only equip 1 melee weapon, ranged weapon, 1 helmet. The survivor can wear multiple layers of armor. Unless the survivor have a dual gun slinger ability or something to enable them to use 2 guns.
I'll let them use everything they want, except for weapons. Since they need to be "equipped" (which means replacing the current unit to a version of it with the equipped item), there is no way to properly use 2 weapons. Sure, you can carry them and equip as you need, but properly use, just one.

I will probably implement Professions/Jobs/Backgrounds too. Though perhaps the survivors can learn almost everything from books like in Project Zomboid.
Professions here will define basic stats like attack speed, movement speed, that sort of things, and abilities. So, leveling up, means your character got better in his role.
A hunger and thrist mechanic is a maybe.
I thought about it, but looks like it'll only get in the way. As the project has the premise to be like an arcade game, where you enter and just go play, not needing to learn complex mechanics, hunger and thirsty don't look like a good system to use here.
You didn't mentioned anything about vehicles but mine will have neutral vehicles that can be repaired with appropriate resources and maybe along with Professions/Jobs/Backgrounds requirement. Fuel will be needed for the vehicles that can be gained from gas cans, or siphoned from vehicles and gas stations. The vehicles will not move and be neutral passive if no survivor inside the vehicle.
I don't intend to insert vehicles in this project. The scenario, for a first thought, will be a mix of the standard warcraft ambience, with the zombie outbreak + guns. Nothing more, nothing more "mechanic". Just you, your team, guns, and walking corpses to shoot.
My map terrain will be definitely be in outskirts, towns, and cities. The outskirts will be the safest but lacking in resources, the town is the middle, the city will be the most dangerous but the resources are plentiful and with rare items not found anywhere else. I also feel that few maps ever utilized modern day doodads and buildings in general so I will focus on that.
For a first idea, the map will have a Mid Sized City, some Rural themed locations, and the forest at the very sides, where enemies will spawn. Why three areas?

City: More compact spaces; Good for mounting bases; Bad line of sight; Pre-generated content (like gunshop, pharmacy, etc);
Farms: More sparse spaces; Not so good for mounting bases (due to great area to cover); Very good line of sight;
Forest: More compact spaces; Very bad for mounting bases; Bad line of sight;
New items will be airdrop by the government to aid the survivors. Survivors can be informed when and where the airdrops will happen if they have radio/etc.
I didn't mentioned, but here will also have airdrops. Probably I'll drop them inside the forest, for the risk/reward feature, since airdrops will come, with at least, a gun with its ammo.
Tell me if you need models. I browse the xgm and chaosrealm sites so I know some zombie and modern day models that will be useful for the map, I can drop some links in the thread.
I'm still just testing things and creating all the document for it, but yes, any help is welcomed. The first problem I've found using the Villager Man Model, is that attached guns are not fitting in the units model. He is holding guns with one arm, and firing with an empty hand haha. The animation used in the model fires a crossbow, but looked like a gun also fit. Just visual, because the ammo system seems to be working well, but yes, a thing to fix. Fix or change, let's see what is better.
 
Level 18
Joined
Dec 20, 2012
Messages
269
I've played the entire series of Last Stand haha! Only the Dead Zone I couldn't due to PC performance =/.
Yea, I have not played the 4th title nor the 3rd title. I remember been miffed since the second title has cut content exclusive to kongerate and I really don't want to join another site back then.

The Rebuild series is also a strong inspiration for my zombie map too other than Last Stand though I think I prefer focusing less on base building though and more on individual survivors and their stories. I'm also curious about implementing randomly generated terrain instead of the usual way for replayability. Perhaps this idea too ambitious? I don't even know on how to get started on this.

I'm planning to have multiple ways to win like a zombie cure other than evacuation point or surviving enough zombie waves.

Of all wc3 zombie maps I ever played this map by malganisdeamon is my personal favorite and will greatly influence my future zombie map.
Enough for me to want reforge/remake/remaster/etc the map. I will eventually ask for permission on his profile but I don't expect a reply since he hasn't been online for like 2 decades.

I'll let them use everything they want, except for weapons. Since they need to be "equipped" (which means replacing the current unit to a version of it with the equipped item), there is no way to properly use 2 weapons. Sure, you can carry them and equip as you need, but properly use, just one.
Ah, so the survivors are not hero units?

So bear/crow/chaso form morphing? Personally, I have not used these abilities yet but replacing the unit this way seems to be tedious. It is probably better to trigger adding/removing dummy passive item ability attachment on item gain/drop events to the unit instead of replacing the unit.


I thought about it, but looks like it'll only get in the way. As the project has the premise to be like an arcade game, where you enter and just go play, not needing to learn complex mechanics, hunger and thirsty don't look like a good system to use here.
Yea, I feel the same too.

I'm still just testing things and creating all the document for it, but yes, any help is welcomed. The first problem I've found using the Villager Man Model, is that attached guns are not fitting in the units model. He is holding guns with one arm, and firing with an empty hand haha. The animation used in the model fires a crossbow, but looked like a gun also fit. Just visual, because the ammo system seems to be working well, but yes, a thing to fix. Fix or change, let's see what is better.
I have not used these extra anims models yet and maps using these models with attachments is rather uncommon too. I can only think 1 map that does the same and it's not even in english but seeing this map assures that extra anims models with attachements will work.

The item attachment thread usually mentioned notes like that this attachment only works on male villager and not on female villager or it only works on right hand not left hand ref. You may have to use magos editor to fix it.

Based on what you say, the closest released map to your planned map right now is probably Zombie Island Survival v2.7. Check it out, might give you some ideas.
I have not played this map yet by the way.


survivors

zombies

airdrop

item modern attachments

item modern special effects

buildings/doodads
Destroyed Building Parts #1 (up to #4)

I included links to relevant Hive resources if you overlooked these since the search function is not perfect.

The chaosrealm needs an account to download. I can share the models if you don't have an account.

The villagerish models lack the extra anims from Villager 255 Animations so you either need to make a request to transfer anims in Requests forum for it or do it yourself with Retera's Model Studio.

The attached archive model pack author is ddahe/Sir Kako Rabbit/kako2742. They are the same person.
 

Attachments

  • 추가+복장+ㅎㅎ+(4).zip
    37.1 MB · Views: 1
  • Modern.zip
    122.4 MB · Views: 2
Level 11
Joined
Aug 24, 2022
Messages
434
Of all wc3 zombie maps I ever played this map by malganisdeamon is my personal favorite and will greatly influence my future zombie map.
I'll test it and check. Any idea is welcomed.
Ah, so the survivors are not hero units?

So bear/crow/chaso form morphing? Personally, I have not used these abilities yet but replacing the unit this way seems to be tedious. It is probably better to trigger adding/removing dummy passive item ability attachment on item gain/drop events to the unit instead of replacing the unit.
No, they are hero units. I'll leave what I've tested so far and you can check yoourself. Maybe it is even a thing that you can use. Basically, each weapons has a "special effect", and it is granted when you equip the weapon. The replaced will have the "special effect" as a standard ability for the unit.
Based on what you say, the closest released map to your planned map right now is probably Zombie Island Survival v2.7. Check it out, might give you some ideas.
I've tried this one once, but didn't try to learn. I'll re-check it.
I included links to relevant Hive resources if you overlooked these since the search function is not perfect.
I'm not in this phase now, but I'll save here and check later. About ChaosRealm, yes, I don't have any account there. I don't even know its existence xD.

I left the test map below, and I was trying to make unit get automatically replaced if someone try to drop the "equipped weapon". That's why the trigger is disabled (and nto working, because it is duplicating the unit xd).
 

Attachments

  • Zombie Map.w3m
    348.8 KB · Views: 2
Level 18
Joined
Dec 20, 2012
Messages
269
I'll test it and check. Any idea is welcomed.
Well, I agree with the comments in that Ebony Creek thread. The terrain and units is rather basic but I still love it. It will not pass the current map standards as it is. Remember, this map is like 2 decades old now and I have nostalgia tinted glasses on.

If you can wait for a day or two, I can share my updated version for a better experience. Your probably going to disappointed with the original map.

I rechecked my zombie maps folder, I assume you played NOTD Aftermath? It's quite popular and from I remember somebody is remaking it.
Hopefully these maps give you some ideas!

No, they are hero units. I'll leave what I've tested so far and you can check yoourself. Maybe it is even a thing that you can use. Basically, each weapons has a "special effect", and it is granted when you equip the weapon. The replaced will have the "special effect" as a standard ability for the unit.

I left the test map below, and I was trying to make unit get automatically replaced if someone try to drop the "equipped weapon". That's why the trigger is disabled (and nto working, because it is duplicating the unit xd).
Reforged right? I'm on lower patches so I can't open it sadly. But the way you described is not that different from worldeditor link I posted. The hard part will be making the models look right with the animation tag and attachment refs.

How about you copy the triggers code and paste it here on the thread so I share my thoughts on that.

I'm not in this phase now, but I'll save here and check later. About ChaosRealm, yes, I don't have any account there. I don't even know its existence xD.
Haha same, I only learned of its existence and xgm when I started map modding. Back then, I only know hive and epicwar.

In general, how I do things is:
1. Download and organize resources (models, icons, etc)
2. Brainstorming
3. Execution

After all, it's hard to do something when you don't the have resources.
 
Level 11
Joined
Aug 24, 2022
Messages
434
Well, I agree with the comments in that Ebony Creek thread. The terrain and units is rather basic but I still love it. It will not pass the current map standards as it is. Remember, this map is like 2 decades old now and I have nostalgia tinted glasses on.
I'm open minded haha. I'm not unfair "judging" projects.

I rechecked my zombie maps folder, I assume you played NOTD Aftermath? It's quite popular and from I remember somebody is remaking it.
Yes, I know, but I prefer NOTD 3. I don't know why, but I can't enjoy Aftermath.
How about you copy the triggers code and paste it here on the thread so I share my thoughts on that.
Sure. I've checked some leaks, and is more round than the version of the map I left up there. Firstly, I had to implement an Item Stack System (found this link in a comment here at Hive). Before I forget, "Carpenter" is the profession of the unit (haha). For this system, I have to create an instance of the unit, that has the parameters of the "equipped weapon". So, if I have 25 weapons, I have to make 25 Carpenters. I'm using this Weapon System (improving) for this project. So, for now, triggers are like this:

  • Carpenter Blazer R93
    • Events
      • Unit - A unit Uses an item
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
      • (Item-type of (Item being manipulated)) Equal to Blaser R93
      • (Charges remaining in (Item being manipulated)) Greater than 0
    • Actions
      • Set VariableSet Equipped_Item[(Player number of (Triggering player))] = (Item being manipulated)
      • Set VariableSet Equipment_Ammo_Required[(Player number of (Triggering player))] = Ammo - .337 Lapua
      • Item - Set charges remaining in (Item being manipulated) to ((Charges remaining in (Item being manipulated)) + 1)
      • Unit - Replace (Hero manipulating item) with a Carpenter (Blazer R93) using The old unit's life and mana
      • Selection - Add (Last replaced unit) to selection for (Owner of (Hero manipulating item))
      • Game - Display to (All players) for 3.00 seconds the text: (You've equipped: + (Name of (Item being manipulated)))
      • Sound - Play Equipped <gen> at 100.00% volume, attached to (Hero manipulating item)
      • Unit - For Unit (Hero manipulating item), start cooldown of ability Dummy Spell (Item) " over "5.00 seconds.

  • Durability Blazer R93
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacking unit) is A Hero) Equal to True
      • (Unit-type of (Attacking unit)) Equal to Carpenter (Blazer R93)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Attacking unit) has an item of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) Equal to False
        • Then - Actions
          • Unit - Pause (Attacking unit)
          • Unit - Order (Attacking unit) to Stop.
          • Unit - Unpause (Attacking unit)
          • Game - Display to (Player group((Owner of (Attacking unit)))) the text: Out of Ammo!
          • Sound - Play NoAmmo <gen> at 100.00% volume, attached to (Last replaced unit)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Less than or equal to 0
            • Then - Actions
              • Item - Remove Equipped_Item[(Player number of (Owner of (Attacking unit)))]
              • Set VariableSet Equipped_Item[(Player number of (Triggering player))] = No item
              • Set VariableSet Equipment_Ammo_Required[(Player number of (Triggering player))] = (Item-type of No item)
              • Unit - Replace (Attacking unit) with a Carpenter (Unarmed) using The old unit's life and mana
              • Selection - Add (Last replaced unit) to selection for (Owner of (Attacking unit))
              • Game - Display to (All players) for 3.00 seconds the text: Your weapon has bro...
              • Sound - Play ItemBreak <gen> at 100.00% volume, attached to (Last replaced unit)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Attacking unit) has Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Equal to False
                • Then - Actions
                  • Set VariableSet Equipped_Item[(Player number of (Triggering player))] = No item
                  • Set VariableSet Equipment_Ammo_Required[(Player number of (Triggering player))] = (Item-type of No item)
                  • Unit - Replace (Attacking unit) with a Carpenter (Unarmed) using The old unit's life and mana
                  • Selection - Add (Last replaced unit) to selection for (Owner of (Attacking unit))
                  • Game - Display to (All players) for 3.00 seconds the text: You've dropped your...
                  • Sound - Play ItemBreak <gen> at 100.00% volume, attached to (Last replaced unit)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Attacking unit) has an item of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) Equal to True
                      • (Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) Greater than 0
                      • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Greater than 0
                    • Then - Actions
                      • Sound - Play ShotSniper <gen> at 100.00% volume, attached to (Attacking unit)
                      • Item - Set charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))] to ((Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) - 1)
                      • Item - Set charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) to ((Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) - 1)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) Less than or equal to 0
                        • Then - Actions
                          • Item - Remove (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])
                        • Else - Actions
                    • Else - Actions

  • Carpenter Axe
    • Events
      • Unit - A unit Uses an item
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
      • (Item-type of (Item being manipulated)) Equal to Axe
      • (Charges remaining in (Item being manipulated)) Greater than 0
    • Actions
      • Set VariableSet Equipped_Item[(Player number of (Triggering player))] = (Item being manipulated)
      • Set VariableSet Equipment_Ammo_Required[(Player number of (Triggering player))] = (Item-type of No item)
      • Item - Set charges remaining in (Item being manipulated) to ((Charges remaining in (Item being manipulated)) + 1)
      • Unit - Replace (Hero manipulating item) with a Carpenter (Axe) using The old unit's life and mana
      • Selection - Add (Last replaced unit) to selection for (Owner of (Hero manipulating item))
      • Game - Display to (All players) for 3.00 seconds the text: (You've equipped: + (Name of (Item being manipulated)))
      • Sound - Play Equipped <gen> at 100.00% volume, attached to (Hero manipulating item)

  • Durability Axe
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacking unit) is A Hero) Equal to True
      • (Unit-type of (Attacking unit)) Equal to Carpenter (Axe)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Greater than 0
        • Then - Actions
          • Item - Set charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))] to ((Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) - 1)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Less than or equal to 0
            • Then - Actions
              • Item - Remove Equipped_Item[(Player number of (Owner of (Attacking unit)))]
              • Set VariableSet Equipped_Item[(Player number of (Triggering player))] = No item
              • Set VariableSet Equipment_Ammo_Required[(Player number of (Triggering player))] = (Item-type of No item)
              • Unit - Replace (Attacking unit) with a Carpenter (Unarmed) using The old unit's life and mana
              • Selection - Add (Last replaced unit) to selection for (Owner of (Attacking unit))
              • Game - Display to (All players) for 3.00 seconds the text: Your weapon has bro...
              • Sound - Play ItemBreak <gen> at 100.00% volume, attached to (Last replaced unit)
            • Else - Actions

For Durability System, the trigger contains conditions that check if the weapon has durability, if it has ammo (if needed, that's why Ammo_Required sometimes is equal to No Item), if you try to drop the weapon and keep the replaced unit, and so on. The Item Stack System always re-organize automatically the inventory when the unit is replaced, so that's a plus. If you use the same kind of weapon and use their durability, just by picking they up again will stack their durability, as you "repaired" them.

My actual problem now is that when your replace an unit, all items cooldown resets. That's not supposed to happen, because you should have cooldown to change weapons. I can pause the unit, simulating that it is changing weapon, but this is not dynamic when you are running for your life.
 
Level 18
Joined
Dec 20, 2012
Messages
269
Sure. I've checked some leaks, and is more round than the version of the map I left up there. Firstly, I had to implement an Item Stack System (found this link in a comment here at Hive). Before I forget, "Carpenter" is the profession of the unit (haha). For this system, I have to create an instance of the unit, that has the parameters of the "equipped weapon". So, if I have 25 weapons, I have to make 25 Carpenters. I'm using this Weapon System (improving) for this project. So, for now, triggers are like this:
I recently downloaded some item stacking systems from hive for my villager altered melee but I have not used any of it yet so I won't be able to offer any input for now.

From what I remember of patch 1.31 world editor, you can stack items natively.

Moving on to your triggers, A unit Is attacked is liable to be abused by players. You should consider using damage detection system, especially for your melee weapons. I don't think it is going to be easy to detect any launched missiles even with using damage detection system but I could be wrong. A missile system is needed for this one.

Also perhaps you can try preemptively detect whether the survivor has ammo before the survivor run and attack the targeted zombie with A unit is issued an order tageting an object with the condition (Issued order) Equal to (Order(attack)).

  • Item Weapon Equip
    • Events
      • Unit - A unit Uses an item
    • Conditions
    • Actions
      • Unit - Remove PreviousWeaponEquippedAbility from (Hero manipulating item)
      • Animation - Remove the lumber animation tag to (Hero manipulating item)
      • Animation - Remove the alternate animation tag to (Hero manipulating item)
      • Set PreviousWeaponEquippedItem = (Item being manipulated)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Item-type of PreviousWeaponEquippedItem) Equal to Sword
        • Then - Actions
          • Unit - Add Item Sword Attachment (Item Armor Bonus +1) to (Hero manipulating item)
          • Set PreviousWeaponEquippedAbility = Item Sword Attachment (Item Armor Bonus +1)
          • Animation - Add the gold animation tag to (Hero manipulating item)
        • Else - Actions
This is how I going to do mine but your way is valid too since you save special effects in an array variable too. But I don't think you can detect special effects unlike abilities but I could be wrong. It removes the previous weapon ability attachment and all animation tags then add the new weapon ability attachment and animation tag based on the model animation name.

My actual problem now is that when your replace an unit, all items cooldown resets. That's not supposed to happen, because you should have cooldown to change weapons. I can pause the unit, simulating that it is changing weapon, but this is not dynamic when you are running for your life.
Yea, there are concerns for replacing units like this which is why I asked whether you are replacing units before. I assume you are saving the survivor exp, abilities, level in variable arrays already. If your zombies have debuff abilities, like poison/disease cloud, then the replaced unit will have not debuffs allowing players to cheese the system. This includes the ability cooldown reset you mentioned.

You need to use bear/crow/chaos form morphing ability to eliminate these problems.
 
Level 11
Joined
Aug 24, 2022
Messages
434
I recently downloaded some item stacking systems from hive for my villager altered melee but I have not used any of it yet so I won't be able to offer any input for now.

From what I remember of patch 1.31 world editor, you can stack items natively.
Well, I didn't search if the native warcraft can stack'em, because I always had problems with it, so, I've found this simple system and I've used it. I didn't use the Easy Stack System because it already messed with the Equip Item System, but this one is more than suficient for me. I only need auto-stack and divide stack.

Moving on to your triggers, A unit Is attacked is liable to be abused by players. You should consider using damage detection system, especially for your melee weapons. I don't think it is going to be easy to detect any launched missiles even with using damage detection system but I could be wrong. A missile system is needed for this one.

Also perhaps you can try preemptively detect whether the survivor has ammo before the survivor run and attack the targeted zombie with A unit is issued an order tageting an object with the condition (Issued order) Equal to (Order(attack)).
Hmmmm... Thanks for the advice. Since the "A unit Is attacked" has some problems, in that Durability System the ammo check (and other conditions) are the first/second/third thing to be checked. The actual shot is the last action, to prevent player abuse. Yes, while testing the prototype, I've found a lot of leaks that could be explored haha! For example, I've found one that when you fast equip the same weapon very fast (clicking like a crazy), you refresh the CD between attacks. For slow attack speed, this is a major leak, since you can fire a slow sniper like a Semi-Automatic gun.

Yea, there are concerns for replacing units like this which is why I asked whether you are replacing units before. I assume you are saving the survivor exp, abilities, level in variable arrays already. If your zombies have debuff abilities, like poison/disease cloud, then the replaced unit will have not debuffs allowing players to cheese the system. This includes the ability cooldown reset you mentioned.

You need to use bear/crow/chaos form morphing ability to eliminate these problems.
I was thinking that my idea was going too perfectly to be true, and reading you about buffs... It's something I didn't think. Replaced units replace everything (renew) what the old unit had, including buffs. Fortunately, I already saved a similar system for Equip Items, using Chaos ability. Let's go back to prototype.

--------------------------------------------------------------------------------------------------------------------

EDIT: I was testing the system using "Chaos Ability", and I've found the best logic for it:

  • Durability Blazer R93
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacking unit) is A Hero) Equal to True
      • (Unit-type of (Attacking unit)) Equal to Carpenter (Blazer R93)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Attacking unit) has Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Equal to False
        • Then - Actions
          • Set VariableSet Equipped_Item[(Player number of (Owner of (Attacking unit)))] = No item
          • Set VariableSet Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))] = (Item-type of No item)
          • Unit - Remove Blazer R93 (Chaos) from (Attacking unit)
          • Unit - Add Unarmed (Chaos) to (Attacking unit)
          • Game - Display to (All players) for 3.00 seconds the text: You've dropped your...
          • Sound - Play ItemBreak <gen> at 100.00% volume, attached to (Last replaced unit)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Attacking unit) has an item of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) Equal to False
            • Then - Actions
              • Unit - Pause (Attacking unit)
              • Unit - Order (Attacking unit) to Stop.
              • Unit - Unpause (Attacking unit)
              • Game - Display to (Player group((Owner of (Attacking unit)))) the text: Out of Ammo!
              • Sound - Play NoAmmo <gen> at 100.00% volume, attached to (Last replaced unit)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Less than or equal to 0
                • Then - Actions
                  • Item - Remove Equipped_Item[(Player number of (Owner of (Attacking unit)))]
                  • Set VariableSet Equipped_Item[(Player number of (Owner of (Attacking unit)))] = No item
                  • Set VariableSet Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))] = (Item-type of No item)
                  • Unit - Remove Blazer R93 (Chaos) from (Attacking unit)
                  • Unit - Add Unarmed (Chaos) to (Attacking unit)
                  • Game - Display to (All players) for 3.00 seconds the text: Your weapon has bro...
                  • Sound - Play ItemBreak <gen> at 100.00% volume, attached to (Last replaced unit)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Attacking unit) has an item of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) Equal to True
                      • (Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) Greater than 0
                      • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Greater than 0
                    • Then - Actions
                      • Sound - Play ShotSniper <gen> at 100.00% volume, attached to (Attacking unit)
                      • Item - Set charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))] to ((Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) - 1)
                      • Item - Set charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) to ((Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) - 1)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) Less than or equal to 0
                        • Then - Actions
                          • Item - Remove (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])
                        • Else - Actions
                    • Else - Actions

Summarizing, the logic is:

  1. Check if the unit has the equipped weapon (to prevent drops to save durability);
  2. Check if the unit has the proper ammo (which will stop the unit constantly);
  3. Check the durability of weapon AND check how many ammo you have;
  4. Shot like a normal person;

I've found that we can't just keeping adding "Chaos Ability" multiple times in a same unit. It'll keep stacking the different values of the variation of the new unit, which is not desireable. I've made a unit with 10 billion damage before system break and leave unit with 0 damage haha! Somehow, damage was getting multiplied each time it was changed... But inserting the "Remobe ability" before adding, solved the problem. Do you have any advice about the "Chaos Ability"? I'm wondering how this will work on multiplayer, since we'll have 6 players.
 
Last edited:
Level 18
Joined
Dec 20, 2012
Messages
269
EDIT: I was testing the system using "Chaos Ability", and I've found the best logic for it:

  • Durability Blazer R93
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacking unit) is A Hero) Equal to True
      • (Unit-type of (Attacking unit)) Equal to Carpenter (Blazer R93)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Attacking unit) has Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Equal to False
        • Then - Actions
          • Set VariableSet Equipped_Item[(Player number of (Owner of (Attacking unit)))] = No item
          • Set VariableSet Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))] = (Item-type of No item)
          • Unit - Remove Blazer R93 (Chaos) from (Attacking unit)
          • Unit - Add Unarmed (Chaos) to (Attacking unit)
          • Game - Display to (All players) for 3.00 seconds the text: You've dropped your...
          • Sound - Play ItemBreak <gen> at 100.00% volume, attached to (Last replaced unit)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Attacking unit) has an item of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) Equal to False
            • Then - Actions
              • Unit - Pause (Attacking unit)
              • Unit - Order (Attacking unit) to Stop.
              • Unit - Unpause (Attacking unit)
              • Game - Display to (Player group((Owner of (Attacking unit)))) the text: Out of Ammo!
              • Sound - Play NoAmmo <gen> at 100.00% volume, attached to (Last replaced unit)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Less than or equal to 0
                • Then - Actions
                  • Item - Remove Equipped_Item[(Player number of (Owner of (Attacking unit)))]
                  • Set VariableSet Equipped_Item[(Player number of (Owner of (Attacking unit)))] = No item
                  • Set VariableSet Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))] = (Item-type of No item)
                  • Unit - Remove Blazer R93 (Chaos) from (Attacking unit)
                  • Unit - Add Unarmed (Chaos) to (Attacking unit)
                  • Game - Display to (All players) for 3.00 seconds the text: Your weapon has bro...
                  • Sound - Play ItemBreak <gen> at 100.00% volume, attached to (Last replaced unit)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Attacking unit) has an item of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) Equal to True
                      • (Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) Greater than 0
                      • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Greater than 0
                    • Then - Actions
                      • Sound - Play ShotSniper <gen> at 100.00% volume, attached to (Attacking unit)
                      • Item - Set charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))] to ((Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) - 1)
                      • Item - Set charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) to ((Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) - 1)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) Less than or equal to 0
                        • Then - Actions
                          • Item - Remove (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])
                        • Else - Actions
                    • Else - Actions

Summarizing, the logic is:

  1. Check if the unit has the equipped weapon (to prevent drops to save durability);
  2. Check if the unit has the proper ammo (which will stop the unit constantly);
  3. Check the durability of weapon AND check how many ammo you have;
  4. Shot like a normal person;

I've found that we can't just keeping adding "Chaos Ability" multiple times in a same unit. It'll keep stacking the different values of the variation of the new unit, which is not desireable. I've made a unit with 10 billion damage before system break and leave unit with 0 damage haha! Somehow, damage was getting multiplied each time it was changed... But inserting the "Remobe ability" before adding, solved the problem. Do you have any advice about the "Chaos Ability"? I'm wondering how this will work on multiplayer, since we'll have 6 players.
I have not used crow/chaos form morphing yet. I don't even know where the chaos ability is. I only use Chemical Rage ability for my heroes that lasts for a set amount of time and bear form for switching melee to ranged and vice versa for my footmen units.

Have you double check that Data - Normal Form Unit and Data - Alternate Form Unit units is correct? That might be the cause.

Also have you read this thread below?
It might help you out.

If all else fails, try using bear form instead. I'm sure someone more experienced can help you in World Editor Help Zone, don't forget to post the map for them to test.
 
Level 11
Joined
Aug 24, 2022
Messages
434
I have not used crow/chaos form morphing yet. I don't even know where the chaos ability is. I only use Chemical Rage ability for my heroes that lasts for a set amount of time and bear form for switching melee to ranged and vice versa for my footmen units.
Chaos Ability is at Orc category. It is the ability used to turn normal Orcs (green ones) into Fel orcs (red orcs).
Have you double check that Data - Normal Form Unit and Data - Alternate Form Unit units is correct? That might be the cause.
1743516617965.png

Chaos only have these two fields for data. I suppose that the chaos ability permanently changes the unit, that's why it doesn't have any kind of transition. Similar to Troll Headhunter/berserker and Obsidian Statue/Destroyer, both permanent changes.
Also have you read this thread below?
Didn't read it, but it is similar to what I did with chaos. Let me show you:

  • Carpenter HK UMP
    • Events
      • Unit - A unit Uses an item
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
      • (Item-type of (Item being manipulated)) Equal to SMG - HK UMP
      • (Charges remaining in (Item being manipulated)) Greater than 0
    • Actions
      • Set VariableSet Equipped_Item[(Player number of (Triggering player))] = (Item being manipulated)
      • Set VariableSet Equipment_Ammo_Required[(Player number of (Triggering player))] = SMG Ammo
      • Item - Set charges remaining in (Item being manipulated) to ((Charges remaining in (Item being manipulated)) + 1)
      • Unit - Remove Unarmed (Carpenter) from (Hero manipulating item)
      • Unit - Add HK UMP (Carpenter) to (Hero manipulating item)
      • Game - Display to (Player group((Triggering player))) for 2.00 seconds the text: (You've equipped: + (|cff00ff00 + ((Name of (Item being manipulated)) + |r)))
      • Sound - Play Sfx_Reload at 100.00% volume, attached to (Hero manipulating item)

  • Durability HK UMP
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacking unit) is A Hero) Equal to True
      • (Unit-type of (Attacking unit)) Equal to Carpenter - HK UMP
    • Actions
      • -------- --------
      • -------- Has Weapon? --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Attacking unit) has Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Equal to False
        • Then - Actions
          • Game - Display to (Player group((Owner of (Attacking unit)))) for 2.00 seconds the text: (Weapon dropped: + (|cff808080 + ((Name of Equipped_Item[(Player number of (Owner of (Attacking unit)))]) + |r)))
          • Set VariableSet Equipped_Item[(Player number of (Owner of (Attacking unit)))] = No item
          • Set VariableSet Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))] = (Item-type of No item)
          • Unit - Remove HK UMP (Carpenter) from (Attacking unit)
          • Unit - Add Unarmed (Carpenter) to (Attacking unit)
          • Sound - Play Sfx_Item_Dropped at 100.00% volume, attached to (Attacking unit)
        • Else - Actions
          • -------- --------
          • -------- Has Ammo? --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Attacking unit) has an item of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) Equal to False
            • Then - Actions
              • Unit - Pause (Attacking unit)
              • Unit - Order (Attacking unit) to Stop.
              • Unit - Unpause (Attacking unit)
              • Game - Display to (Player group((Owner of (Attacking unit)))) for 1.00 seconds the text: |cffff0000Out of Am...
              • Sound - Play Sfx_OutofAmmo at 100.00% volume, attached to (Attacking unit)
            • Else - Actions
              • -------- --------
              • -------- Weapon is about the break? --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Less than or equal to 0
                • Then - Actions
                  • Game - Display to (Player group((Owner of (Attacking unit)))) for 1.00 seconds the text: (Weapon has broken: + (|cffff0000 + ((Name of Equipped_Item[(Player number of (Owner of (Attacking unit)))]) + |r)))
                  • Item - Remove Equipped_Item[(Player number of (Owner of (Attacking unit)))]
                  • Set VariableSet Equipped_Item[(Player number of (Owner of (Attacking unit)))] = No item
                  • Set VariableSet Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))] = (Item-type of No item)
                  • Unit - Remove HK UMP (Carpenter) from (Attacking unit)
                  • Unit - Add Unarmed (Carpenter) to (Attacking unit)
                  • Sound - Play Sfx_Item_Break at 100.00% volume, attached to (Attacking unit)
                • Else - Actions
                  • -------- --------
                  • -------- Has enough ammo and weapon durability? --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Attacking unit) has an item of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) Equal to True
                      • (Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) Greater than 0
                      • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Greater than 0
                    • Then - Actions
                      • Item - Set charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))] to ((Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) - 1)
                      • Item - Set charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))]) to ((Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) - 1)
                      • Sound - Play Shot_SMG at 100.00% volume, attached to (Attacking unit)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Charges remaining in (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])) Less than or equal to 0
                        • Then - Actions
                          • -------- --------
                          • -------- Spend Ammo --------
                          • Item - Remove (Item carried by (Attacking unit) of type Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))])
                          • -------- --------
                          • -------- Weapon still has durability? --------
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Charges remaining in Equipped_Item[(Player number of (Owner of (Attacking unit)))]) Less than or equal to 0
                            • Then - Actions
                              • Wait 0.10 seconds
                              • Game - Display to (Player group((Owner of (Attacking unit)))) for 1.00 seconds the text: (Weapon has broken: + (|cffff0000 + ((Name of Equipped_Item[(Player number of (Owner of (Attacking unit)))]) + |r)))
                              • Item - Remove Equipped_Item[(Player number of (Owner of (Attacking unit)))]
                              • Set VariableSet Equipped_Item[(Player number of (Owner of (Attacking unit)))] = No item
                              • Set VariableSet Equipment_Ammo_Required[(Player number of (Owner of (Attacking unit)))] = (Item-type of No item)
                              • Unit - Remove HK UMP (Carpenter) from (Attacking unit)
                              • Unit - Add Unarmed (Carpenter) to (Attacking unit)
                              • Sound - Play Sfx_Item_Break at 100.00% volume, attached to (Attacking unit)
                            • Else - Actions
                        • Else - Actions
                    • Else - Actions

For "Equip Item", I remove the standard Unarmed version (chaos). If the unit doesn't have it, which is the very first instance of the unit, it does nothing, but after you equip your first weapon in the game, it starts its function.

At "Firing Weapon" trigger, I've improved a little more from yesterday to now, and I've duplicated the weapon durability check. After firing the last shot, player was keeping an empty version of the weapon, while the ammo is gone. Empty weapon (without charges) does nothing, you cannot even equip it. I know we shouldn't use Wait action, since it can be painful for modding. but it looked necessary since, if we check weapons' durability the same way as ammo, we never make the last hit/shot. Weapon always break before, and instead of making 30 shots, you only make 29. The 0.1 wait is suficient to give the player time to make the last hit (from whatever weapon he is using), and right after, it breaks. Guns doesn't suffer from this that much (specially fully automatic ones, that for now, has 0.000 attack cooldown with 0.000 backswing), but melee ones that has some animation time, were suffering.

1743517708859.png


Also, I've tried to bug this trigger changing weapons very fast, and guess what? No damage have been changed. A good victory for this idea haha! Now I have to make a test with multiple players to check it. Even adressing the right units/items for each player, I still don't believe it works properly until I see by myself.
 
Level 18
Joined
Dec 20, 2012
Messages
269
Chaos Ability is at Orc category. It is the ability used to turn normal Orcs (green ones) into Fel orcs (red orcs).
Thanks, good to know :grin:

I gotten an idea from our conversation that could be used for a pseudo missile system. It requires 2 systems, Physical Damage Detection for GUI v1.3.0.0 and Shockwave/Carrion Swarm System v1.1 (there's a reforged version uploaded by someone), 1 dummy unit, and chaos abilities. The ranged survivor projectile speed should be high and has no projectile missile art.

Once this survivor equipped with a ranged weapon damages a unit, nullify damage dealt to 0 with the damage detection system and immediately create a dummy to cast a dummy shockwave. The dummy shockwave model should the ranged weapon missile.

With the shockwave system, it can easily detect when it hits a unit, damage the unit and kill the dummy shockwave. Or not, it lasts until it reach the final area.

Another example, you can trigger it dies to damage units in aoe if it is explosive missile too.

Modifying missile speed, projectile, damage, etc is pretty straightforward.

I included a test map below since it might be useful for you.

Ak47 - doesn't pass through units
Armor Piercing Rifle - pass through units
Bazooka - doesn't pass through units, damage units in aoe

I also tested the action Animation - Add/remove the animation tag to (Unit manipulating item) and it doesn't works like I thought it would :peasant-thinking:
 

Attachments

  • testzombieideasystem.w3x
    376.2 KB · Views: 2
Level 11
Joined
Aug 24, 2022
Messages
434
I gotten an idea from our conversation that could be used for a pseudo missile system. It requires 2 systems, Physical Damage Detection for GUI v1.3.0.0 and Shockwave/Carrion Swarm System v1.1 (there's a reforged version uploaded by someone), 1 dummy unit, and chaos abilities. The ranged survivor projectile speed should be high and has no projectile missile art.
Ohh my... I'm aiming below this haha. I'll try to make my project as simple as possible, but sure, it is a great idea, instead of using standard wc3 missile rules. If it hits the first target, and doesn't pierce, end of function.

I've tested the prototype, and noticed some things:

  • Survivor model has the same issue as mine: Attachments don't fit perfectly to the model;
  • AK-47 doesn't work. At least, for me here. Attacks don't do any damage;
  • How many weapons do you intend to create? I mean, the Item Weapon Equip trigger for now works well, but depending on how much weapons, it'll get a bit long, no? If players will use the very same trigger, it can cause some lag or spike, or am I rambling?
  • You've made a version that doesn't need to "equip" the weapon (clicking on it or whatever action). It gets insta-dropped if we pick another weapon. I didn't think about this, because I intend to let players carry as much as they can.


Well, in the meanwhile, I've validated some other things in my project, and one of them is the direction art:

  • Flesh themed: I've already found some useful skins and models that reminds this, and we'll have some blood (not a lot, but more than some). I've even found a "zombie sheep" haha. That zombie dog you showed to me is in the list (thank you);
  • Theme now is not only zombies, but "flesh undead". Mostly, enemies will just walk and attack, but they'll have a difference or two. Since the first idea was to create a zombie outbreak, and keep things as simple as possible, let's check how many models will fit this, and if we need a lot of them;
  • Blood VFX: Enemies killed by certain types of weapons will make a blood vfx (not all, just some, to prevent performance issues);
  • Random shops: I'll not define pre-generated shops or places, but I'll insert regions in some places that will have a "Shop Type" trigger. Mostly, in the city area, due to difficult. Once a player enters it, it'll show a message (like "Entering: Gunshop"), and then, items will be generated. Each "shop" will have an item table, to random through it, and generate items for players. So, a gunshop will mostly have guns, a Pharmacy will have medicine-like items, barn (for rural area) will have food-like items, and so on. Maybe put a circle of power, so players can see if the place was already looted or not. Also, if you already looted a place, after some time, loot will respawn (using the circle idea, bring the circle back;
  • Scenario Visual: I'll try to not bring constructions that use cliff levels as walls. Everything will happen "outside" if you understand me. There won't be any "interior area", just external area. I can use this feature with the Random Shops, and so, make use of Level Design to bring a more detailed map. Since some characters and some items will let players build (barricades and defense things), level design will be at high in this project;
  • Day/Night Cycle: During the day, no enemy spawn. During the night, they keep spawning until morning. Daylight will not kill them, but just prevent the spawn. With this feature, players will have time to get out of their bases and go loot, instead of putting themselves in danger everytime. First idea: 7 minutes cycle (3 at day, 4 at night);
I've also made some tests with the visual of weapons and ammo icons, since I'm not an artist to create an icon from 0, but I think it got validated. They are real images (without copyrights), with some edits at photoshop:

1743718550535.png
1743718614148.png


Regarding inventory, I'll try to use TasItemBag. I'm predicting that inventory management will be painful, since you need 2 free slots for guns (one for weapon, one for ammo). Also, as all items can break or get used, all of them as disposable. So, a small bonus inventory slot will be great. You can, in a manner way, pick whatever you find, and share with your teammates at base, or hide and keep for you.


What are you planning to do in your project? Maybe I can help with an idea or two.
 
Last edited:
Level 18
Joined
Dec 20, 2012
Messages
269
  • Survivor model has the same issue as mine: Attachments don't fit perfectly to the model;
Yea. Some item attachments doesn't mentioned where it should go like in hand left or weapon ref so I'm just guessing. There is View usage feature on any model to find what maps used this model but not many maps used villager anims with different anims and attachments. And if they edited the model, it won't show up either.

  • AK-47 doesn't work. At least, for me here. Attacks don't do any damage;
It works for me but it doesn't pass through dead unit corpses which might have happened to you. I'm sure adding a condition to Shockwave Loop can fix this.

  • How many weapons do you intend to create? I mean, the Item Weapon Equip trigger for now works well, but depending on how much weapons, it'll get a bit long, no? If players will use the very same trigger, it can cause some lag or spike, or am I rambling?
Several. I heard it is more efficient to have a single Item Weapon Equip trigger than several same triggers but I'm not sure. I don't think it cause lag spikes, perhaps when the trigger execute every 0.03 seconds is when we should get concerned.

  • You've made a version that doesn't need to "equip" the weapon (clicking on it or whatever action). It gets insta-dropped if we pick another weapon. I didn't think about this, because I intend to let players carry as much as they can.
Yea, our maps are similar since it is both a modern day zombie maps but we both have a specific vision.

  • Scenario Visual: I'll try to not bring constructions that use cliff levels as walls. Everything will happen "outside" if you understand me. There won't be any "interior area", just external area. I can use this feature with the Random Shops, and so, make use of Level Design to bring a more detailed map. Since some characters and some items will let players build (barricades and defense things), level design will be at high in this project;
I'm rather interested in doing such "interior area" but hm but I might split it into two different zombie maps. One is Ebony Creek like map where you gather survivors and survive (win by evac point, zombie cure, etc), a zombie roguelike rpg like map as a lone survivor, that can interact with different factions, etc like in this russian stalker like map I seen on xgm. I don't think I can fit interior areas in the first but the second one I can.

  • Day/Night Cycle: During the day, no enemy spawn. During the night, they keep spawning until morning. Daylight will not kill them, but just prevent the spawn. With this feature, players will have time to get out of their bases and go loot, instead of putting themselves in danger everytime. First idea: 7 minutes cycle (3 at day, 4 at night);
Interesting. In my map, zombies going to spawn randomly but at night the stats of zombies are going to be boosted.

I've also made some tests with the visual of weapons and ammo icons, since I'm not an artist to create an icon from 0, but I think it got validated. They are real images (without copyrights), with some edits at photoshop:

View attachment 521550 View attachment 521551
It's beautiful, awesome work! Here some modern icons from xgm you might find useful. It slipped my mind to share these before.



Regarding inventory, I'll try to use TasItemBag. I'm predicting that inventory management will be painful, since you need 2 free slots for guns (one for weapon, one for ammo). Also, as all items can break or get used, all of them as disposable. So, a small bonus inventory slot will be great. You can, in a manner way, pick whatever you find, and share with your teammates at base, or hide and keep for you.


What are you planning to do in your project? Maybe I can help with an idea or two.
Noted, might be useful for me. I'm primarily on 1.27 so I might whip something up that uses second hero dummy slot as an second inventory slot like I seen in some maps. If it is too difficult then I might use 1.31 to use TasItemBag system instead.

What are you planning to do in your project? Maybe I can help with an idea or two.
Thanks for the offer, I appreciate it but I'm not actively working on my zombie map right now, I got too many maps to work on before I start working on my zombie map :peasant-work-work:

But I got a general concept and some vague ideas. It is primarily going to single-player experience but it can be a two player mode with a playtime of like 1 hour. You played Ebony Creek already so kinda like that but with more stories, decisions, and mechanics. There is also rpg/loap/roguelike version that utilizes the interior area but not like those ORPG with a character code save system or anything. So yea, I don't have a design document or anything like that, just some ideas haha. Some ideas may change depending if villager anims looks alright with attachments or not.

Also your project thread is already helpful, giving me some ideas :grin:
 
Level 11
Joined
Aug 24, 2022
Messages
434
Noted, might be useful for me. I'm primarily on 1.27 so I might whip something up that uses second hero dummy slot as an second inventory slot like I seen in some maps. If it is too difficult then I might use 1.31 to use TasItemBag system instead.
TasItemBag update: It didn't work here. Somehow, any kind of change on it leads to mysterious crashes all over the system. Even if I try to edit something, and turn it back to the original configuration, it keeps crashed. Maybe its because it is an old system prior to Reforged... I don't know.

I've tried other inventories/backpacks and guess what? None worked. So I'm working on one for this project.

Thanks for the offer, I appreciate it but I'm not actively working on my zombie map right now, I got too many maps to work on before I start working on my zombie map :peasant-work-work:
Ohh... Ok then. If you need/want something, I'm here to help.
Also your project thread is already helpful, giving me some ideas :grin:
So let me help you with more ideas. I've recorded a prototype that I've made, to check core loop. Besides the prototype was made like an "Arcade game", it contains the base of the game, that is equip weapon, kill enemies, and survive. I didn't pick any melee weapon in this record, so I cannot show it now xD. There are some relevant things to combine with this prototype:

  • Melee weapons don't need ammo; Ranged weapons need;
  • Melee weapons (and Unarmed survivor version as well) have a base range of 200, so players can attack enemies from behind barricades;
  • Barricades are supposed to be ignored, differently from the "Scarecrow", a building-type unit that'll have the function to distract enemies;
  • Survivor skin is not that one xD;
  • I'll work on a "Red" themed game, that's why attacks and armor types are all red;
  • I've planned about 12 enemies and 5 bosses (Will I use all of them? I don't know), but for this prototype, I've made just the basic ones;
  • Differently from this record, all enemies will have a chance to cause "Bleeding", which will make the player lose health (but not decrease movement speed);
  • Spawn areas, at the final version, will be like the record: All four sides of the map, and enemies will spawn randomly from them. They will spawn inside the forest (area around the game map), instead of "blight";
  • Differently from this record, enemies will only spawn at night;
  • Shot sounds sometimes still bugs (annoying);
  • Level Design looks promising. I can make a very decorated map without "interiors" (In my mind, I can. I don't know about performance);




UPDATE: There is a new version of the prototype, now with Buff/De-Buffs, Weather System, Backpack, Spellbook with common abilities, new enemies, new items (medkits, bandages and "food" type items) and a score system for the Arcade Prototype xd.

 
Last edited:
Top