Hmmm, two things:
Well, this is just my opinion. Usually in RPGs when somebody makes some kind of check, it's dude roll vs check roll and if dude roll is higher or equal than the check roll, then the dude successfully passes the check, and avoids nasty effects, etc... Looking at your macro it seems it's doing the opposite: if dude roll (end +4) is less or equal to the check roll (3d6) then dude successfully fail the check . It's only a matter of wording I guess, but it somehow confusing.
In this code I read: if critter successfully fail () the check then says "Ouch!" in a red manner and is knocked out (if the hit didn't provide already a KO effect). However, if the critter actually passes the check then is knocked out as well (if the hit didn't provide already a KO effect) but without saying a word. Maybe you want to remove that else block entirely?
Code:
#define do_en_check en_dice_roll:=random(3,18); \
if (((get_critter_stat(oTarget,STAT_en)) + 4) <= en_dice_roll) then begin \
roll_successfull:=1; \
end else begin \
roll_successfull:=0; \
end
Well, this is just my opinion. Usually in RPGs when somebody makes some kind of check, it's dude roll vs check roll and if dude roll is higher or equal than the check roll, then the dude successfully passes the check, and avoids nasty effects, etc... Looking at your macro it seems it's doing the opposite: if dude roll (end +4) is less or equal to the check roll (3d6) then dude successfully fail the check . It's only a matter of wording I guess, but it somehow confusing.
Code:
do_en_check
if (roll_successfull == 1) then begin
float_msg(oTarget,"Ouch!",FLOAT_MSG_RED);
if (not(iTflag BWAND DAM_KNOCKED_DOWN)) then begin
iTflag := (iTflag BWOR DAM_KNOCKED_DOWN);
end
end
else begin
if (not(iTflag BWAND DAM_KNOCKED_OUT)) then begin
iTflag := (iTflag BWOR DAM_KNOCKED_OUT);
end
end
In this code I read: if critter successfully fail () the check then says "Ouch!" in a red manner and is knocked out (if the hit didn't provide already a KO effect). However, if the critter actually passes the check then is knocked out as well (if the hit didn't provide already a KO effect) but without saying a word. Maybe you want to remove that else block entirely?