Island Defense
February 08, 2012, 01:49:32 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Latest version:  3.0.6G4, 3.0.8d
 
   Home   Help Search Login Register  
Pages: [1] 2
  Print  
Author Topic: Darox JASS  (Read 1925 times)
0 Members and 1 Guest are viewing this topic.
Darox
Controversial!
Administrator
Get a life
*****

Karma: +92/-51
Posts: 9001



View Profile Email
« on: June 06, 2009, 03:16:06 AM »

Foreword: I posted this in the .com forums, saving a copy here for posterity. Be warned, there is a lot of code text-walls in here. You can skip most of them if you are so inclined, and just read the words outside of the quote boxes.



Recently, Panda insulted my JASS skills. Since he locked the topic in question, I could not respond.

I would like to do so now.

First remark he makes is how this code is bad:
Code:
function IsPlayerAdmin takes string s returns boolean
local string lower=StringCase(s,false)
local boolean b=true
if lower=="Darox" then
set b=false
elseif lower=="Disabled" then
set b=false
elseif lower=="Admins" then
set b=false
endif
return b
endfunction
In case you can't work it out, this is the code that checks if someone is as admin. You may notice that the code takes the name of the player, converts it to lower case, and then checks it against these three strings. You may notice that the three strings I have replaced in this are 'Darox', 'Disabled', and 'Admins'. Because these all have an upper case letter, they will never be valid. Clearly I have made some kind of grievous error!

Wait. Let's have a look at those three strings again to see what's wrong. "Darox" "Disabled" "Admins". Hmm. There might be a hidden code in there. Maybe if we run it all together we will discover the secret. "Darox Disabled Admins". Can you see the secret message?

--

Later on he makes further comments about how I never use JASS.

Let's take a short list of things I have done in JASS.
Autocasting for titan heals
Tauren XP on hit
Reactive Satyr gold on hit changing based on HP
Manashield bugfix for upgraded Draenei walls
Self sacrifice used by Demonic Fiends
Granticles Boulder skill
Catapult Lockdown & Release
Nether Stone
Portal
Spirit Bind
Assorted bookkeeping with start up (I.E. Adding builders to selection triggers)

--

Finally, lets compare Darox's JASS to Panda's JASS in something both maps developed separately. The Autocast healing. You may recall that earlier Panda insulted my skills by suggesting the only way I could have developed an Autocast system is by deprotecting his map and copying it. Let's see how they match up, shall we?

Quote from: Darox's Autocast Trigger
function Trig_Autocast_Conditions takes nothing returns boolean
if GetSpellAbilityId()=='A0EB' then
return true
elseif GetSpellAbilityId()=='A0EC' then
return true
elseif GetSpellAbilityId()=='A0ED' then
return true
elseif GetSpellAbilityId()=='A0EE' then
return true
elseif GetSpellAbilityId()=='A0EF' then
return true
elseif GetSpellAbilityId()=='A0EG' then
return true
elseif GetSpellAbilityId()=='A0EH' then
return true
elseif GetSpellAbilityId()=='A0EI' then
return true
elseif GetSpellAbilityId()=='A0EJ' then
return true
endif
return false
endfunction

function WhichSpellHW takes integer i returns integer
if i=='A0EB' then
return('A02H')
elseif i=='A0EC' then
return('A045')
elseif i=='A0ED' then
return('A06O')
elseif i=='A0EE' then
return('A068')
elseif i=='A0EF' then
return('AOhw')
else
return(1)
endif
endfunction

function WhichSpellHL takes integer i returns integer
if i=='A0EG' then
return('A03S')
elseif i=='A0EH' then
return('A01I')
else
return(1)
endif
endfunction

function WhichSpellRejuv takes integer i returns integer
if i=='A0EI' then
return('A09N')
elseif i=='A0EJ' then
return('A04F')
else
return(1)
endif
endfunction

