• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Stupid Penguin 2.0.1

  • Like
Reactions: baassee
Hi guys, here is my second spell Stupid Penguin.
This spell belongs to my project
Castle vs Castle Flame Edition and I hope you all enjoy it.


Anyway I hope you like the spell =)

This spell is from my map, Castle vs Castle Flame Edition and I hope you like it.

Description:
The caster creates a Penguin that is Stupid and cannot attack. So what do we do with him ?? We blow him up !! =P
While the caster channels the penguin grows, and the more it grows the more damage it will cause when it explodes.

Requirements:
- Jass NewGen Pack (uses vJASS)
- TimerUtils
- Table

History:

Version 1.0
- Initial release to testing and improving

Version 1.2
- Radical changes in spell architecture

Version 1.4
- Version 1.3 was a test version
- Major changes in spell architecture, some fixes and improved code efficiency as well as made it easier to customize

Version 1.5
- Added the preload calls, so the spell doesn't lag when it is first used

Version 1.6
- Added a text above the caster that will show the damage channeled every cycle. This text is also easy to configure =)

Version 1.7
- Improved the function penguinID, now it is faster than ever !
- Fixed some minor spelling mistakes on the documentation

Version 1.8
- Changed the code's structure in order to be easier to read

Version 1.9
- Spell is now compatible with TimerUtils. Dependencies are lower now, so the spell is easier to import.

Version 2.0
- Now you can change the color of the penguin as you want !

Version 2.0.1
- Updated for patch 1.24

PenguinEmperor said:
. . .

Can you use something OTHER than a penguin?
Yes I can, and you too ! Because this spell is JESP it means that you can configure it to explode anything you want !! You may want to give it a try if you have a model of George W. Bush =P
Oh, and by the way, you can also explode mini-abominations Squally425.

Hope you all have fun =P

Keywords:
Castle vs Castle, CCFE, Flame_Phoenix, summon, penguin, stupid, AOE, channel, Druid Dwarf
Contents

Stupid Penguin (Map)

Reviews
Dr Super Good: Nice spell. Easy to use and import and works well. One or two minor flaws thou as I posted but overal does what it is meant to well. The full MUI support also helps and it is highly unlikly to cause lag. Honestly I can see...

Moderator

M

Moderator

Dr Super Good:
Nice spell. Easy to use and import and works well. One or two minor flaws thou as I posted but overal does what it is meant to well. The full MUI support also helps and it is highly unlikly to cause lag.

Honestly I can see people using this spell in their maps with some more polish.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
The floating text created is poor. It is
visable by all players through the fog of war and thus will give away a player's location to everyone very easilly. The lack of floating text fade also subtracts from the spell quality.

The overall layout is good for customizability but sadly is lacking for actual efficency. Constant functions are as slow as normal functions and your filter system could be faster using macros to insert the filter where you want it instead of relying on another function call.

Also I do not think the bracketing is needed with the if statements.
 
Level 14
Joined
Jan 15, 2007
Messages
349
The spell is good but not really my taste. Yes and Dr. Super Good is right the flying text don't looking so nice. But well the spell doing his job so 4.5/5 And btw didn't TriggerRegisterAnyUnitEventBJ leak boolexpr? Because in the TriggerRegisterAnyUnitEventBJ function is a loop with call TriggerRegisterPlayerUnitEvent(trig, Player(index), whichEvent, null) as we all know if you enter null for a filter it will leak. You should make a extra function something like:
"function AntiFilterLeak takes nothing returns boolean
return true
endfunction"
And then make you own loop with the function TriggerRegisterPlayerUnitEvent just that you enter in the filter parameter the function "AntiFilterLeak".
 
The floating text created is poor. It is
visible by all players through the fog of war and thus will give away a player's location to everyone very easily. The lack of floating text fade also subtracts from the spell quality.

The overall layout is good for customizability but sadly is lacking for actual efficiency. Constant functions are as slow as normal functions and your filter system could be faster using macros to insert the filter where you want it instead of relying on another function call.

