--- deliantra/server/lib/cf/match.pm 2009/11/03 23:44:21 1.24 +++ deliantra/server/lib/cf/match.pm 2010/08/28 00:05:33 1.28 @@ -1,7 +1,7 @@ # # This file is part of Deliantra, the Roguelike Realtime MMORPG. # -# Copyright (©) 2009 Marc Alexander Lehmann / Robin Redeker / the Deliantra team +# Copyright (©) 2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team # # Deliantra is free software: you can redistribute it and/or modify it under # the terms of the Affero GNU General Public License as published by the @@ -231,6 +231,11 @@ but submatches start at the current object, and in this case C can be used to start at the original object once more. +=item of self + +Starts with the object initiating/asking for the match - this is basically +always the object that the match expression is attached to. + =item of source Starts with the I object - this object is sometimes passed to @@ -247,11 +252,6 @@ This object is often identical to the I (e.g. when a player casts a spell, the player is both source and originator). -=item of self - -Starts with the object initiating/asking for the match - this is basically -always the object that the match expression is attached to. - =back =head2 EXPRESSIONS @@ -477,6 +477,8 @@ our $flag = $cf::REFLECT{object}{flags}; our $sattr = $cf::REFLECT{object}{scalars}; + # quick hack to support archname, untested + $sattr->{archname} = "W"; our $aattr = $cf::REFLECT{object}{arrays}; our $lattr = $cf::REFLECT{living}{scalars}; @@ -725,7 +727,7 @@ sub compile($$) { my ($wantarray, $match) = @_; my $expr = parse $wantarray, $match; - warn "MATCH DEBUG $match,$wantarray => $expr\n";#d# +# warn "MATCH DEBUG $match,$wantarray => $expr\n";#d# $expr = eval " package cf::match::exec; sub {