function Trig_Autocast_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer i=GetSpellAbilityId()
    local integer lvl=GetUnitAbilityLevel(u,i)
    local unit z
    set z=CreateUnit(GetOwningPlayer(u),'h03N',GetUnitX(u),GetUnitY(u),270)
    call UnitApplyTimedLife(z,'BTLF',3.00)
if WhichSpellHW(i)!=1 then
    call UnitAddAbility(z,WhichSpellHW(i))
    call SetUnitAbilityLevel(z,WhichSpellHW(i),lvl)
    call IssueTargetOrder(z,"healingwave",u)
elseif WhichSpellHL(i)!=1 then
    call UnitAddAbility(z,WhichSpellHL(i))
    call SetUnitAbilityLevel(z,WhichSpellHL(i),lvl)
    call IssueTargetOrder(z,"holybolt",u)
elseif WhichSpellRejuv(i)!=1 then
    call UnitAddAbility(z,WhichSpellRejuv(i))
    call SetUnitAbilityLevel(z,WhichSpellRejuv(i),lvl)
    call IssueTargetOrder(z,"rejuvination",u)
endif
    set u=null
    set z=null
endfunction

function InitTrig_Autocast takes nothing returns nothing
    set gg_trg_Autocast = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Autocast, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_Autocast, Condition( function Trig_Autocast_Conditions ) )
    call TriggerAddAction( gg_trg_Autocast, function Trig_Autocast_Actions )
endfunction

To describe it simply, it triggers whenever any of the listed base healing spells is used, then compares it against three tables until it matches the type of spell used (Healing Wave, Holy Light, or Rejuvenation), then returns the appropriate spell and casts it on the user.

Now, let's look at Panda's Autocast, as provided by Bodyhammer. Before I show you, I'd like to point out one thing from before when Panda mocked my JASS skills. One of my goals in creating this system was combining it all into one trigger, and as you can see above, I succeeded, and as you can see in 2.8.6bX, it is bug free. Now, since panda claimed that I had just ripped his system, you would assume that his autocast system was also all one trigger.

However, this is what I am told right away.
Quote
It's a little messy as everything is a separate trigger, but this is the general idea:
Oh dear.

Let's just see it shall we?

Quote from: Panda's Autocast Trigger: Core Function
function Self_Heal takes unit u, integer dummyAbi, integer casterAbi, string IOrder returns nothing
    local location curLoc =GetUnitLoc(u)
    local integer abiLevel = GetUnitAbilityLevel(u,casterAbi)
    local unit dummy = CreateUnitAtLoc(GetOwningPlayer(u),'hfoo',GetUnitLoc(u),0)
    if (GetUnitLifePercent(u) > 99) then
        call SetUnitLifePercentBJ(u,99)
    endif

    call UnitAddAbility(dummy,dummyAbi)
    call SetUnitAbilityLevel(dummy,dummyAbi,abiLevel)
    call IssueTargetOrder(dummy,IOrder,u)
    call PolledWait(3.00)
    call RemoveUnit(dummy)
    call RemoveLocation(curLoc)
    set u=null
    set dummy=null
    set abiLevel=0
    set casterAbi = 0
    set dummyAbi = 0
    set IOrder = null
endfunction
This is the main body of Panda's autocast trigger, where all the stuff actually happens. It takes a unit, an ability, the level of an ability, and an order string, then enters them all into a standard dummy trigger and casts the ability on the unit at the level specified. Simple, right? Much shorter than mine, and all in one trigger! But where does it get these values? Oh, seems I forgot a tiny bit of his code.
Quote from: Panda's Autocast Trigger: Glac Main
function Trig_Self_Heal_Glac_Main_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A0EH' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Self_Heal_Glac_Main_Actions takes nothing returns nothing
    call Self_Heal(GetTriggerUnit(), 'A01I', 'A0EH', "holybolt")
endfunction

//===========================================================================
function InitTrig_Glac_Main takes nothing returns nothing
    set gg_trg_Glac_Main = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Glac_Main, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_Glac_Main, Condition( function Trig_Self_Heal_Glac_Main_Conditions ) )
    call TriggerAddAction( gg_trg_Glac_Main, function Trig_Self_Heal_Glac_Main_Actions )
