| The Black Wyrm's Lair Terms of Use |
Help
Search
Members
Calendar
|
Aug 1 2008, 06:31 PM
Post
#1
|
|
|
Master of energies ![]() Council Member Posts: 3331 Joined: 9-July 04 From: Magyarország |
Technical Contest #2 has come to its end.
The winner is Razfallow He achieved the Technical Modding Cross. This award is given to those mod developers who proved their skills in a task of a technical contest of BWL. Razfallow can also choose a forum portrait from our gallery, and a custom subtitle. Razfallow got 98 points from 100. When checking the solution, I focused only on the important things, and didn't examine minor details. The most important is that the creatures behave in the game according to the contest's specifications. The 2 points he lost are because bwcc_m.baf contains the two script blocks in wrong order. The requirements say that the mage "casts Shield, and then he casts Melf’s Minute Meteors.", and not in reverse order. On a side note, his cleric script solution had 14 blocks, with 126 "effective" lines (so newline characters, OR statements and IF-THEN-RESPONSE statements are excluded). The reference implementation has 13 blocks, with 70 "effective" lines. Congratulations, Razfallow!
Attached File(s)
-------------------- Mental harmony dispels the darkness.
|
|
|
|
![]() |
Aug 1 2008, 07:27 PM
Post
#2
|
|
|
Contributor Posts: 57 Joined: 6-April 05 From: Czech Republic |
QUOTE If he has been attacked by an enemy in the last script round and his hit points are below 60%, he casts Draw Upon Holy Might (he has one memorized instance). If he fails to cast Draw Upon Holy Might, he casts Spiritual Hammer. If he has successfully received the hammer, a state transition happens to S3. CODE IF Global("bwcc_clericState", "global", 0) !HaveSpell(CLERIC_DRAW_UPON_HOLY_MIGHT) !StateCheck(Myself,STATE_DRAWUPONHOLYMIGHT) HaveSpell(CLERIC_SPIRITUAL_HAMMER) THEN RESPONSE #100 Spell(Myself, CLERIC_SPIRITUAL_HAMMER) END This is almost correct, but cleric will cast Spiritual Hammer, even when he succesfully casts DUHM. He just needs to wait 10 rounds, and when the spell's effect wears off he will cast Spiritual Hammer. QUOTE If the Fighter is alive but has been attacked by fire at least 5 times so far and Resist Fire/Cold hasn’t been cast yet, he casts Protection from Fire on the Fighter, and will not cast Resist Fire/Cold any more. He has one memorized instance of Protection from Fire. When Protection from Fire has been (successfully or unsuccessfully) cast, the Cleric must immediately move to the next, fourth check (to learn whether the Fighter needs to be cured from Feeblemind). That is, instead of following the usual priority order (i.e. instead of restarting from Step 1), the conditions of Step 4 must be evaluated. CODE IF Global("bwcc_clericState", "global", 0) HaveSpell(CLERIC_PROTECTION_FROM_FIRE) See("bwcc_f") GlobalGT("bwcc_fireCounter", "global", 4) THEN RESPONSE #100 Spell("bwcc_f", CLERIC_PROTECTION_FROM_FIRE) Continue() END IF GlobalLT("bwcc_clericState", "global", 2) HaveSpell(CLERIC_CURE_DISEASE) See("bwcc_f") StateCheck("bwcc_f", STATE_FEEBLEMINDED) THEN RESPONSE #100 Spell("bwcc_f", CLERIC_CURE_DISEASE) END This definetely doesn't work as is written in requirement, because it checks step 4 before cleric starts to cast Protection from Fire not after. Actions from block with Contineu() are stored in action list and other blocks are evaluated to the end of a script or until some block (without Continue()) returns true then its actions are added to action list, and all actions stored in action list are executed. (Same with State 2) This post has been edited by Razfallow: Aug 1 2008, 07:37 PM |
|
|
|
Baronius Results of Technical Contest #2 Aug 1 2008, 06:31 PM
Razfallow
Ups, that's pretty stupid of me. Next time I ... Aug 1 2008, 06:45 PM
Baronius Sure. Aug 1 2008, 06:49 PM
Baronius It isn't a big issue, but strictly speaking, i... Aug 1 2008, 08:42 PM
Sir-Kill congrats Raz! Aug 1 2008, 10:39 PM![]() ![]() |
|
Lo-Fi Version | Time is now: 13th May 2026 - 01:29 AM |