| 04-14-2007, 01:10 PM | #2 |
I know nothing about JESP,but it looks good |
| 04-14-2007, 01:43 PM | #3 |
Looks sweet. |
| 04-14-2007, 01:43 PM | #4 |
I don't think it is good to have spaces in codename. Also get rid of Trig_ in one function's name. We don't like models in the spell. - The models should be yours, are you the author of the models? I would say not. If the models are not yours you need Specific permission for redistribution, that you found a model in a downloads area does not mean the author is releasing it for public domain and does not mean you can redistribute it. - It is not really a great idea to have non-spell specific models, why the hero model/skin? The spell itself has issues: - In Trig_Sacred_Circle_Actions you never initialize the nl location yet you "destroy" it, then the final DestroyTrigger doesn't run. Then it leaks. - If that cleaning worked, you would be destroying the trig twice. You could pretty much get rid of JASS:
call TriggerSleepAction(Sacred_Circle_Duration(i))
call FlushHandleLocals(t)
call PauseTimer(t)
call RemoveLocation(l)
call RemoveLocation(nl)
call DestroyTrigger(trig)
Are you sure using "Handle Variables" and "least leaks/Lag as possible" are compatible terms? in Trig_Sacred_Circle_Actions_Loop you create a Rect yet you never clean it. |
| 04-14-2007, 07:31 PM | #5 | |
> Are you sure using "Handle Variables" and "least leaks/Lag as possible" are compatible terms? Notice the "as possible" :P > The models should be yours, are you the author of the models? I would say not. If the models are not yours you need Specific permission for redistribution, that you found a model in a downloads area does not mean the author is releasing it for public domain and does not mean you can redistribute it. The author of the small holy explosion graphics said so, as long as you give credits. As for the revenant... > - It is not really a great idea to have non-spell specific models, why the hero model/skin? Good point. Removing it. The model also disappeared from the net (The author removed it recently) so I think it means he doesn't want people to redistribute it. Quote:
Done. There is but one thing I didn't get: what do you mean by "I don't think it is good to have spaces in codename." ? The spell has been edited according to everything mentionned in your post, except that. Will attach the map once I fix this last little thing :) |
| 04-15-2007, 01:33 AM | #6 |
Daxtreme your on this site also? anyways look like a holy nova to me..lol it's cool +rep |
| 04-15-2007, 01:35 AM | #7 | ||
Quote:
Quote:
Well did he give you permission for using it in an spell map you are gonna put for download or was it something like "use it in your map as long as you give credits" that's more for an actual map. |
| 04-15-2007, 03:44 AM | #8 | |
Quote:
Vexorian means to change the spell name from this: Sacred_Circle_RawCode to this: SacredCircle_RawCode It looks more like a prefix for the spell. Some other things to improve. In this part in the function "Trig_Sacred_Circle_Actions", you use the local location l to get the x, y coordinates of the caster, it can be avoided perfectly using this: JASS:local timer t = CreateTimer() local trigger trig = CreateTrigger() local unit cast = GetTriggerUnit() local unit u local player p = GetOwningPlayer(cast) //local location l = GetUnitLoc(cast) <= it's not necessary anymore local real lx = GetUnitX(cast) // <= better :) local real ly = GetunitY(cast) local location nl // Where do you use this location??? local real angle = 0.00 local integer i = GetUnitAbilityLevel(cast, Sacred_Circle_RawCode()) local real r = 0.00 With this you improve your code a little bit. Other optimization can be done in the inittrig function. You can set the trigger as a local variable, making easier to port the spell in another map. Other important thing is to preload the effect in order to avoid the first time lag. it can be done in this way: JASS:function InitTrig_SacredCircle takes nothing returns nothing local trigger t = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( t, Condition( function Trig_SacredCircle_Conditions ) ) call TriggerAddAction( t, function Trig_SacredCircle_Actions ) call Preload(SacredCircle_EffectArt()) set t = null endfunction I'll be pending of the new version. |
| 04-15-2007, 05:23 PM | #9 |
And in the loop actions, you get your stored X/Y, convert them to a location so you can use the BJ projection on it and then get the X/Y from that location :S. Do it directly. (Ok you use the location too, but rather use coords for those things and skip locations completely) You also use a rect for doing the damage, any reason? (and it is never destroyed and leaks at that) |
| 04-15-2007, 05:44 PM | #10 |
where are the credits for using my model? o.o!! |
| 04-15-2007, 06:31 PM | #11 | |||
Quote:
You have to test (play) the map in order to see them. Want me to put them everywhere? :) Quote:
I used x,y because GetHandleLocation returned (0.00, 0.00) no matter what I did. I posted that on the wc3jass forums too, the fact that I couldn't pass locations using the handles system : / Never understood why, so I pass x,y coordinates now. The rect is currently being removed in my version of the map, I just waited to upload it again because I didn't know what Vex meant by spaces in codenames. Now I know, thanks guys :) Quote:
Thx for your inputs. It is well appreciated :) Changes are being made according to your comments. JetFangInferno, knowing now would be cool! Can I use your model in my spell? :) Don't forget I gave you credits, but one needs to test the spell in order to see them >_< I can give credits in the loading screen also, and on this site! :) EDIT: > local location nl // Where do you use this location??? Nowhere actually :P Removed. I think I used it before, and forgot to remove it when It wasn't needed anymore. EDIT#2: Updated. |
| 04-19-2007, 01:09 AM | #12 |
sure lol xD u can mention me here too =) |
| 04-21-2007, 03:03 AM | #13 |
Checked your new version.
Please update your file with these recomendations. |
| 04-22-2007, 04:56 AM | #14 |
It will be done in the near future. Thanks :) Also, I was sure I removed that nl location! Well... ***EDIT*** : Updated! Everything you pointed out has been implemented Moyack. Changelog: - No more credits for the Divine Revenant. - Improved the code a lot.* - No more rect. ------------------------------------ *: Here's a list of the improvements. - Use of OrderId now in order to stop the spell. No more trigger needed. - IsUnitAlly --> IsUnitEnemy. - WEAPON_TYPE_WHOKNOWS changed to null. No more constant to edit it. - No more targetrect commented line. - No more useless TriggerSleepAction and double nulling at the end of the Action function. - Some optimization has been done. - Removed the variables: p nl u l They were useless. - Using x,y coordinates now, instead of locations. - No more timer leak. - not IsUnitDeadBJ(targ) --> GetWidgetLife(targ) > 0 - local effect e - use - destroy --> DestroyEffect( AddSpecialEffect( (params) ) ) Thanks for the inputs! ***EDIT#1*** God, another update! Improved the code once again! |
| 04-30-2007, 11:58 PM | #15 | |
Sorry for my late response :P Ok, checked and it looks much better, no useless locations = better spell :) As a minor thing you should indicate that your spell doesn't depend on the FX made by JetFangInferno, this should be clarified.
*Approved* |