endfunction
(Anyone who has used JASS may notice that this trigger was actually done in GUI then converted, hence the comment bar as well some other untidy parts)
There, that should work! Now we have a working trigger! Whenever Glacious casts his heal, it will work properly. But what about the other titans? Well, Bodyhammer did not provide the entire thing, because as he said above, it was too long and messy to quote, but we can infer everything but the IDcodes for abilities, so lets display them here as well.
Quote from: Panda's Autocast Trigger: Glac Minion
function Trig_Self_Heal_Glac_Minion_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'XXXX' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Self_Heal_Glac_Minion_Actions takes nothing returns nothing
    call Self_Heal(GetTriggerUnit(), 'XXXX', 'XXXX', "rejuvination")
endfunction

//===========================================================================
function InitTrig_Glac_Minion takes nothing returns nothing
    set gg_trg_Glac_Minion = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Glac_Minion, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_Glac_Minion, Condition( function Trig_Self_Heal_Glac_Minion_Conditions ) )
    call TriggerAddAction( gg_trg_Glac_Minion, function Trig_Self_Heal_Glac_Minion_Actions )
endfunction
Quote from: Panda's Autocast Trigger: Lucid&Syph
function Trig_Self_Heal_Water_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'XXXX' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Self_Heal_Water_Actions takes nothing returns nothing
    call Self_Heal(GetTriggerUnit(), 'XXXX', 'XXXX', "healingwave")
endfunction

//===========================================================================
function InitTrig_Water takes nothing returns nothing
    set gg_trg_Water = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Water, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_Water, Condition( function Trig_Self_Heal_Water_Conditions ) )
    call TriggerAddAction( gg_trg_Water, function Trig_Self_Heal_Water_Actions )
endfunction
Quote from: Panda's Autocast Trigger: Molt Main
function Trig_Self_Heal_Molt_Main_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'XXXX' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Self_Heal_Molt_Main_Actions takes nothing returns nothing
    call Self_Heal(GetTriggerUnit(), 'XXXX', 'XXXX', "holybolt")
endfunction

//===========================================================================
function InitTrig_Molt_Main takes nothing returns nothing
    set gg_trg_Molt_Main = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Molt_Main, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_Molt_Main, Condition( function Trig_Self_Heal_Molt_Main_Conditions ) )
    call TriggerAddAction( gg_trg_Molt_Main, function Trig_Self_Heal_Molt_Main_Actions )
endfunction
Quote from: Panda's Autocast Trigger: Molt Minion
function Trig_Self_Heal_Molt_Minion_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'XXXX' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Self_Heal_Molt_Minion_Actions takes nothing returns nothing
    call Self_Heal(GetTriggerUnit(), 'XXXX', 'XXXX', "healingwave")
endfunction

//===========================================================================
function InitTrig_Molt_Minion takes nothing returns nothing
    set gg_trg_Molt_Minion= CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Molt_Minion, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_Molt_Minion, Condition( function Trig_Self_Heal_Molt_Minion_Conditions ) )
    call TriggerAddAction( gg_trg_Molt_Minion, function Trig_Self_Heal_Molt_Minion_Actions )
endfunction
Quote from: Panda's Autocast Trigger: Grant Minion
function Trig_Self_Heal_Grant_Minion_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'XXXX' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Self_Heal_Grant_Minion_Actions takes nothing returns nothing
    call Self_Heal(GetTriggerUnit(), 'XXXX', 'XXXX', "healingwave")
endfunction

//===========================================================================
function InitTrig_Grant_Minion takes nothing returns nothing
    set gg_trg_Grant_Minion= CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Grant_Minion, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_Grant_Minion, Condition( function Trig_Self_Heal_Grant_Minion_Conditions ) )
    call TriggerAddAction( gg_trg_Grant_Minion, function Trig_Self_Heal_Grant_Minion_Actions )
