Spell Contest II

Pyrogasm

There are some who would use any excuse to ban me.
Reaction score
134
They work for me! Click the links I gave you above!
 

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
this is what i see when i open the link:
T`6TX6TX5GW*GT*GV*GV6GX6SXXe?]eCZeC^e;XeGXeGZeD\eCWeCTeGXeC\mHhpLimEbeGUeGbeGeeC]lF^oTeqG^jC`qC`iC`qC`qCTeCTeC`eC`eCXeCTeCTeC`eC`eC`kC`qCYeC_e:T\6TX6TX1GS*GX*GR+GX6GX6TX@Tb/<'3",3'8Dj{}`~Š`~Š`~‡KisGeqGeqGeqGepGeeGXeCUaCTeC_pJ`qC`mFclReqG\hOil@\^@^cGeqCeeGYfH]nLinSgqOc~O`sC`qCeqC`qNaqGeuGeqGeqMeqPmqOmwNkqCXi6Tb-JX*GT*GW*GX*GX*@L*GM0DT3TXAT`EejGeqG^e;XeCaeCXeCbe?XeGXeG^eCXeCVeDUeGXeC]nKlnJhjCaeGVeGeeGeeB\mL_pPeqGZfC`qC`fC`qC^oCTeCXeC`eC`eCTeCTeCUeC`eC`eC`oC`mCUeC[e6TX6TX6RX-GO*GX*GN/GX6GX6TX?Pa+7'3"03*;E‹œœ`~~`~~`~~GeqGeqGeqGegGelGeeEXgCTa:TeF`qO`qC`bGeeJelCYeRmt;UXDbkFenCeeFcjK\mMkmSesOe~OeqEeqKeqCeqReqTeqHeqJerTesOpuOmsJgqCTe6T^*GX*GP*GX*GX*GT*D"3D"3D38"DD=__TvwGjw/Rb3= !#JK9\jDkwAqw3dw&Xj"K]=O2E2E>Q"KU'TZ4UgAatDmwDmu?]k$AC (   $ &#4":H"GG-8,<4?23$3 "3*;3D3D3733-3"3"3.?3</3#4>O"DK)DK6J[CduDfkDfoDfrFhhaƒƒfˆ“Rt…-O]45+@@!22 """"""""""""" !::/MQ"3D36)3)3 .1# (4>!5C5FM*DI'+;D:)
and that's not even a half of it....
try uploading them on image shack or some other image hosting site
 

Pyrogasm

There are some who would use any excuse to ban me.
Reaction score
134
Stupid Mac encoding:

TimeTest3.jpg


TimeTest2.jpg


TimeTest1.jpg
 

--Thanatos--

New Member
Reaction score
33
Wow thanks. I can finally got an answer for my confusion. :p

BTW again, another question: DAMAGE_TYPE_COLD = slows, how can I make it? There's no duration, and I tested it, it doesn't work...
 

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
so this proves that polled wait can't go below 0.32 right?
and trigger sleep action below 0.21....
mabye i should use a timer with a callback but i can't enter my values there through.....


Edit: hmm uareanoob when will we get our final results?
 
Reaction score
456
So remeber next time to make sure that you have some free time uareanoob, so it won't go over 10 days to get gradings done.. (depends on the count of us..)
 

U are a noob

Mega Super Ultra Cool Member
Reaction score
152
Ok done.
So the placings are:
1.Phase swap
2.Hurricane
3.Elite spark
4.Rapid draw
5.Blink Throw
6.Troll speed spells
Elite Spark
Effects:
Purpose: 3/5
Originality: 3/5
In-Map: 5/5
Theme: 4/5
Fun: 4/5
Works: 5/5
Effects Total: 24/30 80.00%
Effects Grading Comments: The effects were ok but it was not original. I could see this in a map because exact spells like it have. Its fun and it works.
Special Effects:
Creativity: 8/10
Theme: 6/6
Cleanliness: 4/4
Special Effect Total: 18/20 90.00%
Special Effect Grading Comments: The special effects were really good and I like how you placed them.
Animation
Flow: 5/5
Relevant: 4/5
Fancy: 4/5
Animation Total: 13/15 86.67%
Animation Grading Comment: The animation is amazing I loved It. But some it was not really relevant.
Coding
3/5 - Efficiency
3/5 – Leakage
Coding Total: 6/10 60.00%
Coding Grading Comments:
- Let me first start by saying this: Because you made an omnislash, I'm going to be a complete ass about grading it to make sure that you did everything perfectly; an omnislash is neither a difficult nor original spell.
`- "(GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE) > 0)" should be "(GetWidgetLife(GetFilterUnit()) > 0.405); A unit "dies" when its life reaches 0.405 or less, and as such, the comparison should be to this number as to not get any false positives. Additionally, GetWidgetLife() is better than GetUnitState().
- Why the backwards comparison in this?: "(IsUnitEnemy(GetTriggerUnit(),GetOwningPlayer(GetFilterUnit())))" . Wouldn't it be smarter to compare the Filtered unit to the owner of the triggering unit...? (Not that your way doesn't work)
- Do you really need the "Region" function? The entire function is 1 line of code...
- Shouldn't "call SetUnitTimeScale(u,4-level)" be "call SetUnitTimeScale(u,level+1)"? Why would the unit move slower at "monstrous speed" than at "elite speed"?
- "call PolledWait(0.20)" == bad. Polledwaits are bad.
- UGH. The way you go about looping is extremely stupid. If you've ALREADY started a timer callback, why not just run all the periodic group stuff inside the loop? Doing it by starting a timer with no callback and then checking its time remaining... That's abominably stupid because: A) It leaks a timer B) Is not configurable C) It leaves everything up to the polledwaits (Which, by-the-way, cause the caster to only slash ~0.09 seconds faster, whereas in the level 1-2 jump, the speed increase is 0.35 seconds), and D) Is an inefficient way to make an Omnislash!
- In "call SetUnitFacingTimed(u,AngleBetweenPoints(loc,loc2),0.01)", why are you using locations?! It wouldn't have been too hard to find a function that's widely used called "AngleBetweenPointsXY".
- "call UnitDamageTarget(u,target,100, true, false, ATTACK_TYPE_HERO,DAMAGE_TYPE_ENHANCED,WEAPON_TYPE_METAL_MEDIUM_SLICE)" should be "ATTACK_TYPE_CHAOS" and "DAMAGE_TYPE_UNIVERSAL", else the unit will not deal full damage.
- "call AddSpecialEffectTarget("Objects\\Spawnmodels\\Undead\\UndeadBlood\\Und eadBloodNecromancer.mdl",target,"chest")" and "call AddSpecialEffectTarget("Abilities\\Spells\\Orc\\MirrorImage\\MirrorIma geCaster.mdl",u,"origin")" both leak special effects
- As I said earlier, the line "call PolledWait(1.06-(0.35*level))" doesn't cause the effective speed increase from levels 2-3. As the minimum wait time is roughly 0.27 seconds, the difference between 0.36 and 0.01 is not 0.35 seconds, but 0.09.
- WHY ARE YOU USING A RECT?! Additionally, the whole need for globals udg_X and udg_Y could be eliminated using the following format instead of the ForGroup() call:
loop
set U = FirstOfGroup(G) //U being a unit variable not in use and G being the group you need to loop through
exitwhen U == null
//Do your stuff with U; note that this means all variables present in the parent function are still useable, this does not create a new thread
call GroupRemoveUnit(G, U)
endloop
- There's a double-free of bj_groupAddGroupDest because you have this line twice: "call DestroyGroup(bj_groupAddGroupDest)"
- The use of that global group also makes this entire spell non-MUI, which sucks. Once again, this could've been avoided by using the above group loop format.
- "set bj_groupAddGroupDest = null" is not needed; it's a global group.
- Your function names are abominable. "filter" and "conditions"; come on.
Icon & Description:
Icon: 4/5
Description: 3/5
Icon & Description Total: 7/10 70.00%
Icon & Description Grading Comments: The icon was ok but it had a bad description.
Full Score: 67/85 78.82%