Also I do not think the bracketing is needed with the if statements.
Where shall I start... Well, If you think the floating text is poor, you can just not use, the SETUP allows you to choose what you want to do with the text pretty easily. Also, allowing the player to be discovered is good, in my opinion, that way the spell is balanced ... I don't want my spell to look like Dota, when you cast a spell and no one knows you did it. Floating Text fade is in fact something i didn't remember of using, mainly because I never do (lol).
ABout customization and efficiency, I prefer spells easy to understand and use over spells with high efficiency but hard to change. This spell was created with the average vJASS user in mind. Besides, this won't make the spell that slow in game, no one will notest.ABout macros I don't use them yet, and about Filters if you are talking about the explosion() function i decided to make that way to look more "object oriented" and therefore easier to change.
About your last sentence, I don't get what it means xD

The spell is good but not really my taste. Yes and Dr. Super Good is right the flying text don't looking so nice. But well the spell doing his job so 4.5/5 And btw didn't TriggerRegisterAnyUnitEventBJ leak boolexpr? Because in the TriggerRegisterAnyUnitEventBJ function is a loop with call TriggerRegisterPlayerUnitEvent(trig, Player(index), whichEvent, null) as we all know if you enter null for a filter it will leak. You should make a extra function something like:
"function AntiFilterLeak takes nothing returns boolean
return true
endfunction"
And then make you own loop with the function TriggerRegisterPlayerUnitEvent just that you enter in the filter parameter the function "AntiFilterLeak".
Well, not every one can have the same taste can we ?
And no it doesn't leak any boolexpr - first because none is destroyed and second, if it did leak all GUI people would be dammed and the guys from wc3campaigns would have warned. Boolexpr only leak if you try to kill them. You can't just kill "null".

Dr Super Good:
Nice spell. Easy to use and import and works well. One or two minor flaws thou as I posted but overal does what it is meant to well. The full MUI support also helps and it is highly unlikly to cause lag.

Honestly I can see people using this spell in their maps with some more polish.
Well, that is the main idea, I make my spells JESP so every one can use them and change them they way they want ! They can do anything they want, and that is the magic of JESP standard spells =)

Thx for your comments guys and thx for approving. Hope you all like my new spell =)
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
By strange bracking I mean the.

if (true) then
endif

Could much rather be strraight away.

if true then
endif

And as it skips a bracket it should be slightly faster.

What I mean by the floating text is that if it is not visable to the player (the map area or unit) then it should not be shown like with blizzard's critical strike. This will stop it from giving away the location of people's bases and simlar things by casting it as currently you even see the text if the area is unexplored which is definatly exploitable (should atleast need to be explored).

And by polishing the text, I mean getting the timings, size and speed very close to blizzard's so it blends in with the game more (less noticably triggered).
 
a penguin which grows and grows and then explodes... sounds simple but i like it very funny spell :D
In my opinion those floating text looks great...
Thx =) Good feedback is always appreciated =) Remember, it doesn't need to be a penguin, it can be anything you want !

Very Good 4/5.

Thank You.
Damn you for only giving me 4/5 (lol). Still thx for the feedback =)

if (true) then
endif

Could much rather be strraight away.

if true then
endif

And as it skips a bracket it should be slightly faster.
Comon !!! No one will ever notice that for God sake !! It is just a coding style I use for me to understand things better. You can change it if you want, but that won't make the game run faster in ways people will actually notice it...

What I mean by the floating text is that if it is not visable to the player (the map area or unit) then it should not be shown like with blizzard's critical strike. This will stop it from giving away the location of people's bases and simlar things by casting it as currently you even see the text if the area is unexplored which is definatly exploitable (should atleast need to be explored).

And by polishing the text, I mean getting the timings, size and speed very close to blizzard's so it blends in with the game more (less noticably triggered).

Mmmm In my opinion that is a good thing, that way we know where the caster is. Blizzard does the same, when a ranged unit attacks you from an area that is not explored, the unit becomes visible as well as the portion of area where it is. I don't think this is a problem, as I said, if people don't like it they can remove it, also I don't think there is actually a way of knowing if the caster is in a area which is not visible to the player who is taking damage.
About polishing the text, people can do that themselves, remember this spell is JESP, so they can make whatever they want with the text. I just though it was good like this.
 
Level 2
Joined
Feb 5, 2005
Messages
34
:( even if the penguin's stupid, it doesnt mean it aint allowed to live!! CRUELTY TO ANIMALS HERE!!! before you use this think about all those penguins your gonna kill, now imagine they're all your family ana freinds, upsetting aint it.
 
Top