endfunction
Quote from: Panda's Autocast Trigger: Bubonicus
function Trig_Self_Heal_Bubs_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'XXXX' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Self_Heal_Bubs_Actions takes nothing returns nothing
    call Self_Heal(GetTriggerUnit(), 'XXXX', 'XXXX', "healingwave")
endfunction

//===========================================================================
function InitTrig_Bubs takes nothing returns nothing
    set gg_trg_Bubs= CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Bubs, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_Bubs, Condition( function Trig_Self_Heal_Bubs_Conditions ) )
    call TriggerAddAction( gg_trg_Bubs, function Trig_Self_Heal_Bubs_Actions )
endfunction
Quote from: Panda's Autocast Trigger: Volt Minion
function Trig_Self_Heal_Volt_Minion_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'XXXX' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Self_Heal_Volt_Minion_Actions takes nothing returns nothing
    call Self_Heal(GetTriggerUnit(), 'XXXX', 'XXXX', "healingwave")
endfunction

//===========================================================================
function InitTrig_Volt_Minion takes nothing returns nothing
    set gg_trg_Volt_Minion= CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Volt_Minion, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_Volt_Minion, Condition( function Trig_Self_Heal_Volt_Minion_Conditions ) )
    call TriggerAddAction( gg_trg_Volt_Minion, function Trig_Self_Heal_Volt_Minion_Actions )
endfunction
Quote from: Panda's Autocast Trigger: Breeze Minion
function Trig_Self_Heal_Breeze_Minion_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'XXXX' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Self_Heal_Breeze_Minion_Actions takes nothing returns nothing
    call Self_Heal(GetTriggerUnit(), 'XXXX', 'XXXX', "rejuvination")
endfunction

//===========================================================================
function InitTrig_Breeze_Minion takes nothing returns nothing
    set gg_trg_Breeze_Minion= CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Breeze_Minion, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_Breeze_Minion, Condition( function Trig_Self_Heal_Breeze_Minion_Conditions ) )
    call TriggerAddAction( gg_trg_Breeze_Minion, function Trig_Self_Heal_Breeze_Minion_Actions )
endfunction

Phew, that took a lot of copy pasting. There we go, Panda's Autocast system in it's entirety! It's all just a bunch of copy paste, so it shouldn't have any bugs, right? Well, actually I heard that Moltenious could cancel-cast and use his heal for free when it was released, but it's ok Panda, it's hard work copy pasting and you were bound to make a mistake. It happens to everybody.

--

Bam.
Logged

Quote from: BodyHammer
I HATE ALL MINORITIES.  WHITE POWER.  I ALSO BEAT WOMEN.
Yesterday my girlfriend pissed me off so I punched her.  Why did she piss me off so much?  She got snippy and was all like "You're a pedophile" so I got pissed and was like "Bitch, don't call me that, and how the hell do you even know that word?  You're only 8."

P.S.  Darox rocks.
Gordon
Spearloc
***

Karma: +7/-13
Posts: 257


Gordon- The Fat Cop


View Profile Email
« Reply #1 on: June 06, 2009, 04:09:43 AM »

I hope all you programmers burn inside a cooking pot.
Logged

Murs-
Guest
« Reply #2 on: June 06, 2009, 05:06:57 AM »

why are you posting this?
Logged
Lord_Kamakazie
TOWER CONTRACTER
Titan Hunter
****

Karma: +10/-7
Posts: 476


Life in 360 Degrees

Lord_Kamakazie@Live.Com
View Profile Email
« Reply #3 on: June 06, 2009, 05:11:41 AM »

why are you posting this?
we can see your email guntroll
Quote
Foreword: I posted this in the .com forums, saving a copy here for posterity
Logged

you can rape the world and be creative now
Murs-
Guest
« Reply #4 on: June 06, 2009, 05:18:43 AM »

its supposed to be a joke.

Quote
Sidd (SixthElement) is trying to get 2.8.6b from Darox. Darox has tried to get Aerox back to editting.