Blink Throw
Effects:
Purpose: 3/5
Originality: 5/5
In-Map: 3/5
Theme: 1/5
Fun: 2/5
Works: 5/5
Effects Total: 19/30 63.33%
Effects Grading Comments:
Special Effects:
Creativity: 7/10
Theme: 3/6
Cleanliness: 4/4
Special Effect Total: 14/20 70.00%
Special Effect Grading Comments: The effects were pretty bad but it was original. The spell would be ok in a map but it does not match the theme at all. The spell isn’t fun but it works.
Animation
Flow: 5/5
Relevant: 4/5
Fancy: 3/5
Animation Total: 12/15 80.00%
Animation Grading Comment: The animation had a nice flow but it want fancy.
Coding
2/5 - Efficiency
4/5 – Leakage
Coding Total: 6/10 60.00%
Coding Grading Comments:
- "IsUnitAliveBJ(GetFilterUnit()) == true" is bad! You should always use a life comparison: "(GetWidgetLife(GetFilterUnit()) > 0.405); A unit "dies" when its life reaches 0.405 or less, and as such, the comparison should be to this number as to not get any false positives. Additionally, GetWidgetLife() is better than GetUnitState().
- Wouldn't it be better to remove the "*4" on this line to avoid confusion: "local integer level = GetUnitAbilityLevel(GetTriggerUnit(), 'A000') * 4"? You could simply multiply 'level' by 4 when needed, or rename the variable to something like "levelfactor".
- In this line: "local group randus = GetRandomSubGroup(level, GetUnitsInRangeOfLocMatching(400.00 + (100 * level), caspos, Condition(function isally)))", there is a group leaked from the "GetUnitsInRangeOfLocMatching" part and a boolexpr leaked from the "Condition(function isally)". Would it really have been too hard to do this:
local boolexpr b = Condition(function isally)
local group g = GetUnitsInRangeOfLocMatching(400.00 + (400 * level), caspos, b)
local group randus = CreateGroup()
local integer i = 0
local unit u
loop
set i = i+1
exitwhen i > level*4
set u = GroupPickRandomUnit(g)
call GroupAddUnit(randus)
call GroupRemoveUnit(g)
endloop
call DestroyGroup(g)
call DestroyBoolExpr(b)
- Additionally, USE X AND Y COORDINATES! They're USEFUL!
- " if num == 0 then
return
else
endif " The formatting burns! Also, the "else" is not needed; only the "if" and "endif" are important.
- On a small map, "set rand = GetRandomLocInRect(GetPlayableMapRect())" seems OK... but what about on a big map? That, and you're not checking to see if it's pathable or not.
- "call DestroyEffect(AddSpecialEffectLoc("Abilities\\Spells\\NightElf\\Blink\ \BlinkCaster.mdl", rand))" and "call SetUnitPositionLoc(move, rand)" should both be replaced with X/Y value-related equivalents.
- "call UnitDamageTargetBJ( caster, move, 50.00 * (level / 4), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL )" could easily be re-written without the BJ; it's only one extra argument that never changes!
- Instead of "exitwhen loopa >= level", I would do "exitwhen loopa > level" and then declare "loopa" as 1 instead of 0.
Icon & Description:
Icon: 4/5
Description: 3/5
Icon & Description Total: 7/10 70.00%
Icon & Description Grading Comments: The icon was good but I hated the description.
Full Score: 57/85 67.06%