Sadly, Aerox hasn't responded.

i dont know if thats true but i send darox a message with something like this. "hi darox i decided to work on id again just send me the map to gutnroll@gmail.com

...please"

i allready tryed to deprotect id6b with little succes... :/

Tongue
« Last Edit: June 06, 2009, 05:45:46 AM by Moron » Logged
D1RE
Beta Tester
Titanious Minion
*

Karma: +25/-34
Posts: 646


I be huntin' dem trolls, mon

d1re@hotmail.com
View Profile Email
« Reply #5 on: June 06, 2009, 06:09:34 AM »

Well, you already stated a long time ago how you could make a better heal system than pandas after you tried his version.
Logged

Ninja_Sheep
Speedy Turtle
**

Karma: +10/-2
Posts: 133


View Profile
« Reply #6 on: June 06, 2009, 07:54:39 AM »

Triggering such a system seems pretty simple to me.
It's just that pandas version fails extremly.



Eitherway, so, will we get another non-panda version?
And if yes, will you steal pandas content? After all some stuff is pretty neat.
Logged
Gwypaas
Beta Tester
Titan Hunter
*

Karma: +13/-18
Posts: 579


View Profile
« Reply #7 on: June 22, 2009, 03:07:58 PM »

I LOVE PENIS CAUSE ITS NICE DAROX PRO JASS IM NOOB AND I LIKE PANDAMIME BUTTHOLE
« Last Edit: June 22, 2009, 04:07:06 PM by Revengez » Logged

Gone

Syaorann
Spearloc
***

Karma: +7/-22
Posts: 304


Mikazuki is fat


View Profile Email
« Reply #8 on: June 22, 2009, 11:26:17 PM »

nice edit
Logged

Gwypaas
Beta Tester
Titan Hunter
*

Karma: +13/-18
Posts: 579


View Profile
« Reply #9 on: June 23, 2009, 01:12:31 PM »

Someone couldn't take my criticism, that's the problem.
Logged

Gone

Zen1400
Beta Tester
Titan of the Abyss
*

Karma: +56/-58
Posts: 2255


View Profile Email
« Reply #10 on: June 23, 2009, 11:40:42 PM »

Murs has no importance here besides to exist and read the banned people's posts.
Logged

I is pro


The Farmer
Falter
Worker


Karma: +0/-1
Posts: 7



View Profile Email
« Reply #11 on: June 24, 2009, 01:03:46 AM »

I Love the fact that, this entire thread went from Darox JASS skillz to come up with a shortened function of panda's to Murs having a small tiny asian penis.



And yes I I'm racist WTF you going to do about it. You keep your change, nigga you need it!
Logged
Murs-
Guest
« Reply #12 on: June 25, 2009, 03:25:29 PM »

I LOVE PENIS CAUSE ITS NICE DAROX PRO JASS IM NOOB AND I LIKE PANDAMIME BUTTHOLE

what did you say?
Logged
murs
Spearloc
***

Karma: +17/-22
Posts: 312


View Profile Email
« Reply #13 on: June 25, 2009, 07:47:19 PM »

i love haters
Logged

Formal
Murloc
*

Karma: +3/-4
Posts: 82


-Formal-


View Profile
« Reply #14 on: June 27, 2009, 01:43:00 PM »

So Darox is better at JASS than Panda.  NEW MAP PLEASE!

Can we deprotect Pandas map and hack it and post it everywhere?
Logged

DarKforce_HydrA
Worker


Karma: +1/-1
Posts: 33


View Profile Email
« Reply #15 on: July 04, 2009, 09:58:17 AM »

that was an epic battle in the war between the headstrong Alex "Darox" Halfpenny and Richard(dick) "Pandamime" Stayns
Logged
Gordon
Spearloc
***

Karma: +7/-13
Posts: 257


Gordon- The Fat Cop


View Profile Email
« Reply #16 on: July 06, 2009, 02:46:56 AM »

I hope all you programmers burn inside a cooking pot.
Logged

Ancient-Stoners-Society
Worker


Karma: +0/-0
Posts: 3


View Profile Email
« Reply #17 on: July 14, 2009, 02:51:20 AM »

So im guessing you are posting this in the case that panda as been panda has abandoned id, like a noob used it for self gain only and as a dictator didn't listen to the public or fellow editors.

As this would happen a new editor would need to take over and basically edit it and you would be happy to help with your expertise and maybe even hosting on your website?

Bring ID to the PEOPLE
Logged
Funbomb
Murloc
*

Karma: +0/-7
Posts: 59


View Profile
« Reply #18 on: July 14, 2009, 09:25:52 AM »

So im guessing you are posting this in the case that panda as been panda has abandoned id, like a noob used it for self gain only and as a dictator didn't listen to the public or fellow editors.

As this would happen a new editor would need to take over and basically edit it and you would be happy to help with your expertise and maybe even hosting on your website?

Bring ID to the PEOPLE

LATE
Logged

Byohazzard
Worker


Karma: +0/-3
Posts: 47


the game


View Profile
« Reply #19 on: July 14, 2009, 09:53:01 PM »

So im guessing you are posting this in the case that panda as been panda has abandoned id, like a noob used it for self gain only and as a dictator didn't listen to the public or fellow editors.

As this would happen a new editor would need to take over and basically edit it and you would be happy to help with your expertise and maybe even hosting on your website?

Bring ID to the PEOPLE


What personal gain? E-respect/

Can I buy weed off of you?
Logged


Heil der Fuhrer.
"Anyone who clings to the historically untrue and throughly immoral doctrine that violence never solves anything i would advise to conjure up the ghosts of Napoleon and the duke of wellington and let them fight it out. The ghost of Hitler can referee. Violence and naked force have solved more issues in history than any other factor. The contrary is wishful thinking at it's best."
rcxquake
Worker


Karma: +0/-0
Posts: 5


View Profile
« Reply #20 on: July 19, 2009, 08:15:24 PM »

Summary of thread:

Both Darox and Pandamine are terrible JASS'ers, and feel the need to prove themselves to me.  Thus, they turn their aggression at each other, in the hopes of winning and impressing me.

But really, can I get a update on the drama that has happened in the past 6 months?  I seem to have fallen behind.
Logged
D1RE
Beta Tester
Titanious Minion
*

Karma: +25/-34
Posts: 646


I be huntin' dem trolls, mon

d1re@hotmail.com
View Profile Email
« Reply #21 on: July 19, 2009, 08:26:24 PM »

Uhm, nothing at all really. You didn't miss a thing... Oh wait, BodyHammer became editor, released 1 version then quit editing.
Logged

Funbomb
Murloc
*

Karma: +0/-7
Posts: 59


View Profile
« Reply #22 on: July 19, 2009, 09:34:32 PM »

Uhm, nothing at all really. You didn't miss a thing... Oh wait, BodyHammer became editor, released 1 version then quit editing.
Logged

murs
Spearloc
***

Karma: +17/-22
Posts: 312


View Profile Email
« Reply #23 on: July 20, 2009, 03:51:07 AM »

Uhm, nothing at all really. You didn't miss a thing... Oh wait, BodyHammer became editor, released 1 version then quit editing.

he didn't even release a version, he released an unfinished beta.
Logged

Lord_Kamakazie
TOWER CONTRACTER
Titan Hunter
****

Karma: +10/-7
Posts: 476


Life in 360 Degrees

Lord_Kamakazie@Live.Com
View Profile Email
« Reply #24 on: July 20, 2009, 06:59:04 AM »

Uhm, nothing at all really. You didn't miss a thing... Oh wait, BodyHammer became editor, released 1 version then quit editing.

he didn't even release a version, he released an unfinished beta.
FT: ACCT NAME: SCOUTCODEX
Logged

you can rape the world and be creative now
Pages: [1] 2
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.15 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!