Hurricane
Effects:
Purpose: 4/5
Originality: 4/5
In-Map: 3/5
Theme: 4/5
Fun: 4/5
Works: 5/5
Effects Total: 24/30 60.00%
Effects Grading Comments: The effects were amazing but it wasn’t completely original. The spell would probably not be used in a map but it does match the theme some what. The spell is fun and works.
Special Effects:
Creativity: 9/10
Theme: 4/6
Cleanliness: 4/4
Special Effect Total: 17/20 85.00%
Special Effect Grading Comments: The bash was creative but I didn’t think it matched the theme.
Animation
Flow: 5/5
Relevant: 4/5
Fancy: 4/5
Animation Total: 13/15 86.67%
Animation Grading Comment: I loved the animation you used it was fancy too.
Coding
4/5 - Efficiency
4/5 - Leakage (Hooray for KaTTaNa's leaks!)
Coding Total: 8/10 80.00%
Coding Grading Comments:
- First thing off is that I like the fact that everything is concise and JESP (as opposed to everything else), but I really hate the way you lay out your coding. You should never separate function names from their arguments, like so:
"local player P = Player (i)"
Even if it makes it go with the code's formatting.
- AUGH! NO! BAD! THIS IS WHY WE DON'T USE KATTANA'S SYSTEM ANYMORE:
"function LocalVars takes nothing returns gamecache
local gamecache a = InitGameCache ("jasslocalvars")
local integer i = HV_H2I (a)
set a = null
return i
return null
endfunction"
The above function LEAKS GAMECACHES! If you have to use something that uses GameCache, use CSCache instead!
- In the "Preloads" section, "local player b = Player (PLAYER_NEUTRAL_PASSIVE) " is pointless; players don't leak, and you only use the player once in the function.
- When you create a special effect like so: "AddSpecialEffectTarget (Hurricane_SpecialEffect(),c,"origin") ", and then destroy it right away, once can simply write this: "call DestroyEffect(AddSpecialEffectTarget (Hurricane_SpecialEffect(),c,"origin"))"
- Local triggers are bad. Period. Vexorian and IceFrog have shown that destroying them causes major Handle Stack screwups... but if you don't destroy them, they leak. Additionally, "call TriggerRegisterUnitEvent (castEnd,caster,EVENT_UNIT_SPELL_ENDCAST)" only registers when the unit stops casting involuntarily; you should also add this line in: "call TriggerRegisterUnitEvent (castEnd,caster,EVENT_UNIT_SPELL_FINISH)". Oh wait... now that I've read the rest of the code, you probably don't need that, do you? >_<
- "call UnitDamageTarget (caster,target,damage,false,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC ,null)" should be "ATTACK_TYPE_CHAOS" and "DAMAGE_TYPE_UNIVERSAL".
- Holy crap. Nice coding.
Icon & Description:
Icon: 4/5
Description: 5/5
Icon & Description Total: 9/10 90.00%
Icon & Description Grading Comments: The icon was ok but the description was amazing.
Full Score: 71/85 83.53%


Phase Swap
Effects:
Purpose: 5/5
Originality: 5/5
In-Map: 3/5
Theme: 5/5
Fun: 5/5
Works: 3/5
Effects Total: 26/30 86.67%
Effects Grading Comments: The spell had great effects and was original. I could see this spell in a map. It matched the theme and was fun but it did not always dodge attacks.
Special Effects:
Creativity: 9/10
Theme: 5/6
Cleanliness: 4/4
Special Effect Total: 18/20 90.00%
Special Effect Grading Comments: The special was creative though. It was also very clean.
Animation
Flow: 5/5
Relevant: 5/5
Fancy: 4/5
Animation Total: 14/15 93.33%
Animation Grading Comment: The animation was good and it was fancy.
Coding
3/5 - Efficiency
5/5 – Leakage
Coding Total: 8/10 80.00%
Coding Grading Comments:
- The event "Unit - A unit is attacked" FIRES WHEN A UNIT INITIATES THE ATTACK; NOT WHEN THE ATTACK/DAMAGE ACTUALLY HAPPENS! This means that a player can constantly trigger this event by right-clicking a unit, or by ordering a unit to attack another unit. Even excluding ranged attackers does not help.
- On your Custom Script lines, you should be using the native functions, not the BJ ones. I suggest you just learn JASS if you're going to use it in Custom Script form in GUI. Really.
- Instead of "Set PointAroundattacker = (Region centered at Point with size (100.00, 100.00))" and "Set TempPoint = (Random point in PointAroundattacker)", you should learn to use the polar offset function. Using this, you would write this instead: "Set TempPoint = (Point offset by (Random real between 0.00 and 100.00) towards (Random Angle) degrees)"
- "Unit - Cause (Attacked unit) to damage (Attacking unit), dealing 50.00 damage of attack type Normal and damage type Normal" should be "attack type Chaos and damage type Universal".
- All instances of "Attacked Unit" should be replaced with "Triggering Unit".
- Why is "Custom script: call AddLightningLoc( "CHIM", udg_Point, udg_TeleportPoint )" a custom script call? One can simply use the GUI function and then set the local variable in the next line in the same way.
- Simply adding 100% evasion to the attacked unit for 1.00 seconds does work, but it has the drawback of getting screwed up if the unit is attacked twice or more during that 1.00 second window. If, for instance, the unit was attacked by 1 footman, and then 0.85 seconds later was attacked by another footman. When the first instance of the trigger ended, the "evasion" ability would be removed from the hero, which would mean that there is now NO evasion ability on it like there should be for the next 0.85 seconds (the second instance of the trigger).
- When you do this: "Unit - Move (Attacked unit) instantly to TempPoint", shouldn't you also make the hero face the target?
Icon & Description:
Icon: 4/5
Description: 4/5
Icon & Description Total: 8/10 80.00%
Icon & Description Grading Comments: The icon was ok. The description is ok.
Full Score: 74/85 87.06%


Rapid Draw
Effects:
Purpose: 4/5
Originality: 3/5
In-Map: 4/5
Theme: 5/5
Fun: 3/5
Works: 4/5
Effects Total: 22/30 73.33%
Effects Grading Comments: The effects were ok and. The spell was not original. I can see it in a map. But the spell difenately matched the theme. The spell works enough.
Special Effects:
Creativity: 7/10
Theme: 6/6
Cleanliness: 4/4
Special Effect Total: 17/20 85.00%
Special Effect Grading Comments: The special effects were not that creative but it did match theme and it was clean.
Animation
Flow: 3/5
Relevant: 4/5
Fancy: 3/5
Animation Total: 10/15 66..67%
Animation Grading Comment: The animation was not that great and wasn’t really fancy. The animation also did not show how he would have got fade speed thing or attack speed.
Coding
2/5 - Efficiency
3/5 - Leakage
Coding Total: 5/10 50.00%
Coding Grading Comments:
- AUGH AGAIN! This function leaks gamecaches!:
function LocalVars takes nothing returns gamecache
return InitGameCache("jasslocalvars.w3v")
endfunction
- Shouldn't "call Preload("Abilities\\Weapons\\ZigguratFrostMissile\\ZigguratFrostMissil e.mdl")" just use the constant function for SFX? o_O
- You didn't null "t" in the init function
- You overuse "GetTriggerUnit()" in the function "Rapid_Draw_Activate_Actions"; set it to a variable for christ's sake!
- Why the "GetUnitFacing(GetTriggerUnit())" in the dummy create function? If it's a dummy, it doesn't matter which way it's facing...
- In "call SetHandleHandle(t, "u", GetTriggerUnit())", "u" is NOT a good name; it could easily be overwritten by something else.
- Why this: "call PolledWait(8.00)"? If you've got the timer set up, do some simple math (8.00/0.11) to find out how many times the timer will loop before it's reached 8.00 seconds. Then, attach an integer counter that decreases every callback of the timer; finally, destroy the timer when its counter reaches 0. Not that hard, is it?
- GetAttacker() is overused in Rapid_Draw_Unleash_Actions.
- What the hell is with storing the unit's handle index to its custom value? Why don't you simply check to see if the attacking unit has the ability?!: "return GetUnitAbilityLevel(GetTriggerUnit(), DummySpellId()) > 0"
- Your constant functions could use prefixes.
- Instead of "call PolledWait(2.00); call RemoveUnit(d)", you can simply add a 2.00 second expiration timer to the unit: "call UnitApplyTimedLIfe(d, 'BTLF', 2.00)".
- ...any particular reason you didn't simply modify an orb of slow/frost ability and add that to the hero for the duration of the spell instead of doing complicated, unreliable attack (not damage) detection and dummy spell triggering?
Icon & Description:
Icon: 4/5
Description: 3/5
Icon & Description Total: 7/10 70.00%
Icon & Description Grading Comments: The icon could have been better. The description is really dull.
Full Score: 62/85 72.29%



Troll Speed Spells
Effects:
Purpose: 4/5
Originality: 4/5
In-Map: 4/5
Theme: 5/5
Fun: 3/5
Works: 4/5
Effects Total: 25/30 83.33%
Effects Grading Comments: Your spells had great effects and were some what original. The spell could be added into a map. The spell is pretty fun and it works ok.
Special Effects:
Creativity: 6/10
Theme: 6/6
Cleanliness: 4/4
Special Effect Total: 16/20 80.00%
Special Effect Grading Comments: The special effects were not that creative but they did match the theme. I t was also clean.
Animation
Flow: 1/5
Relevant: 1/5
Fancy: 1/5
Animation Total: 3/15 20.00%
Animation Grading Comment: You didn’t have any animations.
Coding
2/5 - Efficiency
4/5 - Leakage
Coding Total: 6/10 60.00%
Coding Grading Comments:

- Making 2 spells for a contest and trying to pass it off as "ok" is really dumb. Point and case.

- All instances of "Unit - A unit Begins casting an ability" in all triggers should be changed to "Unit - A starts the effect of an ability"
- Why do all the triggers have "(Unit-type of (<Whatever> unit)) Equal to Troll" in them? Shouldn't the fact that they have the ability be just as good?
- The event "Unit - A unit Is attacked" registers when the unit initiates the attack, not when the damage happens; refer to above gradings for more information as to why that's bad.
- All instances of "Attacked Unit" in all triggers should be replaced with "Triggering Unit".
- "Unit - Cause (Attacking unit) to damage (Attacked unit), dealing (5.00 x (Real((Level of Troll Axe Frenzy for (Attacking unit))))) damage of attack type Hero and damage type Normal" should be "of attack type Chaos and damage type Universal".
- You should set the integer variable to a new random value before each If/Then/Else statement; the way you have it set up now makes it impossible to get bonus damage without the other two effects (for a number to be less than 5, it must also be less than 7 and 10).
- "Wait until (((Triggering unit) has buff Troll Frenzy ) Equal to False), checking every 1.00 seconds" is a bad way to do things, but in GUI you've got no option. However, since you've already knocked this down to MPI, why not just create 12 timer countdown triggers?
- "Set Temp_Point2 = (Position of (Random unit from (Units within 250.00 of Temp_Point matching ((((Matching unit) is alive) Equal to True) and (((Owner of (Matching unit)) is an enemy of (Owner of (Attacking unit))) Equal to True)))))" leaks a unit-group.
- What purpose does the "Troll Frenzy Slow Debug" trigger serve? After any sort of a wait, "Target Unit of Ability Being Cast" returns no unit, effectively making the trigger do nothing, 100% of the time.
- The sheer number of triggers is, well, daunting.
Icon & Description:
Icon: 3/5
Description: 3/5
Icon & Description Total: 7/10 70.00%
Icon & Description Grading Comments:
The icons didn’t really fit the spells. The description was ok.
Full Score: 53/85 62.35%
 
Reaction score
456
Uhm.. What's wrong with my animations? Okay, so next time I create something normal then :confused: ?

1.Phase swap
2.Hurricane
3.Elite spark
4.Rapid draw
5.Troll speed spells

Sorry to fix this, but we had 6 submissions.

And could you please tell me what was wrong in my description?
 

U are a noob

Mega Super Ultra Cool Member
Reaction score
152
Uhm.. What's wrong with my animations? Okay, so next time I create something normal then :confused: ?

1.Phase swap
2.Hurricane
3.Elite spark
4.Rapid draw
5.Troll speed spells

Sorry to fix this, but we had 6 submissions.

And could you please tell me what was wrong in my description?
I forgot about the sixth. Fixed.
I also added more description for why it was bad.
 

Prometheus

Everything is mutable; nothing is sacred
Reaction score
589
Hehe
I didn't expect to win at all, I can't believe you didn't find my spell fun!
You just sit there and keep pressing B........
It also was my only idea related to speed lol
 
Reaction score
456
>I also added more description for why it was bad.
What the fuck? There it still stands, the same text as before?

And also I thought that my spell icon was completely perfect for this spell >_>
 

Prometheus

Everything is mutable; nothing is sacred
Reaction score
589
>I also added more description for why it was bad.
What the fuck? There it still stands, the same text as before?

And also I thought that my spell icon was completely perfect for this spell >_>
Try refreshing?
Maybe it changed but your browser didn't pick it up yet.
 
Reaction score
456
Hoping that you are not the grader as you cannot do good arguments or answer to our questions..
 
Reaction score
456
Only thing here matters, is that I asked already twice why my description is so "really dull..", as I don't see nothing dull in it.
 

Pyrogasm

There are some who would use any excuse to ban me.
Reaction score
134
*cough*uareanoob will be weighting coding more in the next contest*uncough*
 

--Thanatos--

New Member
Reaction score
33
I'm just sitting here. :D
Where's Jonadrian? Haven't seen him.

Alright so what's the next? :D
I hunger for competitions, how about if the next theme was.. em.. "Fire"? Or "Ice"? Or maybe "Nether"... ? :D Haha just kidding, make your own choice.

> *cough*uareanoob will be weighting coding more in the next contest*uncough*
Today 03:29 AM
You meant it. -.-
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top